JP3895033B2 - パケット管理方法、通信制御装置、データ通信システム及び記録媒体 - Google Patents
パケット管理方法、通信制御装置、データ通信システム及び記録媒体 Download PDFInfo
- Publication number
- JP3895033B2 JP3895033B2 JP04483198A JP4483198A JP3895033B2 JP 3895033 B2 JP3895033 B2 JP 3895033B2 JP 04483198 A JP04483198 A JP 04483198A JP 4483198 A JP4483198 A JP 4483198A JP 3895033 B2 JP3895033 B2 JP 3895033B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- packet
- transmission
- delay time
- communication
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータを使用した通信及びネットワーク技術に係り、より詳しくは、レスポンス時間に依存するような制約された環境下で、パケットの遅延時間を定量的且つ動的に制御するためのパケット管理技術に関する。
【0002】
【従来の技術】
有線回線を使用する際の標準通信プロトコルとなっているTCP/IP(Transmission Control Protocol/Internet Protocol)に準拠するネットワーク構成機器では、各機器を通過するパケットに対して当該機器内部の通過時間や待機(キューイング)による遅延時間を制御しないのが一般的である。
しかしながら、近年急増している、高品質なネットワーク環境に対する構築要求に対応して、パケットに対する遅延時間をネットワークにおける利用者及び提供者側の双方で制御可能にするような、ネットワーク構成機器の開発が望まれている。
【0003】
従来のこの種の遅延時間制御手法では、例えば、有線回線により構築されたネットワーク環境下に通信中継装置を配備するとともに、この通信中継装置上で送受信の対象となるパケットの遅延時間を制御するパケットスケジューリングが知られている。例えば、送受信の対象となるパケット群において低遅延のパケットを特定して制御する、所謂、相対的な制御手法等が採用されている。
一方、上述のようなネットワーク環境下におけるパケットの遅延時間を表現する一手法として、IETF(Internet Engineering Task Force) のRFC(Request for Comments)2212 Specification of Guaranteed Quality of Service(Guaranteed Service)の規格が知られている。この規格に依れば、送信側インタフェースから送信されたパケットが、受信側インタフェースに受信されるまでの遅延時間に着目した表現式が採用されており、パケット群全体のキューイング遅延時間における上限値を制御するものである。表現式は、具体的には、以下に示す各パラメータに基づいた式(1)で実現される。
【0004】
式(1)Delay_bound = {(b-M)/R×(p-r)/(p-t)}+(M+Ctot)/R+Dtot
r: Token Bucket Rate (Sustainable Rate)
b: Token Bucket Size (Burst Size)
p: Peak Rate
m: Minimum Policed Unit
M: Maximum Packet Size
R: Service Rate
Ctot: Amount of Rate-Dependent Error Term
C:一つの通信中継装置における Rate-Dependent Error Term
Dtot: Amount of Rate-Independent Error Term
D:一つの通信中継装置における Rate-Independent Error Term
但し、[ 0≦r≦R≦p、0≦m≦M≦b、0≦Ctot、0≦Dtot ]である。
【0005】
上述のパラメータ「r」、「b」、「p」は、通信中継装置におけるトラフィックの特徴を表し、パラメータ「Dtot」は、パケットが送信用のキューに移動(挿入)した直後から、送信用インタフェースを介して実際に送信が開始されるまでの時間(以下、キューイング遅延時間)を表している。また、パラメータ「M」、「Ctot」は、送信及び受信インタフェースに対応する通信経路(以下、通信パス)により決定される値である。なお、上記式(1)に表記されないパラメータ「m」は、トークンバケットの制御において必要となるパラメータである。
遅延時間の制御は、上記パラメータR、即ちサービスレートを操作することによる「遅延時間の調整」という形式で行われる。具体的には、パラメータRを大きくすることにより、遅延時間を小さく調整可能とするものである。この「遅延時間の調整」における表現式は、上記各パラメータが[ r≦R≦p ]となる条件下において、以下に示す式(2)、式(3)、及び式(4)で実現される。
【0006】
式(2) Delay_bound = b/r+Ctot/r+Dtot
但し、Delay_boundは、パラメータR=rの場合における調整の下限値。
式(3) Delay_bound = M/p+Ctot/p+Dtot
但し、Delay_boundは、パラメータR=pの場合における調整の上限値。
式(4) Delay_bound = M/r+Ctot/p+Dtot
但し、Delay_boundは、パラメータR=pの場合、且つ送信速度がパラメータrの場合における調整の上限値。
【0007】
また、上述のパケットスケジューリング手法では、以下に示すような関連技術が知られている。これらの関連技術における手法、概要及び文献等の解説については、「 Gigabit Networking; Craig Partridge著、Addison-wesley Publishing Company刊(訳書:ソフトバンク刊)」が詳しい。
・FIFO ( First In First Out )
・Priority Queuing
・Token Bucket with Leaky Bucket Control ( Virtual Clock Algorithm < Virtual Scheduling Algorithm > )
・WFQ ( Weighted Fair Queuing )
・CBQ ( Class Based Queuing )
【0008】
【発明が解決しようとする課題】
ところで、上述のようなパケット群に対する相対的な制御手法、例えば、優先順位制御のみを行うパケットスケジューリングでは、高い優先順位のパケットは平均より低い遅延となるのが一般的であるが、定量的な遅延の低さを正確に把握することは不可能であった。
また、上述のRFC Guaranteed Service における規格に基づいた制御手法では、定量的な遅延時間を確保するために、過剰なリソースを使用してしまうという問題を含むものであり、遅延時間を調整するために実際に実行しようとする転送速度、即ちサービスレートを必要以上に確保してしまうという問題があった。
【0009】
具体的には、RFC Guaranteed Service 規格による、パケットの遅延時間表現手法に基づいた場合には、以下に示す問題があった。
(1)サービスレート、即ちパラメータRを大きくするということは、通信中継装置における制御対象となる通信パスの割り当て帯域を、実際に必要な帯域「r」より大きく占有することになる。換言すれば、低遅延の確保は、実際の必要帯域以上の過剰な帯域の確保に相当するものとなる。
(2)キューイング遅延時間、即ちパラメータDtotは、通信中継装置毎における通信パスからの影響が反映されるものであり、通信パス数の増減に対応して値が変化する変数である。パラメータRを大きくすることにより、パラメータDtotを小さくすることは可能であるが、パラメータRを、調整の上限値であるパラメータpのピークレートに設定したとしても、必ずしもパラメータDtotの変動を停止することは不可能である。即ち、パラメータDtotは、変化が持続するため、最大の遅延時間を大きく見積もらなければならない傾向がある。
(3)通信パスが増加した場合に、制御対象以外の通信パスからの影響を受けることになり、例えば、遅延時間が累積的に増加してしまう。
(4)通信パス個々の帯域の合計が、物理的な帯域を超過しないように制御を行う場合では、複数インタフェースに各々対応した通信パスからのバースト入力が、同時に特定のインタフェースに対して集中することに伴い、一時的に物理的な帯域を超過してしまうような輻輳が発生する。このような状況下では、通信パスの割り当て帯域やキュー長に依存することなく、大きな遅延が発生してしまう。
【0010】
本発明の課題は、ネットワーク環境下において、パケットに対する遅延時間を定量的且つ動的に制御することができるパケット管理方法を提供することにある。
本発明の他の課題は、上記パケット管理方法の実施に適した通信制御装置、及びデータ通信システムを提供することにある。
本発明の他の課題は、上記パケット管理方法、通信制御装置及びデータ通信システム等をコンピュータ装置で実現するための記録媒体を提供することにある。
【0011】
【課題を解決するための手段】
上記課題を解決する本発明のパケット管理方法は、発信時点までの遅延時間制御の対象となるパケットの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定する過程、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和を算出する過程、算出された間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行う過程を含み、前記送信キューのスケジューリングに前記要求遅延時間を動的に反映させることを特徴とする。
【0012】
前記確保した配置対象区間に既に他のパケットが存在する場合は、前記挿入末尾位置を前記他のパケットの先頭位置に変更するとともに、該変更後の挿入末尾位置からパケットサイズを差分した位置に前記挿入先頭位置を変更して前記配置対象区間を動的に変更する。
【0013】
上記他の課題を解決する本発明の通信制御装置は、通信品質保証を要するパケット群から発信時点までの遅延時間制御の対象となる1または2以上のパケットを選別して保持するパケット処理手段と、前記保持されたパケットのうち、相対的に小さい要求遅延時間のパケットほど送信キューの先頭に近くにキューイングするとともに、これらのパケットの前記送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定し、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信キューのスケジューリングを行うパケット管理手段と、前記スケジューリングされた送信キューに対応するパケットを所定順に送信するパケット送信手段とを備え、前記パケットの選別後、当該パケットの送信までの制御を動的に行うことを特徴とする。
【0014】
本発明の通信制御装置は、また、送信元からのパケット群を送信キューにスケジューリングして受信先へ送信するための通信制御装置であって、前記送信元からのパケット群のうち通信品質保証の対象となるパケットから、発信時点までの遅延時間制御及び帯域制御の対象となる1または2以上のパケットを特定して所定の帯域制御を施すとともに、遅延時間制御の対象となるパケット、帯域制御のみの対象となるパケット、通信品質保証の対象外となるパケットを各々選別して保持するパケット処理手段と、前記遅延時間制御の対象となるパケットに対応する送信候補キューの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して前記送信キューにおける当該送信候補キューの相対的な配置対象区間を特定するとともに、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信候補キューのスケジューリングを行うとともに、前記送信候補キュー、前記帯域制御のみのパケットに対応する帯域制御キュー、通信品質保証の対象外となるパケットに対応するデフォルトキューの優先順位でスケジューリングを行い、各キューを前記送信キューに移動して配列するパケット管理手段と、前記送信キューに配列された各キューから、相対的に先頭に位置するキューを優先的に選択して対応パケットを前記受信先へ送信するパケット送信手段と、を備え、キューの制御を定量的且つ動的に行うように構成されていることを特徴とする。
【0015】
上記通信制御装置において、前記パケット処理手段は、例えば、所定の通信品質保証ルーティングに基づくフィルタを用いて、通信品質保証の対象となるパケットか、通信品質保証の対象外のパケットかを判定するように構成される。また、前記通信品質保証の対象となるパケットから第1の帯域制御が施されている第1パケットと該第1の帯域制御が施されていない第2パケットを特定するとともに、第2パケットに対して第2の帯域制御を施して正規化されたトークンバケットを得るように構成される。前記第2の帯域制御の際にエラーとなる違反パケットがある場合は、この違反パケットを、前記通信品質保証の対象外となるパケットとして保持するようにする。
【0016】
前記遅延時間制御の対象となるパケットの検出は、例えば、予め保持された、遅延時間制御の指定がなされる前記送信元及び受信先の識別情報に基づいて行う。あるいは、パケットのヘッダに付与された遅延時間制御の識別情報に基づいて行う。
【0017】
上記通信制御装置において、前記パケット管理手段は、例えば、以下のようにして構成することができる。
(1)前記送信候補キューの要求遅延時間と自装置の最大送信速度との積から前記配置対象区間の挿入末尾位置を算出するとともに、該挿入末尾位置から当該送信候補キューのバーストサイズを差分して前記配置対象区間の挿入先頭位置を算出し、前記送信キューに対する送信候補キューの相対的な配置対象区間を特定する。
(2)前記算出された挿入末尾位置から前記送信キューの先頭までの区間において、スケジューリング済みの送信候補キューが配置されていない間隙の総和を算出し、該間隙の総和が送信候補キューに対応するバーストサイズ以上となる場合に前記配置対象区間を確保して新たな送信候補キューを挿入する。
(3)前記送信キューに新たな送信候補キューを挿入することができ且つ当該送信候補キューの配置対象区間に既スケジューリングキューが存する場合に、この既スケジューリングキューを整列させた後に当該新たな送信候補キューを挿入してキュー再配列を行う。
(4)整列後の配置対象区間に残存する既スケジューリングキューを検出し、さらに、検出された既スケジューリングキューから、その先頭位置が前記挿入末尾位置に最も近いものを検出するとともに、前記挿入末尾位置を検出された既スケジューリングキューの先頭位置に変更し、該変更後の挿入末尾位置から当該送信候補キューに対応するバーストサイズを差分して前記挿入先頭位置を算出することにより、前記新たな送信候補キューの配置対象区間を変更する。
(5)前記送信キューに配列された特定の送信候補キューに対する遅延時間制御の無効化指定を検出した場合に、当該送信候補キューを削除して前記送信キューを当該送信候補キューの挿入以前の状態に復元する。
【0018】
上記通信制御装置において、前記パケット送信手段は、例えば、選択された送信候補キュー、前記帯域制御キュー、及びデフォルトキューのいずれかに対応するパケットを送信する際に、当該パケットよりも前記挿入先頭位置が小さい新たな送信候補キューが前記送信キューにスケジューリングされた場合、当該新たな送信候補キューに対応するパケットを優先的に選択して送信するように構成されている。
【0019】
なお、前記送信キューの保持領域は、好ましくは、前記送信候補キュー及び帯域制御キューにおけるトークンバケットサイズの総和以上となるように設定する。これにより、パケット落ちの事態を回避しやすくなる。
【0020】
また、他の課題を解決する本発明のデータ通信システムは、上記通信制御装置が通信回線に接続され、この通信回線を介して流通する送信元からのパケットを前記通信制御装置に取り込んで前記通信回線を介して対応する受信先へ送信されるように構成されたものである。
【0021】
本発明のデータ通信システムの好ましい形態としては、前記通信制御装置自体のサービスレートを、前記通信回線における送信元及び受信先に各々対応する通信経路毎の平均転送率に固定化して必要帯域を限定させ、前記通信経路数の増減に依存して変化するシステム全体の遅延時間を、前記必要帯域に基づいた範囲内に抑制するように構成されていることを特徴とする。
また、前記通信回線に、例えばTCP/IPに準拠した通信プロトコルに基づく複数の前記通信制御装置が存する場合に、前記送信元からの要求遅延時間及び対応する通信経路の平均転送率に基づいてシステム全体の総遅延時間を算出し、当該総遅延時間を前記通信制御装置の台数で除算した値を、通信制御装置毎の遅延時間として分配するとともに、通信制御装置毎の送信キューにおける遅延時間制御の対象となるパケットの配置対象区間を、前記分配された遅延時間に基づいて特定するように構成されていることを特徴とする。
【0022】
上記他の課題を解決する本発明の記録媒体は、パケットを送信キューにスケジューリングして送信するコンピュータ装置において読みとり可能なプログラムが記録された記録媒体であって、前記プログラムが、少なくとも、下記の処理を前記コンピュータ装置に実行させるものである。
(1−1)発信時点までの遅延時間制御の対象となるパケットの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定する処理、
(1−2)算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和を算出する処理、
(1−3)算出された間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行う処理。
【0023】
本発明の他の記録媒体は、送信元からのパケットを送信キューにスケジューリングして受信先へ送信するコンピュータ装置において読みとり可能なプログラムが記録された記録媒体であって、前記プログラムが、少なくとも、下記の処理を前記コンピュータ装置に実行させるものである。
(2−1)前記送信元からのパケット群のうち通信品質保証の対象となるパケットから遅延時間制御及び帯域制御の対象となる1または2以上のパケットを特定して所定の帯域制御を施す処理、
(2−2)遅延時間制御の対象となるパケット、帯域制御のみの対象となるパケット、通信品質保証の対象外となるパケットを各々選別して保持する処理、
(2−3)前記遅延時間制御の対象となるパケットに対応する送信候補キューの要求遅延時間に基づいて、当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して前記送信キューにおける当該送信候補キューの相対的な配置対象区間を特定する処理、
(2−4)算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信候補キューのスケジューリングを行うとともに、前記送信候補キュー、前記帯域制御のみのパケットに対応する帯域制御キュー、通信品質保証の対象外となるパケットに対応するデフォルトキューの優先順位でスケジューリングを行い、各キューを前記送信キューに移動して配列する処理。
【0024】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
(第1実施形態)
図1は、本発明をインタネット等の有線通信回線を介したデータ通信システムに適用した場合の実施の形態を示す機能ブロック図である。
このデータ通信システム1は、情報取得装置となる複数のクライアント20、情報提供装置となる複数のサーバ30、及び、クライアント20〜サーバ30間に介在してデータ通信の中継を行う複数の通信サーバ10を、それぞれ公衆網Lを介して相互通信可能に接続されて構成される。
【0025】
通信サーバ10は、本発明の通信中継装置として機能するもので、サーバ本体がオペレーティングシステム(OS)と協動するプログラムを読み込んで実行することにより形成される、受信処理部11、受信キュー12、デフォルトキュー13、受信キュー処理部14、帯域制御受信キュー15、パケット管理処理部16、送信キュー17、及び送信処理部18、の機能ブロックを具備して構成される。
【0026】
なお、上記プログラムは、通常、サーバ本体の内部記憶装置あるいは外部記憶装置に格納され、随時読み取られて実行されるようになっているが、上記サーバ本体とは分離可能な可搬性記録媒体、例えばCD−ROMやFD等に格納され、あるいはサーバ本体に接続されたネットワーク媒体を通じて入力され、使用時に上記内部記憶装置または外部記憶装置にインストールされて随時実行に供されるものであってもよい。
【0027】
受信処理部11は、公衆網Lを介してクライアント20及びサーバ30からのデータ通信の対象となるパケットを受信して通信品質保証の対象となるパケットか否かを検出し、パケットの選別を行うものである。通信品質保証の対象となるパケット群は、受信キュー12に入力され、一方、通信品質保証の対象外となるパケット(以下、ベストエフォートパケット)群は、デフォルトキュー13に入力される。
【0028】
受信キュー12は、受信処理部11を介して取得された通信品質保証の対象となるパケット群を保持するものである。
デフォルトキュー13は、受信処理部11により選別されたベストエフォートパケット群を保持するものである。
【0029】
受信キュー処理部14は、受信キュー12中のパケット群に対して、遅延時間制御及び帯域制御の指定がなされたパケットを検出するとともに、帯域制御が施されていないパケット群に対して帯域制御を行うものである。
具体的には、受信キュー12中のパケット群から、シェーピングが施されていないパケットを検出してリキーバケットフィルタ付きトークンバケットで正規化して整形する、所謂公知のポリシングにより行われる。該整形後の遅延時間制御の対象外となるパケット群は、受信キュー12から帯域制御受信キュー15に移動されて保持される。
なお、遅延時間制御の指定とは、通信サーバ10に対する送信元または受信先となるクライアント10及びサーバ30からなされるものであり、特定のパケットに対して、例えば、「10ms以内の遅延時間」等と最大遅延時間が指定されるものである。この指定された最大遅延時間を、以下、要求遅延時間と記す。
【0030】
帯域制御受信キュー15は、受信キュー処理部14においてポリシングによる帯域制御が施された、遅延時間制御の対象外となるパケット群を保持するものである。パケット管理処理部16は、受信キュー12、デフォルトキュー13、及び帯域制御受信キュー15中に保持されたパケット群を、送信キュー17に移動させてスケジューリングを行い保持するものである。なお、パケットスケジューリングに関する詳細については後述する。
【0031】
送信キュー17は、パケット管理処理部16によりスケジューリングがなされた、送信対象となるパケット群が保持されたものである。
送信処理部18は、図示しない送信インタフェースを介して、送信キュー17中における送信対象となるパケットの送信を行うものである。
なお、上記受信キュー12、デフォルトキュー13、帯域制御受信キュー15、及び送信キュー17は、実際には、バッファ等の記憶手段を用いたパケットの「格納部」として構成されるものであるが、以降の説明を把握し易くするため便宜的に3種類に分類した「キュー」として記すものである。
【0032】
図2及び図3は、通信サーバ10における処理の概要を表す処理手順図である。
受信処理部11は、パケットを受信するとともに(ステップS101)、当該受信パケットが通信品質保証の対象か否かを判定する。通信品質保証の対象である場合は(ステップS102:Yes)、当該パケットを受信キュー12に保持する(ステップS103)。一方、通信品質保証対象外のベストエフォートパケットならば(ステップS102:No)、当該パケットをデフォルトキュー13に保持する(ステップS104)。この通信品質保証の対象か否かの判定は、例えば、公知のQoS(Quality of Service)ルーティングに係るQoSフィルタ等を用いて構成すれば良い。
【0033】
次に、受信キュー処理部14では、受信キュー12中のパケット群に対して帯域制御(シェーピング)が施されているか否かを検出する。パケットにシェーピングが施されていなければ(ステップS105:No)、該当するパケットに帯域制御(ポリシング)を施すとともに(ステップS106)、ポリシング時に受信キュー12から溢れるような違反パケットがあれば(ステップS107:Yes)、当該パケットを受信キュー12からデフォルトキュー13へ移動して保持する(ステップS108)。
【0034】
一方、ポリシングが正常に施された場合(ステップS107:No)、または、シェーピングが検出された場合(ステップS105:Yes)のパケットに対して、受信キュー処理部14は、当該パケットが遅延時間制御の対象か否かを判定する。遅延時間制御の対象ならば(ステップS109:Yes)、当該パケットを受信キュー12に保持し(ステップS110)、一方、帯域制御のみとなる遅延時間制御の対象外ならば(ステップS109:No)、当該パケットを受信キュー12から帯域制御受信キュー15に移動して保持する(ステップS111)。
なお、遅延時間制御の判定は、例えば、遅延時間制御の指定がなされるクライアント20及びサーバ30に対する識別情報を予め保持しておき、当該識別情報に基づいて判定する、または、遅延時間制御に関する情報をパケットヘッダに具備させる等、適宜構成すれば良い。
【0035】
また、本実施形態では、受信処理部11において、上記ステップS102のように通信品質保証が必要なパケットか否かを検出して通信品質保証パケットとベストエフォートパケットとを明示的に選別する構成としているが、例えば、受信処理部11と受信キュー処理部14とを統合させて構成することも可能である。この場合、受信したパケットが遅延時間制御対象か否かを判定して通信品質保証パケットとベストエフォートパケットとを選別するとともに、さらに、通信品質保証パケットに対して帯域制御の有無を検出して上記ステップS106〜S111の処理を適宜行うように構成すれば良い。
【0036】
次に、パケット管理処理部16では、受信キュー12、デフォルトキュー13、及び帯域制御受信キュー15中におけるパケット群を送信キュー17に移動させるとともに、指定された要求遅延時間を反映させたスケジューリングを行う(ステップS112)。
当該パケットスケジューリング完了後、送信処理部18では、送信キュー17中のパケット群を対応する送信先に対して送信する(ステップS113)。
受信処理部11では、新たな受信パケットが検出される場合には(ステップS114:Yes)、ステップS101に戻り処理を繰り返す。
なお、上記ステップS114では、受信パケットの検出処理を便宜的に設けたものであるが、実際には、受信処理部11及び送信処理部18における、流入するパケット群及び送信されるパケット群の処理は並列的に行われるものとなる。
【0037】
次に、本発明におけるパケットスケジューリング手法について説明する。
従来手法では、送信元となる複数のクライアント20またはサーバ30からのパケット群を、通信パス毎の到着順にキューイングしていたために、遅延時間が不確実なものになる要因となっていた。そこで本発明では、送信キュー17における各パケットを動的に並べ替えて配列可能とすることにより、各々のパケットの位置に基づいた遅延時間の決定が可能となる「割り込み型パケットスケジューリング手法」を提案するものである。
【0038】
本実施形態の通信サーバ10では、この手法をパケット管理処理部16に適用することにより実現するものである。
具体的には、以下に示す手順に基づいて、送信キュー17における各パケットの送信順位を入れ替えるものである。
なお、以下の説明では、パケット管理処理部16により送信キュー17へ移動後のスケジューリング対象となる各パケットについて、デフォルトキュー13から移動された1または所定数のパケット群を「デフォルトキュー」、帯域制御受信キュー15から移動された1または所定数のパケット群を「帯域制御キュー」、また、受信キュー12から移動された遅延時間制御の対象となる1または所定数のパケット群を「送信候補キュー」と記して説明する。
(1)通信パスからの要求遅延時間に基づいて、遅延時間制御の対象となる「送信候補キュー」の、送信キュー17における先頭からの相対的な配置対象位置を決定する。
(2)位置が決定した「送信候補キュー」と、送信キュー17に既存するスケジューリング済みの「送信候補キュー」(以下、「既存送信候補キュー」)群との位置を比較するとともに、決定した配置対象位置に基づいて、当該「送信候補キュー」を送信キュー17に挿入する。
(3)送信処理部18では、送信キュー17にスケジューリング後の「送信候補キュー」群において、先頭に位置する「送信候補キュー」のパケットから優先的に送信する。
【0039】
次に、本実施形態におけるデータ通信システム1の構築に際しての前処理となる準備段階について説明する。
まず、前述したRFC Guaranteed Service 規格の式(1)における、パラメータR、即ち通信サーバ10自体に依存するサービスレートは、遅延時間制御の対象となる通信パスに対して通信サーバ10毎に設定されるトークンバケットレートであると解釈可能なものである。そこで、当該パラメータを[ R=r ]と固定化することにより設定値を必要以上に大きくしないという条件を想定する。
【0040】
もし、パラメータRの指定があれば、要求に係る送信元インタフェース〜受信先インタフェース間のパケット遅延時間を算出するために当該パラメータを使用することもあるが、本実施形態のデータ通信システム1では、サービスレートの過剰確保を防ぐために、パラメータRを用いずに通信パスにおける平均転送率(転送レート)であるパラメータrを用いるものとする。
【0041】
この条件下では、データ通信システム1全体の総キューイング遅延時間を表すパラメータDtot以外の各パラメータは、通信パス成立時に伴って決定されるものとなる。即ち、パラメータDtotは、該通信パス上における通信サーバ10毎のパラメータDの総和であることから、各通信サーバ10におけるパラメータDについての最大値を制御することが、該通信パスの遅延時間制御であると換言できるものとなる。
【0042】
このパラメータDは、具体的には、通信サーバ10内で、送信対象となる特定のパケットが、送信キュー17へのキューイングが先行してなされた他のパケット群に起因して送信を待機しなければならないような「送信に要する待ち時間の合計」、所謂、通信サーバ10毎のキューイング遅延時間を表すものであり、最悪のケースでは、当該通信サーバ10に対応する総通信パスの遅延時間を要することになる。
【0043】
ここで、通信パスにおけるクライアント20またはサーバ30からの要求遅延時間を「Dreq」とすれば、データ通信システム1全体の総キューイング遅延時間Dtotは、以下の式(5)により算出される。
式(5) Dtot=Dreq−b/r−Ctot/r
【0044】
通信サーバ10が複数台配備されたデータ通信システム1では、算出後のパラメータDtotは、該台数に基づいて分配される。例えば、通信パス中において通信サーバ10が4台あり、パラメータDtotが800msであったとすれば、パラメータDを200msとして一つの通信サーバ10毎に分配すれば良く、パラメータDは、パラメータDtotに基づいた各通信サーバ10毎に依存する遅延時間とみなすことができる。なお、この分配手法としては、例えば、要求された通信品質を満たす通信経路の最適探索を行う公知のQoSルーティングの一部として実現可能である。
このことから、分配された通信サーバ10毎のキューイング遅延時間であるパラメータDは、送信キュー17における割り込み型パケットスケジューリングの制御パラメータとして利用可能となる。
【0045】
また、一つの通信サーバ10におけるキューイング遅延時間を調整することは、結果的に、該通信パスに係る環境全体の遅延時間を調整可能となるものである。そこで本発明では、送信元となる通信パスからの要求遅延時間に基づいて、相対的に小さい要求遅延時間のパケットに対応する「送信候補キュー」は、出力キューである送信キュー17の先頭即ち出力口により近く、一方、相対的に大きい要求遅延時間の「送信候補キュー」は、送信キュー17の後方即ち出力口からより遠い、位置を各々決定してキューイングを行うものである。
【0046】
また、パケットの発生源となる送信元のクライアント20またはサーバ30において、前述の式(1)で示される各パラメータのうち、「r」、「b」、「m」、「M」のトークンバケットに関連するパラメータ群は最低限、定義及び指定を行う必要がある。もし、これらの指定がなされない場合には、割り込み型パケットスケジューリングの対象とはならないパケット群が発生してしまうために、上記「r」、「b」、「m」、「M」のトークンバケットに関連するパラメータ群には各値が定義または指定済みであるものとする。
【0047】
また、送信キュー17自体の構成に依存して決定される、送信キュー17におけるバッファサイズ(パラメータB_transmit)は、当該通信サーバ10で発生する最大キューイング遅延時間を与える要素となるものであり、遅延時間制御対象となる通信パスのトークンバケットサイズbの総和は、パラメータB_transmitより小さい値に設定するものである。具体的には、受信キュー処理部14における帯域制御、即ちリキーバケットフィルタ付トークンバケットで整形された場合であっても、タイミングに起因して受信キュー12または帯域制御受信キュー15から送信キュー17へ移動するパケット量が、送信キュー17内部でトークンバケットサイズbを超過するような状況が発生する場合がある。
【0048】
このような状況下に対処するために、送信キュー17のバッファサイズを、すべての通信パスが必要とするトークンバケットサイズ(バーストサイズ)bの総和以上に設定して構成することにより、送信キュー17でのパケット落ちが回避可能となる。
なお、通信サーバ10一台における最大パケットサイズMの許容値は、当該通信サーバ10で実現可能な最小キューイング遅延時間と、パラメータCtotを与えるものであり、必要以上に大きくしないことが望ましい。この最大パケットサイズMは、OSI参照モデルにおける物理及びデータリンク層のMTU(Maximum Transmit Unit)を用いるのが一般的である。以上の説明に基づいた、通信サーバ10の構成概念図を図4に示す。
【0049】
次に、割り込み型パケットスケジューリングについて説明する。
図5は、パケット管理処理部16において、送信キュー17に対するスケジューリング対象となる「送信候補キュー」の挿入及び削除を表す概念図である。
図中の(II)は、「b0」のキューの大きさから成る新たな要求遅延時間に対応する「送信候補キュー」を、適切な配置対象位置へ挿入後の送信キュー17における配列を示しており、当該要求遅延時間に対応するような「既存送信候補キュー」の先頭位置から送信キュー17の出力口までの区間であればすべて適切な配置対象位置とするものである。一方、図中の(I)は、当該「送信候補キュー」の挿入以前、または当該「送信候補キュー」を削除後の、送信キュー17における「既存送信候補キュー」群の配列を示すものである。
【0050】
この「送信候補キュー」の挿入処理は、例えば、以下に示す手順に基づいて行われる。
(A)新たな要求遅延時間に係る「送信候補キュー」の、送信キュー17における挿入すべき配置対象区間(Insert_Length)をパラメータDに基づいて算出する。具体的には、以下の式(6)及び(7)に示す Insert_Length_Head(以下、ILH)と Insert_Length_Tail(以下、ILT)との各パラメータから配置対象区間が得られるものである。
【0051】
式(6) Insert_Length_Head(ILH)=Interface_Rate×D−b
式(7) Insert_Length_Tail(ILT)=Interface_Rate×D
【0052】
この場合の「ILH」は、挿入対象となる要求遅延時間に係る「送信候補キュー」の先頭位置を示すものであり、一方「ILT」は、当該「送信候補キュー」の末尾位置を示すものである。また、「Interface_Rate」は、通信サーバ10における図示しない送信インタフェースに依存する物理的な最大送信速度を示すものである。
【0053】
なお、配置対象区間の算出に際して、パラメータDは当該「送信候補キュー」に対するラベルとして解釈し、例えば、算出された先頭位置「ILH0」と末尾位置「ILT0」との組をキューラベルD0のパラメータとする。
(B)送信キュー17に前回スケジューリング済みの「既存送信候補キュー」群のキューラベルDi〜nに対応する各末尾位置「ILTi〜n」と、挿入対象となる「送信候補キュー」D0とのパラメータを比較する。具体的には、「既存送信候補キュー」群の各末尾位置「ILTi〜n」のうちで、「送信候補キュー」の末尾位置以下、即ち[ILT0≧ILTi]となる場合の末尾位置「ILTi」に着目して、最も「送信候補キュー」の末尾位置「ILT0」に近似する「既存送信候補キュー」の「i」、即ちラベルを検出する。
【0054】
次に、同様にして、「既存送信候補キュー」群の各先頭位置のうちで、「送信候補キュー」の末尾位置以下、即ち[ILT0≧ILHj]となる場合の先頭位置「ILHj」に着目して、最も「送信候補キュー」の末尾位置「ILT0」に近似する「既存送信候補キュー」のラベル「j」を検出する。
この検出結果が、[i=j]となる場合、即ち、位置「ILH0」から位置「ILT0」までの区間に存する「既存送信候補キュー」に依存することなく「送信候補キュー」の挿入が可能となる場合には、「送信候補キュー」のパラメータDに変化はなく、図5に示すような挿入形態となる。
この図では、後述する「既存送信候補キュー」群の間隙を詰めることにより、「送信候補キュー」の配置対象区間に存在していたすべての「既存送信候補キュー」群が当該配置対象区間より前方に移動され、「送信候補キュー」の挿入が行われたことを表している。
【0055】
一方、[i≠j]となる場合には、位置「ILH0」から位置「ILT0」までの区間に存在する「既存送信候補キュー」群に起因して、「送信候補キュー」の末尾及び先頭位置を変更する必要がある。この場合の挿入イメージを図6の概念図に示す。この図では、図5と同様の「送信候補キュー」が、後述の間隙を詰める処理によっても、当該配置対象区間に「既存送信候補キュー」群が存在しているために、平行四辺形で表される形状の底辺位置へ配置対象区間を変更してパラメータDを変更することを表している。具体的には、「送信候補キュー」の末尾位置を「ILT0=ILHj」、先頭位置を「ILH0=ILT0−b」に変更して入れ替えるものである。
【0056】
この入れ替えに際しては、「送信候補キュー」と近似する「既存送信候補キュー」の末尾位置「ILTi」から、送信キュー17の出力口までの部分に存する「既存送信候補キュー」が配置されていない、所謂「すきま」(以下、間隙)に着目する。この部分に存するすべての間隙の合計値がトークンバケットサイズであるパラメータb以上であるならば、「送信候補キュー」D0は、送信キュー17に対して挿入可能となるものである。換言すれば、送信キュー17における間隙合計値がパラメータb以上とならない場合には、「送信候補キュー」D0は「要求遅延時間を満たせない」ことを意味するものであり、現時点での送信キュー17におけるスケジューリングは不可能となる。なお、間隙の合計は、以下に示す式(8)で算出できる。
【0057】
式(8) 間隙の合計
【0058】
(C)送信キュー17において、何番目の「既存送信候補キュー」Dnまでが出力口方向に再配列可能かを算出する。これは、上記手順(B)において、間隙合計値がパラメータb以上となる位置から、送信キュー17の出力口までの区間に存する「既存送信候補キュー」群の各末尾位置「ILT」及び先頭位置[ILH」を変更して「送信候補キュー」の配置対象区間を確保するためである。
以下に示すプログラム1及び2は、この入れ替え処理をプログラミング言語に「C言語」を用いて記述した場合のインプリメント例である。
【0059】
【0060】
上記プログラム1では、間隙合計値を変数sumを用いて算出しており、for文中でループする「i〜index」、即ち「既存送信候補キュー」Di〜indexまでが「送信候補キュー」の挿入により影響を受ける入れ替えの対象となる。各先頭位置ILHi〜index、及び末尾位置ILTi〜indexの値は、以下のプログラム2に基づいて変更され、送信キュー17における出力口方向へ再配列される。
【0061】
【0062】
上記プログラム2では、「送信候補キュー」の先頭位置から送信キュー17の出力口までの区間に位置する「既存送信候補キュー」群の各位置を、各々出力口方向に存在する間隙を詰めることにより再配列を行い、「送信候補キュー」の配置対象区間を確保する処理を示している。
【0063】
(D)上記手順(A)〜(C)により、キューラベルD0の「送信候補キュー」が送信キュー17における配置対象区間に挿入されてスケジューリングが完了され、キューイング遅延時間Dの要求が受理される。該処理の完了により、キューラベルD0の「送信候補キュー」に対応する遅延時間制御の対象となるパケット群は、送信キュー17においてキューイング状態となる。
【0064】
また、パケット管理処理部16は、送信キュー17にスケジューリングされた「送信候補キュー」の削除も可能に構成される。この遅延時間制御キューの削除は、通信パスにおけるクライアント20またはサーバ30よりなされる、遅延時間制御の対象となるパケットに対する無効化の指定を契機に行われるものである。なお、該無効化の指定は、例えば、受信処理部11において検出されるように適宜構成すれば良い。
【0065】
遅延時間制御キューの削除処理は、具体的には、上述した「送信候補キュー」の挿入処理の逆手順に基づくものであり、削除対象となる「送信候補キュー」の挿入に伴って影響を及ぼされた「既存送信候補キュー」群を元の位置に復元するものである。「送信候補キュー」の挿入により再配列された「既存送信候補キュー」群は、当該「送信候補キュー」が削除されることにより、挿入以前の配列に戻されて送信キュー17における間隙も確保されるようになる。
【0066】
図7は、割り込み型パケットスケジューリング〜送信処理における動作を表す概念図である。
送信キュー17のスケジューリングは、より小さいキューラベル値が優先される「プライオリティキューイング」に基づくものである。具体的には、スケジューリング後の送信キュー17に配列されたすべてのキュー群Dnのうち、先頭位置「ILH」が相対的に最小となる「送信候補キュー」に対応するパケット群が優先的に、先頭から順に送信処理部18における送信対象となるものである。
【0067】
また、送信キュー17において遅延時間制御の対象となる「送信候補キュー」がない場合には、「帯域制御キュー」に対応するパケット群が先頭から順に送信対象となる。さらに、「送信候補キュー」及び「帯域制御キュー」がない場合には、「デフォルトキュー」に対応するパケット群が先頭から順に送信対象となる。このことから、任意のキューのパケットを送信後の送信キュー17では、次回に送信対象となるキューに対応するパケット群が最も優先度の高いものとなる。
【0068】
送信処理部18は、パケット管理処理部16と共動するものであり、送信キュー17において先頭位置「ILH」が最小となる「送信候補キュー」に対応するパケット群をすべて送信する。該送信時に、当該「ILH」よりも小さい値の新たな「送信候補キュー」が送信キュー17にスケジューリングされた場合には、この新規「送信候補キュー」に対応するパケットを優先的に送信する(図7(1)〜(3))。
【0069】
すべての「送信候補キュー」に対応するパケット群が送信完了後、次に送信処理部18は、送信キュー17における「帯域制御キュー」に対応するパケットを選択して送信する(図7(4))。また、「帯域制御キュー」に対応するパケット群の送信が完了すれば、送信処理部18は、「デフォルトキュー」に対応するパケット群の送信を行う(図7(5))。
【0070】
なお、「帯域制御キュー」及び「デフォルトキュー」に対応するパケット送信時においても上述と同様に、新規「送信候補キュー」がスケジューリングされた場合には、「送信候補キュー」が優先的に送信される。
このことから、送信処理部18では、送信キュー17における「送信候補キュー」、「帯域制御キュー」、「デフォルトキュー」の順序から成る優先順位に基づいた送信となる。
【0071】
このように、本実施形態のデータ通信システム1では、遅延時間を定量的に把握することが可能となることから、従来手法のように、サービスレート即ちパラメータRを大きく設定する必要がなくなるとともに、平均転送率(転送レート)に着目した遅延時間表現を行うことにより、実際の必要帯域よりも過剰な帯域を消費してしまうという危険性が回避できる。
【0072】
また、通信パス数の増減に対応して値が変化する変数パラメータDtot、即ちデータ通信システム1全体の総キューイング遅延時間は、上限値を、平均転送率に固定化したサービスレートに基づいて決定可能なことから、総キューイング遅延時間Dtotの変動する範囲を当該上限値以内に抑制できる。
このことにより、通信パスが増加した場合に、制御対象以外の通信パスからの影響による遅延時間等の増加が回避できる。
【0073】
また、特定のインタフェースに集中する各通信パスからのバースト入力に伴う、一時的に物理的な帯域を超過してしまうような輻輳を回避できることから、通信パスの割り当て帯域やキュー長に依存することなく発生していた累積的な遅延が解消され、データ通信に係る処理時間を効果的に制御可能となる。
このことから、ネットワーク上のパケットに係る遅延に着目した通信品質管理が可能となることにより、さらに、データ通信及びシステム全体に係るスループットを一定値以上維持することが可能になり、通信品質、信頼性及び実用性が大幅に向上する効果がある。
【0074】
(第2実施形態)
上記実施形態における通信サーバ10は、例えば、スタンドアロン型のコンピュータ装置を用いた通信制御装置として実施することも可能である。この場合の通信制御装置における構成例としては、スタンドアロン型のコンピュータ装置を用いて、上記データ通信システム1の通信サーバ10と同一の機能ブロック群を具備して構成する。
【0075】
この通信制御装置と通信サーバ10が相違する点は、サイトにおけるネットワーク管理サーバ等に接続して使用する通信機器、所謂、単体のルータとして機能するように構成する点であり、回線状況、及びパケットの送受信状況等を、例えば、接続するネットワーク管理サーバに対して視認可能なインタフェースや、LED等のインジケータを用いることにより提示するように構成する。
このように可搬な単体のルータとして構成することにより、サイトにおけるデータ通信環境が柔軟且つ容易に構築可能となるとともに、上記データ通信システム1と同等の効果を得ることが可能となる。
【0076】
【発明の効果】
以上の説明から明らかなように、本発明のパケット管理方法によれば、ネットワーク環境下において、パケットに対する遅延時間を定量的且つ動的に制御可能となることから、例えば、QoSルーティング等の通信品質管理における重要な指標の一つとして利用可能となる効果がある。
また、本発明を適用して構築した通信制御装置及びデータ通信システムによれば、レスポンス時間に制約のある、例えば、リアルタイム性が重視されるネットワーク環境下において、効率的なパケット管理による最適なパケットの遅延時間が提供可能となる、データ通信環境が実現される効果がある。
また、本発明の記録媒体によれば、上記パケット管理方法等による効果が、汎用のコンピュータ装置上で容易に実現可能となる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるデータ通信システムの機能ブロック図。
【図2】通信サーバにおける処理手順図。
【図3】通信サーバにおける処理手順図。
【図4】通信サーバにおける構成概念図。
【図5】送信キューに対するキューの挿入及び削除を表す概念図。
【図6】送信キューに対するキューの挿入イメージを表す概念図。
【図7】割り込み型パケットスケジューリング〜送信処理における動作を表す概念図。
【符号の説明】
1 データ通信システム
10 通信サーバ
11 受信処理部
12 受信キュー
13 デフォルトキュー
14 受信キュー処理部
15 帯域制御受信キュー
16 パケット管理処理部
17 送信キュー
18 送信処理部
20 クライアント
30 サーバ
L 公衆網
Claims (22)
- 発信時点までの遅延時間制御の対象となるパケットの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定する過程と、
算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和を算出する過程と、
算出された間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行う過程と、を含み、
前記送信キューのスケジューリングに前記要求遅延時間を動的に反映させることを特徴とするパケット管理方法。 - 前記確保した配置対象区間に既に他のパケットが存在する場合、前記挿入末尾位置を前記他のパケットの先頭位置に変更するとともに、該変更後の挿入末尾位置からパケットサイズを差分した位置に前記挿入先頭位置を変更して前記配置対象区間を動的に変更することを特徴とする請求項1記載のパケット管理方法。
- 通信品質保証を要するパケット群から発信時点までの遅延時間制御の対象となる1または2以上のパケットを選別して保持するパケット処理手段と、
前記保持されたパケットのうち、相対的に小さい要求遅延時間のパケットほど送信キューの先頭に近くにキューイングするとともに、これらのパケットの前記送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定し、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信キューのスケジューリングを行うパケット管理手段と、
前記スケジューリングされた送信キューに対応するパケットを所定順に送信するパケット送信手段とを備え、
前記パケットの選別後、当該パケットの送信までの制御を動的に行うことを特徴とする通信制御装置。 - 送信元からのパケット群を送信キューにスケジューリングして受信先へ送信するための通信制御装置であって、
前記送信元からのパケット群のうち通信品質保証の対象となるパケットから、発信時点までの遅延時間制御及び帯域制御の対象となる1または2以上のパケットを特定して所定の帯域制御を施すとともに、遅延時間制御の対象となるパケット、帯域制御のみの対象となるパケット、通信品質保証の対象外となるパケットを各々選別して保持するパケット処理手段と、
前記遅延時間制御の対象となるパケットに対応する送信候補キューの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して前記送信キューにおける当該送信候補キューの相対的な配置対象区間を特定するとともに、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信候補キューのスケジューリングを行うとともに、前記送信候補キュー、前記帯域制御のみのパケットに対応する帯域制御キュー、通信品質保証の対象外となるパケットに対応するデフォルトキューの優先順位でスケジューリングを行い、各キューを前記送信キューに移動して配列するパケット管理手段と、
前記送信キューに配列された各キューから、相対的に先頭に位置するキューを優先的に選択して対応パケットを前記受信先へ送信するパケット送信手段と、を備え、キューの制御を定量的且つ動的に行うように構成されていることを特徴とする通信制御装置。 - 前記パケット処理手段は、所定の通信品質保証ルーティングに基づくフィルタを用いて、通信品質保証の対象となるパケットか、通信品質保証の対象外のパケットかを判定するように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記パケット処理手段は、前記通信品質保証の対象となるパケットから第1の帯域制御が施されている第1パケットと該第1の帯域制御が施されていない第2パケットを特定するとともに、第2パケットに対して第2の帯域制御を施して正規化されたトークンバケットを得るように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記パケット処理手段は、前記第2の帯域制御の際にエラーとなる違反パケットを、前記通信品質保証の対象外となるパケットとして保持するように構成されていることを特徴とする請求項6記載の通信制御装置。
- 前記パケット処理手段は、予め保持された、遅延時間制御の指定がなされる前記送信元及び受信先の識別情報に基づいて前記遅延時間制御の対象となるパケットを検出するように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記パケット処理手段は、前記遅延時間制御の対象となるパケットを、当該パケットのヘッダに付与された遅延時間制御の識別情報に基づいて検出するように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記パケット管理手段は、前記送信候補キューの要求遅延時間と自装置の最大送信速度との積から前記配置対象区間の挿入末尾位置を算出するとともに、該挿入末尾位置から当該送信候補キューのバーストサイズを差分して前記配置対象区間の挿入先頭位置を算出し、前記送信キューに対する送信候補キューの相対的な配置対象区間を特定するように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記パケット管理手段は、前記算出された挿入末尾位置から前記送信キューの先頭までの区間において、スケジューリング済みの送信候補キューが配置されていない間隙の総和を算出し、該間隙の総和が送信候補キューに対応するバーストサイズ以上となる場合に前記配置対象区間を確保して新たな送信候補キューを挿入するように構成されていることを特徴とする請求項4または10記載の通信制御装置。
- 前記パケット管理手段は、前記送信キューに新たな送信候補キューを挿入することができ且つ当該送信候補キューの配置対象区間に既スケジューリングキューが存する場合に、この既スケジューリングキューを整列させた後に当該新たな送信候補キューを挿入してキュー再配列を行うように構成されていることを特徴とする請求項11記載の通信制御装置。
- 前記パケット管理手段は、整列後の配置対象区間に残存する既スケジューリングキューを検出し、さらに、検出された既スケジューリングキューから、その先頭位置が前記挿入末尾位置に最も近いものを検出するとともに、前記挿入末尾位置を検出された既スケジューリングキューの先頭位置に変更し、該変更後の挿入末尾位置から当該送信候補キューに対応するバーストサイズを差分して前記挿入先頭位置を算出することにより、前記新たな送信候補キューの配置対象区間を変更するように構成されていることを特徴とする請求項12記載の通信制御装置。
- 前記パケット管理手段は、前記送信キューに配列された特定の送信候補キューに対する遅延時間制御の無効化指定を検出した場合に、当該送信候補キューを削除して前記送信キューを当該送信候補キューの挿入以前の状態に復元するように構成されていることを特徴とする請求項4乃至13のいずれかの項記載の通信制御装置。
- 前記パケット送信手段は、選択された送信候補キュー、前記帯域制御キュー、及びデフォルトキューのいずれかに対応するパケットを送信する際に、当該パケットよりも前記挿入先頭位置が小さい新たな送信候補キューが前記送信キューにスケジューリングされた場合、当該新たな送信候補キューに対応するパケットを優先的に選択して送信するように構成されていることを特徴とする請求項4記載の通信制御装置。
- 前記送信キューの保持領域が、前記送信候補キュー及び帯域制御キューにおけるトークンバケットサイズの総和以上となるように設定されていることを特徴とする請求項4乃至15のいずれかの項記載の通信制御装置。
- 請求項3乃至16のいずれかの項に記載された通信制御装置が通信回線に接続され、この通信回線を介して流通する送信元からのパケットを前記通信制御装置に取り込んで前記通信回線を介して対応する受信先へ送信されるように構成されたデータ通信システム。
- 前記通信制御装置自体のサービスレートを、前記通信回線における送信元及び受信先に各々対応する通信経路毎の平均転送率に固定化して必要帯域を限定させ、前記通信経路数の増減に依存して変化するシステム全体の遅延時間を、前記必要帯域に基づいた範囲内に抑制するように構成されていることを特徴とする請求項17記載のデータ通信システム。
- 前記通信回線に複数の前記通信制御装置が存する場合に、前記送信元からの要求遅延時間及び対応する通信経路の平均転送率に基づいてシステム全体の総遅延時間を算出し、当該総遅延時間を前記通信制御装置の台数で除算した値を、通信制御装置毎の遅延時間として分配するとともに、
通信制御装置毎の送信キューにおける遅延時間制御の対象となるパケットの配置対象区間を、前記分配された遅延時間に基づいて特定するように構成されていることを特徴とする請求項17または18記載のデータ通信システム。 - 前記通信制御装置がTCP/IPに準拠した通信プロトコルに基づく装置であることを特徴とする請求項19記載のデータ通信システム。
- パケットを送信キューにスケジューリングして送信するコンピュータ装置において読みとり可能なプログラムが記録された記録媒体であって、
前記プログラムが、少なくとも、
発信時点までの遅延時間制御の対象となるパケットの要求遅延時間に基づいて当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して配置対象区間を特定する処理、
算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和を算出する処理、
算出された間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行う処理を前記コンピュータに実行させ、前記送信キューのスケジューリングに前記要求遅延時間を動的に反映させるものであることを特徴とする記録媒体。 - 送信元からのパケットを送信キューにスケジューリングして受信先へ送信するコンピュータ装置において読みとり可能なプログラムが記録された記録媒体であって、
前記プログラムが、
前記送信元からのパケット群のうち通信品質保証の対象となるパケットから遅延時間制御及び帯域制御の対象となる1または2以上のパケットを特定して所定の帯域制御を施す処理、遅延時間制御の対象となるパケット、帯域制御のみの対象となるパケット、通信品質保証の対象外となるパケットを各々選別して保持する処理、前記遅延時間制御の対象となるパケットに対応する送信候補キューの要求遅延時間に基づいて、当該パケットの送信キューに対する相対的な挿入先頭位置及び挿入末尾位置を算出して前記送信キューにおける当該送信候補キューの相対的な配置対象区間を特定する処理、算出された挿入末尾位置から前記送信キューの先頭までの区間における間隙の総和がパケットサイズ以上である場合に前記配置対象区間を確保してパケット挿入及びパケット配列を行うことにより、前記送信候補キューのスケジューリングを行うとともに、前記送信候補キュー、前記帯域制御のみのパケットに対応する帯域制御キュー、通信品質保証の対象外となるパケットに対応するデフォルトキューの優先順位でスケジューリングを行い、各キューを前記送信キューに移動して配列する処理、前記送信キューに配列された各キューから、相対的に先頭に位置するキューを優先的に選択して対応パケットを前記受信先へ送信する処理、を前記コンピュータ装置に実行させるものであることを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04483198A JP3895033B2 (ja) | 1998-02-26 | 1998-02-26 | パケット管理方法、通信制御装置、データ通信システム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04483198A JP3895033B2 (ja) | 1998-02-26 | 1998-02-26 | パケット管理方法、通信制御装置、データ通信システム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11243420A JPH11243420A (ja) | 1999-09-07 |
JP3895033B2 true JP3895033B2 (ja) | 2007-03-22 |
Family
ID=12702418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04483198A Expired - Lifetime JP3895033B2 (ja) | 1998-02-26 | 1998-02-26 | パケット管理方法、通信制御装置、データ通信システム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3895033B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295555B2 (en) | 2002-03-08 | 2007-11-13 | Broadcom Corporation | System and method for identifying upper layer protocol message boundaries |
KR101327638B1 (ko) * | 2010-04-07 | 2013-11-21 | 한국전자통신연구원 | 미디어 전송 장치 및 미디어 전송 장치에서의 패킷 스케줄링 방법 |
-
1998
- 1998-02-26 JP JP04483198A patent/JP3895033B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11243420A (ja) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10764215B2 (en) | Programmable broadband gateway hierarchical output queueing | |
KR100431191B1 (ko) | 크레딧 기반 라운드 로빈을 이용한 패킷 스케쥴링장치 및방법 | |
US6256315B1 (en) | Network to network priority frame dequeuing | |
US20170339059A1 (en) | Flow-Based Adaptive Private Network with Multiple WAN-Paths | |
JP3953819B2 (ja) | スケジューリング装置およびスケジューリング方法 | |
JP4762996B2 (ja) | 優先して扱われるべきパケットの間接的な判断でネットワークにおいてルートするためのパケットを順序付けるための方法及び装置 | |
US6532213B1 (en) | Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers | |
KR100323258B1 (ko) | 버퍼 관리를 통한 속도 보증 | |
JP4779955B2 (ja) | パケット処理装置及びパケット処理方法 | |
EP1137227A2 (en) | Packet switch, scheduling device, drop control circuit, multicast control circuit and Qos control device | |
US11218413B2 (en) | Congestion control management method derived from packets at a network adapter | |
KR100463697B1 (ko) | 네트워크 프로세서가 흐름 큐의 연결 해제/재연결을 통해출력을 스케줄링하는 방법 및 시스템 | |
US20110270976A1 (en) | Network protocol processing system and network protocol processing method | |
JP3779860B2 (ja) | コネクション受付制御方法 | |
EP2996293B1 (en) | A packet scheduling networking device for deadline aware data flows | |
CN113542155B (zh) | 用于处理业务流的方法及装置 | |
JP3895033B2 (ja) | パケット管理方法、通信制御装置、データ通信システム及び記録媒体 | |
JP2020022023A (ja) | パケット転送装置、方法、及びプログラム | |
JP5087595B2 (ja) | エッジノード、ウィンドウサイズ制御方法およびプログラム | |
Doan et al. | Interplay between priority queues and controlled delay in programmable data planes | |
CZ20021780A3 (cs) | Způsob a systém pro řízení přenosu paketů v počítačových sítích | |
US11146485B1 (en) | Time sensitive network programming | |
JP2004320380A (ja) | 帯域制御方法およびその帯域制御装置 | |
Zhang et al. | Efficient data center flow scheduling without starvation using expansion ratio | |
JP2000078188A (ja) | 優先経路制御方法及びルータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061115 |
|
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: 20061212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061213 |
|
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: 20091222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131222 Year of fee payment: 7 |
|
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 |
|
EXPY | Cancellation because of completion of term |