(57)【要約】【課題】  ランダム長のフレームのトラフィックを精度良くシェーピングする。【解決手段】  到来したフレームの長さをフレーム長判定部２０において判定し、サイズ別に複数のキュー２６に振り分ける。単位制御区間（Ｔ１−Ｔ０）において到来するフレーム長の合計をフレームカウンタ部３４において算出し、読み出し制御部３６において出力レート設定部３８からのレート設定値と比較する。フレームカウンタ部３４における加算値（Ｔｃ）がレート設定から決まる所定値（（Ｔ１−Ｔ０）／４）からシステムが許すフレーム最大長（Ｔｗ）を差し引いたもの以下であれば監視を継続し、以上になったら、サイズ別キュー２６からの読み出し制御を開始する。【選択図】      図３
2005286834.tif 000002
【特許請求の範囲】
【請求項１】
単位制御区間ごとに送出されるフレームの長さの合計が所定値（（Ｔ１−Ｔ０）／４）以下になるように送出を制限するランダムフレームシェーピング装置であって、
複数のキューと、
該複数のキューの入口側において、到来したフレームの長さを加算するフレームカウンタ部と、
到来したフレームをその長さにより該複数のキューのいずれかに振り分けるフレームスイッチ部と、
該複数のキューからフレームを読み出して出力するフレーム出力部と、
前記フレームカウンタ部の加算値（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からシステムが許すフレーム最大長（Ｔｗ）を差し引いたもの以上となったら、次の単位制御区間が始まるまで、キューに対する選択的なフレーム読み出しの制御を行う読み出し制御部とを具備するランダムフレームシェーピング装置。
【請求項２】
前記読み出し制御部は、フレーム読み出し制御開始後、最初に、最長フレームを有するキューに対する読み出し制御を行い、以後は前記所定値（（Ｔ１−Ｔ０）／４）から制御開始時におけるフレームカウンタ部の加算値（Ｔｃ）および制御開始後に読み出し制御を行なったキューから読み出されたフレームの長さの合計（Ｔｆ）を差し引いた結果（Ｔｒ）に応じた長さ以下で最長フレームを有するキューへの読み出し制御を行う請求項１記載のランダムフレームシェーピング装置。
【請求項３】
前記複数のキューの各々はそれぞれに定められた閾値を超えてフレームが保持されていることを示す閾値超過情報を出力し、
前記読み出し制御部は、前記最初の読み出し制御において、閾値を超えてフレームを保持するキューがあればそれに対して優先的に読み出し制御を行い、前記以後の読み出し制御において、閾値を超えてフレームを保持しており、かつ前記差し引き結果（Ｔｒ）以下の長さのフレームを有するキューがあればそれに対して優先的に読み出し制御を行う請求項２記載のランダムフレームシェーピング装置。
【請求項４】
前記読み出し制御部は、読み出し順序が定められているフレームについて、フレーム読み出し制御開始後において、前記所定値（（Ｔ１−Ｔ０）／４）から制御開始時におけるフレームカウンタ部の加算値（Ｔｃ）および制御開始後に読み出されたフレームと次に読み出し予定のフレームの長さの合計（Ｔｆ）を差し引いた結果（Ｔｒ）がシステムにおける最短フレーム長以上であるときフレームの読み出しを許す請求項１記載のランダムフレームシェーピング装置。
【請求項５】
単位制御区間ごとに送出されるフレームの長さの合計が所定値（（Ｔ１−Ｔ０）／４）以下になる範囲で長さがランダムに変わるフレームを送出するトラフィック負荷器であって、
所定の範囲で長さがランダムに変わるフレームを発生する複数のランダム発生部であって、フレーム長の変化範囲が互いに異なる複数のランダム発生部と、
該複数のランダム発生部の１つからのフレームを順次出力するフレーム出力部と、
単位制御区間ごとにフレーム出力部から出力されるフレームの長さの合計を算出する出力レート算出部と、
該出力レート算出部において算出された出力フレーム長の合計（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からシステムが許すフレーム最大長（Ｔｗ）を差し引いたものを超えるまで前記複数のランダム発生部の１つとランダムに選択して読み出し制御を行い、前記出力フレーム長の合計（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からフレーム最大長（Ｔｗ）を差し引いたものを超えたら、前記所定値（（Ｔ１−Ｔ０）／４）から現在の出力フレーム長合計（Ｔｃ＋Ｔｆ１）を差し引いた長さに応じた長さのフレームを出力するランダム発生部を選択して読み出しを行う読み出し制御部とを具備するトラフィック負荷器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力トラフィックをシェーピングするランダムフレームシェーピング装置およびシェーピングされたフレームトラフィックを出力するトラフィック負荷器に関する。
【背景技術】
【０００２】
現在、通信事業者が提供しているＶＰＮ（Virtual Private Network）サービス等では物理帯域をユーザがシェアする事でネットワークの収容効率を高め、安価なネットワークを構築している。ここでユーザはある帯域を使うことを通信業者と契約するが、現在の通信業者のインフラでは契約帯域に対し正確に帯域サービスを行うことが出来ず、ユーザ間で不公平を生じる恐れがある。
【０００３】
このような原因の一つに帯域制限を実現するシェーピングという機能の問題がある。またもう一つの原因として、送信するフレームがランダムなフレーム長の場合、次に送出するフレーム長が予想できないため、帯域制限の精度を高めることが困難である事が挙げられる。
【０００４】
図１は、従来の出力トラフィックをシェーピングする機能を有する装置の一例を示す図である。シェーピング・レートを設定する帯域設定部１０と、帯域設定部１０に設定されたシェーピング・レートをもとに決められた供給間隔にてトークンを加算する加算処理部１２、フレーム出力キュー１４からの読み出し処理が完了したらトークンを減算する減算処理部１６、加算処理部１２と減算処理部１６からトークンの加減算された結果をもとにフレーム出力キューに読み出し処理を行う帯域制御部１８にて構成される。
【０００５】
帯域制御部１８ではある供給間隔である量のトークンが供給され続け、それに対してフレーム出力キュー１４から読み出しが完了すれば、読み出されたフレームに対応するトークンが消費される。ここで帯域制御部１８は残されたトークンが０より大きい場合（トークンがプラスの場合）読み出し処理を行う。またトークンが残っていない場合（トークンがマイナスの場合）読み出し処理を行わない。このトークンによる制御により出力帯域に制限をかける方法である。
【特許文献１】特開２００２−１８５４６６号公報
【特許文献２】特開平０１−１４６４４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、このような従来の出力トラフィックをシェーピングする機能を有する装置では、トークンの供給量と供給間隔でシェーピング精度が決定されるがこれでは十分な精度を確保することが困難であった。
【０００７】
そこで本発明は、送信するフレームがランダムなフレーム長で次に送出するフレーム長が予想できない場合でも高いシェーピング精度を持つ装置を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば、単位制御区間ごとに送出されるフレームの長さの合計が所定値（（Ｔ１−Ｔ０）／４）以下になるように送出を制限するランダムフレームシェーピング装置であって、複数のキューと、該複数のキューの入口側において、到来したフレームの長さを加算するフレームカウンタ部と、到来したフレームをその長さにより該複数のキューのいずれかに振り分けるフレームスイッチ部と、該複数のキューからフレームを読み出して出力するフレーム出力部と、前記フレームカウンタ部の加算値（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からシステムが許すフレーム最大長（Ｔｗ）を差し引いたもの以上となったら、次の単位制御区間が始まるまで、キューに対する選択的なフレーム読み出しの制御を行う読み出し制御部とを具備するランダムフレームシェーピング装置が提供される。
【０００９】
前記読み出し制御部は例えば、フレーム読み出し制御開始後、最初に、最長フレームを有するキューに対する読み出し制御を行い、以後は前記所定値（（Ｔ１−Ｔ０）／４）から制御開始時におけるフレームカウンタ部の加算値（Ｔｃ）および制御開始後に読み出し制御を行なったキューから読み出されたフレームの長さの合計（Ｔｆ）を差し引いた結果（Ｔｒ）に応じた長さ以下で最長フレームを有するキューへの読み出し制御を行う。
【００１０】
本発明によれば、単位制御区間ごとに送出されるフレームの長さの合計が所定値（（Ｔ１−Ｔ０）／４）以下になる範囲で長さがランダムに変わるフレームを送出するトラフィック負荷器であって、所定の範囲で長さがランダムに変わるフレームを発生する複数のランダム発生部であって、フレーム長の変化範囲が互いに異なる複数のランダム発生部と、
本発明によれば、該複数のランダム発生部の１つからのフレームを順次出力するフレーム出力部と、単位制御区間ごとにフレーム出力部から出力されるフレームの長さの合計を算出する出力レート算出部と、該出力レート算出部において算出された出力フレーム長の合計（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からシステムが許すフレーム最大長（Ｔｗ）を差し引いたものを超えるまで前記複数のランダム発生部の１つとランダムに選択して読み出し制御を行い、前記出力フレーム長の合計（Ｔｃ）が前記所定値（（Ｔ１−Ｔ０）／４）からフレーム最大長（Ｔｗ）を差し引いたものを超えたら、前記所定値（（Ｔ１−Ｔ０）／４）から現在の出力フレーム長合計（Ｔｃ＋Ｔｆ１）を差し引いた長さを超えない最長のフレームを出力するランダム発生部を選択して読み出しを行う読み出し制御部とを具備するトラフィック負荷器もまた提供される。
【発明を実施するための最良の形態】
【００１１】
図２はランダムなフレーム長のトラフィックで出力レート５０％の例を示す。トラフィック・レートの考え方はある単位時間（図２ではＴ１−Ｔ０）において、ＩＦＧ（Interframe Gap）とＰＡ（Preamble）とＬ２フレームの組を１フレーム（図２では＃１と＃２の２つ存在）として、そのフレームが占める時間が（Ｔ１−Ｔ０）／２の場合に出力レート５０％であるとしている。この例ではｎバイト長のＬ２フレームに続いてｍバイト長のＬ２フレームが出力されているが、実際のトラフィックでは都合よくｍバイト長のＬ２フレームが続くことは期待できず、ｎバイト長のＬ２フレームに続きαバイト（α＞ｍ）のＬ２フレームだった場合は出力レートが５０％を超え、逆にβバイト（β＜ｍ）のＬ２フレームだった場合は出力レートが５０％を下回る。
【００１２】
本発明では、入力されたフレームをフレーム長毎に設けたキューに入力し、キューに入力されるフレームの長さの合計と設定されたシェーピング値とから次にキューから読み出されるべきフレームサイズを計算し、該当するキューに対し読み出し制御を実行することでランダムなフレーム長のトラフィックに対しても高い精度でシェーピングの制御を行うことができる。
【００１３】
図３は本発明の一実施形態に係るランダムフレームシェーピング装置の構成を示す図である。入力フレームはフレーム長判定部２０にてＬ２フレームの長さを測定され、結果をフレーム管理メモリ２２に格納し入力バッファ２４に入る。図４にフレーム管理メモリの構成を示す。図４中、「有効ビット」はその行の情報が有効かどうかを示す。「フレーム番号」はフレームが入力された順序を表す。「サイズ別キュー番号」はフレームサイズから決定されるフレームを入れるべきサイズ別キューの番号を示す。フレーム長判定部２０は測定結果よりフレームをどのサイズ別キュー２６に入力するかフレームスイッチ部２８を制御する。例えばフレームサイズが１０２４〜１５１８バイトのときNo．１に、５１２〜１０２３バイトのときNo．２に、２５６〜５１１バイトのときNo．３に、１２８〜２５５バイトのときNo．４に、６４〜１２７バイトのときNo．５に入力される。サイズ別キュー２６から出されたフレームはフレーム出力部３０より出力フレームとして出力される。出力フレームは出力レート算出部３２にてトラフィックレートを算出される。フレームカウンタ部３４ではフレーム長判定部２０の測定結果を加算、累積し、その情報を読み出し制御部３６に渡す。出力レート設定部３８にはユーザーインターフェース部より入力されたシェーピング値が設定される。読み出し制御部３６ではフレームカウンタ部３４からのフレーム長累積結果と出力レート設定部３８からのシェーピング値を比較して、フレーム長累積結果＜シェーピング値であれば読み出し制御を実行する。この制御方法の詳細について図５にて説明する。
【００１４】
図５の説明にもあるように、Ｔ１−Ｔ０は単位制御時間、Ｔｃはフレーム長判定部２０で測定されフレームカウンタ部３４にて加算、累積された占有時間、（Ｔ１−Ｔ０）／４は出力レート設定２５％の場合のそれに対応したフレーム占有時間、Ｔｗは制御監視ウィンドウで装置の許容する最大フレーム長のフレームが占有する時間である。
【００１５】
読み出し制御部は図６のフローチャートに従って以下のように動作する。
【００１６】
１．図５の参照番号４０で示す範囲を制御監視ウィンドウとして、フレームカウンタ３４において計算された合計時間Ｔｃが制御監視ウィンドウ４０に入ったかの判定をする（ステップ１０００）。
【００１７】
（Ｔ１−Ｔ０）／４−Ｔｗ≦Ｔｃであれば制御監視ウィンドウ４０に入る、
（Ｔ１−Ｔ０）／４−Ｔｗ＞Ｔｃであれば制御監視ウィンドウ４０に入らない、と言    える。
【００１８】
２．制御監視ウィンドウに入っていなければ監視を継続し、入ったと判定されれば、より大きなサイズのフレームを入力するサイズ別キュー（No．１）から順に、キューイングされたフレームがあるかを確認し（ステップ１００２〜１０１０）、あれば該当サイズ別キューに対して送信制御を行う（ステップ１０１２）。
【００１９】
３．上記フレームを送信した後の出力レート設定（この例では（Ｔ１−Ｔ０）／４）までの残り時間ＴｒをＴｒ＝（Ｔ１−Ｔ０）／４−Ｔｃ−Ｔｆ１で算出する（ステップ１０１４）。ここでＴｆ１は２．で送信したフレームの占有時間である。
【００２０】
４．Ｔｒ＞６３バイトでなければ（ステップ１０１６）処理を終了し、それ以外であればＴｒと同程度の長さのフレームが入力されるサイズ別キューを決定し（ステップ１０１８〜１０２４）、そのキューから順にキューイングされたフレームがあるかを確認し（ステップ１０２６〜１０３４）、あれば該当サイズ別キューに対して送信制御を行う（ステップ１０１２）。
【００２１】
５．１.〜４.の処理をＴｒ≦６３バイトの占有時間になるまで繰り返し、次の単位制御時間開始から再度１．より開始する。
【００２２】
このような手法により、ランダムなフレーム長のトラフィックに対しても高いシェーピング精度を持つことが可能となる。
【００２３】
図７は本発明の第２の実施形態に係るランダムフレームシェーピング装置の一例を示すブロック図である。図３の構成に加えてサイズ別キュー２６にそれぞれ閾値を設定できるようにして、フレーム長に偏りのあるトラフィックの場合には閾値超過情報を読み出し制御部３６に入力する。
【００２４】
読み出し制御部は図８のフローチャートに従って以下のように動作する、
１．Ｔｃが制御監視ウィンドウＴｗに入るかの判定をする（ステップ１１００）。
【００２５】
（Ｔ１−Ｔ０）／４−Ｔｗ≦Ｔｃであれば制御監視ウィンドウに入る、
（Ｔ１−Ｔ０）／４−Ｔｗ＞Ｔｃであれば制御監視ウィンドウに入らない、と言える    。
【００２６】
２．制御監視ウィンドウに入らなければ監視を継続し、入ると判定されれば、閾値超過情報を参照し（ステップ１１０２）、閾値を超過していれば該当サイズ別キューに対して優先的にフレーム送信制御を行う（ステップ１１１４）。
【００２７】
３．上記フレームを送信した後の出力レート設定（この例では（Ｔ１−Ｔ０）／４までの残り時間ＴｒをＴｒ＝（Ｔ１−Ｔ０）／４−Ｔｃ−Ｔｆ１で算出する（ステップ１１１６）。ここでＴｆ１は２．で送信したフレームの占有時間である。
【００２８】
４．Ｔｒ＞６３バイトでなければ（ステップ１１１８）処理を終了し、それ以外であれば再度閾値超過情報を参照し（ステップ１１２０）、閾値を超過していれば次にＴｒと閾値超過該当キューのｍａｘ値を比較し（ステップ１１２２）、
Ｔｒ＞閾値超過該当キューのｍａｘ値であれば該当サイズ別キューに対してフレーム    送信制御を行う。
【００２９】
Ｔｒ≦閾値超過該当キューのｍａｘ値であればＴｒと同程度の長さのフレームが入力    されるサイズ別キューを決定し（ステップ１１２４〜１１３０）、そのキューから順    にキューイングされたフレームがあるかを確認し（ステップ１１３２〜１１４０）、    あれば該当サイズ別キューに対して送信制御を行う（ステップ１１１４）。
【００３０】
５．１.〜４.の処理をＴｒ≦６３バイトになるまで繰り返し、次の単位制御時間開始から再度１．より開始する。
【００３１】
このような手法により、ランダムなフレーム長で、しかもフレーム長に偏りのあるトラフィックに対しても高いシェーピング精度を持つことが可能となる。
【００３２】
本発明の第３の実施形態に係るランダムフレームシェーピング装置の一例のブロック図は図３または図７と同一である。ただしフレーム順序に厳密性を求めるＶｏＩＰや画像ストリーム等のアプリケーションをサポートするためフレーム管理メモリ２２（図４）にあるフレーム番号情報を参照して、入力されたフレーム順に出力するように該当サイズ別キューに対して読み出し制御を実施する。また、読み出し制御部３６では、図９のフローチャートに従って動作する。
【００３３】
１．Ｔｃが制御監視ウィンドウＴｗに入るかの判定をする（ステップ１２００）。
【００３４】
（Ｔ１−Ｔ０）／４−Ｔｗ≦Ｔｃであれば制御監視ウィンドウに入る、
（Ｔ１−Ｔ０）／４−Ｔｗ＞Ｔｃであれば制御監視ウィンドウに入らない、と言える    。ここまでは第１および第２の実施形態と同様の処理である。
【００３５】
２．制御監視ウィンドウに入らなければ監視を継続し、入ると判定されれば、次に出力予定のフレーム長よりこのフレームを送信した後の出力レート設定（この例では（Ｔ１−Ｔ０）／４）までの残り時間ＴｒをＴｒ＝（Ｔ１−Ｔ０）／４−Ｔｃ−Ｔｆ１で算出する（ステップ１２０２）。Ｔｆ１は送信したフレームの占有時間である。
【００３６】
３．このようにして順次、次に出力予定のフレーム長よりこのフレームを送信した後の出力レート設定（この例では（Ｔ１−Ｔ０）／４）までの残り時間Ｔｒを算出する。
【００３７】
４．１.〜３.の処理をＴｒ≦６３バイトになるまで繰り返し、次の単位制御時間開始から再度１．より開始する。
【００３８】
このような手法により、フレーム順序に厳密性を求めるＶｏＩＰや画像ストリーム等のアプリケーションに対しても高いシェーピング精度を持つことが可能となる。
【００３９】
図１０はこれまでに説明したランダムフレームシェーピング装置を試験し検査するために、ランダムな長さのフレームを発生するトラフィック負荷器の構成の一例を示すブロック図である。
【００４０】
サイズ別ランダム発生部５０は所定のフレーム長の範囲の中でランダムにフレームを発生させるものであり、フレーム長の範囲が異なる複数のサイズ別ランダム発生部が設けられる。例えばNo．１が１０２４〜１５１８バイト、No．２が５１２〜１０２３バイト、No．３が２５６〜５１１バイト、No．４が１２８〜２５５バイト、No．５が６４〜１２７バイトのフレーム長範囲を有している。サイズ別ランダム発生部５０からのフレームはフレーム出力部０３より出力フレームとして出力される。出力フレームは出力レート算出部３２にてトラフィックレートを算出される。出力レート設定部３８ではユーザインターフェース部より入力されたシェーピング値が設定される。読み出し制御部３６ではレート算出部３２からの結果と出力レート設定部３８からのシェーピング値を比較して、トラフィックレート＜シェーピング値であれば読み出し制御を実行する。
【００４１】
読み出し制御部３６は図１１のフローチャートに従い以下のように動作する、
１．サイズ別ランダム５０の１つをランダムに決定し、そこから読み出し制御を行う（ステップ１３００）。
【００４２】
２．出力レート算出部３２において算出された出力フレームの占有時間Ｔｃが制御監視ウィンドウＴｗに入るかの判定をする（ステップ１３０２）。
【００４３】
（Ｔ１−Ｔ０）／４−Ｔｗ≦Ｔｃであれば制御監視ウィンドウに入る、
（Ｔ１−Ｔ０）／４−Ｔｗ＞Ｔｃであれば制御監視ウィンドウに入らない、と言える    。
【００４４】
２．制御監視ウィンドウに入らなければ１．の読み出し制御を実施する。入ると判定されれば、
３．出力レート設定（この例では（Ｔ１−Ｔ０）／４）までの残り時間ＴｒをＴｒ＝（Ｔ１−Ｔ０）／４−Ｔｃ−Ｔｆ１で算出する（ステップ１３０４）。Ｔｆ１は２．で送信したフレームの占有時間である。
【００４５】
４．Ｔｒ＞６３バイトの占有時間であれば（ステップ１３０６）処理を終了し、それ以外であればＴｒに応じたサイズのランダム発生部より読み出し制御を実施する。
【００４６】
５．３.〜４.の処理をＴｒ≦６３バイトになるまで繰り返し、次の単位制御時間開始から再度１．より開始する。
【００４７】
このような手法により、ランダムなサイズのフレームを発生するトラフィック負荷器においても高いシェーピング精度を持つことが可能となる。
【図面の簡単な説明】
【００４８】
【図１】従来のシェーピング装置の構成を示すブロック図である。
【図２】トラフィックのシェーピングを説明する図である。
【図３】本発明の第１の実施例に係るランダムフレームシェーピング装置の一例のブロック図である。
【図４】フレーム管理メモリ２２の構成を示す図である。
【図５】本発明におけるフレーム読み出し制御を説明する図である。
【図６】本発明の第１の実施形態における読み出し制御部３６の動作のフローチャートである。
【図７】本発明の第２の実施形態に係るランダムフレームシェーピング装置の一例のブロック図である。
【図８】本発明の第２の実施形態における読み出し制御部３６の動作のフローチャートである。
【図９】本発明の第３の実施形態における読み出し制御部３６の動作のフローチャートである。
【図１０】本発明の第４の実施形態に係るトラフィック負荷器の構成を示すブロック図である。
【図１１】図１０の読み出し制御部３６の動作のフローチャートである。
【図１】
2005286834.tif 000003
【図２】
2005286834.tif 000004
【図３】
2005286834.tif 000005
【図４】
2005286834.tif 000006
【図５】
2005286834.tif 000007
【図６】
2005286834.tif 000008
【図７】
2005286834.tif 000009
【図８】
2005286834.tif 000010
【図９】
2005286834.tif 000011
【図１０】
2005286834.tif 000012
【図１１】
2005286834.tif 000013