(57)【要約】【課題】バースト的なパケット廃棄を抑止することで、ＴＣＰなどのフロー制御機構のスループット低下を防ぐ。【解決手段】パケット中継装置の帯域監視機能は、監視帯域バケツの水の量がある閾値を超えると、水の増加にともない変化するある確率で監視帯域違反と判定し、前記閾値と異なるある閾値を超えると全てのパケットを監視帯域違反と判定する。この機構を実現するために、確率的な違反判定を開始するための閾値と、その廃棄確率を決定するための傾き値と監視カウンタを持つ。さらに、この廃棄確立を決定するための傾きを水位の時間変化により更新する。【選択図】        図１３
2004254164.tif 000002
【特許請求の範囲】
【請求項１】
パケットの帯域を監視する帯域監視装置であって、
パケットが入力される直前の入力パケットの総サイズに対応する現在のカウント残量値を求めるカウンタ残量値判定部と、
前記カウンタ残量値判定部からのカウント残量値に基づき、該カウント残量値が第１の閾値以下のとき全ての入力パケットが監視帯域を遵守していると判定し、該カウント残量値が第１の閾値を超えると入力パケットが監視帯域を違反していると判定される廃棄確率が該カウント残量値の増加に伴い高くなるようにし、且つ、該カウント残量値が第２の閾値を超えると全ての入力パケットが監視帯域を違反していると判定するように判定基準を設定し、該判定基準により、入力パケットが監視帯域を違反又は遵守していることを判定する監視結果判定部と
を備え、
前記監視結果判定部は、さらに、
過去のカウンタ残量値及びその過去の時刻と、前記カウンタ残量値判定部で求めた現在のカウント残量値及び現在の時刻とから、カウント残量値の変化率を求め、
求めた変化率に応じて、カウント残量に対する廃棄確立の変更率を求め、
現在のカウント残量値と乱数値に基づき、変更率で更新された廃棄確立による前記判定基準に従い、入力パケットを廃棄するか否か判定する
ようにした前記帯域監視装置。
【請求項２】
請求項１に記載の帯域監視装置であって、
各フローに対する帯域監視制御情報を記憶した帯域監視テーブルをさらに備え、
前記帯域監視制御情報は、パケット量に応じて変化する確率によって違反の判定を行うための閾値である閾値と、遵守・違反判定を行うための確率を決定するための傾きと、監視レートを表す監視帯域と、同一の帯域監視制御情報を参照するパケットが最新値から過去複数回に監視帯域を遵守していると判定された時刻である複数時刻と、該複数時刻の各々における複数のカウンタ残量値を含むことを特徴とする帯域監視装置。
【請求項３】
請求項２に記載の帯域監視装置であって、
前記帯域監視テーブルから、直前の時刻及びその時刻のカウンタ残量値と、最古時刻及びその時刻のカウンタ残量値が読み出され、それぞれ、前記カウンタ残量値判定部と前記監視結果判定部に送られることを特徴とする帯域監視装置。
【請求項４】
請求項１に記載の帯域監視装置であって、
前記監視結果判定部は、
パケットを受信した最古の時刻を記憶する最古時刻蓄積手段と、
該最古の時刻のカウンタ残量値を記憶する最古カウンタ蓄積手段と、
確率的な帯域違反判定の開始位置である第１の閾値を出力するための閾値蓄積手段と、
帯域違反判定を行うために使用する確率を決定するための傾きを出力する傾き蓄積手段と、
ランダムなカウンタ値を出力する監視カウンタ蓄積手段と
を備え、
前記監視結果判定部は、これら各蓄積手段の出力値に基づき、前記判定基準を設定することを特徴とする帯域監視装置。
【請求項５】
請求項１に記載の帯域監視装置であって、
複数の入力回線と、複数の出力回線とを備え、前記複数の入力回線のうちの一つの入力回線から入力された入力パケットを前記複数の出力回線の何れかの出力回線に出力する帯域監視装置であって、
前記入力回線毎に前記判定基準を設定し、該判定基準により入力パケットの帯域を監視することを特徴とする帯域監視装置。
【請求項６】
請求項５に記載の帯域監視装置であって、前記入力パケットのパケットヘッダ内の情報と入力回線情報の少なくとも一つの情報から決まるパケットの一連の流れであるフロー毎に前記判定基準を設定し、該判定基準により入力パケットの帯域を監視することを特徴とする帯域監視装置。
【請求項７】
請求項１に記載の帯域監視装置であって、契約帯域に違反したパケットの転送優先度をより低い優先度に書き換えるパケット受信回路を更に備えたことを特徴とする帯域監視装置。
【請求項８】
請求項１に記載の帯域監視装置であって、契約帯域に違反したパケットを廃棄するパケット受信回路を更に備えたことを特徴とする帯域監視装置。
【請求項９】
固定長または可変長パケットの帯域を監視する帯域監視装置であって、
パケットが入力される直前までの入力パケットの流量の揺らぎ分に対応するカウンタ値を求めるカウンタ残量判定部と、
前記カウンタ残量判定部からのカウンタ値と入力パケットのパケット長との加算値に基づき、該加算値が第１の閾値以下のとき全ての入力パケットが監視帯域を遵守していると判定し、該加算値が第１の閾値を超えると入力パケットが監視帯域を違反していると判定される確率が該加算値の増加に伴い高くなるように判定基準を設定し、該判定基準により、入力パケットが監視帯域を違反又は遵守していることを判定する監視結果判定部とを備えることを特徴とする帯域監視装置。
【請求項１０】
請求項９に記載の帯域監視装置であって、
前記監視結果判定部は、前記加算値が第１の閾値より大きな第２の閾値を超えると全ての入力パケットが監視帯域を違反していると判定するように判定基準を設定し、該判定基準により、入力パケットが監視帯域を違反又は遵守していると判定することを特徴とする帯域監視装置。
【請求項１１】
請求項９または１０に記載の帯域監視装置であって、
前記監視結果判定部は、過去のカウンタ値およびカウンタ値に対応する過去の時刻と、前記カウンタ残量判定部で求めた現在のカウンタ値および現在時刻とからカウンタ値の変化率を求め、求めた変化率に応じて、カウンタ値に対する廃棄確立の変更率を求め、現在のカウント値に対して、変更率で更新された廃棄確立による前記判定基準に従い入力パケットが監視帯域を違反又は遵守していると判定することを特徴とする帯域監視装置。
【請求項１２】
請求項９に記載の帯域監視装置であって、
各フローに対する帯域監視制御情報を記憶した帯域監視テーブルを更に備え、前記帯域監視制御情報は、違反または遵守の判定を行なう確立を決定する為の前記第１の閾値と、傾き情報と、監視レートを表す監視帯域情報と、同一の帯域監視制御情報を参照するパケットが最新値から過去複数回に監視帯域を遵守していると判定された時刻である複数時刻と、該複数時刻の各々における複数のカウンタ残量値を含むことを特徴とする帯域監視装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、帯域監視装置に係り、特に、ネットワークに流入するパケットの帯域を監視及び制御するための帯域監視装置に関する。
【０００２】
【従来の技術】
一般に、インターネットで用いられているパケット型通信方式は、多数のユーザからのパケットが同じ回線を共用使用できるため、帯域あたりの通信コストを各段に低く抑えることが出来る。しかし、逆に低遅延時間や低廃棄率等の通信品質：Ｑｏｓ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の保証は困難になり、ベストエフォートと呼ばれる通信品質を期待しない通信形態が一般的だった。インターネットの急激な発展に伴い、従来の電話網や専用線網が実現していた低遅延時間や低廃棄率等ＱｏＳを保証するサービス（ＱｏＳ保証サービス）への要求が大きくなり、ＩＥＴＦにおいてもＤｉｆｆｓｅｒｖと呼ばれるインターネットやインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ  ＩＰ）網におけるＱｏＳの枠組が標準化された。Ｄｉｆｆｓｅｒｖについては、例えば、非特許文献１に記載されている（従来技術１）。
【０００３】
ＤｉｆｆＳｅｒｖ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ，  ディフ・サーブ）において、いろいろなＱｏＳサービスが提案されている。例えばプレミアムサービスと呼ばれるＱｏＳ保証サービスは、従来の電話網や専用線網が実現していた低遅延時間や低廃棄率等のＱｏＳを保証するサービスであり、重要性が高い。プレミアムサービスでは、ユーザ網と該サービスを提供するキャリア網の管理者間で予め保証する帯域が契約され、キャリア網はユーザ網に対し契約帯域を保証する。しかし、ユーザ網から契約帯域以上のパケットがキャリア網内に流入する場合には、キャリア網内で輻輳が発生し、前記契約を遵守できない可能性や、他ユーザのトラヒックやＱｏＳに影響を与える可能性がある。そこでＤｉｆｆＳｅｒｖでは、キャリア網の管理者は前記契約を遵守するために、キャリア網の入口にＵＰＣ（Ｕｓｅｒ  Ｐａｒａｍｅｔｅｒ  Ｃｏｎｔｒｏｌ）機能  ［ＵＰＣ機能はＡＴＭで用いられていた用語、ＩＥＴＦ用語ではポリーサ機能と呼ぶこともある。］と呼ぶ帯域チェック機能を配置する。ＵＰＣ機能は、ユーザ網との契約帯域以下のパケットを通過させつつ契約帯域以上のパケットをユーザ網から受信した場合、パケットを廃棄したり、ネットワーク内の転送優先度を低く設定して転送し、キャリア網内の帯域資源を保護するものである。
【０００４】
このＵＰＣ機能における帯域計測のアルゴリズムとしては、例えばＬＢ（Ｌｅａｋｙ  ｂｕｃｋｅｔ）アルゴリズムやＴｏｋｅｎ  Ｂｕｃｋｅｔｓアルゴリズムが知られている。
図１７に、帯域監視アルゴリズムを表したモデル図を示す。
ＬＢアルゴリズムについては、例えば、特許文献１（従来技術２）に実現方法が記載されている。ＬＢアルゴリズムを用いると、一定の揺らぎを許容しつつ帯域をチェックする事が出来る。図を用いてＬＢアルゴリズムを説明する。ＬＢアルゴリズムは、ある深さを持った穴のあいた漏れバケツ１００３を用いたモデルであらわすことが出来る。このバケツには穴があいており、監視速度に比例した量で水が漏れつづけ（水漏れ１００２）、パケット到着時にはパケット長に対応した水が注ぎ込まれる（パケット長に応じた水量１００５）。バケツは揺らぎやバーストを許容するために一定量（バケツの深さ１００４）の水を溜めることが出来る。バケツに水を注いだ時に、溢れない場合はそのパケットが監視帯域を遵守していると判定し、溢れた場合は違反と判定する。
【０００５】
従来技術２は、前記バケツに蓄積している水量に対応するバケツ蓄積量情報と、バケツの深さに対応するバケツ閾値情報と、水の漏れる速さであり監視帯域に対応する監視帯域情報と、前パケットが到着した時間である前パケット到着時刻情報を備える。固定長パケットであるセルがＵＰＣ機能に到着すると、まず、現時刻と前パケット到着時刻情報から経過時間を計算して、監視帯域情報から該経過時間に漏れた水量を計算する（処理１）。次に、蓄積量情報から漏れた水量を減算し、現時刻におけるバケツの水量を計算する（処理２）。最後に、このバケツに１セル分の水量を加え、バケツ閾値情報以下である場合には入力パケットを「遵守」と、バケツ閾値情報を超過する場合には「違反」と判定する  （処理３）。
【０００６】
従来技術１には、上記ＬＢアルゴリズムを変形した帯域計測のアルゴリズムについても記載されている。このアルゴリズムでは前記ＬＢアルゴリズムの処理３において１セル分の水量を加える前にバケツ閾値情報と比較し、パケットの違反・遵守を判定する。このようにキャリア網の入口で例えばＬＢアルゴリズムを備えたＵＰＣ機能を用いると、ユーザからの入力パケットが契約帯域遵守しているか否かを判定することができる。
【０００７】
この固定長セルを転送するＡＴＭ  で開発されたＵＰＣアルゴリズムは可変長パケットを転送するインターネット（ＩＰ網）へも拡張する事が出来る。例えば、特許文献２「帯域監視機能を備えるパケット転送装置」には、帯域監視機能として、可変長パケット（ＩＰパケットまたはＬ２フレーム（例えばイーサフレーム））の帯域監視を網管理者の要望に従ってＩＰパケットに対してやＬ２フレームに対してのどちらに対しても監視できる方式が記載されている（従来技術３）。
【０００８】
一方、インターネットによるデータ通信において、ＴＣＰ（ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ）プロトコル（例えば、非特許文献２参照）が頻繁に用いられている（従来技術４）。このＴＣＰプロトコルはＩＰネットワークのＩＰプロトコルの上位プロトコルで、送信・受信端末間で仮想的なコネクション（バーチャル・コネクション）を設定する。ＴＣＰプロトコルの上位アプリケーションに対して、パケット喪失によるデータ通信エラーを回避し、信頼性を保証する通信プロトコルである。ＴＣＰでは、送受信端末間の網内で輻輳状態が発生した場合でも長期的なスループット低下が発生しないように、さまざまなフロー制御機能を備えている。具体的にはスロー・スタートフェーズと、輻輳回避フェーズによりフロー制御を行う。
【０００９】
ＴＣＰコネクションが張られるとＲＴＴ  （Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）  に応じたタイムアウト時間と、ＡＣＫ受信を待たずに送信できるパケット数を表すスライディングウインドウサイズの初期値１が設定される。ＴＣＰのフロー制御による送信端末のスライディングウインドウサイズの変化は、コネクション確立時のスロースタートフェーズでは初期値１から指数関数的にスライディングウインドウを開いていく。スライディングウインドウが開き過ぎると、ネットワーク内に送出されるパケットの帯域が大きくなり過ぎ、ネットワークが輻輳してパケットロスが発生する。受信端末はパケットロスを検出すると、未受信のパケットに対するＡＣＫを返送する。送信端末はこのＡＣＫを受信するとパケットを再送し、これに対するＡＣＫを受信すると、同一パケットに対する複数のＡＣＫを受信する事になるので、この現象を重複ＡＣＫと呼ぶ。重複ＡＣＫを受信端末から受信すると送信端末は軽度の輻輳発生と判断して輻輳回避フェーズに移行する。輻輳回避フェーズでは、スライディングウインドウをネットワーク滞留パケット数のほぼ半分まで閉じることで、（初期値１に戻すことがないので）スロー・スタート・フェーズの様な極端なスループット低下は回避できる。一方、送信端末がタイムアウト時間内にＡＣＫ受信できなかった時は、送信パケットが全て廃棄された重度の輻輳状態と判定し、スライディングウインドウを１に初期化しスロー・スタート・フェーズに移行する。このためスライディングウインドウの回復に時間を要し、スループットが大幅に低下する。スループットを契約帯域から大きく落とさない為には、スロースタート状態に陥らない様にＡＣＫを返すことが必要である。
【００１０】
ＵＰＣ機能を用いてＴＣＰパケット（ＴＣＰプロトコル上のＩＰパケット）を帯域監視した場合、送信端末は重複ＡＣＫを受信またはタイムアウト発生までスライディングウインドウが開き続けるので、ＵＰＣのリーキーバケツにはＴＣＰパケットが連続して入力する。従来技術２または３のＵＰＣはバケツ内水量が閾値を超えた時点からはバースト的に契約帯域違反と判定し続ける。この結果、（違反パケットは、自ノードや輻輳状態にある他ノードで廃棄されるので、）連続的なパケット廃棄が始まり、送信端末はタイムアウトを検出することになる。この場合、通常のＵＰＣを用いたＴＣＰパケットの帯域監視では、タイムアウトによるスループット低下を免れにくいという課題があった。
【００１１】
一方、パケット損失は、網を構成する中継ルータにおける輻輳（ルータ内の送信待ちキュー長が増加して、キュー溢れ）によっても発生する。このようなキュー溢れによるバースト的なパケット損失も、ＴＣＰの送信端末をスロースタート状態に移行させ、伝送効率を著しく劣化させる要因となってしまう。ＴＣＰのパケット再送機能は、バースト的に廃棄をしなければスロースタートフェーズに移行せず、廃棄されたパケットのみの再送をする。中継ルータ向けに開発されたＲＥＤ（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ）技術は、ＤｉｆｆＳｅｒｖ技術（従来技術１）ではルータの出力キューにおけるキュー制御機能の改善方式に位置付けられる。ＲＥＤ技術に関しては、例えば、非特許文献３（従来技術５）や非特許文献４（従来技術６）に記載されている。ＲＥＤ技術では、ルータの出力キューの出力輻輳初期状態においてパケットを輻輳度に応じた頻度でランダムに廃棄することにより、擬似的に軽度の輻輳状態を作り出し、ＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことができる。これによりスロースタート状態に陥らないで転送ができ、送信端末のスループットが大きく低下させないと言う優れた効果がある。
【００１２】
しかし、ＲＥＤ技術（従来技術５）は中継ルータの出力ポートのキュー制御機能に適用されるＴＣＰパケットのスループット低下抑止技術であり、ユーザ網からのパケットを入力ポートにおいて検出しチェックするＵＰＣ機能におけるＴＣＰパケットのスループット低下抑止機能ではない。ユーザ網とキャリア網の接続部分：ＵＮＩ（Ｕｓｅｒ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）において、ユーザ網（または送信端末）からの送信帯域を契約帯域値に対してチェックしつつ、ＴＣＰのスループットを低下させない帯域チェック機能が求められていた。
【特許文献１】
特許第２０７１２４５号
【特許文献２】
特開２００２−３６８７９８号公報
【非特許文献１】
Ｔａｋｅｓｈｉ  Ａｉｍｏｔｏ，  Ｓｈｉｇｅｒｕ  Ｍｉｙａｋｅ，  ”Ｏｖｅｒｖｉｅｗ  ｏｆ  ＤｉｆｆＳｅｒｖ  Ｔｅｃｈｎｏｌｏｇｙ：  Ｉｔｓ  Ｍｅｃｈａｎｉｓｍ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ”，  ＩＥＩＣＥ  ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  ｓｙｓｔｅｍｓ，  Ｖｏｌ．８３，  Ｎｏ．５，  ｐｐ９５７‐９６４，  ２０００．
【非特許文献２】
Ｊ．Ｐｏｓｔｅｌ，  “Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ”，  ＳＴＤ７，  ＲＦＣ７９３，  Ｓｅｐｔｅｍｂｅｒ１９８１．、Ｍ．Ａｌｌｍａｎ，  ｅｔ  ａｌ，  “ＴＣＰ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌ”，  ＲＦＣ２５８１，  Ａｐｒｉｌ  １９９９、ＲＦＣ‐１１２２及び１１２３）
【非特許文献３】
Ｓ．Ｆｌｏｙｄ，  “Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ  ｇａｔｅｗａｙｓ  ｆｏｒ  ＣｏｎｇｅｓｔｉｏｎＡｖｏｉｄａｎｃｅ”ＩＥＥＥ／ＡＣＭ  ＴＲＡＮＳＡＣＴＩＯＮ  ＯＮ  ＮＥＴＷＯＲＫＩＮＧ，ＶＯＬ．１，ＮＯ，４，  ＡＵＧＵＳＴ  １９９３
【非特許文献４】
長谷川剛、板谷夏樹、村田正幸、“バックボーンルータにおけるＲＥＤの動的閾値制御方式、”電子情報通信学会技術研究報告（ＮＳ２００１−１１）、Ａｐｒｉｌ  ２００１
【００１３】
【発明が解決しようとする課題】
前述のように、ＵＰＣ機能を用いてＴＣＰパケット（ＴＣＰプロトコル上のＩＰパケット）を帯域監視した場合、送信端末で重複ＡＣＫを受信またはタイムアウト発生までスライディングウインドウが開き続けるので、ＵＰＣのリーキーバケツにはＴＣＰパケットが連続して入力する。従来のＵＰＣ技術（従来技術２または３）はバケツ内水量が閾値を超えた時点からはバースト的に契約帯域違反と判定し続ける。この結果、（違反パケットは、自ノードや輻輳状態にある他ノードで廃棄されるので、）連続的なパケット廃棄が始まり、送信端末はタイムアウトを検出することになる。このため、通常のＵＰＣを用いたＴＣＰパケットの帯域監視では、タイムアウトによるスループット低下を免れにくいという課題があった。
【００１４】
これを図１７で説明する。パケット長に応じた水量１１０５（入力パケットの速度）が水の漏れる量１１０２（契約帯域）を越えてしまうと、一定の揺らぎを許容しつつ帯域をチェックするためのバケツ１１０３（速度揺らぎバッファ）に水量１１０１が溜まる。ある程度溜まっていた状態で、さらに連続してパケットが水の漏れる量１１０２を越えて入力された場合、バケツの深さ１１０４を越えるので、パケットは連続して「契約帯域違反」と判定される。このような時にバースト的にＴＣＰパケットを廃棄してしまい、上記のＴＣＰのスロースタート機能が起動されＴＣＰのスループットを大幅に低下させてしまう。この結果、従来は、ユーザの受ける通信サービスが、契約帯域を大きく下回る状態に留まり、契約帯域を有効に利用できないと言う課題があった。これは、帯域監視を行なうＬＢアルゴリズムのバケツの水量１１０１がバケツの深さ１１０４を超えると、全パケットを廃棄することに起因している。スループットを契約帯域から大きく落とさない為には、スロースタート状態に陥らない様にＡＣＫを返すことが必要である。
【００１５】
本発明は、以下の点に鑑み、所定のアルゴリズムを有する帯域監視部を備えることで、ＴＣＰパケットがバースト的に流入した時にも、バースト的な廃棄を避け、パケットを確率的に廃棄することを目的とする。また、本発明は、このように確率的に廃棄する事により、ＴＣＰのフロー制御がスロー・スタートフェーズから再スタートすることによる帯域低下を回避、ユーザは契約帯域をより有効に利用可能とすることを目的とする。
さらに、本発明は、所定のアルゴリズムを有する帯域監視部を備えることで、バースト的なパケット廃棄を抑止し、さらに、例えば、次の課題を解決することを目的とする。
（１）水位が高い場合でも変化率が減少方向（１００％以下）の場合の過度の廃棄を避けること、
（２）水位が比較的低い場合でも水位の変化率が非常に高い場合、廃棄確立を高く設定することにより早めに輻輳を抑えること、
（３）小さいバーストの場合、水位の変化が現れにくく、過度の廃棄を避けることを目的とする。
【００１６】
【課題を解決するための手段】
上述の課題を解決するために本発明のパケット中継装置の帯域監視装置は、帯域監視を行なうＬＢアルゴリズムのバケツの水量１１０１がバケツの深さ１１０４を超えると全パケットを廃棄するのではなく、バケツの深さ１１０４よりも小さなある閾値を超えた状態で、水位の増加にともない変化するある小さな確率で監視帯域違反と判定し、パケットを意図的に廃棄する手段を提供する。これにより、擬似的に軽度の輻輳状態を作り出し、ＴＣＰは輻輳回避フェーズの動作に導く。また、これによりスロースタート状態に陥らないで転送ができ、送信端末のスループットは大きく低下しない。さらに、水位が増加するに従い違反と判定される確率が増加する。これにより、帯域監視における許容揺らぎの範囲内で、バケツの上限に近づくにつれ、ランダムに少数のパケットを廃棄する頻度を上げることができ、より積極的にＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことができる。この軽度輻輳状態にもかかわらず、水位１１０１がさらにバケツサイズを超えると、ＴＣＰ送信端末が輻輳制御に従っていないとして、全てのパケットを監視帯域違反と判定する手段を提供する。この機構を実現するために、確率的な違反判定を開始するための閾値７０１と、その確率を決定するための傾き値を備える（第１の実施の形態）。
【００１７】
また、水位の変化が増加方向である場合にはランダムに少数のパケットを廃棄する頻度を上げ、水位の変化が減少方向である場合にはランダムに少数のパケットを廃棄する頻度を下げることにより、不必要なパケット廃棄を避け、ＴＣＰのスライディングウインドウをより効率的に活性化させることができる。この機能を実現させるために、本発明のパケット中継装置の帯域監視装置では、さらに過去の受信時刻と水位の記憶手段を備え、現在の水位との変化率を考慮した廃棄確率によりパケットを廃棄する（第２の実施の形態）。
【００１８】
本発明の第１の解決手段によると、
パケットの帯域を監視する帯域監視装置であって、
パケットが入力される直前の入力パケットの総サイズに対応する現在のカウント残量値を求めるカウンタ残量値判定部と、
前記カウンタ残量値判定部からのカウント残量値に基づき、該カウント残量値が第１の閾値以下のとき全ての入力パケットが監視帯域を遵守していると判定し、該カウント残量値が第１の閾値を超えると入力パケットが監視帯域を違反していると判定される廃棄確率が該カウント残量値の増加に伴い高くなるようにし、且つ、該カウント残量値が第２の閾値を超えると全ての入力パケットが監視帯域を違反していると判定するように判定基準を設定し、該判定基準により、入力パケットが監視帯域を違反又は遵守していることを判定する監視結果判定部と
を備え、
前記監視結果判定部は、さらに、
過去のカウンタ残量値及びその過去の時刻と、前記カウンタ残量値判定部で求めた現在のカウント残量値及び現在の時刻とから、カウント残量値の変化率を求め、
求めた変化率に応じて、カウント残量に対する廃棄確立の変更率を求め、
現在のカウント残量値と乱数値に基づき、変更率で更新された廃棄確立による前記判定基準に従い、入力パケットを廃棄するか否か判定する
ようにした前記帯域監視装置が提供される。
【００１９】
【発明の実施の形態】
１．ネットワーク構成
図１に、本発明が想定しているＩＰネットワークの構成図を示す。企業１のサイトＡ＿２１０とサイトＣ＿２３０、企業２のサイトＢ＿２２０とサイトＤ＿２４０は、それぞれキャリア網２００とプレミアムサービスと呼ばれる低遅延時間や低廃棄率等を保証するＱｏＳ保証サービスの契約を結んでいる。企業１は１０Ｍｂｐｓで、企業２は５Ｍｂｐｓでキャリア網に対してあらかじめ契約帯域を申告している。サイトＡ＿２１０においてルータ２１４はシェーパ機能を備え、端末２１１、２１２、２１３が送信する帯域を契約帯域１０Ｍｂｐｓ以下にシェーピングし、キャリア網２００内に送信する。同様に、サイトＢ＿２２０においてルータ２２４はシェーパ機能を備え、端末２２１、２２２、２２３が送信する帯域をシェーピングし、キャリア網２００内に流れ込む各端末からのトラヒックを契約帯域５Ｍｂｐｓ以下に制御する。キャリア網２００側では、本発明を適用したルータ２０１内の帯域監視部５００がＵＰＣ機能を備え、サイトＡのルータ２１４とサイトＢのルータ２２４が送信する帯域が契約を守っているかを帯域監視し、キャリア網２００内に契約帯域以上の過剰トラヒックが流れ込む事を防ぐ。帯域監視を行なった後、キャリア網２００はサイトＡのルータ２１４とサイトＢのルータ２２４からのトラヒックをそれぞれサイトＣ＿２３０のルータ２３４、サイトＤ＿２４０のルータ２４４へ転送し、ルータ２３４は各端末２３１、２３２、２３３へと、ルータ２４４は各端末２４１、２４２、２４３へと転送する。
【００２０】
なお、この図ではルータ２０１、２０２、２０３、２１４、２２４、２３４、２４４で構成されたＩＰネットワークで説明したが、本実施の形態はＴＣＰパケットの帯域監視機能及び装置に関する発明であり、本機能を実装する装置はルータに限定していない。例えば、ネットワークをイーサスイッチやＡＴＭスイッチ、ＭＰＬＳスイッチノード等のＬ２技術で構成する事も可能である。また、本帯域監視機能を有する帯域監視装置をルータ２０１とは別に、ルータ２０１とルータ２１４、２２４の間の位置に配備する事も可能である。
【００２１】
２．第１の実施の形態
本実施の形態の帯域監視装置を所持するルータ１００（図１ではルータ２０１）の概要動作を説明する。
図２は、本発明のルータ１００のブロック図である。ルータ１００はパケットが入力する入力回線１１０とパケットの受信処理を行うパケット受信回路１２０と、パケットを出力する出力回線１６０の識別子である出力回線番号を判定するルーティング処理部１５０やパケットフローを検出するフロー検出ぶ１５０や帯域監視機能５００を備えたヘッダ処理部１８０と、パケットを前記出力回線番号に基づきスイッチングするパケット中継処理手段１４０と、送信側バッファ１９０からパケットを読み出してパケットの送信処理を行うパケット送信回路１５０と、パケットを出力する出力回線１６０を備える。さらに、ルータ１００の管理と各種設定を行なう管理端末１９５がルータ１００に接続されている。この図には入力回線１１０と出力回線１６０がそれぞれ１回線ずつ記載されているが、実際には、ルータ１００は複数の入力回線１１０と複数のパケット受信回路１２０と複数のヘッダ処理部１８０と複数の送信バッファ１９０と複数のパケット送信回路１５０と複数の出力回線１６０を備える。
【００２２】
図３に、図１のＩＰネットワークにおけるパケットのフォーマットの説明図を示す。本実施の形態では、パケットは、Ｌ２ヘッダ部３４０とＬ３ヘッダ部３１０とＬ３データ部３２０を含む。Ｌ２ヘッダ部３４０はリンクレベル（Ｌ２）のパケットヘッダであり、パケットの入力回線の種類（Ｅｔｈｅｒｎｅｔ，  Ｆｒａｍｅ  Ｒｅｌａｙ等）によって異なる情報（Ｌ２のアドレス情報など）から構成される。この図には一例としてＥｔｈｒｅｎｅｔ回線の場合を示した。この例ではＬ２ヘッダ部３４０は送信元ＭＡＣアドレス（パケットをこのルータ向けに送信したノードの出力ポートのＬ２アドレス）３４１と、宛先ＭＡＣアドレス（このルータの入力ポートのＬ２アドレス）３４２を含む。Ｌ３ヘッダ部３１０はネットワークレベル（Ｌ３）のパケットヘッダであり、送信元アドレス（送信端末のＬ３アドレス）である送信元ＩＰアドレス３１１と、宛先アドレス（受信端末のＬ３アドレス）である宛先ＩＰアドレス３１２と、送信元のプロトコル（＝上位アプリケーション）を表す送信元ポート番号３１３と宛先のプロトコルを表す宛先ポート番号３１４と、ヘッダ部３１０とデータ部３２０を足したバイト長であるＬ３パケット長を含む。また、Ｌ３データ部３２０はユーザデータであるＬ３のデータ３２１を含む。
図４に、ルータ１００内部におけるパケットのフォーマットの説明図を示す。ルータ１００内部におけるパケットのフォーマットは図１のＩＰネットワークにおけるパケットのＬ３ヘッダ部３１０とＬ３データ部３２０と新たに内部ヘッダ部３３０を備える。この内部ヘッダ部３３０はパケットのバイト長を表す内部Ｌ３パケット長３３１とパケットが入力した回線の識別子である入力回線番号３３２と、パケットが出力される回線の識別子である出力回線番号３３３と、入力回線の種類に応じたＬ２ヘッダ長である入力Ｌ２ヘッダ長３３４を含む。
【００２３】
次に本実施の形態のルータ１００の動作概要を説明する。
パケットはまず入力回線１１０よりパケット受信回路１２０に入力される。
図５に、パケット受信回路１２０の構成図を示す。パケットがパケット受信回路１２０に入力すると、Ｌ３パケット長カウント部９１２は入力パケットのＬ３ヘッダ部３１０とＬ３データ部３２０を合わせたバイト長をカウントし、内部ヘッダ付加部９１１に送信する。Ｌ２ヘッダ長カウント部９１３は、入力パケットのＬ２ヘッダ部３４０のバイト長をカウントし、内部ヘッダ付加部９１１に送信する。入力回線識別部９１４は前記パケットが入力した入力回線１１０の識別子を内部ヘッダ付加部９１１に送信する。内部ヘッダ付加部９１１は入力パケットのＬ２ヘッダ部を削除して内部ヘッダ３３０を付加し、Ｌ３パケット長カウント部９１２から受信したバイト長をＬ３パケット長３３１に、Ｌ２ヘッダ長カウント部９１３から受信したバイト長を入力Ｌ２ヘッダ長３３４に書き込み、入力回線識別部９１４から受信した識別子を入力回線番号３３２に書き込む。なお、ルータとしての動作説明のため、Ｌ２ヘッダを削除している。イーサスイッチの場合、Ｌ２ヘッダ部を削除せず、ヘッダ処理部１５０等へ送る。さらに、パケット受信回路１２０は、前記入力パケットをバッファ９１６で一旦蓄積すると同時に、内部ヘッダ部３３０とヘッダ部３１０を含むパケットヘッダ情報１１をヘッダ処理部１８０に送信する。なお、この時点ではまだ出力回線番号３３３は無意味な値となっている。
【００２４】
ヘッダ処理部１８０のフロー検出部１７０は前記パケットヘッダ情報１１からフローを検出する。フローとは、例えば宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート情報、送信元ポート情報等の組によって決定するパケットの一連の流れであり、フロー検出部１７０には管理端末１９５より予めフロー検出条件が設定されている。フロー検出部１７０はフローを検出するとフローの識別情報であるフロー識別子１２を帯域監視部５００に送信する。帯域監視部５００には管理端末１９５より予め帯域監視条件が設定されている。帯域監視部５００はフロー識別子１２毎に帯域監視を実行し、「遵守」、「違反」を表す帯域監視結果１８をパケット受信回路１２０に送信する。管理端末１９５が設定するフロー検出条件と帯域監視条件は、例えば図１の「企業１からのパケットフローは１０Ｍｂｐｓで、企業２からのパケットフローは５Ｍｂｐｓで」と言う条件を先述のフロー条件等で書き下したものである。一方、ヘッダ処理部１８０のルーティング処理部１５０は前記パケットヘッダ情報１１内の宛先ＩＰアドレス３１２よりパケットを出力する出力回線１６０の識別子を判定し、この識別子をパケット出力回線情報１４としてパケット受信回路１２０に送信する。
【００２５】
パケット受信回路１２０のパケット処理部９１７はパケット出力回線情報１４を出力回線番号３３３に書き込み、帯域監視結果１８が「遵守」の場合、蓄積したパケットをパケット中継処理手段１４０に送信する。帯域監視結果１８が「違反」の場合、パケット処理部９１７は蓄積したパケットを廃棄またはネットワーク内の優先度を低く再設定する。
パケット中継処理手段１４０は、出力回線番号３３３に従いパケットをスイッチングし、出力回線１６０毎の送信側バッファ１９０にパケットを送信する。送信側バッファ１９０は出力回線１６０の帯域を超えてパケットが入力した時に、パケットを蓄積して、パケット廃棄を防止するために備えるバッファである。しかし、長期的に出力回線１６０の帯域を超えるパケットが入力するとパケットを廃棄する。パケット送信回路１５０は出力回線１６０に応じた帯域でパケットを送信側バッファ１９０より読み出し、内部ヘッダ部３３０を削除してＬ２ヘッダ部３４０を付加して自ノードアドレスを送信元ＭＡＣアドレス３４１に、次にパケットが入力するノードアドレスを宛先ＭＡＣアドレス３４２に書きこみ、出力回線１６０に送信する。
【００２６】
次に、帯域監視部５００の詳細動作について説明する。
図６に、帯域監視部５００のブロック図を示す。帯域監視部５００は、フロー識別子に対応するフロー毎の帯域監視情報を蓄積する帯域監視テーブル７００と、入力パケットのフロー識別子に対応した帯域監視情報を帯域監視テーブル７００より読み出す帯域監視テーブル制御部５５０と、パケットの流量に応じて増減するカウンタの残量を判定するカウンタ残量判定部５１０と、入力パケットの帯域が監視帯域を遵守しているかどうかを判定する監視結果判定部５２０を備える。パケットを受信すると、パケット監視部５００は、パケット受信回路１２０から送られた可変長パケットのパケット長情報とフロー検出部１７０より送られたフロー識別子に基いて監視結果を判定し、パケット受信回路１２０へ帯域監視結果情報１８を送信する。本発明の帯域監視機能は従来技術２のカウンタ増加量を入力パケットのバイト長とする事により、可変長パケットの帯域監視を実行する（従来技術３では本方法にて可変長パケットの帯域監視を実施）。この可変長パケットのパケット長情報はパケット長蓄積手段５２５に保持され、監視結果判定部６００に送られる。
【００２７】
図７に、帯域監視テーブル７００のフォーマットを示す。前記帯域監視テーブル７００はＭ個の帯域監視制御情報７００−ｋ（ｋ＝１〜Ｍ）より構成される。帯域監視部５００はフロー識別子１２に対応する一つの前記帯域監視制御情報７００−ｋにより１ユーザの帯域監視を実行する。この帯域監視制御情報７００−ｋは、水の量に応じて変化する確率によって違反の判定を行うための閾値である閾値７０１−ｋ（Ｂｙｔｅ）と、遵守・違反判定を行うための確率を決定するための傾き７０２−ｋ（Ｂｙｔｅ）と、監視レートを表す監視帯域７０３−ｋ（Ｂｙｔｅ／ｓｅｃ）と、同一の帯域監視制御情報７００−ｋ（ｋ＝１〜Ｍ）を参照するパケットが前回監視帯域を遵守していると判定された時刻である時刻７０４−ｋ（ｓｅｃ）と、時刻７０４−ｋのカウンタ残量であるカウンタ７０５−ｋ（Ｂｙｔｅ）、バケツの深さであるバケツサイズ７０６−ｋ（Ｂｙｔｅ）より構成される。時刻７０４−ｋ（ｓｅｃ）とカウンタ７０５−ｋ（Ｂｙｔｅ）を除く、これらの情報は、管理端末１９５が設定する。
【００２８】
遵守・違反の判定をする確率を変化させるために、閾値７０１−ｋと傾き７０２−ｋを有することが、第１の実施の形態の固有の点である。閾値７０１−ｋを越えた入力パケットから短調増加するように違反する確率を上げることで、バースト的なパケット廃棄を抑止することが可能となる（後述図１０で説明）。
図８に、帯域監視部５００のフローチャートを示す。帯域監視部５００の処理は帯域監視開始処理８００、カウンタ残量判定処理８１０、監視結果判定処理８２０を含む。後の２処理はそれぞれカウンタ残量判定部５１０と、監視結果判定部５２０が主に実行する。
【００２９】
帯域監視開始処理８００では、帯域監視テーブル制御回路５５１はフロー検出部１７０によって検出されたフロー識別子情報１２を受信すると、帯域監視テーブル７００のアドレスを作成して帯域監視制御情報７００−ｋを読み出す。閾値７０１−ｋと傾き７０２−ｋとバケツサイズ７０６−ｋを監視結果判定部５２０のそれぞれ閾値蓄積手段５２２、傾き蓄積手段５２３、バケツサイズ蓄積手段５２４に、監視帯域７０３−ｋと時刻７０４−ｋとカウンタ７０５−ｋをカウンタ残量判定部５１０のそれぞれ監視帯域蓄積手段５１３、時刻蓄積手段５１４、カウンタ蓄積手段５１５に蓄積する（ステップ８０１）。
【００３０】
カウンタ残量判定処理８１０では、カウンタ残量判定部５１０はパケット入力直前のカウンタ残量を判定する。まず、カウンタ残量判定回路５１１は現時刻をカウントするタイマー５１２の値（単位はｓｅｃ）と時刻蓄積手段５１４内の時刻７０４−ｋ（ｓｅｃ）との差分を計算し、入力パケットと同じフロー識別子を持ったパケットが前回監視帯域を遵守したと判定されてから経過した経過時間（ｓｅｃ）を計算する（ステップ８１１）。次にカウンタ残量判定部５１０は経過時間（ｓｅｃ）に監視帯域蓄積手段５１３内の監視帯域７０３−ｋ（Ｂｙｔｅ／ｓｅｃ）を乗じて、パケットが前回遵守と判定されてからパケット入力直前までのカウンタ減少量を計算する（ステップ８１２）。更に、カウンタ残量判定部５１０はカウンタ蓄積手段５１５内のカウンタ７０５−ｋから前記カウンタ減少量を減算してパケットが入力する直前のカウンタ残量を判定する（ステップ８１３）。前記カウンタ残量の正負を判定し（ステップ８１４）、判定結果が負の場合にはカウンタ残量を”０”（カウンタは空）に修正する（ステップ８１５）。カウンタ残量判定回路５１１は判定処理が終了すると判定結果を監視結果判定部５２０の監視結果判定回路６００に送信する。
【００３１】
監視結果判定処理８２０では、監視結果判定部５２０の監視結果判定回路６００は入力パケットが監視帯域を遵守しているか違反しているかを判定する。
図９に、監視結果判定回路６００の構成図を示す。監視結果判定回路６００は判定部６１０とカウンタ加算部６２０を備える。カウンタ加算部６２０は、カウンタ残量判定回路５１１で判定されたカウンタ残量情報１７にパケット長（Ｂｙｔｅ）を加算し、加算値２０を判定部６１０と帯域監視テーブル制御回路５５１に送信する。この加算値２０は受信パケットの判定前の水量１１０１を表す。判定部６１０はこの判定前の水量１１０１と乱数値を元に図１０の判定アルゴリズムに基いて、前記パケットが「遵守」であるか「違反」であるかを判定する（ステップ８２６）。ステップ８２６の目的は、帯域監視における許容揺らぎの範囲内で、ランダムに少数のパケットを廃棄することにより、擬似的に軽度の輻輳状態を作り出し、ＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことである。
【００３２】
図１０に、判定部６１０で行なわれるステップ８２６の判定アルゴリズムについての説明図を示す。この図は、乱数発生アルゴリズムによりランダムに０乃至１０のいずれかの値をとる監視カウンタ値５２１をＹ軸に、水量１１０１をＸ軸にしたグラフである。さらに、閾値７０１−ｋ（Ｘ切片）と傾き７０２−ｋから計算される直線１９と、バケツサイズ７０６−Ｋで規定される直線とＹ軸の値＝１０の直線が表されている。各受信パケットに対して、パケットをこの３つの直線で区切られる領域の右側が違反領域、左側が遵守領域と判定される。なお、従来技術２または３では、単にバケツサイズ７０６−Ｋで規定される直線の右側が違反領域、左側が遵守領域と判定される。ここで、あるフローを検出した場合に、判定前の水量１１０１である加算値２０の値が、加算値Ａ＿９１０であったとする。このとき、前記ランダムに値を発生させる監視カウンタ値が０乃至２の場合違反と判定され、３乃至１０の場合に遵守と判定される。一方、加算値Ｂ９２０であった場合、前記監視カウンタ値が０乃至４の場合違反と判定され、５乃至１０の場合に遵守と判定される。つまり加算値Ａ＿９１０の場合は、８／１１の確率で遵守と判定され、加算値Ｂ９２０の場合は、６／１１の確率で遵守と判定される（ステップ８２６の詳細）。
【００３３】
次に、監視結果判定回路６００は、該当パケットが「遵守」であるか「違反」であるかをしめす帯域監視結果情報１８を帯域監視テーブル制御部５５１とパケット送信回路１２０に送信する（ステップ８２８及び８２９）。
帯域監視テーブル制御回路５５１は「遵守」を表示した帯域監視結果情報１８を受信すると、カウンタ残量情報１６とタイマー５１２の値を、それぞれ帯域監視直後のカウンタ残量及びパケットの到着時刻として、帯域監視テーブル７００のカウンタ７０５−ｋと時刻７０４−ｋに書き込む（ステップ８３０）。帯域監視テーブル制御回路５５１は「違反」を表示した帯域監視結果情報１８を受信すると前記ステップ８３０を行わない。以上の処理が終了すると帯域監視は終了する（ステップ８３１）。
このように第１の実施の形態では、前記判定前の水量１１０１である加算値２０により確率的に遵守と違反を判定することができ、帯域監視における許容揺らぎの範囲内で、ランダムに少数のパケットを廃棄することにより、擬似的に軽度の輻輳状態を作り出し、ＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことができる。また、判定前の水量１１０１である加算値２０が増加するに従い違反と判定される確率が増加する。これにより、帯域監視における許容揺らぎの範囲内で、バケツの上限に近づくにつれ、ランダムに少数のパケットを廃棄する頻度を上げることができ、より積極的にＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことができる。
【００３４】
３．第２の実施の形態
次に本発明の第２の実施の形態について説明する。遵守・違反の判定をする確率を変化させるために、閾値７０１−ｋと傾き７０２−ｋを有することが本発明の第１の実施の形態での固有の点であった。これによると、閾値７０１−ｋを越えた入力パケットから短調増加するように違反する確率を上げることで、バースト的なパケット廃棄を抑止することが可能となる。一方、本発明の第２の実施の形態では、さらに第１の実施の形態での単調増加する傾きの度合いを、過去の水位と現在の水位との変化率を考慮して変化させる。第２の実施の形態では、過去Ｎ個の受信時刻と水位の記憶手段を備え、現在の水位と過去の水位とから求まる水位の変化率を考慮した廃棄確率によりパケットを廃棄する。このため、帯域監視部１２００（第１の実施の形態では５００）にさらに追加機能を備えている。
【００３５】
まず、図１１に、第２の実施の形態での帯域監視テーブル１２００のフォーマットを示す。帯域監視テーブル１２００はＭ個の帯域監視制御情報１２００−ｋ（ｋ＝１〜Ｍ）を含む。帯域監視部１３００（後述）はフロー識別子１２に対応する一つの帯域監視制御情報１２００−ｋにより１ユーザの帯域監視を実行する。この帯域監視制御情報１２００−ｋは、水の量に応じて変化する確率によって違反の判定を行うための閾値である閾値７０１−ｋ（Ｂｙｔｅ）と、遵守・違反判定を行うための確率を決定するための傾き７０２−ｋ（Ｂｙｔｅ）と、バケツの深さであるバケツサイズ７０６−ｋ（Ｂｙｔｅ）と、監視レートを表す監視帯域７０３−ｋ（Ｂｙｔｅ／ｓｅｃ）と、同一の帯域監視制御情１２００−ｋ（ｋ＝１〜Ｍ）を参照するパケットが過去ｉ回前（ｉ＝１〜Ｎ）に監視帯域を遵守していると判定された時刻である時刻１２０４（ｉ）−ｋ  （ｓｅｃ）（ｉ＝１〜Ｎ）と、各時刻１２０４（Ｉ）−ｋのカウンタ残量であるカウンタ１２０５（ｉ）−ｋ（Ｂｙｔｅ）（ｉ＝１〜Ｎ）、ポインタ１２０７−ｋを含む。水位データであるカウンタ１２０５（Ｉ）−ｋ（Ｂｙｔｅ）や時刻１２０４（ｉ）−ｋ  （ｓｅｃ）  （ｉ＝１〜Ｎ）は巡回して最新値から過去Ｎ回の値を保持しており、ポインタ１２０７−ｋは最新（直前）の水位データであるカウン１２０５（ｉ）−ｋ（Ｂｙｔｅ）や時刻１２０４（ｉ）−ｋ  （ｓｅｃ）  （ｉ＝１〜Ｎ）の保持されている位置を示す。最新（直前）の水位データ及びカウンタをポインタＩで示すと、帯域監視テーブル１２００から、ポインタ１２０７−ｋの値に基づいて直前の時刻１２０４（Ｉ）−ｋ（ｓｅｃ）及びカウンタ１２０５（Ｉ）−ｋ（Ｂｙｔｅ）と、最も古い時刻１２０４（Ｉ＋１）−ｋ（ｓｅｃ）及びカウンタ１２０５（Ｉ＋１）−ｋ（Ｂｙｔｅ）を読み出され、監視結果判定部１３２０とカウンタ残量判定部５１０に送られる。時刻７０４（ｉ）−ｋ（ｓｅｃ）とカウンタ７０５（ｉ）−ｋ（Ｂｙｔｅ）を除く、これらの情報は、管理端末１９５が設定する。
【００３６】
図１２に、帯域監視部１３００の第２の実施の形態のブロック図を示す。帯域監視部１３００は、監視結果判定部１３２０内に最古時刻蓄積手段１３２７と最古カウンタ蓄積手段１３２６を新たに備える。また、カウンタ残量判定部１３１０内に直前時刻蓄積手段１３１４（第１の実施の形態の時刻蓄積手段５１４に相当）と直前カウンタ蓄積手段１３１５（第１の実施の形態のカウンタ蓄積手段５１５に相当）を備える。監視結果判定部１３６０（図１６）には新たにカウンタ変化率算出部１３７０を備える。他の構成は、特に記載されていない限り、第１の実施の形態と同様である。
監視結果判定部１３６０はカウンタ加算部６２０の値に加え、最古時刻蓄積手段１３２７、最古カウンタ蓄積手段１３２６、タイマ５１２からの信号を判定部６１０で新たに受信する。これら最新・最古２組の時刻データとカウンタデータ（水位）に基き、監視結果判定部１３６０はバケツの水位の変化率を算出し、第１の実施の形態における図１０での傾き７０２−Ｋを変化させる。
【００３７】
これらのアルゴリズムを以下に説明する。
図１３に、バケツの水位の変化率を算出するアルゴリズムについての説明図を示す。この図は縦軸がパケット受信時の水位１１０１（カウンタ値１２０５として帯域監視テーブル１２００に保持）、横軸が受信時間（時刻値１２０４として帯域監視テーブル１２００に保持）として過去受信時の水位変化を示すグラフである。このデータの内、最古の（この例では、受信水位１２に対して８回過去の水位４、受信水位１３に対して８回過去の水位５、等）水位データとカウンタ残量判定部で求めた最新の水位データから水位変化の傾きを算出する。図では、例として水位データ４とデータ１２の変化率は直線１５１２、データ５とデータ１３の変化率は直線１５１３、データ６とデータ１４の変化率は直線１５１４で示される。直線１５１４は最古と最新データが同一なので、（割合で計算する）変化率は１１００％、直線１５１３では変化率は１２０％、直線１５１２では変化率は１４０％と言う様に、傾きが増えると変化率は増加する。最古データより最新データが減少すると、変化率は（８０％、６０％と言う様に）減少する。
【００３８】
図１４に、この変化率に基いて、図１０で説明した傾き７０２−Ｋの度合いを変化させるアルゴリズムについての説明図を示す。直線１４１９−１００は図１０の直線１９に対応している。これは変化率が１００％の場合に適用される。変化率が１２０％、１４０％と増加する場合、それぞれ直線１４１９−１２０、直線１４１９−１４０が適用される。また、変化率が８０％、６０％と増加する場合、それぞれ直線１４１９−８０、直線１４１９−６０が適用される。
【００３９】
図１５に、帯域監視部１３００のフローチャートを示す。帯域監視部１３００の処理は、帯域監視開始処理８００、カウンタ残量判定処理８１０、監視結果判定処理１３２０を含む。後の２処理はそれぞれカウンタ残量判定部１３１０と、監視結果判定部１３２０が主に実行する。帯域監視開始処理８００、カウンタ残量判定処理８１０の処理は図８の説明と同様である。
監視結果判定処理１６２０では、監視結果判定部１３２０の監視結果判定回路１３６０は入力パケットが監視帯域を遵守しているか違反しているかを判定する。
【００４０】
図１６に、監視結果判定部１３６０の構成図を示す。
監視結果判定回路１３６０の構成は、カウンタ変化率算出部１３７０が追加された他は図９の場合とほぼ同様である。カウンタ変化率算出部１３７０は、変化率に対する傾き７０２−ｋに度合いを記憶したテーブル１３７１を有する。
監視結果判定回路１３６０内のカウンタ変化率算出部１３７０は最古カウンタ蓄積手段１３２６からの値（最古の水位データ）と最古時刻蓄積手段１３２７からの値（最古時刻）、信号２０の値（カウンタ残量判定部で求めた現在の水位データ）とタイマ５１２からの現在時刻の２組の値から水位変化の傾きを算出する（ステップ１６２２）。
【００４１】
次に、カウンタ変化率算出部１３７０はステップ１６２２で求めた変化率に対応する傾き変更率を内部のテーブル（記憶手段）１３７１から読み出し、判定部１３６１に送信する（ステップ１６２４）。
監視結果判定回路１３６０内の判定部１３６１はこの判定前の水量１１０１と乱数値を元に、図１０の判定アルゴリズムの直線の傾き７０２−Ｋをステップ１６２４で求めた変更率で更新した値に基いて、前記パケットが「遵守」であるか「違反」であるかを判定する（ステップ１６２６）。
ステップ１６２６の目的は、第１の実施の形態と同様に、帯域監視における許容揺らぎの範囲内で、ランダムに少数のパケットを廃棄することにより、擬似的に軽度の輻輳状態を作り出し、ＴＣＰパケットの送信端末を輻輳回避フェーズの動作に導くことである。第２の実施の形態ではさらに現在の水位と過去の水位とから求まる水位の変化率を考慮した廃棄確率によりパケットを廃棄する。
この様に、遵守・違反の判定をする確率を変化させるために、現在のバケツの水位と、水位の変化率算出手段を備え、水位の変化率よって決まる廃棄確率値を変更する変更率テーブル１３７１を備え、現在の水位とこのテーブルの指示に基づいてパケットの確率的な廃棄・非廃棄を決定することが本発明固有の点である。
【００４２】
【発明の効果】
本発明によると、以下のように、上記のアルゴリズムを有する帯域監視部５００を備えることで、ＴＣＰパケットがバースト的に流入した時にも、バースト的な廃棄を避け、パケットを確率的に廃棄できる。このように確率的に廃棄することにより、ＴＣＰのフロー制御がスロー・スタートフェーズから再スタートすることによる帯域低下を回避することが出来、ユーザは契約帯域をより有効に利用することが可能になる（第１の実施の形態）。
さらに、本発明によると、所定のアルゴリズムを有する帯域監視部１３００を備えることで、バースト的なパケット廃棄を抑止することが可能となり、さらに、例えば、次の効果を奏することができる。
（１）水位が高い場合でも変化率が減少方向（１００％以下）の場合の過度の廃棄を避けることが出来る。
（２）水位が比較的低い場合でも水位の変化率が非常に高い場合、廃棄確率を高く設定することにより早めに輻輳を抑える事が可能になる。
（３）小さいバーストの場合、水位の変化が現れにくく、過度の廃棄を避けることが出来る（第２の実施の形態）。
【図面の簡単な説明】
【図１】本発明を適用したルータ１００の構成を示すブロック図。
【図２】本発明が想定しているネットワークの構成図。
【図３】キャリア網２００におけるパケットのフォーマットを示す図。
【図４】本発明を適用したルータ１００におけるパケットのフォーマットを示す図。
【図５】パケット受信回路の構成図を示す。
【図６】本発明の帯域監視部５００の構成を示すブロック図。
【図７】帯域監視テーブル７００のフォーマットを示す図。
【図８】本発明を適用した帯域監視部５００のフローチャート。
【図９】本発明の監視結果判定部６００の構成を示す図。
【図１０】本発明で適用した確率的に廃棄判定を行う領域を示す図。
【図１１】帯域監視テーブル１２００のフォーマットを示す図。
【図１２】帯域監視部１３００の構成を示すブロック図
【図１３】図１０で説明した傾き７０２−Ｋの度合いを変化させるアルゴリズムを表した図。
【図１４】バケツの水位の変化率を算出するアルゴリズムを表した図
【図１５】帯域監視部１３００のフローチャートを示す図。
【図１６】監視結果判定部１３６０の構成を示す図。
【図１７】帯域監視アルゴリズムを表したモデル図。
【符号の説明】
１１      パケットヘッダ情報
１２      フロー識別子
１４      出力回線番号
１６      カウンタ残量情報
１８      帯域監視結果情報
１９      ある閾値を通りある傾きをもった直線
２０      ある時刻での監視カウンタ値を通りＸ軸に平行な直線
２１      ある時刻での監視カウンタ値を通りＸ軸に平行な直線
２２      ある時刻での加算値を通りＹ軸に平行な直線
２３      ある時刻での加算値を通りＹ軸に平行な直線
【図１】
2004254164.tif 000003
【図２】
2004254164.tif 000004
【図３】
2004254164.tif 000005
【図４】
2004254164.tif 000006
【図５】
2004254164.tif 000007
【図６】
2004254164.tif 000008
【図７】
2004254164.tif 000009
【図８】
2004254164.tif 000010
【図９】
2004254164.tif 000011
【図１０】
2004254164.tif 000012
【図１１】
2004254164.tif 000013
【図１２】
2004254164.tif 000014
【図１３】
2004254164.tif 000015
【図１４】
2004254164.tif 000016
【図１５】
2004254164.tif 000017
【図１６】
2004254164.tif 000018
【図１７】
2004254164.tif 000019