(57)【要約】【課題】一部の条件を共有する第一と第二のフロー検出条件により検出される第一、第二のフローそれぞれに対して帯域監視を行う帯域監視装置を提供する。【解決手段】パケットのヘッダフィールド内の情報と第一、第二のフロー検出条件を比較し、該パケットが属するフローを検出するフロー検出手段と、検出されたフローに属するパケットの帯域を計測し、各フロー検出条件に対応して設定されるトラヒック条件に対する遵守/違反を判断する遵守/違反判定手段と、第一、第二のフロー検出条件を両方満たすパケットに対して、両トラヒック条件に対応する遵守/違反結果に基づいて該パケットに対する処理を判定し、第一、第二のフロー条件のうち、いずれか一方を満たすパケットに対しては、該パケットが満たすフロー検出条件に対応する遵守/違反結果に基づき、該パケットに対する処理を判定するパケット処理判定手段を備える。【選択図】図1
2006222592.tif 000002
【特許請求の範囲】
【請求項１】
パケットを入力する送受信部と、
パケットのヘッダ内の情報と比較して一致するパケットを検出するための第一及び第二のフロー検出条件と、上記第一及び第二のフロー検出条件のそれぞれについて条件に一致したパケットの出力制限帯域を示す第一及び第二のトラヒック条件とを格納した記憶部と、
上記送受信部から入力したパケットのヘッダ内の情報と、上記第一及び第二のフロー検出条件とを比較し、上記第一及び第二のフロー検出条件に一致する上記入力したパケットについては、上記第一及び第二のトラヒック条件の遵守／違反を判定し、上記第一及び第二のトラヒック条件それぞれの遵守／違反の判定結果に基づき上記入力したパケットに対する処理を決定し、
上記第一または第二のフロー検出条件のうちいずれか一方のみに一致する上記入力したパケットについては、上記一致したフロー検出条件に対応するトラヒック条件の遵守／違反を判定し、該判定結果に基づき上記入力したパケットに対する処理を決定するプロセッサを備えたデータ転送装置。
【請求項２】
請求項１記載のデータ転送装置であって、
上記記憶部には、複数のフロー検出条件と、該複数のフロー条件のそれぞれに対応する複数のトラヒック条件とを格納されており、
上記プロセッサは、上記複数のフロー検出条件のうち、上記送受信部から入力したパケットのヘッダ内の情報と一致する一または複数のフロー検出条件に対応する一または複数のトラヒック条件の遵守／違反の判定を行い、該判定結果に基づき上記入力したパケットに対する処理を決定することを特徴とするデータ転送装置。
【請求項３】
請求項１記載のデータ転送装置であって、
上記入力されたパケットが、
上記第一のトラヒック条件の判定結果が遵守かつ、上記第二のトラヒック条件の判定結果が遵守の場合と、
上記第一のトラヒック条件の判定結果が遵守かつ、上記第二のトラヒック条件の判定結果が違反の場合と、
上記第一のトラヒック条件の判定結果が違反かつ、上記第二のトラヒック条件の判定結果が遵守の場合と、
上記第一のトラヒック条件の判定結果が違反かつ、上記第二のトラヒック条件の判定結果が違反の場合のそれぞれに対応する上記入力されたパケットに対する処理を格納したテーブルを記憶する記憶部を備えたことを特徴とするデータ転送装置。
【請求項４】
請求項３記載のデータ転送装置であって、さらに、
上記入力されたパケットが、
上記第一のフロー検出条件と一致するが、上記第二のフロー検出条件には一致せず、上記第一のトラヒック条件の判定結果が遵守の場合と、
上記第一のフロー検出条件と一致するが、上記第二のフロー検出条件には一致せず、上記第一のトラヒック条件の判定結果が違反の場合と、
上記第一のフロー検出条件には一致しないが、上記第二のフロー検出条件には一致し、上記第二のトラヒック条件の判定結果が遵守の場合と、
上記第一のフロー検出条件には一致しないが、上記第二のフロー検出条件には一致し、上記第二のトラヒック条件の判定結果が違反の場合のそれぞれに対応する上記入力されたパケットに対する処理を格納したテーブルを記憶する記憶部を備えたことを特徴とするデータ転送装置。
【請求項５】
請求項１記載のデータ転送装置であって、
上記記憶部には、
上記第一及び第二のフロー検出条件を包含する第三のフロー検出条件と、該第三のフロー検出条件に対応する第三のトラヒック条件とが記憶されており、
上記プロセッサは、
上記第一または第二のフロー検出条件に一致する入力パケットに対しては、対応する上記第一または第二のトラヒック条件の遵守／違反の判定結果と、上記第三のトラヒック条件の遵守／違反の判定結果の両方に基づいて上記パケットに対する処理を決定し、
上記第一及び第二のフロー検出条件には一致しないが上記第三のフロー条件には一致するパケットに対しては、上記第三のトラヒック条件の遵守／違反の判定結果のみに基づいて上記パケットに対する処理を決定することを特徴とするデータ転送装置。
【請求項６】
パケットを入力する送受信部と、
パケットのヘッダ内の情報と比較して一致するパケットを検出するための複数のフロー検出条件と、上記複数のフロー検出条件のそれぞれについて条件に一致したパケットの出力制限帯域を示す複数のトラヒック条件とを格納した記憶部と、
上記送受信部から入力したパケットのヘッダ内の情報と、上記複数のフロー検出条件とを比較し、上記条件に一致した上記パケットについてそれぞれの条件に対応した上記トラヒック条件の遵守／違反を判定し、上記複数のトラヒック条件の遵守／違反の判定結果に基づき上記パケットに対する処理を決定するプロセッサを備えたデータ転送装置であって、
上記複数のフロー検出条件ごとに優先度が決まっており、
上記プロセッサは、
複数のフロー検出条件に一致するパケットに対しては、最も優先度の高いフロー検出条件に対応する上記トラヒック条件の遵守／違反の判定結果に基づいて上記パケットに対する処理を決定することを特徴とするデータ転送装置。
【請求項７】
請求項１または４に記載のデータ転送装置であって、
上記フロー検出条件と、該フロー検出条件に対応する上記トラヒック条件とを合わせて一つの帯域監視ポリシとして上記記憶部に記憶していることを特徴とするデータ転送装置。
【請求項８】
請求項１または６に記載のデータ転送装置であって、
上記トラヒック条件が、許容可能な帯域と、許容可能なバーストと、パケットの到着履歴とを表す情報から構成されることを特徴とするデータ転送装置。
【請求項９】
請求項１または６に記載のデータ転送装置であって、
上記トラヒック条件に違反したパケットに対しては、上記トラヒック条件に遵守したパケットよりも低い優先度をヘッダ内に格納して送信することを特徴とするデータ転送装置。
【請求項１０】
請求項１または６記載のデータ転送装置であって、
上記判定を行ったトラヒック条件の全てに違反したパケットは廃棄することを特徴とするデータ転送装置。
【請求項１１】
請求項１または６記載のデータ転送装置であって、
上記トラヒック条件の遵守／違反の判定結果に基づいて、該トラヒック条件を変更することを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フロー毎に帯域を監視して、受信したパケットに対する処理を判定可能なデータ転送装置に関する。
【背景技術】
【０００２】
インターネットに代表されるIP(Internet Protocol)ネットワークでは、多数のユーザからのパケットを、同じ回線を用いて通信するため、帯域あたりのコストを低く抑えることが出来る。そのため、企業ユーザは、専用線で構築していた音声データ網（電話網）や基幹業務網を、IPネットワークに置き換えて、通信コストを削減しようとしている。この様な背景から、専用線による音声データ網や基幹業務網が実現していた低遅延時間や低廃棄率等の通信品質（QoS：Quality of Service）を実現するIP-VPN(Virtual Private Network)や広域イーサネット（イーサネットは登録商標）サービスも提供され始めている。
【０００３】
IP-VPNや広域イーサネットサービスでは、企業ユーザと通信事業者との間で、本社や支社などの拠点と通信事業者のネットワークを接続する帯域（以降、接続帯域と呼ぶ）の契約が行われる。この際、通信事業者のネットワークは、各拠点が通信事業者のネットワークに送信する帯域や通信事業者のネットワークから受信する帯域が接続帯域を越えないよう制御する必要がある。そのため、通信事業者のネットワークのエッジノードが、入出力パケットを接続帯域に制限する帯域監視機能を備える必要がある。帯域監視機能は、入力または出力するパケットの帯域を計測して、計測帯域が接続帯域以内の場合に遵守と、超過する場合に違反と判定し、該パケットを廃棄する帯域監視を実行する。本機能が各拠点から入力するパケットと、各拠点に出力されるパケットの帯域監視を実行することで、各拠点が送受信する帯域が接続帯域に制限される。
【０００４】
帯域監視機能において、遵守／違反を判定するアルゴリズムとしては、例えば、The ATM Forum Specification version 4.0の4.4.2章記載のリーキーバケットアルゴリズム（非特許文献1）が知られている。本アルゴリズムは、ある容量を持った穴の空いた漏れバケツのモデルで表される。バケツに水が入っている間は監視帯域に比例した量の水が漏れ、パケット到着時にはバケツにパケット長分の水が注ぎ込まれる。パケットの到着揺らぎやバーストを許容するためにバケツは容量を持ち、バケツが溢れないうちは入力パケットを遵守（監視帯域内）と、溢れると違反（監視帯域超過）と判定する。リーキーバケットアルゴリズムのフローチャートを図8に示す。本アルゴリズムは、パケットの到着時刻：LCTと、バケツの蓄積量に相当するカウンタ値：Xを変数として用いる。パケットkが時間ta(k)に到着すると(ステップ801)、前回遵守と判定された時に更新されたパケットの到着時刻：LCTとの差分(バケツから漏れる水量に対応)が計算される。この値をXから減算したX’が計算され (ステップ802)、X’が負か否かの判定を行い（ステップ803）、X’が負の場合にはX’が’0’に修正される(ステップ804)。X’とリミット：L(バケツの容量に対応)との比較が行われ (ステップ805)、X’≧Lの場合に入力パケットは違反と判定され、X及びLCTの値を変更しないで、処理が終了する(ステップ806)。X’＜Lの場合は遵守と判定され、X’に監視帯域より決まる固定値：I(1パケット分の水量に対応)を加えた値がXとして、該セルの到着時刻がLCTとして保存される(ステップ807)。なお、最初のパケットが到着した時に、Xは'0'に、LCTは該パケットの到着時刻に初期化される。
【０００５】
また、ネットワーク内で低遅延時間や低廃棄率等のQoSを確保して転送する技術としては、例えば、IETF(Internet Engineering Task Force)のRFC2475に記されているDiffserv(Differentiated Service)（非特許文献2）がある。Diffservを用いたネットワークは、エッジノードがパケットヘッダ内の送信元・宛先IPアドレス、送信元・宛先ポート番号、プロトコル等により、パケットのクラス分けを行い、クラスに応じてパケットヘッダ内のDSCP(Differentiated Service Code Point)の優先度値を書き換える。ネットワーク内のノードは、DSCPの優先度値に関連付けられた転送動作を行う。エッジノードが、低遅延時間や低廃棄率を必要とするパケットのDSCPを高優先度に書き換え、ネットワーク内のノードが高優先度パケットを優先的に転送することで、上記パケットの低遅延時間や低廃棄率を実現する。
【０００６】
さらに、最近では専用線で構築していたネットワークを、IP-VPNや広域イーサネットに置き換えるだけでなく、Webアクセスや電子メールなどを通信する一般データ網も統合して、更なる通信コストを削減する動きもある。QoSを確保しつつこの統合を実現するためには、ある特定のデータが各拠点の接続帯域を占有しないように、帯域監視機能がデータ種別毎に帯域を確保する帯域分配機能を備える必要がある。
【０００７】
接続帯域を基幹業務データに優先的に分配する帯域分配機能を記載した文献として、特許文献1がある。本技術を適用した帯域監視機能は、監視帯域以下の基幹業務データパケットに高優先度を付与して、基幹業務データパケットが監視帯域未満の時だけ、監視帯域を越えない範囲で一般データパケットにも高優先度を付与する。
【０００８】
他の帯域分配機能として、非特許文献3に記載のグループポリシング方式がある。本技術を適用した帯域監視機能は、接続帯域の設定に加えて、基幹業務データ用の保証帯域と一般データ用の保証帯域が設定される。それぞれの保証帯域以下と判定された基幹業務データパケットと一般データパケットについては、高優先度、中優先度が付与される。また、それぞれの保証帯域は超過するが、基幹業務データと一般データの総帯域が接続帯域以下と判定されても同様の優先度が付与され、基幹業務データと一般データの総帯域が接続帯域以上と判定された場合にはパケットは廃棄される。以上の帯域監視動作により、本技術を適用した帯域監視機能は、各拠点の送受信帯域を接続帯域以下に抑えつつ、一般データ，基幹業務データなどのデータ種別に一定の帯域を確保する帯域分配を行うことができる。
【０００９】
【特許文献１】特開２０００−３４９８１２号公報
【００１０】
【非特許文献１】The ATM Forum Specification version 4.0
【非特許文献２】S.Blake, et al. “An Architecture for Differentiated Services”, IETF, RFC 2475, December 1998.
【非特許文献３】石川有一 他, ”帯域保証機能と余剰帯域分配機能を備えるグループポリシング方式の提案と評価”, 電子情報通信学会CQ研究会2004-04-22
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来技術の課題を、広域イーサネットサービスやIP-VPNサービスの一例を示した図2を用いて説明する。或る企業XがX-0，X-1，X-2の3つの拠点を備え、各拠点にて社内網200，201，202を構築しているとする。この企業Xが、非特許文献3を適用した帯域監視機能を用いて、基幹業務データと一般データ用の統合ネットワークを構築している。ここで、基幹業務データとは、VoIP(Voice over Internet Protocol)、映像データ、ＴＶ会議室データ、電話会議室データなどを含むデータをいう。
【００１２】
通信事業者は、企業Xの拠点X-0，X-1，X-2と通信事業者のネットワーク240との接続帯域として、100Mbps、60Mbps、70Mbpsを保証し、これらの接続帯域のうち、基幹業務データ向けの帯域として70Mbps、30Mbps、40Mbpsを保証し、残り30Mbpsの帯域を一般データ向けの帯域として保証する契約を企業Xと結んでいる。
【００１３】
社内網200，201，202の出入口には、ゲートウェイノード210，211，212が設置されている。これらのノードは、非特許文献3で述べた帯域監視機能を備えており、拠点X-0，X-1，X-2が送信するパケットを前述の接続帯域以下に制限している。また、この接続帯域を基幹業務データ，一般データの保証帯域を満たすように分配している。通信を許可された高優先度の基幹業務パケットと、中優先度の一般パケットは、アクセス回線220、221、222に出力される。通信事業者のネットワーク240は、高優先度を付与された基幹業務パケットを高優先で転送し、中優先度を付与された一般パケットを低優先で転送する。エッジノード230，231，232は、アクセス回線220，221，222に転送すべきパケットを受信すると、ゲートウェイノード210，211，212と同様に、非特許文献3を用いて帯域監視を行い、各拠点へのパケットを接続帯域以下に制限するとともに、データ種別毎に一定の帯域を確保する帯域分配を行う。
【００１４】
ノード210における帯域監視を例にして、非特許文献3を適用した帯域監視の問題点を説明する。ノード210の帯域監視機能には、以下に示す3つの監視ポリシが設定され、これらの監視ポリシに基づいて帯域監視を行うと考える。第一の監視ポリシは、拠点X-0が拠点X-1，X-2に向かって送信するパケットを、接続帯域100Mbps以下に制限する監視ポリシAである。なお、ここで拠点X-0が拠点X-1，X-2に向かって送信するパケットを検出する条件をフロー検出条件Aと呼ぶことにする。第二、第三の監視ポリシは、拠点X-0がX-1，X-2に向かって送信する基幹業務データパケットを、70Mbpsを保証して帯域監視する監視ポリシB1と、拠点X-0がX-1，X-2に向かって送信する一般データパケットを、30Mbpsを保証して帯域監視する監視ポリシB2である。図14に、フロー検出条件Aと、拠点X-0が拠点X-1，X-2に向かって送信する基幹業務データパケットを検出するためのフロー検出条件B1と、一般データパケットを検出するためのフロー検出条件B2の関係を表すベン図を示す。フロー検出条件Aは、フロー検出条件B1、B2を包含する関係にある（以降、この関係を一方的包含関係と呼ぶ）。
【００１５】
ノード210において、非特許文献3による帯域監視が行われている時に、拠点X-0が拠点X-1，X-2に向かって50Mbps，50Mbpsの基幹業務データを送信し、拠点X-1に向かって100Mbpsの一般データを送信したとする。拠点X-0の基幹業務データの保証帯域は70Mbpsであるため、ノード210は、拠点X-1には、35Mbpsの基幹業務データと30Mbpsの一般データを合わせて65Mbpsを送信し、拠点X-2には、35Mbpsの基幹業務データを送信する。即ち、拠点X-2宛データは、拠点X-1宛データよりも不利な帯域分配を受ける。従って、企業Xは、拠点X-1と拠点X-2の間で公平な帯域分配を実現できない。
【００１６】
このような不公平な帯域分配を防ぐためには、ノード210の帯域監視機能は、拠点X-0が拠点X-1に向けて送信するパケットを、50Mbpsで監視する監視ポリシC1と、拠点X-0が拠点X-2に向けて送信するパケットを、50Mbpsで監視する監視ポリシC2に基づいて帯域監視を行う必要がある。
【００１７】
図15に、拠点X-0が拠点X-1または拠点X-2に向けて送信するパケットを検出するフロー検出条件C1およびC2と、フロー検出条件A、B1、B2の関係を表すベン図を示す。フロー検出条件B1、B2とフロー検出条件C1、C2は、一部の条件を共有する関係にある（以降、この関係を相互包含関係と呼ぶ）。特許文献1、非特許文献1〜3は、一方的包含関係にある複数のフロー検出条件で検出されるフローの帯域監視に関する記載はあるが、相互包含関係にある複数のフロー検出条件で検出されるフローの帯域監視に関する記載が無く、これらの従来技術を適用した帯域監視装置は、不公平な帯域分配を防止することができない問題点がある。
【００１８】
そこで、本願の目的は、以上の問題点を解決するために、複数の監視ポリシに基づいて帯域監視を行う際に、フロー検出条件が一方的包含関係にある場合だけでなく、相互包含関係にある場合にも対応可能な帯域監視機能を提供することである。
【課題を解決するための手段】
【００１９】
本願のデータ転送装置は、「発明が解決しようとする課題」に述べた課題を解決するために、以下の手段を有する。
パケットの入出力を行う送受信部が入力したパケットのヘッダ内の情報と、パケットヘッダ内の情報のうち少なくとも一つの情報を含む一つ乃至複数のフロー検出条件とを比較し、一致するフロー検出条件を判定するフロー検出手段を備え、
上記一つ乃至複数のフロー検出条件の少なくとも一つに一致した入力パケットについて、一致する一つ乃至複数のフロー検出条件毎にパケットの帯域を計測して、各フロー検出条件のそれぞれに対応したトラヒック条件の遵守/違反を判定する遵守/違反判定手段を備え、
一致する一つ乃至複数のトラヒック条件の遵守／違反の判定結果に基づき、上記パケットに対する処理を決定するパケット処理判定手段を備える。
【００２０】
また、フロー検出条件として、互いに条件の一部を共有する第一のフロー検出条件と第二のフロー検出条件とが存在する場合に、
第一のフロー検出条件と第二のフロー検出条件の両方に一致するパケットに対しては，第一のフロー検出条件に対応するトラヒック条件の遵守/違反結果と、第二のフロー検出条件に対応するトラヒック条件の遵守/違反結果全てに基づいて、上記パケットに対する処理を判定し、上記第一または第二のフロー検出条件のどちらか一方のみに一致するパケットに対しては、上記パケットが一致する前記第一または第二のフロー検出条件に対応するトラヒック条件の遵守/違反結果に基づいて、上記パケットに対する処理を判定するパケット処理判定手段を備える。
【００２１】
また、上記第一及び第二のフロー検出条件を、他の第三のフロー検出条件が包含する場合に、上記第一または第二のフロー検出条件に一致するパケットに対しては、上記パケットが一致する上記第一または第二のフロー検出条件に対応するトラヒック条件の遵守/違反結果と、上記パケットが一致する第三のフロー検出条件に対応するトラヒック条件の遵守/違反結果全てに基づいて該パケットに対する処理を判定し、上記第一及び第二のフロー検出条件に一致せず、第三のフロー検出条件にのみ一致するパケットに対しては、第三のフロー検出条件に対応するトラヒック条件の遵守/違反結果のみに基づいて、該パケットに対する処理を判定するパケット処理判定手段を備える。
上記以外の本願が解決しようとする課題、その解決手段は、本願の「発明を実施するための最良の形態」の欄および図面で明らかにされる。
【発明の効果】
【００２２】
本発明を適用した帯域監視装置は、複数の監視ポリシに基づいて帯域監視を行う際に、複数のフロー検出条件が一方的包含関係にある場合だけでなく、相互包含関係にある場合にも、帯域監視を実施することができる。
【００２３】
従来技術では、図2のノード210は、拠点X-0の接続帯域として100Mbpsを確保しつつ、基幹業務データ、一般データにそれぞれ70Mbps、30Mbpsを保証する帯域監視を行うが、本願技術では、さらに、拠点X-0から拠点X-1，X-2に向かうトラヒックの帯域をそれぞれ50Mbps，50Mbpsで監視する帯域監視が可能となる。
【００２４】
拠点X-0が拠点X-2に向けて送信する基幹業務データ通信の帯域を50Mbpsとし、拠点X-1に向けて送信する一般データ通信の帯域を200Mbpsとし、基幹業務データ通信の帯域を0Mbpsから100Mbpsへ10Mbps刻みで増やしたときの帯域分配結果を図3と図4に示す。図3は従来技術による帯域分配の結果を、図4は本願技術による帯域分配の結果である。縦軸は拠点X-1に向かう基幹業務データ通信の帯域を、横軸は分配帯域を示しており、黒のバーは拠点X-1宛基幹業務データの帯域を、白のバーは拠点X-1宛一般データの帯域を、グレーのバーは拠点X-2宛基幹業務データの帯域を示す。
【００２５】
従来技術では、拠点X-1に向かう基幹業務データ通信の帯域が増加していき、30Mbpsを超えると、拠点X-1宛のパケットに50Mbpsを超過する帯域（点線で囲んだ範囲）を分配してしまう。それに対して、本願技術を適用した帯域監視装置は、X-1宛のパケットをゲートウェイノード210で50Mbps以下に制限できるため、図4のように、従来技術で拠点X-1に余分に分配していた帯域（図3の点線で囲んだ範囲）を、X-2宛の基幹業務データが使用できる。
【発明を実施するための最良の形態】
【００２６】
本発明が想定するネットワーク構成として、企業ユーザ向けに通信事業者が提供している広域イーサネットサービスやIP-VPNサービスの例を示した図2を使用する。本ネットワークでは、或る企業XがX-0，X-1，X-2の3つの拠点を持ち、各拠点にて社内網200，201，202を構築しているとする。この企業Xは、基幹業務データ向けネットワークと一般データ向けネットワークの統合ネットワークを、本願の技術を適用した帯域監視機能を用いて構築する。
【００２７】
企業Xは、拠点X-0，X-1，X-2毎に、通信事業者のネットワーク240との接続帯域として100Mbps、60Mbps、70Mbpsを契約し、これらの接続帯域の内、基幹業務データ向けの帯域として70Mbps、30Mbps、40Mbpsを保証し、一般データ向けの帯域として残り30Mbpsの帯域を保証する契約を行う。
【００２８】
社内網200，201，202の出入口には、ゲートウェイノード210，211，212が設置され、アクセス回線220，221，222と接続している。これらのノード210，211，212は、本願の技術を適用した帯域監視機能を備えており、拠点X-0，X-1，X-2が送信するトラヒックを監視して、拠点X-0，X-1，X-2が送信するトラヒックの帯域を接続帯域以下に抑える。また、接続帯域内で一般データ，基幹業務データなどのデータ種別に応じて、一定の帯域を確保すると同時に一定の帯域以下に制限するような帯域分配を行う。更に、宛先に応じて、一定の帯域を確保すると同時に一定の帯域以下に制限するような帯域分配を行う。本実施例では、データ種別に応じた帯域分配では、一定の帯域を確保する帯域保証制御を行い、宛先に応じた帯域分配でも、一定の帯域を確保する帯域保証制御を行う。但し、データ種別に応じた帯域分配を、宛先に応じた帯域分配よりも優先する。本機能が送信を許可し、優先度判定を行ったパケットは、アクセス回線220、221、222に出力される。
【００２９】
通信事業者のネットワーク240のエッジノード230，231，232は、アクセス回線220，221，222を収容しており、企業Xのパケットを受信すると、ネットワーク240内をパケットの優先度に応じた転送動作で転送する。更に、エッジノード230，231，232は、ネットワーク240内を転送されてきたパケットを受信すると、拠点X-0，X-1，X-2が受信するトラヒックの帯域を接続帯域以下に抑える。また、接続帯域内で一般データ，基幹業務データなどのデータ種別に応じて一定の帯域を確保すると同時に一定の帯域以下に制限するような帯域分配を行う。更に、送信元に応じて、一定の帯域を確保すると同時に一定の帯域以下に制限するような帯域分配を行う。本実施例では、データ種別に応じた帯域分配では、一定の帯域を確保する帯域保証制御を行い、送信元に応じた帯域分配でも、一定の帯域を確保する帯域保証制御を行う。本機能が送信を許可したパケットは、アクセス回線220、221、222に出力される。
【００３０】
本発明の帯域監視機能を備えるノードの概要動作を図5〜図7を用いて説明する。図5は本発明の帯域監視機能を備えるノード1を示す。本発明の帯域監視機能を備えるノード1は拠点内ネットワーク200，201，202の出入口に設置されたゲートウェイノード210，211，212として、または、通信事業者のネットワーク240の出入口に設置されたエッジノード230，231，232として使用されるが、本実施例では、拠点X-0の拠点内ネットワーク200に設置されたゲートウェイノード210における場合を説明する。他のノードとして動作する場合も、以下に説明する動作を同様に行えばよい。
【００３１】
本ノードは、通信事業者と企業Xの間での契約を満たすように、5つの監視ポリシが設定される。第一の監視ポリシは、拠点X-0が拠点X-1，X-2に向かって送信するパケットを、接続帯域100Mbps以下に制限する監視ポリシAである。第二、第三の監視ポリシは、拠点X-0がX-1，X-2に向かって送信する基幹業務データパケットを、70Mbpsを保証して帯域監視する監視ポリシB1と、拠点X-0がX-1，X-2に向かって送信する一般データパケットを、30Mbpsを保証して帯域監視する監視ポリシB2である。第四、第五の監視ポリシは、拠点X-0が拠点X-1に向けて送信するパケットを、50Mbpsを保証して帯域監視する監視ポリシC1と、拠点X-0が拠点X-2に向けて送信するパケットを、50Mbpsを保証して帯域監視する監視ポリシC2である。これら5つの監視ポリシの内、監視ポリシAと、監視ポリシB1またはB2と、監視ポリシC1またはC2の、3つの監視ポリシに基づいて帯域監視を行う。
【００３２】
ノード1はN個の入力回線61-l (l=1〜N)、N個の出力回線60-l (l=1〜N)、N個のインターフェース部10-l (l=1〜N)と、N個のインターフェース部10-lを結合するパケット中継処理手段20より構成される。インターフェース部10-lは、受信パケットの受信処理を行うパケット受信回路61と、受信トラヒックの帯域監視を行い通信事業者のネットワーク240内の転送優先度を判定する帯域監視部101と、ルーティングテーブルの検索を行ってパケットを出力する回線の識別番号（出力回線番号）を判定するルーティング処理部102と、受信処理を行ったパケットをパケット中継処理手段20に送信されるまで優先度別に蓄積する複数の受信側バッファ41-k (k=1〜L)と、パケット中継処理手段20より受信したパケットの送信処理を行うパケット送信回路60と、送信トラヒックの帯域監視を行い通信事業者のネットワーク240内の転送優先度を判定する帯域監視部100と、送信処理を行ったパケットを回線に送信されるまで優先度別に蓄積する複数の送信側バッファ40-k (k=1〜L)から構成される。なお、本実施例では、帯域監視部100が送信トラヒックの帯域監視を行う場合について説明を行うが、帯域監視部101が受信トラヒックの帯域監視をする場合も同様に行うことが可能である。
【００３３】
図6は企業Xが拠点毎に持つ社内網200，201，202および通信事業者のネットワーク240におけるパケットフォーマットの一例を示す。本フォーマットはヘッダ部610とデータ部620から構成される。ヘッダ部610は、ネットワーク層の送信元アドレス（送信端末のアドレス）である送信元IPアドレス（Source IP Address：以下「SIP」という。）611と、宛先アドレス（受信端末のアドレス）である宛先IPアドレス（Destination IP Address：以下「DIP」という。）612と、上位アプリケーションをあらわすプロトコル（Protocol：以下「PROTO」という。）619と、特定のプロトコルで使用される送信元ポート（Source Port：以下「SPORT」という。）613と宛先ポート（Destination Port：以下「DPORT」という。）614とネットワーク層の転送優先度を表すDSCP(Diffserv Code Point) 615と、データリンク層の送信元アドレスである送信元MACアドレス（Source MAC Address：以下「SMAC」という。）616と、宛先アドレスである宛先MACアドレス（Destination MAC Address：以下「DMAC」という。）617と、データリンク層の転送優先度を表すイーサネット或いはMPLS（Multi Protocol Label Switching）の優先度（User Priority：以下「UPRI」という。）618から構成される。また、データ部620はユーザデータ621から構成される。
【００３４】
図7は本発明のノード1内部のパケットフォーマット例を示す。本フォーマットは前述のフォーマットに内部ヘッダ部730が備わる。この内部ヘッダ部730はパケットのバイト長を表すパケット長731とパケットが入力した回線の識別番号である入力回線番号732と、パケットを出力する回線の識別番号である出力回線番号733から構成される。
【００３５】
パケットが入力回線61-1より入力するとパケット受信回路61は内部ヘッダ部730を付加し、該パケットのバイト長をカウントしてパケット長731に、パケットが入力した入力回線61-1の入力回線番号を入力回線番号732に書き込む。さらに、本パケットを一旦蓄積すると同時に、出力回線番号733を除く内部ヘッダ部730とヘッダ部710内の情報をパケットヘッダ情報13として、帯域監視部101とルーティング処理部102に送信する。
【００３６】
帯域監視部101は複数の監視ポリシに基づく帯域監視を行って、パケットの廃棄を指示する判定、或いはパケットに指定する転送優先度の判定を行い、判定結果を処理判定情報14としてパケット受信回路61に送信する。ルーティング処理部102は前記パケットヘッダ情報13内のDIP712またはDMAC717に対応する情報より出力回線番号を判定し、パケット出力回線情報15としてパケット受信回路61に送信する。なお、ノード1がルータの場合はDIP712を、スイッチの場合はDMAC717を使用する。
【００３７】
処理判定情報14とパケット出力回線情報15を受信したパケット受信回路61は、処理判定情報14が廃棄を指示する場合には、蓄積していたパケットを廃棄する。処理判定情報14がパケットの転送優先度を指示する場合には、その優先度に対応する値を、蓄積パケットのヘッダ部710内部のDSCP715、またはUPRI718に書き込み、また、パケット出力回線情報15内の出力回線番号をパケット内部ヘッダ部730内の出力回線番号733に書き込んで、蓄積パケットを受信側バッファ41-kへ送信する。
【００３８】
ノード1は、パケットのDSCP715またはUPRI718の値に応じたL個の受信側バッファ41-kを備え、DSCP715、またはUPRI718に対応する受信側バッファ41-kにパケットを蓄積する。バッファ41-1が最高優先度のバッファであり、kの値が大きくなるにつれて優先度が下がっていく。
【００３９】
パケット中継手段20は、受信側バッファ41-kが持つL個のバッファのうち、より優先度の高い受信側バッファ41-kよりパケットを読み出す。パケットを読み出すと、出力回線番号733の値に対応するインターフェース部10-lに該パケットを転送する。
パケット送信回路60は、パケット中継手段20からパケットを受信すると、本パケットを一旦蓄積すると同時に、パケットヘッダ部710内の情報を、パケットヘッダ情報11として、帯域監視部100へ送信する。
【００４０】
帯域監視部100は複数の監視ポリシに基づく帯域監視を行って、パケットの廃棄を指示する判定、或いはパケットに指定する転送優先度の判定を行い、判定結果をパケット優先度情報12としてパケット送信回路60に送信する。
【００４１】
パケット優先度情報12を受信したパケット送信回路60は、パケット優先度情報12が廃棄を指示する場合には、蓄積していたパケットを廃棄する。パケット優先度情報12がパケットの転送優先度を指示する場合には、その優先度に対応する値を、蓄積パケットのヘッダ部710内部のDSCP715、またはUPRI718に書き込む。更に、内部ヘッダ部730を削除して、該パケットを送信側バッファ40-kへ送信する。
【００４２】
ノード1は、パケットのDSCP615またはUPRI618の値に応じてL個の送信側バッファ40-kにパケットを蓄積する。バッファ40-1が最高優先度のバッファであり、kの値が大きくなるにつれて優先度が下がっていく。送信側バッファ40-kのうち、より優先度の高い送信側バッファ40-kよりパケットが読み出され、出力回線60-1に送信される。
【００４３】
次に、図1，図7，図9，図10，図11，図12，図13を用いて本発明の詳細動作について説明する。本発明の帯域監視部100は帯域監視アルゴリズムとしてリーキーバケットアルゴリズムを使用する。図1に帯域監視部100のブロック図を示す。帯域監視部100は、パケットのヘッダフィールドの情報の内、少なくとも一つの情報を含む一つ乃至複数のフロー検出条件と、該フロー検出条件に対応する入力パケットのヘッダフィールドの情報を比較し、一致する一つ乃至複数のフロー検出条件を判定するフロー検出部110と、フロー検出条件と該フロー検出条件に対応するトラヒック条件を備える監視ポリシを複数格納する監視ポリシテーブル111と、監視ポリシテーブル111の各監視ポリシの読み出しと書き込みを行う監視ポリシテーブル制御部120と、入力パケットのパケット長を保持するためのパケット長蓄積部130と、現時刻を生成するタイマー140と、一つないしは複数の一致した監視ポリシ内のトラヒック条件に対するそれぞれの遵守/違反を判定する遵守/違反判定部150-n (n=1〜K)と、入力パケットに対する優先度の判定や、廃棄判定を行うパケット処理判定部180及び処理判定テーブル182より構成される。本実施例では、監視ポリシA、B1、B2、C1、C2のフロー検出条件が監視ポリシテーブル111に設定されるが、パケットが同時に一致し得るフロー検出条件の数は最大3であり、遵守/違反判定部の数Kは3以上であれば良い。より多くのフロー検出条件が一致する際には、遵守/違反判定部を4個以上備えれば良い。
【００４４】
図12と図13には、帯域監視部100が行う処理のフローチャートの前半部分と後半部分を示す。帯域監視部100の処理は、ポリシング開始処理1200と、n番目の監視ポリシ向けの遵守／違反判定を行うバースト現在値判定処理1210-n（n=1〜K）及び遵守／違反判定処理1310-n（n=1〜K）と、最大K個の遵守／違反判定結果と後述するフロー検出条件の優先度情報とを基に総合判定を行う総合判定処理1320-n（n=1〜K）と、これらの総合判定結果を基にパケットの廃棄を指示する判定、或いはパケットの転送優先度を指示する判定を行うパケット処理判定処理1330により構成される。処理1210-n及び1310-nはn番目の監視ポリシの遵守／違反判定部150-nが実行し、処理1320-n（n=1〜K）及び1330はパケット処理判定部180が実行する。
【００４５】
帯域監視部100がパケットヘッダ情報11を受信すると、まず、ポリシング開始処理1200が行われ、フロー検出部110がSIP711、DIP712、PROTO719、SPORT713、DPORT714、DSCP715、SMAC716、DMAC717、UPRI718に対応する情報を蓄積して、パケット長蓄積部130が、パケット長731に対応する情報を蓄積する処理が行われる(ステップ1201)。
【００４６】
ステップ1202では、フロー検出部110が蓄積したパケットヘッダ情報11と、監視ポリシテーブル111が図9のように保持するフロー検出条件900-i (i=1〜M)を比較して、一致する一つないしは複数（最大K）個のフロー検出条件900-i を検出して、各フロー検出条件900-iが記載されたテーブルアドレス番号情報114-n（n=1〜K）を、監視ポリシテーブル制御部120に伝達する。なお、nの値は、iの小さい順に割り振られる。例えば、パケットヘッダ情報11が、フロー検出条件900-2とフロー検出条件900-5と一致した場合、フロー検出条件900-2が記載されたテーブルアドレス番号情報が114-1となり、フロー検出条件900-5が記載されたテーブルアドレス番号情報が114-2となる。
【００４７】
更に、検出した1つ乃至複数（最大K）個のフロー検出条件900-iが記載された1つ乃至複数個のエントリ番号情報114-n（n=1〜K）を、全テーブルアドレス番号情報114（114-1〜K）として、パケット処理判定部180内のパケット処理判定回路181へ送信する。
【００４８】
従って、第一のフロー検出条件と、第一のフロー検出条件の一部を共有する第二のフロー検出条件がある場合、共有する条件を満たすパケットに対しては，該共有する条件を含む第一と第二のフロー検出条件に対応する2つのテーブルアドレス番号情報114-1と114-2を、監視ポリシテーブル制御部120に伝達して、テーブルアドレス番号情報114-1と114-2から構成される全テーブルアドレス番号情報114を、パケット処理判定部180内のパケット処理判定回路181へ送信する。第一のフロー検出条件に一致し、第一のフロー検出条件と第二のフロー検出条件が互いに共有する条件を満たさないパケットに対しては、第一のフロー検出条件に対応する1つのテーブルアドレス番号情報114-1を監視ポリシテーブル制御部120に伝達して、テーブルアドレス番号情報114-1のみから構成される全テーブルアドレス番号情報114を、パケット処理判定部180内のパケット処理判定回路181へ送信する。第二のフロー検出条件に一致し、第一のフロー検出条件と第二のフロー検出条件が互いに共有する条件を満たさないパケットに対しては、第二のフロー検出条件に対応する1つのテーブルアドレス番号情報114-1を監視ポリシテーブル制御部120に伝達して、テーブルアドレス番号情報114-1のみから構成される全テーブルアドレス番号情報114を、パケット処理判定部180内のパケット処理判定回路181へ送信する。以上の様に第一のフロー検出条件の一部を共有する第二のフロー検出条件がある場合、テーブルアドレス番号情報114-nとして、第一と第二のフロー検出条件に対応する2つのテーブルアドレス番号情報114-1と114-2、第一または第二のフロー検出条件に対応する1つのテーブルアドレス番号情報114-1、といった3通りのテーブルアドレス番号情報114-nが送信される。一方、非特許文献3では、一方的包含関係にあるフロー検出条件しか、考慮しないため、送信するテーブルアドレス番号情報114-nは2通りとなる。
【００４９】
監視ポリシテーブル111が保持するフロー検出条件900-i (i=1〜M)の詳細構成を以下に説明する。監視ポリシテーブル111は、M個のフロー検出条件900-i (i=1〜M)を格納するフロー検出条件テーブル112（図9）と、M個のトラヒック条件1000-i (i=1〜M)を格納するトラヒック条件テーブル113（図10）とから構成される。本実施例では、A，B1，B2，C1，C2の5つの監視ポリシを設定するため、Mが5以上であれば良い。また、本実施例では、監視ポリシC1，C2の遵守/違反判定結果を、監視ポリシB1，B2の遵守/違反判定に影響させるため、監視ポリシテーブル111において、監視ポリシC1，C2を監視ポリシB1，B2よりも前のエントリに記載する。例えば、監視ポリシC1とC2のフロー検出条件とトラヒック条件を、900-2，900-3と1000-2，1000-3に設定し、監視ポリシB1とB2のフロー検出条件とトラヒック条件を、900-4，900-5と1000-4，1000-5に設定する。
【００５０】
図9に、フロー検出条件テーブル112のフォーマットの一例を示す。フロー検出条件テーブル112に保持されるフロー検出条件900-iは、送信元IPアドレスの条件を表すFLOW-SIP 901-i (i=1〜M)と、宛先IPアドレスの条件を表すFLOW-DIP 902-i (i=1〜M)と、送信元ポートの条件を表すFLOW-SPORT 903-i (i=1〜M)と、宛先ポートの条件を表すFLOW-DPORT 904-i (i=1〜M)と、ネットワーク層の転送優先度の条件を表すFLOW-DSCP 905-i (i=1〜M)と、送信元MACアドレスの条件を表すFLOW-SMAC 906-i (i=1〜M)と、宛先MACアドレスの条件を表すFLOW-DMAC 907-i (i=1〜M)と、データリンク層の転送優先度を表すイーサ/MPLS優先度の条件を表すFLOW-UPRI 908-i (i=1〜M)と、プロトコルの条件を表すFLOW-PROTO 912- i (i=1〜M)から構成され、フロー検出条件の優先度を表すFLOW-PRI 909-i (i=1〜M)と、一定の帯域以下に制限するための監視ポリシである場合に1を記録するFLOW-MAX 910-i (i=1〜M)と、一定の帯域で保証するための監視ポリシである場合に1を記録するFLOW-MIN 911-i (i=1〜M)を備えている。
【００５１】
FLOW-PRI 909-iの値は、以下のように定める。監視ポリシには、一定の帯域以下に制限するための監視ポリシと、一定の帯域を保証するための監視ポリシの2種類がある。一定の帯域以下に制限するための監視ポリシは、トラヒック条件に対して違反と判定されたパケットを廃棄、或いはパケットの優先度を下げる監視ポリシである。一方、一定の帯域を保証するための帯域ポリシは、トラヒック条件に対して遵守と判定されたパケットに転送を指示する監視ポリシである。一定の帯域以下に制限するための監視ポリシで違反と判定され、一定の帯域を保証するための監視ポリシで遵守と判定された場合に、パケット処理に対する競合が発生する。このような競合が発生した時、どちらの判定結果を優先させるかを決定するための優先度をFLOW-PRI 909-iに書き込む。
【００５２】
本実施例では、一定の帯域以下に制限するための監視ポリシAと、一定の帯域を保証するための監視ポリシB1，B2，C1，C2がある。ノード210から拠点X-1とX-2に向かうトラヒック間で公平な帯域分配を実現すると同時に、データ種別毎に一定の帯域を保証して、企業Xと通信事業者間の契約を守る必要がある。そのため、監視ポリシB1，B2と、監視ポリシC1，C2の優先度は同等となる。一番優先度が低いのは、監視ポリシAである。フロー検出条件が属す監視ポリシの優先度をFLOW-PRI 909-iで表し、フロー検出条件に対応するトラヒック条件の種別（帯域制限型か帯域保証型かの種別）をFLOW-MAX 910-iとFLOW-MIN 911-iで表すので、監視ポリシA，B1，B2，C1，C2に対応する[FLOW-PRI 909-i，FLOW-MAX 910-i，FLOW-MIN 911-i]の値は、それぞれ、[1，1，0]，[2，0，1]，[2，0，1]，[2，0，1]，[2，0，1]などと設定される。
【００５３】
なお、フロー検出において、ユーザの持つ拠点（本実施例の場合、拠点X-0，X-1，X-2）の内、どの拠点へ向かうパケットかの識別に関しては、例えば、各拠点が該拠点に属する端末のIPアドレスを、ネットワーク240を管理する通信事業者に申告しておけば、IPアドレスにより送信元および宛先拠点を判定できる。また、データ種別（本実施例の場合、基幹業務データと、一般データ）の識別に関しては、例えば、各拠点の管理者が特定IPアドレスの端末が送信するパケットを基幹業務データパケットと、それ以外のパケットを一般データパケットと申告しておけば、フロー検出部110がSIP711に対応する情報からデータ種別を判定することができる。
【００５４】
ステップ1203では、監視ポリシテーブル制御部120が、フロー検出部110が指定した1つ乃至複数のテーブルアドレス番号情報114-nに対応するアドレスを生成し、監視ポリシテーブル111内のトラヒック条件テーブル113から、対応するトラヒック条件1000-i (i=1〜M)を読み出し、別々に伝達情報123-n（n=1〜K）として異なる遵守／違反判定部150-nへ送信する。また、監視ポリシテーブル111のフロー検出条件テーブル112から、対応するフロー検出条件の優先度FLOW-PRI 909-iと、FLOW-MAX 910-iと、FLOW-MIN 911-iを読み出し、伝達情報123-nに含めて、パケット処理判定部180内の優先度蓄積手段191-nに伝達する。
【００５５】
図10には、トラヒック条件テーブル113のフォーマットの一例を示す。トラヒック条件テーブル113に保持されるトラヒック条件1000-iは、バケツの容量THR-i (Byte) 1001-i (i=1〜M)と、バケツが漏れる速度であり監視帯域を表すPOLR-i (Byte/sec) 1002-i (i=1〜M)と、同一のトラヒック条件1000-iを参照するパケットが前回到着した時刻TS-i (sec) 1003-i (i=1〜M)と、前パケットの帯域監視直後にバケツに蓄積されていた水量CNT-i (Byte) 1004-i (i=1〜M)から構成される。
【００５６】
バケツの容量THR-i (Byte) 1001-iはTHR-n蓄積手段171-nに送信され、バケツが漏れる速度であり監視帯域を表すPOLR-i (Byte/sec) 1002-iはPOLR-n蓄積手段163-nに送信され、パケットが前回到着した時刻TS-i(sec) 1003-iはTS-n蓄積手段162-nに送信され、前パケットの帯域監視直後にバケツに蓄積されていた水量CNT-i(Byte) 1004-iはCNT-n蓄積手段161-nに送信され、フロー検出条件テーブル112から読み出された各フロー検出条件の優先度情報FLOW-PRI 909-iは、優先度蓄積手段191-nに送信され、それぞれ別々に蓄積される。
ポリシング開始処理1200が終了すると、トラヒック条件毎に遵守／違反判定を行う処理が行われる。
【００５７】
バースト現在値判定処理1210-n (n=1〜K)では、バースト現在値判定部160-nがパケット入力直前のバケツ水量（バケツ蓄積量）を判定する。まず、バケツ蓄積量判定回路164-nが現時刻を示すタイマー140の現時刻値141と、TS-n蓄積手段162-n内の前パケットの到着時刻との差分を計算し、前パケット到着からの経過時間を計算する（ステップ1211-n）。次に、経過時間にPOLR-n蓄積手段163-n内の値を乗じて、前パケット到着から漏れた水の量（減少水量）DEC-nを計算する（ステップ1212-n）。更に、この減少水量を、CNT-n蓄積手段161-n内の値（元のバケツ蓄積水量）と比較して（ステップ1213-n）、元のバケツ蓄積水量よりも大きい場合は、減少水量減算後のバケツ蓄積水量CNT-n’を0に設定し（ステップ1214-n）、元のバケツ蓄積水量よりも小さい場合は、減少水量減算後のバケツ蓄積水量CNT-n’を、CNT-nとDEC-nの差分に設定する（ステップ1215-n）。演算の終了したCNT-n’の情報165-nは、遵守／違反判定部170-n (n=1〜K)へと送信される。
【００５８】
遵守／違反判定処理1310-nでは、遵守／違反判定部170-nの監視結果判定回路172-nが、バースト現在値判定部160-nの判定したバケツ蓄積水量がバケツ閾値に収まるか否かを判定する。具体的には、THR-i蓄積手段171-n内のバケツ容量の値THR-nと、バースト現在値判定部160-nが判定した水量の値CNT-n’の大小比較を行う(ステップ1311)。
【００５９】
CNT-n’＜THR-nであってバケツが溢れない場合には、入力パケットを遵守パケットと判定し（ステップ1312）、次パケット到着時に使用するバケツ蓄積水量CNT-n”を、CNT-n’とパケット長131の和に設定する（ステップ1313）。CNT-n’≧THR-nであってバケツが溢れている場合には、入力パケットを違反パケットと判定し（ステップ1314）、次パケット到着時に使用するバケツ蓄積水量CNT-n”にCNT-n’の値を設定する（ステップ1315）。更に、次パケット到着時に使用するバケツ蓄積水量CNT-n”とパケット長とバケツ容量の値THR-nからなる情報173-nを、パケット処理判定部180内の総合判定部190-nに送信して、遵守／違反判定結果174-nをパケット処理判定部180内の全ての総合判定部190-n（n=1〜K）に送信する。
【００６０】
総合判定処理1320-nでは、一定の帯域以下に制限するための監視ポリシで違反と判定され、一定の帯域を保証するための監視ポリシで遵守と判定され、パケット処理に対する競合が発生する時に、優先度蓄積手段191-n（n=1〜K）内に蓄積された優先度FLOW-PRI-n（n=1〜K）を基に、優先度の低い方の遵守／違反判定結果を、優先度の高い方の遵守／違反判定結果に変更する。更に、違反から遵守に変更した場合は、次パケット到着時に使用するバケツ蓄積水量CNT-n”をCNT-n”＋パケット長×2に、遵守から違反に変更した場合は、次パケット到着時に使用するバケツ蓄積水量CNT-n”をCNT-n”−パケット長×2（＜0となってしまう場合は0）に変更する。
【００６１】
更に、総合判定処理1320-nでは、優先度が等しく、トラヒック条件の種別が同一の監視ポリシが複数存在し、遵守／違反判定結果が互いに異なる場合、nの小さい方の遵守／違反判定結果174-nに基づき、nの大きい方の遵守／違反判定を再度実施する。更に、nの小さい方の監視ポリシのトラヒック条件の種別が帯域保証型で遵守判定の時は、THR-nをTHR-n×2とした上でnの大きい方の監視ポリシの遵守／違反判定を再度実施し、nの小さい方の監視ポリシのトラヒック条件の種別が帯域制限型で違反判定の時は、THR-nをTHR-n／2とした上でnの大きい方の監視ポリシの遵守／違反判定を再度実施する。以下に詳細な処理を述べる。
【００６２】
総合判定部190-nの総合判定回路192-nが、全ての遵守／違反判定結果174-n（n=1〜K）と、次パケット到着時に使用するバケツ蓄積水量CNT-n”とバケツ容量の値THR-nとパケット長の情報173-nと、優先度蓄積手段191-n（n=1〜K）内に蓄積された全ての優先度FLOW-PRI-n（n=1〜K）と、FLOW-MAX-n (n=1〜K)と、FLOW-MIN-n (n=1〜K)を受け取る。
【００６３】
これらの情報を基に、FLOW-MAX-n=1、尚且つ遵守／違反判定結果174-n=違反の時に、nを除くいずれかのmについてFLOW-PRI-n＜FLOW-PRI-m、尚且つFLOW-MIN-m=1、尚且つ遵守／違反判定結果174-m=遵守となる場合（ケース1とする）、或いは、FLOW-MIN-n=1、尚且つ遵守／違反判定結果174-n=遵守の時に、nを除くいずれかのmについてFLOW-PRI-n＜FLOW-PRI-m、尚且つFLOW-MAX-m=1、尚且つ遵守／違反判定結果174-m=違反となる場合（ケース2とする）、或いは、FLOW-MIN-n=1、尚且つ遵守／違反判定結果174-n=違反の時に、FLOW-MIN-(n-1)=1、尚且つFLOW-PRI-n＝FLOW-PRI-(n-1)、尚且つ遵守／違反判定結果174-（n-1）=遵守を満たす場合（ケース3とする）、或いは、FLOW-MAX-n=1、尚且つ遵守／違反判定結果174-n=遵守の時に、FLOW-MAX-(n-1)=1、尚且つFLOW-PRI-n＝FLOW-PRI-(n-1)、尚且つ遵守／違反判定結果174-（n-1）=違反を満たす場合（ケース4とする）に、遵守／違反判定部170-nが行った処理を以下のように変更する。（ステップ1321-n）。
【００６４】
ケース1では、遵守／違反判定部170-nから受け取った遵守／違反判定結果174-nを遵守に変更して（ステップ1322-n）、次パケット到着時に使用するバケツ蓄積水量CNT-n”を、CNT-n” ＋パケット長×2に変更する（ステップ1323-n）。
【００６５】
ケース2では、遵守／違反判定部170-nから受け取った遵守／違反判定結果174-nを違反に変更して（ステップ1322-n）、次パケット到着時に使用するバケツ蓄積水量CNT-n”を、CNT-n”−パケット長×2（＜0となってしまう場合は0）に変更する（ステップ1323-n）。
【００６６】
ケース3では、バケツ容量の値THR-nを2倍に増加させ（ステップ1323-n）、ステップ1310-nの処理をもう一度実施し、新たな遵守／違反判定結果193-nを得る。
【００６７】
ケース4では、減少水量減算後のバケツ蓄積水量CNT-n’をCNT-n” −パケット長に、バケツ容量の値THR-nを1/2倍に減少させ（ステップ1323-n）、ステップ1310-nの処理をもう一度実施し、新たな遵守／違反判定結果193-nを得る。
【００６８】
変更済みの遵守／違反判定結果193-n（n=1〜K）は、パケット処理判定回路181へと送信される。また、変更済みの次パケット到着時に使用するバケツ蓄積水量CNT-n”の値と、現在の時刻値を、更新用情報122-n（n=1〜K）として監視ポリシテーブル制御部120に送信し、監視ポリシテーブル制御部120は、監視ポリシテーブル111のトラヒック条件テーブル113内のステップ1203にて作成したアドレスにこれらの値を書き込む（ステップ1324-n）。
【００６９】
パケット処理判定処理1330では、パケット処理判定回路181が、フロー検出部110から受け取った全てのテーブルアドレス番号情報114（114-1〜K）を基にアドレスを生成して、全ての監視ポリシの遵守／違反判定結果193-n（n=1〜K）に対応する処理指定情報1100-iを、それぞれ処理判定テーブル182から読み出す。処理指定情報1100-iは、最大でK個読み出される。本実施例では、監視ポリシAと、B1またはB2のいずれか一方と、C1またはC2のいずれか一方の判定結果に対応する、合計3個の処理指定情報1100-iが読み出される。（ステップ1331）。
【００７０】
図11に処理判定テーブル182のフォーマットを示す。処理判定テーブル182は、M個のフロー検出条件に対応した処理情報1100-i（i=1〜M）を所持する。処理指定情報1100-iは、1つの監視ポリシに基づいて処理判定を行う際の処理情報として、i番目の監視ポリシの遵守／違反判定結果が違反だった場合の処理指定情報PRI-1-1 1101-1-i (i=1〜M)と、遵守だった場合の処理指定情報PRI-1-2 1101-2-i (i=1〜M)の他、複数の同一の優先度を持つ監視ポリシに基づいて処理判定を行う際の処理情報として、遵守／違反判定結果が違反だった場合の処理指定情報PRI-2-1 1102-1-i (i=1〜M)と、遵守／違反判定結果が遵守だった場合の処理指定情報PRI-2-2 1102-2-i (i=1〜M)、から構成される。本実施例の場合、廃棄を指定する場合は、値'0'が書き込まれる。
【００７１】
更に、総合判定部190-n（n=1〜K）から受信した全ての遵守／違反判定結果193-n（n=1〜K）と、ステップ1331にて読み出した全ての遵守／違反判定結果193-n（n=1〜K）に対応する全ての処理指定情報1100-iと、全ての優先度蓄積手段191-n（n=1〜K）から受け取った全ての優先度情報FLOW-PRI-n（n=1〜K）と監視ポリシの種別情報FLOW-MAX-n，FLOW-MIN-nを基にパケット処理判定を行う。パケット処理判定では、優先度FLOW-PRI-nが最も高いフロー検出条件を持つ監視ポリシの遵守／違反判定結果193-nに対応する処理指定情報1100-iを優先的に用いて、パケットの廃棄を指定する判定、またはパケットの転送優先度の判定を行い、判定結果を処理判定情報12として、パケット送信回路60へ送信する（ステップ1332）。以下に、図16のフローチャートを用いて、ステップ1332の詳細を説明する。
【００７２】
まず、一番初めに仮の処理判定情報12として仮判定情報12-tmpを用意して、仮判定情報12-tmpを初期化する（ステップ1601）。通常は、廃棄を指定する値'0'が仮判定情報12-tmpの初期値となる。
【００７３】
次に、優先度FLOW-PRI-nが最も高いフロー検出条件を持つ監視ポリシを1つ乃至複数検出して（ステップ1602）、検出した監視ポリシの個数Zによって異なる処理を行う（ステップ1603）。Z=1の場合は、FLOW-MAX-n及びFLOW-MIN-nの値に基づいて、帯域保証型の監視ポリシか、帯域制限型の監視ポリシかを判定して、監視ポリシの種別に応じて異なる処理を行う（ステップ1604）。更に、遵守/違反判定結果193-nに応じて異なる処理を行う（ステップ1605/1606）。一方、Z＞1の場合は、遵守/違反判定結果193-nと、FLOW-MAX-n及びFLOW-MIN-nの値に基づいて、遵守/違反判定結果が違反となる帯域制限型の監視ポリシ、または、遵守/違反判定結果が遵守となる帯域保証型の監視ポリシが、1つ乃至複数存在する場合と、1つも存在しない場合で、異なる処理を行う（ステップ1607）。
【００７４】
前述したような、優先度FLOW-PRI-nを基に検出した監視ポリシの個数Zと、FLOW-MAX-n及びFLOW-MIN-nの値に基づく監視ポリシ種別の判定と、遵守/違反判定結果193-nにより、以下6つのケースが生じ、それぞれのケースについて異なるパケット処理判定を行う。
ケース1：        Z=1，FLOW-MIN-n=1，遵守/違反判定結果193-n=違反
ケース2：        Z=1，FLOW-MIN-n=1，遵守/違反判定結果193-n=遵守
ケース3：        Z=1，FLOW-MAX-n=1，遵守/違反判定結果193-n=遵守
ケース4：        Z=1，FLOW-MAX-n=1，遵守/違反判定結果193-n=違反
ケース5：        Z>1，FLOW-MAX-n=1と遵守/違反判定結果193-n=違反、または、FLOW-MIN-n=1と遵守/違反判定結果193-n=遵守を満たす監視ポリシが1つも存在しない
ケース6：        Z>1，FLOW-MAX-n=1と遵守/違反判定結果193-n=違反、または、FLOW-MIN-n=1と遵守/違反判定結果193-n=遵守を満たす監視ポリシが1つ乃至複数存在
ケース1と4では、違反判定結果に対応する処理指定情報PRI-1-1 1101-1-iと、仮判定情報12-tmpを比較し、優先度指定判定と廃棄判定の比較であれば優先度指定判定を、低優先度指定判定と高優先度指定判定の比較であれば高優先度指定判定を、新たな仮判定情報12-tmpに決定する（ステップ1608と1611）。
【００７５】
ケース2と3では、遵守判定結果に対応する処理指定情報PRI-1-2 1101-2-iと、仮判定情報12-tmpを比較し、ケース1同様に、新たな仮判定情報12-tmpを決定する（ステップ1609と1610）。
【００７６】
ケース6では、違反判定結果となる帯域制限型の監視ポリシと、遵守判定結果となる帯域保証型の監視ポリシの全てについて、対応する処理指定情報PRI-2-1 1102-1-iまたは処理指定情報PRI-2-2 1102-2-iと、仮判定情報12-tmpを比較し、優先度指定判定と廃棄判定の比較であれば優先度指定判定を、低優先度指定判定と高優先度指定判定の比較であれば高優先度指定判定を、新たな仮判定情報12-tmpに決定する処理を行う（ステップ1613）。
【００７７】
ケース5では、遵守判定結果となる帯域制限型の監視ポリシと、違反判定結果となる帯域保証型の監視ポリシの全てについて、対応する処理指定情報PRI-2-1 1102-1-iまたは処理指定情報PRI-2-2 1102-2-iと、仮判定情報12-tmpを比較し、ケース5同様に、新たな仮判定情報12-tmpに決定する処理を行う（ステップ1612）。
【００７８】
前述のように、仮判定情報12-tmpを決定する処理が完了すると、ケース1，3，5では、優先度FLOW-PRI-nがより小さなフロー検出条件を持つ監視ポリシが存在するか否かに応じて、異なる処理を行う（ステップ1614）。存在する場合は、優先度FLOW-PRI-nがより小さなフロー検出条件を持つ監視ポリシの中から、優先度FLOW-PRI-nが最も高いフロー検出条件を持つ監視ポリシを1つ乃至複数検出して（ステップ1615）、ステップ1603から、また同様な処理を行う。ケース1，3，5で、優先度FLOW-PRI-nがより小さなフロー検出条件を持つ監視ポリシが存在しない場合、またはケース2，4，6では、仮判定情報12-tmpを最終的な処理判定情報12に決定して、処理判定情報12をパケット送信回路60へ送信する（ステップ1616）。
【００７９】
前述したように、監視ポリシA，B1，B2，C1，C2に対応する[FLOW-PRI 909-i，FLOW-MAX 910-i，FLOW-MIN 911-i]の値は、それぞれ[1，1，0]，[2，0，1]，[2，0，1]，[2，0，1]，[2，0，1]と設定される。また、監視ポリシA，B1，B2，C1，C2に対応する処理指定情報[PRI-2-1 1102-1-i，PRI-2-2 1102-2-i，PRI-2-1 1102-1-i，PRI-2-2 1102-2-i]の値を、それぞれ[0，2，0，0]，[0，0，0，4]，[0，0，0，4]，[0，0，0，2]，[0，0，0，2]と設定したとする。この場合、FLOW-PRI 909-iの大きさに基づいて、まず、監視ポリシB1またはB2と、監視ポリシC1またはC2について前述したステップ1603〜1615の処理を行い、その次に監視ポリシAについて前述したステップ1603〜1615の処理を行う。
【００８０】
まず、仮判定情報12-tmpの初期値として廃棄を指定する値'0'が設定される。次に、監視ポリシB1，B2，C1，C2のフロー検出条件の優先度（=2）が、監視ポリシAの優先度（=1）よりも大きく、同じ値であることから、監視ポリシB1またはB2の遵守／違反判定結果と、監視ポリシC1またはC2の遵守／違反判定結果を同時に用いて、ステップ1603〜1615の処理を行う。
【００８１】
監視ポリシB1またはB2の遵守／違反判定結果193-nが遵守で、監視ポリシC1またはC2の遵守／違反判定結果193-nが違反だった場合（図16ケース6）、監視ポリシB1またはB2の遵守判定時の処理指定情報PRI-2-2 1102-2-iと、仮判定情報12-tmpを比較の上、高優先度指定が最終的な仮判定情報12-tmpとなり、ステップ1603〜1615の処理が終了する。
【００８２】
監視ポリシB1またはB2の遵守／違反判定結果193-nが違反で、監視ポリシC1またはC2の遵守／違反判定結果193-nが遵守だった場合（図16ケース6）、監視ポリシC1またはC2の遵守判定時の処理指定情報PRI-2-2 1102-2-iと、仮判定情報12-tmpを比較の上、中優先度指定が最終的な仮判定情報12-tmpとなり、ステップ1603〜1615の処理が終了する。
【００８３】
監視ポリシB1またはB2の遵守／違反判定結果193-nが遵守で、監視ポリシC1またはC2の遵守／違反判定結果193-nも遵守だった場合（図16ケース6）、監視ポリシB1またはB2の遵守判定時の処理指定情報PRI-2-2 1102-2-i、及び監視ポリシC1またはC2の遵守判定時の処理指定情報PRI-2-2 1102-2-iと、仮判定情報12-tmpを比較の上、高優先度指定が最終的な仮判定情報12-tmpとなり、ステップ1603〜1615の処理が終了する。
【００８４】
監視ポリシB1またはB2の遵守／違反判定結果193-nが違反で、監視ポリシC1またはC2の遵守／違反判定結果193-nも違反だった場合（図16ケース5）、監視ポリシB1またはB2の違反判定時の処理指定情報PRI-2-1 1102-1-i、及び監視ポリシC1またはC2の違反判定時の処理指定情報PRI-2-1 1102-1-iと、仮判定情報12-tmpを比較の上、廃棄指定が最終的な仮判定情報12-tmpとなり、引き続き監視ポリシAについてステップ1603〜1615の処理が行われる。
【００８５】
監視ポリシAの遵守／違反判定結果193-nが違反だった場合は、監視ポリシAの違反判定時の処理指定情報PRI-1-1 1101-1-iの値'0'に従って廃棄指定と判定され、仮判定情報12-tmpと比較の上、廃棄指定が最終的な仮判定情報12-tmpとなり、ステップ1603〜1615の処理が終了する。遵守／違反判定結果193-nが遵守だった場合は、監視ポリシAの遵守判定時の処理指定情報PRI-1-2 1101-2-iの値'2'に従って中優先度指定と判定され、仮判定情報12-tmpと比較の上、中優先度指定が仮判定情報12-tmpとなる。これ以上判定すべき監視ポリシが存在しないため、ステップ1603〜1615の処理が終了する。
【００８６】
このようにして、ステップ1603〜1615の処理が終了すると、ステップ1616の処理において、仮判定情報12-tmpを最終的な処理判定情報12に決定して、処理判定情報12をパケット送信回路60へ送信する処理が行われる。高優先度指定，中優先度指定，または廃棄指定のいずれかの情報が、パケット送信回路60へ送信される。
【００８７】
更に、得られた処理判定情報12の値に基づいて、トラヒック条件テーブル113に保持されるバケツの容量THR-i (Byte) 1001-i (i=1〜M)や、バケツが漏れる速度であり監視帯域を表すPOLR-i (Byte/sec) 1002-i (i=1〜M)を変更する処理を行う場合もある。例えば、廃棄指定の場合は、監視ポリシC1またはC2の内、一致する方の監視ポリシのトラヒック条件の監視帯域やバケツの容量を増加させ、もう一方の監視ポリシのトラヒック条件の監視帯域やバケツの容量を減少させる。中優先度指定の場合は、監視ポリシB1またはB2の内、一致する方の監視ポリシのトラヒック条件の監視帯域やバケツの容量を増加させ、もう一方の監視ポリシのトラヒック条件の監視帯域やバケツの容量を減少させるなどの処理を行う。
【００８８】
以上述べた方式により、複数の監視ポリシに基づいて帯域監視を行う際に、フロー検出条件が一方的包含関係にある場合だけでなく、相互包含関係にある場合にも対応可能となる。
【００８９】
拠点内ネットワーク200，201，202の管理者は、ゲートウェイノード210，211，212として設置されたノード1外部の管理端末2を用いて帯域監視に関する情報をノード1に設定する。ノード1内部のプロセッサ30は、コマンドに記述された内容を各テーブルに記録する。例として、ゲートウェイノード210として設置されたノード1外部の管理端末2に入力されるコマンドを図17に示す。なお、拠点内ネットワーク200，201，202は、ネットワーク192.168.200.0/24、192.168.201.0/24、192.168.202.0/24で表され、ネットワーク192.168.200.0/24の中に、基幹業務データを送信するサブネットワーク192.168.200.0/25と、一般データを送信するサブネットワーク192.168.200.128/25が存在するものとする。
【００９０】
図17で示したコマンドは、フロー番号1701毎に、フローの検出条件1702と、フロー検出条件の優先度1703-1と種別1703-2と、そのフロー検出条件に対応するトラヒック条件1704と、処理判定情報1705から構成される。
【００９１】
フロー検出条件1702では、送信元IPアドレスの条件を表すFLOW-SIP 901-i (i=1〜M)と、宛先IPアドレスの条件を表すFLOW-DIP 902-i (i=1〜M)と、送信元ポートの条件を表すFLOW-SPORT 903-i (i=1〜M)と、宛先ポートの条件を表すFLOW-DPORT 904-i (i=1〜M)と、ネットワーク層の転送優先度の条件を表すFLOW-DSCP 905-i (i=1〜M)と、送信元MACアドレスの条件を表すFLOW-SMAC 906-i (i=1〜M)と、宛先MACアドレスの条件を表すFLOW-DMAC 907-i (i=1〜M)と、データリンク層の転送優先度を表すイーサ/MPLS優先度の条件を表すFLOW-UPRI 908-i (i=1〜M)と、プロトコルの条件を表すFLOW-PROTO 912-i (i=1〜M)を指定する。図17の例では、監視ポリシA，B1，B2，C1，C2のフロー検出条件を、フロー番号1000，1003，1004，1001，1002に記載した。
【００９２】
フロー検出条件の優先度1703-1と種別1703-2では、フロー検出条件の優先度を表すFLOW-PRI 909-i (i=1〜M)と、一定の帯域以下に制限するための監視ポリシであることを表すFLOW-MAX 910-i (i=1〜M)と、一定の帯域以下に制限するための監視ポリシであることを表すFLOW-MIN 911-i (i=1〜M)の値を指定する。図17の例では、監視ポリシA，B1，B2，C1，C2のフロー検出条件の優先度と種別を、フロー番号1000，1003，1004，1001，1002に記載した。
【００９３】
トラヒック条件1704では、バケツの容量THR-i (Byte) 1001-i (i=1〜M)と、バケツが漏れる速度であり監視帯域を表すPOLR-i (Byte/sec) 1002-i (i=1〜M)に相当する値を指定する。
【００９４】
処理判定情報1705では、遵守／違反判定結果が違反だった場合の処理指定情報PRI-1-1 1101-1-i (i=1〜M)と、遵守だった場合の処理指定情報PRI-1-2 1101-2-i (i=1〜M)の他、複数の同一の優先度を持つ監視ポリシに基づいて処理判定を行う際の処理情報として、遵守／違反判定結果が違反だった場合の処理指定情報PRI-2-1 1102-1-i (i=1〜M)と、遵守／違反判定結果が遵守だった場合の処理指定情報PRI-2-2 1102-2-i (i=1〜M)に相当する値を指定する。
図17の例では、フロー番号1000，1003，1004，1001，1002がそれぞれ、監視ポリシA，B1，B2，C1，C2に対応している。
【図面の簡単な説明】
【００９５】
【図１】本発明の帯域監視部100の構成を示すブロック図。
【図２】本発明を適用可能なIP-VPN、または広域イーサネットの構成図。
【図３】従来技術を用いた場合の、ノード210における帯域分配図。
【図４】本発明を用いた場合の、ノード210における帯域分配図。
【図５】本発明のルータ／スイッチの構成を示すブロック図。
【図６】ネットワークにおけるパケットのフォーマットを示す図。
【図７】本発明のルータ／スイッチにおけるパケットのフォーマットを示す図。
【図８】リーキーバケットアルゴリズムのフローチャート。
【図９】フロー検出条件テーブル112のフォーマットを示す図。
【図１０】トラヒック条件テーブル113のフォーマットを示す図。
【図１１】処理判定テーブル182のフォーマットを示す図。
【図１２】ポリシング開始処理1200と、バースト現在値判定処理1210-nのフローチャート。
【図１３】遵守／違反判定処理1310-nと、総合判定処理1320-nと、パケット処理判定処理1330のフローチャート。
【図１４】検出条件A，B1，B2に合致するフローを示すベン図。
【図１５】検出条件A，B1，B2，C1，C2に合致するフローを示すベン図。
【図１６】パケット処理判定情報12を決定する処理のフローチャート。
【図１７】コマンド例。
【符号の説明】
【００９６】
200,201,202…社内網、240…通信事業者のネットワーク、210,211,212…ゲートウェイノード、220,221,222…アクセス回線、230,231,232…通信事業者のエッジノード。
【図１】
2006222592.tif 000003
【図５】
2006222592.tif 000004
【図６】
2006222592.tif 000005
【図７】
2006222592.tif 000006
【図８】
2006222592.tif 000007
【図９】
2006222592.tif 000008
【図１０】
2006222592.tif 000009
【図１１】
2006222592.tif 000010
【図１２】
2006222592.tif 000011
【図１３】
2006222592.tif 000012
【図１６】
2006222592.tif 000013
【図１７】
2006222592.tif 000014
【図２】
2006222592.tif 000015
【図３】
2006222592.tif 000016
【図４】
2006222592.tif 000017
【図１４】
2006222592.tif 000018
【図１５】
2006222592.tif 000019