(57)【要約】【課題】  トークンレートの設定を密に行うことを可能にする。【解決手段】  基準クロックを設定された分周比に分周する分周器１２と、分周器１２により分周されたクロックをカウントするカウンタ１４と、カウンタ１４のカウンタ値が設定された比較値以下の場合に「１」（ハイレベル）の信号を出力し、比較値を超えた場合に「０」（ローレベル）の信号を出力する比較器１６と、分周器１２により分周されたクロックと比較器１６の出力とをＡＮＤ（論理積）してトリガを生成するＡＮＤ回路１８と、を備える。【選択図】      図１
2007088994.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックを設定された分周比に分周する分周手段と、
前記分周手段により分周されたクロックをカウントするカウンタ手段と、
前記カウンタ手段のカウンタ値が設定された比較値以下の場合に前記分周手段により分周されたクロックを出力し、前記カウンタ手段のカウンタ値が前記比較値を超えた場合にクロックを出力しないことによりトリガを生成するトリガ生成手段と、
を備えたことを特徴とするトラヒックシェーピング装置。
【請求項２】
前記カウンタ手段は、カウンタ値が設定されたカウンタ長に達すると、カウンタ値を初期値にすることを特徴とする請求項１記載のトラヒックシェーピング装置。
【請求項３】
基準クロックを設定された分周比に分周する分周手順と、
前記分周手順において分周されたクロックをカウントするカウンタ手順と、
前記カウンタ手順においてカウントされたカウンタ値が設定された比較値以下の場合に前記分周手段により分周されたクロックを出力し、前記カウンタ手順においてカウントされたカウンタ値が前記比較値を超えた場合にクロックを出力しないことによりトリガを生成するトリガ生成手順と、
を備えたことを特徴とするトラヒックシェーピング方法。
【請求項４】
前記カウンタ手順においてカウンタ値が設定されたカウンタ長に達すると、カウンタ値を初期値にすることを特徴とする請求項３記載のトラヒックシェーピング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット送出間隔およびパケット送出レートをネットワーク特性に合わせるために用いるトラヒックシェーピング装置、およびトラヒックシェーピング方法に関する。
【背景技術】
【０００２】
通信網におけるパケットの出力においては、トラヒックシェーピング装置を用いることにより、送信レート（帯域幅）に応じて出力されるパケット量を制御すること（シェーピング動作）が行われる（例えば、特許文献１参照。）。
以下、従来のトラヒックシェーピング装置の構成について図５を参照しつつ説明する。図５は従来のトラヒックシェーピング装置の構成を示す構成図である。
図５に示すトラヒックシェーピング装置１００は、トークン生成部１１０、フレーム送信制御部１２０、フレームバッファ１３０、およびトークンレジスタ１４０を有している。
トークン生成部１１０は、入力されるシステムクロック（基準クロックに対応）を分周器１１１により分周比レジスタ１１２に設定され記憶されている分周比に分周し、分周したクロックをトリガＴＲＧとしてフレーム送信制御部１２０へ出力する。
【０００３】
フレーム送信制御部１２０は、トークン生成部１１０から入力されるトリガＴＲＧの例えば立ち上がりエッジでトークンレジスタ１４０に設定され記憶されているトークン量を加算する。フレーム送信制御部１２０は、加算して得られた累計トークン量がフレームバッファ１３０から要求されたパケットサイズを越えるまではフレームバッファ１３０に対してフレームの送信許可を示す送信許可信号を出力せず、累計トークン量がフレームバッファ１３０から要求されたパケットサイズを超えるとフレームバッファ１３０に対して送信許可信号を出力する。フレームバッファ１３０はフレーム送信制御部１２０から送信許可信号が入力されると格納しているパケットの送信を行う。このようにして、パケットの送信レートを調整している。
【特許文献１】特開平１０−１８４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の従来のトラヒックシェーピング装置１００においては、分周比レジスタ１１２に設定する基準クロックを分周する分周比と、トークンレジスタ１４０に設定する一度に加算するトークン量とを調整して、所望の送信レートを得るためのトークンレートを設定する必要がある。
このトークンレートは、
トークンレート＝トークンレジスタ値×基準クロックの周波数／分周比
により得られる。
【０００５】
しかしながら、基準クロックを分周して使用するため、トークンレートが低い場合にはトークンレートを密に設定することができるが、トークンレートが高い場合にはトークンレートを粗にしか設定することができない。
例えば、基準クロックの周波数が４０（ＭＨｚ）で、トークンレジスタ１４０に設定されている値（トークンレジスタ値：トークン量）が「１」である場合、分周比の値が「１０００」のときトークンレートは０．０４（Ｍｂｙｔｅ／ｓｅｃ）であり、分周比の値が「１００１」のときトークンレートは０．０３９９（Ｍｂｙｔｅ／ｓｅｃ）である。つまり、トークンレートが低い場合には、０．０００１（Ｍｂｙｔｅ／ｓｅｃ）程度の間隔で設定トークンレートを設定することができる。
基準クロックの周波数が４０（ＭＨｚ）で、トークンレジスタ１４０に設定されている値が「１」である場合、分周比の値が「１」のときトークンレートは４０（Ｍｂｙｔｅ／ｓｅｃ）であり、分周比の値が「２」のときトークンレートは２０（Ｍｂｙｔｅ／ｓｅｃ）であり、２０（Ｍｂｙｔｅ／ｓｅｃ）と４０（Ｍｂｙｔｅ／ｓｅｃ）の間のトークンレートを設定することができない。
【０００６】
これを解決する必要として、基準クロックの周波数を高くすることが考えられるが、基準クロックの周波数を高くすることには限界があり、特に、Ｇ（ギガ）ｂｉｔ／ｓｅｃ近傍での設定を行うためには基準クロックの周波数を高くせざるを得ない。このため、基準クロックの周波数を調整することのみによって、トークンレートの設定を密に行うことは困難である。
そこで、本発明は、トークンレートの設定を密に行うことを可能にするトラヒックシェーピング装置、およびトラヒックシェーピング方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載のトラヒックシェーピング装置は、基準クロックを設定された分周比に分周する分周手段と、前記分周手段により分周されたクロックをカウントするカウンタ手段と、前記カウンタ手段のカウンタ値が設定された比較値以下の場合に前記分周手段により分周されたクロックを出力し、前記カウンタ手段のカウンタ値が前記比較値を超えた場合にクロックを出力しないことによりトリガを生成するトリガ生成手段と、を備えたことを特徴とする。
請求項２に記載のトラヒックシェーピング装置は、前記カウンタ手段は、カウンタ値が設定されたカウンタ長に達すると、カウンタ値を初期値にすることを特徴とする。
【０００８】
請求項３に記載のトラヒックシェーピング方法は、基準クロックを設定された分周比に分周する分周手順と、前記分周手順において分周されたクロックをカウントするカウンタ手順と、前記カウンタ手順においてカウントされたカウンタ値が設定された比較値以下の場合に前記分周手段により分周されたクロックを出力し、前記カウンタ手順においてカウントされたカウンタ値が前記比較値を超えた場合にクロックを出力しないことによりトリガを生成するトリガ生成手順と、を備えたことを特徴とする。
請求項４に記載のトラヒックシェーピング方法は、前記カウンタ手順においてカウンタ値が設定されたカウンタ長に達すると、カウンタ値を初期値にすることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、基準クロックを分周比に分周し、分周されたクロックの全てに対してトリガを生成するのではなく、分周されたクロックの一部に対してのみトリガを生成するようにしている。これにより、トークン量を加算する分周されたクロックに対して生成されるトリガの数（単位時間当たり）を調整することが可能になり、トークンレートの設定を密に行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を参照しつつ説明する。
まず、本発明の実施の形態におけるトラヒックシェーピング装置の構成について図１を参照しつつ説明する。図１は本実施の形態のトラヒックシェーピング装置の構成を示す構成図である。
図１に示すトラヒックシェーピング装置１は、トークン生成部２、フレーム送信制御部３、フレームバッファ４、およびトークンレジスタ５を有している。
【００１１】
トークン生成部２は、入力されるシステムクロック（基準クロックに対応）からトリガＴＲＧを生成し、生成したトリガＴＲＧをフレーム送信制御部３へ出力する処理を行い、分周比レジスタ１１、分周器１２、カウンタ長レジスタ１３、カウンタ１４、カウンタ値レジスタ１５、比較器１６、レジスタ１７、およびＡＮＤ回路１８を有している。
従来のトークン生成部１１０は、入力されるシステムクロックＣＬＫを分周比に分周し、分周したクロック（分周クロック）ＤＣＬＫの全てに対してトリガを生成する。これに対して、本実施の形態のトークン生成部２は、入力されるシステムクロックＣＬＫを分周比に分周し、分周したクロック（分周クロック）の連続した「Ｍ＋Ｎ」（Ｍ、Ｎは整数）個をブロックの単位とし、そのうちの「Ｍ」個の分周クロックに対してのみトリガＴＲＧを生成する。
【００１２】
分周比レジスタ１１は、設定される分周比を記憶するレジスタである。
分周器１２は、入力されるシステムクロックＣＬＫを、分周比レジスタ１１に記憶されている分周比に分周し、分周したクロック（分周クロック）ＤＣＬＫを、カウンタ１４、レジスタ１７、およびＡＮＤ回路１８の各々へ出力する。
カウンタ長レジスタ１３は、設定されるカウンタ長を記憶するレジスタである。カウンタ長レジスタ１３に設定されるカウンタ長は、上記のブロック内の分周クロックＤＣＬＫの数から「１」減算した減算値（「Ｍ＋Ｎ−１」）である。
カウンタ１４は、分周器１２から入力される分周クロックＤＣＬＫの立ち上がりエッジに同期して、カウンタ長レジスタ１３に設定されているカウンタ長の値までカウンタ値を「１」カウントアップしていく。そして、カウンタ１４は、カウンタ値がカウンタ長の値である場合に入力される分周クロックＤＣＬＫの立ち上がりエッジに同期して、カウンタ値を初期値の「０」に戻す。カウンタ１４は、カウンタ値を比較器１６へ出力する。
【００１３】
カウンタ値レジスタ１５は、カウンタ１４から入力されるカウンタ値と比較する、設定される比較値を記憶するレジスタである。カウンタ値レジスタ１５に設定される比較値は、上記のブロック内の分周クロックＤＣＬＫのうちのトリガＴＲＧを生成する分周クロックＤＣＬＫの数である。
比較器１６は、カウンタ１４から入力されるカウンタ値とカウンタ値レジスタ１５から入力される比較値とを比較する。比較器１６はカウンタ値が比較値未満の場合には「１」（ハイレベル）の信号を生成してレジスタ１７へ出力し、カウンタ値が比較値以上の場合には「０」（ローレベル）の信号を生成してレジスタ１７へ出力する。なお、以下において、比較器１６が生成して出力する信号を比較器出力信号という。
【００１４】
レジスタ１７は、分周器１２から入力される分周クロックＤＣＬＫの立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値を記憶する。レジスタ１７は、記憶している値をＡＮＤ回路１８へ出力する。なお、以下において、レジスタ１７が出力する信号をレジスタ出力信号という。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックＤＣＬＫとレジスタ１７から入力されるレジスタ出力信号とをＡＮＤ（論理積）してトリガＴＲＧを生成する。ＡＮＤ回路１８は、生成したトリガＴＲＧに基づくトリガ信号をフレーム送信制御部３へ供給する。
【００１５】
フレーム送信制御部３は、フレームバッファ４より送信要求のあったパケットの送信可能か否かを判断し、その判断結果に基づいて、送信許可を示す送信許可信号をフレームバッファ４へ送信する。フレーム送信制御部３は、トークン生成部２から入力されるトリガＴＲＧのタイミングでトークンレジスタ５に設定され記憶されているトークン量を加算する。フレーム送信制御部３は、加算して得られた累計トークン量がフレームバッファ４から要求されたパケットサイズを越えるまではフレームバッファ４に対して送信許可信号を出力せず、累計トークン量がフレームバッファ４から要求されたパケットサイズを超えるとフレームバッファ４に対して送信許可信号を出力する。
フレームバッファ４は、フレーム送信制御部３に対してパケットサイズを含む送信要求を出力し、フレーム送信制御部３から送信許可信号が入力されるとパケットの送信を行う。
トークンレジスタ５は、設定されるトークン量（トリガにより加算していく値）を記憶するレジスタである。そして、トークンレジスタ値から送信フレーム長減算する。
【００１６】
以下、上述したトラヒックシェーピング装置１において行われるトリガの生成動作について図２を参照しつつ説明する。図２はトラヒックシェーピング装置１によるトリガの生成動作を説明するためのタイミングチャートである。ただし、図２は、カウンタ長レジスタ１３に記憶されているカウンタ長の値が「７」、カウンタ値レジスタ１５に記憶されている比較値が「５」である場合である。つまり、「８」個の数の分周クロックＤＣＬＫをブロックの単位とし、１つのブロックの最初の「５」個の分周クロックＤＣＬＫに対してトリガを生成する場合である。なお、図２の横軸は時間を表している。
分周器１２は、入力されるシステムクロックを分周比レジスタ１１に記憶されている分周比に分周し、分周したクロック（分周クロック）ＤＣＬＫを出力する。
トークン生成部２に分周クロックＤＣＬＫが入力される前、比較器１６から出力されている比較器出力信号は「０」であり、レジスタ１７から出力されているレジスタ出力信号は「０」である。
【００１７】
カウンタ１４は、入力される分周クロックｄｃｌｋ０の立ち上がりエッジに同期して、カウンタ値を初期値の「０」にする。カウンタ１４のカウンタ値が「０」になると、比較器１６は、カウンタ値「０」がカウンタ値レジスタ１５に記憶されている比較値「５」未満であることから、「１」の比較器出力信号を出力する。
レジスタ１７は、入力される分周クロックｄｃｌｋ０の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較出力信号の値「１」を記憶し、「１」のレジスタ出力信号を出力する。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ０とレジスタ１７から入力される分周クロックｄｃｌｋ０の立ち下がりエッジまでは「０」のレジスタ出力信号とをＡＮＤ（論理積）する。このとき、ＡＮＤ回路１８が出力する出力信号（トリガ信号）は「０」（ローレベル）であり、トリガが出力されない。
【００１８】
カウンタ１４は、入力される分周クロックｄｃｌｋ１の立ち上がりエッジに同期して、カウンタ値を「１」カウントアップし、カウンタ値が「１」になる。比較器１６は、カウンタ１４のカウンタ値がカウンタ値レジスタ１５に記憶されている比較値「５」未満のままであるので、「１」の比較器出力信号を出力し続ける。
レジスタ１７は、入力される分周クロックｄｃｌｋ１の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「１」を記憶し、「１」のレジスタ出力信号を出力し続ける。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ１とレジスタ１７から入力される「１」のレジスタ出力信号とをＡＮＤ（論理積）し、分周クロックｄｃｌｋ１に対応したトリガｔｒｇ１を出力する。
【００１９】
カウンタ１４は、入力される分周クロックｄｃｌｋ２〜ｄｃｌｋ４の立ち上がりに同期して、カウンタ値を「１」カウントアップし、カウンタ値が「４」になる（「１」→「２」→「３」→「４」）。比較器１６は、カウンタ１４のカウンタ値がカウンタ値レジスタ１５に記憶されている比較値「５」未満のままであるので、「１」の比較器出力信号を出力し続ける。
レジスタ１７は、入力される分周クロックｄｃｌｋ２〜ｄｃｌｋ４の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「１」を記憶し、「１」のレジスタ出力信号を出力し続ける。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ２〜ｄｃｌｋ４とレジスタ１７から入力される「１」のレジスタ出力信号とをＡＮＤ（論理積）し、分周クロックｄｃｌｋ２〜ｄｃｌｋ４に対応したトリガｔｒｇ２〜ｔｒｇ４を出力する。
【００２０】
カウンタ１４は、入力される分周クロックｄｃｌｋ５の立ち上がりに同期して、カウンタ値を「１」カウントアップし、カウンタ値が「５」になる。比較器１６は、カウンタ１４のカウンタ値「５」がカウンタ値レジスタ１５に記憶されている比較値「５」以上になったことから、「０」の比較器出力信号を出力する。
レジスタ１７は、入力される分周クロックｄｃｌｋ５の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「０」を記憶し、「０」のレジスタ出力信号を出力する。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ５とレジスタ１７から入力される分周クロックｄｃｌｋ５の立ち下がりエッジまでは「１」のレジスタ出力信号とをＡＮＤ（論理積）し、分周クロックｄｃｌｋ５に対応したトリガｔｒｇ５を出力する。
【００２１】
カウンタ１４は、入力される分周クロックｄｃｌｋ６の立ち上がりに同期して、カウンタ値を「１」カウントアップし、カウンタ値が「６」になる。比較器１６は、カウンタ１４のカウンタ値がカウンタ値レジスタ１５に記憶されている比較値「５」以上のままであるので、「０」の比較器出力信号を出力し続ける。
レジスタ１７は、入力される分周クロックｄｃｌｋ６の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「０」を記憶し、「０」のレジスタ出力信号を出力し続ける。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ６とレジスタ１７から入力される「０」のレジスタ出力信号とをＡＮＤ（論理積）する。このとき、ＡＮＤ回路１８が出力する出力信号（トリガ信号）は「０」（ローレベル）であり、トリガが出力されない。
【００２２】
カウンタ１４は、入力される分周クロックｄｃｌｋ７の立ち上がりに同期して、カウンタ値を「１」カウントアップし、カウンタ値が「７」になる。比較器１６は、カウンタ１４のカウンタ値がカウンタ値レジスタ１５に記憶されている比較値「５」以上のままであるので、「０」の比較器出力信号を出力し続ける。
レジスタ１７は、入力される分周クロックｄｃｌｋ７の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「０」を記憶し、「０」のレジスタ出力信号を出力し続ける。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ７とレジスタ１７から入力される「０」のレジスタ出力信号とをＡＮＤ（論理積）する。このとき、ＡＮＤ回路１８が出力する出力信号（トリガ信号）は「０」（ローレベル）であり、トリガが出力されない。
【００２３】
カウンタ１４は、カウンタ値「７」がカウンタ長レジスタ１３に記憶されているカウンタ長の値「７」になっているので、入力される分周クロックｄｃｌｋ８の立ち上がりエッジに同期して、カウンタ値を初期値の「０」に戻す。カウンタ１４のカウンタ値が「０」になると、比較器１６は、カウンタ値「０」がカウンタ値レジスタ１５に記憶されている比較値「５」未満であることから、「１」の比較器出力信号を出力する。
レジスタ１７は、入力される分周クロックｄｃｌｋ８の立ち下がりエッジに同期して、その時点で比較器１６から入力されている比較器出力信号の値「１」を記憶し、「１」のレジスタ出力信号を出力する。
ＡＮＤ回路１８は、分周器１２から入力される分周クロックｄｃｌｋ８とレジスタ１７から入力される分周クロックｄｃｌｋ８の立ち下がりエッジまでは「０」のレジスタ出力信号とをＡＮＤ（論理積）する。このとき、ＡＮＤ回路１８が出力する出力信号（トリガ信号）は「０」（ローレベル）であり、トリガが出力されない。
【００２４】
分周クロックｄｃｌｋ９〜ｄｃｌｋ１６では、分周クロックｄｃｌｋ１〜ｄｃｌｋ８と同様の動作が行われ、分周クロックｄｃｌｋ９〜ｄｃｌｋ１３に対応したトリガｔｒｇ９〜ｔｒｇ１３が生成されて出力され、分周クロックｄｃｌｋ１４〜ｄｃｌｋ１６に対応したトリガが出力されない。
以降、同様に、８個の分周クロックＤＣＬＫ毎に、そのうちの最初の５個の分周クロックＤＣＬＫに対してはトリガが生成されて出力され、そのうちの後ろ側の３個の分周クロックＤＣＬＫに対してはトリガが生成されない。
【００２５】
図１および図２を参照しつつ説明したトラヒックシェーピング装置のトークンレートは、
トークンレート
＝トークンレジスタ値×基準クロックの周波数／分周比×カウンタ値レジスタ／（カウンタ長レジスタ＋１）
により得られる。
【００２６】
以上説明した本実施の形態のトラフィックシェーピング装置によれば、基準クロックを分周比に分周し、分周されたクロック（分周クロック）の一部に対してトリガを生成するようにしている。これにより、トークン量を加算する分周されたクロックに対して生成されるトリガの数（単位時間当たり）を調整することが可能になり、トークンレートの設定を密に行うことができる。
【００２７】
以下に、図５の従来のトラヒックシェーピング装置１００と図１の本実施の形態のトラヒックシェーピング装置との誤差について比較する。図３は従来のトラヒックシェーピング装置における累積トークン量を示す図であり、図４は図１のトラヒックシェーピング装置における累積トークン量を説明するための図である。図３、図４において、横軸は時間、縦軸は累積トークン量である。
図３には、トリガ毎にトークンレジスタ１４０に記憶されているトークン量（トークンレジスタ値）が加算されていく様子が示されており、トークンレジスタ値が１以外の場合には誤差が生じる。この場合の最大誤差は、
最大誤差＝（トークンレジスタ値−１）×分周比／（基準クロックの周波数×トークンレジスタ値）
となる。
例えば、基準クロックの周波数を４０（ＭＨｚ）の場合に、送信レートの設定レートを５０（Ｍｂｉｔ／ｓｅｃ）とすると、分周比を３２、トークンレジスタ値を５とすれば、所望の設定レートが得られる。この場合の最大誤差は、０．６４（μｓｅｃ）となる。
また、基準クロックの周波数を４０（ＭＨｚ）の場合に、送信レートの設定レートを５１（Ｍｂｉｔ／ｓｅｃ）とすると、分周比を３２０、トークンレジスタ値を５１とすれば、所望の設定レートが得られる。この場合の最大誤差は、７．８４３（μｓｅｃ）となる。
このように設定レートにより最大誤差が大きく異なる。
【００２８】
図４には、トリガ毎にトークンレジスタ５に記憶されているトークン量（トークンレジスタ値）が加算されていく様子が示されており、トークンレジスタ値が１以外の場合には誤差が生じる。この場合の最大誤差は、
最大誤差＝Ｔ×比較値／（比較値＋１）−Ｔ×比較値／（カウンタ長＋１）−Ｔ×（トークンレジスタ値−１）／（（カウンタ長＋１）×トークンレジスタ値）
ただし、
Ｔ＝（カウンタ長＋１）×分周比／基準クロックの周波数
となる。
例えば、送信レートの設定レートを５０（Ｍｂｉｔ／ｓｅｃ）とすると、トークンレジスタ値を１（Ｂｙｔｅ）、基準クロックの周波数を４０（ＭＨｚ）、比較値を５、分周比を４、カウンタ長を８とすれば、所望の設定レートが得られる。この場合の最大誤差は、０．１６７（μｓｅｃ）となる。
また、送信レートの設定レートを５１（Ｍｂｉｔ／ｓｅｃ）とすると、トークンレジスタ値を１（Ｂｙｔｅ）、基準クロックの周波数を）４０（ＭＨｚ、比較値を５１、分周比を４、カウンタ長を６４とすれば、所望の設定レートが得られる。この場合の最大誤差は、１．４７１（μｓｅｃ）となる。
このように、本実施の形態では、従来の場合に比べて最大誤差の差を小さくすることが可能になる。
【００２９】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
例えば、従来の分周クロックの全てに対してトリガを生成する方式と、本実施の形態の分周クロックの一部に対してトリガを生成する方式とを併用し、送信レートの設定レートに応じて両者の方式を選択可能にするようにしてもよい。
【００３０】
尚、上述した各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムやルータやスイッチといったネットワーク機器も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態のトラヒックシェーピング装置の構成を示す構成図。
【図２】図１のトラヒックシェーピング装置によるトリガの生成動作を説明するためのタイミングチャート。
【図３】従来のトラヒックシェーピング装置における累積トークン量を説明するための図。
【図４】図１のトラヒックシェーピング装置における累積トークン量を説明するための図。
【図５】従来のトラヒックシェーピング装置の構成を示す構成図。
【符号の説明】
【００３３】
１  トラヒックシェーピング装置、  ２  トークン生成部、  ３  フレーム送信制御部、  ４  フレームバッファ、  ５  トークンレジスタ、  １１  分周比レジスタ、  １２  分周器、  １３  カウンタ長レジスタ、  １４  カウンタ、  １５  カウンタ値レジスタ、  １６  比較器、  １７  レジスタ、  １８  ＡＮＤ回路
【図１】
2007088994.tif 000003
【図２】
2007088994.tif 000004
【図３】
2007088994.tif 000005
【図４】
2007088994.tif 000006
【図５】
2007088994.tif 000007