JP2002232469A - スケジューリング装置およびスケジューリング方法 - Google Patents

スケジューリング装置およびスケジューリング方法

Info

Publication number
JP2002232469A
JP2002232469A JP2002000601A JP2002000601A JP2002232469A JP 2002232469 A JP2002232469 A JP 2002232469A JP 2002000601 A JP2002000601 A JP 2002000601A JP 2002000601 A JP2002000601 A JP 2002000601A JP 2002232469 A JP2002232469 A JP 2002232469A
Authority
JP
Japan
Prior art keywords
bundle
service
data packet
flow
frame
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.)
Granted
Application number
JP2002000601A
Other languages
English (en)
Other versions
JP3953819B2 (ja
JP2002232469A5 (ja
Inventor
Fabio M Chiussi
エム チウスイ ファビオ
T Clancy Robert
ティー クランシー ロバート
Kevin D Drucker
ディー ドラッカー ケヴィン
Andrea Francini
フランシーン アンドレーエ
E Edie Nasar
イー イディ ナサー
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2002232469A publication Critical patent/JP2002232469A/ja
Publication of JP2002232469A5 publication Critical patent/JP2002232469A5/ja
Application granted granted Critical
Publication of JP3953819B2 publication Critical patent/JP3953819B2/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
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/828Allocation of resources per group of connections, e.g. per group of users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 追加のスケジューリング構造を使用せずに、
帯域保証を、個々のデータパケットフローと、それらの
フローの集合(バンドル)の両方に提供する。 【解決手段】 各バンドル401について、スケジュー
ラ402は、そのバンドルに名目上割り当てられる帯域
と、そのバンドルで現在積滞している(バックログのあ
る)フローの帯域割当ての総和との間の比を決定する。
スケジューラは、その比を用いて、個々のフローへの帯
域の分配を規制するタイムスタンプ増分を修正する。こ
のようにして、そのバンドルに対する比が大きいほど、
そのバンドル内のそれぞれのバックログフローが受ける
帯域は大きくなる。スケジューラは、常に、フローが積
滞している限り、与えられたデータパケットフローの帯
域要求を満たし、バンドル内に少なくとも1つのバック
ログフローがある限り、与えられたバンドルの帯域要求
を満たす。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケットスケジュ
ーラに関し、特に、個々のデータソースへ、および、そ
れらのデータソースの集合(aggregate)へのデータ転送
レートを保証するパケットスケジューリング装置および
方法に関する。
【0002】
【従来の技術】Integrated Service (Intserv)[後記の
[付録]に掲げた文献1参照]やDifferentiated Servi
ce (Diffserv)[2]のような精緻なサービス品質(Q
oS)フレームワークがますます広まるとともに、フレ
キシブルな帯域管理の可能なパケットスケジューラが重
要視されている。従来のいくつかのパケットスケジュー
ラは、すぐれた最悪の場合の遅延性能を提供するととも
に、正確な帯域保証を提供する[3,4,5,6,7,
8]が、それらのコストはかなり高い[6,7,8]。
【0003】この理由のため、産業界は、重み付けラウ
ンドロビン(WRR:Weighted Round Robin)スケジュ
ーラ[9,10,11]に相当の関心を示している。W
RRスケジューラは、ぎりぎりまでの(タイトな)遅延
限界を必ずしも達成するものではないが、最小限の複雑
さで頑強(ロバスト)な帯域保証を提供する。このよう
なスケジューラのさまざまな実例が文献に現れている。
よく知られた例には、不足ラウンドロビン(DRR:De
ficit Round Robin)アルゴリズム[10]および余剰
ラウンドロビン(SRR:Surplus Round Robin)[1
1]アルゴリズムがある。
【0004】
【発明が解決しようとする課題】WRRスケジューラの
上記の実例は、異種のデータパケットフローの帯域保証
を差別化することには成功している。しかし、それらが
現在規定されている形態に関しては、新しいサービス品
質フレームワークのすべての帯域要求を満たすには十分
でない。一般に、ネットワークノードにおけるフレキシ
ブルな帯域管理は、帯域が、個々のフローに割り当てら
れることが可能であるだけでなく、それらのフローの集
合にも割り当てられることが可能であるような、階層的
スケジューリング構造の展開を必要とする。従来のWR
Rスケジューラでは、帯域分離を達成するための階層構
造の重ね合わせは、基本のスケジューラの単純さを損な
う。
【0005】データパケットネットワークのためのスケ
ジューリングの技術分野においては、基本スケジューラ
の単純さを損なわずに階層的帯域分離を達成する改良さ
れたスケジューラ装置が必要とされている。
【0006】
【課題を解決するための手段】本発明の目的は、階層的
帯域分離のためのスケジューラ装置を規定することであ
る。この新規な技術の目標は、完全に透過的な方法で、
すなわち、追加のスケジューリング構造を使用せずに、
帯域保証を、個々のデータパケットフローに提供すると
ともに、それらのフローの集合(「バンドル」という)
にも提供することである。
【0007】各バンドルについて、スケジューラは、そ
のバンドルに名目上割り当てられる帯域と、そのバンド
ルで現在積滞している(バックログのある)フローの帯
域割当ての総和との間の比を決定する。スケジューラ
は、その比を用いて、個々のフローへの帯域の分配を規
制するタイムスタンプ増分を修正する。このようにし
て、そのバンドルに対する比が大きいほど、そのバンド
ル内のそれぞれのバックログフローが受ける帯域は大き
くなる。スケジューラは、常に、フローが積滞している
限り、与えられたデータパケットフローの帯域要求を満
たし、バンドル内に少なくとも1つのバックログフロー
がある限り、与えられたバンドルの帯域要求を満たす。
【0008】具体的には、本発明のスケジューリング装
置は、複数のデータパケットフローについてデータパケ
ットの送信をスケジューリングする。前記データパケッ
トフローには、通信リンクの送信容量rのうちの所定シ
ェアが割り当てられ、前記データパケットフローは複数
のバンドルにまとめられる。前記バンドルには、前記通
信リンクの処理容量のうちのサービスシェアが割り当て
られる。通信リンクを通じての送信はサービスフレーム
に分けられる。1サービスフレームは、あらゆるバック
ログデータパケットフローに少なくとも1つの送信機会
を提供する。バックログデータパケットフローは、複数
のパケットキューのうちの対応するパケットキューに格
納された少なくとも1つのデータパケットを有するデー
タパケットフローである。本発明のスケジューリング装
置は、(1)サービスフレームの期間を決定する手段
と、(2)各データパケットフローが、十分な数の連続
するサービスフレームにわたり連続してそのデータパケ
ットフローにバックログがある場合に、常に少なくとも
その割り当てられたサービスシェアを受けるとともに、
各バンドルが、十分な数の連続するサービスフレームに
わたり1サービスフレームの全期間中連続してバックロ
グのあるバンドル内に少なくとも1つのデータパケット
フローがある場合に、少なくともその割り当てられたサ
ービスシェアを受けることを保証する手段とを有する。
前記保証する手段は、(A)各バンドルIについて、同
じバンドルIにまとめられた前記データパケットフロー
のそれぞれに割り当てられる前記サービスシェアの総和
に関係する累積シェアΦを管理する手段と、(B)各
バンドルIについて、該バンドルIに割り当てられるサ
ービスシェアRと、該バンドルの前記累積シェアΦ
との間のサービス比を計算する手段と、(C)前記複数
のバンドルのそれぞれについて計算されたサービス比を
用いて、前記複数のデータパケットフローのそれぞれに
割り当てられる前記サービスシェアを修正する手段とを
有する。
【0009】本発明はまた、複数のデータパケットフロ
ーについてデータパケットの送信をスケジューリングす
る方法に関する。前記データパケットフローには、出通
信リンクの送信容量のうちの所定シェアが割り当てら
れ、前記データパケットフローは複数のバンドルにまと
められる。前記バンドルには、前記出通信リンクの送信
容量rのうちのサービスシェアが割り当てられる。通信
リンクを通じての送信はサービスフレームに分けられ
る。1サービスフレームは、あらゆるバックログデータ
パケットフローに少なくとも1つの送信機会を提供す
る。バックログデータパケットフローは、複数のパケッ
トキューのうちの対応するパケットキューに格納された
少なくとも1つのデータパケットを有するデータパケッ
トフローである。この方法は、(1)サービスフレーム
の期間を決定するステップと、(2)各データパケット
フローが、十分な数の連続するサービスフレームにわた
り連続してそのデータパケットフローにバックログがあ
る場合に、常に少なくともその割り当てられたサービス
シェアを受けるとともに、各バンドルが、十分な数の連
続するサービスフレームにわたり1サービスフレームの
全期間中連続してバックログのあるバンドル内に少なく
とも1つのデータパケットフローがある場合に、少なく
ともその割り当てられたサービスシェアを受けることを
保証するステップと、(3)各バンドルIについて、同
じバンドルIにまとめられた前記データパケットフロー
のそれぞれに割り当てられる前記サービスシェアの総和
に関係する累積シェアΦを管理するステップと、
(4)各バンドルIについて、該バンドルIに割り当て
られるサービスシェアRと、該バンドルの前記累積シ
ェアΦとの間のサービス比を計算するステップと、
(5)前記複数のバンドルについて計算されたサービス
比を用いて、前記複数のデータパケットフローのそれぞ
れに割り当てられる前記サービスシェアを修正するステ
ップとを有する。
【0010】
【発明の実施の形態】図1に、複数の通信スイッチ10
1−1〜101−pが通信リンクにより相互に接続され
た例示的なパケットネットワークを示す。いくつかのデ
ータソース102−1〜102−qが通信スイッチに接
続される。ネットワークコネクションが、それぞれのデ
ータソースから、対応する宛先103−1〜103−g
へと確立され、データパケットは、各データソースから
対応する宛先へ送信される。
【0011】図2は、パケットネットワークの通信スイ
ッチ101−1の例示的なブロック図である。図示のよ
うに、通信スイッチは、スイッチファブリック250
と、複数の通信リンクインタフェース200−1〜20
0−sを有する。各通信リンクインタフェースは、複数
の入力リンクを1つの出力リンクに接続し、データパケ
ットを入力リンクから出力リンクへ転送する。通信スイ
ッチ101−1は、このような通信リンクインタフェー
ス200を1個だけ含むことも、複数含むことも可能で
ある。例えば、入力通信リンクインタフェース200−
1はスイッチファブリック250の前に配置され、その
場合、入力通信リンクインタフェース200−1の入力
リンク201−1〜201−rは通信スイッチ101−
1の入力リンクであり、入力通信リンクインタフェース
200−1の出力リンク203はスイッチファブリック
250に接続される。
【0012】第2の例として、出力通信リンクインタフ
ェース200−jはスイッチファブリック250の出力
に配置され、出力通信リンクインタフェース200−j
の入力リンクはスイッチファブリック250の複数の出
力リンク204であることが可能であり、出力通信リン
クインタフェース200−jの出力リンクは通信スイッ
チ101−1の出力リンク202−jである。注意すべ
き点であるが、1つの特定のリンクを通じて、または、
複数の相異なるリンクを通じて受信されるパケットは、
同じ長さであることもそうでないこともある。例えば、
スイッチファブリック250が非同期転送モード(AT
M)スイッチであり、図1のネットワークがATMネッ
トワークである場合、すべてのパケットは同じ長さを有
する。本発明の以下の説明では、1つの特定のリンクを
通じて、または、複数の相異なるリンクを通じて受信さ
れるパケットは、長さが必ずしも同じでないと仮定す
る。
【0013】図6に関連して後の段落で説明するよう
に、図2の通信リンクインタフェース200のそれぞれ
は一般に、少なくともパケット受信器、スケジューラ、
およびパケット送信器を有する。前述のように、スケジ
ューラは、重み付けラウンドロビン(WRR)スケジュ
ーラ[9,10,11]であることが可能であり、さら
にこれは、不足ラウンドロビン(DRR:Deficit Roun
d Robin)[10]または余剰ラウンドロビン(SR
R:Surplus Round Robin)[11]のアルゴリズムに
従って実装されることが可能である。
【0014】不足ラウンドロビン(DRR)アルゴリズ
ムは、その最小限の実装複雑さと、割り当てられるサー
ビスシェアに比例してフローをサービスする際のその効
率とにより、可変サイズのパケットに対するWRRスケ
ジューラの最も普及している実例の1つである。WRR
パラダイムに従って、DRRアルゴリズムは、サービス
シェアρを各設定フローiに関連づける。サービスシ
ェアは、すべての設定フローにわたるそれらの和がサー
バの容量rを超えないときに、最小の保証サービスレー
トとなる。
【数1】 式(1)の限界(ただし、Vは設定フローの総数であ
る)は、ρより低くない長期レートでフローiがサー
ビスを受けることを保証する。
【0015】DRRアルゴリズムは、サーバのアクティ
ビティをサービスフレームに分割する。本発明は、基準
タイムスタンプ増分Tを用いて仮想時間領域でフレー
ム期間を表現するアルゴリズムの定式化を参照する。こ
の定式化は、最初に[10]で提示されたDRRの定義
と機能的に等価であるが、本発明の記述にはより適して
いる。
【0016】1フレーム内で、各設定フローiには、次
式のような量Qの情報ユニットの送信の権利が与えら
れる。 Q=ρ・T (2)
【0017】スケジューラは、フレームあたり1回だけ
バックログフローを処理するため、一発でそのフレーム
に対するそれらのフローのサービス期待値を充足する。
各フローiは、パケットのキュー(フローキュー)と、
長さl の新たなパケットp がフローキューの先
頭に到着するごとに更新される次式のタイムスタンプF
とを管理する。 F =F k−1+l /ρ (3)
【0018】スケジューラは、フローへのサービスを、
そのタイムスタンプがTより小さくとどまる限り続け
る。タイムスタンプFが基準タイムスタンプ増分T
を超えると、スケジューラは、フローiの処理の終了を
宣言し、Tをフローiのタイムスタンプから減算し、
サービスすべき別のバックログフローを探す。その結
果、Tの減算後、Fの値は、フローiに対するサー
ビスクレジット(貸し)を表現する。一般に、タイムス
タンプは、バックログフローのサービスクレジットを後
のフレームに持ち越すため、スケジューラは、長期間で
は(すなわち、複数のフレームにわたって)、割り当て
られたサービスシェアに比例してサービスを分配するこ
とができる。
【0019】フローiがアイドルになると、スケジュー
ラは直ちに別のフローに移り、それへのサービスの提供
を開始する。フローiが短時間で再びバックログになる
と、フローiは、サーバからの次の処理を受けるために
は、次のフレームの開始を待たなければならない。フロ
ーがアイドルになると、同じフローが将来のフレームで
再びバックログになった場合のサービスの損失を避ける
ために、そのフローのタイムスタンプはゼロにリセット
される。構成により、アイドルのフローのタイムスタン
プは常にTより小さいため、タイムスタンプのリセッ
トは、他のフローに不利になるような余分のサービスク
レジットを生じることはない。
【0020】構成により、サービスフレームの始めに
は、フローiのタイムスタンプFの値は0とL/ρ
の間にある。ただし、Lはフローiのパケットの最
大サイズである。タイムスタンプの初期値のゆらぎは、
フローiが1フレームで送信する情報ユニットの量のゆ
らぎを引き起こし、これは区間(Q−L,Q+L
)内にある。このため、すべての設定フローが永続的
に積滞しているときでさえ、サーバが1フレームで送信
する情報ユニットの総量は一定でない。
【0021】DRRスケジューラは、[10]では、F
IFO順に巡回されるバックログフローの単一の連結リ
ストにより実装された。次式のように、基準タイムスタ
ンプ増分Tが、最小サービスシェアのフローに対する
最大サイズのパケットにより定まるタイムスタンプ増分
より小さくない場合には、バックログフローを単一FI
FOキューに配置すると、O(1)の実装複雑さとな
る。 T≧Lma/ρmi (4)
【0022】式(4)の条件が満たされない場合、スケ
ジューラのアルゴリズム複雑さは、連続するパケット送
信間に実行されるべき基本オペレーションの最悪の場合
の数とともに爆発的に増大する(基本オペレーションに
は、連結リストにおけるフローの取り出しおよび挿入、
タイムスタンプ更新、タイムスタンプと基準タイムスタ
ンプ増分の比較、が含まれる)。実際、スケジューラ
は、基準タイムスタンプ増分の反復減算によりタイムス
タンプが[0,T)区間内に入るまで、いくつかの連
続するフレームの間、与えられたフローへのサービスを
拒否しなければならない可能性がある。図3Aに、DR
Rにおいて、新たなパケットがフローiのキューの先頭
に到着したときに、そのフローiを処理しそのタイムス
タンプを更新するための規則を指定する例示的な擬似コ
ードのリストを示す。
【0023】余剰ラウンドロビン(SRR)の記述は
[11]に与えられている。このアルゴリズムは、DR
Rと同じパラメータおよび変数を有するが、異なるイベ
ントがタイムスタンプの更新を引き起こす。すなわち、
フローiは、パケットp の送信が完了すると、その
結果のフローのバックログ状態とは独立に、新たなタイ
ムスタンプF を受け取る。フレームの終わりは、1
パケットの送信後に常に検出され、その前には検出され
ない。タイムスタンプは、(DRRの場合のクレジット
(貸し)の代わりに)現フレームの期間中にフローによ
って累積されたデビット(借り)を次フレームに持ち越
す。
【0024】DRRに比べてSRRの利点は、SRR
は、フローのフレームの終わりを決定するためにキュー
先頭パケットの長さを前もって知る必要がないことであ
る。逆に、悪意のあるフローが競争相手から帯域を盗む
ことを防ぐために、このアルゴリズムは、アイドルにな
ったフローのタイムスタンプをリセットすることができ
ない。アイドルフローのヌルでないタイムスタンプは、
そのフローがアイドルになったのと同じフレームの終了
によって結局は不用(obsolete)となる。理想的には、タ
イムスタンプは、不用になったらすぐにリセットされる
べきである。しかし、数十万、さらには数百万のフロー
を処理するスケジューラでは、同時に不用になる可能性
のあるすべてのタイムスタンプを即座にリセットするこ
とは現実には不可能である。
【0025】本発明についてのこの記述は、アイドルフ
ローのタイムスタンプの不用性を何らチェックしないS
RRアルゴリズムの実装に焦点をしぼる。この実装で
は、新たに積滞したフローは常に、そのタイムスタンプ
の値がいかに古くとも、そのタイムスタンプの最近の値
からアクティビティを再開する。この仮定の効果は、新
たに積滞したフローが、前に長時間の間に累積したデビ
ットの結果として、サーバが最初にやってくるときにそ
の受けるべきサービスの一部をあきらめなければならな
いことがあることである。図3Bに、SRRにおいて、
サーバがパケットp の送信を完了したときにフロー
iを処理しそのタイムスタンプを更新するための規則を
指定する例示的な擬似コードのリストを示す。
【0026】説明を簡単にするため、本明細書の残りの
部分では、重み付けラウンドロビン(WRR)の名称は
一般に、DRRまたはSRRを総称的に(それらを区別
する特徴への明示的な言及がなければ)指すために用い
るものとする。
【0027】WRRスケジューラは、個々のパケットフ
ローへの帯域の分配だけを制御することができるという
点で、本質的に「1層」である。複数のスケジューリン
グ層を重ね合わせることにより、個々のフローに帯域を
割り当てることができるだけでなく、フローの集合を生
成しそれに従って帯域を分離することができる、階層的
でフレキシブルな構造を実装すると、これらのスケジュ
ーラの単純さが損なわれる。
【0028】帯域分離の参照モデルを図4に示す。割り
当てられるフローのセット(1,1)〜(K,V
は、バンドルと呼ばれるK個のサブセット401−1〜
401−Kに分割される。各バンドルIは、V個のフ
ローを集め、割り当てられたサービスレートRを有す
る。スケジューラの論理編成は、2層化された階層を反
映する。すなわち、まず、バンドルの総割当てに従って
帯域をバンドルに分配した後、フローの帯域割当てと、
それぞれのバンドル内の他のフローのバックログ状態と
に基づいてフローをサービスする。スケジューラは、少
なくとも1つのフローが積滞している限り、各バンドル
を、対応するフローのバックログ状態とは独立に扱う。
【0029】スケジューラは、いかなる種類の遅延保証
もサポートしようとせずに、フロー集合と、集合内の個
々のフローの両方に対して、厳格な帯域保証を強制する
ことを目標とする(スケジューリング階層において厳格
な遅延保証を提供するためのいくつかのフレームワーク
がすでに利用可能である[7,12]が、それらはすべ
て、スケジューラの複雑さを相当に増大させる高度なア
ルゴリズムによるものである)。フロー集合の帯域要求
をサポートするためには、バンドルのレート割当てに対
して次の条件が常に成り立たなければならない。
【数2】
【0030】同様に、各バンドルI内で、関連するフロ
ーの帯域要求を満たすためには、次の限界が満たされな
ければならない。
【数3】
【0031】[7,12]で提示されたフレームワーク
によって示唆されるスケジューリング解では、フローと
リンクサーバの間に、バンドルを処理する本格的な(そ
して高価な)スケジューリング層を導入することにな
る。一般に、本格的な階層スケジューラの実装コスト
は、バンドルの数について線形に増大する。その理由
は、各バンドルがそれぞれ基本のフロー別スケジューラ
を必要とするからである。これに対して、本発明では、
スケジューリング階層におけるバンドル要求を強制する
層は純粋に仮想的であり、単一の基本スケジューラ上に
重ね合わされる。したがって、個々のフローを処理する
構造のコストは、設定されるバンドルの数とは独立であ
るため、スケジューリング階層の実装における相当の節
約になる。
【0032】本発明によれば、改良されたWRRスケジ
ューラは、WRRスケジューラの基本構造の実質的な変
更を必要とせずに、帯域を階層的に分離する。この新規
な技術によれば、スケジューラは、完全に透過的な方法
で、すなわち、追加のスケジューリング構造を使用せず
に、帯域保証を、個々のフローに提供するとともに、フ
ローの集合(バンドル)にも提供する。本発明は、この
目標を、単に、スケジューラがタイムスタンプを操作す
る方法を改良することによって達成する。その結果得ら
れる「ソフト」なスケジューリング階層は、無視できる
ほどの複雑さしか有しない。にもかかわらず、帯域保証
を、個々のフローに提供するとともに、バンドルにも提
供するのに有効である。
【0033】図5に、階層的帯域分離のソフト強制のた
めの改良されたWRRスケジューラによって利用される
キュー、状態テーブル、レジスタ、およびパラメータの
機能図である。図4および図5をあわせて参照すると、
スケジューラは、複数のバンドル401−1〜401−
Kにまとめられた、複数のデータパケットフローi
(501)を処理する。フローキュー502は、そ
れぞれのデータパケットフロー501ついてデータパケ
ットを格納する。フローキュー502は、先入れ先出し
(FIFO)キューとして実装可能である。各フローキ
ュー502は、対応するフロー別状態テーブル503を
有し、これは、対応するフロー501に対するいくつか
の変数を格納する。
【0034】例えば、フローiの場合、フロー別状態
テーブル503は、タイムスタンプFi1、最小保証サ
ービスレートρi1、フレームフラグFFi1、そのフ
ローを含むバンドルIへのポインタ、ならびに、対応す
るフローキュー502の先頭および末尾のポインタ(図
示せず)を含む。バンドルの状態は、バンドル別状態テ
ーブル504で管理される。例えば、バンドルIの場
合、バンドル別状態テーブル504は、総帯域割当てR
、現在シェアφ、累積シェアΦ、および開始フラ
グσを格納する。フローポインタのFIFOキュー5
05は、スケジューラがフロー501のパケットを送信
するために巡回する順序を決定する。レジスタ506
は、フローポインタのFIFOキューの先頭および末尾
のポインタを格納する。スケジューラは、テーブル50
7でグローバル状態情報を管理する。このテーブルは、
フレームカウンタFRMCNTおよび基準タイムスタン
プ増分Tを管理する。
【0035】図6は、スケジューラが利用される入力通
信リンクインタフェース200の例示的なブロック図で
ある。通信リンクインタフェース200は、データパケ
ット受信器601、スケジューラ602、およびパケッ
ト送信器609を有する。例として、スケジューラは、
コントローラ603、バンドル別状態RAM604、お
よびレジスタ605を、すべて同一のチップ606上に
有するように示されている。パケットRAM607およ
びフロー別状態RAM608は、別々のチップ上に位置
するように示されている。明らかに、動作容量およびそ
の他の特性に依存して、スケジューラ602は、他の構
成でも実装可能である。
【0036】コントローラ603は、本発明の方法を実
装したプログラムを格納し実行する。通信リンクインタ
フェース200の動作を制御するプログラムの実施例を
図7〜図8にフローチャート形式で示す。図5および図
6をあわせて参照すると、フローキュー502内のパケ
ットはパケットRAM607に格納される。フロー別状
態テーブル503はフロー別状態RAM608に格納さ
れる。フローポインタのFIFOキュー505の先頭お
よび末尾ポインタ506ならびにグローバル状態テーブ
ル507はレジスタ605に格納される。
【0037】スケジューラ602の動作の概略は以下の
通りである。パケット受信器601は、入力リンク20
1−1〜201−rから、データパケットフロー501
のデータパケットを受信する。パケット受信器601
は、各パケット(図示せず)のヘッダに含まれるフロー
識別フィールドの内容を用いて、そのパケットのデータ
パケットフロー501を識別する。データパケットフロ
ー501の識別により、関連するフローキュー502お
よびバンドル401が識別される。スケジューラ602
は、バンドル別状態テーブル504のエントリを用い
て、各バンドルIに対するサービス比を計算する。バン
ドルIのサービス比は、公称帯域割当てRと、そのバ
ンドルの累積シェアΦとの間の比として定義される
(累積シェアΦ は、バンドルIのバックログフローの
帯域割当てを累積したものである)。構成により、バン
ドルIのサービス比は決して1より小さくならない。
【0038】サービス比には、個々のフローに対するタ
イムスタンプ増分の計算が関係する。これは、バンドル
Iの各バックログフローが、同じバンドルの他のフロー
がフレームの最初にアイドルであると検出されたときの
そのフレームの期間中に受けるサービスの量の増大分を
決定する。サービス比により引き起こされるタイムスタ
ンプ増分の修正は、スケジューラが、バンドルの総帯域
割当てと、個々のフローの帯域割当てとの両方を依然と
して保証することができるようになされる。
【0039】[動作の詳細]本発明の改良されたWRR
スケジューラは、従来技術のWRRスケジューラ上に仮
想スケジューリング層を重ね合わせることによって、サ
ービス帯域の階層的分離を達成する。本発明のスケジュ
ーラは、複数のバンドルをサポートし、各バンドルは、
データパケットフローの集合である。基礎となるWRR
スケジューラのタイムスタンプに基づく定式化において
(説明のこの点では、DRRとSRRの区別はまだ重要
ではない)、本発明の技術は、タイムスタンプ更新の簡
単な修正により、個々のフローの帯域保証を保存すると
同時に、バンドルの総要求を満たす。
【0040】それぞれの設定されるバンドルIについ
て、スケジューラは、公称帯域割当てRおよび累積シ
ェアΦを管理する。公称帯域割当てRは、そのバン
ドル内のすべてのフローの帯域割当ての総和より小さく
なることはない。累積シェアΦ は、バンドルIのバッ
クログフローの帯域割当ての総和を追跡し、したがっ
て、決してRより大きくならない。
【数4】 式(7)において、Bは、フレームの最初に積滞して
いる、バンドルIのフローの集合である。
【0041】スケジューラは、バンドルIの累積レート
割当てRと累積シェアΦの間のサービス比を用い
て、そのバンドルのフローに付与される実際のサービス
帯域を修正する。具体的には、サービス比は、バンドル
のフローに対するタイムスタンプ増分の定義に寄与す
る。フローiのパケットp に関連するタイムスタン
プ更新は次式の通りである。
【数5】
【0042】式(8)のタイムスタンプ割当て規則が実
際にバンドルの帯域保証を強制することを確かめるに
は、バンドルI内の個々のフローが1フレームの期間中
に受けることが期待されるサービスの量を計算すること
が必要である。原理的には、サービス比R/Φがバ
ンドルIについて1より大きいとき、式(8)のタイム
スタンプ割当ての結果、バンドルIの個々のフローは、
それらの公称帯域割当てのR/Φ倍のサービス帯域
を得る。
【0043】この計算は、次の2つの仮定に基づく。 (1)バンドルの累積シェアΦは、バンドル内のフロ
ーのバックログダイナミクスとは無関係に、1フレーム
の期間中は不変である。 (2)そのフレームの期間中にサーバにアクセス可能な
フローのセットは、そのフレームの最初に積滞していた
フローのみを含む(もしバンドル内の一部のフローが、
フレームの開始後に積滞した場合、それらのフローは、
サーバにアクセス可能になる前に、新たなフレームの開
始まで待たなければならない)。
【0044】基準タイムスタンプ増分Tは、式(8)
と組み合わせて、バンドルIのフローiが1フレーム期
間中に受けることが期待される基準サービス量Qを設
定する。
【数6】
【0045】すると、バンドルI内のすべてのフローの
サービス量の総計は、バンドルのサービス量Qとな
る。
【数7】
【0046】式(10)におけるQの表式は、式
(2)におけるフロー量Qの表式と同一であるため、
フレームの最初にバンドル内で積滞しているフローのセ
ットの組成とは無関係に、式(8)のタイムスタンプ更
新がバンドルIの帯域保証を保存することが証明され
る。
【0047】バンドルIの累積シェアがフレーム期間中
に変化しないという仮定を保持すると、次式のように、
式(8)のタイムスタンプ更新規則は、フレーム期間中
に決してアイドルにならないバンドルIの任意の2個の
フローi、jについて、サービス割合を保存することも
示すことができる。
【数8】
【0048】帯域分離を有するWRRアルゴリズムの詳
細を指定するには、式(10)および(11)の結果を
生成する仮定についての議論と、それら仮定のアルゴリ
ズム的な意味の評価とを必要とする。スケジューラが1
フレーム期間中に計算するすべてのタイムスタンプ増分
において一定値の累積シェアΦを使用することは、バ
ンドルIのフローにサービスを一貫して分配するための
共通の基準を提供する。フレームの開始後になってはじ
めて積滞したフローをサービスフレームから排除するこ
とも、同一の目的を有する。
【0049】タイムスタンプ増分は、システムがフロー
に対して、関連するパケットの送信について課す料金と
みなすことができる。送信のコストは、それが実行され
るときのバンドル内で利用可能な帯域に依存する。タイ
ムスタンプ増分を、バンドル内の帯域資源のコストと整
合させるためには、タイムスタンプ増分は、資源が使用
されるときに、すなわち、対応するパケットの送信時
に、計算されなければならない。もしスケジューラが、
増分を前もって計算するならば、バンドルの状態は、パ
ケットの送信が起こる前に急激な変化を受ける可能性が
あるため、課金メカニズムが帯域の分配と整合しなくな
る。
【0050】考えている2つのWRRアルゴリズムのう
ち、SRRは、送信とタイムスタンプ増分の間の整合性
に対する要求に最もよく適合するものである。その理由
は、SRRは、ちょうど送信したばかりのパケットの長
さを用いてタイムスタンプを更新し、対応するフローの
フレーム内状態を決定するからである。これに対して、
DRRでは、スケジューラは、新たなキュー先頭パケッ
トの長さを用いて、タイムスタンプ更新およびフレーム
内状態チェックを実行するが、これは、そのパケットが
実際に送信されるずっと前である可能性がある。DRR
サーバが最終的にパケットを配信するとき、バンドルの
累積シェア、したがってそのバンドル内の帯域のコスト
は、最後のタイムスタンプ更新以来相当に変化してしま
っている可能性がある。
【0051】SRRにおける帯域分離のためのメカニズ
ムの導入は簡単である。最小帯域保証Rおよび累積シ
ェアΦに加えて、各バンドルIは、現在シェアφ
よび開始フラグσを管理する。現在シェアは、次式の
ように、バンドル内のバックログフローのサービスシェ
アの総和を瞬間的に追跡する。
【数9】
【0052】現在シェアは、バンドルの1つのフローが
そのバックログ状態を変えるたびに更新される。一般
に、現在シェアφの更新は、累積シェアΦの即時更
新を引き起こさない。実際、スケジューラは、開始フラ
グσと、スケジューラがフレーム境界ごとにトグルす
る1ビットのグローバルなフレームカウンタFRMCN
Tとにおける整合しない値を検出した場合にのみ、バン
ドルの累積シェアΦを更新する(スケジューラは、バ
ンドルIの1つのフローのサービスを開始するごとに、
σとFRMCNTを比較する)。
【0053】これらの2つのビットが相違することは、
将来のタイムスタンプ計算で用いられる累積シェアの更
新を引き起こす(Φ←φ)とともに、バンドルの開
始フラグをトグルする(σ←FRMCNT)。他方、
これらの2つのビットがすでに等しい場合、ちょうど完
了したサービスは、現フレームの期間中にバンドルが受
けた最初のサービスではないことが確実であり、バンド
ルパラメータに対して何らのアクションもとられてはな
らない。バンドルの最初のフローが積滞すると、開始フ
ラグはFRMCNTに等しくセットされる。 σ←FRMCNT (13)
【0054】フレームの終わりを識別するため、各フロ
ーiはフレームフラグFFを管理する。フローiのフ
レームフラグは、そのフローがバックログフローのリス
ト505の末尾にキューイングされるときには必ず、F
RMCNTの補数に等しくセットされる。スケジューラ
は、フレームカウンタに一致しないフレームフラグを見
つけると、新たなフレームの開始を宣言し、フレームカ
ウンタをトグルする。1パケットの送信を完了した後に
実行される一連のオペレーションは、図9の擬似コード
にまとめられている。
【0055】図7〜図8に、本発明に従ってパケット送
信のスケジューリングを制御するために図6のスケジュ
ーリング装置を動作させる方法をフローチャート形式で
示す。図7〜図8のフローチャートおよび図9の擬似コ
ードは、SRRが、基礎となるスケジューリングアルゴ
リズムであるという仮定に基づいている。機能性に関す
る限り、SRRの代わりにDRRを用いても問題はな
い。同様に、図5の装置は、バックログフローの単一の
FIFOキューを用いてソフトスケジューリング階層を
実装している。フレーム内とフレーム外のフローの明確
な分離が可能な他の任意のキューイング構造も同様に使
用可能である。
【0056】以下の記述では、図4、図5、図6、およ
び図7〜図8を参照する。図4(図5、図6)で最初に
現れる要素の参照符号は4(5、6)から始まるが、図
7〜図8のステップは、ステップ番号の前にSを付ける
ことによって(例えば、S510)示される。
【0057】図7において、S510で、コントローラ
603は、新たに受信したデータパケットがあるかどう
かをチェックする。S510で、新たに受信したデータ
パケットがなく、S520で、バックログフローがある
場合、制御はS680に移る。他方、S510で、新た
に受信したデータパケットがなく、S520で、バック
ログフローがない場合、コントローラ603は、新たな
パケットが受信されるまで、ステップS510とS52
0の間を循環する。S510において、新たに受信した
パケットの存在が受信器601で検出されると、S55
0で、コントローラ603は、それらのパケットのうち
の1つを選択する。その後、S560で、コントローラ
603は、データパケットのフローを識別し、最終的に
(S570で)、パケットを適当なフローキュー502
に格納する。S580で、識別されたフローのキューの
長さがゼロでない場合、S970で、そのフローのキュ
ー長をインクリメントし、制御はS680に移る。
【0058】他方、S580で、識別されたフローのキ
ューの長さがゼロである場合、S585で、そのフロー
のフレームフラグ(フロー別状態テーブル503内)が
FRMCNT(グローバル状態テーブル507内)の補
数に等しくセットされる。その後、コントローラは、S
590で、バックログフローの総数を増大させ、S60
0で、識別されたフローのキュー長を増大させる。S6
10で、識別されたフローのバンドルが、フロー別状態
テーブル503のバンドルポインタを用いて識別され
る。識別されたバンドルの現在シェアが0である場合、
S630で、コントローラ603は、バンドルの開始フ
ラグ(バンドル別状態テーブル504に格納される)
を、グローバルフレームカウンタFRMCNTの値に等
しくセットする。その後、制御はS635に移る。他
方、S620で、バンドルの現在シェアが0でない場
合、制御は直接S620からS635に移る。S635
で、識別されたバンドルの現在シェアが、新たに積滞し
たフローの帯域割当てだけ増大させられる。そして、S
640で、フローはフローポインタのFIFOキュー5
05の末尾に付加され、その後、制御はS680に移
る。
【0059】S680で、送信器609が古いパケット
の送信でビジーであり、したがって新たなパケットの送
信のために利用可能でない場合、制御はS510に戻
る。そうでない場合、S700で、サービス後処理のた
めに待機しているサービスされたばかりのフローの利用
可能性がチェックされる。S700で、サービスされた
ばかりのフローが利用可能でない場合、S710で、バ
ックログフローがあるかどうかが判定される。バックロ
グフローが存在しない場合、制御はS510に戻り、存
在する場合、S720で、フローポインタのFIFOキ
ュー505の先頭506にあるフロー501がサービス
のために選択され、S730で、選択されたフローのフ
ローキュー502内の最初のデータパケットが送信器6
09に送られる。S740で、サービスのために選択さ
れたフロー501のフレームフラグがグローバルフレー
ムカウンタFRMCNTに等しい場合、制御はS510
に戻り、そうでない場合、S750で、グローバルフレ
ームカウンタFRMCNTはトグルされ、制御はS51
0に戻る。
【0060】S700で、サービス後処理のために待機
しているサービスされたばかりのフロー501が利用可
能である場合、コントローラはS760に進み、対応す
るフローキュー502の長さをデクリメントする。S7
70で、サービスされたばかりのフロー501のバンド
ル401が、フロー別状態テーブル503のバンドルポ
インタを用いて識別される。S780で、グローバルフ
レームカウンタFRMCNTが、サービスされたばかり
のフロー501のバンドル401の開始フラグに等しい
かどうかが判定される。開始フラグがグローバルフレー
ムカウンタに等しくない場合、コントローラは、(S7
90で)バンドルの累積シェアをバンドルの現在シェア
に等しいとセットし、(S800で)バンドルの開始フ
ラグをグローバルフレームカウンタに等しいとセットす
る。その後、制御は、フロータイムスタンプの更新のた
めにS810に進む。S780で、サービスされたばか
りのフローのバンドルの開始フラグがグローバルフレー
ムカウンタに等しい場合、サービスされたばかりのフロ
ーのタイムスタンプの更新のために、制御は直接S81
0に移る。
【0061】S820で、コントローラ603は、サー
ビスされたばかりのフローのキュー長がゼロに等しいか
どうかを判定する。S820で、サービスされたフロー
501のフローキュー502が空であると判定された場
合、S880で、コントローラは、サービスされたばか
りのフローのタイムスタンプがグローバル状態テーブル
507の基準タイムスタンプ増分以上であるかどうかを
チェックする。タイムスタンプが基準タイムスタンプ以
上である場合、制御はS890に移り、タイムスタンプ
は正当な範囲(0,T)内にリセットされる。その
後、制御はS900に移る。S880で、サービスされ
たばかりのフローのタイムスタンプが基準タイムスタン
プ増分より小さいと判定された場合、制御は直接S90
0に移る。S900で、サービスされたばかりのフロー
へのポインタが、フローポインタのFIFOキュー50
5の先頭506から取り出される。その後、S910
で、サービスされたばかりのフローのバンドルの現在シ
ェアが、アイドルになった、サービスされたばかりのフ
ローの帯域割当てだけ減少させられる。S920で、コ
ントローラ603は、バックログフローの総数をデクリ
メントした後、S710に進む。
【0062】S820で、サービスされたフロー501
のフローキュー502が空でないと判定された場合、S
830で、コントローラは、サービスされたばかりのフ
ローのタイムスタンプがグローバル状態テーブル507
の基準タイムスタンプ増分以上であるかどうかをチェッ
クする。タイムスタンプが基準タイムスタンプより小さ
い場合、制御はS840に移り、サービスされたばかり
のフローのフレームフラグがトグルされる。その後、S
850で、サービスされたばかりのフローのタイムスタ
ンプは正当な範囲(0,T)内にリセットされる。S
860で、コントローラ603は、サービスされたばか
りのフローへのポインタを、フローポインタのFIFO
キュー505の先頭506から取り出す。S870で、
同じポインタが、FIFOキュー505の末尾506に
再びキューイングされる。その後、制御はS710に移
る。S830で、サービスされたばかりのフローのタイ
ムスタンプが基準タイムスタンプ増分以上であると判定
された場合、制御は直接S710に移る。
【0063】図9のリストは、本発明に従ってバンドル
Iのフローiを選択しサービス後処理する方法を擬似コ
ード形式で記述したものである。
【0064】上記の実施例は、本発明に従って、重み付
けラウンドロビン上にソフトスケジューリング階層を重
ね合わせるために使用可能な諸原理の単なる例示であ
る。当業者であれば、ここに明示的に記載していなくと
も、特許請求の範囲により規定される本発明の技術思想
および技術的範囲から離れずに、それらの原理を実現す
るさまざまな構成を考えることが可能である。
【0065】[付録]文献 [1] R. Braden, D. Clark, and S. Shenker, "Integ
rated Services in theInternet Architecture: an Ove
rview", Request for Comments (RFC) 1633, IETF, Jun
e 1994. [2] K. Nichols, V. Jacobson, and L. Zhang, "A T
wo-bit DifferentiatedServices Architecture for the
Internet", Request for Comments (RFC) 2638, IETF,
July 1999. [3] D. Stiliadis and A. Varma, "Design and Anal
ysis of Frame-based Fair Queueing: A New Traffic S
cheduling Algorithm for Packet-Switched Networks",
Proceedings of ACM SIGMETRICS '96, pp.104-115, Ma
y 1996. [4] D. Stiliadis and A. Varma, "Efficient Fair
Queueing Algorithms for Packet-Switched Networks",
IEEE/ACM Transactions on Networking, Vol.6,No.2, p
p.175-185, April 1998. [5] J. C. R. Bennett and H. Zhang, "WF2Q: Worst
-Case-Fair Weighted Fair Queueing", Proceedings of
IEEE INFOCOM '96, pp.120-128, March 1996. [6] D. Stiliadis and A. Varma, "A General Metho
dology for Designing Efficient Traffic Scheduling
and Shaping Algorithms", Proceedings of IEEEINFOCO
M '97, Kobe, Japan, April 1997. [7] I. Stoica, H. Zhang, and T. S. E. Ng, "A Hi
erarchical Fair Service Curve Algorithm for Link-S
haring, Real-Time, and Priority Services", Proceed
ings of ACM SIGCOMM '97, September 1997. [8] D. C. Stephens, J. C. R. Bennett, and H. Zh
ang, "Implementing Scheduling Algorithms in High-S
peed Networks", IEEE Journal on Selected Areas in
Communications, Vol.17, No.6, June 1999, pp.1145-1
158. [9] M. Katevenis, S. Sidiropoulos, and C. Courc
oubetis, "Weighted Round Robin Cell Multiplexing i
n a General-Purpose ATM Switch", IEEE Journal on S
elected Areas in Communications, vol.9, pp.1265-7
9, October 1991. [10] M. Shreedhar and G. Varghese, "Efficient
Fair Queueing Using Deficit Round Robin", IEEE/ACM
Transactions on Networking, vol.4, no.3, pp.375-3
85, June 1996. [11] H. Adiseshu, G. Parulkar, and G. Varghes
e, "A Reliable and Scalable Striping Protocol", Pr
oceedings of ACM SIGCOMM '96, August 1996. [12] J. C. R. Bennett and H. Zhang, "Hierarchi
cal Packet Fair Queueing Algorithms", Proceedings
of ACM SIGCOMM '96, pp.143-156, August 1996.
【0066】
【発明の効果】以上述べたごとく、本発明によれば、基
本スケジューラの単純さを損なわずに階層的帯域分離が
達成される。
【0067】特許請求の範囲の発明の要件の後に括弧で
記載した番号がある場合は、本発明の一実施例の対応関
係を示すものであって、本発明の範囲を限定するものと
解釈すべきではない。
【図面の簡単な説明】
【図1】データソース、通信スイッチ、およびデータ宛
先を含む例示的なパケットネットワークを示す図であ
る。
【図2】図1のパケットネットワークで用いられる例示
的な通信スイッチを示す図である。
【図3】図3Aは、新たなパケットがフローキューの先
頭に到着したときに不足ラウンドロビン(DRR)アル
ゴリズムで用いられる擬似コードの例を示し、図3B
は、サーバが1パケットの送信を完了したときに余剰ラ
ウンドロビン(SRR)アルゴリズムで用いられる擬似
コードの例を示す図である。
【図4】本発明による、スケジューラの2層論理編成を
示す図である。
【図5】本発明のスケジューラによって利用されるキュ
ー、状態テーブル、レジスタ、およびパラメータの機能
図である。
【図6】図5の装置の具体的実装の例示的ブロック図で
ある。
【図7】本発明に従ってパケットの送信をスケジューリ
ングする方法を記述した例示的な流れ図である。
【図8】本発明に従ってパケットの送信をスケジューリ
ングする方法を記述した例示的な流れ図である。
【図9】1パケットの送信を完了した後にスケジューラ
によって使用される擬似コードの例を示す図である。
【符号の説明】
101 通信スイッチ 102 データソース 103 宛先 200 通信リンクインタフェース 201 入力リンク 202 出力リンク 250 スイッチファブリック 401 バンドル 501 データパケットフロー 502 フローキュー 503 フロー別状態テーブル 504 バンドル別状態テーブル 505 フローポインタのFIFOキュー 506 レジスタ 507 グローバル状態テーブル 601 パケット受信器 602 スケジューラ 603 コントローラ 604 バンドル別状態RAM 605 レジスタ 606 チップ 607 パケットRAM 608 フロー別状態RAM 609 パケット送信器
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 ファビオ エム チウスイ アメリカ合衆国、07740 ニュージャージ ー州、ロング ブランチ、Apt.4D、 オーシャン アベニュー N 300 (72)発明者 ロバート ティー クランシー アメリカ合衆国、06437 コネチカット州、 ギルフォード、ホーソン ロード 113 (72)発明者 ケヴィン ディー ドラッカー アメリカ合衆国、08801 ニュージャージ ー州、アナンデール、ウェストゲート ド ライブ 18 (72)発明者 アンドレーエ フランシーン アメリカ合衆国、07701 ニュージャージ ー州、レッド バンク、ウェスト フロン ト ストリート 537 (72)発明者 ナサー イー イディ アメリカ合衆国、07724 ニュージャージ ー州、イートンタウン、ウェッジウッド サークル 65 Fターム(参考) 5K030 GA01 GA13 HA08 KA03 LC01

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータパケットフローについてデ
    ータパケットの送信をスケジューリングするスケジュー
    リング装置において、 前記データパケットフローには、通信リンクの送信容量
    rのうちの所定シェアが割り当てられ、前記データパケ
    ットフローは複数のバンドルにまとめられ、 前記バンドルには、前記通信リンクの処理容量のうちの
    サービスシェアが割り当てられ、 通信リンクを通じての送信はサービスフレームに分けら
    れ、1サービスフレームは、あらゆるバックログデータ
    パケットフローに少なくとも1つの送信機会を提供し、
    バックログデータパケットフローは、複数のパケットキ
    ューのうちの対応するパケットキューに格納された少な
    くとも1つのデータパケットを有するデータパケットフ
    ローであり、 前記スケジューリング装置は、 サービスフレームの期間を決定する手段と、 各データパケットフローが、十分な数の連続するサービ
    スフレームにわたり連続して該データパケットフローに
    バックログがある場合に、常に少なくとも該データパケ
    ットフローに割り当てられたサービスシェアを受けると
    ともに、各バンドルが、十分な数の連続するサービスフ
    レームにわたり1サービスフレームの全期間中連続して
    バックログのあるバンドル内に少なくとも1つのデータ
    パケットフローがある場合に、少なくとも該バンドルに
    割り当てられたサービスシェアを受けることを保証する
    手段とを有し、 前記保証する手段は、 各バンドルIについて、同じバンドルIにまとめられた
    前記データパケットフローのそれぞれに割り当てられる
    前記サービスシェアの総和に関係する累積シェアΦ
    管理する手段と、 各バンドルIについて、該バンドルIに割り当てられる
    サービスシェアRと、該バンドルの前記累積シェアΦ
    との間のサービス比を計算する手段と、 前記複数のバンドルのそれぞれについて計算されたサー
    ビス比を用いて、前記複数のデータパケットフローのそ
    れぞれに割り当てられる前記サービスシェアを修正する
    手段とを有することを特徴とするスケジューリング装
    置。
  2. 【請求項2】 重み付けラウンドロビン(WRR)アル
    ゴリズム、不足ラウンドロビン(DRR)アルゴリズ
    ム、および余剰ラウンドロビン(SRR)アルゴリズム
    を含む群から選択されるアルゴリズムが、データパケッ
    トの送信をスケジューリングするために用いられること
    を特徴とする請求項1記載のスケジューリング装置。
  3. 【請求項3】 前記サービスフレームの期間を決定する
    手段は、 グローバルフレームカウンタFRMCNTと、 前記複数のバンドルの各バンドルIに対する開始フラグ
    σと、 前記複数のデータパケットフローの各データパケットフ
    ローiに対するフレームフラグFFとを有することを
    特徴とする請求項1記載のスケジューリング装置。
  4. 【請求項4】 バンドルIの開始フラグσは、該バン
    ドル内の最初のデータパケットフローにバックログが生
    じたときに、グローバルフレームカウンタFRMCNT
    に等しくセットされることを特徴とする請求項3記載の
    スケジューリング装置。
  5. 【請求項5】 データパケットフローiのフレームフラ
    グFFは、該フローにバックログが生じるか、また
    は、該フローが現サービスフレーム内で最後に処理され
    たフローであるときに、グローバルフレームカウンタF
    RMCNTとは異なる値に等しくセットされることを特
    徴とする請求項3記載のスケジューリング装置。
  6. 【請求項6】 サービスフレームの終了と次のサービス
    フレームの開始は、処理されるべき次のデータパケット
    フローiのフレームフラグFFがグローバルフレーム
    カウンタFRMCNTとは異なる値を有するときに、同
    時に検出されることを特徴とする請求項3記載のスケジ
    ューリング装置。
  7. 【請求項7】 バンドルIの累積シェアΦの値は、バ
    ックログを生じているバンドルIのデータパケットフロ
    ーのサービスシェアの総和に等しいことを特徴とする請
    求項1記載のスケジューリング装置。
  8. 【請求項8】 バンドルIの累積シェアΦの値は、該
    バンドルの最初のデータフローがサービスフレーム内で
    最初にサービスされるときにセットされ、たとえバンド
    ルIの1個または複数のデータパケットフローのバック
    ログ状態が該サービスフレームの期間中に変化しても、
    同じサービスフレームの期間全体で不変のまま保持され
    ることを特徴とする請求項1記載のスケジューリング装
    置。
  9. 【請求項9】 複数のデータパケットフローについてデ
    ータパケットの送信をスケジューリングするスケジュー
    リング方法において、 前記データパケットフローには、出通信リンクの送信容
    量のうちの所定シェアが割り当てられ、前記データパケ
    ットフローは複数のバンドルにまとめられ、 前記バンドルには、前記出通信リンクの送信容量rのう
    ちのサービスシェアが割り当てられ、 通信リンクを通じての送信はサービスフレームに分けら
    れ、1サービスフレームは、あらゆるバックログデータ
    パケットフローに少なくとも1つの送信機会を提供し、
    バックログデータパケットフローは、複数のパケットキ
    ューのうちの対応するパケットキューに格納された少な
    くとも1つのデータパケットを有するデータパケットフ
    ローであり、 前記方法は、 サービスフレームの期間を決定するステップと、 各データパケットフローが、十分な数の連続するサービ
    スフレームにわたり連続して該データパケットフローに
    バックログがある場合に、常に少なくとも該データパケ
    ットフローに割り当てられたサービスシェアを受けると
    ともに、各バンドルが、十分な数の連続するサービスフ
    レームにわたり1サービスフレームの全期間中連続して
    バックログのあるバンドル内に少なくとも1つのデータ
    パケットフローがある場合に、少なくとも該バンドルの
    サービスシェアを受けることを保証するステップと、 各バンドルIについて、同じバンドルIにまとめられた
    前記データパケットフローのそれぞれに割り当てられる
    前記サービスシェアの総和に関係する累積シェアΦ
    管理するステップと、 各バンドルIについて、該バンドルIに割り当てられる
    サービスシェアRと、該バンドルの前記累積シェアΦ
    との間のサービス比を計算するステップと、 前記複数のバンドルのそれぞれについて計算されたサー
    ビス比を用いて、前記複数のデータパケットフローのそ
    れぞれに割り当てられる前記サービスシェアを修正する
    ステップとを有することを特徴とするスケジューリング
    方法。
JP2002000601A 2001-01-10 2002-01-07 スケジューリング装置およびスケジューリング方法 Expired - Fee Related JP3953819B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US26080701P 2001-01-10 2001-01-10
US10/008425 2001-11-13
US10/008,425 US7075934B2 (en) 2001-01-10 2001-11-13 Method and apparatus for hierarchical bandwidth distribution in a packet network
US60/260807 2001-11-13

Publications (3)

Publication Number Publication Date
JP2002232469A true JP2002232469A (ja) 2002-08-16
JP2002232469A5 JP2002232469A5 (ja) 2005-07-07
JP3953819B2 JP3953819B2 (ja) 2007-08-08

Family

ID=26678183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002000601A Expired - Fee Related JP3953819B2 (ja) 2001-01-10 2002-01-07 スケジューリング装置およびスケジューリング方法

Country Status (3)

Country Link
US (1) US7075934B2 (ja)
JP (1) JP3953819B2 (ja)
CA (1) CA2366781C (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084957A2 (en) * 2001-04-13 2002-10-24 Motorola, Inc., A Corporation Of The State Of Delaware Manipulating data streams in data stream processors
US7065091B2 (en) * 2002-03-21 2006-06-20 Cisco Technology, Inc. Method and apparatus for scheduling and interleaving items using quantum and deficit values including but not limited to systems using multiple active sets of items or mini-quantum values
CN100596092C (zh) * 2002-11-27 2010-03-24 Rgb网络有限公司 用于数据包的动态通道映射与最优化调度的设备与方法
US7301908B2 (en) * 2003-03-19 2007-11-27 Lucent Technologies Inc. Method and apparatus for rescheduling a communication system channel after a channel property change
FI114599B (fi) * 2003-10-14 2004-11-15 Tellabs Oy Menetelmä ja laitteisto aggregaattiosuuskohtaisen vuonmuokkauksen tekemiseksi pakettikytkentäisessä tietoliikenteessä
US8024416B2 (en) * 2004-10-20 2011-09-20 Research In Motion Limited System and method for bundling information
US7843940B2 (en) * 2005-06-01 2010-11-30 Cisco Technology, Inc. Filling token buckets of schedule entries
KR101266556B1 (ko) * 2006-01-05 2013-05-24 삼성전자주식회사 데피싯 라운드 로빈 방식 데이터 패킷 스케줄링의 인스턴트서비스 방법
US7769026B2 (en) * 2006-03-23 2010-08-03 Intel Corporation Efficient sort scheme for a hierarchical scheduler
US7480240B2 (en) * 2006-05-31 2009-01-20 Riverbed Technology, Inc. Service curve mapping
US8462629B2 (en) * 2006-06-14 2013-06-11 Riverbed Technology, Inc. Cooperative operation of network transport and network quality of service modules
KR100931384B1 (ko) 2007-12-06 2009-12-11 한국전자통신연구원 패킷 기반의 회선 대역 제어 방법
US8213308B2 (en) 2008-09-11 2012-07-03 Juniper Networks, Inc. Methods and apparatus for defining a flow control signal related to a transmit queue
US8325749B2 (en) 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
US8154996B2 (en) 2008-09-11 2012-04-10 Juniper Networks, Inc. Methods and apparatus for flow control associated with multi-staged queues
US8254255B2 (en) * 2008-12-29 2012-08-28 Juniper Networks, Inc. Flow-control in a switch fabric
US8565118B2 (en) * 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8331362B2 (en) * 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8054832B1 (en) 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
US8190769B1 (en) 2008-12-30 2012-05-29 Juniper Networks, Inc. Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8953603B2 (en) * 2009-10-28 2015-02-10 Juniper Networks, Inc. Methods and apparatus related to a distributed switch fabric
US8442048B2 (en) 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US9065773B2 (en) 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8553710B1 (en) 2010-08-18 2013-10-08 Juniper Networks, Inc. Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8891406B1 (en) 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
CA2750345C (en) 2011-08-24 2013-06-18 Guest Tek Interactive Entertainment Ltd. Method of allocating bandwidth between zones according to user load and bandwidth management system thereof
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9641424B1 (en) 2014-10-10 2017-05-02 Nomadix, Inc. Shaping outgoing traffic of network packets in a network management system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018527A (en) * 1996-08-13 2000-01-25 Nortel Networks Corporation Queue service interval based cell scheduler with hierarchical queuing configurations
US6272109B1 (en) * 1997-11-18 2001-08-07 Cabletron Systems, Inc. Hierarchical schedules for different ATM traffic
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
CA2245367A1 (en) * 1998-08-19 2000-02-19 Newbridge Networks Corporation Two-component bandwidth scheduler having application in multi-class digital communication systems
US6470016B1 (en) * 1999-02-09 2002-10-22 Nortel Networks Limited Servicing output queues dynamically according to bandwidth allocation in a frame environment
US6775231B1 (en) * 1999-09-24 2004-08-10 Cisco Technology Dynamic weighted resource sharing
US6940861B2 (en) * 2000-03-14 2005-09-06 General Instrument Corporation Data rate limiting

Also Published As

Publication number Publication date
JP3953819B2 (ja) 2007-08-08
CA2366781C (en) 2007-09-04
US20030169743A1 (en) 2003-09-11
CA2366781A1 (en) 2002-07-10
US7075934B2 (en) 2006-07-11

Similar Documents

Publication Publication Date Title
JP2002232469A (ja) スケジューリング装置およびスケジューリング方法
JP4017867B2 (ja) スケジューリング装置
JP3614132B2 (ja) データをトランスポートするシステムおよび方法
JP3545988B2 (ja) 通信方法および通信装置
JP4115703B2 (ja) 通信ネットワークにおける多重パケットをマルチレベルスケジューリングする方法
JP3417512B2 (ja) リアルタイムトラヒックに対する保証された帯域幅配達を備える遅延最小化システム
JP3784049B2 (ja) 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム
JP2000049853A (ja) バッファ管理によるレ―ト保証方法及び装置
US6396843B1 (en) Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues
US6795870B1 (en) Method and system for network processor scheduler
CN101217495A (zh) 用于t-mpls网络环境下的流量监控方法和装置
JPH08331154A (ja) 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
KR20030045987A (ko) 크레딧 기반 라운드 로빈을 이용한 패킷 스케쥴링장치 및방법
CN110808920B (zh) 一种ccsds帧和ip报文共存的卫星通信流量控制方法
CA2526682C (en) System and method for time-based scheduling
US8467401B1 (en) Scheduling variable length packets
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
Chiussi et al. Implementing fair queueing in ATM switches. I. a practical methodology for the analysis of delay bounds
Francini et al. Enhanced weighted round robin schedulers for accurate bandwidth distribution in packet networks
KR100757194B1 (ko) 자원 이용도가 높고 구현 복잡성이 낮은 공정 패킷스케줄링 장치
JP2004520731A (ja) 複数の情報パケットフロー間で共用資源をスケジュールするための手順及びシステム
CN117240795A (zh) 一种支持多模态处理逻辑的调度方法及系统
Chen A performance evaluation of multiplexer scheduling algorithms
JP3723452B2 (ja) 通信ネットワーク、特に高レートネットワークにおける動的レート割り振りの方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060626

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060926

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees