(57)【要約】  本発明は、IPネットワーク等のパケットデータネットワークのネットワーク要素におけるデータパケットをスケジューリングする方法に関し、ここでは、最大待合せ遅延ができるだけ予測可能であるように待ち行列の重み及び長さが同時に調整される。少なくとも２つのデータパケット待ち行列のそれぞれの長さは、所定のタイミング又は起動によるタイミングで、ネットワーク要素を通じて又は複数のネットワーク要素一式内でルーティングされる混成トラフィックにおける変化を示す少なくとも1つの所定のパラメータに基づいて調整される。これにより、さらに予測可能な最大遅延を得ることができる。
2005513960.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータネットワークのネットワーク要素にて、データパケットをスケジューリングする方法であって、
a）少なくとも2つのデータパケット待ち行列（C1〜C3）に対して、それぞれの重みを割り当てるステップであって、前記重みが、前記少なくとも2つのデータパケット待ち行列に入ったデータパケットの送信順を決定する重みを割り当てるステップと、
b）前記少なくとも2つのデータパケット待ち行列（C1〜C3）のそれぞれの長さを、所定のタイミング又は起動によるタイミングで、前記ネットワーク要素を通じて又は複数のネットワーク要素一式内でルーティングされる混成トラフィックにおける変化を示す少なくとも1つの所定のパラメータに基づいて調整するステップと、
を有する方法。
【請求項２】
前記少なくとも1つの所定のパラメータは、
前記少なくとも2つのデータパケット待ち行列（C1〜C3）のそれぞれ1つの重み、
前記ネットワーク要素の出力リンク帯域幅及び
所望のホップ当たり最大遅延
のうちの少なくとも1つを含む請求項1に記載の方法。
【請求項３】
前記それぞれの長さは、以下の式
sizei＝(weighti・OLB・delayi)／8
に基づいて調整され、
ここで、sizeiは、i番目のデータパケット待ち行列のバイトによる長さを示し、weightiは、i番目のデータパケット待ち行列の重みを示し、OLBは、前記ネットワーク要素における重みづけがなされた待ち行列のために残された出力リンク帯域幅を示し、delayiは、i番目のデータパケット待ち行列のホップ当たり最大遅延を示す請求項1又は2記載の方法。
【請求項４】
前記それぞれの長さは、所定の秒数毎に調整されるか、あるいは、その調整手順は、あるイベントによって起動される請求項1〜3のいずれか一項に記載の方法。
【請求項５】
前記それぞれの重みは、以下の式
【数１】
2005513960.tif 000004
に基づいて決定され、
ここで、weightiは、i番目のデータパケット待ち行列の重みを示し、trafficiは、i番目のデータパケット待ち行列でのトラフィック特性の移動平均を示し、Fは、所定の関数関係を示し、Nは、待ち行列の数を示す請求項1〜4のいずれか一項に記載の方法。
【請求項６】
前記移動平均は、それぞれの重み(a,(1-a))を、前の情報及び新規の情報に適用することにより、取得される請求項5に記載の方法。
【請求項７】
所定の最小の重みが、前記少なくとも2つのデータパケット待ち行列（C1〜C3）のために用いられる請求項1〜6のいずれか一項に記載の方法。
【請求項８】
パケットデータネットワークにおけるデータパケットをスケジューリングするネットワーク要素であって、
a）少なくとも2つのデータパケット待ち行列（C1〜C3）に対して、それぞれの重みを割り当てる重み制御手段（30,50）であって、前記重みは、前記少なくとも2つのデータパケット待ち行列（C1〜C3）に入ったデータパケットの送信順を決定する重み制御手段（30,50）と、
b）前記少なくとも2つのデータパケット待ち行列（C1〜C3）のそれぞれの長さを、所定の時間間隔で、当該ネットワーク要素を通じて又は複数のネットワーク要素一式内でルーティングされる混成トラフィックにおける変化を示す少なくとも1つの所定のパラメータに基づいて調整する長さ調整手段（40）とを、
備えるネットワーク要素。
【請求項９】
前記長さ調整手段（40）は、前記2つのデータパケット待ち行列（C1〜C3）のそれぞれの長さを、以下の式
sizei：＝(weighti・OLB・delayi)／8
により調整するようになっており、
ここで、sizeiは、i番目のデータパケット待ち行列のバイトによる長さを示し、weightiは、i番目のデータパケット待ち行列の重みを示し、OLBは、前記ネットワーク要素の出力リンク帯域幅を示し、delayiは、i番目のデータパケット待ち行列のホップ当たり最大遅延を示す請求項8に記載のネットワーク要素。
【請求項１０】
前記所定の時間間隔を設定するタイマ手段（45）を、さらに備えるる請求項8又は9に記載のネットワーク要素。
【請求項１１】
前記ネットワーク要素がIPルータである請求項8〜10のいずれか一項に記載のネットワーク要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばIP（インターネットプロトコル）ネットワーク内のルータのような、パケットデータネットワークのネットワーク要素におけるデータパケットをスケジューリングする方法及び装置に関する。
【背景技術】
【０００２】
従来のパケットデータネットワーク（例えばIPネットワーク）は、全ての顧客に対して、ベストエフォート（BE）サービスのみを提供可能である。トラフィックの全体が、複数のネットワークリソースを求めて、均等に競合している。音声、ビデオ、及びウェブサービスのような、インターネットにおける新規の用途が開発されてきたことで、管理可能及び／又は予測可能なQoS（サービス品質）に対する要望が、強くなってきた。
【０００３】
輻輳管理機能は、インタフェースにてパケットが送出される順番、及び必要であればパケットがドロップ（drop）される順番（パケットに割り当てられた優先度に基づく）を決めることにより、輻輳を制御可能としている。輻輳管理には、待ち行列を作成すること、パケットの分類に基づいて待ち行列にパケットを割り当てること、及び、送信用の待ち行列にてパケットをスケジューリングすることが、必要となる。非常に多くの型の待合せ構成が存在しており、各待合せ構成では、異なった数の待ち行列の作成を指定することが可能で、トラフィックを大幅あるいは小規模に区別化可能で、トラフィックが送信される順番を指定可能となっている。
【０００４】
トラフィックが少ないときには、すなわち輻輳がない場合には、パケットは、到着するとすぐにインタフェースへ送出される。出力インタフェースにて送信の輻輳があるときには、インタフェースがパケットを送出するよりも速く、パケットが到着してしまう。輻輳管理機能が用いられている場合、インタフェースに集積したパケットは、インタフェースがフリーになって送出可能となるまで待ち行列に入っているか、あるいは、輻輳が激しく、パケットが優先度の低いパケットとして指定されていれば、当該パケットはドロップされる。そして、パケットに割り当てられた優先度、及びそのインタフェース用に構成された待合せ構成に従い、パケットに対する送信のスケジューリングがなされる。パケットデータネットワークにおけるそれぞれのルータが、パケットの送信順を決定する。これは、どのパケットをどの待ち行列に配置するのかということ、及び、各待ち行列は他の待ち行列との関連でどのように動作するのかということを制御することにより、なされる。
【０００５】
輻輳管理QoS制御のための待合せの型として、例えば、FIFO（先入れ先出し）、重みつき公平待合せ（WFQ：Weighted Fair Queuing）、及び優先度待合せ（PQ：Priority Queuing）がある。FIFOでは、インタフェースからのパケットの送出は、パケットの到着順になされる。WFQは、動的で公平な待合せ動作を提供するもので、重みに基づいて、帯域幅を、トラフィックの待ち行列すべてに亘って分割している。そして、PQでは、トラフィックにおけるある優先度クラスに属するパケットは、より優先度の低い全てのパケットよりも先に送信されて、適時に送達されることが保証されている。
【０００６】
不均一なネットワークには、複数のアプリケーションがそれぞれ使用する多くの異なったプロトコルが、含まれている。これにより、ファイル転送等のそれほど時間に依存しないアプリケーションの要求にも応えながら、時間が決定的となるアプリケーションに適合させるために、トラフィックに優先順位をつける必要が生じる。ネットワークを通じてデータパスを共用しているそれぞれのトラフィックの型は、それぞれのアプリケーションの性能に影響する方法で、相互作用することがある。ネットワークが、ルータ間の単一のデータパスを共用する様々なトラフィックの型に対応するように、設計されている場合には、種々のトラフィックの型に亘って公平な取扱を保証するために、輻輳管理技術が利用されるべきである。
【０００７】
過大な帯域幅を追加せずに、大口のネットワークユーザにも小口のネットワークユーザにも、変わらない応答時間を提供することが望ましい状況に対しては、その解決策はWFQである。WFQは、2つのことを同時に実行する、フローベースの待合せアルゴリズムである。WFQは、待ち行列の先頭に対して対話型トラフィックをスケジューリングして、応答時間を削減する。そして、残りの帯域幅を、帯域幅の広いフローの間で公平に共用する。ここで、帯域幅とは、ルータのインタフェースから出力可能な1秒当たりのビット数を示す。
【０００８】
WFQにより、待ち行列に帯域幅が不足しすぎるようにはならないこと、及び、トラフィックが予測可能なサービスを享受することが、保証される。トラフィックの多数を占める小容量の各トラフィックストリームは優先的にサービスを受けて、それらの負荷の全ては、適時に送信されることになる。大容量の各トラフィックストリームは、残りの容量又は帯域幅を、それらの間で比例して共用する。WFQは、設定作業を最小化するとともに、優先度の高いフローからのトラフィックがない場合に、優先度の低いフローからトラフィックを送信するのに、使用可能であればどの帯域幅であれ使用するというように、ネットワークのトラフィック条件を、自動的に変更するようになっている。これは、時分割多重（TDM）とは異なるものである。なお、TDMは、単に帯域幅を分割するだけであり、特定のトラフィックの型にトラフィックが存在しない場合、帯域幅を不使用のままにしてしまう。
【０００９】
WFQについてのさらなる詳細は、Hui Zhang, “Service Disciplines for Guaranteed Performance Service in Packet-Switching Networks”, in Proceedings of the IEEE, Volume 83, No. 10, October 1995及び“Weighted Fair Queuing (WFQ)”, Cisco Systems, Inc., http//www.cisco.com/warp/public/732/Tech/wfqから知ることができる。
【００１０】
相対的優先転送（AF：Assured Forwarding）は、クラス別サービス（Differentiated Services）の分野におけるIETF標準である。AFを実現しているルータは、あるリソース（バッファ空き領域及び帯域幅）を、異なるトラフィックの集合に割り当てる必要がある。4つのAFクラスの各々には、3つのドロップ優先度がある。輻輳が生じた場合には、（クラス内において）ドロップ優先度の低いパケットが、最初にドロップされる。相対的優先転送は、基本的に、例えばシスコのクラスベースの重みつき公平待合せ（CB−WFQ）等の重みベースのスケジューリング構成の任意のもので、実現されうる。異なるAFクラス相互の関係はオープンであるが、1つの妥当なアプローチはそれらを遅延クラスとして用いることである。但し、このアプローチには、重みの自動調整が必要とされる。ある特定のAFクラスの重みが、このAFクラス内のトラフィック量が増えても同じ値のままであれば、このAFクラス内の遅延も増加することになる（出力リンクが輻輳していることを仮定）。
【００１１】
特に、リアルタイムのトラフィック（ビデオのストリーミング等）では、それぞれの出力待ち行列での遅延を、できるだけ予測可能にしておくことが必須である。このことを考慮すると、待ち行列の重みだけを適応変化させるのでは、充分でない。重みが変化する一方で、待ち行列の長さが一定のままであれば、最大待合せ遅延（maximum queuing delay）も変化してしまう。このように、インタフェース当たりに複数の出力待ち行列があるIPルータには、各待ち行列に対して最大の長さ及び重みが必要である。これらの待ち行列の長さ及び重みを設定することは、混成トラフィック（traffic mix）が未知であるとともに不安定である場合には、非常に困難である。
【００１２】
クラス別サービス、相対的優先転送、及び異なる待合せ構成についてのさらなる詳細は、Kalevi Kilkki, “Differentiated Services for the Internet”, Macmillan Technical Publishing, ISBN 1-57870-132-5, 1999から得られる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従って、パケットスケジューリング方法及び装置を提供することを、本発明の目的とする。これにより、待合せ遅延の予測可能性が向上する。
【課題を解決するための手段】
【００１４】
この目的は、以下の方法により達成される。この方法とは、パケットデータネットワークのネットワーク要素にて、データパケットをスケジューリングする方法であって、
少なくとも2つのデータパケット待ち行列に対して、それぞれの重みを割り当てるステップであって、前記重みは、前記少なくとも2つのデータパケット待ち行列に入ったデータパケットの送信順を決定する重みを割り当てるステップと、
前記少なくとも2つのデータパケット待ち行列のそれぞれの長さを、所定のタイミング又は起動によるタイミングで、前記ネットワーク要素を通じて又は複数のネットワーク要素一式内でルーティングされる混成トラフィックにおける変化を示す少なくとも1つの所定のトラフィック・パラメータに基づいて調整するステップと、を有する方法である。
【００１５】
また、上記目的は、以下のネットワーク要素により達成される。このネットワーク要素とは、パケットデータネットワークにおけるデータパケットをスケジューリングするネットワーク要素であって、
少なくとも2つのデータパケット待ち行列に対して、それぞれの重みを割り当てる重み制御手段であって、前記重みは、前記少なくとも2つのデータパケット待ち行列に入ったデータパケットの送信順を決定する重み制御手段と、
前記少なくとも2つのデータパケット待ち行列のそれぞれの長さを、所定のタイミング又は起動によるタイミングで、前記ネットワーク要素を通じて又は複数のネットワーク要素一式内でルーティングされる混成トラフィックにおける変化を示す少なくとも1つの所定のトラフィック・パラメータに基づいて調整する長さ調整手段とを、備えるネットワーク要素である。
【００１６】
従って、重みに加えて、待ち行列の長さも同時に適応的に設定される。それにより、全ての待ち行列内の最大待合せ遅延は、各出力待ち行列について重みと長さとを結び付けることにより、できるだけ予測可能に保たれうる。このように、混成トラフィックにおける変化への適応が、達成される。
【００１７】
前記少なくとも1つの所定のパラメータは、
・前記少なくとも2つのデータパケット待ち行列のそれぞれ１つの重み、
・前記ネットワーク要素の出力リンク帯域幅、及び
・所望のホップ当たり最大遅延
のうちの少なくとも1つを含んでいてもよい。
【００１８】
さらに、前記それぞれの長さは、所定の秒数毎に調整されてもよく、あるいはその調整手順は、あるイベント（例えば、混成トラフィックにおける著しい変化）によって起動されてもよい。
【００１９】
好ましくは、所定の最小の重みが、前記少なくとも2つのデータパケット待ち行列のために用いられてもよい。それぞれの重みは、前記少なくとも2つのデータパケット待ち行列の各々からその順で取出可能なバイト数の制限へと変換されてもよい。
【００２０】
前記長さ調整手段は、前記少なくとも2つのデータパケット待ち行列のそれぞれの長さを、前記少なくとも2つのデータパケット待ち行列のそれぞれ1つの重み、前記ネットワーク要素の出力リンク帯域幅、及び所望のホップ当たり最大遅延のうちの少なくとも1つに基づいて調整するように構成されていてもよい。
【００２１】
さらに、前記所定の時間間隔を設定するタイマ手段が、さらに設けられてもよい。ある種のイベントが、同様に、調整手順を起動してもよい。
【発明を実施するための最良の形態】
【００２２】
以下、好適な実施例に基づき、添付の図面を参照して、本発明をより詳細に説明する。
【００２３】
IPルータにおける出力待ち行列用のパケットスケジューリング構成に基づき、好適な実施例について説明する。
【００２４】
図1にて、好適な実施例によるスケジューリング構成は、全てのネットワークトラフィックに帯域幅の割当を提供する方式に、基づいている。これを達成するために、分類部10が設けられている。この分類部10は、トラフィックを別々のクラスに分類するものである。すなわち、例えばDiffServコードポイント（DSCP）等のパケットヘッダの内容に基づいて、パケットを選択する。但し、受信トラフィックの所定の特性に基づく別の任意の型の分類を適用してもよい。
【００２５】
分類部10は、種々の対話のパケットを、送信用の待ち行列C1〜C3に入れる。待ち行列C1〜C3から取り出す順序は、それらに割り当てられた重みにより、決定される。待ち行列C1〜C3は、設定変更可能な待合せバッファリソース構成20内に、配置されている。
【００２６】
各フロー（すなわち各待ち行列C1〜C3）に対する重みを割り当てるために、スケジューラ30が設けられている。その重みにより、待ち行列に入ったパケットの送信順が決まる。割り当てられる重みは、要求されているQoS、所望のフロー・スループット等により決まる。割り当てられた重みに基づき、スケジューラ30は、待ち行列C1〜C3から、待ち行列に入れられたパケットを送信待ち行列へと送る。これらのパケットは、送信待ち行列から、IPネットワークへ向けた出力リンクへと出力される。
【００２７】
重み設定ユニット50は、スケジューラ30が、待ち行列C1〜C3のそれぞれの重みweightiを、所定時間間隔毎に調整するように、制御するようになっている。すなわち、T秒毎に、以下の手順にて調整する。
traffici：＝a・traffici＋(1-a)・traffici,last period,    但し、0＜a＜1
traffici,last period：＝0
【数１】
2005513960.tif 000003
ここで、trafficiは、測定期間T内の待ち行列Ciにおけるトラフィック特性（例えば、バイトカウント、フローカウント等）の移動平均を示している。なお、図1に示された例では、待合せバッファリソース構成20内に3つの待ち行列が設けられているので、Nは3である。パラメータa、すなわち前の移動平均値及び新規の移動平均値は、自由に選択可能である。さらに、traffici,  last periodは、直前の測定時間内のトラフィック特性（例えば、到着したバイト数）を示しており、Fは、トラフィック特性と所望の重み値との間の予め定められた任意の適切な関数関係を示している。移動平均の更新後、例えば重み設定ユニット50内に設けられたそれぞれのカウンタは、新規のカウント動作を開始するために、ゼロに設定される。重み設定ユニット50は、各待ち行列に対して、所定の最小の重み値を用いるようになっている。
【００２８】
測定期間Tは、タイマ45により設定されて制御されてもよい。このタイマ45は、図1に示されるように長さ設定ユニット40内に設けられるか、あるいは、その代わりに、重み設定ユニット50若しくは任意の他のユニット又はIPルータ用の独立したユニット内に、設けられてもよい。
【００２９】
待ち行列C1〜C3の長さ、すなわち待ち行列内のデータパケットの最大数は、混成トラフィックを示す決定されたパラメータに応じて、長さ設定ユニット40により設定される。好適な実施例では、これらのパラメータは、割り当てられた重み、出力リンクの帯域幅、及び所望のホップ当たり最大遅延である。但し、この目的のために、他の適切なパラメータが用いられてもよい。長さの設定は、以下の式に基づいて実行されてもよい。
sizei：F(weighti,  OLB,  delayi)
ここで、weightiは、待ち行列Ciに割り当てられた重みを示し、OLBは、IPルータの出力リンクの出力リンク帯域幅を示し、delayiは、待ち行列Ciのホップ当たり最大遅延を示す。なお、関数Fは、許容される待ち行列の長さとトラフィック別のパラメータとの間の関係を規定する任意の適切な関数であってもよい。これにより、それぞれの待ち行列C1〜C3における遅延が、できるだけ予測可能に保たれる。
【００３０】
スケジューラ30は、重み値を、待ち行列C1〜C3の1つからその順番で取出可能なバイトへと、変換するようになっている。
【００３１】
図2に、好適な実施例によるスケジューリング動作の概略フローチャートを示す。
【００３２】
ステップS200にてタイマ45が時間切れになると、処理は、ステップS201へと進む。ステップS201では、待ち行列の重みが、トラフィックパラメータの何らかの変化すなわち、混成トラフィックにおける何らかの変化に応じて、重み設定ユニット50により調整される。そして、ステップS202にて、待ち行列の長さが、例えば、重み設定ユニット50で決定された重み情報を用いて、長さ設定ユニット40により調整される。その後、タイマ45は、スケジューリング動作に必要なバイト及び／又は他のパラメータの移動平均の決定用に、新規の測定期間すなわちサイクルを開始するために、再度スケジューリングされるか、あるいはゼロにリセットされる（ステップS203）。最後に、手順は、ループの最初のステップS200に戻り、タイマ45が再び時間切れになるまで、決定された長さ及び重みを適用する。なお、他のいくつかのイベント（タイマの時間切れ以外の）が、調整処理を起動するために、同様に用いられてもよい。
【００３３】
以下、好適な実施例の具体的な実現例について説明する。この例では、待ち行列C1〜C3の長さ（バイトでの）は、待ち行列の重み、出力リンクの帯域幅、及び所望のホップ当たり最大待合せ遅延に応じて、以下の式を用いて設定される。
sizei＝(weighti・OLB・delayi)／8
【００３４】
なお、図1の構成にて示されたブロックは、IPルータにおける対応するプロセッサを制御するソフトウェアルーチン、又は個別のハードウェアユニットとして、実現されてもよい。
【００３５】
提案されたスケジュール動作及び構成により、ルータにおける待ち行列の長さを手動で更新する必要がなくなり、ルータの出力待ち行列、あるいは待合せ機能のある他の任意の適切なネットワーク要素への、待ち行列の長さ及び待ち行列の重みを適応変化させることが可能となる。これにより、スケジューリングを混成トララフィックにおける変化に適応させて、最大遅延をより予測可能とすることができる。
【００３６】
なお、本発明は、上記の好適な実施例の特定の機能に限定されるものではなく、添付の特許請求の範囲内にて、変ってもよい。特に、待ち行列の長さ及びパケットの長さの決定は、上記の実現例に限定されるものではない。任意の適切な重みベースのスケジューリング方式、及び、混成トラフィックにおける変化に基づいて適切な待ち行列の長さを決定する方法が、本発明の範囲に入ることが、意図されている。さらに、いくつかの待ち行列は他のものより「速い」ということが意図されている場合には、待ち行列C1〜C3に別々の重みづけをするために、追加の係数が用いられてもよい。重みづけされた待ち行列C1〜C3が供される前に、1つ又はいくつかの優先待ち行列が供される必要がある場合には、重み付けされた待ち行列C1〜C3に対して最小限の出力リンク帯域幅を保証するように、優先待ち行列に対して速度リミッタが用いられてもよい。
【図面の簡単な説明】
【００３７】
【図１】図1は好適な実施例によるパケットスケジューリング構成の概略ブロック図を示す図である。
【図２】図2は好適な実施例によるスケジューリング方法の概略フローチャートを示す図である。
【図１】
2005513960.tif 000005
【図２】
2005513960.tif 000006
【国際調査報告】
2005513960.tif 000007
2005513960.tif 000008
2005513960.tif 000009