JP2002232470A - スケジューリング装置 - Google Patents
スケジューリング装置Info
- Publication number
- JP2002232470A JP2002232470A JP2002000603A JP2002000603A JP2002232470A JP 2002232470 A JP2002232470 A JP 2002232470A JP 2002000603 A JP2002000603 A JP 2002000603A JP 2002000603 A JP2002000603 A JP 2002000603A JP 2002232470 A JP2002232470 A JP 2002232470A
- Authority
- JP
- Japan
- Prior art keywords
- service
- flow
- data packet
- frame
- scheduler
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/521—Static queue service slot or fixed bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/525—Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5649—Cell delay or jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
型(BE)のフローをフレキシブルに統合するスケジュ
ーリング装置を実現する。 【解決手段】 スケジューリング装置は、(1)サービ
スフレーム406の第1サブフレーム407の期間中
に、帯域保証をGBフロー402のセットに提供する第
1スケジューラ401と、(2)サービスフレーム40
6の第2サブフレーム408の期間中に、サービスをB
Eフロー405のセットに提供する第2スケジューラ4
04とを有する。第1サブフレーム407の期間は、G
Bフロー402の帯域要求を満たすように調整される。
BEフロー405は、保証帯域要求で表現されないサー
ビス要求を有し、第2サブフレーム408の期間は、サ
ービスフレーム406の期間から、同じサービスフレー
ム406内の第1サブフレーム407の期間を差し引い
たものである。
Description
ーラに関し、特に、帯域要求のあるデータソースへのデ
ータ転送レートと、帯域要求のないデータソースへのフ
ェアネス(公平性)とを同時に保証するパケットスケジ
ューリング装置および方法に関する。
entiated Service (Diffserv)のような精緻なサービス
品質(QoS)フレームワークがますます広まるととも
に、フレキシブルな帯域管理の可能なパケットスケジュ
ーラが重要視されている。最適遅延性能を実現するパケ
ットスケジューラの実装コストが高いため、また、最悪
の場合の遅延性能はIPネットワークにおける頑強(ロ
バスト)な帯域性能にとっては実際にはあまり重要でな
いため、産業界は、重み付けラウンドロビン(WRR:
Weighted Round Robin)スケジューラ[後記の[付録]
に列挙した文献1,2,3参照]に強い関心を示してい
る。WRRスケジューラは、複雑さが非常に低く、ロバ
ストな帯域保証およびフェアネスを提供することができ
るが、ぎりぎりまでの(タイトな)遅延限界を必ずしも
達成するものではない。
は、厳格な帯域保証を帯域保証型(GB:guaranteed-b
andwidth)フロー(すなわち、指定された帯域要求のあ
るフロー)に提供することと、サービスフェアネスをベ
ストエフォート型(BE:best-effort)フロー(すな
わち、指定された帯域要求のないフロー)を提供するこ
とが、いずれかの型のフローを単独で処理するとき(す
なわち、他方の型のフローがない場合)には可能であ
る。一般に、GBフローとBEフローを単一のWRRス
ケジューラでまとめると、帯域資源を割り当てる際のサ
ーバの効率が低下する。
ーは、サービスシェアが割り当てられた場合にのみサー
ビスされる。サービスシェアの選択は常に任意であり、
本質的に、BEフローへの帯域の分配を特徴づけるべき
フレキシビリティをその代わりに低下させる。さらに、
BEフローに割り当てられるサービスシェアは、GBフ
ローと共有される帯域プールから差し引かれるが、この
ことは、スケジューラがサポート可能なGBフローの量
の低下を意味する。
ことが可能な改良されたWRRスケジューラが必要とさ
れている。
証型(GB)およびベストエフォート型(BE)のフロ
ーをフレキシブルに統合するスケジューリング方法およ
び装置が実現される。本発明のパケットスケジューリン
グ装置は、一次WRRスケジューラ(PWS:primary
WRR scheduler)と二次WRRスケジューラ(SWS:s
econdary WRR scheduler)の組合せを有する。PWS
は、サーバのアクティビティをサービスフレームに分割
する。各サービスフレーム内で、PWSは、サービスを
個々のGBフローに分配し、すべてのバックログ(積
滞)BEフローの集合(aggregate)が受けるべきサービ
スの量を決定する。SWSは、BE集合のサービスシェ
アを個々のBEフローにわたり公平(フェア)に分配す
ることを担当する。
りサービスフレームは2個のサブフレームに分割され
る。第1サブフレームで、PWSはGBフローの帯域要
求を充足する。第2サブフレームで、SWSはフェアサ
ービスをBEフローに分配する。各フレームについて、
2個のサブフレームの期間は、GBフローに割り当てら
れる帯域の量と、そのフレームの最初に積滞している
(溜まっている)GBフローの数とに依存する。第2サ
ブフレームの期間は、1サービスフレーム内でBEフロ
ーに利用可能な帯域の量を反映する。それは、GBフロ
ーのバックログ状態とともに変化する。すなわち、GB
フローのアクティビティが低いときに増大し、GBフロ
ーのアクティビティが高くなると減少する。こうして、
本発明のスケジューラでは、BEフローのサービスシェ
アは、GBフローの帯域保証をも支持する同一の有限な
プール(これはサーバの容量によって制約される)から
差し引かれるのではなく、GBフローにより未使用のま
ま残されているサーバ容量の部分に動的に適応する別個
の無制約のプールから差し引かれる。
レームに分けてデータパケットフローをサービスするス
ケジューリング装置が実現される。スケジューリング装
置は、(1)サービスフレームの第1サブフレームの期
間中に、帯域保証を第1のGBフローのセットに提供す
る第1スケジューラと、(2)サービスフレームの第2
サブフレームの期間中に、サービスを第2のBEフロー
のセットに提供する第2スケジューラとを有する。第1
サブフレームの期間は、GBフローの帯域要求を満たす
ように調整される。BEフローは、保証帯域要求で表現
されないサービス要求を有し、第2サブフレームの期間
は、サービスフレームの期間から、同じサービスフレー
ム内の第1サブフレームの期間を差し引いたものであ
る。なお、本発明のもう1つの特徴によれば、第2スケ
ジューラは、必ずしも、サービスをそれぞれのBEフロ
ーに等分配するように設定される必要はない。
に分けてGBフローおよびBEフローのデータパケット
をサービスするためにスケジューラを動作させる方法が
実現される。この方法は、(1)サービスフレームの第
1サブフレームの期間中に、サービスを第1のGBフロ
ーのセットに提供するステップと、(2)サービスフレ
ームの第2サブフレームの期間中に、サービスを第2の
BEフローのセットに提供するステップとを有する。前
記GBデータパケットフローは、帯域要求で表現される
サービス要求を有し、第1サブフレームの期間は、前記
GBデータパケットフローの帯域要求を満たすように調
整される。前記BEデータパケットフローは、保証帯域
要求で表現されないサービス要求を有し、第2サブフレ
ームの期間は、サービスフレームの期間から、同じサー
ビスフレーム内の第1サブフレームの期間を差し引いた
ものである。
1−1〜101−pが通信リンクにより相互に接続され
た例示的なパケットネットワークを示す。いくつかのデ
ータソース102−1〜102−qが通信スイッチに接
続される。ネットワークコネクションが、それぞれのデ
ータソースから、対応する宛先103−1〜103−g
へと確立され、データパケットは、各データソースから
対応する宛先へ送信される。
ッチ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に接続される。
ェース200−jはスイッチファブリック250の出力
に配置され、出力通信リンクインタフェース200−j
の入力リンクはスイッチファブリック250の複数の出
力リンク204であることが可能であり、出力通信リン
クインタフェース200−jの出力リンクは通信スイッ
チ101−1の出力リンク202−jである。注意すべ
き点であるが、1つの特定のリンクを通じて、または、
複数の相異なるリンクを通じて受信されるパケットは、
同じ長さであることもそうでないこともある。例えば、
スイッチファブリック250が非同期転送モード(AT
M)スイッチであり、図1のネットワークがATMネッ
トワークである場合、すべてのパケットは同じ長さを有
する。本発明の以下の説明では、1つの特定のリンクを
通じて、または、複数の相異なるリンクを通じて受信さ
れるパケットは、長さが必ずしも同じでないと仮定す
る。
に、図2の通信リンクインタフェース200のそれぞれ
は一般に、少なくともパケット受信器、スケジューラ、
およびパケット送信器を有する。前述のように、スケジ
ューラは、重み付けラウンドロビン(WRR)スケジュ
ーラ[1,2,3]であることが可能であり、さらにこ
れは、不足ラウンドロビン(DRR:Deficit Round Ro
bin)[2]または余剰ラウンドロビン(SRR:Surpl
us Round Robin)[3]のアルゴリズムに従って実装さ
れることが可能である。
ムは、その最小限の実装複雑さと、割り当てられるサー
ビスシェアに比例してフローをサービスする際のその効
率とにより、可変サイズのパケットに対するWRRスケ
ジューラの最も普及している実例の1つである。DRR
アルゴリズムはまた、サーバのアクティビティをサービ
スフレームに分割する。WRRパラダイムに従って、D
RRアルゴリズムは、サービスシェアρiを各設定フロ
ーiに関連づける。サービスシェアは、すべての設定フ
ローにわたるそれらの和がサーバの容量rを超えないと
きに、最小の保証サービスレートとなる。
る)は、ρiより低くない長期レートでフローiがサー
ビスを受けることを保証する。
ビティをサービスフレームに分割する。本発明は、基準
タイムスタンプ増分TQを用いて仮想時間領域でフレー
ム期間を表現するアルゴリズムの定式化を参照する。こ
の定式化は、最初に[2]で提示されたDRRの定義と
機能的に等価であるが、本発明の記述にはより適してい
る。
式のような量Qiの情報ユニットの送信の権利が与えら
れる。 Qi=ρi・TQ (2)
バックログフローを処理するため、一発でそのフレーム
に対するそれらのフローのサービス期待値を充足する。
各フローiは、パケットのキュー(フローキュー)と、
長さli kの新たなパケットpi kがフローキューの先
頭に到着するごとに更新される次式のタイムスタンプF
iとを管理する。 Fi k=Fi k−1+li k/ρi (3)
そのタイムスタンプがTQより小さくとどまる限り続け
る。タイムスタンプFiが基準タイムスタンプ増分TQ
を超えると、スケジューラは、フローiの処理の終了を
宣言し、TQをフローiのタイムスタンプから減算し、
サービスすべき別のバックログフローを探す。その結
果、TQの減算後、Fiの値は、フローiに対するサー
ビスクレジット(貸し)を表現する。一般に、タイムス
タンプは、バックログフローのサービスクレジットを後
のフレームに持ち越すため、スケジューラは、長期間で
は(すなわち、複数のフレームにわたって)、割り当て
られたサービスシェアに比例してサービスを分配するこ
とができる。
ラは直ちに別のフローに移り、それへのサービスの提供
を開始する。フローiが短時間で再びバックログになる
と、フローiは、サーバからの次の処理を受けるために
は、次のフレームの開始を待たなければならない。フロ
ーがアイドルになると、同じフローが将来のフレームで
再びバックログになった場合のサービスの損失を避ける
ために、そのフローのタイムスタンプはゼロにリセット
される。構成により、アイドルのフローのタイムスタン
プは常にTQより小さいため、タイムスタンプのリセッ
トは、他のフローに不利になるような余分のサービスク
レジットを生じることはない。
は、フローiのタイムスタンプFiの値は0とLi/ρ
iの間にある。ただし、Liはフローiのパケットの最
大サイズである。タイムスタンプの初期値のゆらぎは、
フローiが1フレームで送信する情報ユニットの量のゆ
らぎを引き起こし、これは区間(Qi−Li,Qi+L
i)内にある。このため、すべての設定フローが永続的
に積滞しているときでさえ、サーバが1フレームで送信
する情報ユニットの総量は一定でない。
FO順に巡回されるバックログフローの単一の連結リス
トにより実装された。次式のように、基準タイムスタン
プ増分TQが、最小サービスシェアのフローに対する最
大サイズのパケットにより定まるタイムスタンプ増分よ
り小さくない場合には、バックログフローを単一FIF
Oキューに配置すると、O(1)の実装複雑さとなる。 TQ≧Lma/ρmi (4)
ジューラのアルゴリズム複雑さは、連続するパケット送
信間に実行されるべき基本オペレーションの最悪の場合
の数とともに爆発的に増大する(基本オペレーションに
は、連結リストにおけるフローの取り出しおよび挿入、
タイムスタンプ更新、タイムスタンプと基準タイムスタ
ンプ増分の比較、が含まれる)。実際、スケジューラ
は、基準タイムスタンプ増分の反復減算によりタイムス
タンプが[0,TQ)区間内に入るまで、いくつかの連
続するフレームの間、フローへのサービスを拒否しなけ
ればならない可能性がある。図3Aに、DRRにおい
て、新たなパケットがフローiのキューの先頭に到着し
たときに、そのフローiを処理しそのタイムスタンプを
更新するための規則を指定する例示的な擬似コードのリ
ストを示す。
[3]に与えられている。このアルゴリズムは、DRR
と同じパラメータおよび変数を有するが、異なるイベン
トがタイムスタンプの更新を引き起こす。すなわち、フ
ローiは、パケットpi kの送信が完了すると、その結
果のフローのバックログ状態とは独立に、新たなタイム
スタンプFi kを受け取る。フレームの終わりは、1パ
ケットの送信後に常に検出され、その前には検出されな
い。タイムスタンプは、(DRRの場合のクレジット
(貸し)の代わりに)現フレームの期間中にフローによ
って累積されたデビット(借り)を次フレームに持ち越
す。
は、フローのフレームの終わりを決定するためにキュー
先頭パケットの長さを前もって知る必要がないことであ
る。逆に、悪意のあるフローが競争相手から帯域を盗む
ことを防ぐために、このアルゴリズムは、アイドルにな
ったフローのタイムスタンプをリセットすることができ
ない。アイドルフローのヌルでないタイムスタンプは、
そのフローがアイドルになったのと同じフレームの終了
によって結局は不用(obsolete)となる。理想的には、タ
イムスタンプは、不用になったらすぐにリセットされる
べきである。しかし、数十万、さらには数百万のフロー
を処理するスケジューラでは、同時に不用になる可能性
のあるすべてのタイムスタンプを即座にリセットするこ
とは現実には不可能である。
ローのタイムスタンプの不用性を何らチェックしないS
RRアルゴリズムの実装に焦点をしぼる。この実装で
は、新たに積滞したフローは常に、そのタイムスタンプ
の値がいかに古くとも、そのタイムスタンプの最近の値
からアクティビティを再開する。この仮定の効果は、新
たに積滞したフローが、前に長時間の間に累積したデビ
ットの結果として、サーバが最初にやってくるときにそ
の受けるべきサービスの一部をあきらめなければならな
いことがあることである。図3Bに、SRRにおいて、
サーバがパケットpi kの送信を完了したときにフロー
iを処理しそのタイムスタンプを更新するための規則を
指定する例示的な擬似コードのリストを示す。
部分では、重み付けラウンドロビン(WRR)の名称は
一般に、DRRまたはSRRを総称的に(それらを区別
する特徴への明示的な言及がなければ)指すために用い
るものとする。
フローの集合に帯域保証を提供するための低コストのト
ラフィック管理技術の利用可能性と、ネットワーク全体
でサービス保証をサポートするためのロバストなフレー
ムワークの存在[4,5,6,7]とは、IPネットワ
ークからベストエフォート型トラフィックを除去するこ
との十分な理由とはならず、代わりに、相異なる型のト
ラフィックを効率的に統合するためにネットワークノー
ドで解決されるべき追加のトラフィック管理問題を導入
する。ベストエフォート型フローは、明示的に指定され
たQoS要求を有しない。そのため、出リンクへのアク
セスを規制するスケジューラにおいて、これらのフロー
に対する帯域資源は予約されない。しかし、同じリンク
を要求する相異なるBEフローの相対的扱いにおけるフ
ェアネス(公平性)が強く望まれることがある。
考える場合、すべてのフローに対して同一のサービスシ
ェア割当てを行うWRRスケジューラは、フェアネス目
標を満たすために考え得る最も単純な方式である。帯域
保証型フローも同じ出リンクで競合する場合には、単一
のWRRスケジューラではもはや不十分である。BEフ
ローに割り当てられるシェアは、GBフローに割り当て
可能なプールから帯域を差し引き、帯域の分配における
固定された割合を強制して、BEフローの性質とは矛盾
することになる。
ある単一のWRRスケジューラが、GBおよびBEの両
方のフローを処理する。サーバは、その容量rの1%を
各設定BEフローに割り当てる(もちろん、1%を選ぶ
のは全く任意であり、他のどのような値でも同様であ
る)。スケジューラのアクティビティは、20個の設定
BEフローから開始される。この時点で、各BEフロー
は、すべてのBEフローが永続的に積滞している場合に
は、サーバ容量の5%を取得する。次に、サーバは、そ
れぞれ0.4rを要求する2個のGBフローを受け付け
る。これで、サーバの容量は完全に割り当てられ、これ
以上いずれの型のフローも設定することはできない。
を割り当てる結果、このようなフローの存在は、サーバ
がGBフローに予約可能な公称帯域の量を縮小する。さ
らに、公称帯域の利用可能性は、設定可能なBEフロー
の数を制約する。理想的には、GBフローは、サーバの
容量全体にアクセスできるべきであり、BEフローの設
定は、(単に、BEフローは明示的な帯域要求を有しな
いという理由だけで)公称帯域の利用可能性によって制
約されるべきではない。
の一方がアイドルになると、この単一WRRスケジュー
ラは、積滞しているGBフローに0.66rを与える一
方、各BEフローは、サーバの容量の1.66%を得る
(スケジューラは、バックログフローの明示的なシェア
に従って、固定割合でバックログフローへのサービスを
継続する)。理想的には、積滞しているGBフローは、
代わりに、サーバの容量の40%以下を受けるべきであ
り、一方、各BEフローは、0.03rでサービスされ
るべきである。
Eフローは、保証サービスキュー(GSQ:Guaranteed
Service Queue)において予約帯域を有さず、補助サー
ビスキュー(ASQ:Auxiliary Service Queue)にお
いてGBフローより高い優先度を有する。これは、GB
フローとBEフローの統合に関するすべての機能的な問
題に対するエレガントな解決法を提供するであろうが、
スケジューラの実装コストは、WRRスケジューラの代
表的なコストよりはるかに高くなる。ずっと安価な選択
肢は、[9,10]に見られる。この場合、サーバは、
2個のWRRスケジューラでGBおよびBEフローを処
理し、割り当てられるGBフローの保証サービスシェア
の総和をGB集合に与えた後にのみ、BE集合をサービ
スする。
GBフローによって使用されていない帯域をBEフロー
に移す際のフレキシビリティに欠ける。その理由は、少
なくとも1つのGBフローが積滞している限り、GB集
合からBE集合へ帯域が移されないからである。このよ
うに、従来のWRRスケジューラは、GBフローとBE
フローの効率的な統合を提供していない。
域保証型(GB)フローとベストエフォート型(BE)
フローを効率的に統合する単一のWRRスケジューリン
グエンジンを用いて解決される。図4に、この改良され
たWRRスケジューラの2層論理編成を示す。
RRスケジューラの組合せからなる。一次WRRスケジ
ューラ(PWS)401は、サービスを個々のGBフロ
ー402に分配し、BEフロー集合403が各フレーム
の期間中に受けるべきサービスの量を決定する。二次W
RRスケジューラ(SWS)404は、BEフロー集合
のサービスシェアを個々のBEフロー405にわたり公
平に分配することを担当する。
RRスケジューラのキューイング構造を複製すること、
および、BE集合のいくつかの状態情報を管理すること
(図5)のコストだけで、GBフローからBEフローへ
の未使用帯域の移動における最も精細なグラニュラリテ
ィを達成する。WRRスケジューラは、サービスフレー
ム406を2個のサブフレームに分割することによっ
て、基本WRRスケジューラの動作を修正する。第1サ
ブフレーム407で、PWS401はGBフロー402
の帯域要求を充足する。第2サブフレーム408で、S
WS402はフェアサービスを複数のBEフロー405
に分配する。各フレーム406の期待される(予想)期
間409は固定され、形式的にはPWS基準タイムスタ
ンプ増分T Q PWSによって表現される。実際のフレー
ム期間410は、おおむね、そのフレーム全体でのバッ
クログBEフローの利用可能性(アベイラビリティ)に
依存する。
り、本発明の改良されたWRRスケジューラでは、BE
フローのサービスシェアは、GBフローの帯域保証をも
支持する同一の有限なプール(これはサーバの容量によ
って制約される)から差し引かれるのではなく、GBフ
ローにより未使用のまま残されているサーバ容量の部分
に動的に適応する別個の無制約のプールから差し引かれ
る。本発明のスケジューリング装置は、個々のGBフロ
ー402と、BEフロー集合403(単一のエンティテ
ィとして扱われる)とをPWS401で処理する。PW
S401では、BEフロー集合402のサービスシェア
は固定されず、その代わりに、毎回のサービスフレーム
で、GBフローのバックログダイナミクスに適応する。
と同一であるが、すべてのフローに同じ値のサービスシ
ェアを割り当てることによって、個々のBEフロー40
5へのサービスのフェアな(等しい)分配を保証する。
このようにして、WRRスケジューラは、帯域保証型フ
ローとベストエフォート型フローをフレキシブルに統合
する。なお、本発明のもう1つの特徴によれば、第2ス
ケジューラは、必ずしも、サービスをBEフローに等分
配するように設定される必要はない。
る前に、その機能的要素に焦点を当てる。図5に、GB
フローとBEフローをフレキシブルに統合するために改
良されたWRRスケジューラによって利用されるキュ
ー、状態テーブル、およびパラメータを図示する。GB
フロー402は、gb1〜gbVとして示されている。
それぞれのGBフロー402ごとに、受信されるパケッ
トはそれぞれのフローキュー502に格納される。フロ
ーごとのGB状態テーブル503は、GBフローのさま
ざまなデータ要素を格納し、それぞれのGBフロー40
2ごとに1つずつある。例えば、フローgb1を考える
と、GB状態テーブル503は、タイムスタンプF
gb1、最小保証サービスシェアρgb1、およびフレ
ームフラグFF gb1を含む。
Uとして示されている。それぞれのBEフロー405ご
とに、受信されるパケットはそれぞれのフローキュー5
05に格納される。フローごとのBE状態テーブル50
6は、BEフローのさまざまなデータ要素を格納し、そ
れぞれのBEフロー405ごとに1つずつある。例え
ば、フローbe1を考えると、データテーブル506
は、タイムスタンプFbe 1およびサービスシェアρ
be1を含む。前に言及したように、サービスシェアρ
be1〜ρbeUは、すべてのBEフローbe1〜be
Uについて同一である必要はない。
バルフレームカウンタGFC、PWSの基準タイムスタ
ンプ増分TQ PWS、およびSWSの基準タイムスタン
プ増分TQ SWSのようなデータを格納する。BEフロ
ー集合状態テーブル508は、タイムスタンプFBE、
BE現在シェアφBE、およびBE累積シェアΦBEの
ような、BEフロー集合に関係するデータを格納する。
PWS先入れ先出し(FIFO)キュー509は、GB
フロー402へのポインタを格納する。
れのGBフローキュー502からのパケットの送信を決
定するためにPWSがGBフローを巡回すべき順序を示
す。レジスタ510は、PWS FIFOキュー509
における先頭および末尾の位置へのポインタを格納す
る。SWS FIFOキュー511は、BEフロー40
5へのポインタを格納する。SWS FIFOキュー5
11は、それぞれのBEフローキュー505からのパケ
ットの送信を決定するためにSWSがBEフローを巡回
すべき順序を示す。レジスタ512は、SWS FIF
Oキュー511における先頭および末尾の位置へのポイ
ンタを格納する。
信リンクインタフェース200の例示的なブロック図で
ある。通信リンクインタフェース200は、データパケ
ット受信器600、スケジューラ602、およびパケッ
ト送信器601を有する。例として、スケジューラは、
コントローラ603、グローバル状態RAM604、お
よびレジスタ605を、すべて同一のチップ606上に
有するように示されている。パケットRAM607およ
びフロー別状態RAM608は、別々のチップ上に位置
するように示されている。明らかに、動作容量およびそ
の他の特性に依存して、スケジューラ602は、他の構
成でも実装可能である。
装したプログラムを格納し実行する。通信リンクインタ
フェース200の動作を制御するプログラムの実施例を
図7〜図8にフローチャート形式で示す。図5および図
6をあわせて参照すると、GBおよびBEのフローキュ
ー502および505内のパケットはパケットRAM6
07に格納される。GBフロー別状態テーブル503お
よびBEフロー別状態テーブル506はRAM608に
格納される。グローバル状態テーブル507およびBE
集合状態テーブル508はRAM604に格納される。
PWSおよびSWSのFIFOキュー509および51
1内の要素はRAM608に格納される。PWSおよび
SWSのFIFOキューの先頭および末尾ポインタ51
0および512はレジスタのセット605に格納され
る。GBおよびBEのフローキュー502および505
は、データパケットのFIFOキューとして実装され
る。
通りである。パケット受信器600は、入力リンク20
1−1〜201−rから到着するGBデータパケットフ
ローgb1〜gbVおよびBEデータパケットフローb
e1〜beUのパケットを受信する。受信器600は、
それぞれの入パケット(図示せず)のヘッダに含まれる
フロー識別フィールドの内容を用いて、そのパケットの
データパケットフローを識別する。識別されるフロー
は、GBフローまたはBEフローのいずれかであること
が可能である。したがって、フロー識別は、入パケット
がGBフローキュー502のうちの1つまたはBEフロ
ーキュー505のうちの1つのいずれに格納されるべき
かを決定する。スケジューラは、GBフロー別状態テー
ブル503、BEフロー別状態テーブル506、グロー
バル状態テーブル507、およびBE集合状態テーブル
508の内容を用いて、各サービスフレーム406内の
第1サブフレーム407および第2サブフレーム408
の長さを決定する。例えば、現在積滞しているGBフロ
ーが、サーバ容量rの80%に等しい累積帯域割当てを
有する場合、スケジューラ602は、サービスフレーム
の約80%を第1サブフレームに割り当て、残りの20
%を第2サブフレームに割り当てる。このようにして、
スケジューラは、すべてのバックログGBフローの帯域
保証を強制するとともに、サーバ容量の未使用部分があ
れば(われわれの例では20%)、BEフロー集合に分
配する。第1サブフレーム407の期間中、スケジュー
ラ602は、PWS FIFOキュー509の先頭から
バックログGBフローをサービスし、そのフローキュー
502から送信器603へパケットを転送する。第2サ
ブフレーム408の期間中、スケジューラ602は、S
WS FIFOキュー511の先頭からバックログBE
フローをサービスし、そのフローキュー505から送信
器603へパケットを送る。
して、以下の記載では、本発明の方法がどのようにして
第2サブフレーム408においてBEフロー集合403
に付与されるサービスの量を決定するかについて説明す
る。第1サブフレーム(あるいは「GBサブフレー
ム」)407は、フレームの最初に積滞しているGBフ
ロー402の帯域要求を充足することに充てられる。第
2サブフレーム(あるいは「BEサブフレーム」)40
8では、WRRスケジューラ602は、予想フレーム期
間409に達するまで、BEフロー集合403をサービ
スする(予想フレーム期間は、リンクの全容量がGBフ
ローに割り当てられ、すべての割り当てられたGBフロ
ーが積滞しているときのWRRサービスフレームの期間
である)。第1サブフレーム407および第2サブフレ
ーム408の両方の期間は、GBフロー402のバック
ログ状態の変化によって引き起こされるゆらぎを受ける
一方、実際の全フレーム期間410は、バックログBE
フロー405が利用可能である限り、ほぼ一定のままで
ある(前述のように、各バックログフローが1フレーム
期間中に受けることのできるサービスの量の可変性のた
め、サービスフレームの全期間は、「ほぼ一定」なだけ
であり、「厳密に一定」ではない)。
集合403に付与されるサービスの量を決定するため
に、スケジューラは、リンク容量rと、バックログGB
フローのサービスシェアの総和との間の差を追跡するB
E現在シェアφBEを管理する。
GBフローの集合である。(式(5)におけるφBEの
定義は、GBフローに割り当てられるサービスシェアの
総和がサーバの容量を超えないことを仮定している。)
ム407の最後(これは、どのバックログGBフローも
現フレームでさらなるサービスを期待しないときに検出
される)にBE現在シェアφBEをサンプリングし、そ
の値を用いて、次のBEサブフレーム408に対するB
E累積シェアΦBEをセットする。スケジューラ602
はまた、BEサブフレーム408の期間を規制するため
にBEタイムスタンプFBEを管理する。SRRアルゴ
リズムに従って、サイズlBE kのBEパケットの送信
の終了時に、スケジューラは、BEフロー集合のタイム
スタンプを次式のように更新する。 FBE k=FBE k−1+lBE k/ΦBE (6)
ックログBEフローが利用可能であり、かつ、BEタイ
ムスタンプが基準タイムスタンプ増分TQ PWSを超え
ない限り、継続される。この2つの条件のいずれかが満
たされないことは、BEサブフレームおよびフレーム全
体の両方の終了を引き起こし、新たなフレームでGBフ
ロー402へのサービスの分配が再開される。
ューラは、さらに、どのBEフローをサービスすべきか
を決定しなければならない。同時に積滞しているBEフ
ローに対する等量のサービスを要求するフェアネス基準
のため、BEフローを処理するメカニズムとして、別の
WRRスケジューラ(すなわち、SWS404)を採用
する。SWS404では、図4に示したように、すべて
のBEフロー405に同じサービスシェアρが割り当て
られる。BEフローのサービスシェアρは、サーバの容
量に対してはカウントされないため、システムで割当て
可能なBEフローの数に対する帯域制約はない。SWS
のフレームダイナミクスは、PWSにおける対応するダ
イナミクスとは完全に独立である。すなわち、SWSに
おける1フレームを完了するのに複数のBEサブフレー
ム408が必要となることもあり、また逆に、SWSに
おける数個のフレームを完了するのにPWSにおける単
一のBEサブフレーム408で十分なこともある。ま
た、PWSおよびSWSは、それらの基準タイムスタン
プ増分(それぞれ、TQ PWSおよびTQ SWS)とし
て、相異なる値を採用することができる。
ーがアイドルになるたびにインクリメントされ、1個の
GBフローがバックログになるたびにデクリメントされ
る。第1(第2)の場合にBE現在シェアφBEに加算
(から減算)される量は、GBフローの割り当てられる
サービスシェアに等しい。
IFOキューとして実装される場合、GBサブフレーム
の予想期間の検出は、各フローiに対応するフレームフ
ラグFFiと、グローバルフレームカウンタGFCとい
う、2個の1ビットフラグの比較による。フレームフラ
グとグローバルフレームカウンタは次のように作用す
る。GBフローiは、バックログになると、バックログ
GBフローのキュー(すなわち、PWS FIFOキュ
ー509)の末尾に付加され、そのフレームフラグFF
iがGFCの補数にセットされる。 FFi=¬GFC (7) サーバは、現フレームに対するフローiの処理を完了す
ると、PWS FIFOキュー509の先頭からそのフ
ローを取り出す。次に、そのGBフローに依然としてバ
ックログがある場合、サーバは、PWS FIFOキュ
ー509の末尾にそのフローを付加し、そのフレームフ
ラグをトグルする。 FFi=¬FFi (8) GBサブフレームは、PWS FIFOキュー509の
先頭にあるフローのフレームフラグがGFCと異なった
ときに終了する。サーバは、この条件を検出すると、G
FCの値をトグルし、BE現在シェアφBEをBE累積
シェアΦBEにコピーする。PWS401は、BE累積
シェアΦBEがゼロより大きい限り、BE集合をサービ
スする。BE集合へのあらゆるPWSサービスは、BE
フローへのSWSサービスに転換される。最後のバック
ログBEフローがアイドルになること、あるいは、BE
タイムスタンプFBEがPWS基準タイムスタンプ増分
TQ PWSを超えること、という2つのイベントが、B
E累積シェアΦBEのリセットを、したがってBEサブ
フレームの終了を引き起こす可能性がある。
トの送信をスケジューリングする方法をフローチャート
形式で示す。このフローチャートは、SRRが、基礎と
なるスケジューリングアルゴリズムであるという仮定に
基づいている。機能性に関する限り、SRRの代わりに
DRRを用いても問題はない。同様に、図4の装置は、
PWS401およびSWS402のそれぞれに対してバ
ックログフローの単一のFIFOキュー(それぞれ、P
WS FIFOキュー509およびSWS FIFOキ
ュー511)を用いて、PWS401およびSWS40
2を実装している。フレーム内とフレーム外のフローの
明確な分離が可能な他の任意のキューイング構造も同様
に使用可能である。最後に、BEフローを処理するため
にWRRスケジューラを採用することにより、BEフロ
ー全体にわたるサービスフェアネスを強制することがで
きるが、これはGBフローとBEフローの効率的な統合
を達成するためには厳密には要求されない。BEフロー
をGBフローとは別個に処理するために、他の任意のス
ケジューリングメカニズムも同様に使用可能である。
び図7〜図8を参照する。図4(図5、図6)で最初に
定義される要素の参照符号は4(5、6)から始まる
が、図7〜図8のフローチャートのステップは、ステッ
プ番号の前にSを付けることによって(例えば、S31
0)示される。
602は、新たに受信したデータパケットがあるかどう
かをチェックする。S310で、新たに受信したデータ
パケットがなく、S315で、バックログフローがある
場合、制御はS500に移る。他方、S310で、新た
に受信したデータパケットがなく、S315で、バック
ログフローがない場合、スケジューラ602は、新たな
パケットが受信されるまで、ステップS310とS31
5の間を循環する。S310において、新たに受信した
パケットの存在が受信器600で検出されると、S32
0で、スケジューラ602は、それらのパケットのうち
の1つを選択する。その後、S330で、スケジューラ
602は、データパケットのフローを識別し、最終的
に、パケットを適当なフローキュー(識別されたフロー
に依存して、GBフローキュー502またはBEフロー
キュー505)に格納する。S350で、フローキュー
の長さがゼロでない場合、S355で、そのフローのキ
ュー長をインクリメントし、制御はS500に移る。S
350で、フローのキュー長がゼロである場合、S36
0で、スケジューラ602は、バックログフローの数を
インクリメントし、S370で、フローキューの長さを
インクリメントする(例として、フローキューの長さ
は、キュー内のデータパケットの数を表すことが可能で
あるが、バイト数、ビット数、またはメモリワード数の
ような他の単位も、フローキューの長さを表現するため
に使用可能である)。その後、S380で、スケジュー
ラ602は、識別されたフローがGBフローであるかど
うかをチェックする。識別されたフローがGBフローg
biである場合、S390で、スケジューラ602は、
フレームフラグFFgbiを¬GFCに等しいとセット
する。その後、スケジューラ602は、S400で、B
E現在シェアφBEをデクリメントし、S410で、フ
ローgbiをPWS FIFOキュー509の末尾に付
加し、最後に制御をS500に移す。
GBフローとして認識されない場合、スケジューラ60
2は、まず、(S420で)そのフローをSWS FI
FOキュー511の末尾に付加した後、(S430で)
バックログフローの数が1に等しいかどうかをチェック
する。S430でバックログフローの数が1に等しい場
合、スケジューラ602は、S440で、BE累積シェ
アΦBEをBE現在シェアφBEに等しいとセットした
後、制御をS500に移す。S430で、バックログフ
ローの数が1に等しくない場合、スケジューラは制御を
直接S500に移す。
の送信で依然としてビジーであり、送信のために新たな
パケットを受け付けることができない場合、スケジュー
ラ602はS310に戻る。他方、送信器601が古い
パケットの送信でビジーでない場合、S510で、スケ
ジューラ602は、前にサービスしたフローでその状態
をさらに更新しなければならないものがあるかどうかを
チェックする。このようなフローが存在しない場合、ス
ケジューラ602は最後にサービスしたフローの状態を
すでに更新したことを意味しており、S520で、スケ
ジューラ602は、バックログフローがあるかどうかを
判定する。バックログフローが存在しない場合、スケジ
ューラ602の制御はS310に戻る。他方、S520
でバックログフローの存在が検出された場合、S530
で、スケジューラ602は、BEフロー集合状態テーブ
ル508に格納された、BE累積シェアΦBEの現在の
値をチェックする。BE累積シェアΦBEの値がゼロで
ある場合、スケジューラ602はS540に進み、サー
ビスのために、PWS FIFOキュー509の先頭の
GBフロー402を選択する。その後、S560で、ス
ケジューラ602は、選択したGBフロー402のフロ
ーキュー502の先頭のパケットを送信器601に送
る。その後、制御はS310に戻る。S530で、BE
累積シェアΦB Eの値がゼロより大きい場合、スケジュ
ーラ602はS550に進み、サービスのために、SW
S FIFOキュー511の先頭のBEフロー405を
選択する。その後、S560で、スケジューラ602
は、選択したBEフロー405のフローキュー505の
先頭のパケットを送信器601に送る。その後、制御は
S310に戻る。
にサービスしたフローの状態をまだ更新しなければなら
ないと判定した場合、S570で、最後にサービスした
フローのキュー長のデクリメントを開始する。その後、
S580で、スケジューラ602は、フロータイムスタ
ンプの更新に進む。S590で、スケジューラ602
は、最後にサービスしたフローがGBフローであるかど
うかをチェックする。最後にサービスしたフローがGB
フローgbiである場合、S600で、スケジューラ6
02は、フローのキュー長が今ゼロに等しいかどうかを
チェックする。キュー長がゼロに等しくない場合、S6
10で、スケジューラは、GBフローgb iの更新され
たタイムスタンプがPWS基準タイムスタンプ増分TQ
PWS以上であるかどうかをチェックする。更新された
タイムスタンプがTQ PWSより小さい場合、スケジュ
ーラ602はS710に進む。他方、更新されたタイム
スタンプがTQ PWSより小さくない場合、スケジュー
ラ602は、まず、最後にサービスしたGBフローgb
iのフレームフラグFFiをトグルした後、S630
で、タイムスタンプを正当な範囲[0,TQ PWS)内
にリセットし、S640で、PWS FIFOキュー5
09の先頭からGBフローgbiへのポインタを取り出
し、最後に、S650で、同じフローポインタをPWS
FIFOキュー509の末尾に付加する。その後、制
御はS710に移る。
がゼロに等しい場合、S660で、スケジューラ602
は、フローのタイムスタンプがTQ PWS以上であるか
どうかをチェックする。タイムスタンプがTQ PWSよ
り小さい場合、制御はS680に進む。そうでない場
合、S670で、スケジューラは、タイムスタンプを正
当な範囲内にリセットした後、S680に進む。S68
0で、スケジューラは、最後にサービスしたフローをP
WS FIFOキュー509の先頭から取り出した後、
S690で、BE現在シェアφBEをインクリメントす
る。S700で、スケジューラ602は、バックログフ
ローの数をデクリメントした後、S710に進む。
WS FIFOキュー509の先頭にあるGBフローg
bjのフレームフラグを、グローバルフレームカウンタ
GFCと比較する。フレームフラグとGFCが同じ値を
有する場合、スケジューラ602は、制御をS520に
移し、そうでない場合、S720で、GFCの値をトグ
ルし、S730で、SWS FIFOキュー511にバ
ックログフローがあるかどうかをチェックする。少なく
とも1つのバックログフローがSWS FIFOキュー
511にある場合、S740で、スケジューラ602
は、BE累積シェアΦBEをBE現在シェアφBEに等
しいとセットした後、制御をS520に移す。S730
でバックログフローが検出されない場合、スケジューラ
602は制御を直接S520に移す。
BEフローbeiとして分類された場合、S750で、
スケジューラ602は、BEフローbeiのキュー長が
ゼロに等しいかどうかをチェックする。キュー長がゼロ
に等しくない場合、最後にサービスしたBEフローbe
iのフローキュー505にパケットが残っていることを
意味し、スケジューラは、最後にサービスしたBEフロ
ーbeiの更新されたばかりのタイムスタンプがSWS
FIFOキュー511の基準タイムスタンプ増分TQ
SWS以上であるかどうかをチェックする。更新された
タイムスタンプがTQ SWSより小さい場合、スケジュ
ーラ602はS840に進む。他方、更新されたタイム
スタンプがTQ SWSより小さくない場合、スケジュー
ラ602は、まず、S770で、タイムスタンプを正当
な範囲[0,TQ SWS)内にリセットした後、S78
0で、SWS FIFOキュー511の先頭からBEフ
ローbeiへのポインタを取り出し、最後に、S790
で、同じフローポインタをSWS FIFOキュー51
1の末尾に付加する。その後、スケジューラ602は、
制御をS840に移す。
がゼロに等しい場合、S800で、スケジューラ602
は、フローのタイムスタンプがTQ SWS以上であるか
どうかをチェックする。タイムスタンプがTQ SWSよ
り小さい場合、制御はS820に移る。そうでない場
合、S810で、スケジューラ602は、タイムスタン
プを正当な範囲内にリセットした後、S820に進む。
S820で、スケジューラ602は、最後にサービスし
たフローbeiをSWS FIFOキュー511の先頭
から取り出す。S830で、スケジューラ602は、バ
ックログフローの数をデクリメントした後、S840に
進む。
フロー集合のタイムスタンプFBEを更新する。その
後、S850で、スケジューラ602は、BEフロー集
合の更新されたタイムスタンプを、PWS基準タイムス
タンプ増分TQ PWSと比較する。タイムスタンプF
BEが基準タイムスタンプ増分TQ PWS以上である場
合、S860で、スケジューラは、タイムスタンプを正
当な範囲[0,TQ PWS)内にリセットした後、S8
70に進み、BEフロー集合のBE累積シェアΦB Eを
ゼロにリセットする。その後、スケジューラ602は、
制御をS520に移す。S850で、BEフロー集合の
タイムスタンプが、PWS基準タイムスタンプ増分より
小さいと判定された場合、スケジューラ602は、S8
80に進み、SWS FIFOキュー511にバックロ
グフローが存在するかどうかをチェックする。バックロ
グフローがSWS FIFOキュー511に残っていな
い場合、スケジューラ602は制御をS870に移し、
そうでない場合、S520に進む。
けラウンドロビンスケジューラで帯域保証型およびベス
トエフォート型のフローを統合するために使用可能な諸
原理の単なる例示である。当業者であれば、ここに明示
的に記載していなくとも、特許請求の範囲により規定さ
れる本発明の技術思想および技術的範囲から離れずに、
それらの原理を実現するさまざまな構成を考えることが
可能である。
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. [2] M. Shreedhar and G. Varghese, "Efficient Fa
ir Queueing Using Deficit Round Robin", IEEE/ACM T
ransactions on Networking, vol.4, no.3, pp.375-38
5, June 1996. [3] H. Adiseshu, G. Parulkar, and G. Varghese,
"A Reliable and Scalable Striping Protocol", Proc
eedings of ACM SIGCOMM '96, August 1996. [4] K. Nichols, V. Jacobson, and L. Zhang, "A T
wo-bit DifferentiatedServices Architecture for the
Internet", Request for Comments (RFC) 2638, IETF,
July 1999. [5] 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. [6] J. Heinanen, F. Baker, W. Weiss, and J. Wro
clawski, "Assured Forwarding PHB Group", Request f
or Comments (RFC) 2597, IETF, June 1999. [7] V. Jacobson, K. Nichols, and K. Poduri, "An
Expedited ForwardingPHB", Request for Comments (R
FC) 2598, IETF, June 1999. [8] P. Goyal and H. M. Vin, "Fair Airport Sched
uling Algorithms", Proceedings of NOSSDAV '97, pp.
273-282, May 1997. [9] F. M. Chiussi and A. Francini, "Providing Q
oS Guarantees in Packet Switches", Proceedings of
IEEE GLOBECOM '99, High-Speed Networks Symposium,
Rio de Janeiro, Brazil, December 1999. [10] F. M. Chiussi and A. Francini, "A Distrib
uted Scheduling Architecture for Scalable Packet S
witches", IEEE Journal on Selected Areas inCommuni
cations, Vol.18, No.12, December 2000.
域保証型(GB)およびベストエフォート型(BE)の
フローをフレキシブルに統合するスケジューリング方法
および装置が実現される。
記載した番号がある場合は、本発明の一実施例の対応関
係を示すものであって、本発明の範囲を限定するものと
解釈すべきではない。
先を含む例示的なパケットネットワークを示す図であ
る。
的な通信スイッチを示す図である。
頭に到着したときにフローiを処理する不足ラウンドロ
ビン(DRR)アルゴリズムで用いられる擬似コードの
例を示し、図3Bは、サーバが1パケットの送信を完了
したときにタイムスタンプiを更新する余剰ラウンドロ
ビン(SRR)アルゴリズムで用いられる擬似コードの
例を示す図である。
示す図である。
ー、状態テーブル、レジスタ、およびパラメータの機能
図である。
ある。
ングする方法を記述した例示的な流れ図である。
ングする方法を記述した例示的な流れ図である。
Claims (10)
- 【請求項1】 複数のデータパケットフローをサービス
するスケジューリング装置において、 前記データパケットフローのそれぞれは、指定されたサ
ービス要求を有し、それぞれ複数のキューのうちの1つ
が対応し、該複数のキューのそれぞれはデータパケット
を含み、前記データパケットフローへのサービスの分配
はサービスフレームに分けて編成され、各サービスフレ
ームは前記データパケットフローのそれぞれに複数のサ
ービス機会を提供し、前記サービス機会の数は、前記デ
ータパケットフローのサービス要求に依存し、 前記スケジューリング装置は、 サービスフレームの第1サブフレームの期間中に、サー
ビスを第1の帯域保証型(GB)データパケットフロー
のセットに提供する第1スケジューラと、 サービスフレームの第2サブフレームの期間中に、サー
ビスを第2のベストエフォート型(BE)データパケッ
トフローのセットに提供する第2スケジューラとを有
し、 前記GBデータパケットフローは、帯域要求で表現され
るサービス要求を有し、第1サブフレームの期間は、前
記GBデータパケットフローの帯域要求を満たすように
調整され、 前記BEデータパケットフローは、保証帯域要求で表現
されないサービス要求を有し、第2サブフレームの期間
は、サービスフレームの期間から、同じサービスフレー
ム内の第1サブフレームの期間を差し引いたものである
ことを特徴とするスケジューリング装置。 - 【請求項2】 前記第2スケジューラは、前記第2のB
Eデータパケットフロー内の各データパケットフローに
サービスを等しく分配することを特徴とする請求項1記
載の装置。 - 【請求項3】 サービスフレームの期間は、帯域要求の
総和が固定サービスレートに等しい場合に、GBデータ
パケットフローの前記帯域要求の総和を収容するように
決定されることを特徴とする請求項1記載の装置。 - 【請求項4】 第2サブフレームの終了は、(1)サー
ビスフレームの所定期間が満了するか、または、(2)
前記第2のBEフローのセットに残っているバックログ
がなくなるかのいずれかのときに、いずれの条件が最小
に生じるかにかかわらず決定され、バックログは、考え
ているデータパケットフローのセットに対応する1個ま
たは複数のキュー内の1個または複数のデータパケット
の存在として定義されることを特徴とする請求項1記載
の装置。 - 【請求項5】 前記第2サブフレームの期間は、BE現
在シェアφBEから導出され、該BE現在シェアφBE
は、固定サービスレートと、対応するキューにバックロ
グを有する各GBフローの帯域要求の総和との間の差と
して定義されることを特徴とする請求項1記載の装置。 - 【請求項6】 前記第1スケジューラは、前記第2サブ
フレームの期間を規制するために、BEデータパケット
フローの集合に対するタイムスタンプFBEを管理する
ことを特徴とする請求項1記載の装置。 - 【請求項7】 前記第1のGBフローのセット内でバッ
クログとなっているデータパケットフローは、サービス
のために、一次WRRスケジューラ(PWS)先入れ先
出し(FIFO)キューに格納され、 前記第1のGBフローのセットの各データパケットフロ
ーは、対応するフレームフラグを有し、 前記第1サブフレームは、前記PWS FIFOキュー
の先頭にあるGBフローのフレームフラグが、グローバ
ルフレームカウンタGFCとは異なる値を有するとき
に、終了することを特徴とする請求項1記載の装置。 - 【請求項8】 前記GFCの値と、前記PWS FIF
Oキューの先頭にある前記GBフローの前記フレームフ
ラグの値との間の差が検出された後に、前記GFCの値
は、前記PWS FIFOキューの先頭にある前記GB
フローの前記フレームフラグの値に等しくセットされる
ことを特徴とする請求項7記載の装置。 - 【請求項9】 前記BEデータパケットフローの集合の
タイムスタンプFB EがPWS基準タイムスタンプ増分
TQ PWSを超えるたびに、前記第2サブフレームの終
了が宣言されることを特徴とする請求項7記載の装置。 - 【請求項10】 複数のデータパケットフローをサービ
スするスケジューラを動作させる方法において、 前記データパケットフローのそれぞれは、指定されたサ
ービス要求を有し、それぞれ複数のキューのうちの1つ
が対応し、該複数のキューのそれぞれはデータパケット
を含み、前記データパケットフローへのサービスの分配
はサービスフレームに分けて編成され、各サービスフレ
ームは前記データパケットフローのそれぞれに複数のサ
ービス機会を提供し、前記サービス機会の数は、前記デ
ータパケットフローのサービス要求に依存し、 前記方法は、 サービスフレームの第1サブフレームの期間中に、サー
ビスを第1の帯域保証型(GB)データパケットフロー
のセットに提供するステップと、 サービスフレームの第2サブフレームの期間中に、サー
ビスを第2のベストエフォート型(BE)データパケッ
トフローのセットに提供するステップとを有し、 前記GBデータパケットフローは、帯域要求で表現され
るサービス要求を有し、第1サブフレームの期間は、前
記GBデータパケットフローの帯域要求を満たすように
調整され、 前記BEデータパケットフローは、保証帯域要求で表現
されないサービス要求を有し、第2サブフレームの期間
は、サービスフレームの期間から、同じサービスフレー
ム内の第1サブフレームの期間を差し引いたものである
ことを特徴とする、スケジューラを動作させる方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26080801P | 2001-01-10 | 2001-01-10 | |
US60/260808 | 2001-11-13 | ||
US10/010582 | 2001-11-13 | ||
US10/010,582 US7099330B2 (en) | 2001-01-10 | 2001-11-13 | Method and apparatus for integrating guaranteed-bandwidth and best-effort traffic in a packet network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002232470A true JP2002232470A (ja) | 2002-08-16 |
JP4017867B2 JP4017867B2 (ja) | 2007-12-05 |
Family
ID=22990700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002000603A Expired - Fee Related JP4017867B2 (ja) | 2001-01-10 | 2002-01-07 | スケジューリング装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7099330B2 (ja) |
JP (1) | JP4017867B2 (ja) |
CA (1) | CA2366269C (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004180302A (ja) * | 2002-11-27 | 2004-06-24 | Alcatel Canada Inc | 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法 |
JP2012244399A (ja) * | 2011-05-19 | 2012-12-10 | Fujitsu Telecom Networks Ltd | 通信装置 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
JP2003124956A (ja) * | 2001-10-10 | 2003-04-25 | Sony Corp | 通信制御方法及びネットワークシステム |
JP3857105B2 (ja) * | 2001-10-30 | 2006-12-13 | 富士通株式会社 | データ転送装置 |
US7092401B2 (en) * | 2001-11-15 | 2006-08-15 | International Business Machines Corporation | Apparatus and method for managing work and completion queues using head and tail pointers with end-to-end context error cache for reliable datagram |
US8780770B2 (en) | 2002-05-13 | 2014-07-15 | Misonimo Chi Acquisition L.L.C. | Systems and methods for voice and video communication over a wireless network |
US7941149B2 (en) * | 2002-05-13 | 2011-05-10 | Misonimo Chi Acquistion L.L.C. | Multi-hop ultra wide band wireless network communication |
US7957356B2 (en) | 2002-05-13 | 2011-06-07 | Misomino Chi Acquisitions L.L.C. | Scalable media access control for multi-hop high bandwidth communications |
US7852796B2 (en) * | 2002-05-13 | 2010-12-14 | Xudong Wang | Distributed multichannel wireless communication |
US7406083B2 (en) * | 2002-08-27 | 2008-07-29 | International Business Machines Corporation | Method for preserving the order of data packets processed along different processing paths |
US20040160971A1 (en) * | 2002-11-27 | 2004-08-19 | Edward Krause | Apparatus and method for dynamic channel mapping and optimized scheduling of data packets |
AU2003280115A1 (en) * | 2002-12-19 | 2004-07-14 | Koninklijke Philips Electronics N.V. | Combined best effort and contention free guaranteed throughput data scheduling |
US7373420B1 (en) * | 2003-08-01 | 2008-05-13 | Nortel Networks Limited | Method and apparatus for weighted fair queuing |
US20050149615A1 (en) * | 2003-12-17 | 2005-07-07 | Nedimyer Joseph P. | System and method for processing resource registry updates without regard to chronological order |
US8665719B2 (en) * | 2004-05-03 | 2014-03-04 | Alcatel Lucent | Variable packet-size backplanes for switching and routing systems |
CN100490421C (zh) * | 2004-10-20 | 2009-05-20 | 华为技术有限公司 | Mpls环网中实现流量公平传送的方法 |
US7529224B2 (en) | 2005-04-18 | 2009-05-05 | International Business Machines Corporation | Scheduler, network processor, and methods for weighted best effort scheduling |
US20070165647A1 (en) * | 2006-01-19 | 2007-07-19 | Tellabs Operations, Inc. | Apparatus, method, and computer program for data packet scheduling |
KR100969768B1 (ko) * | 2006-06-27 | 2010-07-13 | 삼성전자주식회사 | 통신 시스템에서 데이터 스케쥴링 장치 및 방법 |
US8175613B2 (en) * | 2006-08-04 | 2012-05-08 | Misonimo Chi Acquisitions L.L.C. | Systems and methods for determining location of devices within a wireless network |
KR101102719B1 (ko) * | 2006-12-07 | 2012-01-05 | 미소니모 카이 액퀴지션 엘엘씨 | 타임슬롯 및 채널 할당을 위한 시스템 및 방법 |
US8295304B1 (en) * | 2007-12-27 | 2012-10-23 | Exalt Communications Incorporated | Adaptive multi-service data framing |
US8948189B2 (en) * | 2008-04-03 | 2015-02-03 | Entropie Communications, Inc. | System and method for scheduling reservation requests for a communication network |
US8144584B1 (en) | 2009-07-20 | 2012-03-27 | Juniper Networks, Inc. | WRR scheduler configuration for optimized latency, buffer utilization |
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 |
US9641424B1 (en) | 2014-10-10 | 2017-05-02 | Nomadix, Inc. | Shaping outgoing traffic of network packets in a network management system |
EP3241111B1 (en) * | 2014-12-30 | 2019-07-24 | British Telecommunications public limited company | Provisioning of telecommunications resources |
US20160203528A1 (en) * | 2015-01-09 | 2016-07-14 | Vmware, Inc. | Method and system that allocates virtual network cost in a software-defined data center |
US9866427B2 (en) | 2015-02-16 | 2018-01-09 | Juniper Networks, Inc. | Multi-stage switch fabric fault detection and handling |
US10951527B2 (en) * | 2018-12-28 | 2021-03-16 | Juniper Networks, Inc. | Switch fabric packet flow reordering |
US11689944B2 (en) | 2019-12-31 | 2023-06-27 | Hughes Network Systems, Llc | Traffic flow classification using machine learning |
US11503615B2 (en) | 2019-12-31 | 2022-11-15 | Hughes Network Systems, Llc | Bandwidth allocation using machine learning |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0690596B1 (en) * | 1994-06-28 | 2002-05-15 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for scheduling the transmission of cells of guaranteed-bandwidth virtual channels |
EP0700186B1 (en) * | 1994-08-31 | 2005-04-13 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for regulating virtual-channel cell transmission |
US6041059A (en) * | 1997-04-25 | 2000-03-21 | Mmc Networks, Inc. | Time-wheel ATM cell scheduling |
US6014367A (en) * | 1997-04-25 | 2000-01-11 | Mmc Networks, Inc | Method for weighted fair queuing for ATM cell scheduling |
CA2242219A1 (en) * | 1997-10-03 | 1999-04-03 | Newbridge Networks Corporation | Classes of service in an mpoa network |
US6493317B1 (en) * | 1998-12-18 | 2002-12-10 | Cisco Technology, Inc. | Traffic engineering technique for routing inter-class traffic in a computer network |
CA2358525C (en) * | 1999-01-08 | 2008-04-01 | Nortel Networks Limited | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device |
AU753949B2 (en) * | 1999-09-01 | 2002-10-31 | Motorola, Inc. | Method and device for bandwidth allocation in multiple access protocols with contention-based reservation |
US6680933B1 (en) * | 1999-09-23 | 2004-01-20 | Nortel Networks Limited | Telecommunications switches and methods for their operation |
JP4439100B2 (ja) * | 2000-09-22 | 2010-03-24 | 株式会社東芝 | ネットワーク間中継装置 |
US7158528B2 (en) * | 2000-12-15 | 2007-01-02 | Agere Systems Inc. | Scheduler for a packet routing and switching system |
-
2001
- 2001-11-13 US US10/010,582 patent/US7099330B2/en not_active Expired - Fee Related
- 2001-12-28 CA CA002366269A patent/CA2366269C/en not_active Expired - Fee Related
-
2002
- 2002-01-07 JP JP2002000603A patent/JP4017867B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004180302A (ja) * | 2002-11-27 | 2004-06-24 | Alcatel Canada Inc | 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法 |
JP2012244399A (ja) * | 2011-05-19 | 2012-12-10 | Fujitsu Telecom Networks Ltd | 通信装置 |
US8953473B2 (en) | 2011-05-19 | 2015-02-10 | Fujitsu Telecom Networks Limited | Communication device |
Also Published As
Publication number | Publication date |
---|---|
US20030142624A1 (en) | 2003-07-31 |
JP4017867B2 (ja) | 2007-12-05 |
US7099330B2 (en) | 2006-08-29 |
CA2366269A1 (en) | 2002-07-10 |
CA2366269C (en) | 2007-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002232470A (ja) | スケジューリング装置 | |
JP3953819B2 (ja) | スケジューリング装置およびスケジューリング方法 | |
JP4115703B2 (ja) | 通信ネットワークにおける多重パケットをマルチレベルスケジューリングする方法 | |
JP4619584B2 (ja) | パケット交換網のルータにおいてパケットをスケジュール設定するための方法 | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
JP3417512B2 (ja) | リアルタイムトラヒックに対する保証された帯域幅配達を備える遅延最小化システム | |
US8064344B2 (en) | Flow-based queuing of network traffic | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
US7142513B2 (en) | Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control | |
US7616567B2 (en) | Shaping apparatus, communication node and flow control method for controlling bandwidth of variable length frames | |
US20020161914A1 (en) | Method and arrangement for congestion control in packet networks | |
EP0986221A2 (en) | Port scheduler and method for scheduling service providing guarantees and hierarchical rate limiting with or without overbooking capability | |
KR100463697B1 (ko) | 네트워크 프로세서가 흐름 큐의 연결 해제/재연결을 통해출력을 스케줄링하는 방법 및 시스템 | |
JP2000049853A (ja) | バッファ管理によるレ―ト保証方法及び装置 | |
JP2001519120A (ja) | 階層型パケット・スケジューリング方法及び装置 | |
EP1298860A2 (en) | Method and system for flexible channel association | |
JP2014135581A (ja) | パケット交換装置、伝送装置、及びパケットスケジューリング方法 | |
US6882625B2 (en) | Method for scheduling packetized data traffic | |
WO2002098047A2 (en) | System and method for providing optimum bandwidth utilization | |
NZ531355A (en) | Distributed transmission of traffic flows in communication networks | |
JP4272322B2 (ja) | 情報廃棄方法および情報廃棄装置 | |
EP2063580B1 (en) | Low complexity scheduler with generalized processor sharing GPS like scheduling performance | |
US7346068B1 (en) | Traffic management scheme for crossbar switch | |
US20070133561A1 (en) | Apparatus and method for performing packet scheduling using adaptation round robin | |
Zhu et al. | A new scheduling scheme for resilient packet ring networks with single transit buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20060424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070710 |
|
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: 20070827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070919 |
|
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: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130928 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 |
|
LAPS | Cancellation because of no payment of annual fees |