(57)【要約】  二重系として動作させる通信ノード装置間で、一方の系の情報処理部で障害が発生した際に、サービスを中断することなく他方の系の情報処理部で維持、継続する。現用系の通信ノード装置１００−１と予備系の通信ノード装置１００−２ともに動作状態にして利用するシステムであり、スイッチ処理部１１０は、現用系として動作する場合に、情報処理部２００での情報処理対象となるパケットフローをコピーして二つの出力先へ転送する転送処理部１１２を備え、情報処理部２００は、現用系と予備系との間で互いの動作状態を確認し、現用系が応答を返さない場合に障害が発生したとみなして、予備系を現用系として動作させる相互監視処理部２０３と、予備系の情報処理部として動作させる場合に、情報処理対象となるパケットの出力を停止する停止処理部とを備える。
2012127644.tif 000002
【特許請求の範囲】
【請求項１】
通信ノード装置システムであって、
パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部を備える、現用系、予備系の通信ノード装置を共に動作状態にして利用し、
前記スイッチ処理部は、前記現用系の情報処理部と、前記予備系の情報処理部へ前記パケットをコピーして転送する
ことを特徴とする通信ノード装置システム。
【請求項２】
請求項１に記載の通信ノード装置システムであって、
前記スイッチ処理部は、
前記現用系のスイッチ処理部として動作する場合に、前記情報処理部での情報処理対象となるパケットをコピーして二つの出力先へ転送し、二つの前記出力先からのパケットを受信する転送処理部を備え、
前記情報処理部は、
前記現用系の情報処理部と前記予備系の情報処理部との間で互いの動作状態を確認し、前記現用系の情報処理部が応答を返さない場合に障害が発生したとみなして、前記予備系の情報処理部を現用系として動作させる相互監視処理部と、
前記予備系の情報処理部として動作する場合に、前記アプリケーションによる前記予備系の情報処理部からのパケット出力を停止する停止処理部とを備える
ことを特徴とする通信ノード装置システム。
【請求項３】
請求項１に記載の通信ノード装置システムであって、
前記予備系の通信ノード装置は、前記現用系の通信ノード装置に隣接して配置される、または、
同一の通信ノード装置内に、前記現用系の情報処理部と前記予備系の情報処理部とを備える、または、
同一の通信ノード装置内に、前記現用系の情報処理部と前記予備系の情報処理部とを備えた現用系の通信ノード装置と、前記現用系通信ノード装置に隣接して配置されることを
特徴とする通信ノード装置システム。
【請求項４】
請求項２に記載の通信ノード装置システムであって、
前記スイッチ処理部の前記転送処理部は、前記パケットのヘッダの情報を検索キーとして前記パケットを識別し、前記パケットのヘッダの宛先情報に依らず、指定した二つの出力先に前記パケットをコピーして転送する、
ことを特徴とする通信ノード装置システム。
【請求項５】
請求項２に記載の通信ノード装置システムであって、
前記スイッチ処理部は、
少なくとも二つの外部ネットワークと接続する回線を備え、
前記情報処理部は、
前記アプリケーションを実行するアプリケーション処理部と、
前記回線の一方と前記アプリケーション処理部との間に置かれる応答確認型通信プロトコル処理部と、
前記回線の他方の一つと前記アプリケーション処理部の間に置かれる他の応答確認型通信プロトコル処理部とを備え、
一方の前記応答確認型通信プロトコル処理部から
他方の前記応答確認型通信プロトコル処理部へパケットを渡す際に、
前記パケットが備えるシーケンス番号の値そのものか、前記シーケンス番号に前記現用系の情報処理部と前記予備系の情報処理部で同一となる一定値を加減算した値を引き継ぐ
ことを特徴とする通信ノード装置システム。
【請求項６】
請求項２に記載の通信ノード装置システムであって、
前記現用系の情報処理部の前記相互監視処理部により、前記予備系の情報処理部に向かって、状態通知を行い、
前記予備系の情報処理部の前記相互監視処理部により、所定期間に前記状態通知を受信できなかった場合に、前記現用系の情報処理部に対して生存確認を行い、
前記現用系の情報処理部から応答がない場合に、前記停止処理部による前記予備系の情報処理部からのパケット出力停止を解除する
ことを特徴とする通信ノード装置システム。
【請求項７】
請求項２に記載の通信ノード装置システムであって、
情報処理対象の前記パケットの内、高優先と指定されたパケットは、前記現用系の情報処理部と前記予備系の情報処理部の双方で処理し、
低優先と指定されたパケットは、パケット毎に指定した前記現用系の情報処理部、もしくは前記予備系の情報処理部のいずれか一方のみで処理する、
ことを特徴とする通信ノード装置システム。
【請求項８】
請求項７に記載の通信ノード装置システムであって、
前記予備系の情報処理部の前記停止処理部は、
情報処理対象の前記パケットのうち、
前記高優先と指定されたパケットの前記予備系の情報処理部からの出力を停止し、
前記低優先と指定されたパケットの前記予備系の情報処理部からの出力を停止しない、
ことを特徴とする通信ノード装置システム。
【請求項９】
請求項２に記載の通信ノード装置システムであって、
前記通信ノード装置は、同一の装置内、又は複数の装置に跨って、複数の前記現用系の情報処理部と複数の前記予備系の情報処理部とを備え、
前記スイッチ処理部の前記転送処理部は、情報処理対象となる前記パケットをコピーして任意の二つの出力先へ転送する際に、パケット毎に任意の前記現用系の情報処理部、任意の前記予備系の情報処理部を出力先として指定する、
ことを特徴とする通信ノード装置システム。
【請求項１０】
請求項1に記載の通信ノード装置システムであって、
前記現用系の通信ノード装置と前記予備系の通信ノード装置を、ネットワークを介して配置し、
前記現用系のスイッチ処理部は、
情報処理対象の前記パケットをコピーして、一方のパケットを前記現用系の情報処理部へ転送し、
他方のパケットを前記予備系の通信ノード装置を宛先とし、前記現用系の通信ノード装置を送信元としてカプセル化して、前記予備系のスイッチ処理部へ転送し、
前記予備系のスイッチ処理部は、前記のカプセル化したパケットを元のパケットに復元して前記予備系の情報処理部へ転送する
ことを特徴とする通信ノード装置システム。
【請求項１１】
現用系、予備系を共に動作状態にして利用する通信ノード装置であって、
パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部とを備え、
前記スイッチ処理部は、前記現用系のスイッチ処理部として動作する場合に、前記情報処理部での情報処理対象となるパケットをコピーして二つの出力先へ転送する転送処理部を備え、
前記情報処理部は、前記現用系と前記予備系との間で互いの動作状態を確認し、前記現用系の情報処理部が応答を返さない場合に障害が発生したとみなして、前記予備系の情報処理部を、現用系として動作させるための相互監視処理部と、前記予備系の情報処理部として動作する場合に、アプリケーションによる前記予備系の情報処理部からのパケット出力を停止する停止処理部とを備える
ことを特徴とする通信ノード装置。
【請求項１２】
請求項１１に記載の通信ノード装置であって、
前記スイッチ処理部の前記転送処理部は、前記パケットのヘッダ情報を検索キーとして前記パケットを識別し、前記パケットの宛先情報に依らず、指定した二つの出力先に前記パケットをコピーして転送する、
ことを特徴とする通信ノード装置。
【請求項１３】
請求項１１に記載の通信ノード装置であって、
前記スイッチ処理部は、
少なくとも二つの外部ネットワークと接続する回線を備え、
前記情報処理部は、
前記回線の一方と前記アプリケーションを実行するアプリケーション処理部の間に応答確認型通信プロトコル処理部を備え、
前記回線の他方の一つと前記アプリケーション処理部の間に他の応答確認型通信プロトコル処理部を備える
ことを特徴とする通信ノード装置。
【請求項１４】
請求項１３に記載の通信ノード装置であって、
前記応答確認型通信プロトコル処理部から、前記他方の応答確認型通信プロトコル処理部へパケットデータを渡す際に、前記パケットが備えるシーケンス番号の値そのものか、前記パケットが備えるシーケンス番号に、前記現用系の情報処理部と前記予備系の情報処理部で同一となる一定値を加減算した値を引き継ぐ
ことを特徴とする通信ノード装置。
【請求項１５】
請求項１１に記載の通信ノード装置であって、
前記現用系の情報処理部は、
前記相互監視処理部により、前記予備系の情報処理部に向かって、状態通知を行い、
前記予備系の情報処理部は、
前記相互監視処理部により、所定期間に前記状態通知を受信できなかった場合に、前記現用系の情報処理部に対して生存確認を行い、
前記現用系の情報処理部から応答がない場合に、
前記停止処理部による、前記予備系の情報処理部からのパケット出力停止を解除する
ことを特徴とする通信ノード装置。
【請求項１６】
パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部を備える現用系、予備系の通信ノード装置を共に動作状態にして利用する通信方法であって、
前記スイッチ処理部は、前記現用系のスイッチ処理部として動作する場合に、前記情報処理部での情報処理対象となるパケットをコピーして二つの出力先へ転送し、
前記情報処理部は、前記現用系の情報処理部と前記予備系の情報処理部との間で互いの動作状態を確認し、前記現用系の情報処理部が応答を返さない場合に障害が発生したとみなして、前記予備系の情報処理部を現用系として動作させ、前記予備系の情報処理部として動作する場合に、アプリケーションによる前記予備系の情報処理部からのパケット出力を停止する
ことを特徴とする通信方法。
【請求項１７】
請求項１６に記載の通信方法であって、
前記スイッチ処理部は、前記パケットのヘッダ情報を検索キーとして前記パケットを識別し、前記パケットの宛先情報に依らず、指定した二つの出力先に前記パケットをコピーして転送する、
ことを特徴とする通信方法。
【請求項１８】
請求項１６に記載の通信方法であって、
前記現用系の情報処理部は、前記予備系の情報処理部に向かって、状態通知を行い、
前記予備系の情報処理部は、所定期間に前記状態通知を受信できなかった場合に、前記現用系の情報処理部に対して生存確認を行い、
前記現用系の情報処理部から応答がない場合に、前記予備系の情報処理部からのパケット出力停止を解除する
ことを特徴とする通信方法。
【請求項１９】
請求項１６に記載の通信方法であって、
情報処理対象の前記パケットの内、高優先と指定されたパケットは、前記現用系の情報処理部と前記予備系の情報処理部の双方で処理し、
低優先と指定されたパケットは、パケット毎に指定した前記現用系の情報処理部、もしくは前記予備系の情報処理部のいずれか一方のみで処理する、
ことを特徴とする通信方法。
【請求項２０】
請求項１９に記載の通信ノード装置システムであって、
前記予備系の情報処理部は、
情報処理対象の前記パケットのうち、
前記高優先と指定されたパケットの前記予備系の情報処理部からの出力を停止し、
前記低優先と指定されたパケットの前記予備系の情報処理部からの出力を停止しない、
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信システムに関し、特に、装置を冗長化して情報処理、通信処理を継続する技術に関する。
【背景技術】
【０００２】
本技術分野に関する情報通信処理冗長化システムの背景技術として種々の技術が存在するが、例えば特許文献１には、その課題として、レイヤ２ネットワークの非冗長区間を短縮し、ネットワークの障害発生時に経路を現用系から予備系へ短時間で切り換えられるレイヤ２ネットワークの冗長化システムを提供、と記載されている。【０００３】
また、その解決手段として、「加入者の宅内拠点Ａ，Ｂは、各スイッチの多重化により冗長化されたレイヤ２ネットワークを介して相互に接続される。レイヤ２ネットワークは、現用系(m)と予備系(s)とにより２重化されたCSW３３，３４と、ネットワークの境界部分に配置されたESW３２，３５と、レイヤ２フレームを光信号に変換するネット側M/C３１，３６とから構成されている。各宅内拠点Ａ，Ｂには、２重化された加入者側M/C１０，２０と、各加入者側M/Cの現用系および予備系のいずれか一方を加入者端末と選択的に接続するポート切替装置１１，２１とが配置される。」と記載されている。【０００４】
また、特許文献２には、課題として機能拡張への対応可能性や各機能モジュールの独立性を担保しつつ、二重化構成間で通信サービスを維持するためのデータ同期を行うことを可能とする、と記載されている。【０００５】
そして、その解決手段として、「当該通信制御装置６００に実装されている機能モジュール５０２−１，５０２−２とは独立したモジュールとして実装され、現用系と待機系との間で同期対象とされたデータの通知処理を行う二重化同期制御部５００（５００−１，５００−２）を備え、二重化同期制御部５００は、現用系として動作している機能モジュール５０２−１から同期対象データとともに、該データに付随するデータとして少なくとも通知先となるモジュールを識別するための通知先モジュール識別子を受け取り、受け取った通知先モジュール識別子を基に、待機系として動作している機能モジュール５０２−２に受け取ったデータを引き渡す。」と記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３５２５４４号公報
【特許文献２】特開２０１０−２１８３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の先行技術にあっては、例えば特許文献２に見るように、二重系の系切替え時に、現用系から待機系に必要なデータ等を引き渡す必要があり、そのために所定の時間が必要になる。【０００８】
本発明の目的は、二重系として動作させる情報処理部を有する通信ノード装置の間で、一方の系の情報処理部で障害が発生した際に、通信処理、情報処理サービスを中断することなく、他方の系で維持、継続することが可能な通信ノード装置システム、装置、および方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明においては、通信ノード装置システムであって、パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部を備える現用系、予備系の通信ノード装置を共に動作状態にして利用し、スイッチ処理部は、現用系の情報処理部と、予備系の情報処理部へパケットをコピーして転送する構成の通信ノード装置システムを提供する。【００１０】
また、上記の目的を達成するため、本発明においては、現用系、予備系を共に動作状態にして利用される通信ノード装置であって、パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部とを備え、スイッチ処理部は、現用系のスイッチ処理部として動作する場合に、情報処理部での情報処理対象となるパケットをコピーして二つの出力先へ転送する転送処理部を備え、情報処理部は、現用系と予備系との間で互いの動作状態を確認し、現用系の情報処理部が応答を返さない場合に障害が発生したとみなして、予備系の情報処理部を、現用系として動作させるための相互監視処理部と、予備系の情報処理部として動作する場合に、アプリケーションによる情報処理部からのパケット出力を停止する停止処理部とを備える構成の通信ノード装置を提供する。【００１１】
更に、上記の目的を達成するため、本発明においては、パケットの転送処理を行うスイッチ処理部と、アプリケーションを実行する情報処理部とを備える現用系、予備系の通信ノード装置を共に動作状態にして利用する通信方法であって、スイッチ処理部は、現用系のスイッチ処理部として動作する場合に、情報処理部での情報処理対象となるパケットをコピーして二つの出力先へ転送し、情報処理部は、現用系の情報処理部と予備系の情報処理部との間で互いの動作状態を確認し、現用系の情報処理部が応答を返さない場合に障害が発生したとみなして、予備系の情報処理部を現用系として動作させ、予備系の情報処理部として動作する場合に、アプリケーションによる情報処理部からのパケット出力を停止する通信方法を提供する。
【発明の効果】
【００１２】
本発明によれば、二重系として動作させる情報処理部を有する通信ノード装置の間で、一方の系の情報処理部で障害が発生した際でも、通信処理、情報処理サービスを中断することなく、他方の系で維持、継続する手段を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施例に係る、現用系通信ノードと予備系通信ノードの基本配置の例を示す図である。
【図２】第１の実施例に係る、現用系通信ノードでの情報処理の例を示す図である。
【図３】第１の実施例に係る、情報処理部の一構成例を示す図である。
【図４】第１の実施例に係る、情報処理部をプロセッサとメモリで構成する場合の例を示す図である。
【図５】第１の実施例に係る、条件付き宛先コピーテーブルの一例を示す図である。
【図６】第１の実施例に係る、状態テーブルの一例を示す図である。
【図７】第１の実施例に係る、サーバと通信ノードの間の通信処理のフローチャートの一例を示す図である。
【図８】第１の実施例に係る、サーバ、通信ノード、クライアントの間の通信処理のフローチャートの一例を示す図である。
【図９】第１の実施例に係る、通信ノードとクライアントの間の通信処理のフローチャートの一例を示す図である。
【図１０】第１の実施例に係る、障害検出から系切替えのフローチャートの一例を示す図である。
【図１１】第１の実施例に係る、図７において現用系で障害が発生した場合のフローチャートの例を示す図である。
【図１２】第１の実施例に係る、図８において現用系で障害が発生した場合のフローチャートの例を示す図である。
【図１３】第１の実施例に係る、図９において現用系で障害が発生した場合のフローチャートの例を示す図である。
【図１４】第１の実施例に係る、通信ノードのパケット受信処理のフローチャートの例を示す図である。
【図１５】第１の実施例に係る、通信ノードのパケット送信処理のフローチャートの例を示す図である。
【図１６】第１の実施例に係る、通信ノードの障害検出、系切替えのフローチャートの例を示す図である。
【図１７】第２の実施例に係る、入力フィルタテーブル例を示す図である。
【図１８】第２の実施例に係る、出力フィルタテーブル例を示す図である。
【図１９】第３の実施例に係る、同一通信ノード内の現用系と予備系情報処理部配置の例を示す図である。
【図２０】第４の実施例に係る、現用系通信ノードと予備系通信ノードのネットワーク越し配置の例を示す図である。
【図２１】第１の実施例に係る、現用系通信ノードと予備系通信ノードを二本の回線で接続する変形例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態の例を添付図面に基づき説明する。各図における同一符号は同一物あるいは相当物を示す。説明の都合上、符号に添え字を追加して区別することがある。また、本明細書において、通信ノード装置内の各機能ブロックを、「機能」、「手段」、「処理部」等と呼ぶ場合がある。例えば、「相互監視機能」、「相互監視手段」、「相互監視処理部」などである。
【実施例１】
【００１５】
第１の実施例では、二重化構成間で、一方の系で障害が発生しても、通信処理、情報処理サービスを他方の系で維持、継続する装置、システムの基本系に関して説明する。【００１６】
図１は、実施例１を示すシステム構成図であり、現用系の通信ノード装置１００−１、現用系の通信ノード装置１００−１に隣接し、その冗長化を実現する予備系の通信ノード装置１００−２、サーバ１０、広域網（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＷＡＮ）２０、クライアント３０から構成される。【００１７】
通信ノード装置１００は、パケット転送を行うためのスイッチ処理部１１０と、レイヤ４以上の情報処理を行う情報処理部２００で構成する。スイッチ処理部１１０は、パケット転送処理部１１２のほか、本実施例の特徴的な機能である、後述の条件付き宛先コピーテーブル１１１を備える。また、情報処理部２００は、情報処理を行うコア処理部２０４の他、本実施例に特徴的な、後述する相互監視処理部２０１、選択的入力停止処理部２０２、選択的出力停止処理部２０３を備える。【００１８】
図２に、本実施例における現用系通信ノード１００−１の情報処理部２００での情報処理の例を示す。本実施例では、拠点のクライアント３０が、ＷＡＮ２０を介してデータセンタのサーバ１０へアクセスし、サーバ１０上でデータベース４２０を利用した情報処理サービス提供を受ける。クライアント３０とサーバ１０が、例えば、それぞれ、日本と米国西海岸に置かれている場合、通信遅延が２００ｍｓと非常に大きく、該当する情報処理の通信性能が劣化し、結果として、情報処理サービス自体の応答速度が低下する問題が発生する。【００１９】
これを解消するために、クライアント３０近傍で情報処理が可能な、情報処理機能を備えた通信ノード装置１００で、処理４１０を実施する形態が考えられる。この際、データベース４２０自体は巨大であり、通信ノード装置１００に全てを配置することは、一般的には困難であり、また、効率的ではない。そこで、該当する処理４１０で利用するデータのみ、通信ノード装置１００の情報処理部２００へ転送しながら、情報処理を行う形態を本実施例のシステムでは想定する。【００２０】
前記の処理により、クライアント３０からみた情報処理時間を短縮することが可能であるが、通信ノード装置１００で情報処理を行っている情報処理部２００が障害を起こした場合、該当する情報処理サービスの通信処理と情報処理が停止してしまう。そこで、本実施例のシステムでは、現用系通信ノード装置１００−１とそれに隣接する予備系通信ノード装置１００−２を利用し、現用系通信ノード装置１００−１の情報処理部２００−１で障害が発生しても、予備系通信ノード装置１００−２の情報処理部２００−２によって該当する情報処理サービスを継続するための手段を提供する。以下、その詳細について説明する。【００２１】
まずここで、通信ノード装置１００のスイッチ処理部１１０に関して説明する。図１に示した様に、スイッチ処理部１１０は、通常のパケット転送装置が具備するパケット転送処理部１１２、図示を省略したネットワークインタフェースや、ルーティングテーブル等の各種の転送用のテーブルを備え、この転送用テーブルを参照して、例えば、宛先ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスや宛先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス等のパケットのヘッダ情報に基づき、パケット転送を行う。また、本実施例のシステムに特徴的な転送用のテーブルとして、図１に示す条件付き宛先コピーテーブル１１１を備えている。なお、本明細書においては、この条件付き宛先コピーテーブル１１１とパケット転送処理部１１２を、転送処理部と呼ぶ場合がある。【００２２】
図５にその詳細を示すように、条件付き宛先コピーテーブル１１１は、少なくとも、検索キー３００のフィールドと出力ポート１ ３２０、出力ポート２ ３２１のフィールドを備える。例えば、検索キー３００には送信元ＩＰアドレス３０１、宛先ＩＰアドレス３０２、プロトコル３０３、送信元ポート３０４、宛先ポート３０５で示される５タプルのような情報である。そのほか、ＶＬＡＮ  ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｅｒ）や、任意のヘッダ情報を検索キーとしても良い。本検索キーに合致したパケットのフローは、本来の宛先ＩＰアドレスや宛先ＭＡＣアドレスに依らず、出力ポート１ ３２０、出力ポート２ ３２１で示される、本通信ノード装置の出力先へ、強制的にパケットをコピーして転送する。【００２３】
ここで、条件付き宛先コピーテーブル１１１によるパケットコピーは、ある出力ポートにパケット内容をコピーしている点で、通常のスイッチ装置などが備えるポートミラーリングの機能に類似しているが、本実施例のパケットコピーは、反対方向からのパケット入力も許す点で異なる。これは、一般的に、ポートミラーリングが、コピーパケットを流すポートの先にネットワークアナライザ等の測定器を接続してトラフィック計測を行うことを目的としているためである。本実施例では、例えば、現用系のスイッチ処理部１１０−１によって、回線２８０経由で予備系のスイッチ１１０−２へパケットコピー送信する場合、予備系のスイッチ１１０−２は、現用系のスイッチ１１０−１へ、同じ回線２８０を利用してパケット転送してよい。【００２４】
尚、ポートミラーリングの機能を利用しつつ、本実施例の構成と同様の効果を得る実装も可能である。この場合、図２１に示すように、回線２８０と回線２８１を設ける。そして、現用系スイッチ１１０−１は、情報処理部２００−１への転送を本来の転送とし、ポートミラーリングの機能を利用して回線２８０経由で、予備系スイッチ１１０−２へコピーパケットを転送する。そして、予備系スイッチ１１０−２から現用系スイッチ１１０−１への転送には、回線２８１を利用すればよい。【００２５】
図２１の変形例では、回線２８０、回線２８１の二本を設けたが、更に回線本数を増やしても良い。例えば、クライアント側のネットワークに対して送受信するパケットを予備系のスイッチ１１０−２へ渡す回線、同じくスイッチ１１０−２からスイッチ１１０−１へ戻る回線、サーバ側のネットワークに対して送受信するパケットを予備系のスイッチ１１０−２へ渡す回線、同じくスイッチ１１０−２からスイッチ１１０−１へ戻る回線、の４回線を設けても良い。他にも、サーバ、クライアントとパケットのやり取りをする一般データ用の回線と、後述の状態通知パケット（ハートビート）専用のパケットのやり取りをする制御用の回線を分けても良い。【００２６】
上述した条件付き宛先コピーテーブル１１１の出力ポート１ ３２０として現用系の情報処理部２００−１、出力ポート２ ３２１として予備系の通信ノード装置１００−２を指定することで、該当するパケットフローを現用系の情報処理部２００−１と、予備系の通信ノード装置１００−２の両方へ転送することが可能である。予備系の通信ノード装置１００−２では、そのスイッチ処理部１１０−２のパケット転送処理部１１２によって、パケットフローが情報処理部２００−２へ転送される。結果として、該当するパケットフローは、現用系の情報処理部２００−１と、予備系の情報処理部２００−２の双方で受信、処理される。【００２７】
尚、出力ポート１ ３２０、出力ポート２ ３２１のうち、一方のみを利用してもよい。この場合、パケットは指定の１ポートのみへ転送される。以上、通信ノード装置１００のスイッチ処理部１１０の構成に関して説明した。【００２８】
次に、図３を用いて、本実施例の通信ノード装置１００の情報処理部２００の構成を説明する。情報処理部２００は、先に図１を用いて説明した様に、現用系と予備系の間で状態通知と障害検出、系切替え処理を行うための相互監視処理部２０１、入力パケットフローを選択的に取り込むための制御をおこなう選択的入力停止処理部２０２、出力パケットフローを選択的に停止する制御をおこなう選択的出力停止処理部２０３を備える。なお、本明細書においては、この選択的入力停止処理部２０２と、選択的出力停止処理部２０３を、停止処理部と呼ぶ場合がある。図１で情報処理を行うコア処理部２０４として説明したものは、図３の各種の機能ブロック中の上記三つの構成要素以外の部分に該当する。【００２９】
入力振分部２０５は、入力パケットをＡ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０、パススルー処理部２５０、相互監視処理部２０１、いずれかへ振り分ける処理を行う。実施例１では、後述のアプリケーション処理部２４０で処理するパケットで、サーバ１０側からクライアント３０側へ向かって流れるパケットをＡ側入力フィルタ部２１０、クライアント３０側からサーバ１０側へ向かって流れるパケットをＢ側入力フィルタへ、それぞれ振り分ける。また、自系外の相互監視処理部２０１からのパケットを自系の相互監視処理部２０１へ振り分ける。それ以外のパケットをパススルー処理部２５０へ振り分ける。【００３０】
出力マージ部２０６は、Ａ側出力フィルタ部２１６、Ｂ側出力フィルタ部２２６、相互監視処理部２０１、パススルー処理部２５０からのパケットを情報処理部の外部へ送信する処理を行う。【００３１】
選択的入力停止処理部２０２は、Ａ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０を用いて、特定のパケットフローの取り込みをフィルタする、すなわち、停止（排除）する処理を行う。尚、実施例１では、現用系の情報処理部２００−１も予備系の情報処理部２００−２も、Ａ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０に入力される全てのパケットフローをフィルタせずに取り込む。一部をフィルタする例に関しては、実施例２にて説明する。【００３２】
選択的出力停止処理部２０３は、予備系の情報処理部２００−２として動作している場合、サーバ１０、クライアント３０に対するパケットの出力を、Ａ側出力フィルタ部２１６、Ｂ側出力フィルタ部２２６を利用してフィルタする、すなわち、停止する処理を行う。同様に、パススルー処理部２５０に対しても、パケットの出力を停止する処理を行う。また、現用系の情報処理部２００−１が障害を起こして、予備系の情報処理部２００−２が現用系として動作する場合には、前記のフィルタを解除する。すなわち、それまで、停止するとしていたパケットの出力を許可する。【００３３】
パススルー処理部２５０は、入力振分部２０５から入力されたパケットに対し、何も処理せずに、そのまま出力マージ部２０６へ向けて転送する。尚、スイッチ処理部１１０で、情報処理部２００のアプリケーション処理部２４０で処理を必要としないパケットフローを情報処理部２００に対して転送しない設定としている場合、基本的にはパススルー処理部２５０へはパケットは転送されない。【００３４】
Ａ側整列処理部２１１、Ａ側再送処理部２１３、Ａ側送信処理部２１５、はＡ側の応答確認型通信プロトコル処理部の構成要素である。なお、ここで応答確認型通信プロトコルとは、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のようにデータの送達確認を行う通信プロトコルを意味し、応答確認型通信プロトコル処理部は当該プロトコルを実行する機能部を意味する。【００３５】
Ａ側入力フィルタ部２１０からの入力パケットがデータパケットであれば、Ａ側整列処理部２１１で受け取り、前記データパケットをＡ側受信バッファ２１２へ書き込む。Ａ側整列処理部２１１は、シーケンス番号などを基準にして前記データパケットが順番通りに到着しているかどうか確認し、順番抜けがあれば、該当パケットの再送要求を行うための応答パケットを、Ａ側送信処理部２１５から送信する。また、順番通りであれば正常到着を通知する応答パケットを、Ａ側送信処理部２１５から送信する。尚、Ａ側送信処理部２１５は、前記のようにＡ側整列処理部２１１に対応する処理の他、アプリケーション処理部２４０がＡ側送信バッファ２１４へ書き込んだデータをデータパケットとして送信する処理を行う。【００３６】
Ａ側入力フィルタ部２１０からの入力パケットが応答パケットであれば、Ａ側再送処理部２１３で受け取る。Ａ側再送処理部２１３は、正常到着を示す応答パケットを受信すれば、Ａ側送信バッファ２１４から該当データを削除する。再送要求を示す応答パケットを受信すれば、Ａ側送信バッファ２１４から該当データを再送する。【００３７】
Ｂ側入力フィルタ部２２０、Ｂ側出力フィルタ部２２６、Ｂ側整列処理部２２１、Ｂ側再送処理部２２３、Ｂ側送信処理部２２５、Ｂ側受信バッファ２２２、Ｂ側送信バッファ２２４、に関してもパケットの流れる方向が異なるだけで、Ａ側と同様の処理を行う。Ｂ側整列処理部２２１、Ｂ側再送処理部２２３、Ｂ側送信処理部２２５も纏めて、応答確認型通信プロトコル処理部と称し、応答確認型通信プロトコルを実行するための機能部として利用する。【００３８】
アプリケーション処理部２４０は、Ａ側受信バッファ２１２、及び、Ｂ側受信バッファ２２２を介してアプリケーションで利用するデータを受信し、プログラムされた通信処理や情報処理を行い、結果を入力とは反対側のＡ側送信バッファ２１４、及び、Ｂ側送信バッファ２２４へ書き込む。【００３９】
状態テーブル２３０は、図６にその一例を示すように検索キー２３１、Ａ側応答確認型プロトコル状態２５０、Ｂ側応答確認型プロトコル状態２６０、アプリケーションデータ利用状態２７０等を備える。【００４０】
Ａ側応答確認型プロトコル状態２５０は、例えば、コネクションの状態（確立中、接続中、終了中など）を示すプロトコル状態２５１、受信バッファの整列済みポインタ２５２、受信バッファの未整列ポインタ２５３、受信バッファの（アプリケーション処理部側への）送出済みポインタ２５４、送信バッファの（外部への）送出済みポインタ２５５、送信バッファの応答（ＡＣＫ）待ちポインタ２５６、シーケンス番号２５７等で構成する。【００４１】
シーケンス番号２５７は、現在のパケットフローのシーケンス番号を確認する目的だけでなく、Ａ側からＢ側、または、その逆側への通信処理で、送信側の現用系と予備系の送信処理部からのパケットのシーケンス番号を同じ値に揃える目的にも利用できる。これは、現用系の情報処理部２００−１で障害が発生して、予備系の情報処理部２００−２からの出力を有効にした場合に、現用系の情報処理部２００−１が基準として利用していたパケットフローのシーケンス番号と同じシーケンス番号を予備系の情報処理部２００−２が利用できるようにするために必要な処理となる。【００４２】
シーケンス番号２５７を利用して、反対側の応答確認型プロトコルは、受け渡されたシーケンス番号そのものを利用しても良いし、シーケンス番号に一定の値を加減算した新たなシーケンス番号を用いても良い。一定の値を加減算する場合は、現用系の情報処理部２００−１と予備系の情報処理部２００−２は、同じ一定の値を用いる。【００４３】
Ｂ側応答確認型プロトコル状態２６０もＡ側応答確認型プロトコル状態２５０と同様である。また、アプリケーションデータ利用状態２７０は、アプリケーションに依存するが、例えば、アプリケーションの状態２７１（稼働中、サスペンド中、データ待ち状態等）、応答確認型プロトコルからの入力データ方向２７２、入力データの先頭ポインタ２７３、入力データのサイズ情報を獲得するためのポインタ２７４、応答確認型プロトコルへの出力データ方向２７５、出力データの先頭ポインタ２７６、出力データのサイズ情報を獲得するためのポインタ２７７等によって構成する。【００４４】
尚、本実施例における情報処理部２００は、専用のハードウェアで構成しても良いが、図４に示すように、処理部として機能する汎用的なプロセッサやネットワークプロセッサ等を活用したプロセッシング部１２２、記憶部であるメモリ１２３、その他のデバイスを接続する拡張インタフェース１２４、スイッチ処理部１１０本体と接続するためのインタフェース１２１で構成してもよい。【００４５】
この場合、プロセッシング部１２２では、相互監視処理部２０１、選択的入力停止処理部２０２、選択的出力停止部２０３、入力振分部２０５、出力マージ部２０６、Ａ側入力フィルタ部２１０、Ａ側出力フィルタ部２１６、Ａ側整列処理部２１１、Ａ側再送処理部２１３、Ａ側送信処理部２１５、Ｂ側入力フィルタ部２２０、Ｂ側出力フィルタ部２２６、Ｂ側整列処理部２２１、Ｂ側再送処理部２２３、Ｂ側送信処理部２２５、パススルー処理部２５０、アプリケーション処理部２４０を模擬するプログラムを実行する。また、メモリ１２３上には、状態テーブル２３０、Ａ側受信バッファ２１２、Ａ側送信バッファ２１４、Ｂ側受信バッファ２２２、Ｂ側送信バッファ２２４、を格納し、プロセッシング部１２２から利用する。以上、通信ノード装置１００の情報処理部２００の構成に関して説明した。【００４６】
次に、図１４を用いて、本実施例における通信ノード装置１００のパケット受信処理に関して説明する。本実施例では、現用系の情報処理部２００−１、予備系の情報処理部２００−２、いずれも動作状態にあることを前提としている。すなわち、予備系はコールドスタンバイではなく、ホットスタンバイ状態にあり、現用系の情報処理部２００−１で障害発生時に即座に処理を継続できる点を特徴とする。パケットを受信した通信ノード装置１００は、スイッチ処理部１１０にて、同パケットが情報処理対象か否かの検査を行う（Ｓ６０１→Ｓ６０２）。同パケットが情報処理対象でなければ、通常のパケット転送処理を行う（Ｓ６１１）。【００４７】
同パケットが情報処理対象である場合、現用系の通信ノード装置１００−１であれば、同パケットの宛先ＩＰアドレスや宛先ＭＡＣアドレスに依らず、同パケットを現用系の情報処理部２００−１と予備系の通信ノード装置１００−２に向けて、コピー送信する（Ｓ６０３→Ｓ６０４）。一方で、予備系の通信ノード装置１００−２であれば、同パケットを情報処理部２００−２へ送信する（Ｓ６０３→Ｓ６０５）
情報処理部２００は、情報処理の対象となるパケットを受信すると、入力振分部２０５、出力フィルタ部２１０（２２０）を介して、応答確認型通信プロトコルにパケット取り込む。同パケットを受信バッファ２１２（２２２）へ書き込み、該当パケットがデータパケットであれば整列処理部２１１（２２１）にて、整列処理を行い（Ｓ６０６）、応答処理として、データパケットのヘッダに含まれるシーケンス番号などを基準にして、順番通りにデータパケットが届いていれば正常到着を示す応答パケットを返信する。順番通りでなければ再送要求を通知する応答パケットを返信する（Ｓ６０７）。また、該当パケットが再送要求を示す応答パケットであれば、送信バッファ２１４（２２４）から該当データのパケットを再送する。そうでなければ、応答処理として、送信バッファ２１４（２２４）から該当データを削除する（Ｓ６０６）。【００４８】
いずれにしても、応答処理Ｓ６０７によって、応答パケットやデータパケットの送信が行われるが、このとき、予備系であれば、前記の応答パケットやデータパケットの出力を出力フィルタ部２１６（２２６）によってフィルタし、外部に出力しない（Ｓ６０８→Ｓ６０９）。現用系である場合のみ、通常通り、外部に出力する。【００４９】
また、データパケットを受信している場合、受信バッファ２１２（２２２）を介して、アプリケーション処理部２４０へデータを転送する（Ｓ６１０）。
次に、図１５を用いて、本実施例における通信ノードのパケット送信処理に関して説明する。アプリケーション処理部２４０から送信バッファ２１４（２２４）を介してデータを受け取った応答確認型通信プロトコルの送信処理部２１５（２２５）は、該当データをデータパケットして送信処理を行う（Ｓ６２０→Ｓ６２１）。【００５０】
このとき、予備系であれば、前記のデータパケットの出力を出力フィルタ部２１６（２２６）によってフィルタし、外部に出力しない（Ｓ６２２→Ｓ６２３）。現用系である場合のみ、通常通りに外部に出力する。このデータパケットを受け取ったスイッチ処理部１１０は、パケット転送処理部１１２により、ルーティングテーブルなどに記載された宛先に従って、パケットを転送する（Ｓ６２４）。【００５１】
次に、図１６を用いて、本実施例における通信ノードの障害検出、系切替処理について説明する。現用系の通信ノード装置１００−１の情報処理部２００−１は、自身が現用系として動作状態にある場合、相互監視処理部２０１を利用して、予備系の通信ノード装置１００−２の情報処理部２００−２に対して、状態通知パケットを送信する（ハートビート）（Ｓ６３０→Ｓ６３１）。以後、相互監視処理部２０１に対して設定した指定期間が経過するたびに、予備系の通信ノード装置１００−２の情報処理部２００−２に対して、状態通知パケット（ハートビート）を送信し続ける（Ｓ６３２→Ｓ６３１の繰り返し）。【００５２】
予備系の通信ノード装置１００−２の情報処理部２００−２は、自身が予備系として動作状態にある場合、相互監視処理部２０１を利用して、現用系の通信ノード装置１００−１からの状態通知パケット（ハートビート）の有無を観測する。相互監視処理部２０１に対して設定した指定期間内に、前記の状態通知パケットを受信できた場合は、その有無の観測を続ける（Ｓ６４１）。【００５３】
前記の状態通知パケットを受信できなかった場合は、状態確認通知を現用系の通信ノード装置１００−１の相互監視処理部２０１に向かって送信する（Ｓ６４１→Ｓ６４２）。現用系の通信ノード装置１００−１の相互監視処理部２０１から対応する返信があれば、現用系の通信ノード装置１００−１の情報処理部２００−１が動作しているため、ふたたびＳ６４１の状態に戻り、予備系としての動作を続ける（Ｓ６４３→Ｓ６４１）。【００５４】
現用系の通信ノード装置１００−１の相互監視処理部２０１から対応する返信がなければ、現用系の通信ノード装置１００−１の情報処理部２００−１が停止していると判断し、予備系の情報処理部２００−２の選択的出力停止処理部２０１が出力フィルタ部２１６（２２６）のフィルタによるパケット出力停止を解除し（Ｓ６４３→Ｓ６４４）、現用系としての動作を開始する（Ｓ６４５）。【００５５】
以上の処理により、本実施例では、現用系の情報処理部２００−１で障害が発生した際に、現用系のスイッチ処理部１１０−１、予備系のスイッチ処理部１１０−２いずれも処理内容の変更なしに、予備系の情報処理部２００−２が、該当する情報処理、通信処理を継続できる点が特徴である。例えば、引継時に情報処理部２００のＩＰアドレスの書き換えなどの処理は不要である。【００５６】
次に、図７、図８、図９を用いて、障害が発生していないときの現用系の通信ノード装置１００−１、予備系の通信ノード装置１００−２の連携動作について説明する。【００５７】
まず、図７を用いて、本実施例におけるサーバと通信ノードの間の通信処理に関して説明する。サーバ１０は、クライアント３０とのコネクション確立後、クライアント３０宛にデータパケットを送信する（Ｓ５００）。途中の経路上にある現用系の通信ノード装置１００−１は、情報処理対象となる通信のデータパケットであれば、データパケットに記載の宛先ＩＰアドレスや宛先ＭＡＣアドレスに依らず、スイッチ処理部１１０−１の条件付き宛先コピーテーブル１１１を利用して、データパケットを自身の情報処理部２００−１と予備系の通信ノード装置１００−２向けに、コピーして転送する（Ｓ５０１）。【００５８】
前記データパケットを受信した現用系の情報処理部２００−１、および、予備系の情報処理部２００−２は、同データパケットに対し、先に説明した整列処理を行う（Ｓ５０２）。シーケンス番号等を基準にして、順番通りにデータパケットが到着していないことを判定すると、再送要求の応答パケット送信処理を行う（Ｓ５０３）。このとき、予備系の情報処理部２００−２では、選択的出力停止処理部２０３と出力フィルタ部２１６（２２６）で提供する処理により、前記の応答パケットの出力を停止し、外部に出力しない（Ｓ５０４）ため、現用系からの応答パケットだけがサーバ１０に向けて送信される。【００５９】
図８を用いて、前記の整列処理で、シーケンス番号等を基準にして、順番通りにデータパケットが到着していると判断した場合に関する、サーバ１０、通信ノード装置１００、クライアント３０の間の通信処理を説明する。図８は、前記の整列処理Ｓ５０２までの動作は図７と同じである。【００６０】
パケットのヘッダに含まれるシーケンス番号等を基準にして、順番通りにデータパケットが到着していると判断した場合、現用系の情報処理部２００−１、および、予備系の情報処理部２００−２は、正しくデータパケットを受信できた旨の応答パケットの送信処理を行う（Ｓ５０３）。このとき、予備系の情報処理部２００−２では、選択的出力停止処理部２０３と出力フィルタ部２１６（２２６）で提供する処理により、前記の応答パケットの出力を停止し、外部に出力しない（Ｓ５０４）。その後、現用系の情報処理部２００−１、および、予備系の情報処理部２００−２は、いずれも、受信バッファ２１２（２２２）経由で、該当データをアプリケーション処理部２４０へ渡し、アプリ処理を実施する（Ｓ５０５）。【００６１】
アプリ処理後のデータは、受信とは反対方向の送信バッファ２２４（２１４）を経由して、データパケットとして送信処理を行う（Ｓ５０６）。このとき、予備系の情報処理部２００−２では、選択的出力停止処理部２０３と出力フィルタ部２２６（２１６）が提供する処理により、前記のデータパケットの出力を停止し、外部に出力しない（Ｓ５０７）ため、現用系からのデータパケットだけがクライアント３０に向けて送信される。【００６２】
次に、図９を用いて、図８でクライアント３０に向けて送信されたデータパケットに対する応答のための通信処理に関して説明する。データパケットを受信したクライアント３０は、現用系の通信ノード装置１００−１に向けて応答パケットを送信する（Ｓ５３０）。前記応答パケットを受信した現用系の通信ノード装置１００−１は、応答パケットに記載の宛先ＩＰアドレスや宛先ＭＡＣアドレスに依らず、スイッチ処理部１１０−１を利用して、応答パケットを自身の情報処理部２００−１と予備系の通信ノード装置１００−２向けに、コピーして転送する（Ｓ５３１）。【００６３】
前記応答パケットが、再送要求であれば、現用系の情報処理部２００−１も予備系の情報処理部２００−２、いずれも、該当するデータパケットの再送処理を行い、データパケットを、再度、クライアント３０に向けて送信しようとする（Ｓ５３２→Ｓ５３３）。この時、予備系の情報処理部２００−２では、選択的出力停止処理部２０３と出力フィルタ部２２６（２１６）で提供する処理により、前記のデータパケットの出力を停止し、外部に出力しない（Ｓ５３４）ため、現用系からのデータパケットだけがクライアント３０に向けて送信される。【００６４】
前記応答パケットが、正しくデータパケットを受信できた旨の応答パケットであれば、現用系の情報処理部２００−１も予備系の情報処理部２００−２、いずれも、再送処理Ｓ５３２は行わず、送信バッファ２２４（２１４）から、該当するデータパケットの削除を行う。以上、障害が発生していないときの現用系の通信ノード装置１００−１、予備系の通信ノード装置１００−２の連携動作に関して説明した。【００６５】
次に、図１０を用いて、現用系の通信ノード装置１００−１の情報処理部２００−１と、予備系の通信ノード装置１００−２の情報処理部２００−２との間の障害検出から系切替のための連携動作を説明する。【００６６】
現用系の通信ノード装置１００−１の情報処理部２００−１は、動作状態にあるとき、予備系の通信ノード装置１００−２の情報処理部２００−２に対して、自身が動作状態にあることを示す状態通知パケットを送信する動作を続ける（ハートビート）（Ｓ５５０→Ｓ５５１→Ｓ５５２）。【００６７】
現用系の通信ノード装置１００−１の情報処理部２００−１に障害５００が発生すると、予備系の通信ノード装置１００−２の情報処理部２００−２は、図１６を使って説明したように、相互監視処理部２０１に対して設定した指定期間内に、前記の状態通知パケットを受信できないため、障害として検出する（Ｓ５６０）。【００６８】
そして、これが真に障害であるか否かを確かめるために、予備系の通信ノード装置１００−２の情報処理部２００−２は、状態確認通知パケットを、現用系の通信ノード装置１００−１の情報処理部２００−１に向けて送信する（Ｓ５６１）。そして、一定期間内に前記状態確認通知パケットの応答が無ければ（Ｓ５６２）、予備系の通信ノード装置１００−２の情報処理部２００−２は、現用系の通信ノード装置１００−１の情報処理部２００−１が停止していると判断し、予備系の情報処理部２００−２の選択的出力停止処理部２０１が出力フィルタ部２１６（２２６）のフィルタによるパケット出力停止を解除し（Ｓ５６３）、現用系としての動作を開始する。【００６９】
次に、図１１、図１２、図１３を用いて、現用系の通信ノード装置１００−１の情報処理部２００−１で障害が発生したときの現用系の通信ノード装置１００−１、予備系の通信ノード装置１００−２の連携動作を説明する。【００７０】
まず、図１１を用いて、図７において現用系で障害が発生した場合の通信処理に関して説明する。図１０で説明したように、現用系の通信ノード装置で障害５００が発生すると、予備系の通信ノード装置１００−２の情報処理部２００−２は、障害検出Ｓ５６０、状態確認通知Ｓ５６１、応答なしの確認Ｓ５６２、出力フィルタ解除Ｓ５６３を行い、現用系としての動作を開始する。【００７１】
このとき、Ｓ５００で、サーバ１０から送信されてきたデータパケットは、現用系の通信ノード装置１００−１のスイッチ処理部１１０−１でコピーされたのち（Ｓ５０１）、現用系の情報処理部２００−１と、予備系の情報処理部２００−２へ転送される。しかし、現用系の情報処理部２００−１は、障害でダウンしているため、予備系の情報処理部２００−２のみが、整列処理Ｓ５０２、再送要求を含む応答パケットの出力処理Ｓ５０３を行う。ここで、予備系の情報処理部２００−２の出力フィルタが解除されているため、ここからの応答パケットがサーバ１０へ転送される。【００７２】
これは、障害発生前にサーバ１０と現用系の情報処理部２００−１で行われていた通信セッションと同じものであり、サーバ１０と予備系の通信ノード装置１００−２との間の通信に代わっても、同一の通信セッション、及び、情報処理が継続されている。【００７３】
尚、系切替時に一時的に同じパケットが現用系の情報処理部２００−１と予備系の情報処理部２００−２から送信されることがあるが、これは、受信側のサーバ１０で、後続のパケットが廃棄されるため問題ない。また、現用系としての動作を開始した予備系の情報処理部２００−２からの通信が、出力フィルタ解除が間に合わず消えてしまうこともありうるが、期待する順番の応答が無かったものとして、再びＳ５００、Ｓ５０１の処理が繰り返されるため問題ない。【００７４】
次に、図１２を用いて、図８において現用系で障害が発生した場合の通信処理に関して説明する。図１０で説明したように、現用系の通信ノード装置で障害５００が発生すると、予備系の通信ノード装置１００−２の情報処理部２００−２は、障害検出Ｓ５６０、状態確認通知Ｓ５６１、応答なしの確認Ｓ５６２、出力フィルタ解除Ｓ５６３を行い、現用系としての動作を開始する。【００７５】
図１１の説明同様、このとき、Ｓ５００で、サーバ１０から送信されてきたデータパケットは、現用系の通信ノード装置１００−１のスイッチ処理部１１０−１でコピーされたのち（Ｓ５０１）、現用系の情報処理部２００−１と、予備系の情報処理部２００−２へ転送される。しかし、現用系の情報処理部２００−１は、障害でダウンしているため、現用系としての動作を開始している予備系の情報処理部２００−２のみが、整列処理Ｓ５０２と、正しくデータパケットを受信できた旨の応答パケットの送信処理を行う（Ｓ５０３）。ここで、予備系の情報処理部２００−２の出力フィルタが解除されているため、予備系の情報処理部２００−２からの応答パケットがサーバ１０へ転送される。【００７６】
その後、現用系として動作を開始している予備系の情報処理部２００−２は、受信バッファ２１２（２２２）経由で、該当データをアプリケーション処理部２４０へ渡し、アプリ処理を実施する（Ｓ５０５）。【００７７】
アプリ処理後のデータは、受信とは反対方向の送信バッファ２２４（２１４）を経由して、データパケットとして送信処理を行う（Ｓ５０６）。このとき、現用系として動作を開始している予備系の情報処理部２００−２は、出力フィルタを解除されているため、先ほどまでの現用系の情報処理部２００−１に代わって、クライアント３０へデータパケットの送信を行うことができる。【００７８】
前記のパケット転送、すなわち、通信セッションは、障害発生前にサーバ１０、クライアント３０と現用系の情報処理部２００−１で行われていた通信セッションと同じものであり、現用系として動作を開始している予備系の通信ノード装置１００−２とサーバ１０、クライアント３０の間の通信に代わっても、同一の通信セッション、及び、情報処理が継続されている。【００７９】
次に、図１３を用いて、図９において現用系で障害が発生した場合の通信処理に関して説明する。図１０で説明したように、現用系の通信ノード装置で障害５００が発生すると、予備系の通信ノード装置１００−２の情報処理部２００−２は、障害検出Ｓ５６０、状態確認通知Ｓ５６１、応答なしの確認Ｓ５６２、出力フィルタ解除Ｓ５６３を行い、現用系としての動作を開始する。【００８０】
データパケットを受信したクライアント３０は、現用系の通信ノード装置１００−１に向けて応答パケットを送信する（Ｓ５３０）。前記応答パケットを受信した現用系の通信ノード装置１００−１は、応答パケットに記載の宛先ＩＰアドレスや宛先ＭＡＣアドレスに依らず、スイッチ処理部１１０−１を利用して、応答パケットを現用系の情報処理部２００−１と予備系の通信ノード装置１００−２向けに、コピーして転送する（Ｓ５３１）。【００８１】
ここで、現用系の情報処理部２００−１は障害でダウンしているため、現用系としての動作を開始している予備系の情報処理部２００−２のみが、前記コピーして転送されたパケットに対する処理を行うことができる。【００８２】
前記応答パケットが、再送要求であれば、現用系として動作を開始している予備系の情報処理部２００−２は、該当するデータパケットの再送処理を行い、データパケットを、再度、クライアント３０に向けて送信する（Ｓ５３２→Ｓ５３３）。このとき、現用系として動作を開始している予備系の情報処理部２００−２は、出力フィルタを解除されているため、先ほどまでの現用系の情報処理部２００−１に代わって、クライアント３０へデータパケットの送信を行うことができる。【００８３】
前記応答パケットが、正しくデータパケットを受信できた旨の応答パケットであれば、現用系として動作を開始している予備系の情報処理部２００−２は、再送処理Ｓ５３２は行わず、送信バッファ２２４（２１４）から、該当するデータパケットの削除を行う。【００８４】
これは、障害発生前にクライアント３０と現用系の情報処理部２００−１で行われていた通信セッションと同じものであり、現用系として動作を開始している予備系の通信ノード装置１００−２とクライアント３０の間の通信に代わっても、同一の通信セッション、及び、情報処理が継続されている。【００８５】
尚、系切替時に一時的に同じパケットが現用系の情報処理部２００−１と予備系の情報処理部２００−２から送信されることもあるが、これは、受信側のクライアント３０で、後続のパケットが廃棄されるだけであるため問題ない。また、現用系としての動作を開始した予備系の情報処理部２００−２からの通信が、出力フィルタ解除が間に合わず消えてしまうこともありうるが、期待するデータパケット送信が無かったものとして、再びＳ５３０以降の処理が繰り返されるため問題ない。【００８６】
以上、現用系の通信ノード装置１００−１の情報処理部２００−１で障害が発生したときの現用系の通信ノード装置１００−１、予備系の通信ノード装置１００−２の連携動作に関して説明した。本実施例によれば、障害後の系切替が発生しても、障害前と同様の通信処理、情報処理を継続することができる。【００８７】
また、現用系の情報処理部２００−１で障害が発生した後は、予備系の情報処理部２００−２のみによる、非冗長状態（片系）での運用となるため、すみやかに該当する情報処理部２００−１を正常なものへ交換することが望ましい。一旦、この交換が完了すれば、交換した情報処理部２００−１は、予備系としての動作を開始してよい。【００８８】
この交換実施後に開始された通信処理、情報処理に関しては、現用系として動作している予備系の情報処理部２００−２が障害を起こした場合、これまでの説明と同様の手順で、予備系として動作している現用系の情報処理部２００−１を、再度、現用系として系切替することで、処理の継続を実現できる。
【実施例２】
【００８９】
実施例２では、システムとしての処理効率向上と重要処理の保護を両立するための方法の一例について説明する。【００９０】
実施例１で説明した方法によれば、現用系の情報処理部２００−１と予備系の情報処理部２００−２では、同じ情報処理、通信処理を行うため、二台の情報処理部２００を１台のシステムとしてとらえた場合、システムの利用効率は５０％になる。【００９１】
そこで、実施例２では、扱う通信処理・情報処理に優先度の概念を設け、優先度を高く設定した重要な処理に関しては、現用系と予備系の双方で動作させ、一方が障害を起こしても処理を継続できるようにしつつ、優先度を低く設定したベストエフォートの処理に関しては、片方の系のみで実施する。本実施例の操作によって、重要処理の保護と、システムとして５０％を超える処理効率の実現を両立させる。【００９２】
本実施例においては、このようなシステムを実現するために、図１、図３に示した、選択的入力停止処理部２０２を用いて、Ａ側入力フィルタ部２１０、Ｂ側入力フィルタ部２２０、同じく図１、図３に示した、選択的出力停止処理部２０３を用いて、Ａ側出力フィルタ部２１６、Ｂ側出力フィルタ部２２６に対し、以下に説明する設定を行う。  本実施例においては、図３に示した入力フィルタ部２１０、２２０は、図１７に示す入力フィルタテーブル４００を備える。【００９３】
図１７に示すように、入力フィルタテーブル４００は、検索キー４０１、優先度４０２のフィールドを備える。前記システムへの初期設定として、５タプル情報の組合せ等により検索キー４０１を設定し、該当する処理のパケットフロー群を高優先パケットフローＨと低優先パケットフローＬに分類する。更に、低優先フローＬと定義したパケットフローに対しては、現用系の情報処理部２００−１のみで扱うパケットフローを便宜上、パケットフローＬＡとして分類する。同じく、予備系の情報処理部２００−２のみで扱うパケットフローを便宜上、パケットフローＬＳとして分類する。これらの分類結果は優先度４０２に設定する。【００９４】
そして、情報処理部２００の入力側に対する処理として、現用系の情報処理部２００−１の入力フィルタ部２１０（２２０）では、パケットフローＬＳをフィルタするように設定して、整列処理部２１１（２２１）や再送処理部２１３（２２３）へのパケットフローＬＳの取り込みを排除する。それ以外の高優先パケットフローＨとパケットフローＬＡは取り込む。【００９５】
同様に、予備系の情報処理部２００−２の入力フィルタ部２１０（２２０）では、パケットフローＬＡをフィルタするように設定して、整列処理部２１１（２２１）や再送処理部２１３（２２３）へのパケットフローＬＡの取り込みを排除する。それ以外の高優先パケットフローＨとパケットフローＬＳは取り込む。【００９６】
次に、図１８を用いて、実施例２の情報処理部２００の出力側に対する処理として、予備系の情報処理部２００−２の出力フィルタ部２１６（２２６）に関して説明する。出力フィルタ部２１６（２２６）は、図１８に示す出力フィルタテーブル４１０を備える。出力フィルタテーブル４１０は、入力フィルタテーブル４００同様に、検索キー４１１、優先度４１２のフィールドを備える。出力フィルタテーブル４１０に設定する検索キー４１１、優先度４１２の値は、入力フィルタテーブル４００の検索キー４０１、優先度４０２それぞれの値と同一である。【００９７】
出力フィルタ部２１６（２２６）では、この出力フィルタテーブル４１０を利用し、入力されている高優先パケットフローＨと低優先パケットフローＬＳのうち、高優先パケットフローＨの出力はフィルタして停止する。一方で、低優先パケットフローＬＳの出力はフィルタしない。【００９８】
また、現用系の情報処理部２００−１で障害が発生し、予備系の情報処理部２００−２を現用系として動作させる際には、その出力フィルタ部２１６（２２６）で、それまで出力を停止していた高優先パケットフローＨに対する出力フィルタを解除する。本操作により、高優先パケットフローＨ、及び、低優先パケットフローＬＳの両方が、現用系として動作を開始した予備系の情報処理部２００−２から出力されるようになる。それ以外の動作、処理に関しては、実施例１と同様である。【００９９】
ここで、本実施例における情報処理部２００のシステムとして利用効率について説明する。まず、前記のパケットフローＬＡとパケットフローＬＢの割合が同じと仮定する。この時、現用系、予備系、それぞれの情報処理部２００が扱う高優先パケットフローＨ：低優先パケットフローＬの割合を１：９とした場合、システムとしては、重複部分は高優先パケットフローＨ部分のみなので、１０％/２＋９０％＝９５％の処理効率を実現できる。【０１００】
同様に、現用系、予備系、それぞれの情報処理部２００が扱う高優先パケットフローＨ：低優先パケットフローＬの割合を、２：８とした場合は２０％/２＋８０％＝９０％、３：７とした場合は３０％/２＋７０％＝８５％、４：６とした場合は４０％/２＋６０％＝８０％、５：５とした場合は５０％/２＋５０％＝７５％、といったように変化する。尚、１０：０の場合、すなわち、全てを高優先パケットフローＨとして扱う場合は、１００％/２＋０％＝５０％となり、実施例１と同様の利用効率となる。【０１０１】
以上に説明した設定、処理により、優先度を高く設定した重要な処理に関しては、現用系と予備系の双方で動作させ、一方が障害を起こしても処理を継続できるようにしつつ、優先度を低く設定したベストエフォートの処理に関しては、片方の系のみで実施することで、システムとして５０％を超える処理効率と重要処理の保護を両立させることができるようになる。
【実施例３】
【０１０２】
実施例３では、図１９に示すように、同一の通信ノード装置１００内に、現用系の情報処理部２００−１と予備系の情報処理部２００−２を備える構成について説明する。本構成の実施例１との違いは、図１の予備系の通信ノード装置１００−２に相当する部分、及び、そのスイッチ処理部１１０−２が存在しないことである。【０１０３】
前記の条件付き宛先コピーテーブル１１１の出力ポート１（３２０）として現用系の情報処理部２００−１、出力ポート２（３２１）として予備系の情報処理部２００−２を指定することで、該当するパケットフローを現用系の情報処理部２００−１と予備系の情報処理部２００−２の双方へ、該当パケットフローをコピー転送し、処理することができるようになる。【０１０４】
現用系の情報処理部２００−１と予備系の情報処理部２００−２の動作に関しては、実施例１での説明と全く同様である。本構成は、物理的に単一の通信ノード装置１００の内部での情報処理を冗長化できる点が特徴である。【０１０５】
本実施例の変形例として、実施例1と実施例３を組み合わせることもできる。すなわち、現用系の通信ノード装置１００−１に図１７同様、二枚の情報処理部２００を備え、図１同様、情報処理部２００−２を備える予備系の通信ノード装置１００−２も配する構成である。【０１０６】
前記の構成では、現用系の通信ノード装置１００−１のスイッチ処理部１１０−１の条件付き宛先コピーテーブル１１１に対して次のような設定を行う。すなわち、あるパケットフロー群Ａに対しては、出力ポート１（３２０）として現用系の情報処理部２００−１を、出力ポート２（３２１）として予備系の通信ノード装置１００−２を指定する。また、別のパケットフロー群Ｂに対しては、出力ポート１（３２０）として現用系の情報処理部２００−１を、出力ポート２（３２１）として予備系の情報処理部２００−２を指定する。【０１０７】
この指定により、該当するパケットフロー群Ａは、現用系の情報処理部２００−１と予備系の通信ノード装置１００−２の情報処理部２００−２（図１相当）の双方へ、該当パケットフローをコピー転送し、処理することができるようになる。同じく、該当するパケットフロー群Ｂは、現用系の通信ノード装置１００−１内の現用系の情報処理部２００−１と予備系の情報処理部２００−２（図１９相当）の双方へ、該当パケットフローをコピー転送し、処理することができるようになる。【０１０８】
現用系の情報処理部２００−１で障害が発生した場合、予備系の通信ノード装置１００−２の情報処理部２００−２（図１相当）、現用系の通信ノード装置１００−１内の予備系の情報処理部２００−２（図１９相当）の双方で該当する情報処理、通信処理が継続実行できる。【０１０９】
なお、本実施例においては、同一の通信ノード装置１００内に、現用系の情報処理部２００−１と、予備系の情報処理部２００−２とを備える形態を説明したが、更にまた、通信ノード装置１００内に現用系の情報処理部２００−１と、予備系の情報処理部２００−２の機能を包含する情報処理部を備える形態をとることできる。
【実施例４】
【０１１０】
実施例４では、図２０に示すように、ＷＡＮ２０を介して現用系の通信ノード装置１００−１と予備系の通信ノード装置１００−２を備える構成について説明する。【０１１１】
実施例４の構成をとる場合、現用系のスイッチ処理部１１０−１は、装置外部のネットワークから受信したパケットが情報処理対象か否かの検査を行う。同パケットが情報処理対象である場合、条件付き宛先コピーテーブル１１１を利用して、パケットをコピーし、一方のパケットは実施例１と同様に現用系の情報処理部２００−１宛に送信する。【０１１２】
他方のパケットは再度、現用系のスイッチ処理部１１０−１のパケット転送処理部１１２宛に送信し、ここで、該当パケットを送信元ＩＰアドレスが現用系の通信ノード装置１００−１、宛先ＩＰアドレスが予備系の通信ノード装置１００−２、プロトコル番号が前記の二装置間の通信を示すことを指定する番号となるようにカプセル化し、ＷＡＮ２０へ送信する。【０１１３】
前記のカプセル化されたパケットは、予備系の通信ノード装置１００−２に到達すると、スイッチ処理部１１０−２のパケット転送処理部１１２にて、カプセル化を解除し、予備系の情報処理部２００−２へ転送する。現用系の情報処理部２００−１と予備系の情報処理部２００−２の中での処理は、実施例１と同じである。【０１１４】
現用系の情報処理部２００−１で障害が発生した場合、実施例１同様、予備系の情報処理部２００−２からのパケット出力を有効にするが、この際、送信元ＩＰアドレスが予備系の通信ノード装置１００−２、宛先ＩＰアドレスが現用系の通信ノード装置１００−１、プロトコル番号が前記の二装置間の通信を示すことを指定する番号となるようにカプセル化し、ＷＡＮ２０へ送信する。【０１１５】
前記のカプセル化されたパケットは、現用系の通信ノード装置１００−１に到達すると、スイッチ処理部１１０−１のパケット転送処理部１１２にて、カプセル化を解除し、パケットに記載の本来の宛先へ転送する。【０１１６】
以上に説明した処理により、ＷＡＮ２０を介して現用系の通信ノード装置１００−１と予備系の通信ノード装置１００−２を備える構成についても、現用系の情報処理部２００−１で障害が発生した場合でも、予備系の情報処理部２００−２で、処理を継続する手段を提供できる。【０１１７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。【０１１８】
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。【０１１９】
更に、各実施例における各構成、機能、処理部等は、上述した通り、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良いし、それらの一部又は全部を実現するプログラムを作成することにより、プロセッサ等で実行されるソフトウェアで実現しても良いことは言うまでもない。
【符号の説明】
【０１２０】
１０  サーバ
２０  ＷＡＮ
３０  クライアント
１００  通信ノード装置
１１０  スイッチ処理部
２００  情報処理部
１１１  条件付き宛先コピーテーブル
１１２  パケット転送処理部
２０１  相互監視処理部
２０２  選択的入力停止処理部
２０３  選択的出力停止処理部
２３０  状態テーブル
２４０  アプリケーション処理部
４００  入力フィルタテーブル
４１０  出力フィルタテーブル
４１０  処理
４２０  データ
【図１】
2012127644.tif 000003
【図２】
2012127644.tif 000004
【図３】
2012127644.tif 000005
【図４】
2012127644.tif 000006
【図５】
2012127644.tif 000007
【図６】
2012127644.tif 000008
【図７】
2012127644.tif 000009
【図８】
2012127644.tif 000010
【図９】
2012127644.tif 000011
【図１０】
2012127644.tif 000012
【図１１】
2012127644.tif 000013
【図１２】
2012127644.tif 000014
【図１３】
2012127644.tif 000015
【図１４】
2012127644.tif 000016
【図１５】
2012127644.tif 000017
【図１６】
2012127644.tif 000018
【図１７】
2012127644.tif 000019
【図１８】
2012127644.tif 000020
【図１９】
2012127644.tif 000021
【図２０】
2012127644.tif 000022
【図２１】
2012127644.tif 000023
【国際調査報告】
2012127644.tif 000024
2012127644.tif 000025
2012127644.tif 000026
2012127644.tif 000027