(57)【特許請求の範囲】
【請求項１】
リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在するトラヒックのスケジューリングを行うパケットスケジューリング装置において、
パケットが入力されるパケット入力部と、該パケット入力部が受信したパケットが書き込まれるパケットバッファと、前記パケット入力部からの前記パケットが属するトラヒッククラスを分類してプレミアムパケットキューおよび低優先パケットキューにキューイングするパケットキュー群と、前記低優先パケットを分割するパケット分割部と、前記パケットのスケジューリングを行うスケジューラ部と、該スケジューラ部でスケジューリングされた前記パケットを前記パケットバッファから読み出して送信するパケット出力部とを備え、
前記スケジューラ部は、スケジューリングが終了したパケット情報がキューイングされるスケジューリングキューおよび前記パケット入力部から受信した情報に基づきパケットを送信するためのスケジューリング処理を行うスケジューラを有し、低優先パケットのスケジューリングが決定された後に、前記パケット分割部によって低優先パケットが分割した結果、前記スケジューラ部のスケジューリングを変更することを特徴とするパケットスケジューリング装置。
【請求項２】
前記パケットキュー群は、それぞれ前記パケット入力部から受信した前記プレミアムパケットおよび低優先パケットのポインタ群をデータとして保持するプレミアムパケットキューおよび低優先パケットキューを有することを特徴とする請求項１に記載のパケットスケジューリング装置。
【請求項３】
前記スケジューラは、前記パケットキュー群の前記プレミアムパケットキューに予め設定された最大送出レートを保持することを特徴とする請求項１に記載のパケットスケジューリング装置。
【請求項４】
前記パケット入力部は、前記スケジューラに対してどのキューにポインタを送信したかの情報と、そのパケットの長さおよびポインタを通知することを特徴とする請求項１乃至３の何れかに記載のパケットスケジューリング装置。
【請求項５】
前記スケジューラ部は、前記スケジューラに入力されるプレミアムパケットの情報から前記パケット出力部の出力帯域に占める前記プレミアムパケットの割合である負荷を監視して前記スケジューラに通知する負荷監視部を更に備え、観測された負荷に応じて前記パケット分割部がパケットを分割することを特徴とする請求項１乃至４の何れかに記載のパケットスケジューリング装置。
【請求項６】
前記パケット分割部が、観測された負荷に応じてパケットの分割長を変更することを特徴とする請求項１乃至５の何れかに記載のパケットスケジューリング装置。
【請求項７】
前記スケジューラ部は、前記パケットキュー部にプレミアムパケットが入力された際に、すでにスケジューリング済みの低優先パケットが該プレミアムパケットの送信に遅延あるいは遅延のジッタを発生させ、該プレミアムパケットの要求品質が劣化すると判断した場合に、前記スケジューラに既スケジューリングの変更要求を通知するパケット品質監視部を更に備えることを特徴とする請求項１乃至４の何れかに記載のパケットスケジューリング装置。
【請求項８】
リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在したトラヒックのスケジューリングを実施するパケットスケジューリング装置において、スケジューリングが完了したパケットをスケジューリングキューにキューイングする手段と、低優先パケットは、スケジューリングキューの最後尾にキューイングする手段とを備え、プレミアムパケットのスケジューリングは、既にスケジューリングキューの最後尾にキューイングされた低優先パケットが、プレミアムパケットの送信に遅延および送信ジッタを発生させるかどうかを判断する手段と、遅延および送信ジッタを発生させない場合には、スケジューリングキューの最後尾にキューイングする手段と、遅延および送信ジッタを発生させる場合には、遅延および送信ジッタを発生させない低優先パケットの長さを求め、この長さに従って低優先パケットの先頭からデータを分割して、スケジューリングキューに再キューイングし、続いてプレミアムパケット、分割された残りの低優先パケットの順でスケジューリングキューにキューイングする手段とを含むことを特徴とするパケットスケジューリング装置。
【請求項９】
リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在したトラヒックのスケジューリングを実施するパケットスケジューリング装置において、プレミアムトラヒックに属するパケットが装置の出力リンクの帯域に占める割合または負荷を常に監視する手段と、スケジューリングが完了したパケットをスケジューリングキューにキューイングする手段と、プレミアムパケットは、スケジューリングキューの最後尾にキューイングする手段とを備え、プレミアムトラヒックに属するパケットの負荷が高いときに低優先トラヒックに属するパケットを受信すると、あらかじめ負荷に応じて決められた長さのパケットを低優先パケットから分割して、スケジューリングキューにキューイングする手段と、残された低優先パケットとプレミアムトラヒックに属するパケットを、スケジューリングキューにキューイングする処理を、分割された複数パケットが存在しなくなるまで繰り返す手段とを含むことを特徴とするパケットスケジューリング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケットスケジューリング装置、特にリアルタイム伝送（制御）が必要な音声又は動画等のプレミアムパケットのスケジューリング装置に関する。
【０００２】
【従来の技術】
従来技術として、ここではインターネット上で交換されるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを例にとり説明を行う。本発明は、ＩＰパケット以外の可変長パケット交換システムにおいて、パケットの分割（フラグメンテーション）機能を持つ場合に適用可能である。
【０００３】
ＩＰパケットのトラヒックは、ベストエフォート型と呼ばれ、ＡＴＭ網のようなサービス品質（ＱＯＳ：  Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）保証は規定されていなかった。しかし、近年のインターネットトラヒックの増加により、ＩＰパケットのトラヒックに対してもＱＯＳの保証を求める動きが高まりつつある。この背景には、電話や動画像の如きリアルタイム性を要求するマルチメディアアプリケーションが、従来のベストエフォート型ネットワーク上では十分な通信品質を保つことが難しいことが挙げられる。
【０００４】
ＩＰ網におけるＱＯＳ保証の仕組みの１つに「パケットスケジューラ」がある。これはパケットの交換処理を行うネットワークのノードにおいて、入力パケットを複数のキューに振り分けて分類し、スケジューラが各キューに予め設定された優先度や重み付けに従ってスケジューリング処理を行い、各キューからのパケットの送信を制御する。このようなパケットスケジューラは、例えば特開平１１−２６１６３４号公報の「パケット・スケジューリング制御方法」、特開平１１−２７５１１６号公報の「予想型／保証型サービスを提供するためのトラヒック制御方法」および特開平９−８３５４７号公報の「パケットスケジューリング装置」等に開示されている。
【０００５】
しかし、ＩＰパケットは可変長である。そのため、従来型のスケジューラにおいて、リアルタイム処理が必要なプレミアムトラヒックに属するパケット（以下、「プレミアムパケット」という）およびリアルタイム処理が不要な低優先トラヒックに属するパケット（以下、「低優先パケット」という）が混在した環境で、「プレミアムパケット」がトラヒックの大半を占める場合を考える。この場合には、パケット長の長い低優先ロングパケットの送信を開始すると、最優先で送信すべきマルチメディアトラヒックに属するパケットは、低優先ロングパケットの送信が完了するまで送信することができないので、リアルタイム性が損なわれる恐れがあるという問題がある。
【０００６】
この問題に関して、図５の例を参照して説明する。図５（Ａ）において、各「プレミアムパケット」は、一定の長さを有し且つ一定の送信間隔Ｔで送信される。ここで、図５（Ｂ）および（Ｃ）に示す如く、送信時間がＴを超える「低優先パケット」を送信する場合には、「プレミアムパケット」の送信を「低優先パケット」の前か後ろにずらすことになる。そこで、「プレミアムパケット」の遅延の揺らぎが発生し、リアルタイム性が損なわれる恐れがある。
【０００７】
この問題は、一般的には「プレミアムパケット」における送信遅延の発生および送信ジッタ（送信遅延の揺れ）の発生として表現される。低速回線において「プレミアムパケット」の送信間隔が短い場合に、この問題は特に顕著になる。逆に、「プレミアムパケット」の送信に影響を与えないように「低優先パケット」のスケジューリングを実施すると、パケット長の長い「低優先パケット」が永遠に処理されない問題が起こる可能性がある。
【０００８】
この問題を解決するために、「低優先パケット」を短い複数のパケットに分割して、「プレミアムパケット」を送信する間の空き時間に送信する方法が、「シスコ・システムズ、クオリティ・オブ・サービス・フォー・ボイス・オーバー・ＩＰソリューションズ・ガイド、バージョン１．０、２章、２２〜３２頁（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，  Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ  Ｓｏｌｕｔｉｏｎｓ  Ｇｕｉｄｅ，  Ｖｅｒ  １．０，  ＣＨＡＰＴＥＲ  ２，  ｐｐ．２２−３２）」において提案されている。ここで提案された手法では、分割後のパケットの長さは、回線の速度に応じて決定することが推奨されており、ノードはこれに基づきパケットの分割処理を行う。
【０００９】
しかし、一般的に回線の負荷は一定ではなく、常に変動する。従来の提案手法では、ノードに入力された低優先パケットは負荷の大小に拘らず必ず固定の長さを持つ複数のパケットに分割される。負荷が小さい場合には、「プレミアムパケット」の送信間隔が大きいので、「低優先パケット」は分割の必要がないにも拘らず分割されてしまう。負荷が大きい場合には、固定で分割した「低優先パケット」の長さが大きい場合には、「プレミアムパケット」の送信に影響を及ぼす場合がある。
【００１０】
ＩＰパケットのヘッダ・フォーマットを図６に示す。このヘッダ・フィールドは、以下の通りである。
−Ｖｅｒｓｉｏｎ：  ４ビット  バージョンフィールド
−ＩＨＬ：  ４ビット  インターネットヘッダ長（Ｉｎｔｅｒｎｅｔ  Ｈｅａｄｅｒ  Ｌｅｎｇｔｈ）フィールド
−Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ：８ビット  サービス種別フィールド
−Ｔｏｔａｌ  Ｌｅｎｇｔｈ：１６ビット  パケット長フィールド
−Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ：１６ビット  認識フィールド
−Ｆｌａｇｓ：３ビット  制御用フラグフィールド
−Ｆｒａｇｍｅｎｔ  Ｏｆｆｓｅｔ：１３ビット  フラグメントオフセットフィールド
−Ｔｉｍｅ  ｔｏ  Ｌｉｖｅ：８ビット  経由可能なルータの残数
−Ｐｒｏｔｏｃｏｌ：８ビット  プロトコルフィールド
−Ｈｅａｄｅｒ  Ｃｈｅｃｋｓｕｍ：１６ビット  ヘッダチェックサムフィールド
−Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ：３２ビット  宛先アドレスフィールド
−Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ：３２ビット  行き先アドレスフィールド
−Ｏｐｔｉｏｎｓ：可変  オプションフィールド
−Ｐａｄｄｉｎｇ：可変  パディングフィールド
【００１１】
【発明が解決しようとする課題】
上述した従来技術では、「低優先パケット」を分割しても、「プレミアムパケット」の送信遅延および送信ジッタが発生する可能性があることである。その理由は、従来は回線速度に応じて「低優先パケット」の分割後における複数パケットの長さを決定しており、回線の負荷を考慮していないからである。今１つの問題は、従来は回線の負荷が低い場合にも、「低優先パケット」が分割されてしまうことである。その理由は、上述した理由と同じである。
【００１２】
【発明の目的】
従って、本発明の目的は、「プレミアムパケット」の送信遅延および送信ジッタを低減することおよび「低優先パケット」を「プレミアムパケット」間の隙間に効率よく転送するパケットスケジューリング装置を提供することである。
【００１３】
【課題を解決するための手段】
本発明によるパケットスケジューリング装置は、リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在するトラヒックのスケジューリングを行う装置であって、パケットが入力されるパケット入力部と、このパケット入力部が受信したパケットが書き込まれるパケットバッファと、パケット入力部からのパケットが属するトラヒッククラスを分類してプレミアムパケットキューおよび低優先パケットキューにキューイングするパケットキュー群と、低優先パケットを分割するパケット分割部と、パケットのスケジューリングを行うスケジューラ部と、このスケジューラ部でスケジューリングされたパケットをパケットバッファから読み出して送信するパケット出力部とを備え、
スケジューラ部は、スケジューリングが終了したパケット情報がキューイングされるスケジューリングキューおよびパケット入力部から受信した情報に基づきパケットを送信するためのスケジューリング処理を行うスケジューラを有し、低優先パケットのスケジューリングが決定された後に、パケット分割部によって低優先パケットが分割した結果、スケジューラ部のスケジューリングを変更する。
【００１４】
また、本発明のパケットスケジューリング装置の好適実施形態によると、パケットキュー群は、それぞれパケット入力部から受信したプレミアムパケットおよび低優先パケットのポインタ群をデータとして保持するプレミアムパケットキューおよび低優先パケットキューを有する。スケジューラは、パケットキュー群のプレミアムパケットキューに予め設定された最大送出レートを保持する。パケット入力部は、スケジューラに対してどのキューにポインタを送信したかの情報と、そのパケットの長さおよびポインタを通知する。スケジューラ部は、スケジューラに入力されるプレミアムパケットの情報からパケット出力部の出力帯域に占めるプレミアムパケットの割合である負荷を監視してスケジューラに通知する負荷監視部を更に備え、観測された負荷に応じてパケット分割部がパケットを分割する。パケット分割部が、観測された負荷に応じてパケットの分割長を変更する。更に、スケジューラ部は、パケットキュー部にプレミアムパケットが入力された際に、すでにスケジューリング済みの低優先パケットがこのプレミアムパケットの送信に遅延あるいは遅延のジッタを発生させ、このプレミアムパケットの要求品質が劣化すると判断した場合に、スケジューラに既スケジューリングの変更要求を通知するパケット品質監視部を更に備える。
【００１５】
更に、本発明のパケットスケジューリング装置の他の実施形態では、リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在したトラヒックのスケジューリングを実施するパケットスケジューリング装置において、スケジューリングが完了したパケットをスケジューリングキューにキューイングする手段と、低優先パケットは、スケジューリングキューの最後尾にキューイングする手段とを備え、プレミアムパケットのスケジューリングは、既にスケジューリングキューの最後尾にキューイングされた低優先パケットが、プレミアムパケットの送信に遅延および送信ジッタを発生させるかどうかを判断する手段と、遅延および送信ジッタを発生させない場合には、スケジューリングキューの最後尾にキューイングする手段と、遅延および送信ジッタを発生させる場合には、遅延および送信ジッタを発生させない低優先パケットの長さを求め、この長さに従って低優先パケットの先頭からデータを分割して、スケジューリングキューに再キューイングし、続いてプレミアムパケット、分割された残りの低優先パケットの順でスケジューリングキューにキューイングする手段とを含む。
【００１６】
本発明のパケットスケジューリング装置の更に他の実施形態では、リアルタイム性を要求するプレミアムトラヒックに属するプレミアムパケットと、リアルタイム性を要求しない低優先トラヒックに属する低優先パケットが混在したトラヒックのスケジューリングを実施するパケットスケジューリング装置において、プレミアムトラヒックに属するパケットが装置の出力リンクの帯域に占める割合または負荷を常に監視する手段と、スケジューリングが完了したパケットをスケジューリングキューにキューイングする手段と、プレミアムパケットは、スケジューリングキューの最後尾にキューイングする手段とを備え、プレミアムトラヒックに属するパケットの負荷が高いときに低優先トラヒックに属するパケットを受信すると、あらかじめ負荷に応じて決められた長さのパケットを低優先パケットから分割して、スケジューリングキューにキューイングする手段と、残された低優先パケットとプレミアムトラヒックに属するパケットを、スケジューリングキューにキューイングする処理を、分割された複数パケットが存在しなくなるまで繰り返す手段とを含む。
【００１７】
【発明の実施の形態】
次に、本発明によるパケットスケジューリング装置の好適実施形態の構成および動作を、添付図を参照して詳細に説明する。
【００１８】
先ず、図１は、本発明によるパケットスケジューリング装置の第１実施形態の構成を示すブロック図である。このパケットスケジューリング装置は、パケット入力部１、パケットキュー群２、スケジューラ部３、パケット分割部４、パケット出力部５およびパケットバッファ６より構成される。ここで、パケットキュー群２は、プレミアムパケットキュー２１および低優先パケットキュー２２を含んでいる。また、スケジューラ部３は、スケジューリングキュー３１およびスケジューラ３２を含んでいる。
【００１９】
パケット入力部１は、入力されるＩＰパケットをパケットバッファ６に書き込むと同時にＩＰパケットのヘッダ部分を取り出して検査を行う。そのパケットが属するトラヒッククラスを分類して、パケットキュー群２中の該当するキューに、パケットを書き込んだパケットバッファ６中の場所を示すポインタを送信する。また、スケジューラ３２に対して、どのキューにポインタを送信したのかを示す情報と、そのパケットの長さおよびポインタを通知する。
【００２０】
また、パケットキュー群２が有するプレミアムパケットキュー２１および低優先パケットキュー２２は、それぞれパケット入力部１から受信したポインタ群をデータとして保持している。パケット入力部１から受信するデータは、各キューの最後尾にキューイングされる。また、パケット出力部５からの指示によって、各キューはキュー先頭のデータをパケット出力部５に送信する。更に、プレミアムパケットキュー２１には予めパケットの最大送出レートが設定され、この設定レート情報はスケジューラ３２に保持される。
【００２１】
スケジューラ部３のスケジューラ３２は、パケット入力部１から受信した情報に基づき、パケットを送信するためのスケジューリング処理を行う。スケジューリングが終了したパケットの情報は、スケジューリングキュー３１にキューイングされる。キューイングされた各データには、パケットキュー群２中のどのキューに属するパケットかの情報、パケットの送出開始時刻およびパケット長が書き込まれている。
【００２２】
一方、スケジューラ部３に含まれるスケジューリングキュー３１の先頭データ中のどのキューに属するかの情報（次にパケット出力部５がデータを読み出すキュー）は、送出開始時刻になるとパケット出力部５に通知される。スケジューラ３２によるスケジューリングによって、低優先パケットの送信が「プレミアムパケット」の送信に影響を与えることが判明した場合には、スケジューラ３２はスケジューリングキュー３１内の「低優先パケット」に着目し、「プレミアムパケット」の送信時間に影響を与えないような低優先パケットの分割パケット長を計算する。そして、その計算値に基づいて分割した「低優先パケット」および「プレミアムパケット」の両者の再スケジューリングを行う。その後、スケジューラ３２はパケット分割部４に対して、実際に「低優先パケット」の分割指示を行う。
【００２３】
パケット分割部４は、スケジューラ３２からの指示により、パケットバッファ６中のパケットの分割を行い、低優先パケットキュー２２中のポインタデータの分割を行う。パケット出力部５は、スケジューラ３２から次に読み出すキューの情報に基づき、パケットキュー群２中の該当するキューからポインタデータを読み出して、該当するパケットをパケットバッファ６から読み出して送信する。送信が完了すると、パケットキュー群２中の該当するキューと、スケジューラ３２に対して読み出し完了の通知を行う。
【００２４】
次に、図１に示す本発明によるパケットスケジューリング装置の動作を説明する。パケット入力部１は、入力されるＩＰパケットをパケットバッファ６に書き込むと同時にＩＰパケットのヘッダを取り出す。ここでＩＰパケットのヘッダの検査を行い、そのパケットが属するトラヒッククラス（プレミアム又は低優先）を分類する。分類は、例えばＩＰヘッダ中のＴＯＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）フィールドを用いることで実施する。この分類が終了すると、パケット入力部１は、分類情報に該当するトラヒッククラスに対応するパケットキュー群２中のキューに、パケットを書き込んだパケットバッファ６中の場所を示すポインタを送信する。また、スケジューラ３２に対して、どのキューにポインタを送信したかを示す情報およびそのパケットの長さを通知する。
【００２５】
次に、スケジューラ部３におけるスケジューリングについて詳細に説明する。スケジューラ３２がパケット入力部１から受信した情報が低優先パケットのものである場合、その低優先パケットの送出開始時刻を計算し、「低優先パケット」であること（パケットキュー群２中の、どのキューに属するパケットか）と、送出開始時刻情報、パケットの長さを一纏めのデータとしてスケジューリングキュー３１の最後尾にキューイングする。
【００２６】
スケジューラ３２がパケット入力部１から受信した情報が「プレミアムパケット」のものである（ステップ１０１）場合について、図２のフローチャートを参照して説明する。予めプレミアムパケットキュー２１に設定されているパケットの最大送出レート、パケット入力部１から受信したパケット長情報および前回スケジューリングされた「プレミアムパケット」の送出開始時刻とパケット長から、受信した「プレミアムパケット」の送出開始時刻を計算する（１０２）。
【００２７】
次に、スケジューリングキュー３１の最後にキューイングされたパケットが「プレミアムパケット」か「低優先パケット」かをチェックする（ステップ１０３および１０４）。「プレミアムパケット」である場合には、「プレミアムパケット」であること（パケットキュー群２中の、どのキューに属するパケットか）と、送出開始時刻情報およびパケットの長さとを一纏めしたデータとしてスケジューリングキュー３１の最後尾にキューイングする（ステップ１０５）。これは、「プレミアムパケット」同士は、互いに影響を及ぼすことがないからである。
【００２８】
スケジューリングキュー３１の最後にキューイングされたパケットが「低優先パケット」である場合には、その「低優先パケット」の送出開始時刻およびパケット長から、「低優先パケット」の送出終了時刻が受信した「プレミアムパケット」の送出開始時刻よりも早いか否かをチェックする（ステップ１０６及び１０７）。このチェック結果、早い場合（ステップ１０７：ＹＥＳ）には、「プレミアムパケット」であることと、送出開始時刻情報およびパケットの長さを一纏めのデータとしてスケジューリングキュー３１の最後尾にキューイングする（ステップ１０７およびステップ１０５）。一方、遅い場合（ステップ１０７：ＮＯ）には、その「低優先パケット」をＲＦＣ７９１に規定されたパケット分割時の各分割パケットのヘッダフォーマット仕様に基づいて送信が可能なパケット長の複数パケットに分割する。以下、このパケット分割について説明する。
【００２９】
先ず、スケジューラ３２は、「低優先パケット」の先頭から、「プレミアムパケット」の送出開始時刻に影響を与えないパケット長を計算し、これを分割パケットとして再度キューイングする。続いて、「プレミアムパケット」のキューイングを行うことで、スケジューリングキュー３１を更新する（ステップ１０８）。ここで、スケジューラ３２は、「低優先パケット」の分割されなかった部分（残った部分）の長さを記憶しておくと共に、送出開始時刻を計算しておく（まだキューイングは行わない）。
【００３０】
次に、スケジューラ３２は、パケット分割部４に対して、該当低優先パケットのパケットバッファ６中の位置を示すポインタおよび分割する長さを通知する。パケット分割部４は、通知された情報を用いてパケットバッファ６中のパケットの先頭をＲＦＣ７９１に規定されたパケット分割手法を用いて分割し（ステップ１０９）、残った部分の先頭を示すポインタを得る。続いて、低優先パケットキュー２２中のポインタも先頭パケットを分割して更新する（ステップ１１０）。これは、「低優先パケット」のポインタを、分割したパケットのポインタと残りのパケットのポインタに２分割することで実施される。更新が完了すると、スケジューラ３２へ完了通知と、残った部分の先頭を示すポインタの通知を行う。
【００３１】
スケジューラ３２は、パケット分割部４から通知された「低優先パケット」の残った部分の先頭を示すポインタ、記憶しておいたパケット長および計算しておいた送出開始時刻を一纏めのデータとしてキューイングを行うことで、スケジューリングキュー３１を更新する（１１１）。以上でスケジューリングが終了する（ステップ１１２）。スケジューラ３２は、スケジューリングキュー３１の先頭のデータに含まれるキュー情報（プレミアムパケットキュー２１又は低優先パケットキュー２２を指す）を、出力開始時刻になるとパケット出力部５に通知して、該当パケットの送信を依頼する。パケット出力部５は、このスケジューラ部３の指示に従い、パケットキュー群２中の該当するキューからポインタデータを読み出す。そして、ポインタデータに該当するパケットをパケットバッファ６から読み出して出力する。出力が完了すると、パケットキュー群２中のキューおよびスケジューラ３２に対して読み出し完了の通知を行う。通知を受けたパケットキュー群２中のキューは、その先頭のデータを廃棄する。また、スケジューラ３２もスケジューリングキュー３１の先頭データを廃棄する。以上の実施形態により、「プレミアムデータ」の送信に影響を及ぼさずに「低優先データ」を送信することができ、「低優先パケット」の分割後の各パケット長は、「プレミアムパケット」を受信しながら動的に決定されるため、帯域が有効に利用される。
【００３２】
次に、図３は、本発明によるパケットスケジューリング装置の第２実施形態の構成を示すブロック図である。図３を参照すると、本発明によるパケットスケジューリング装置の第２実施形態は、上述した図１に示す構成に加えて、負荷監視部３３を有する点で異なる。ここで、図１に示す構成要素と同様の構成要素については反復説明を省略し、相違点を中心に説明する。負荷監視部３３は、スケジューラ３２に入力される「プレミアムパケット」の情報から、パケット出力部５の出力帯域に占める「プレミアムパケット」の割合（負荷）を常時監視し、常に負荷をスケジューラ３２に通知している。高負荷時には、「低優先パケット」は分割されてスケジューリングされるが、分割は予め負荷の状況に応じて決められた「低優先パケット」の分割後におけるパケットの固定長の値（負荷が低い場合には長く、負荷が高い場合には短い）に従って実施される。
【００３３】
次に、図４のフローチャートを参照して、図３に示す本発明によるパケットスケジューリング装置の第２実施形態の動作を説明する。パケット入力部１によるＩＰパケットの分類から、スケジューラ３２およびパケットキュー群２へのデータの送信までの動作は、上述した第１実施形態の動作と同様に動作する。
【００３４】
次に、スケジューラ部３におけるスケジューリングについて説明する。スケジューラ３２がパケット入力部１から受信した情報が「プレミアムパケット」のものである場合には、予めプレミアムパケットキュー２１に設定されているパケットの最大送出レートと、パケット入力部１から受信したパケット長情報および、前回スケジューリングされた「プレミアムパケット」の送出開始時刻とパケット長から、受信した「プレミアムパケット」の送出開始時刻を計算し、「プレミアムパケット」であること（パケットキュー群２中の、どのキューに属するパケットか）と、送出開始時刻情報、パケットの長さを一纏めのデータとしてスケジューリングキュー３１の最後尾にキューイングする。
【００３５】
スケジューラ３２がパケット入力部１から受信した情報が「低優先パケット」のものである場合について、図４に示すフローチャートを参照して説明する。スケジューラ３２は、負荷監視部３３から通知を受けている負荷情報から、その「低優先パケット」を分割すべきか否かを判断する（ステップ２０２および２０３）。分割が不要な負荷状況ある場合には、その「低優先パケット」をスケジューリングキュー３１の最後尾にキューイングすることでスケジューリングキュー３１を更新する（ステップ２１０）。分割が必要な負荷状況である場合には、その「低優先パケット」を複数に分割するが、上述した第１実施形態の動作との違いは、分割するパケットの長さが負荷に応じた長さに決定されることである。
【００３６】
先ず、スケジューラ３２は、「低優先パケット」の先頭から、負荷に応じて予め決められた長さのパケットを分割し、スケジューリングキュー３１の最後尾にキューイングすることでスケジューリングキュー３１を更新する（ステップ２０４）。このとき、スケジューラ３２は、パケットの分割されなかった部分の長さを記憶しておく。次に、スケジューラ３２は、パケット分割部４に対して該当する「低優先バッファ」のパケットバッファ６中の位置を示すポインタと、分割する長さを通知する。パケット分割部４は、通知された情報を用いてパケットバッファ６中のパケットの先頭をＲＦＣ７９１に規定されたパケット分割手法を用いて分割し（ステップ２０５）、残った部分の先頭を示すポインタを得る。続いて低優先パケットキュー２２中のポインタも先頭パケットを分割して更新する（ステップ２０６）。更新が完了すると、スケジューラ３２へ完了通知と、残った部分の先頭を示すポインタとの通知を行う。
【００３７】
スケジューラ３２は、「低優先パケット」先頭の分割が完了後、その「低優先パケット」に関する全ての分割が完了したか否か（パケットの残りが存在するか否か）を確認する（ステップ２０７）。残りのパケットが存在しない場合には、スケジューリングを完了する（ステップ２０８）。残りのパケットが存在する場合には、「プレミアムパケット」データのパケット入力部１からの受信を待ち、その受信後スケジューリングを行う（ステップ２０９）。次に、上述したステップ２０４における先頭パケットの分割動作を再開する。この動作は、「低優先パケット」に関する全ての分割が終了するまで繰り返される。但し、一度分割が開始されると、分割が終了するまで分割パケットの長さは「プレミアムパケット」の負荷には影響を受けないものとする。以上でスケジューリングが終了する（ステップ２０８）。
【００３８】
パケット出力部５におけるパケット出力動作は、上述した第１実施形態の動作と同様である。上述したスケジューリング動作は、「低優先パケット」が負荷に応じて予め決められた固定の長さに分割されるので、厳密には帯域を最大限には利用していないが、第１実施形態の動作と比較して動的な分割パケット長の計算が不要であるので、スケジューリング処理自体の負荷は軽くなる。また、高速処理が可能である。
【００３９】
第１実施形態では、スケジューラは既にスケジュールされた「低優先パケット」が「プレミアムパケット」の送出開始時刻に影響を及ぼすか否かを判断し、影響を与える場合には「低優先パケット」を分割して、分割した「低優先パケット」、「プレミアムパケット」および「低優先パケット」の残りの順で再スケジューリングを行う。
【００４０】
一方、第２実施形態では、スケジューラは「低優先パケット」の先頭から、負荷に応じて予め決められた長さのパケットを分割し、スケジューリングキュー３１の最後尾にキューイングする。以後、残りの「低優先パケット」が全て分割されるまで「プレミアムパケット」との間で同様のスケジューリング処理を行う。
【００４１】
以上、本発明によるパケットスケジューリング装置の好適実施形態の構成および動作を詳述した。しかし、斯かる好適実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではない。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。
【００４２】
【発明の効果】
以上の説明から理解される如く、本発明のパケットスケジューリング装置によると、次の如き実用上の顕著な効果が得られる。先ず、高負荷時に「低優先パケット」を送信することによって発生する「プレミアムパケット」の送信遅延および送信ジッタが低減されることである。その理由は、「プレミアムパケット」の送信間隔よりも長い送信時間を必要とされる「低優先パケット」は分割されてスケジューリングされる。そして、分割後のパケットの長さは、「プレミアムパケット」の送出に影響を与えないように決定され又は負荷状況によって動的に計算されるからである。
【００４３】
次に、「低優先パケット」の不必要な分割が生じないことである。その理由は、上述した理由と同じである。
【図面の簡単な説明】
【図１】本発明によるパケットスケジューリング装置の第１実施形態の構成を示すブロック図である。
【図２】図１に示すパケットスケジューリング装置の動作を説明するフローチャートである。
【図３】本発明によるパケットスケジューリング装置の第２実施形態の構成を示すブロック図である。
【図４】図３に示すパケットスケジューリング装置の動作を説明するフローチャートである。
【図５】プレミアムパケットの送信遅延の発生例を示す図である。
【図６】一般的なＩＰパケットのヘッダを示す図である。
【符号の説明】
１      パケット入力部
２      パケットキュー群
３      スケジューラ部
４      パケット分割部
５      パケット出力部
６      パケットバッファ
２１    プレミアムパケットキュー
２２    低優先パケットキュー
３１    スケジューリングキュー
３２    スケジューラ
３３    負荷監視部
【図１】
0003584859.tif 000002
【図２】
0003584859.tif 000003
【図３】
0003584859.tif 000004
【図４】
0003584859.tif 000005
【図５】
0003584859.tif 000006
【図６】
0003584859.tif 000007