(57)【特許請求の範囲】
【請求項１】
通信網において、
発信の際にパケット廃棄率クラスと目的端末への到着予定時刻をパケット毎に申告する端末を有し、
前記端末は、ユーザから要求された帯域クラスと目的端末の行き先情報から到着予定時刻を計算し、
複数の端末からのパケットが経由する各ノードに、現在時刻と前記申告された到着予定時刻との差である残余許容網内遅延の長さにより当該ノード内での遅延時間を制御し、前記申告されたパケット廃棄率クラスにより当該ノード内でのパケット廃棄率を制御するルータを配置し、
前記ルータは、
新たなパケットが到着した場合に、現在時刻と前記到着予定時刻と目的端末までの距離（ホップ数）を取得する解析手段と、
前記現在時刻と前記到着予定時刻の差である残余許容網内遅延の長さ、及び目的端末までのホップ数から残余ノード間の平均遅延時間を計算する計算手段と、
当該ノード内が輻輳中の場合には、申告されたパケット廃棄率クラスの優先度の低い順に待ち状態のパケットを輻輳が解消されるまで廃棄する処理を指令し、前記新たなパケットに対しては、当該ノードでの待ち状態の全てのパケットの前記残余ノード間の平均遅延時間に基づいて並ぶ位置を決定し指令する品質決定／制御手段と、
前記指令に基づいて、パケットを廃棄する処理、およびパケットの並び替えを行い、その結果並んだ順にパケットを転送するスケジューリング手段とを、具備する
ことを特徴とするパケットスケジューリング方式。
【請求項２】
発信ユーザの端末から、パケット廃棄率クラスと目的端末への到着予定時刻をパケット毎に申告するパケットスケジューリング方法であって、
複数の端末からのパケットが経由する各ノードでは、
当該ノード内が輻輳中の場合には、前記申告されたパケット廃棄率クラスの優先度の低い順に待ち状態のパケットを輻輳が解消されるまで廃棄する処理を行い、
新たなパケットが到着した場合には、現在時刻と前記申告された到着予定時刻と目的端末までのホップ数を取得し、
前記現在時刻と前記到着予定時刻の差である残余許容網内遅延の長さ、及び目的端末までのホップ数から残余ノード間の平均遅延時間を計算し、
当該ノードでの待ち状態の全てのパケットの並ぶ位置をそれぞれの前記平均遅延時間に基づいて決定し制御する
ことを特徴とするパケットスケジューリング方法。
【請求項３】
請求項２に記載のパケットスケジューリング方法をコンピュータで実行するプログラムを、
該コンピュータが読み取り可能な記録媒体に記録した
ことを特徴とするパケットスケジューリング方法を実行するプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰ網などの電気通信網において、インターネットサービス等を受けるユーザに対して、発信ユーザ端末が決定する品質に関するセット値に基づいて各ルータが品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：割当帯域、遅延時間、遅延揺らぎ、パケット廃棄率）を制御し、各ユーザ端末の希望品質に見合うような品質を実現するパケットスケジューリング（品質制御）方式に関するものである。
【０００２】
【従来の技術】
上記の遅延時間や遅延揺らぎ補償について考える時に関わってくる「ルータ内におけるパケットを処理する方式」、即ち「パケットスケジューリング方式」については、既にこれまでにも次に挙げるような種々の方式が考えられており、それぞれ長所、短所をもっている。
【０００３】
ＰＱ（Ｐｒｉｏｒｉｔｙ  Ｑｕｅｕｅｉｎｇ）
ＣＢＱ（Ｃｌａｓｓ  Ｂａｓｅｄ  Ｑｕｅｕｅｉｎｇ）
ＴＳＳ（Ｔｉｍｅ−Ｓｈｉｆｔ  Ｓｃｈｅｄｕｌｉｎｇ）
ＷＦＱ（Ｗｅｉｇｈｔｅｄ  Ｆａｉｒ  Ｑｕｅｕｅｉｎｇ）
ＤＲＲ（Ｄｅｆｉｃｉｔ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）
Ｄｅｌａｙ−ＥＤＤ（Ｄｅｌａｙ−Ｅａｒｌｉｅｓｔ−ｄｕｅ−ｄａｔｅ）
Ｊｉｔｔｅｒ−ＥＤＤ（Ｊｉｔｔｅｒ−Ｅａｒｌｉｅｓｔ−ｄｕｅ−ｄａｔｅ）
Ｓｔｏｐ−ａｎｄ−Ｇｏ
…
…
また、上記の方式のうちのあるものを用いて、実際の装置に適用して市販されている帯域制御装置もある。しかしながら、制御方式が複雑で、実際に装置化するのが困難であったり、また装置化されていても、定義されるクラス数がある値以下に制限されていたりする等で、使用時になんらかの制約があるものがほとんどである。
【０００４】
パケットの廃棄率に関しては、優先度の低いものにマークをつけてシステム（ルータ）が混雑してきたらそのマークのついたパケットのみを廃棄する方式はすでに提案されている。しかしながら、網の混雑具合によりパケット全体に対する廃棄すべき割合を自由に変更して、パケット損失をきめ細かに制御することはできていない。
【０００５】
【発明が解決しようとする課題】
現時点のインターネットサービスでは、品質の保証はされておらず、網の混雑状況により、遅延が増加したり、網切断が起こる回数が増えたりと、必ずしも満足できる快適なサービス提供はなされていない。
【０００６】
本発明では、まず、遅延に関する品質（遅延時間、遅延時間揺らぎ）とパケット損失に関する品質（パケット廃棄率）を分離し、それぞれを独立に自由に取り扱う方式について提案する。パケット廃棄率に関しては、ユーザが申告する相対的なセット値によって制御可能とし、また網の混雑具合により自由に廃棄率のしきい値レベルを設定できるようにし、パケット全体に対する廃棄すべき割合を各パケットの持つセット値により自由に変更可能として、きめ細かな制御を可能にする方式を提案する。
【０００７】
本発明の課題は、いかにして上述の（複数種類の）品質クラスを定義して、それらに基づいてどのようにして品質制御を実現するのかを規定する方式を提供することである。
【０００８】
本発明の第二の課題は、実際に、上記第一の課題の実現手順（方法）を提供することである。
【０００９】
【課題を解決するための手段】
本発明は、以下に列記する手段により上記の課題を解決する。
【００１０】
その一手段は、通信網において、発信の際にパケット廃棄率クラスと目的端末への到着予定時刻をパケット毎に申告する端末を有し、前記端末は、ユーザから要求された帯域クラスと目的端末の行き先情報から到着予定時刻を計算し、複数の端末からのパケットが経由する各ノードに、現在時刻と前記申告された到着予定時刻との差である残余許容網内遅延の長さにより当該ノード内での遅延時間を制御し、前記申告されたパケット廃棄率クラスにより当該ノード内でのパケット廃棄率を制御するルータを配置し、
前記ルータは、新たなパケットが到着した場合に、現在時刻と前記到着予定時刻と目的端末までの距離（ホップ数）を取得する解析手段と、前記現在時刻と前記到着予定時刻の差である残余許容網内遅延の長さ、及び目的端末までのホップ数から残余ノード間の平均遅延時間を計算する計算手段と、当該ノード内が輻輳中の場合には、申告されたパケット廃棄率クラスの優先度の低い順に待ち状態のパケットを輻輳が解消されるまで廃棄する処理を指令し、前記新たなパケットに対しては、当該ノードでの待ち状態の全てのパケットの前記残余ノード間の平均遅延時間に基づいて並ぶ位置を決定し指令する品質決定／制御手段と、前記指令に基づいて、パケットを廃棄する処理、およびパケットの並び替えを行い、その結果並んだ順にパケットを転送するスケジューリング手段とを、具備することを特徴とするパケットスケジューリング方式。
【００１１】
このパケットスケジューリング方式により、各パケットの遅延に関する品質と、パケット廃棄率に関する品質を独立に制御することが可能となるとともに、ユーザから申告された帯域クラス、廃棄率クラスから、各パケットの（遅延、廃棄率）品質をある程度以上のレベルで提供することが可能となる。
また、上記パケットスケジューリング方式により、具体的に、各パケットの遅延に関する品質と、パケット廃棄率に関する品質を独立に、しかもきめ細かく制御することが実現できる。
【００１６】
あるいは、発信ユーザの端末から、パケット廃棄率クラスと目的端末への到着予定時刻をパケット毎に申告するパケットスケジューリング方法であって、複数の端末からのパケットが経由する各ノードでは、当該ノード内が輻輳中の場合には、前記申告されたパケット廃棄率クラスの優先度の低い順に待ち状態のパケットを輻輳が解消されるまで廃棄する処理を行い、新たなパケットが到着した場合には、現在時刻と前記申告された到着予定時刻と目的端末までのホップ数を取得し、前記現在時刻と前記到着予定時刻の差である残余許容網内遅延の長さ、及び目的端末までのホップ数から残余ノード間の平均遅延時間を計算し、当該ノードでの待ち状態の全てのパケットの並ぶ位置をそれぞれの前記平均遅延時間に基づいて決定し制御することを特徴とするパケットスケジューリング方法である。
【００１７】
このパケットスケジューリング方法により、各パケットの遅延に関する品質と、パケット廃棄率に関する品質を独立に、しかもきめ細かく制御することが可能となり、ユーザに対して、各パケットの（遅延、廃棄率）品質をある程度以上のレベルで提供することが可能となる。
【００１８】
あるいは、上記のパケットスケジューリング方法をコンピュータで実行するプログラムを、該コンピュータが読み取り可能な記録媒体に記録したことを特徴とするパケットスケジューリング方法を実行するプログラムを記録した記録媒体である。
【００１９】
この記録媒体により、上記のパケットスケジューリング方法を記録媒体として配布したり、提供したり、保存したりすることが可能となり、コンピュータを用いて本発明のパケットスケジューリング方法を実現することが可能となる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について図を用いて詳細に説明する。
【００２１】
本発明のパケットスケジューリング方式を実現する一実施形態例の構成を図１のブロック図に示す。
【００２２】
図１において、１は、ＩＰ網等の各ノードに配置されるルータ、２は、通信サービス業者局舎内等に設置され、ルータ１に対し料金データを要求し、返送された料金データから加入しているユーザ毎の料金を取得し表示する料金表示装置である。ルータ１は、タイマ１１、料金決定部１２、ユーザ情報データベース１３、時計１４、ルーチングテーブル１５、パケット情報データベース１６、パケットヘッダ解析／計算部１７、品質決定／制御部１８、品質測定部１９及びスケジューリング部２０を具備している。
【００２３】
以下、この構成により実現される本発明のパケットスケジューリング方法の一実施形態例の処理手順を図２のフローチャートに示す。
【００２４】
まず、上述した遅延に関する品質とパケット損失に関する品質を独立に制御するために、次式のような「品質（ＱｏＳ）セット」を定義する。
【００２５】
Ｒ＝（Ｄ，Ｌ，Ｔ）
ここで、
Ｒ：このパケットにおけるＱｏＳセット
Ｄ：上記セット中のパケットの帯域クラスの値（セッション毎に発信ユーザから申告される）
Ｌ：上記セット中のパケットの廃棄率クラスの値（セッション毎に発信ユーザから申告される）
Ｔ：上記セット中の目的端末へのパケット毎の到着予定時刻（申告された要求帯域を用いて発信ユーザの端末（発信端末）により計算される）
このセット値Ｒは、発信端末から送出される各パケットのヘッダ内に保持されており、目的端末に到着するまでに途中で経由する各ルータ１内において、パケット内のその情報と、現在時刻、着信端末（目的端末）までのホップ数とから、スケジューリング制御方法が決定される。
【００２６】
発信端末におけるパケット毎の到着予定時刻Ｔの算出については、次のように考える。ユーザがあるアプリケーションを利用するものとする。ユーザは、そのアプリケーションを利用するのに必要だと思われる帯域（要求帯域）の値Ｂｉを端末に対して申告する。この要求帯域の値は、例えば１．５Ｍｂ／ｓや６Ｍｂ／ｓというような、前もって定められた離散的な値から選択するということでも良いし、任意の値でもよいが、その申告値は利用料金と直結しているものとする。一般的に、帯域にある幅を持たせて、その幅を一つの「帯域クラス」と定義すると、表１のように要求帯域から帯域クラスと料金が一意に定まる。
【００２７】
【表１】
0003540698.tif 000002
【００２８】
網側は、なんらかの手段により、発信端末から申告されたその帯域（申告帯域）をこのユーザに割り当てることが可能かどうか判断する（この「“申告帯域”と結び付いた受付制御」の判断メカニズムについては、本発明では言及しない）。ここではその申告帯域が網により許可されるとする。
【００２９】
そのユーザの使用する端末（発信端末）は、そのアプリケーションの情報をパケット化する際に、その申告された帯域と網の混雑状態、及び目的端末までの距離（ホップ数）とから、網内遅延の予測値を計算し、パケット毎にヘッダ内に目的端末への到着予定時刻Ｔ1を書き込んで送出する。
【００３０】
網内の時刻については、各網内リソース（各端末、ルータ１の時計１４、各装置等）で完全に時刻同期（ミリ秒（ｍｓ）オーダまで）がとられているものとする。また、毎日の決まった時刻（例えば、午前零時）に値「８６，３９９，９９９ｍｓ」から「０ｍｓ」にリセットされる。
【００３１】
まず、パケットがルータ１に到着すると、品質測定部１９は、パケットヘッダ情報から到着予定時刻Ｔ1、行き先（着信端末）、帯域クラス、廃棄率クラスを読み込んで、パケット毎の到着予定時刻Ｔ1、帯域クラス、廃棄率クラスをパケットヘッダ解析／計算部１７へ送るとともに、行き先情報によりルーチングテーブル１５をサーチしてパケット毎の残余ホップ数Ｈｒをパケットヘッダ解析／計算部１７へ送る。なお、パケットの目的地までの経路がわかるので、経由するノード数から残余ホップ数Ｈｒを、その都度、計算してもよい。
【００３２】
パケットヘッダ解析／計算部１７は、目的端末への到着予定時刻Ｔ1と時計１４の現在時刻Ｔ0との差分から残余許容網内遅延（Ｒｅｓｉｄｕａｌ  ａｌｌｏｗａｂｌｅ  ｎｅｔｗｏｒｋ  ｄｅｌａｙ：ＲＡＮＤ）Ｔｒを計算し、次式により残余ノード間平均遅延Ｚｒの値を計算する。残余ノード間平均遅延Ｚｒは、廃棄率クラスとともに品質決定／制御部１８に送られる。
【００３３】
Ｚｒ＝Ｔｒ／Ｈｒ＝（Ｔ1−Ｔ0）／Ｈｒ
Ｚｒ＝Ｚ（ｉ，ｎ，Ｔ0）：時刻Ｔ0でのノードｎにおけるセッションｉの残余ノード間平均遅延
Ｔｒ＝Ｔ（ｉ，ｎ，Ｔ0）：時刻Ｔ0、ノードｎにおけるセッションｉの残余許容網内遅延（ＲＡＮＤ）
Ｈｒ＝Ｈ（ｉ，ｎ）：ノードｎにおけるセッションｉの残余ホップ数
品質決定／制御部１８は、新たなパケットについての残余ノード間平均遅延Ｚｒ、および廃棄率クラスが送られるまでは、常時、当該ノード内が輻輳しているか否かをチェックし、輻輳中であれば、所定のアルゴリズムにより、輻輳が解消されるまで、キューに並ぶパケットのうち廃棄率クラスの低いパケットから順に廃棄するようにスケジューリング部２０に指令する。新たなパケットについての残余ノード間平均遅延Ｚｒ、および廃棄率クラスが送られると、キューに並ぶ各パケットのＺｒ値をサーチし、Ｚｒ値の小さい順番にキューに並ぶ位置を決定し、スケジューリング部２０に指令する。
【００３４】
スケジューリング部２０では、品質決定／制御部１８からのスケジューリングの制御指令に基づいてスケジューリング処理を行う。すなわち、上述の輻輳による廃棄の指令に対しては、キューに並ぶパケットのうち廃棄率クラスの低いパケットを廃棄し、Ｚｒ値によるキューに並ぶパケット位置の指令に対しては、その位置に新たに到着したパケットを挿入して並び替え、その結果としてキューに並んだ順に、ＦＩＦＯ（先入れ、先出し）処理によりパケットを網上の次のノードへ転送する。
【００３５】
輻輳がなく、パケットＡ〜Ｇがキューに並んでいるときに、新たにパケットＨが到着した場合について、上述の残余ノード間平均遅延Ｚｒの計算例を図３（ａ）に、そのときのスケジューリングの制御例を図３（ｂ）に示す。この例で、パケットＨのＺｒ値は１４５ｍｓとなり、その結果、パケットＨはパケットＣ（Ｚｒ＝１３８ｍｓ）の後であって、パケットＤ（Ｚｒ＝１９０ｍｓ）の前に並べられる。
【００３６】
このようなスケジューリング方式、方法を使用すると、今後に残された経路上で、ノード間の平均残余許容網内遅延が短いパケットほど、各ノード内で高い優先度で処理されるため、各パケットの遅延品質が許容値以内に収まる方向に機能する。逆に、平均残余許容網内遅延が長いパケットは、時間的に余裕があるため優先度が低く扱われ、処理が後回しにされるということで、網内全体において各パケットがそれぞれの許容遅延を満たすような方向に働くような方式、方法であるといえる。
【００３７】
また、帯域クラスとは独立にユーザから申告される「廃棄率クラス」は、網内が異常事態になり網内輻輳が起こる場合や、ある特定ノードのみが何らかの原因で輻輳する場合において、パケット全体の遅延品質をある程度以上に維持するために、部分的なパケット廃棄を行う必要が生じたときに、どのパケットを廃棄するかの判断に使用される。即ち、廃棄率クラスＬがＬ１（低優先クラス）からＬｍ（高優先クラス）のｍ個のクラスに分かれているとする（図３のα，β，γ，δ，…に対応する）。この場合、輻輳の度合いにより、例えば各ノード内のあるクラスｐ以下のパケットのみを廃棄するという制御が簡単にできる（どの程度の輻輳のときにどのクラスまで廃棄するということを決定するアルゴリズムはここでは規定しない）。
【００３８】
以上のとおり、本スケジューリング方式、方法によれば、各ユーザに対して、申告された帯域クラス、廃棄率クラスから、各パケットの（遅延、廃棄率）品質をある程度以上のレベルで提供することができる。この場合の料金は、表１を拡張した表２によりセッション毎に定まる。
【００３９】
【表２】
0003540698.tif 000003
【００４０】
各ルータにおける各ユーザ毎の料金の管理手順と各部の動作は、以下のとおりである。
【００４１】
品質測定部１９は、受信したパケットの帯域クラスを料金決定部１２へ送るとともに、パケットヘッダ情報をセッション別にパケット情報データベース１６に格納する。
【００４２】
料金決定部１２は、セッション別にカウンタを割り当ててタイマからのトリガ信号をカウントし、使用時間をユーザ別にユーザ情報データベース１３に蓄積する。このとき、使用時間とともに、使用帯域やパケット数等のセッション別データをパケット情報データベース１６から取得して格納する。あるいは、使用時間をもとに、セッション別にその都度、下記の料金計算を行って料金データを蓄積しておくこともできる。
【００４３】
通信サービス業者局舎内等に設置された料金表示装置２からルータ１に対して料金データ要求があると、料金決定部１２は、ユーザ情報データベース１３から指定されたユーザに関するセッション別の使用時間、使用帯域、パケット数を取得し、これらにより所定の料金計算を行い（料金データが蓄積されている場合は不要）、料金データを作成して、料金表示装置２へ送信する。
【００４４】
なお、図１で示した各部の一部もしくは全部の機能を、コンピュータを用いて実現することができること、あるいは、図２で示した処理手順をコンピュータに実行させることができることは言うまでもなく、コンピュータでその各部の機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ（フロッピーディスク）や、ＭＯ、半導体ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録し、提供し、配布することが可能である。
【００４５】
【発明の効果】
本発明によれば、ユーザは自分の使用するサービスに適した帯域（料金に直結している）と廃棄率クラスの申請をすることができる。その申請された帯域と行き先とから目的端末への到着予定時刻が計算され、パケットが経由する各ノード内では、それらの値から残余許容網内遅延が計算され、その値に応じてスケジューリングの優先度を決めることができる。料金の高い帯域クラスを選べば帯域が多く割り当てられ、到着予定時間も近い時刻が計算されるため優先的に制御されることになる。即ち、本発明によれば、自動的に各パケットが、予定された遅延範囲内で目的端末へ到着するように制御されるため、複雑な制御のない比較的簡単な優先制御が実現可能である。
【図面の簡単な説明】
【図１】本発明のスケジューリング方式の一実施形態例を実現するルータの中を機能別に描いたブロック図である。
【図２】本発明のスケジューリング方法の一実施形態例の処理手順を示すフローチャートである。
【図３】（ａ）はルータ内で各パケットを受け取ったときのスケジューリングの計算例を、（ｂ）はそのときのスケジューリングの制御例を示す図である。
【符号の説明】
１…ルータ
１１…タイマ
１２…料金決定部
１３…ユーザ情報データベース
１４…時計
１５…ルーチングテーブル
１６…パケット情報データベース
１７…パケットヘッダ解析／計算部
１８…品質決定／制御部
１９…品質測定部
２０…スケジューリング部
２…料金表示装置
【図１】
0003540698.tif 000004
【図２】
0003540698.tif 000005
【図３】
0003540698.tif 000006