(57)【要約】本発明によるＶＰＮデバイスクラスタリングシステムは、仮想プライベート網の一方側の二つ或いはそれ以上のＶＰＮデバイスを、仮想プライベート網の他方側の二つ或いはそれ以上のＶＰＮデバイスから成る類似のクラスタ化されたシステムに接続する。このＶＰＮデバイスクラスタリングシステムは、典型的には、一点の故障が波及することに起因する問題を避けるための冗長として、複数のクラスタリングユニットを備える。例えば、２つのクラスタリングユニットが、作動・待機高アベイラビリティ構成として用いられる。ＶＰＮデバイスクラスタクリエータは、ＶＰＮデバイスクラスタを形成或いは構成する。ＶＰＮデバイスクラスタを形成するためには、管理者は、クラスタに論理インターネットプロトコル（ＩＰ）アドレスＩＰｖｐｎを割当て、クラスタのメンバとなるべきＶＰＮデバイスを指定する。
2004507169.tif 000002
【特許請求の範囲】
【請求項１】
仮想プライベート網（ＶＰＮ）を通じて第一の複数のユーザと第二の複数のユーザ間でメッセージトラフィックをルーティングするための方法であって、
複数のＶＰＮデバイスを含むクラスタが形成され、該クラスタが該クラスタ内に含まれるＶＰＮデバイスの一意なＩＰアドレスとは異なる論理インターネットプロトコル（ＩＰ）アドレスにてアドレスされる動作と、
トラフィックを該第一の複数のユーザと該第二の複数のユーザ間で、該クラスタ内に含まれる複数のＶＰＮデバイスから選択された一つのＶＰＮデバイスを介して分配する動作とを含み、該ＶＰＮデバイスがパケット宛先ＩＰアドレスに基づいて選択されることを特徴とする方法。
【請求項２】
該クラスタ形成動作が、更に、単一のＭＡＣアドレスを該ＶＰＮデバイスクラスタに割当てる動作を含む請求項１記載の方法。
【請求項３】
該クラスタ形成動作が、更に、一意のＭＡＣアドレスを複数のＶＰＮデバイスクラスタの各ＶＰＮデバイスクラスタに割当てる動作を含む請求項１記載の方法。
【請求項４】
該クラスタ形成動作が、更に、論理ＩＰアドレスを該ＶＰＮデバイスクラスタに割当てる動作を含む請求項１記載の方法。
【請求項５】
該クラスタ形成動作が、更に、管理者によって、論理ＩＰアドレスを該ＶＰＮデバイスクラスタに割当てる動作を含む請求項１記載の方法。
【請求項６】
該クラスタ形成動作が、更に、該ＶＰＮデバイスクラスタ内に含まれるべきＶＰＮデバイスを指定する動作を含む請求項１記載の方法。
【請求項７】
更に、該ＶＰＮデバイスの動作の健全性を監視する動作を含む請求項１記載の方法。
【請求項８】
該トラフィック分配動作が、更に、該クラスタ内に含まれる該複数のＶＰＮデバイスの中から一つのＶＰＮデバイスを、出トラフィックをあるＶＰＮユーザから別のＶＰＮユーザに分配するために選択する動作を含み、該分配がパケットＩＰ宛先アドレスに基づいて行われる請求項１記載の方法。
【請求項９】
該トラフィック分配動作が、更に、該クラスタ内に含まれる該複数のＶＰＮデバイスの中から一つのＶＰＮデバイスを、出トラフィックをあるＶＰＮユーザから別のＶＰＮユーザに分配するために選択する動作を含み、任意の与えられたＶＰＮユーザ・ツウ・ユーザ接続フローに対して、同一のＶＰＮデバイスが、そのフローが動作を続けている限り、全ての出パケットに対して用いられる請求項１記載の方法。
【請求項１０】
該トラフィック分配動作が、更に、該クラスタ内に含まれる該複数のＶＰＮデバイスの中から一つのＶＰＮデバイスを、出トラフィックをあるＶＰＮユーザから別のユーザに分配するために選択する動作を含み、任意の特定のＶＰＮデバイスが転送のために同一の確率にて使用される請求項１記載の方法。
【請求項１１】
更に、動作中のフローのリストを維持する動作を含む請求項１記載の方法。
【請求項１２】
プロセッサ上で実行する、メッセージトラフィックを、仮想プライベート網（ＶＰＮ）上を通じて、第一の複数のユーザと第二の複数のユーザ間で、ＶＰＮデバイスを介してルーティングするための、コンピュータにて読出し可能なメモリ媒体であって、
該媒体のエンコーディングによって：
複数のＶＰＮデバイスを含むクラスタであって、該クラスタ内に含まれるＶＰＮデバイスの一意なＩＰアドレスとは異なる論理インターネットプロトコル（ＩＰ）アドレスにてアドレスされるクラスタと、
該クラスタ内に含まれるＶＰＮデバイスのリストと、
作動中のＶＰＮデバイスが故障したとき、トラフィックを再ダイレクティングするための再ダイレクティング用のＶＰＮデバイスと、
が定義されることを特徴とするコンピュータにて読出し可能なメモリ媒体。
【請求項１３】
更に、クラスタタイプを分類するクラスタタイプ指定子を備える請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【請求項１４】
更に、クラスタタイプをＶＰＮデバイスクラスタタイプとファイアウォールクラスタタイプとに分類するクラスタタイプ指定子を備える請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【請求項１５】
更に、トラフィックを、該第一の複数のＶＰＮユーザのあるユーザと該第二の複数のＶＰＮユーザのあるユーザとの間で、該クラスタ内に含まれる複数のＶＰＮデバイスから選択された一つのＶＰＮデバイスを介して、分配するためのトラフィックディストリビュータを備え、該ＶＰＮデバイスがパケット宛先ＩＰアドレスに基づいて選択される請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【請求項１６】
更に、単一のＭＡＣアドレスが該クラスタに割当てられる請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【請求項１７】
更に、一意なＭＡＣアドレスが複数のクラスタの各クラスタに割当てられる請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【請求項１８】
更に、該クラスタ内のＶＰＮデバイスの健全性を調べるための動作健全性プローブマネジャを備える請求項１２記載のコンピュータにて読出し可能なメモリ媒体。
【発明の詳細な説明】
【０００１】
発明の背景
発明の技術分野
本発明は一般的にはコンピュータ網、より詳細には仮想プライベート網に係る。
【０００２】
関連技術の記載
コンピュータネットワーキングは、データ及びソフトウェアをこれら資源に対する共通の関心を有するユーザ間で共有するための広く普及したアプローチであり、今後も着実な発展が期待される。事実上、全ての企業、政府、その他の組織は、少なくても幾つかのコンピュータを有し、これらコンピュータは、個々のワークステーションが一つ或いは複数の共通のプロセッサ或いはサーバ資源を共有できるようにネットワーク化されている。単一のビル或いは比較的小さな地理的エリア内では、網コンピュータは、なんらかの形態のローカルエリア網（ＬＡＮ）を通じて接続することができる。
【０００３】
コンピュータとコンピュータ網間でより広い地理的エリアに渡って遠隔的にアクセスできる能力に対する需要はますます増加している。幾つかの支店を有する会社にとっては、これら支店間でコンピュータ資源を共有する能力を有することは必須である。ますます多くの社員が自宅で仕事を行うようになっていることや、会社の事務所から出張して働く社員もいることなどから、これら社員が会社のコンピュータ網に簡便に、しかも、データのアクセス及び転送に対する安全性が確保されるようなやり方にてアクセスできるようにする必要性が存在する。ある会社が他の会社と提携することもあり、この場合も、少なくとも幾つかのコンピュータ資源を共有することが必要となる。このような遠く離れたコンピュータを従来のアプローチを用いてネットワーク化することは、費用がかかり、困難で、場合によっては、不可能でさえある。
【０００４】
遠く離れたコンピュータを相互接続する問題に対する一つの解決策は、遠隔コンピューティングサイトを扱うために自社のみで使用する電気通信回線を所有或いはリースするやり方である。ワイドエリア網（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ，ＷＡＮ）と呼ばれるこの技法は、回線をどの程度遠方までどの程度充実させて張るかによっては高価なものとなったり、或いは、これら電気通信回線は比較的使用が限られ、すなわち多くの容量が未使用となり、資源の浪費となることがある。加えて、ＷＡＮの確立、拡張、維持及び管理と関連して、かなりの組織上のオーバヘッドも存在する。
【０００５】
仮想プライベート網（ｖｉｒｔｕａｌ ｐｒｉｖａｔｅ ｎｅｔｗｏｒｋ，ＶＰＮ）の概念が分散型コンピュータをより安価にかつ効率的にネットワーキングすることに対する必要性を満たすために開発された。仮想プライベート網は、公衆電気通信インフラストラクチャを活用するプライベートデータ網であり、タネリングプロトコル（ｔｕｎｎｅｌｉｎｇ ｐｒｏｔｏｃｏｌ）及びセキュリティ手続き（ｓｅｃｕｒｉｔｙ ｐｒｏｃｅｄｕｒｅ）を使用することでプライバシーを維持する。ＶＰＮは、企業網を、遠方の事務所、家で仕事を行う社員、営業社員及びビジネスパートナへと延長する。ＶＰＮは、全世界的なＩＰネットワークサービスを、インターネットサービスプロバイダのバックボーンを含めて使用する。遠隔ユーザは、長距離料金にてダイヤリングする代りに、ローカルインターネット呼を掛けることができる。代替として、他のタイプの公衆網接続、例えば、フレームリレー（ｆｒａｍｅ ｒｅｌａｙ）を用いることもできる。
【０００６】
ＶＰＮシステムにとって重要な事項の一つは、データ或いはアプリケーションが許可されたユーザ間でのみ渡されるようなやり方にて公衆電気通信回線を「くぐり抜ける（ｔｕｎｎｅｌ）」ことができる能力である。トンネル（ｔｕｎｎｅｌｓ）は、仮想ポイント・ツウ・ポイント接続（ｖｉｒｔｕａｌ ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ ｃｏｎｎｅｃｔｉｏｎｓ）であり、トンネルのエンドポイント間に認証、暗号化、及びアクセス制御を提供する。トンネルは、様々なプロトコル層内に設けることができる。これは、「カプセル化（ｅｎｃａｐｓｕｌａｔｉｏｎ）」、「タネリング（ｔｕｎｎｅｌｉｎｇ）」或いは「ＩＰタネリング（ＩＰ Ｔｕｎｎｅｌｉｎｇ）」とも呼ばれ、あるタイプのデータパケットを、通常はＴＣＰ／ＩＰとされる、別のプロトコルのパケット内に包み込む。ＶＰＮタネリングでは、カプセル化の前に、データが部外者には読めないようにパケットが暗号化される。カプセル化されたパケットは、インターネットを通じてそれらの意図される宛先へと送られ、宛先において分離（開封）され、元のフォーマットに戻される。認証技術（ａｕｔｈｅｎｔｉｃａｔｉｏｎ ｔｅｃｈｎｏｌｏｇｙ）が、クライアントがサーバと接触する許可を有するか否かを確認するために採用される。
【０００７】
ＶＰＮは、ハードウェアに基づくことも、ソフトウェアに基づくこともできる。ハードウェアに基づくシステムは、暗号化／復号及び認証などの必要とされるＶＰＮ機能を遂行する任意の数の、市販の或いは著作権を有する、ＶＰＮソフトウェアパッケージをランする専用のプロセッサから構成される。ハードウェアに基づくシステムは、特に、大きな企業に適する。これは、専用のＶＰＮプロセッサを用いることで、より厳重なセキュリティを確保でき、より多量のトラフィックを扱うことができるためである。より大きなＶＰＮユーザでは、さらに多くのトラフィックをより大きな速度、スケーラビリティ、冗長性及び信頼性にて処理するために、複数のＶＰＮデバイスを採用することもできる。
【０００８】
発明の概要
本発明は、仮想プライベート網（ＶＰＮ）の一方側の二つ或いはそれ以上のＶＰＮデバイスを、その網サイトの許可されたサーバ或いはユーザに接続するためのＶＰＮ網フロースイッチ及びこのための方法に係る。類似のクラスタリング構成がＶＰＮの他方側にも提供される。クラスタ化されたデバイスは、単一のＩＰアドレスを共有し、ＩＰアドレスの翻訳は要求されず、双方向クラスタリングを提供する。クラスタリングユニットは、ＩＳＯ層２及び３において透明的に動作することで、ＶＰＮデバイスのプラットホーム間クラスタリング（ｃｒｏｓｓ−ｐｌａｔｆｏｒｍ ｃｌｕｓｔｅｒｉｎｇ）を可能にする。これは、ある単一のクラスタ内のＶＰＮデバイスとして、いずれの製造業者のハードウェア或いはソフトウェアも用いることができることを意味する。
【０００９】
このＶＰＮデバイスクラスタリングシステムは、典型的には、一点の故障に起因して発生する問題を避けるための冗長として、複数のクラスタリングユニットを備える。例えば、２つのクラスタリングユニットが、作動・待機高アベイラビリティ構成（ａｃｔｉｖｅ−ｐａｓｓｉｖｅ ｈｉｇｈ−ａｖａｉｌａｂｉｌｉｔｙ ｃｏｎｆｉｇｕｒａｔｉｏｎ）として用いられる。
【００１０】
このクラスタリングシステムは、出データパケットに関して、これらが送信ＶＰＮデバイスに送られる前に動作する。同様に、このクラスタリングシステムは、入りデータパケットに関して、ＶＰＮデバイスによる処理の後に動作する。こうして、このＶＰＮデバイスクラスタリングシステムは、ＶＰＮハードウェア及びソフトウェアとは独立なやり方にて動作する。このため、このクラスタリングシステムは、あらゆるＶＰＮハードウェア或いはソフトウェア構成と共に、ＶＰＮ認証、セキュリティ、或いは「タネリング（ｔｕｎｎｅｌｉｎｇ）」機能に影響を及ぼすことなく動作できる。
【００１１】
幾つかの実施例においては、ＶＰＮ網フロースイッチは、パケットのルーティングに加えて、負荷バランシング及びフォールトトレランス（ｆａｕｌｔ ｔｏｌｅｒａｎｃｅ）機能を遂行する。これら実施例においては、ＶＰＮ網フロースイッチのプロセッサは、定期的に負荷バランシングルーチンを遂行し、各ＶＰＮデバイスの相対作業負荷を決定する。ＶＰＮ網フロースイッチが、ＶＰＮデバイスのクラスタに向けられたパケットを受信すると、そのパケットは、作業負荷がＶＰＮデバイス間に等しく分配されるようなやり方にて、最適な作業負荷を有するＶＰＮデバイスに向けられる。加えて、あるＶＰＮデバイスの故障が検出されると、そのＶＰＮデバイスに向けられたパケットは、そのパケットのデータリンク層（ＭＡＣ）宛先アドレスを書き換えることで、別のＶＰＮデバイスに再ルーティングされる。このＶＰＮ網フロースイッチは、ＶＰＮデバイスの状態を絶えず監視しているために、あるＶＰＮデバイスが不能となった場合でも、ポイント・ツウ・ポイント通信に大きな時間遅延は導入されない。
【００１２】
クラスタのＩＰヘッダは修正されないために、本発明のＶＰＮ網フロースイッチは、どのようなＶＰＮプロトコルに従って符号化されたパケットに関しても動作できる。加えて、このＶＰＮ網フロースイッチは、暗号化されたパケットの再ルーティング、負荷バランシング及びフォールトトレランスを、ＶＰＮの両側のユーザには透明なやり方にて扱うことができる。
【００１３】
新規であると信じられる説明の実施例の特徴がより具体的にクレーム内に記載される。ただし、構造及び動作の方法の両方に係る本発明の幾つかの実施例は、以下の詳細な説明及び付録の図面を参照することで最も良く理解できるものである。
【００１４】
発明の詳細な説明
図１の略ブロック図は、二つ或いはそれ以上のＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６とＶＰＮデバイス２　１２８をインターネット１３０に、高‐アベイラビリティ、スケーラビリティ、及びトラフィック分配が完備されるような構成にて接続するＶＰＮデバイスクラスタリングシステム１００の一つの実施例を示す。詳細には示されないが、インターネット１３０の図１に詳細に示される構成要素の反対側にも類似の構成のＶＰＮデバイス、クラスタリングユニット、及びピア・ツウ・ピアデバイス１３２が配置される。この一例としてのＶＰＮデバイスクラスタリングシステム１００においては、網フローコントローラ１２０、すなわち、「ハイパフロー（ｈｙｐｅｒｆｌｏｗ）」は、網フローコントローラ１２０を制御するための専用ソフトウェアを実行するためのプロセッサ（図示せず）及びメモリ（図示せず）を備える。網フローコントローラ１２０は、二つ或いはそれ以上のＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６及びＶＰＮデバイス２　１２８を、インターネット１３０を通じてＶＰＮ「トンネル（ｔｕｎｎｅｌ）」の他端に接続するために、一つのＶＰＮデバイスクラスタ１２４に構成する。網フローコントローラ１２０は、更に、ＶＰＮトンネルの一方の側に位置する支店サーバ及び他のクライアントデバイス１１２、１１４、１１６、１１８を、ＶＰＮトンネルの他方の端に配置される類似のピアデバイスとの安全な通信が確保されるようなやり方にて一つのクラスタ１１０に構成する。
【００１５】
ＶＰＮデバイスクラスタリングシステム１００は、一点の故障に起因して発生する問題を回避がするための冗長として、例えば、作動フローコントローラ１２０及び待機フローコントローラ１２２として動作する複数のクラスタリングユニット１２０、１２２を備える。作動網フローコントローラ１２０と待機フローコントローラ１２２は、作動・待機高アベイラビリティ構成（ａｃｔｉｖｅ−ｐａｓｓｉｖｅ ｈｉｇｈ−ａｖａｉｌａｂｉｌｉｔｙ ｃｏｎｆｉｇｕｒａｔｉｏｎ）にて用いられる。
【００１６】
支店（或いはクライアント）Ａのクラスタ１１０から、インターネット１３０上の（１３２内に含まれる）支店（或いはクライアント）Ｂのクラスタデバイスに向けられる出トラフィックは、二つ或いはそれ以上のＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６とＶＰＮデバイス２　１２８の間に分配される。ＶＰＮデバイスクラスタリングシステム１００は、トラフィックをそのパケットの宛先クラスタＩＰアドレスに基づいて分配することで、全てのＩＰ−ベースのプロトコルをサポートする。各々の（クライアントＡ或いはクライアントＢの）クラスタ内の全てのＶＰＮデバイスに、単一のクラスタＩＰアドレスが割当てられる。
【００１７】
追加の帯域幅或いはより確実なフォールトトレランス（耐故障）を確保するために、クラスタ１２４に追加のＶＰＮデバイスをシームレスに追加することもできる。
網フローコントローラ１２０は、ＶＰＮデバイスクラスタを実現するために用いられるハードウェア及びソフトウェアとは独立に動作する。例えば、様々なＶＰＮデバイスが同一の接続性を有する限り、クラスタ１２４内にＶＰＮデバイスの様々な組合せを用いることができる。
【００１８】
ＶＰＮデバイスクラスタリングシステム１００は、作動網フローコントローラ１２０及び待機フローコントローラ１２２上で実行する複数の制御プロセスを備える。一つの制御プロセスは、ＶＰＮデバイスクラスタ１２４を形成或いは構成するＶＰＮデバイスクラスタクリエータ（ＶＰＮ ｄｅｖｉｃｅ ｃｌｕｓｔｅｒ ｃｒｅａｔｏｒ）である。
【００１９】
図２は、図１との関連で最も良く理解できるが、ＶＰＮデバイスクラスタクリエータのソフトウェアルーチン２００の動作を示す略流れ図である。ＶＰＮデバイスクラスタ１２４を形成するためには、クラスタＩＰ及びＶＰＮデバイス割当て動作（ｃｌｕｓｔｅｒ ＩＰ ａｎｄ ＶＰＮ ｄｅｖｉｃｅ ａｓｓｉｇｎｍｅｎｔ ｏｐｅｒａｔｉｏｎ）２１０において、管理者は、クラスタに論理インターネットプロトコルアドレス（ｌｏｇｉｃａｌ Ｉｎｔｅｒｎｅｔ ｐｒｏｔｏｃｏｌ ａｄｄｒｅｓｓ，ＩＰｖｐｎ）を割当て、ＶＰＮデバイスクラスタ１２４のメンバとなるべきＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６及びＶＰＮデバイス２　１２８を指定する。ＶＰＮデバイス健全性監視開始動作（ｂｅｇｉｎ ｍｏｎｉｔｏｒｉｎｇ ＶＰＮ ｄｅｖｉｃｅ ｈｅａｌｔｈ ｏｐｅｒａｔｉｏｎ）２１２において、網フローコントローラ１２０は、ＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６及びＶＰＮデバイス２　１２８の健全性の監視を、典型的には、ある指定されたポーリング間隔にて行われる健全性チェック動作を用いて開始する。ＶＰＮデバイスクラスタアドレス構成動作（ｃｏｎｆｉｇｕｒｅ ＶＰＮ ｄｅｖｉｃｅ ｃｌｕｓｔｅｒ ａｄｄｒｅｓｓ ｏｐｅｒａｔｉｏｎ）２１４において、クライアントＡのデバイス１１０上で論理クラスタアドレスＩＰｖｐｎが構成される。
【００２０】
ＡＲＰリクエストに対する応答動作（ｒｅｓｐｏｎｄ ｔｏ ＡＲＰ ｒｅｑｕｅｓｔ ｏｐｅｒａｔｉｏｎ）２１６において、網フローコントローラ１２０はクライアントＡのデバイスクラスタ１１０内のサーバからのアドレス解決プロトコル（Ａｄｄｒｅｓｓ Ｒｅｓｏｌｕｔｉｏｎ Ｐｒｏｔｏｃｏｌ，ＡＲＰ）リクエストに応答して、ＶＰＮデバイスクラスタ１２４と関連する媒体アクセスコントロール（Ｍｅｄｉａ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌ，ＭＡＣ）を識別する。ＭＡＣアドレスをＶＰＮデバイスクラスタ１２４と関連付けることで、クライアントＡのデバイス１１０が全ての出方向トラフィックを、インターネット１３０上の対応するＶＰＮデバイスクラスタに転送するために、ＶＰＮデバイスクラスタ１２４に送ることが確保される。
【００２１】
もう一つの制御プロセスは、インターネット１３０に向けられた出方向トラフィックを、ＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６及びＶＰＮデバイス２　１２８の間に分配するためのトラフィックディストリビュータである。図３は、図１との関連で最も良く理解できるが、トラフィックディストリビュータ３００の動作を示すの略流れ図である。トラフィックディストリビュータは、網フローコントローラ１２０から実行される。トラフィックディストリビュータ３００は、出トラフィックに対してＶＰＮデバイスを選択する動作（ｓｅｌｅｃｔ ＶＰＮ ｄｅｖｉｃｅ ｆｏｒ ｏｕｔｂｏｕｎｄ ｔｒａｆｆｉｃ ｏｐｅｒａｔｉｏｎ）３１０において、どのＶＰＮデバイスが出トラフィックを転送すべきかを、パケット宛先ＩＰアドレスに基づいて決定する。このパケット宛先ＩＰアドレスは、ＶＰＮ「トンネル（ｔｕｎｎｅｌ）」の受信端の対応するＶＰＮデバイスクラスタのクラスタＩＰアドレスであり得る。こうして宛先クラスタのＩＰアドレスを用いることで、ある特定のＶＰＮトンネル接続を指定するある与えられたフローに対して、同一のＶＰＮデバイスが、そのＶＰＮデバイスが動作を続けている限り、全ての出パケットに対して用いられることが確保される。フローが宛先クラスタＩＰアドレスに基づいて制御されるために、網フローコントローラ１２０による測定及び分析動作を低減することができる。これは、ＶＰＮデバイス上の負荷などのパラメータの測定が不要となるためである。こうして、ＶＰＮデバイスの負荷シェアリングは確率的或いは統計的に行われるが、この結果として負荷のバランスは若干悪くなる。この確率に基づく負荷管理は、ＶＰＮデバイスクラスタ１２４内の全てのＶＰＮデバイスが類似の転送能力を有することを想定する。
【００２２】
内部的には、作動中ＶＰＮデバイスのリストを維持する動作（ｍａｉｎｔａｉｎ ｌｉｓｔ ｏｆ ｏｐｅｒａｔｉｏｎａｌ ＶＰＮ ｄｅｖｉｃｅｓ ｏｐｅｒａｔｉｏｎ）３１２において、トラフィックディストリビュータ３００は、作動中のＶＰＮデバイスのリストを維持する。パケットからのフィールドを用いてこのリストへのインデックスが計算され、作動中のＶＰＮデバイスが識別される。適当なＶＰＮデバイスクラスタにトラフィックを分配する動作（ｄｉｓｔｒｉｂｕｔｅ ｔｒａｆｆｉｃ ｔｏ ａｐｐｒｏｐｒｉａｔｅ ＶＰＮ ｄｅｖｉｃｅ ｃｌｕｓｔｅｒ）３１４において、トラフィックが、クラスタに割当てられたＩＰアドレスに基づいて適当なピアＶＰＮクラスタに向けられる。
【００２３】
網フローコントローラ１２０は、トラフィックディストリビュータを識別するための特定のＭＡＣアドレスを有する。トラフィックディストリビュータは、置換の前はトラフィックディストリビュータのＭＡＣアドレスであったパケット宛先ＭＡＣアドレスを、そのフローを扱っているＶＰＮデバイスのＭＡＣアドレスと置換する。
【００２４】
各ＶＰＮデバイス、例えば、ＶＰＮデバイス１　１２６或いはＶＰＮデバイス２　１２８は、同一の確率にて出フローの転送のために割当てられる。これは、トラフィックディストリビュータは、ＶＰＮデバイス間の選択を行うために、パケットのＩＰヘッダ内の情報のみを用い、選択プロセスの部分としてＶＰＮデバイスの処理負荷或いは潜在的な処理能力は分析されないためである。
【００２５】
ＶＰＮデバイスクラスタ１２４は、網フローコントローラ１２０によってインターネット１３０から入来する入りトラフィックに対して遂行される処理には影響を与えない。任意のＶＰＮデバイスクラスタ１２４に向けられたトラフィックについては、変ることなく、ＶＰＮデバイスクラスタ１２４内に定義されるクライアントＡの作動中のサーバ及び他のデバイス間に分配される。入りトラフィックに対しては、最大でもたった一つのＶＰＮデバイスクラスタ１２４のみがサポートされる。
もう一つの制御プロセスは、ＶＰＮデバイスの「健全性（ｈｅａｌｔｈ）」を監視するためのＶＰＮデバイスモニタである。幾つかの実現においては、ＶＰＮデバイスクラスタリングシステム１００は、ＶＰＮデバイスの健全性を、所定のポーリング間隔及び健全性チェック方法を用いて監視する。健全性プローブは、ＶＰＮ間のフローの接続性を検証する。一つの実施例においては、網フローコントローラ１２０は、フローが正常に機能しているか確認するために、ＩＣＭＰエクステンションを用いて、定期的にピンパケット（Ｐｉｎｇ ｐａｃｋｅｔ）をＶＰＮデバイス１　１２６に送る。ＶＰＮデバイス１　１２６は、ＶＰＮデバイスと網フローコントローラ１２０の個々のポートの間には一対一の対応が存在するために、同一ポート上で応答する。
【００２６】
幾つかの実現においては、ＶＰＮデバイスクラスタリングシステム１００は、絶えず、ＶＰＮデバイス及び関連するワイドエリア網（ＷＡＮ）リンクの動作の健全性を監視する。
【００２７】
幾つかの実現においては、ＶＰＮデバイスクラスタリングシステム１００は、様々な故障状態の一つ或いは複数を検出する。故障は、ＶＰＮデバイスとＬＡＮインタフェース及びリンクとの間で発生することも、ＶＰＮデバイス自身内で、停電、ソフトウェア障害、ハードウェア障害その他の原因で発生することもある。故障は、更に、ＶＰＮデバイスとＷＡＮインタフェース及びリンクとの間で発生することもある。ＶＰＮデバイスクラスタリングシステム１００が故障を検出すると、トラフィックは自動的に残りの作動中のＶＰＮデバイスに転送される。ＶＰＮデバイスクラスタリングシステムは、故障したＶＰＮデバイスをバイパスするために、クライアントＡのサーバの所での手作業による介入は必要としない。
【００２８】
図４の略ブロック図及び関連する遷移テーブルは、ＶＰＮデバイスクラスタリングシステムによってＶＰＮデバイス４１４を使用するように指定されたクライアントＡのデバイス４１０とクライアントＢのデバイス（図示せず）との間でパケットを転送するための技法を示す。出トラフィック４１６は、トラフィックディストリビュータのＭＡＣアドレスを指定する宛先ＭＡＣアドレスを有するが、ただし、この宛先ＩＰアドレスは、トラフィックディストリビュータも、トラフィックディストリビュータによってサポートされるクラスタも指定しない。ＶＰＮデバイスクラスタのトラフィックは、宛先ＶＰＮクラスタのＩＰアドレス以外には一意な属性は有さず、このため、宛先ＩＰアドレスを指定することで、結果的に、現在のトラフィックディストリビュータは、単一のＶＰＮデバイスクラスタ４１８のみをサポートするように制限される。ＶＰＮデバイスクラスタリングシステム４００内には単一のＶＰＮデバイスクラスタ４１８しか含まれないが、ＶＰＮデバイスクラスタ４１８は、典型的には、ＶＰＮデバイス１　４１４及びＶＰＮデバイス２　４１５として示される複数のＶＰＮデバイスを備える。
【００２９】
単一のＶＰＮデバイスクラスタ４１８のみに制限することで、結果的にＶＰＮデバイスクラスタリングシステム４００は、ルーティング機能を遂行するための単一のクラスタのみを有することとなる。
【００３０】
ＶＰＮデバイスクラスタリングシステムの他の実現として、複数のＭＡＣアドレスをサポートし、追加のＶＰＮデバイスクラスタをサポートすることもできる。
ＶＰＮデバイスクラスタ４１８のクラスタＩＰアドレスはパケット内には現れない。これはＶＰＮデバイスクラスタ４１８が、実際のエンド宛先への経路上の唯一のゲートウェイであるためである。
【００３１】
網フローコントローラ４２０は、ＶＰＮプローブ法（ＡＲＰ　ｐｒｏｂｅ　ｍｅｔｈｏｄｓ）を用いて、ＶＰＮデバイスクラスタ４１８内のＶＰＮデバイスを監視する。網フローコントローラ４２０内で実行しているソフトウェアは、アドレス解決プロトコル（ＡＲＰ）を用いて、未使用のＩＰアドレスを探す。あるＶＰＮデバイスがＡＲＰプローブに応答した場合は、ソフトウェアは、次のＩＰアドレスを試みる。あるＡＲＰプローブからの応答が数回試みてもない場合は、ソフトウェアは、そのアドレスをそのＶＰＮデバイスのＩＰアドレスとして使用する。
【００３２】
図５の流れ図はトラフィック分配方法５００を示す。宛先ＩＰアドレスをチェックする動作（ｃｈｅｃｋ ｄｅｓｔｉｎａｔｉｏｎ ＩＰ ａｄｄｒｅｓｓ ｏｐｅｒａｔｉｏｎ）５１０において、トラフィックディストリビュータは、パケットの宛先ＩＰアドレスをチェックすることで、宛先ＩＰアドレスがクラスタアドレスであるか否か決定する。
【００３３】
宛先ＩＰアドレスをチェックする動作５１０において、宛先ＩＰアドレスがクラスタアドレスではないことが決定された場合は、次に、宛先ＭＡＣアドレスをテストする動作（ｔｅｓｔ ｄｅｓｔｉｎａｔｉｏｎ ＭＡＣ ａｄｄｒｅｓｓ ｏｐｅｒａｔｉｏｎ）５１２において、トラフィックディストリビュータは、宛先ＭＡＣアドレスがクラスタアドレスであるか否か決定する。宛先ＭＡＣアドレスはクラスタアドレスと、プロキシＡＲＰ（Ｐｒｏｘｙ ＡＲＰ）を用いて、接続されているＶＰＮデバイスに対して、構成されているＩＰアドレスのいずれかにパケットを送るときは網フローコントローラのＭＡＣアドレスを使用すべきことが示されたときは一致する。
【００３４】
宛先ＭＡＣアドレスをテストする動作５１２において、そのＭＡＣアドレスがクラスタアドレスではないことが決定された場合は、次に、ＶＰＮの健全性をテストする動作（ＶＰＮ ｈｅａｌｔｈ ｔｅｓｔ ｏｐｅｒａｔｉｏｎ）５１４において、トラフィックディストリビュータは、クラスタ内のＶＰＮデバイスに関して性能テストを遂行する。
【００３５】
第一の再ダイレクション動作（ｒｅｄｉｒｅｃｔｉｏｎ ｏｐｅｒａｔｉｏｎ）は、ＶＰＮデバイスのクラスタ識別子を設定する動作（ｓｅｔ ＶＰＮ ｄｅｖｉｃｅ ｃｌｕｓｔｅｒ ｉｄｅｎｔｉｆｉｅｒ ｏｐｅｒａｔｉｏｎ）５１６から成るが、この動作において、ＭＡＣアドレス或いは宛先ＩＰアドレスのいずれかの形態でのクラスタアドレスが、クラスタデータ構造を識別するために設定される。次に、バケットをチェックする動作（ｂｕｃｋｅｔ ｃｈｅｃｋ ｏｐｅｒａｔｉｏｎ）５１８は、クラスタデータ構造内に少なくとも１つのバケットが存在するか否かを決定する。存在しない場合は、バケットを作成する動作（ｃｒｅａｔｅ ｂｕｃｋｅｔ ｏｐｅｒａｔｉｏｎ）５２０において、１つのバケットが作成される。次に、負荷バランシング動作（ｌｏａｄ ｂａｌａｎｃｉｎｇ ｏｐｅｒａｔｉｏｎ）５２２において、負荷バランシングを達成できる適当なバケットが検索される。
【００３６】
フローテスト動作（ｆｌｏｗ ｔｅｓｔ ｏｐｅｒａｔｉｏｎ）５２４において、フローがバケットに割当てられているか否か決定され、割当てられてない場合は、フローを割当てる動作（ｆｌｏｗ ａｓｓｉｇｎｍｅｎｔ ｏｐｅｒａｔｉｏｎ）５２６を遂行することで、バケットがサーバに割当てられる。次に、トラフィックディストリビュータは、パケットを割当てられたＶＰＮデバイスクラスタメンバに転送する動作（ｆｏｒｗａｒｄ ｐａｃｋｅｔ ｔｏ ａｓｓｉｇｎｅｄ ＶＰＮ ｄｅｖｉｃｅ ｃｌｕｓｔｅｒ ｍｅｍｂｅｒ）５３２を、バケットを用いてクライアントＡからのデータリクエストをクライアントＢに転送することで実行する。
【００３７】
トラフィック分配及び負荷バランシングシステムの更なる詳細については、「Ｒｏｕｔｅｒ Ｃｌｕｓｔｅｒｉｎｇ ｆｏｒ Ｍｕｌｔｉｐｌｅ Ｎｅｔｗｏｒｋ Ｓｅｒｖｉｃｅ（マルチネットワークサービスに対するルータクラスタリング）」なる名称の同時係属出願第０９／５４０，２９６号において開示及び請求されているのでこれを参照されたい。
【００３８】
本発明が様々な実施例との関連で説明されたが、これら実施例は単に例示に過ぎず、本発明の範囲はこれらに制限されない。ここに説明された実施例に対する多くの変形、修正、追加及び改善が可能である。例えば、当業者においてはここに開示された構造及び方法を達成するために必要とされる様々な措置（ステップ）を容易に講ずることができるものである。加えて、説明のプロセスパラメータ、材料、及び寸法も単に一例として与えられたものであり、これらを変更しても所望の構造並びに修正物を容易に達成でき、これらも本発明の範囲に入るものと解される。上の詳細な説明からここに開示された実施例の様々な変形及び修正が明白であり、これらもクレームに記述される本発明の精神及び範囲から逸脱するものではない。
クレーム中、特に改めて記載されてない限り、不定冠詞「ａ」は「一つを指すことも複数を指すことも」ある。
【図面の簡単な説明】
【図１】
仮想プライベート網の一方の二つ或いはそれ以上のＶＰＮデバイスを、仮想プライベート網の他方の類似のＶＰＮデバイスクラスタリングシステムに接続するためのＶＰＮデバイスクラスタリングシステムの一つの実施例を示す略ブロック図である。
【図２】
ＶＰＮデバイスクラスタクリエータの動作を示す略流れ図である。
【図３】
トラフィックディストリビュータの動作を示す略流れ図である。
【図４】
ＶＰＮデバイスクラスタリングシステムを用いて２人の許可されたユーザ間でパケットを転送するための技法を示す略ブロック図及び関連する遷移テーブルである。
【図５】
トラフィック分配方法の更なる実現を示す流れ図である。
【符号の説明】
１００　ＶＰＮデバイスクラスタリングシステム
１２０　作動中網フローコントローラ
１２２　待機中網フローコントローラ
１１２、１１４、１１６、１１８　支店サーバ及び他のクライアントデバイス
１２６　ＶＰＮデバイス１
１２８　ＶＰＮデバイス２
１３０　インターネット
１３２　ピア・ツウ・ピアデバイス
【図１】
2004507169.tif 000003
【図２】
2004507169.tif 000004
【図３】
2004507169.tif 000005
【図４】
2004507169.tif 000006
【図５】
2004507169.tif 000007
【国際公開パンフレット】
2004507169.tif 000008
2004507169.tif 000009
2004507169.tif 000010
2004507169.tif 000011
2004507169.tif 000012
2004507169.tif 000013
2004507169.tif 000014
2004507169.tif 000015
2004507169.tif 000016
2004507169.tif 000017
2004507169.tif 000018
2004507169.tif 000019
2004507169.tif 000020
2004507169.tif 000021
2004507169.tif 000022
2004507169.tif 000023
2004507169.tif 000024
2004507169.tif 000025
【国際公開パンフレット（コレクトバージョン）】
2004507169.tif 000026
2004507169.tif 000027
【国際調査報告】
2004507169.tif 000028
2004507169.tif 000029