(57)【要約】【課題】高付加価値な機能を有するネットワークを実現すること。【解決手段】アンダーレイネットワーク上にソフトウェアにより構築され、少なくとも１つのノードを経由して通信を行なう仮想ネットワークにおいて、各ノードの、他ノードと接続するための予め定められたポートＰそれぞれに、予め定められた閾値を有するカウンタを持つカウンタテーブル３２を設け、予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する。【選択図】図１
2010103633.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのノードを経由して通信を行なうネットワークに適用される通信制御方法であって、
各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、
各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、前記カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する
ことを特徴とする通信制御方法。
【請求項２】
アンダーレイネットワーク上にソフトウェアにより構築され、少なくとも１つのノードを経由して通信を行なう仮想ネットワークに適用される通信制御方法であって、
各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、
各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、前記カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する
ことを特徴とする通信制御方法。
【請求項３】
各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、前記カウンタの値が予め定められた時間内に前記閾値に達した場合に、前記予め定められたアクションを実行する
ことを特徴とする通信制御方法。
【請求項４】
前記予め定められたトリガは、予め定められたデータを送信した場合、或いは、予め定められたデータを受信した場合に発生するものであることを特徴とする請求項１又は２に記載の通信制御方法。
【請求項５】
前記予め定められたデータは、１）仮想ネットワークを制御するための特定の仮想ネットワーク制御情報を有するデータ、２）特定のヘッダ情報を有するデータ、３）特定のペイロード情報を有するデータ、及び、４）特定のポート間で送受信されるデータ、のうちの少なくとも１つに該当するものであることを特徴とする請求項２に記載の通信制御方法。
【請求項６】
前記予め定められたポートを指定するに際し、１）デフォルトで全ポートを指定する全ポート設定、２）初期化時にポートを指定する静的設定、及び、３）管理者又はシグナリングプロトコルにより運用中にポートを指定する動的設定、のうちの少なくとも１つを行なうことを特徴とする請求項１又は２に記載の通信制御方法。
【請求項７】
前記予め定められたアクションは、１）カウンタの値の増加又は減少の停止又は開始、或いはリセット、２）特定データの送信又は受信の停止又は開始、３）該当ポートでの送信又は受信の停止又は開始、或いは送受信に関わるパラメータ、接続先の変更、４）ノードの移動、分割、統合、のうちの少なくとも１つに該当するものであることを特徴とする請求項１又は２に記載の通信制御方法。
【請求項８】
前記カウンタを、グループ化された複数ポート群で共有することを特徴とする請求項１又は２に記載の通信制御方法。
【請求項９】
前記カウンタは、１）該カウンタを予め定められた値だけ増減させた結果、予め定められた閾値に達した後、さらなるイベントが発生した場合に、増減を継続するもの、２）該カウンタを予め定められた値だけ増加させた結果、予め定められた閾値に達した後、以後の増加を停止し、その後、該カウンタを予め定められた値だけ減少させた結果、予め定められた閾値を再び下回った場合、以後の増加を再開するもの、３）該カウンタを予め定められた値だけ減少させた結果、予め定められた閾値に達した後、以後の減少を停止し、その後、該カウンタを予め定められた値だけ増加させた結果、予め定められた閾値を再び上回った場合、以後の減少を再開するもの、のうちの少なくとも１つに該当するものであることを特徴とする請求項１又は２に記載の通信制御方法。
【請求項１０】
前記予め定められたデータに対し、一部をワイルドカード指定し、送受信したデータが予め定められた部分にマッチした場合に、ワイルドカード指定した部分を実際に送受信したデータの該当部分の値で置き換え、新たな予め定められたデータとして保持し、以後の処理に使用することを特徴とする請求項５に記載の通信制御方法。
【請求項１１】
ネットワークにおいて通信の中継を行なうノードとしての通信装置であって、
他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、
前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段と
を具備することを特徴とする通信装置。
【請求項１２】
アンダーレイネットワーク上にソフトウェアにより構築される仮想ネットワークにおいて仮想ハブにより通信の中継を行なうノードとしての通信装置であって、
他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、
前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段と
を具備することを特徴とする通信装置。
【請求項１３】
アンダーレイネットワーク上にソフトウェアにより構築され、少なくとも１つの中継ノードを経由してクライアントが少なくとも１つのサーバと通信を行なう仮想ネットワークの通信システムであって、
各サーバは、単一の識別子で識別され、前記クライアントに対して同じサービスを提供し、前記識別子で特定される、自身が提供するサービスに対する要求を前記クライアントから受信すると、サービスに必要な処理を行ない、前記クライアントへ応答を返す手段を備え、
前記クライアントは、前記サービスを享受する場合、前記識別子を宛先とした要求を送信し、いずれかのサーバから要求に対する応答を受信する手段を備え、
前記中継ノードは、全ての仮想ポートがカウンタを有し、このカウンタは、初期値として１を持ち、上閾値として１を、下閾値として０を持つものであり、１）前記クライアントから前記識別子を宛先に持つ要求を受信すると、該カウンタの値を１だけ増加させ、２）前記要求に対するサーバからの前記クライアントへの応答を送信すると、該カウンタの値を１だけ減少させ、３）該カウンタの値が上閾値に達している場合は、以後、該カウンタの値は増加させず、４）該カウンタの値が下閾値に達している場合は、以後、該カウンタの値は減少させないように制御する手段と、該カウンタが下閾値に達した場合、カウンタが下閾値である限り、その仮想ポートからは同じ応答は送信しないように制御する手段とを備えたものであることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントが中継ノードを介して通信を行うネットワークに適用される通信制御方法、通信装置、および通信システムに関する。
【背景技術】
【０００２】
アンダーレイネットワーク上に構築される主なオーバレイネットワーク（以後、「仮想ネットワーク」とも称する）としては、イーサネット（登録商標）に基づく仮想イーサネットが知られている。仮想イーサネットは、例えば以下のようにして形成する。
【０００３】
・ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア（以後、「仮想ハブ」と称する）を動作させる（以後、仮想ハブを動作させる計算機を「サーバ」或いは「中継装置」と称する）。
【０００４】
・仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース（以後、「仮想ネットワークインタフェース」と称する）を介して、仮想ハブに接続する（以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する）。
【０００５】
・仮想ハブ−仮想ネットワークインタフェース間の接続（すなわち、サーバ−クライアント間の接続）、或いは、仮想ハブ−仮想ハブ間の接続（すなわち、サーバ−サーバ間の接続）には、例えば、現在、広く使用されているＴＣＰ／ＩＰ等のアンダーレイネットワークを用いる。
【０００６】
・仮想ハブでのスイッチング処理（送信ポート決定処理）は、受信したイーサネットフレームの宛先ＭＡＣアドレスを元に行なう。
【０００７】
このような仮想イーサネットの一般的な構成を図３８に示す。
【０００８】
例えばＴＣＰ／ＩＰネットワークであるアンダーレイネットワーク１５０は、オーバレイネットワークである仮想イーサネット１５４を構築する基盤となる物理ネットワークである。アンダーレイネットワーク１５０は、ファイアウォール１５６、ルータ１５７、リンク層の通信装置（イーサネットならばハブやスイッチングハブ）により構成される。ルータ１５７は、ＴＣＰ／ＩＰネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール１５６は、内部ネットワーク１６０と外部ネットワーク１６１との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
【０００９】
クライアント１５３は、仮想イーサネット１５４を構成する仮想ハブ１５１に接続する計算機であり、仮想ネットワークインタフェース１５２を介して仮想ハブ１５１に接続する。仮想ハブ１５１は、このように複数のクライアント１５３とのコネクションを保持する中継ノードとして機能する。サーバ１５５は、このような仮想ハブ１５１を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ１５５と、ネットワーク仮想化装置によって制御される端末であるクライアント１５３とを合わせてネットワーク仮想化システムと称する。仮想イーサネット１５４は、一つ又は複数の仮想ハブ１５１に、それぞれ仮想ネットワークインタフェース１５２を持った複数のクライアント１５３が接続することにより構築される。
【特許文献１】特開２００８−０４２６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記従来技術のネットワーク、例えば仮想イーサネットは、物理的なイーサネットのインフラをソフトウェアによるエミュレートで置き換えたものであり、イーサネットセグメント構築の柔軟性において、以下のようなメリットがある。
【００１１】
・物理的、地理的制約を受けない
・目的別、組織別のセグメントの構築が容易
・オンデマンドでイーサネットセグメントを構築、廃棄できる
しかしながら、仮想イーサネットは、あくまで、イーサネットのエミュレーションであり、効率的なＣＤＮ（Content Delivery Network）、ネットワーク上でのリソース検索、或いは、負荷分散、冗長経路による高信頼化、などのより高付加価値な機能は有していない。
【００１２】
仮想イーサネットに限らず、上述したようなより高付加価値な機能を有するネットワークの実現が望まれる。
【００１３】
本発明は上記実情に鑑みてなされたものであり、高付加価値な機能を有するネットワークを実現する通信制御方法、通信装置、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様による通信制御方法は、少なくとも１つのノードを経由して通信を行なうネットワークに適用される通信制御方法であって、各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、高付加価値な機能を有するネットワークを実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施形態について説明する。各実施形態では、仮想イーサネットを例に挙げる。
【００１７】
＜第１の実施形態＞
まず、本発明の第１の実施形態について説明する。この第１の実施形態では、後述する第２〜第６の実施形態にも共通する基本概念について述べる。
【００１８】
図１は、本発明の第１の実施形態に係る仮想ネットワークノードの基本構成の一例を示す図である。なお、この図１は、後述する第２〜第６の実施形態にも適用されるものである。
【００１９】
図１は、仮想イーサネットにおける仮想ハブを想定したものであるが、図中の仮想イーサネットスイッチングモジュールを上位プロトコル、例えば、イーサネット層、ＴＣＰ／ＩＰ層と考えると、仮想ネットワークインタフェースを想定したものと考えることが出来るので、本実施形態は、仮想イーサネットにおける仮想ハブ、仮想ネットワークインタフェース双方に適用可能なものである。
【００２０】
以後、仮想ハブ及び仮想ネットワークインタフェースを特に区別しない場合は、これらを単に仮想ネットワークノードと呼ぶ。
【００２１】
図１に示される仮想ハブＨは、管理者又はシグナリングプロトコル１０からの指示を受けるポリシー制御モジュール１１、ポリシーテーブル１２、ノード制御モジュール１３、ＭＡＣアドレステーブル２０、仮想イーサネットスイッチングモジュール２１、及び、複数の仮想ポートＰを有する。各仮想ポートは、仮想ポート制御モジュール３１、カウンタテーブル３２、フィルタモジュール３３、フィルタテーブル３４、及び、アンダーレイネットワーク３５を有する。
【００２２】
以下では、これら各種のモジュール群及びテーブル群について説明する。
【００２３】
・ポリシー制御モジュール１１
ポリシー制御モジュール１１は、ポリシーテーブル１２のメンテナンス、及び、ノードが取るべきアクションの実行制御等を行ない、具体的には、以下の処理を行なう。
【００２４】
- 管理者又はシグナリングプロトコル１０からの指示によるポリシーテーブル１２の設定、及び、仮想ポート制御モジュール３１へのカウンタテーブルエントリ設定指示の送信
- 仮想ポート制御モジュール３１からのイベントの通知をトリガとした、仮想ポート制御モジュール３１、或いは、ノード制御モジュール１３へのアクション実行の指示送信
・ポリシーテーブル１２
ポリシーテーブル１２のフォーマットを図２に示す。ポリシーテーブル１２は、図２に示されるように、以下の項目を有する。
【００２５】
(1) 仮想ポート番号
仮想ポートＰと本テーブルのエントリをバインドするものである。
【００２６】
(2) イベント番号
上記番号で指定される仮想ポートＰの仮想ポート制御モジュール３１が保持するカウンタテーブル３２のエントリと、本テーブルのエントリをバインドするためのものである。
【００２７】
(3) アクション
仮想ポート制御モジュール３１に指示する内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
【００２８】
・ノード制御モジュール１３
ノード制御モジュール１３は、ポリシー制御モジュール１１からの指示により、自ノードの移動、分割、統合等の制御を行なう。なお、ここでは詳細な説明を割愛する。詳細については、例えば特開２００８−０４２６６５号公報に、仮想ハブ制御モジュールとして詳しく説明されている。
【００２９】
・仮想イーサネットスイッチングモジュール２１
仮想イーサネットスイッチングモジュール２１は、イーサネットスイッチング処理をエミュレートする部分であり、ＭＡＣアドレステーブル２０に基づき、仮想ポート間のデータ（イーサネットフレーム）のスイッチングを行なう。なお、ここでの処理は、一般的なものであることから、ここではその詳細な説明を割愛する。
【００３０】
・仮想ポートＰ
仮想ポートＰは、他ノードとの仮想的な通信リンクの端点であり、仮想ハブの場合は仮想イーサネットスイッチングモジュール２１との、仮想ネットワークインタフェースの場合は上位プロトコルとのインタフェースを持ち、これらから受け取ったデータをアンダーレイネットワーク３５を使用して他ノードへ送出し、他ノードからアンダーレイネットワーク３５を使用して受け取ったデータをこれらへ渡す。
【００３１】
上記仮想ポートＰは、以下のサブモジュール、及び、テーブルを持つ。
【００３２】
- 仮想ポート制御モジュール３１
仮想ポート制御モジュール３１は、以下の処理を行なう。
【００３３】
* ポリシー制御モジュール１１からの指示によるカウンタテーブル３２の設定、及び、フィルタモジュール３３へのフィルタテーブルエントリ設定指示の送信
* フィルタモジュール３３からのフィルタにヒットした旨の通知をトリガとしたカウンタの増減、及び、カウンタ値が閾値に達した場合のポリシー制御モジュール１１へのイベント発生の通知
* ポリシー制御モジュール１１からの指示による仮想ポートＰへのアクションの実行
- カウンタテーブル３２
カウンタテーブル３２のフォーマットを図３に示す。カウンタテーブル３２は、図３に示されるように、以下の項目を有する。
【００３４】
(1) イベント番号
ポリシー制御モジュール１１が保持するポリシーテーブル１２のエントリと、本テーブルのエントリをバインドするためのものである。
【００３５】
ポリシー制御モジュール１１がアサインし、カウンタテーブル設定時、仮想ポート制御モジュール３１に通知される。
【００３６】
(2) フィルタ番号
フィルタモジュール３３が保持するフィルタテーブル３４のエントリと、本テーブルのエントリをバインドするためのものである。
【００３７】
仮想ポート制御モジュール３１がアサインし、フィルタモジュール３３に、フィルタエントリ作成時に通知する。
【００３８】
(3) カウンタ
送受信されるデータが、フィルタモジュール３３が保持するフィルタエントリにヒットした場合に増減される。
【００３９】
ポリシー制御モジュール１１の指示により、初期値が設定される。
【００４０】
(4) カウンタ閾値
上記カウンタの上閾値、或いは、下閾値であり、カウンタ値がこれらに到達した場合に、イベント発生となる。
【００４１】
ポリシー制御モジュール１１の指示により、初期値が設定される。
【００４２】
(5) カウンタ増減値
上記カウンタが増減される時の増減値である。
【００４３】
ポリシー制御モジュール１１の指示により、初期値が設定される。
【００４４】
- フィルタモジュール３３
フィルタモジュール３３は、仮想ポート制御モジュール３１からの指示によりフィルタテーブル３４にフィルタエントリを作成し、保持する。送受信データがフィルタエントリにヒットした場合、その旨を仮想ポート制御モジュール３１に通知する。
【００４５】
- フィルタテーブル３４
フィルタテーブル３４のフォーマットを図４に示す。フィルタテーブル３４は、図４に示されるように、以下の項目を有する。
【００４６】
(1) フィルタ番号
仮想ポート制御モジュール３１が保持するカウンタテーブル３２のエントリと、本テーブルのエントリをバインドするためのものである。
【００４７】
仮想ポート制御モジュール３１がアサインし、フィルタエントリ作成時に通知される。
【００４８】
(2) フィルタパターン
フィルタエントリのフィルタパターンについては、ネットワーク処理で使用される一般的なものと同等のものを想定しているため、ここでは詳細は割愛するが、必要に応じて、以降の実施形態の中で詳述する。
【００４９】
(3) 方向
送信、或いは、受信を示す。
【００５０】
(4) アクション
ポリシー制御モジュール１１から、仮想ポート制御モジュール３１経由で指示される内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
【００５１】
- アンダーレイネットワーク３５
他ノードとの通信を実際に行なうプロトコルである。
【００５２】
図５に、図１中に示される各種のモジュール群による一般的な処理フローを示す。
【００５３】
ここでは、一例として、複数の仮想ポートＰのうちのある仮想ポート２にて、送信元ＭＡＣアドレスがＭＡＣ−Ａ、宛先ＭＡＣアドレスがブロードキャストアドレスであるイーサネットフレームを受信した後、同仮想ポートにて、宛先ＭＡＣアドレスがＭＡＣ−Ａであるイーサネットフレームが一度だけ送信される、といった処理を題材に、上記モジュール群（間）の処理詳細を以下に説明する。
【００５４】
なお、ポリシーテーブル１２、及び、それに伴うカウンタテーブル３２、フィルタテーブル３４の初期設定は、管理者又はシグナリングプロトコル１０からの指示がトリガとなり行なわれるものであるが、これらの処理は本実施形態の主旨ではないため、詳細は割愛する。
【００５５】
１．仮想ネットワークノードのポリシー制御モジュール１１は、管理者又はシグナリングプロトコル１０から、上記指示を受信すると（ステップＳ１）、以下の処理を行なう。
【００５６】
(a) ポリシーテーブル１２を図６に示すように設定する（ステップＳ２）。
【００５７】
(b) 仮想ポート２の仮想ポート制御モジュール３１に、カウンタテーブル設定要求を送信する（ステップＳ３）。具体的内容は以下の通りである。
【００５８】
・カウンタタイプ：増減停止タイプ（上閾値に到達した場合、再びその閾値を下回るまで、それ以後の増加を停止、或いは、下閾値に到達した場合、再びその閾値を上回るまで、それ以後の減少を停止するタイプのカウンタ）
・カウンタ初期値：１
・イベント番号：１００、上閾値：１、増加値：１、フィルタパターン：送信元ＭＡＣアドレスＭＡＣ−Ａ、宛先ＭＡＣアドレスブロードキャスト、方向：受信
・イベント番号：１０１、下閾値：０、減少値：１、フィルタパターン：宛先ＭＡＣアドレスＭＡＣ−Ａ、方向：送信
２．仮想ポート２の仮想ポート制御モジュール３１は、ポリシー制御モジュール１１から上記カウンタテーブル設定要求を受信すると、以下の処理を行なう。
【００５９】
(a) カウンタテーブル３２を図７に示すように設定する（ステップＳ４）。
【００６０】
(b) フィルタモジュール３３に、フィルタ設定要求を送信する（ステップＳ５）。具体的内容は以下の通りである。
【００６１】
・フィルタ番号：１０、フィルタパターン：送信元ＭＡＣアドレスＭＡＣ−Ａ、宛先ＭＡＣアドレスブロードキャスト、方向：受信、アクション：ＮＵＬＬ
・フィルタ番号：１１、フィルタパターン：宛先ＭＡＣアドレスＭＡＣ−Ａ、方向：送信、アクション：ＮＵＬＬ
なお、アクション“ＮＵＬＬ”とは、仮想ポートのデフォルトの動作を表す。通常は送受信データともに“ＰＡＳＳ”、すなわち、送受信することを意味する（以降、同様）。
【００６２】
３．仮想ポート２のフィルタモジュール３３は、仮想ポート制御モジュール３１から上記フィルタ設定要求を受信すると、以下の処理を行なう。
【００６３】
(a) フィルタテーブル３４を図８に示すように設定する（ステップＳ６）。
【００６４】
４．上記状態で、該当仮想ネットワークノードが、仮想ポート２から、送信元ＭＡＣアドレスがＭＡＣ−Ａ、宛先ＭＡＣアドレスがブロードキャストアドレスのイーサネットフレームを受信したとする（ステップＳ７）。
【００６５】
５．仮想ポート２のフィルタモジュール３３は、上記イーサネットフレームを受信すると、以下の処理を行なう。
【００６６】
(a) フィルタ番号１０のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール３１に送信する（ステップＳ８）。具体的内容は以下の通りである。
【００６７】
・フィルタ番号：１０
６．仮想ポート２の仮想ポート制御モジュール３１は、フィルタモジュール３３から上記フィルタヒット通知を受信すると、以下の処理を行なう。
【００６８】
(a) カウンタテーブル３２を検索し、フィルタ番号１０のエントリが存在するが、増減停止タイプのカウンタなので、カウンタは増加させない（ステップＳ９）。
【００６９】
(b) その結果、カウンタ値に変化が無いため、イベントは発生しない。
【００７０】
７．次に、該当仮想ネットワークノードが、仮想ポート２へ、宛先ＭＡＣアドレスがＭＡＣ−Ａのイーサネットフレームを送信したとする。
【００７１】
８．仮想ポート２のフィルタモジュール３３は、上記イーサネットフレームを送信すると、以下の処理を行なう。
【００７２】
(a) フィルタ番号１１のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール３１に送信する（ステップＳ８）。具体的内容は以下の通り。
【００７３】
・フィルタ番号：１１
９．仮想ポート２の仮想ポート制御モジュール３１は、フィルタモジュール３３から上記フィルタヒット通知を受信すると、以下の処理を行なう。
【００７４】
(a) カウンタテーブル３２を検索し、フィルタ番号１１のエントリが存在するので、カウンタを１だけ減少させる（ステップＳ９）。
【００７５】
(b) その結果、カウンタ値が下閾値に達したため、ポリシー制御モジュール１１にイベント通知を送信する（ステップＳ１０）。具体的内容は以下の通りである。
【００７６】
・仮想ポート番号：２
・イベント番号：１０１
１０．ポリシー制御モジュール１１は、仮想ポート２の仮想ポート制御モジュール３１から上記イベント通知を受信すると、以下の処理を行なう。
【００７７】
(a) ポリシーテーブル１２を検索し（ステップＳ１１）、仮想ポート番号２、イベント番号１０１のエントリがあるので、仮想ポート２の仮想ポート制御モジュール３１にアクション要求を送信する（ステップＳ１２）。具体的内容は以下の通りである。
【００７８】
・仮想ポート番号：２
・イベント番号：１０１
・フィルタ番号：１１
・アクション：ＤＲＯＰ（イーサネットフレーム廃棄）
１１．仮想ポート２の仮想ポート制御モジュール３１は、ポリシー制御モジュール１１から上記アクション要求を受信すると、以下の処理を行なう。
【００７９】
(a) カウンタテーブル３２を検索し、イベント番号１０１、フィルタ番号１１のエントリが存在するので、フィルタモジュール３３にフィルタ設定要求を送信する。具体的内容は以下の通りである。
【００８０】
・フィルタ番号：１１、フィルタパターン：変更無し、方向：変更無し、アクション：ＤＲＯＰ（イーサネットフレーム廃棄）
１２．以後、仮想ポート２では、再度送信元ＭＡＣアドレスがＭＡＣ−Ａ、宛先ＭＡＣアドレスがブロードキャストのイーサネットフレームを受信しない限り、宛先ＭＡＣアドレスがＭＡＣ−Ａのイーサネットフレームは送信されないようになる。
【００８１】
１３．その後、仮想ポート２で再度送信元ＭＡＣアドレスがＭＡＣ−Ａ、宛先ＭＡＣアドレスがブロードキャストのイーサネットフレームを受信すると、カウンタテーブル３２の該当カウンタが１だけ増加され、その結果、イベント番号１００のイベントが発生し、更に、その結果、それに対応するアクション（フィルタ１１：ＰＡＳＳ（イーサネットフレーム通過））が仮想ポート２に対して実行される。
【００８２】
１４．上記の結果、仮想ポート２は、処理６が終了した場合と同様の状態、つまり、宛先ＭＡＣアドレスがＭＡＣ−Ａのイーサネットフレームを一度だけ送信することが可能な状態となる。
【００８３】
この第１の実施形態によれば、値の増加だけでなく減少を行ったり、閾値による増加や減少の停止を行うカウンタを利用することにより、簡単な仕組みにより、高付加価値なネットワークの実現が可能となる。
【００８４】
以下の各実施形態では、複数ノードによる、より具体的な利用シーンについて述べる。
【００８５】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。この第２の実施形態では、前述の第１の実施形態で示した基本概念を、エニーキャストのエミュレートを行うシーンに適用した場合の例について説明する。
【００８６】
エニーキャストとは、同一のサービスを提供する複数のサーバが単一のアドレスを持ち、クライアントはそのアドレスに対してアクセスするだけで所望のサービスを享受することができる一方、実際にどのサーバにアクセスしているかは知る必要が無い、というものである。
【００８７】
なお、ＩＰネットワークの世界では、ＤＮＳサーバの複数配置などにエニーキャストが使用されているが、そこでは、特定の経路ドメインに属すクライアントは特定のＤＮＳサーバにアクセスするように、ＩＰ経路制御のフレームワークによりエニーキャストアドレスと実際にクライアントによりアクセスされるサーバとのマッピングが制御されている。
【００８８】
一方、本実施形態では、エニーキャストを実現するために、以下のようなフレームワークを提供するものである。
【００８９】
・クライアントからのサービス要求（エニーキャストアドレス宛パケット）は、全てのサーバに送信される。
【００９０】
・サービス要求を受信したサーバ全てが、該当クライアント宛にサービス応答を送信する。
【００９１】
・ネットワークを構成する各仮想ハブが、上記要求、応答を送受信する仮想ポートのカウンタを操作することにより、一旦応答が送信された仮想ポートに対しては、同じ要求に対する応答の送信を抑制する。
【００９２】
上記フレームワークにより、ＩＰ経路制御のような複雑な仕組みを用いること無しに、サーバ群からの全ての応答がクライアントにより受信されること、及び、それに至るノード群により転送されることを回避することで、ネットワークのリソースを浪費せずにエニーキャストを実現することができる。
【００９３】
図９に、本実施形態に係る通信システムの構成の一例を示す。
【００９４】
本実施形態に係る通信システムは、１つのクライアントと複数のサーバ０〜５とが仮想ハブ０〜７を介して接続されたネットワークを構成しているものとする。仮想ハブ０〜７は、それぞれ、前述の第１の実施形態で説明した仮想ハブＨと同じ機能を有するノードである。個々のノードの処理詳細については、第１の実施形態で述べた通りであるため、その詳細な説明を省略する。ここでは、システム全体の挙動に焦点を絞って説明する。
【００９５】
更に、本実施形態では、ＩＰエニーキャストアドレスは、宛先ＭＡＣアドレスとしてブロードキャストアドレス、或いは、マルチキャストアドレスを有するイーサネットフレームに格納されて、クライアントから送信されるものとする。つまり、ＩＰアドレスからＭＡＣアドレスへのアドレス解決に静的バインドを使用する（ＡＲＰによるアドレス解決を使用する場合については後述）。
【００９６】
最初に、図１０を参照して、本実施形態の仕組みが導入されていない場合の動作を説明する。
【００９７】
１．クライアントがＩＰアドレスＩＰ−Ｃを、サーバ０〜５が、ＩＰエニーキャストアドレスＩＰ−ＡＣ−Ａを持つものとする。
【００９８】
２．ＩＰクライアントが、ＩＰ−ＡＣ−Ａ宛のＩＰパケットを送信する。
【００９９】
３．上記ＩＰパケットを格納するイーサネットフレームの宛先ＭＡＣアドレスは、ブロードキャストアドレス、或いは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。
【０１００】
４．サーバ０〜５は、受信したイーサネットフレームに格納されているＩＰパケットの宛先が自身のアドレスＩＰ−ＡＣ−Ａであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す（宛先ＩＰアドレスＩＰ−Ｃ）。
【０１０１】
５．サーバ０が送信した応答は、仮想ハブ２、１、０を経て、クライアントで受信される。
【０１０２】
６．サーバ１が送信した応答は、仮想ハブ３、１、０を経て、クライアントで受信される。
【０１０３】
７．サーバ２、３が送信した応答は、仮想ハブ５、４、１、０を経て、クライアントで受信される。
【０１０４】
８．サーバ４が送信した応答は、仮想ハブ６、４、１、０を経て、クライアントで受信される。
【０１０５】
９．サーバ５が送信した応答は、仮想ハブ７、４、１、０を経て、クライアントで受信される。
【０１０６】
この場合の各ノード間での上記応答パケットの転送状態を図１０に示す。図１０に示される通り、同じ応答パケットが複数回、複数の仮想ハブを経ており、非常に非効率的である。更に、クライアントはサーバの台数分応答を受信することになり、これも非効率的である。
【０１０７】
次に、図１１〜図２０を参照して、本実施形態の仕組みが導入された場合の動作を説明する。
【０１０８】
１．クライアントがＩＰアドレスＩＰ−Ｃ、ＭＡＣアドレスＭＡＣ−Ｃを、サーバ０〜５が、ＩＰエニーキャストアドレスＩＰ−ＡＣ−Ａを持つものとする。また、クライアントは、ＩＰ−ＡＣ−Ａを、宛先ＭＡＣアドレスＭＡＣ−ＭＣ−Ａのイーサネットフレームに格納して送信するものとする。
【０１０９】
２．仮想ハブ０〜７全ての仮想ポートが、図１２、図１３、図１４に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする（なお、これらの設定は、管理者又はシグナリングプロトコル１０によると想定しているが、詳細は割愛する）。図中のワイルドカードは、任意のＭＡＣアドレスを示す。また、図では仮想ポート０のみ記しているが、他の仮想ポートも同じ内容である。
【０１１０】
３．ＩＰクライアントが、ＩＰ−ＡＣ−Ａ宛のＩＰパケットを送信する。
【０１１１】
４．上記ＩＰパケットを格納するイーサネットフレームの宛先ＭＡＣアドレスは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。
【０１１２】
５．各仮想ハブの、クライアント側の仮想ポートを上流ポート、サーバ側の仮想ポートを下流ポートとした場合、該当イーサネットフレームの送受信により、各仮想ハブの上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図１５、図１６、図１７のようになる。
【０１１３】
この時点で、フィルタパターン中のワイルドカード部分が具体化された新たなフィルタエントリが作成され、以後、フィルタのマッチング処理では、これら具体化されたフィルタエントリがワイルドカードのエントリよりも優先される。
【０１１４】
６．サーバ０〜５は、受信したイーサネットフレームに格納されているＩＰパケットの宛先が自身のアドレスＩＰ−ＡＣ−Ａであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す（宛先ＩＰアドレスＩＰ−Ｃ、宛先ＭＡＣアドレスＭＡＣ−Ｃ）が、ここで、サーバ２が最も速く、応答処理を行ない、他サーバが応答を送信する前に、サーバ２からの応答がクライアントで受信されたとする。この時点で、各仮想ハブ０、１、４、５の上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図１８、図１９、図２０のようになる。
【０１１５】
一方、仮想ハブ２、３、６、７の同テーブルに変化は無いが、上記と同様、こらら仮想ハブについても、その後、あるサーバからの応答を受信すると、同テーブルが上記と同様になる。
【０１１６】
このような状態で、他のサーバが送信した応答は以下のようになる。
【０１１７】
７．サーバ０が送信した応答は、仮想ハブ２を経て、仮想ハブ１で廃棄される。
【０１１８】
８．サーバ１が送信した応答は、仮想ハブ３を経て、仮想ハブ１で廃棄される。
【０１１９】
９．サーバ３が送信した応答は、仮想ハブ５で廃棄される。
【０１２０】
１０．サーバ４が送信した応答は、仮想ハブ６を経て、仮想ハブ４で廃棄される。
【０１２１】
１１．サーバ５が送信した応答は、仮想ハブ７を経て、仮想ハブ４で廃棄される。
【０１２２】
この場合の各ノード間での上記応答パケットの転送状態を図１１に示す。図１１に示される通り、結果的に、各サーバからクライアント宛の重複した応答は、よりサーバに近い仮想ハブにて廃棄されるため、ネットワークリソースの浪費を抑制することが可能である。ちなみに、本構成では、最悪の場合でも、少なくとも仮想ハブ０への応答の流入は抑制されることがわかる。
【０１２３】
次に、ＩＰエニーキャストアドレスとそれを格納するイーサネットフレームの宛先ＭＡＣアドレスのアドレス解決に通常のＡＲＰ（Address Resolution Protocol）を使用する場合について説明する。
【０１２４】
この場合は、クライアントが宛先ＩＰアドレスＩＰ−ＡＣ−ＡのＩＰパケットを送信する前に、ＭＡＣアドレスへのアドレス解決が行なわれるが、そのためのＡＲＰリクエスト、ＡＲＰ応答に対して、上記と同様の処理が行なわれることになる。つまり、ＡＲＰリクエストはブロードキャストで全サーバにより受信され、そのうち、最速で応答処理をしたサーバからのＡＲＰレスポンスのみがクライアントに受信され、その他のサーバからのＡＲＰレスポンスは、途中のいずれかの仮想ハブの上流ポートで廃棄される。
【０１２５】
結果的に、アドレス解決後のＩＰ−ＡＣ−Ａ宛のＩＰパケットは、ある一つのサーバにのみ送信され、それに対する応答も、そのサーバからクライアントへ送信されることになる（ＩＰレベルでは双方向ともにユニキャスト通信）。
【０１２６】
この第２の実施形態によれば、簡単な仕組みにより、効率良く、エニーキャストのエミュレートを行うことができ、システム性能の向上や、リソースの最適化を図ることが可能となる。
【０１２７】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。この第３の実施形態では、前述の第１の実施形態で示した基本概念を、サーバへの同時アクセスが可能なクライアント数を制限するシーンに適用した場合の例について説明する。
【０１２８】
図２１に、本実施形態に係る通信システムの構成の一例を示す。
【０１２９】
本実施形態に係る通信システムは、複数のクライアント０〜８と１つのサーバとが仮想ハブ０〜５を介して接続されたネットワークを構成しているものとする。仮想ハブ０〜５は、それぞれ、前述の第１の実施形態で説明した仮想ハブＨと同じ機能を有するノードである。ここでは、複数のクライアント０〜８がサーバにある要求を出し、サーバはその要求に対して然るべき処理をした後、要求を送ってきたクライアントに応答を返すようなシステムを想定している。
【０１３０】
以下、図２１〜図２４を参照して、本実施形態における動作を説明する。
【０１３１】
１．サーバがＩＰアドレスＩＰ−Ｓを持つものとする。
【０１３２】
２．仮想ハブ３の仮想ポート０が、図２２、図２３、図２４に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする（なお、これらの設定は、管理者又はシグナリングプロトコル１０によると想定しているが、詳細は割愛する）。
【０１３３】
３．あるクライアントがサーバに要求を送信すると、仮想ハブ３は仮想ポート０からその要求を仮想ハブ４へ送出するが、その時、該当カウンタが１だけ増える。その後、仮想ハブ３は、上記要求に対する応答を仮想ポート０から受信すると、同カウンタを１だけ減じる。
【０１３４】
４．ここで、クライアントからサーバへのアクセスが並列では無い場合、仮想ハブ３の該当カウンタは０と１の間で遷移するだけであり、仮想ハブ３の仮想ポート０に関する何らかのアクションが取られることは無い。
【０１３５】
５．一方、クライアントからサーバへのアクセスが並列の場合、つまり、あるクライアントからの要求に対する応答がサーバから送信される前に、他のクライアントが要求を送信するような場合で、更には、サーバからの応答送信よりもクライアントからの要求送信の頻度のほうが高いような場合、いずれ、上記カウンタは上閾値である５に達する。この時点で、仮想ハブ３ではイベント３００が発生し、その結果、仮想ポート０のフィルタ３０に対するＤＲＯＰ（イーサネットフレーム廃棄）のアクションが実行される。
【０１３６】
６．以後、上記カウンタが５の状態の間は、仮想ハブ３の仮想ポート０では、宛先がＩＰ−Ｓであるパケットは全て廃棄される。
【０１３７】
７．その後、サーバが応答の送信を順次行ない、上記カウンタ値が減じられ、その結果、下閾値である３に達すると、仮想ハブ３ではイベント３０１が発生し、その結果、仮想ポート０のフィルタ３０に対するＰＡＳＳ（イーサネットフレーム通過）のアクションが実行される。
【０１３８】
８．以後、上記カウンタが再び５に達しない間は、仮想ハブ３の仮想ポート０では、宛先がＩＰ−Ｓであるパケットは全て送信される。
【０１３９】
なお、上記例では、下閾値を３としたが、これは、システムの要件、運用ポリシー等により、３以外の値に設定することももちろん可能である。
【０１４０】
この第３の実施形態によれば、簡単な仕組みにより、効率良く、サーバへの同時アクセスが可能なクライアント数を制限することができ、可用性の向上を図ることが可能となる。
【０１４１】
＜第４の実施形態＞
次に、本発明の第４の実施形態について説明する。この第４の実施形態では、前述の第１の実施形態で示した基本概念を、ある方向からの異常トラフィック（ＤｏＳなど）を遮断、或いは、流量制限する、といったシーンに適用した場合の例について説明する。
【０１４２】
図２５に、本実施形態に係る通信システムの構成の一例を示す。
【０１４３】
例えば、仮想ハブＨの仮想ポート０側は自組織、仮想ポート１側は他組織、といった構成を想定している。つまり、他組織からの異常トラフィックをアクション対象とするものである。
【０１４４】
以下、図２５〜図２８を参照して、本実施形態における動作を説明する。
【０１４５】
１．仮想ハブＨの仮想ポート１が、図２６、図２７、図２８に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする（なお、これらの設定は、管理者又はシグナリングプロトコル１０によると想定しているが、詳細は割愛する）。
【０１４６】
２．仮想ハブＨの観点で、仮想ポート０から仮想ポート１へのトラフィック、及び、その逆方向のトラフィックに大きな差が無い場合、該当カウンタは上閾値１０００（もしくは下閾値２００）よりも十分小さい値を増減するのみであろう。
【０１４７】
３．ここで、例えば、仮想ポート１から仮想ポート０へのトラフィックが急増した場合、上記カウンタはいずれ上閾値１０００に到達する。この時点で、仮想ハブＨではイベント７００が発生し、その結果、仮想ポート１のフィルタ７０に対する受信停止のアクションが実行される。
【０１４８】
４．以後、仮想ハブＨの仮想ポート１では、受信処理は一切行なわれない。
【０１４９】
５．その後、仮想ポート０から仮想ポート１方向のトラフィックが発生するたびに、上記カウンタは減じられ、いずれ、上記カウンタは下閾値２００に到達する。その結果、仮想ハブＨではイベント７０１が発生し、その結果、仮想ポート１のフィルタ７０に対する受信開始アクションが実行される。
【０１５０】
６．以後、上記カウンタが再び１０００に達しない間は、仮想ハブＨの仮想ポート１では、受信処理は行なわれる。
【０１５１】
なお、上記カウンタ処理にタイマの概念を導入することも可能である。この場合、例えば、以下のようになる。
【０１５２】
・該当カウンタに対して、上閾値１０００に達するまでのタイマとして６０秒を設定する。
【０１５３】
・６０秒以内に上記カウンタが上閾値に達すれば、上記例と同様のアクションを実行する。
【０１５４】
・上記カウンタが上閾値１０００に達する前に上記タイマの期間が満了した場合、上記カウンタに対してリセットのアクション（初期値に再設定）が実行されると同時に、同タイマが再び起動される。
【０１５５】
すなわち、トラフィックが異常であると判断する基準に、「単位時間当たり」の概念を導入するものと言える。
【０１５６】
なお、上記例では、該当カウンタが上閾値１０００に達した場合に、該当仮想ポートでの受信を停止、すなわち、仮想ポートの閉塞を実行した。一方で、仮想ポートに優先度キュー、ＣｏＳ処理等の機能がある場合には、これらのパラメータを変更する、というアクションを実行することで、問題となっている方向のトラフィックを完全に停止するのではなく、流量の制限を行なうことができる。
【０１５７】
この第４の実施形態によれば、簡単な仕組みにより、効率良く、ある方向からの異常トラフィックを遮断、或いは、流量制限することができ、可用性の向上を図ることが可能となる。
【０１５８】
＜第５の実施形態＞
次に、本発明の第５の実施形態について説明する。この第５の実施形態では、前述の第１の実施形態で示した基本概念を、あるリージョンのトラフィック量に応じて、仮想ハブの移動（最適配置）を行なう、といったシーンに適用した場合の例について説明する。
【０１５９】
図２９に、本実施形態に係る通信システムの構成の一例を示す。
【０１６０】
例えば、仮想ハブＨは仮想ポート０〜３を持ち、それぞれのポート間でトラフィックのスイッチングを行なっている。ここで、仮想ポート０と１の先に接続されている他ノード、及び、仮想ポート２と３の先に接続されている他ノードは、物理的に近い場所に存在することがわかっているとする。
【０１６１】
また、本実施形態では、仮想ポートのグループ化という概念を導入し、カウンタはグループ毎に持つこととする（これまでの実施形態では、カウンタは全て仮想ポートに属すものであった）。また、フィルタパターンとして、「仮想ポート間トラフィック」という概念も導入する（これまでの実施形態では、フィルタパターンはデータそのものの属性によるものであった）。
【０１６２】
以下、図２９〜図３２を参照して、本実施形態における動作を説明する。
【０１６３】
１．仮想ハブＨの仮想ポート０〜３を仮想ポートグループとする。
【０１６４】
２．仮想ハブＨの上記仮想ポートグループが、図３０、図３１、図３２に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする（なお、これらの設定は、管理者又はシグナリングプロトコル１０によると想定しているが、詳細は割愛する）。
【０１６５】
３．仮想ハブＨの観点で、仮想ポート０−仮想ポート１間のトラフィック、及び、仮想ポート２−仮想ポート３間のトラフィックに大きな差が無い、該当カウンタは初期値１００付近を増減するのみであろう。
【０１６６】
４．ここで、例えば、仮想ポート０−仮想ポート１間のトラフィックが急増し、仮想ポート２−仮想ポート３間のトラフィックに比べ、明らかに多くなった場合、上記カウンタはいずれ上閾値２００に到達する。この時点で、仮想ハブＨではイベント６００が発生し、その結果、自ノードに対するアクション（図中右側の実行環境への移動、及び、上記カウンタの初期値へのリセット）が実行される。なお、所定の記録領域に、図中右側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
【０１６７】
５．以後、仮想ハブＨは、よりトラフィック量が多い他ノードに物理的に近い位置で動作することとなり、ネットワークリソースの消費の観点でより効率的となる。
【０１６８】
６．その後、例えば、上記とは逆に、仮想ポート２−仮想ポート３間のトラフィックが増えた場合、上記カウンタは下閾値０に到達する。この時点で、仮想ハブＨではイベント６０１が発生し、その結果、自ノードに対するアクション（図中左側の実行環境への移動、及び、上記カウンタの初期値へのリセット）が実行される。なお、所定の記録領域に、図中左側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
【０１６９】
なお、上記例では、アクションとして右移動、左移動を定義したが、動作環境により、中央への移動（元の場所）も定義し、移動を二段階にする、とったことも可能である。
【０１７０】
また、第４の実施形態と同様、上記カウンタ処理にタイマの概念を導入することも可能である。
【０１７１】
更に、上記例では、自ノードの移動というアクションであったが、自ノードの分割というアクションも想定される。この場合、例えば、上記例の処理４の部分が、以下のように置き換わることとなる。
【０１７２】
・図中右側の実行環境へ新たに仮想ハブＨ’を生成
・仮想ハブＨが、仮想ポート０、及び、仮想ポート１で収容していた他ノードを、上記新たに作成した仮想ハブＨ’へ接続変更する。
【０１７３】
・仮想ハブＨは、新たに作成した仮想ハブＨ’との接続（仮想ポート）を生成する。
【０１７４】
また、上記例では、自ノードの分割というアクションであったが、逆に、他ノードへの統合というアクションも想定される。この場合、例えば、上記分割され、右側で動作中の仮想ハブＨ’が、以下のような処理を行うことになる。
【０１７５】
・仮想ハブＨと接続している仮想ポート以外の仮想ポート間のトラフィックが減少した場合、ポリシーテーブル、カウンタテーブル、フィルタテーブルの設定（既出のものと大きくは違わないため、詳細は省略）に従い、自ノードに対するアクション（他仮想ハブへの統合）が実行される。なお、所定の記録領域に、統合先の仮想ハブを示す情報が予め格納されており、その情報を参照することにより当該実行環境への統合が可能となる。
【０１７６】
・仮想ハブＨと接続している仮想ポート以外の仮想ポートで収容していた他ノードを、仮想ハブＨへ接続変更する。
【０１７７】
・仮想ハブＨと接続している仮想ポートを切断し、自ノードを終了する。
【０１７８】
この第５の実施形態によれば、簡単な仕組みにより、効率良く、あるリージョンのトラフィック量に応じて仮想ハブの移動、分割、統合（最適配置）を行なうことができ、システム性能の向上やリソースの最適化を図ることが可能となる。
【０１７９】
＜第６の実施形態＞
次に、本発明の第６の実施形態について説明する。この第６の実施形態では、前述の第１の実施形態で示した基本概念を、高信頼なデータ配送ネットワークを構築するために、冗長経路を使用する、といったシーンに適用した場合の例について説明する。
【０１８０】
また、フィルタパターンにおけるワイルドカードの使用の影響がフィルタテーブル３４のみにとどまる例についても説明する。ちなみに、第２の実施形態では、同じくフィルタパターンにおけるワイルドカードの使用例を示したが、前述の通り、その影響はポリシーテーブル１２、カウンタテーブル３２にも及ぶものであった。
【０１８１】
図３３に、本実施形態に係る通信システムの構成の一例を示す。
【０１８２】
本実施形態に係る通信システムは、１つのクライアントと１つのサーバとが仮想ハブ０〜６を介して接続されたネットワークを構成しているものとする。仮想ハブ０〜６は、それぞれ、前述の第１の実施形態で説明した仮想ハブＨと同じ機能を有するノードである。
【０１８３】
また、クライアントがサーバに対してデータを送信するが、例えば仮想ハブ４に至るまでの経路がＷＡＮで通信品質に問題があるために、２つの経路（仮想ハブ０−仮想ハブ１、仮想ハブ２−仮想ハブ３）に同一データを送信し、仮想ハブ４にて、先に到達したものはその先に送信し、後に到達したものは廃棄する、といったシステムを想定している。
【０１８４】
以下、図３３〜図３７を参照して、本実施形態における動作を説明する。
【０１８５】
１．サーバがＩＰアドレスＩＰ−Ｓを持つものとする。
【０１８６】
２．仮想ハブ４の仮想ポート０が、図３４、図３５、図３６に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする（なお、これらの設定は、管理者又はシグナリングプロトコル１０によると想定しているが、詳細は割愛する）。
【０１８７】
３．クライアントがサーバにデータを送信すると、仮想ハブ４は仮想ポート１、或いは、仮想ポート２からそのデータを受信するが、いずれか一方からデータを受信し、それを仮想ポート０から仮想ハブ５へ送出したとする。この時点で、仮想ハブ４の仮想ポート０のフィルタテーブル３４は、図３７のようになる（ポリシーテーブル１２、カウンタテーブル３２はそのまま）。
【０１８８】
４．ここで、仮想ポート１、或いは、仮想ポート２のいずれかから、もう一つのデータ（上記と同じデータ）を受信したとする。この場合、フィルタ５０の内容に従い、そのデータは廃棄される。よって、仮想ハブ５より先へは、重複したデータが流入することは無い。
【０１８９】
なお、上記例では、ワイルドカードから生成されたフィルタエントリの削除処理には言及していないが、仮想ハブのリソースの観点から、何らかの方法で、これらフィルタエントリの解放は実施されるべきであろう。そのための実施例としては、以下のものが想定される。
【０１９０】
・ワンショットフィルタ
フィルタエントリにワンショットの属性を持たせる。つまり、一度使用されたフィルタエントリは、その時点で削除される。
【０１９１】
・ガベージコレクション
一定期間未使用のフィルタエントリを「回収」する。なお、該当フィルタエントリが削除された後、再びそのエントリが必要とされることもあるだろうが、対応するワイルドカードのエントリが存在している限り、再び、同様のフィルタエントリが生成されるはずであり、特に問題は無い。
【０１９２】
更に、上記例では、フィルタパターンのワイルドカード部分として、ＴＣＰやＳＣＴＰのシーケンス番号の使用を想定した。一方、ＩＰやＵＤＰのようにシーケンス番号という概念が無い上位プロトコルでシーケンス番号的なものを使用したい場合、或いは、そもそも上位プロトコルには無いような概念のものをフィルタパターンとして導入したい場合、仮想ネットワークの制御情報を使用することが有効である。
【０１９３】
一般的に、仮想イーサネットを含む仮想ネットワークの実装では、ユーザデータ（仮想イーサネットならばイーサネットフレーム）の前に、制御用ヘッダを付加することが多い。
【０１９４】
ゆえに、アプリケーションや、仮想ネットワークインタフェース、仮想ハブ等の仮想ネットワークノードが、上記ヘッダ部分（仮想イーサネット制御情報格納部分）に、特別な意味を持つ情報をエンコードし、それをフィルタパターンとして使用することとなる。
【０１９５】
この第６の実施形態によれば、簡単な仕組みにより、効率良く、冗長経路の構築を行なうことができ、システムの信頼性の向上を図ることが可能となる。
【０１９６】
＜応用＞
仮想ネットワークを使用して高付加価値なネットワークを提供するシステムに広く適用可能である。例えば以下のようなものに適用可能である。
【０１９７】
・ＣＤＮ（Content Delivery Network）
・ネットワーク上での効率的なリソース検索（エニーキャスト的機能）
・高信頼、高効率ネットワーク（冗長経路、負荷分散などの機能を提供）
＜まとめ＞
上述した各実施形態で説明した各種の機能や情報などの概念をまとめると以下の通りとなる。
【０１９８】
［１］（“仮想”の制限を取り払ったもの）
少なくとも１つの中継ノード間で通信を行なうネットワークにおける、ノード（中継ノード、クライアント）によるデータ送受信の制御、ポートの制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
【０１９９】
・各ノードは、他ノードと接続する「予め定められたポート」それぞれに、以下の特徴を持つ「カウンタ」を有する。
【０２００】
- 予め定められた閾値（整数）を持つ。
【０２０１】
- 「予め定められたトリガ」が発生した場合に、該当ポートのカウンタを、予め定められた値（１以上の有限の整数）だけ増加させる、或いは、減少させる。
【０２０２】
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内（無限も含む）に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。
【０２０３】
［２］（基本部分）
少なくとも１つの中継ノード（仮想ハブ）を経由してクライアント間が通信を行なう仮想ネットワーク（仮想イーサネット）における、ノード（中継ノード、クライアント）によるデータ（イーサネットフレーム）送受信の制御、ポート（仮想ポート）の制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
【０２０４】
・各ノードは、他ノードと接続する「予め定められたポート」（仮想ポート）それぞれに、以下の特徴を持つ「カウンタ」を有する。
【０２０５】
- 予め定められた閾値（整数）を持つ。
【０２０６】
- 「予め定められたトリガ」が発生した場合に、該当ポート（仮想ポート）のカウンタを、予め定められた値（１以上の有限の整数）だけ増加させる、或いは、減少させる。
【０２０７】
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内（無限も含む）に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。
【０２０８】
［３］（「予め定められたトリガ」のうちの一つ、データ送受信）
請求項１における「予め定められたトリガ」として、以下のいずれかの特徴を持つ。
【０２０９】
・「予め定められたデータ」を送信した場合
・予め定められたデータを受信した場合
［４］（送受信される「予め定められたデータ」の具体例）
請求項２における「予め定められたデータ」として、以下のいずれかの特徴を持つ。
【０２１０】
・特定の仮想ネットワーク制御情報を有するデータ
クライアントのアプリケーション、或いは、仮想ネットワークインタフェース、仮想ハブ等が付加する、仮想ネットワーク制御用の情報。
【０２１１】
例えば、仮想イーサネットの場合、イーサネットヘッダの前に付加する制御用ヘッダ内の情報など。
【０２１２】
・特定のイーサネットフレームヘッダ情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコルタイプなどを持つもの。
【０２１３】
・特定のイーサネットフレームペイロード情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の上位プロトコルのデータを持つもの。例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、シーケンス番号、ストリーム番号、ＰＰＩＤ、ユーザデータの特定の内容、など。
【０２１４】
・特定のポート間で送受信されるデータ
［５］（カウンタ増減の対象とする「予め定められたポート」）
請求項０、１における「予め定められたポート」の指定方法として、少なくとも以下のいずれかの特徴を持つ。
【０２１５】
・全ポート設定
デフォルト全ポートといった用途を想定。
【０２１６】
もちろん、下記、静的、動的設定で、全ポートが対象となることもある。
【０２１７】
・静的設定
コンフィグレーション等により、初期化時に設定される。
【０２１８】
・動的設定
管理者又はシグナリングプロトコル１０により、運用中に動的に設定される。
【０２１９】
［６］（「予め定められたアクション」）
請求項０、１における「予め定められたアクション」として、少なくとも以下のいずれかの特徴を持つ。
【０２２０】
・カウンタ制御
- カウンタ増加、減少の停止、開始
- カウンタ値のリセット
・送受信制御（特定データの送受信制御）
該当ポートでの該当データ（カウンタ増減のトリガとなったデータ）の送信を停止（開始）する、或いは、受信を停止（開始）する。
【０２２１】
・ポート制御（全データの送受信制御）
- 開閉
該当ポートでの送信を停止（開始）する、或いは、受信を停止（開始）する。
【０２２２】
- ＱｏＳ、ＣｏＳその他、送受信に関わるパラメータの変更
- 接続先変更、追加、削除
該当ポートの接続先を変更、或いは、追加、削除する。
【０２２３】
・ノード制御
- ノードの分割、統合、移動
例えば、ポートのマークの状態から、自分とサーバやクライアントとの位置関係を判断し、適切な場所にマイグレーションする、など。
【０２２４】
［７］（カウンタをポート群で共有）
請求項０、１におけるカウンタを、グループ化された複数ポート群で共有する。
【０２２５】
［８］（カウンタの種類）
請求項０、１におけるカウンタとして、以下のいずれかの特徴を持つ。
【０２２６】
・カウンタを予め定められた値だけ増減させた結果、予め定められた閾値に達した後、さらなるイベントが発生した場合に、増減を継続する。
【０２２７】
・カウンタを予め定められた値だけ増加させた結果、予め定められた閾値に達した後、以後の増加を停止する。その後、カウンタを予め定められた値だけ減少させた結果、予め定められた閾値を再び下回った場合、以後の増加を再開する。
【０２２８】
・カウンタを予め定められた値だけ減少させた結果、予め定められた閾値に達した後、以後の減少を停止する。その後、カウンタを予め定められた値だけ増加させた結果、予め定められた閾値を再び上回った場合、以後の減少を再開する。
【０２２９】
［９］（送受信される「予め定められたデータ」のワイルドカード）
請求項３における「予め定められたデータ」として、以下の特徴を持つ。
【０２３０】
・一部をワイルドカード指定する。
【０２３１】
・送受信したデータが予め定められた部分にマッチした場合に、ワイルドカード指定した部分を実際に送受信したデータの該当部分の値で置き換え（学習）、新たな「予め定められたデータ」として保持し、以後の処理に使用する。
【０２３２】
［１０］（第２の実施形態のエニーキャストのエミュレートに対応）
請求項０〜５、７、８の特徴を持つカウンタを有する少なくとも１つの中継ノード、及び、それら中継ノードにより接続されるクライアント、少なくとも１つのサーバ群で構成されるネットワークシステムであり、以下の特徴を持つ。
【０２３３】
・少なくとも１つのサーバ群
- 単一の識別子で識別される。
【０２３４】
- クライアントに対して、同じサービスを提供する。
【０２３５】
- 前記識別子で特定される、自身が提供するサービスに対する要求をクライアントから受信すると、サービスに必要な処理を行ない、クライアントへ応答を返す。
【０２３６】
・クライアント
- 前記サービスを享受する場合、前記識別子を宛先とした要求を送信する。
【０２３７】
- いずれかのサーバから要求に対する応答を受信する。
【０２３８】
・中継ノード
- 全ての仮想ポートが以下のカウンタを持つ。
【０２３９】
* 初期値として１を持つ。
【０２４０】
* 上閾値として１を、下閾値として０を持つ。
【０２４１】
* クライアントから前記識別子を宛先に持つ要求を受信すると、カウンタを１だけ増加させる。
【０２４２】
* 前記要求に対するサーバからの前記クライアントへの応答を送信すると、カウンタを１だけ減少させる。
【０２４３】
* カウンタが上閾値に達している場合は、以後、カウンタは増加させない。
【０２４４】
* カウンタが下閾値に達している場合は、以後、カウンタは減少させない。
【０２４５】
- 前記カウンタにて、カウンタが下閾値に達した場合、カウンタが下閾値である限り、その仮想ポートからは同じ応答は送信しない（廃棄する）。
【０２４６】
以上詳述したように、本発明の実施の形態によれば、仮想イーサネット、より詳細には、仮想イーサネットを構成する各ノード間を接続する仮想的な通信リンクの端点である仮想ポートがソフトウェアであることに着目し、物理ポートでは実現不可能であった、「データ送受信をトリガとしたポート（仮想ポート）へのマーキング」という概念を仮想ポートに導入、実装することで、高付加価値な機能を有するネットワークを実現することが可能となる。
【０２４７】
なお、上述した各実施形態では、仮想イーサネットを例に挙げて説明したが、本発明はこれには限定されず、仮想でないネットワークにも適用することができる。
【０２４８】
また、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０２４９】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０２５０】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０２５１】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【０２５２】
また、記憶媒体は一つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０２５３】
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコンやサーバ計算機等の一つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０２５４】
また、本発明におけるコンピュータとは、パソコンやサーバ計算機に限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０２５５】
本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【０２５６】
【図１】本発明の第１の実施形態に係る仮想ネットワークノードの基本構成の一例を示す図。
【図２】ポリシーテーブルのフォーマットを示す図。
【図３】カウンタテーブルのフォーマットを示す図。
【図４】フィルタテーブルのフォーマットを示す図。
【図５】各種のモジュール群による一般的な処理フローを示す図。
【図６】同実施形態におけるポリシーテーブルの一例を示す図。
【図７】同実施形態におけるカウンタテーブルの一例を示す図。
【図８】同実施形態におけるフィルタテーブルの一例を示す図。
【図９】本発明の第２の実施形態に係る通信システムの構成の一例を示す図。
【図１０】同実施形態の仕組みが導入されていない場合の動作を説明するための図。
【図１１】同実施形態の仕組みが導入された場合の動作を説明するための図。
【図１２】同実施形態におけるポリシーテーブルの一例（その１）を示す図。
【図１３】同実施形態におけるカウンタテーブルの一例（その１）を示す図。
【図１４】同実施形態におけるフィルタテーブルの一例（その１）を示す図。
【図１５】同実施形態におけるポリシーテーブルの一例（その２）を示す図。
【図１６】同実施形態におけるカウンタテーブルの一例（その２）を示す図。
【図１７】同実施形態におけるフィルタテーブルの一例（その２）を示す図。
【図１８】同実施形態におけるポリシーテーブルの一例（その３）を示す図。
【図１９】同実施形態におけるカウンタテーブルの一例（その３）を示す図。
【図２０】同実施形態におけるフィルタテーブルの一例（その３）を示す図。
【図２１】本発明の第３の実施形態に係る通信システムの構成の一例を示す図。
【図２２】同実施形態におけるポリシーテーブルの一例を示す図。
【図２３】同実施形態におけるカウンタテーブルの一例を示す図。
【図２４】同実施形態におけるフィルタテーブルの一例を示す図。
【図２５】本発明の第４の実施形態に係る通信システムの構成の一例を示す図。
【図２６】同実施形態におけるポリシーテーブルの一例を示す図。
【図２７】同実施形態におけるカウンタテーブルの一例を示す図。
【図２８】同実施形態におけるフィルタテーブルの一例を示す図。
【図２９】本発明の第５の実施形態に係る通信システムの構成の一例を示す図。
【図３０】同実施形態におけるポリシーテーブルの一例を示す図。
【図３１】同実施形態におけるカウンタテーブルの一例を示す図。
【図３２】同実施形態におけるフィルタテーブルの一例を示す図。
【図３３】本発明の第６の実施形態に係る通信システムの構成の一例を示す図。
【図３４】同実施形態におけるポリシーテーブルの一例を示す図。
【図３５】同実施形態におけるカウンタテーブルの一例を示す図。
【図３６】同実施形態におけるフィルタテーブルの一例（その１）を示す図。
【図３７】同実施形態におけるフィルタテーブルの一例（その２）を示す図。
【図３８】仮想イーサネットの一般的な構成を示す図。
【符号の説明】
【０２５７】
１０…管理者又はシグナリングプロトコル、１１…ポリシー制御モジュール、１２…ポリシーテーブル、１３…ノード制御モジュール、２０…ＭＡＣアドレステーブル、２１…仮想イーサネットスイッチングモジュール、３１…仮想ポート制御モジュール、３２…カウンタテーブル、３３…フィルタモジュール、３４…フィルタテーブル、３５…アンダーレイネットワーク、Ｈ…仮想ハブ、Ｐ…仮想ポート。
【図１】
2010103633.tif 000003
【図２】
2010103633.tif 000004
【図３】
2010103633.tif 000005
【図４】
2010103633.tif 000006
【図５】
2010103633.tif 000007
【図６】
2010103633.tif 000008
【図７】
2010103633.tif 000009
【図８】
2010103633.tif 000010
【図９】
2010103633.tif 000011
【図１０】
2010103633.tif 000012
【図１１】
2010103633.tif 000013
【図１２】
2010103633.tif 000014
【図１３】
2010103633.tif 000015
【図１４】
2010103633.tif 000016
【図１５】
2010103633.tif 000017
【図１６】
2010103633.tif 000018
【図１７】
2010103633.tif 000019
【図１８】
2010103633.tif 000020
【図１９】
2010103633.tif 000021
【図２０】
2010103633.tif 000022
【図２１】
2010103633.tif 000023
【図２２】
2010103633.tif 000024
【図２３】
2010103633.tif 000025
【図２４】
2010103633.tif 000026
【図２５】
2010103633.tif 000027
【図２６】
2010103633.tif 000028
【図２７】
2010103633.tif 000029
【図２８】
2010103633.tif 000030
【図２９】
2010103633.tif 000031
【図３０】
2010103633.tif 000032
【図３１】
2010103633.tif 000033
【図３２】
2010103633.tif 000034
【図３３】
2010103633.tif 000035
【図３４】
2010103633.tif 000036
【図３５】
2010103633.tif 000037
【図３６】
2010103633.tif 000038
【図３７】
2010103633.tif 000039
【図３８】
2010103633.tif 000040