JP3446704B2 - シェーパ及びそれに用いるスケジューリング方法 - Google Patents

シェーパ及びそれに用いるスケジューリング方法

Info

Publication number
JP3446704B2
JP3446704B2 JP2000009602A JP2000009602A JP3446704B2 JP 3446704 B2 JP3446704 B2 JP 3446704B2 JP 2000009602 A JP2000009602 A JP 2000009602A JP 2000009602 A JP2000009602 A JP 2000009602A JP 3446704 B2 JP3446704 B2 JP 3446704B2
Authority
JP
Japan
Prior art keywords
packet
time
associative memory
search
shaper
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000009602A
Other languages
English (en)
Other versions
JP2001203702A (ja
Inventor
継男 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000009602A priority Critical patent/JP3446704B2/ja
Priority to US09/764,283 priority patent/US20010008530A1/en
Publication of JP2001203702A publication Critical patent/JP2001203702A/ja
Application granted granted Critical
Publication of JP3446704B2 publication Critical patent/JP3446704B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はシェーパ及びそれに
用いるスケジューリング方法に関し、特にネットワーク
においてセルやパケットを制御するためのシェーパに用
いられるスケジューリング方法に関する。
【0002】
【従来の技術】シェーパはATM(Asynchron
ous Transfer Mode:非同期転送モー
ド)技術を利用したネットワークやIP(Intern
etProtocol)を利用したネットワークにおい
て、セルと呼ばれる固定長データやパケットと呼ばれる
可変長データ(以下、セルやパケットをパケットとす
る)を制御し、ネットワーク資源を有効に利用するため
に利用されている。
【0003】例えば、ネットワークを利用するユーザは
トラヒックパラメータを用いて利用する資源を申告し、
ネットワークの提供者は申告したトラヒックを元にネッ
トワークを構成している。
【0004】しかしながら、ユーザは必ずしも申告した
トラヒックパラメータ通りにパケットを送信せずに、申
告したトラヒックパラメータに違反することも考えられ
る。この場合、違反をしていない他のユーザのネットワ
ーク資源を使ってしまう可能性があるため、ネットワー
クの提供者はトラヒックを監視することが必要になる。
トラヒックを監視して違反を検出した場合、一般的には
パケットを廃棄するか、ネットワーク内にパケットを転
送する前にユーザの申告したトラヒックパラメータ通り
にパケットを転送し直す方法がある。
【0005】また、ユーザがネットワークにパケットを
転送する場合には、ネットワーク提供者によってパケッ
トが廃棄されないように、また申告したトラヒックパラ
メータに違反しないように、シェーパを利用してトラヒ
ックパラメータに適合したトラヒックをネットワークに
送信している。
【0006】ネットワークで転送される一連のパケット
は、トラヒックパラメータとして具体的な数値として表
すことができ、ATMではLeaky Bucketモ
デル、IPではToken Bucketモデルを用い
てトラヒックパラメータを表している。
【0007】トラヒック違反はパケット到着間隔が申告
したトラヒックパラメータで計算できる間隔よりも短い
間隔で到着した場合で、シェーパはこの間隔をトラヒッ
クパラメータ違反にならない長い間隔で送信し直す処理
を行う。
【0008】シェーパの機能として、理想とする時刻に
パケットを出力するスケジューリング処理が必要にな
る。一つの方法として、パケットをキューイングし、ト
ラヒックパラメータによって理想とする時刻を計算し、
タイマを用いて理想とする時刻のカウントを行い、カウ
ンタが理想とする時刻を示した時にパケットを出力する
方法が考えられる。この方法は1フローの場合には有効
ではあるが、シェーパは複数のフローを扱うことが一般
的であり、タイマはフロー数だけ必要になり、現実的で
はない。
【0009】フロー毎に時刻を管理する方法として、配
列をベースにしたアルゴリズムが提案されている。配列
の1要素はタイマで管理される1時刻に対応し、あるフ
ロー番号のパケットを理想の時刻に送信するようにスケ
ジューリングするためには、理想の時刻に対応する配列
番号にフロー番号を書込む。
【0010】タイマは現在の時刻を示しており、タイマ
の時刻が進む毎に、現在時刻に対応する配列番号の内容
を取得して、この現在時刻に出力するパケットがないか
否かを検索する。この配列を利用した手法ではタイマを
1個だけ準備すればよく、フロー数が増加しても、配列
に必要なビット幅が増えるという利点がある。
【0011】しかしながら、配列をベースにした方法は
設定可能な時刻の範囲を広くすると、それに比例して配
列を大きくしなければならず、大容量のメモリ(RA
M:ランダムアクセスメモリ)を必要とするため、現実
的には設定可能な時刻の範囲を狭くしなくてはいけない
という制限が発生してしまうという問題がある。
【0012】これらの問題を解決するために、設定可能
な時刻の範囲に比例したメモリを必要とせず、またフロ
ー数を増加させてもタイマ機能を増加させないために、
CAM(Content Addressable M
emory:連想メモリ)を利用した方法が提案されて
いる。この方法については、特開平10−23037号
公報に開示されている。
【0013】
【発明が解決しようとする課題】しかしながら、上記の
従来の提案手法においては、同一時刻に出力するパケッ
トが存在した場合の処理動作を想定しておらず、複数の
パケットを同一時刻に送出する設定をCAMに登録した
場合には同一時刻に設定したパケットが1個しか出力さ
れない、あるいはCAMが複数のアドレスを同時に返す
ことができないため、エラーを返してしまい、1個もパ
ケットを送信することができずに、バッファにパケット
が次々に溜まることとなり、バッファオーバフローが発
生し、パケット送出処理を期待通りに行うことができな
いという問題が発生する。
【0014】また、上記の従来の提案手法では一定間隔
で各バッファからパケットを送出することを想定してい
るので、パケットが到着した時刻とトラヒックパラメー
タとによって送出時刻を決定する場合に利用することが
できない。
【0015】そこで、本発明の目的は上記の問題点を解
消し、CAMを利用して同一時刻に複数のパケットを設
定する場合でも、同一時刻に設定された複数のパケット
があることを認識して複数のパケットを送出することが
できるシェーパ及びそれに用いるスケジューリング方法
を提供することにある。
【0016】また、本発明の他の目的は、パケットが到
着した時刻とトラヒックパラメータとによって送出時刻
を決定する場合でも、送出する時刻を設定可能にするこ
とができるシェーパ及びそれに用いるスケジューリング
方法を提供することにある。
【0017】
【課題を解決するための手段】本発明によるシェーパ
は、ネットワークにおいてセル及びパケットを制御する
ためのシェーパであって、前記セル及び前記パケットを
設定した理想時刻に送出する時に該当する前記セル及び
前記パケットを送信すべき時刻が経過したことを検出す
るための連想メモリと、現在時刻を計時するタイマと、
前記タイマからの現在時刻を基に前記連想メモリを検索
して前記現在時刻に送出するパケットの有無を検索する
現在時刻検索手段と、予め設定された伝送路のトラヒッ
クパラメータを用いて前記パケットの送出時刻を計算す
る計算手段とを備え 前記理想時刻を前記連想メモリの
検索テーブルのフロー番号に対応するアドレスに設定す
るとともに、前記連想メモリの検索結果から得られるア
ドレスを、同一時刻に送出するパケットを示しかつリン
クされたデータ構造のポインタとして利用し、前記計算
手段で計算された送出時刻を前記連想メモリに設定時刻
として登録している。
【0018】
【0019】本発明によるスケジューリング方法は、ネ
ットワークにおいてセル及びパケットを制御するための
シェーパに用いるスケジューリング方法であって、前記
セル及び前記パケットを設定した理想時刻に送出する時
に該当する前記セル及び前記パケットを送信すべき時刻
が経過したことを検出するための連想メモリを現在時刻
に基づいて検索して前記現在時刻に送出するパケットの
有無を検索するステップと、予め設定された伝送路のト
ラヒックパラメータを用いて前記パケットの送出時刻を
計算する第2のステップとを備え 前記理想時刻を前記
連想メモリの検索テーブルのフロー番号に対応するアド
レスに設定するとともに、前記連想メモリの検索結果か
ら得られるアドレスを、同一時刻に送出するパケットを
示しかつリンクされたデータ構造のポインタとして利用
し、前記第2のステップで計算された送出時刻を前記連
想メモリに設定時刻として登録している。
【0020】
【0021】すなわち、本発明のスケジューリング方法
は、ATMのセルあるいはIPパケット(以下、セル及
びIPパケットをパケットとする)等のパケットを設定
した理想時刻に送出する時に、該当パケットを送信すべ
き時刻が経過したことを検出する部分に連想メモリ(C
AM)を用いている。
【0022】したがって、本発明のスケジューリング方
法は、理想時刻を連想メモリの検索テーブルのフロー番
号に対応するアドレスに設定することで、連想メモリに
登録するアドレスをパケットが属するフロー番号から決
定することが可能となり、データ登録されていない空き
テーブルエントリを検索する必要がなくなるという特徴
を持っている。
【0023】連想メモリの検索結果から得られるアドレ
スを、同一時刻に送出するパケットを示しかつリンクさ
れたデータ構造のポインタとして利用することで、連想
メモリを利用した検索を行った場合、複数のパケットが
同一時刻に重なった場合でも複数のパケットを順番に送
出することが可能となる。
【0024】本発明のスケジューリング方法は、ネット
ワーク内にパケットを転送する前にユーザの申告したト
ラヒックパラメータ通りにパケットを転送し直す方法を
用いる場合に利用する。
【0025】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
るシェーパの構成を示すブロック図である。図1におい
て、シェーパ1はバッファ管理部10と、送出パケット
登録部11と、同一時刻重複検索部12と、検索データ
クリア部13と、現在時刻検索部14と、同一時刻送出
パケット群送信要求部15と、スケジューリング要求部
16と、タイマ(Timer)部17と、CAM(連想
メモリ)インタフェース部18と、パケットバッファ部
20と、トラヒックパラメータ部21と、同一時刻送出
パケット管理テーブル部22と、連想メモリ(CAM)
23とから構成されている。
【0026】バッファ管理部10はパケットの入出力処
理とパケットをフロー毎にパケットバッファ部20に記
録する処理とを行う。パケットバッファ部20はパケッ
トデータを記録する。
【0027】スケジューリング要求部16はトラヒック
パラメータによってパケットの理想送出時刻を計算し、
同一時刻重複検索部12にスケジューリング要求を出
す。トラヒックパラメータ部21はトラヒックパラメー
タを保持する。
【0028】同一時刻重複検索部12は既に同一時刻に
送出設定されているパケットが無いか否かを検索する。
送出パケット登録部11は送出時刻を連想メモリ23に
設定し、同一時刻に出力するパケットを管理するテーブ
ルを設定する。同一時刻送出パケット管理テーブル部2
2は同一時刻に送出設定されたパケットを管理する。
【0029】タイマ部17は時刻をカウントし、現在時
刻検索部14とスケジューリング要求部16とに現在時
刻の値を出力する。現在時刻検索部14は現在時刻の送
出パケットを検索する。検索データクリア部13は検索
データの削除処理を行う。
【0030】同一時刻送出パケット群送信要求部15は
現在時刻検索部14によって検索一致したアドレスを指
定し、パケット送信の要求を行う。CAMインタフェー
ス部18は連想メモリ23へのデータ検索、データ書込
みのインタフェースである。
【0031】連想メモリ23は記憶装置の一種で、自回
路に登録されているテーブルの中から検索データに一致
するテーブルを検索し、一致するテーブルを検出した場
合にテーブルが登録されているアドレスを結果として出
力する機能を持つ。
【0032】図2は図1の連想メモリ23内のテーブル
を示す図である。図2において、連想メモリ23の検索
は有効/無効ビット・フィールドと、設定時刻・フィー
ルドとが一つの登録データとなるデータに対して行われ
る。
【0033】有効/無効ビット・フィールドは対応する
アドレスのテーブルが連想メモリ23の検索によって検
索一致させるか否かを指定するためのビットを格納する
領域である。テーブルに一致させない時には“0”を登
録しておき、検索データには常に“1”を利用する。設
定時刻・フィールドは送出する設定時刻を登録する領域
である。
【0034】図3及び図4は図1の同一時刻送出パケッ
ト管理テーブル22が保持するテーブルを示す図であ
る。図3及び図4において、同一時刻送出パケット管理
テーブル22が保持するテーブルは同一時刻に送出する
パケットを管理するためのテーブルである。
【0035】同じフローに属するパケットは先に入力し
たパケットを先に出力するので、パケットバッファ部2
0で保持されたフローの先頭に位置するパケットを送出
することになる。よって、フロー番号を利用して同一時
刻に送出するパケットを管理することができる。
【0036】上記のテーブルはリンク構造を利用し、先
頭(TOP)及び最後尾(TAIL)の位置を保持する
テーブル(図3参照)と、リンクされて接続されるフロ
ー番号の位置(NEXT)を示すテーブル(図4参照)
とを用いる。
【0037】図5及び図6は同一フローに属するパケッ
トを管理するテーブルを示す図である。図5及び図6に
おいて、同一フローに属するパケットを管理するテーブ
ルはパケットバッファ部20が保持している。同一フロ
ーに属するパケットは同一時刻送出パケット管理テーブ
ル22と同様に、リンク構造を利用している。
【0038】図7は同一時刻に送出するパケットが1パ
ケットしかない状態を示す図であり、図8は同一時刻に
送出するパケットが複数パケット存在する状態を示す図
であり、図9及び図10は本発明の一実施例によるシェ
ーパのパケット入力時の動作を示すフローチャートであ
り、図11及び図12は本発明の一実施例によるシェー
パのパケット出力時の動作を示すフローチャートであ
る。これら図1〜図12を参照して本発明の一実施例に
よるシェーパの動作について説明する。尚、図9〜図1
2に示す処理動作はシェーパ1の各部が図示せぬ制御メ
モリのプログラムを実行することで実現され、制御メモ
リとしてはROM(リードオンリメモリ)やIC(集積
回路)メモリ等が使用可能である。
【0039】パケットの入力処理の場合、バッファ管理
部10はパケットが入力されると(図9ステップS
1)、入力されたパケットとパケットのフロー番号とを
受取り、フロー番号に対応するバッファにパケットを接
続する(図9ステップS2)。フロー番号に対応するバ
ッファにパケットが無い場合には、フロー番号の先頭の
パケットである。
【0040】先頭パケットの場合には連想メモリ23よ
ってスケジューリング登録がされていないため(図9ス
テップS3)、スケジューリング要求部16に対して連
想メモリ23へのスケジューリング登録の要求を行う
(図9ステップS5)。フロー番号の先頭パケットでは
ない時(図9ステップS3)、バッファ管理部10はパ
ケットを接続する処理のみを行い(図9ステップS
4)、パケットが入力した場合の処理を終了する。
【0041】スケジューリング要求部16はバッファ管
理部10からスケジューリング設定するフロー番号を受
取り、対応するフロー番号のトラヒックパラメータをト
ラヒックパラメータテーブル21から取得し(図9ステ
ップS6)、パケットがトラヒックパラメータを違反し
ていないか否かを検出する処理を行う(図9ステップS
7)。
【0042】スケジューリング要求部16はトラヒック
パラメータを違反していた場合(図9ステップS8)、
パケットに遅延を与え、タイマ部17が出力する現在時
刻を基に当該パケットを送出する時刻を計算するととも
に、同一時刻重複検索部12に検索要求を出す(図10
ステップS9)。
【0043】トラヒックパラメータはトラヒックモデル
によって異なるが、ATM技術を用いたネットワークで
はLeaky Bucketモデル、IPを用いたネッ
トワークではToken Bucketモデルが利用さ
れる。
【0044】同一時刻重複検索部12はスケジューリン
グ要求部16から要求を受取ると、まず連想メモリ23
に既に同一時刻に送出するパケットが存在するか否か
を、連想メモリ23を検索して調べる(図10ステップ
S10)。連想メモリ23への検索要求の方法、検索デ
ータは現在時刻検索部14と同様である。但し、検索デ
ータに使う時刻が現在時刻ではなく、スケジューリング
要求部16から受取ったパケットの送出時刻である。
【0045】検索一致してアドレスが返された時には同
一時刻に送出するパケットが既に連想メモリ23に登録
されていた時であり(図10ステップS11)、同一時
刻重複検索部12は送出パケット登録部11に対して返
されたアドレスを通知する(図10ステップS13)。
【0046】一致したデータがなく、アドレスが返され
ない時には同一時刻に送出するパケットが連想メモリ2
3に登録されていない時であり(図10ステップS1
1)、同一時刻重複検索部12は送出パケット登録部1
1に対してスケジューリング要求部16から要求された
パケットのフロー番号を通知する(図10ステップS1
2)。
【0047】具体的な例として、同一時刻に送出するパ
ケットが1パケットしかない状態を図7に示し、同一時
刻に送出するパケットが複数パケット存在する状態を図
8に示す。図8を参照すると、フロー番号254には時
刻T−1が登録されており、時刻T−1にパケットを送
出するための設定がされている。この場合、先頭は「2
54」で、最後尾は「5」となっている。同一時刻のリ
スト構造を管理するテーブルを辿ると、フロー番号「2
54」の次はフロー番号「1」、その次はフロー番号
「4」、最後にフロー番号「5」となっている。
【0048】送出パケット登録部11は同一時刻重複検
索部12から登録するパケットのフロー番号と設定する
送出時刻とが重複していることが通知されると(図10
ステップS14)、検索一致して得られたアドレスを受
取る(図10ステップS15)。また、送出パケット登
録部11は連想メモリ23への登録処理を行わず、同一
時刻送出パケット管理テーブル22で管理される同一時
刻を示すリンク構造に登録するパケットのフロー番号を
接続する(図10ステップS16)。先頭と最後尾との
テーブルの位置は同一時刻重複検索部12から受取った
アドレスを用いる。
【0049】重複していなかったことが通知されると
(図10ステップS14)、送出パケット登録部11は
フロー番号に対応する連想メモリ23のアドレスに送出
時刻を設定し(図10ステップS17)、同一時刻送出
パケットテーブル22にパケットを設定する(図10ス
テップS18)。この場合、リンク構造にはこの設定す
るパケットのみが存在することになる。つまり、先頭と
最後尾とが同じである。
【0050】一方、パケットの出力処理の場合、現在時
刻検索部14はタイマ部17が出力する現在時刻を連想
メモリ23の検索データとして用い、検索要求をCAM
インタフェース部18に対して行う(図11ステップS
21)。検索データは有効/無効ビット・フィールドに
対応するビットを“1”にし、現在時刻を加えたデータ
である。
【0051】検索一致するデータが連想メモリ23に登
録されている場合(図11ステップS22)、連想メモ
リ23からデータが登録されているアドレスが結果とし
て現在時刻検索部14に返される(図11ステップS2
3)。
【0052】アドレスが返されると、現在時刻検索部1
4はパケットの送出要求を同一時刻送出パケット群送信
要求部15に対して行い(図11ステップS24)、同
時に一致したデータを連想メモリ23から削除するため
に検索データクリア部13に登録データの削除要求を行
う(図11ステップS25)。
【0053】検索データクリア部13は連想メモリ23
に登録された時刻を示すデータを削除する処理を行う
(図11ステップS26)。具体的に、検索データクリ
ア部13は連想メモリ23のデータ(図2参照)の有効
/無効ビットを“0”に設定する。この場合、現在時刻
検索部14は有効/無効ビットに対応する検索データの
ビットを“1”にして検索するため、現在時刻検索部1
4では検索一致しない。
【0054】検索一致するデータが連想メモリ23に登
録されていない場合には(図11ステップS22)、処
理を終了し、タイマ部17が次の時刻を出力するまで待
つ。タイマ部17が次の時刻を出力した時には再び検索
を行う。
【0055】同一時刻送出パケット群送信要求部15は
現在時刻検索部14から受取ったアドレスをバッファ管
理部10に通知するインタフェース処理を行い、バッフ
ァ管理部10に送信要求を出す(図11ステップS2
7)。
【0056】バッファ管理部10は同一時刻送出パケッ
ト群送信要求部15からパケットの送信要求があると、
同一時刻送出パケット群送信要求部15から連想メモリ
23で検索一致したアドレスを受取る。受取ったアドレ
スは同一時刻送出パケット管理テーブル22が保持する
先頭と最後尾とを保持するテーブル(図3参照)の位置
を示している。
【0057】このアドレスが示す先頭と最後尾との値、
先頭の値が示すリンク構造の接続を管理するテーブル
(図4参照)の位置を辿り、最後尾の値が示す位置まで
が同一時刻に送出するフロー番号、つまりフロー番号に
対応するバッファの先頭パケットを示す。
【0058】バッファ管理部10は先頭から最後尾を辿
り(図11ステップS28)、パケットバッファ部20
からパケットを取出し、そのパケットを出力する(図1
1ステップS29)。パケットを出力する時には、バッ
ファ管理部10とパケットバッファ部20とで管理され
る同一フロー番号に属するパケットをリンク構造から削
除する(図11ステップS30)。
【0059】この時、同一フローに属するパケットがま
だ残っている場合には(図11ステップS31)、まだ
残っているパケットのスケジューリングを行うために、
スケジューリング要求部16に連想メモリ23へのスケ
ジューリング登録の要求を行う(図11ステップS3
2)。
【0060】このように、設定時刻をデータとして連想
メモリ23に登録し、現在時刻検索部14が現在時刻を
検索キーとして連想メモリ23を検索することで、設定
時刻を登録したアドレスが得られるため、バッファ管理
部10はそのアドレスを基にフロー番号を得ることがで
きるので、ハードウェアの大規模化を抑制しかつ大容量
のメモリを必要としない。
【0061】また、同一時刻送出パケット管理テーブル
22においては同一時刻に出力するパケットをリンク構
造で管理し、送出時刻で連想メモリ23を検索する際
に、同一時刻重複検索部12において予め設定された時
刻の検索を行うため、同一時刻に送出するパケットが複
数あっても、同一時刻にパケットを送出することができ
る。
【0062】さらに、バッファ管理部10にパケットが
到着した時に、バッファ管理部10がスケジューリング
要求をスケジューリング要求部16に出し、スケジュー
リング要求部16がトラヒックパラメータを利用してパ
ケットの送出時刻を計算することで、一定間隔以外の時
刻を設定することができる。
【0063】さらにまた、バッファ管理部10がパケッ
トを出力した時に、出力したパケットの属するフロー番
号のパケットがバッファに保持されているか否かをバッ
ファ管理部10で検出し、同じフロー番号に属するパケ
ットが保持されていた時にバッファ管理部10がスケジ
ューリング要求部16にスケジューリングの要求を出す
ため、パケットを一定間隔で送出することができるだけ
でなく、送出時刻をトラヒックパラメータから計算して
任意の時刻に設定(スケジューリング)することができ
る。
【0064】上記の本発明の一実施例では同一時刻送出
パケット管理テーブル22とパケットバッファ部20と
に対してリンク構造を持つデータフォーマットを用いて
いるが、同一時刻送出パケット管理テーブル22におい
ては最大フロー数分のデータが格納できるFIFO(F
irst In First Out)キューデータ構
造をフロー数個用意して実現してもよい。
【0065】また、パケットバッファ部20において
も、各フロー番号に分けてバッファを管理することがで
き、各フローの先頭パケットを取出す機構、各フローの
最後尾にパケットを追加する機構を持つデータ構造を持
つアルゴリズムであれば何でもよい。
【0066】
【発明の効果】以上説明したように本発明のシェーパに
よれば、ネットワークにおいてセル及びパケットを制御
するためのシェーパにおいて、セル及びパケットを設定
した理想時刻に送出する時に該当するセル及びパケット
を送信すべき時刻が経過したことを検出するための連想
メモリと、現在時刻を計時するタイマとを設け、タイマ
からの現在時刻を基に連想メモリを検索して現在時刻に
送出するパケットの有無を検索することによって、連想
メモリを利用して同一時刻に複数のパケットを設定する
場合でも、同一時刻に設定された複数のパケットがある
ことを認識して複数のパケットを送出することができる
という効果がある。
【0067】また、本発明の他のシェーパによれば、上
記の構成のほかに、予め設定された伝送路のトラヒック
パラメータを用いてパケットの送出時刻を計算する手段
を設け、その計算された送出時刻を連想メモリに設定時
刻として登録することによって、パケットが到着した時
刻とトラヒックパラメータとによって送出時刻を決定す
る場合でも、送出する時刻を設定可能にすることができ
るという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるシェーパの構成を示す
ブロック図である。
【図2】図1の連想メモリ内のテーブルを示す図であ
る。
【図3】図1の同一時刻送出パケット管理テーブルが保
持するテーブルを示す図である。
【図4】図1の同一時刻送出パケット管理テーブルが保
持するテーブルを示す図である。
【図5】同一フローに属するパケットを管理するテーブ
ルを示す図である。
【図6】同一フローに属するパケットを管理するテーブ
ルを示す図である。
【図7】同一時刻に送出するパケットが1パケットしか
ない状態を示す図である。
【図8】同一時刻に送出するパケットが複数パケット存
在する状態を示す図である。
【図9】本発明の一実施例によるシェーパのパケット入
力時の動作を示すフローチャートである。
【図10】本発明の一実施例によるシェーパのパケット
入力時の動作を示すフローチャートである。
【図11】本発明の一実施例によるシェーパのパケット
出力時の動作を示すフローチャートである。
【図12】本発明の一実施例によるシェーパのパケット
出力時の動作を示すフローチャートである。
【符号の説明】
1 シェーパ 10 バッファ管理部 11 送出パケット登録部 12 同一時刻重複検索部 13 検索データクリア部 14 現在時刻検索部 15 同一時刻送出パケット群送信要求部 16 スケジューリング要求部 17 タイマ部 18 CAMインタフェース部 20 パケットバッファ部 21 トラヒックパラメータ部 22 同一時刻送出パケット管理テーブル部 23 連想メモリ(CAM)

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワークにおいてセル及びパケット
    を制御するためのシェーパであって、 前記セル及び前記パケットを設定した理想時刻に送出す
    る時に該当する前記セル及び前記パケットを送信すべき
    時刻が経過したことを検出するための連想メモリと、現
    在時刻を計時するタイマと、前記タイマからの現在時刻
    を基に前記連想メモリを検索して前記現在時刻に送出す
    るパケットの有無を検索する現在時刻検索手段と、予め
    設定された伝送路のトラヒックパラメータを用いて前記
    パケットの送出時刻を計算する計算手段とを有し、 前記理想時刻を前記連想メモリの検索テーブルのフロー
    番号に対応するアドレスに設定するとともに、前記連想
    メモリの検索結果から得られるアドレスを、同一時刻に
    送出するパケットを示しかつリンクされたデータ構造の
    ポインタとして利用し、前記計算手段で計算された送出
    時刻を前記連想メモリに設定時刻として登録 することを
    特徴とするシェーパ。
  2. 【請求項2】 前記現在時刻検索手段は、前記タイマか
    らの現在時刻を前記連想メモリの検索データフォーマッ
    トに直し、その検索データフォーマットで前記連想メモ
    リを検索することを特徴とする請求項1記載のシェー
    パ。
  3. 【請求項3】 前記現在時刻検索手段は、前記現在時刻
    に送出するパケットがあることを検出した時に当該パケ
    ットの登録情報を前記連想メモリから削除するよう指示
    しかつ当該パケットの出力を指示することを特徴とする
    請求項1または請求項2記載のシェーパ。
  4. 【請求項4】 前記連想メモリへのスケジューリング時
    刻設定の要求時にその設定時刻を基に前記連想メモリを
    検索して当該設定時刻に送出するパケットの重複の有無
    を検索する同一時刻重複検索手段を含むことを特徴とす
    る請求項1から請求項3のいずれか記載のシェーパ。
  5. 【請求項5】 前記同一時刻重複検索手段は、前記設定
    時刻を前記連想メモリの検索データフォーマットに直
    し、その検索データフォーマットで前記連想メモリを検
    することを特徴とする請求項4記載のシェーパ。
  6. 【請求項6】 前記同一時刻重複検索手段で前記パケッ
    トの重複が検出された時に前記設定時刻に送出するパケ
    ットのフロー番号を同一時刻に送出されるパケットにリ
    ンク接続して追加する送出パケット登録手段を含むこと
    を特徴とする請求項4または請求項5記載のシェーパ。
  7. 【請求項7】 前記送出パケット登録手段は、前記同一
    時刻重複検索手段で前記パケットの重複が検出されなか
    った時に前記設定時刻に送出するパケットのフロー番号
    を前記連想メモリのアドレスとして前記設定時刻を前記
    連想メモリに登録することを特徴とする請求項6記載の
    シェーパ。
  8. 【請求項8】 前記連想メモリに設定時刻が設定されて
    いない時に前記連想メモリの検索で一致しないように前
    記連想メモリの登録情報の一部に有効及び無効の一方を
    示す有効/無効情報を付加し、前記現在時刻検索手段
    は、前記連想メモリの検索時に前記有効/無効情報に基
    づいて前記現在時刻に送出するパケットの有無を検索
    ることを特徴とする請求項1から請求項7のいずれか記
    載のシェーパ。
  9. 【請求項9】 ネットワークにおいてセル及びパケット
    を制御するためのシェーパに用いるスケジューリング方
    法であって、 前記セル及び前記パケットを設定した理想時刻に送出す
    る時に該当する前記セル及び前記パケットを送信すべき
    時刻が経過したことを検出するための連想メモリを現在
    時刻に基づいて検索して前記現在時刻に送出するパケッ
    トの有無を検索する第1のステップと、予め設定された
    伝送路のトラヒックパラメータを用いて前記パケットの
    送出時刻を計算する第2のステップとを有し、 前記理想時刻を前記連想メモリの検索テーブルのフロー
    番号に対応するアドレスに設定するとともに、前記連想
    メモリの検索結果から得られるアドレスを、同一時刻に
    送出するパケットを示しかつリンクされたデータ構造の
    ポインタとして利用し、前記第2のステップで計算され
    た送出時刻を前記連想メモリに設定時刻として登録 する
    ことを特徴とするスケジューリング方法。
  10. 【請求項10】 前記第1のステップは、前記タイマか
    らの現在時刻を前記連想メモリの検索データフォーマッ
    トに直し、その検索データフォーマットで前記連想メモ
    リを検索することを特徴とする請求項記載のスケジュ
    ーリング方法。
  11. 【請求項11】 前記第1のステップは、前記現在時刻
    に送出するパケットがあることを検出した時に当該パケ
    ットの登録情報を前記連想メモリから削除するよう指示
    しかつ当該パケットの出力を指示することを特徴とする
    請求項または請求項10記載のスケジューリング方
    法。
  12. 【請求項12】 前記連想メモリへのスケジューリング
    時刻設定の要求時にその設定時刻を基に前記連想メモリ
    を検索して当該設定時刻に送出するパケットの重複の有
    無を検索する第3のステップを含むことを特徴とする請
    求項から請求項11のいずれか記載のスケジューリン
    グ方法。
  13. 【請求項13】 前記第3のステップは、前記設定時刻
    を前記連想メモリの検索データフォーマットに直し、そ
    の検索データフォーマットで前記連想メモリを検索する
    ことを特徴とする請求項12記載のスケジューリング方
    法。
  14. 【請求項14】 前記第3のステップで前記パケットの
    重複が検出された時に前記設定時刻に送出するパケット
    のフロー番号を同一時刻に送出されるパケットにリンク
    接続して追加するステップを含むことを特徴とする請求
    12または請求項13記載のスケジューリング方法。
  15. 【請求項15】 前記第3のステップで前記パケットの
    重複が検出されなかった時に前記設定時刻に送出するパ
    ケットのフロー番号を前記連想メモリのアドレスとして
    前記設定時刻を前記連想メモリに登録するステップを含
    むことを特徴とする請求項12から請求項14のいずれ
    か記載のスケジューリング方法。
  16. 【請求項16】 前記連想メモリに設定時刻が設定され
    ていない時に前記連想メモリの検索で一致しないように
    前記連想メモリの登録情報の一部に有効及び無効の一方
    を示す有効/無効情報を付加し、 前記第1のステップは、前記連想メモリの検索時に前記
    有効/無効情報に基づいて前記現在時刻に送出するパケ
    ットの有無を検索することを特徴とする請求項から請
    求項15のいずれか記載のスケジューリング方法。
JP2000009602A 2000-01-19 2000-01-19 シェーパ及びそれに用いるスケジューリング方法 Expired - Fee Related JP3446704B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000009602A JP3446704B2 (ja) 2000-01-19 2000-01-19 シェーパ及びそれに用いるスケジューリング方法
US09/764,283 US20010008530A1 (en) 2000-01-19 2001-01-19 Shaper and scheduling method for use in the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000009602A JP3446704B2 (ja) 2000-01-19 2000-01-19 シェーパ及びそれに用いるスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2001203702A JP2001203702A (ja) 2001-07-27
JP3446704B2 true JP3446704B2 (ja) 2003-09-16

Family

ID=18537731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000009602A Expired - Fee Related JP3446704B2 (ja) 2000-01-19 2000-01-19 シェーパ及びそれに用いるスケジューリング方法

Country Status (2)

Country Link
US (1) US20010008530A1 (ja)
JP (1) JP3446704B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4258996B2 (ja) * 2001-06-05 2009-04-30 沖電気工業株式会社 スケジューリング装置およびセル通信装置
US20030128686A1 (en) * 2001-12-06 2003-07-10 Hur Nam Chun Variable delay buffer
CN100358314C (zh) * 2003-10-28 2007-12-26 华为技术有限公司 一种实现异步转移模式下虚通道流量控制的方法及装置
US20060161647A1 (en) * 2004-12-22 2006-07-20 Waldemar Wojtkiewicz Method and apparatus providing measurement of packet latency in a processor
US20090323529A1 (en) * 2008-06-27 2009-12-31 Ericsson Inc. Apparatus with network traffic scheduler and method
US20100166007A1 (en) * 2008-12-30 2010-07-01 Jeremy Horner Advanced Elastic Time Recovery Mechanism Using Wildcard Searches
US8705552B1 (en) 2010-02-09 2014-04-22 Marvell International Ltd. Controlling latency variations in a packet node
JP5609584B2 (ja) 2010-08-30 2014-10-22 富士通株式会社 シェーピング装置及び方法
US8903925B2 (en) * 2012-05-14 2014-12-02 Microsoft Corporation Scheduled messages in a scalable messaging system
FR3016762B1 (fr) * 2014-01-17 2017-08-25 Cie Ind Et Financiere D'ingenierie Ingenico Methode de transmission de donnees chiffrees, methode de reception, dispositifs et programmes d'ordinateur correspondants.
US11689440B2 (en) * 2019-02-06 2023-06-27 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for transmit time timestamping

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862206A (en) * 1996-09-12 1999-01-19 Cabletron Systems, Inc. Method and apparatus for performing raw cell status report frequency mitigation on transmit in a network node

Also Published As

Publication number Publication date
US20010008530A1 (en) 2001-07-19
JP2001203702A (ja) 2001-07-27

Similar Documents

Publication Publication Date Title
KR102337092B1 (ko) 트래픽 측정 방법, 장치, 및 시스템
US7787442B2 (en) Communication statistic information collection apparatus
Apostolopoulos et al. QoS routing mechanisms and OSPF extensions
US7477644B2 (en) Method and system of efficient packet reordering
JP3446704B2 (ja) シェーパ及びそれに用いるスケジューリング方法
US6480489B1 (en) Method and apparatus for data re-assembly with a high performance network interface
US7133363B2 (en) Storage switch with bandwidth control function
US6266322B1 (en) Dimensioning bandwidth and connection admission control for elastic traffic in high-speed communication networks
CN101241492B (zh) 具有容量动态控制功能的内存数据存储装置及其实现方法
US20140133320A1 (en) Inter-packet interval prediction learning algorithm
CN102158406B (zh) 面向计算机网络链路的智能选路方法
WO2001005123A1 (en) Apparatus and method to minimize incoming data loss
CN107453948A (zh) 一种网络测量数据的存储方法及系统
CN100499516C (zh) 分组交换设备流量监测查询方法及线卡采集器
CN101453361A (zh) 一种网站请求队列管理方法
CN104270466B (zh) 数据上报方法及相关设备
Pan et al. Nb-cache: Non-blocking in-network caching for high-performance content routers
JP3837670B2 (ja) データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
CN109981460A (zh) 一种面向服务的融合网络、计算、存储一体化方法及装置
CN102812675B (zh) 分组转送处理装置、方法
JP4409401B2 (ja) パケット転送装置及びストレージシステム
JP6266445B2 (ja) パケット中継装置及びパケット中継方法
CN106339385A (zh) 抓取网页的系统、网页抓取节点分配方法、抓取网页的方法
US20020078133A1 (en) Information collection apparatus and method
JP5324380B2 (ja) パケット転送装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070704

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080704

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees