JP3879754B2 - 帯域制御装置およびプログラム - Google Patents

帯域制御装置およびプログラム Download PDF

Info

Publication number
JP3879754B2
JP3879754B2 JP2004251321A JP2004251321A JP3879754B2 JP 3879754 B2 JP3879754 B2 JP 3879754B2 JP 2004251321 A JP2004251321 A JP 2004251321A JP 2004251321 A JP2004251321 A JP 2004251321A JP 3879754 B2 JP3879754 B2 JP 3879754B2
Authority
JP
Japan
Prior art keywords
class
time
packet
bandwidth
transmission target
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 - Fee Related
Application number
JP2004251321A
Other languages
English (en)
Other versions
JP2006074087A (ja
Inventor
良太 広瀬
充宏 小野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2004251321A priority Critical patent/JP3879754B2/ja
Priority to US11/215,772 priority patent/US20060056434A1/en
Priority to CNB2005100990229A priority patent/CN100477634C/zh
Publication of JP2006074087A publication Critical patent/JP2006074087A/ja
Application granted granted Critical
Publication of JP3879754B2 publication Critical patent/JP3879754B2/ja
Priority to US12/148,806 priority patent/US7719986B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/521Static queue service slot or fixed bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット通信網に用いて好適な帯域制御装置およびプログラムに関する。
パケット通信網においては、通信網に接続される端末のインタフェースそのものに対して通信帯域の制限が設定されている。また、当該端末を介して送信されるパケットを複数のクラス(例えばパケットの用途)のうち何れかに分類し、これらクラス毎に通信帯域を所定の最大値以下に制限し、あるいは所定の保証帯域以上の通信帯域を確保する場合も多い。例えば、特許文献1においては、複数のクラスに対して帯域制限を施しつつパケットを送信する技術が開示されている。同文献においては、まずパケットのクラス毎にパケットキュー(順次送信すべきパケットのリスト)が作成される。そして、新たなパケットが発生すると、そのパケットの属するクラスに応じて送信予定時刻が決定され、該パケットはその送信予定時刻とともに当該クラスのパケットキューに追加される。また、全クラスに共用される優先送信予約キューおよび非優先送信予約キューが作成され、上記各パケットキューから出力されたパケットが当該優先(または非優先)送信予約キューにおいて送信予定時刻順にソートされる。そして、この優先送信予約キューに記憶されたパケットが送信予定時刻順に、順次送信されることになる。
特開2002−368799号公報
しかし、上記特許文献1記載の技術によれば、各パケットは、各クラスのパケットキューと優先(または非優先)送信予約キューとの2段階に渡って蓄積された後に送信されるため、端末に実装すべきメモリ容量が増大し、制御が複雑化するという問題がある。さらに、当該技術においては端末のインタフェース全体の通信帯域の制限値を指定することはできないという問題がある。すなわち、インタフェース全体の通信帯域の制限値は、各クラスの通信帯域の制限値の総和に等しくなる。仮に、インタフェース全体の通信帯域をこの総和よりも低い値に設定すべき場合には、上記優先(または非優先)送信予約キューの後段にリーキーバケットなどの帯域制御手段をさらに設ける必要があり、所要メモリ容量が一層増大し、制御が一層複雑になる。
この発明は上述した事情に鑑みてなされたものであり、メモリ容量を抑制しつつ複数のクラス毎に帯域保証および帯域制限を付与することができ、しかも端末のインタフェース全体の通信帯域を各クラスの帯域制限とは独立して制限することのできる帯域制御装置およびプログラムを提供することを目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の帯域制御装置にあっては、複数のクラスのうち何れかに属するパケットを通信網に送信するにあたって、前記各クラス毎に帯域制限または帯域保証を行う帯域制御装置において、前記通信網にパケットを送信する送信装置の通信帯域を当該送信装置に対して許可された許容帯域幅(Ls)以下に抑制するために、次に該送信装置からパケットを送信できる最先時刻であるインタフェース制限時刻(IRL)を記憶する第1のレジスタ(32)と、前記各クラス毎に設けられ、対応するクラスの許容帯域以下に当該クラスの通信帯域を抑制するために次に当該クラスのパケットを送信できる最先時刻であるクラス制限時刻(RL−m)を記憶する第2のレジスタ(42−m)と、前記各クラス毎に設けられ、対応するクラスの保証帯域以上の通信帯域を当該クラスに付与するために次に当該クラスのパケットを送信すべき最終時刻であるクラス保証時刻(RG−m)を記憶する第3のレジスタ(44−m)と、前記各クラスの中から、これらクラスの前記クラス制限時刻(RL−m)および前記クラス保証時刻(RG−m)に基づいて、パケットを送信すべき一のクラスを送信対象クラスに決定するクラス決定手段(SP30〜SP46)と、該送信対象クラスに属するパケットを送信する送信手段(14,SP48)と、該送信対象クラスに属するパケットのデータ量に基づいて、前記インタフェース制限時刻(IRL)と、該送信対象クラスのクラス制限時刻(RL−m)と、該送信対象クラスのクラス保証時刻(RG−m)とを再計算し、これらの再計算結果を前記第1ないし第3のレジスタに格納する再計算手段(SP50)とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の帯域制御装置において、前記クラス決定手段(SP30〜SP46)は、前記各クラスのうち前記クラス保証時刻(RG−m)が現在時刻(SC)よりも遅れているクラスが検出された(SP34において「NO」と判定された)場合には、前記インタフェース制限時刻(IRL)にかかわらず該検出されたクラスを前記送信対象クラスとして決定する一方、前記クラス保証時刻(RG−m)が現在時刻(SC)よりも遅れているクラスが存在しない(SP34において「NO」と判定された)場合には、現在時刻(SC)が前記インタフェース制限時刻(IRL)を越えていることを条件として、送信すべきパケットを有する(FL−m=1である)クラスであって現在時刻が前記クラス制限時刻(RL−m)に達していないクラスの中から前記クラス保証時刻(RG−m)が最先であるクラスを前記送信対象クラスとして決定することを特徴とする。
また、請求項3記載のプログラムにあっては、複数のクラスのうち何れかに属するパケットを通信網に送信するにあたって、前記各クラス毎に帯域制限または帯域保証を行うために処理装置によって実行される帯域制御プログラムにおいて、前記通信網にパケットを送信する送信装置の通信帯域を当該送信装置に対して許可された許容帯域幅(Ls)以下に抑制するために、次に該送信装置からパケットを送信できる最先時刻であるインタフェース制限時刻(IRL)を第1のレジスタ(32)から読出す第1の読出し過程(SP36)と、対応するクラスの許容帯域以下に当該クラスの通信帯域を抑制するために、次に当該クラスのパケットを送信できる最先時刻であるクラス制限時刻(RL−m)を、前記各クラス毎に設けられた第2のレジスタ(42−m)から読出す第2の読出し過程(SP44)と、対応するクラスの保証帯域以上の通信帯域を当該クラスに付与するために、次に当該クラスのパケットを送信すべき最終時刻であるクラス保証時刻(RG−m)を、前記各クラス毎に設けられた第3のレジスタ(44−m)から読出す第3の読出し過程(SP30,SP38)と、前記各クラスの中から、これらクラスの前記クラス制限時刻(RL−m)および前記クラス保証時刻(RG−m)に基づいて、パケットを送信すべき一のクラスを送信対象クラスに決定するクラス決定過程(SP30〜SP46)と、該送信対象クラスに属するパケットを送信する送信過程(SP48)と、該送信対象クラスに属するパケットのデータ量に基づいて、前記インタフェース制限時刻(IRL)と、該送信対象クラスのクラス制限時刻(RL−m)と、該送信対象クラスのクラス保証時刻(RG−m)とを再計算し、これらの再計算結果を前記第1ないし第3のレジスタに格納する再計算手段(SP50)とを実行することを特徴とする。
さらに、請求項4記載の構成にあっては、請求項3記載のプログラムにおいて、前記クラス決定過程(SP30〜SP46)は、前記各クラスのうち前記クラス保証時刻(RG−m)が現在時刻(SC)よりも遅れているクラスが検出された(SP34において「NO」と判定された)場合には、前記インタフェース制限時刻(IRL)にかかわらず該検出されたクラスを前記送信対象クラスとして決定する一方、前記クラス保証時刻(RG−m)が現在時刻(SC)よりも遅れているクラスが存在しない(SP34において「NO」と判定された)場合には、現在時刻(SC)が前記インタフェース制限時刻(IRL)を越えていることを条件として、送信すべきパケットを有する(FL−m=1である)クラスであって現在時刻が前記クラス制限時刻(RL−m)に達していないクラスの中から前記クラス保証時刻(RG−m)が最先であるクラスを前記送信対象クラスとして決定することを特徴とする。
このように本発明によれば、各クラスのクラス制限時刻およびクラス保証時刻に基づいて、パケットを送信すべき一のクラスを送信対象クラスに決定し、該送信対象クラスに属するパケットを送信するとともに、該送信対象クラスに属するパケットのデータ量に基づいて、インタフェース制限時刻と、該送信対象クラスのクラス制限時刻と、該送信対象クラスのクラス保証時刻とを再計算するから、複数段階に渡ってパケットキューを設ける必要がなくなり、メモリ容量を抑制しつつ複数のクラス毎に帯域保証および帯域制限を付与することができる。さらに、インタフェース制限時刻は各クラスのクラス保証時刻およびクラス制限時刻とは独立して設定できるから、端末全体の通信帯域を任意の許容帯域幅以内に抑制することができる。
1.実施例のハードウエア構成
次に、本発明の一実施例のルータ装置の構成を図1を参照し説明する。
図1において100は本実施例のルータ装置であり、その内部に設けられたCPU2は、フラッシュメモリ4に格納された制御プログラムに基づいて、バス10を介してルータ装置100内の各部を制御する。6はRAMであり、CPU2のワークメモリとして使用される。8はタイマであり、現在時刻を計時するとともに、必要に応じてCPU2に対してタイマ割込みを発生させる。12はLANインタフェースであり、図示せぬローカルエリアネットワーク(LAN)に接続される。このLANには、Webサーバ、クライアントコンピュータ等が必要に応じて接続される。14はWANインタフェースであり、モデム24を介してインターネット26に接続される。16はVoIP(Voice over IP)アダプタであり、電話機22から受信される音声信号および制御信号をIPパケットに変換しWANインタフェース14を介して送信するとともに、WANインタフェース14を介して受信したIPパケットを音声信号または制御信号に変換し電話機22に供給する。
2.実施例のデータ構成
次に、本実施例において使用される各種データを図2を参照し説明する。図において30はシステムカウンタであり、逐次更新される現在時刻SCを記憶する。32はインタフェース帯域制限レジスタであり、インタフェース帯域制限時刻データIRLを記憶する。ここで、この制限時刻データIRLについて説明しておく。ルータ装置100がWANインタフェース14を介してインターネット26に送信できるデータの通信帯域すなわちデータの伝送速度には制限がある。この制限(インタフェース許容帯域幅)を「Ls ビット毎秒」とする。いま、ある時刻t1に「Pビット」のIPパケットの送信を開始したのであれば、当該IPパケットのために確保しておくべき時間は「P/Ls」である。従って、現在時刻SCが「t2=t1+P/Ls」に達するまで、原則として他のIPパケットをWANインタフェース14から送信することはできない。制限時刻データIRLは、この時刻t2に相当するデータである。34はパケットバッファ領域であり、WANインタフェース14またはVoIPアダプタ16を介して供給されたIPパケットの実体がここに格納される。
次に、40−m(但しm=1,2,…,n)はクラス領域であり、送信されるIPパケットのクラス毎に確保されている。ここで、「クラス」とは、パケットの用途(例えば、VoIP用、STMPサービス用、HTTPサービス用等)、あるいは送信元の装置(VoIPアダプタ16、サーバ、クライアントコンピュータ)のローカルIPアドレス等に応じてIPパケットを分類したものである。クラス領域40−mの内部において42−mは帯域制限レジスタであり、クラス帯域制限時刻データRL−mを記憶する。上述したようにルータ装置100全体として通信帯域が制限されているのと同様に、各クラスに対しても通信帯域が制限されている。クラスmに対する制限(クラス許容帯域幅)を「Lcm ビット毎秒」とし、ある時刻t1に当該クラスmの「Pビット」のIPパケットの送信を開始したのであれば、当該クラスの他のIPパケットは、現在時刻SCが「t3=t1+P/Lcm」に達するまで送信することはできない。制限時刻データRL−mは、この時刻t3に相当するデータである。
次に、44−mは帯域保証レジスタであり、クラス帯域保証時刻データRG−mを記憶する。クラスの種類によっては、ある程度の通信帯域を最低限保証しておくべき場合がある。例えば、VoIPによる電話通信がこれに該当する。VoIPにおいては、UDP/IPプロトコルが採用されているが、このプロトコルではパケットの再送制御が行われない。従って、ある時刻にある音声データのIPパケットを送信しようとした際に、そのIPパケットを送信できなかったときは、その音声データは相手側に届くことがない。このように、VoIPにおいてはIPパケットが全く送信できない状況になると通信品質が著しく悪化するという問題が生じるため、ある程度の通信帯域を最低限保証しておくことが望ましいのである。クラスmに対して保証されている帯域幅(クラス保証帯域幅)を「Gcm ビット毎秒」とし、ある時刻t1に当該クラスmの「Pビット」のIPパケットの送信を開始したのであれば、次にクラスmのIPパケットを送信すべき時刻は、遅くとも「t4=t1+P/Gcm」でなければならない。保証時刻データRG−mは、この時刻t4に相当するデータである。
46−mはパケットキュー領域であり、パケットバッファ領域34に格納されたIPパケットのうちクラスmに属するIPパケットのポインタを要素とするリストを格納する。該リストにおいては、各要素は、対応するIPパケットの受信時刻順(これは送信順に等しい)にリンクされている。このリストを「パケットキューCUE−m」という。48−mは送信待ちフラグ領域であり、ここには送信待ちフラグFL−mが格納される。送信待ちフラグFL−mは、パケットキューCUE−mに少なくとも一の要素が含まれているときに“1”にされ、パケットキューCUE−mが空のときに“0”にされるフラグである。
3.実施例の動作
3.1.IPパケットの受信処理
次に、本実施例の動作を説明する。
LANインタフェース12またはVoIPアダプタ16を介して、WANインタフェース14から送信すべきIPパケットが受信されると、図3に示すIPパケット受信ルーチンが起動される。図3において処理がステップSP10に進むと、受信されたIPパケットの実体がパケットバッファ領域34に格納される。次に、処理がステップSP11に進むと、当該IPパケットの送信元のローカルIPアドレス、またはIPプロトコルの上位のプロトコル(TCP、UDP等)に応じて、当該IPパケットが何れかのクラスに分類される。ここで、分類先のクラスの番号を「m」とする。
次に、処理がステップSP12に進むと、クラスmのパケットキューCUE−mの末尾に、先に受信したIPパケットのポインタを内容とする新たな要素が追加される。次に、処理がステップSP14に進むと、送信待ちフラグFL−mが“0”であるか否か(先のステップSP12の直前までパケットキューCUE−mが空であったか否か)が判定される。ここで「YES」と判定されると、処理はステップSP16に進み、送信待ちフラグFL−mが“1”に変更される。これは、先のステップSP12において新たな要素が追加されたため、パケットキューCUE−mが空ではなくなったためである。次に処理がステップSP18に進むと、現在時刻SCが保証時刻データRG−mを越えているか否かが判定される。ここで「YES」と判定されると処理はステップSP20に進み、保証時刻データRG−mが現在時刻SCに変更される。なお、上記ステップSP14またはSP18において「NO」と判定されると、本ルーチンの処理は直ちに終了する。
ここで、上記ステップSP20において保証時刻データRG−mを現在時刻SCに変更する理由について説明しておく。保証時刻データRG−mは、クラスmのクラス保証帯域幅Gcmを確保するために定められていた値であるが、送信すべきIPパケットが元々存在しない場合にはクラス保証帯域幅Gcmを確保することができず、その必要もない。また、後述する処理においては、保証時刻データRG−mが現在時刻SC未満である場合には、「クラスmに対して保証すべき帯域幅が確保されていない異常な事態」が生じているものとみなされ、インタフェース許容帯域幅Lsを一時的に超過する場合であってもクラスmのIPパケットが特に優先的に送信される。特に、保証時刻データRG−mと現在時刻SCとの差が大きい場合には、クラスmのIPパケットが繰り返し優先的に送信されるような状況が生じる。しかし、上記ステップSP18が実行される場合とは、元々クラスmのパケットキューCUE−mに要素が存在しなかった場合に限られるから、クラスmのIPパケットをさほど優先して送信する必要はない。このため、保証時刻データRG−mを現在時刻SCに設定したものである。
3.2.送信スケジュール割込処理
CPU2においては、所定時間毎に「送信スケジュール割込」なる割込が発生する。この割込が発生すると、図4に示す送信スケジュール割込処理ルーチンが起動される。図において処理がステップSP30に進むと、全てのクラスx(x=1,2,…,n)の中から送信待ちフラグFL−xが“1”である一または複数のクラスが検索され、これらの中から保証時刻データRG−xが最小であるクラスが検索される。次に、処理がステップSP32に進むと、この検索されたクラスの番号が変数mに格納される。次に、処理がステップSP34に進むと、クラスmの保証時刻データRG−mが現在時刻SC未満であるか否かが判定される。
3.2.1.全クラスの保証帯域が確保されている場合
ステップSP34において「NO」と判定されると、処理はステップSP36に進む。なお、ステップSP34では、最小の保証時刻データであるRG−mに対して「RG−m<SC」の条件が満たされるか否かが判断されるため、ここで「NO」と判定された場合は、IPパケットの送信を必要とする全てのクラスxについて「RG−x<SC」が成立することになり、現状では全クラスの保証帯域が確保されていることに他ならない。さて、ステップSP36においては、インタフェース帯域制限時刻データIRLが現在時刻SC未満であるか否かが判定される。仮に制限時刻データIRLが現在時刻SC未満であるときにIPパケットを送信すると、WANインタフェース14全体の許容帯域を越えた状態でIPパケットが伝送されることになるため、ここで「NO」と判定されると、本ルーチンの処理が直ちに終了する。
一方、ステップSP36において「YES」と判定されると、処理はステップSP38に進み、送信待ちフラグFL−xが“1”であるクラス番号の集合が保証時刻データRG−xの小さい順にソートされる。次に、処理がステップSP40に進むと、このソート結果がリストLSとしてRAM6内に格納される。次に、処理がステップSP42に進むと、リストLSの先頭の要素であるクラス番号が変数mに格納され、当該先頭の要素がリストLSから削除される。次に、処理がステップSP44に進むと、クラスmの制限時刻データRL−mが現在時刻SC未満であるか否かが判定される。ここで、制限時刻データRL−mが現在時刻SC未満であれば、当該クラスmに属するIPパケットを送信すると、クラスmの許容帯域を越えることになるため、当該IPパケットは送信することができない。かかる場合にはステップSP44において「NO」と判定され、処理はステップSP46に進む。
ステップSP46においては、リストLSが空であるか否かが判定される。ここで「NO」と判定されると、処理はステップSP42に戻り、リストLSの先頭の要素がリストLSから再び削除され、削除された要素であるクラス番号が変数mに格納される。以後、ステップSP44において「YES」と判定されるまで、リストLSの残りの要素に対して同ステップSP42,SP44の処理が繰り返される。ここで、リストLSの全ての要素についてステップSP44の判定が実行され、最後の判定結果が「NO」であると、この時点でリストLSは空になっている筈であるから、ステップSP46において「YES」と判定され、本ルーチンの処理は終了する。かかる場合においては、WANインタフェース14全体では送信データ量は許容帯域の範囲内に抑制されている(先にステップSP36において「YES」と判定されている)ものの、個々のクラス毎に見れば各クラスの許容帯域内にデータ量を抑制できないため、結局送信可能なIPパケットは存在しないことになる。従って、IPパケットの送信処理が行われないまま処理が終了する。
一方、ステップSP42〜SP46のループが実行されている途中で何れかのクラスmについて「RL−m<SC」の条件が充足されると、ステップSP44において「YES」と判定され、処理はステップSP48に進む。ここでは、パケットキューCUE−mの先頭の要素(ポインタ)によって指定されるIPパケットの送信が開始され、このパケットキューCUE−mの先頭の要素も削除される。そして、本ルーチンにおいては、ステップSP48においてIPパケットの送信が開始されると、IPパケットの全ビットの送信が未完了の状態であっても、処理はステップSP50に進む。
ステップSP50においては、インタフェース帯域制限時刻データIRL、クラス帯域制限時刻データRL−mおよびクラス帯域保証時刻データRG−mが再計算され、これら再計算結果が対応するレジスタ32,42−m,44−mに格納される。なお、ステップSP50における具体的な再計算の数式については後述する。次に、処理がステップSP52に進むと、パケットキューCUE−mが空になったか否かが判定される。ここで「YES」と判定されると、処理はステップSP54に進み、送信待ちフラグFL−mが“0”に設定される。以上により、本ルーチンの処理が終了する。なお、本ルーチンの処理が終了したとしても、IPパケットの送信は未だ完了していないため、WANインタフェース14においては、モデム24を介して、該IPパケットの内容が徐々にインターネット26に出力される。そして、IPパケットの送信が完全に終了すると、パケットバッファ領域34において当該IPパケットの実体が削除される。
3.2.2.保証帯域が確保されていないクラスが存在する場合
次に、ステップSP34において「YES」と判定された場合、すなわち「RG−m<SC」の条件が満たされた場合の処理を説明する。「RG−m<SC」の条件が満たされたということは、少なくともクラスmに対しては保証帯域が確保されていないということに他ならない。ここでは、当該クラスmに対して、上述したステップSP48〜SP54の処理が直ちに実行され、クラスmに係るIPパケットが送信される。この場合には、上述したステップSP36のように現在時刻SCが制限時刻データIRLを越えているか否かの判断が行われない。
従って、現在時刻SCが制限時刻データIRL未満であるにもかかわらずIPパケットの送信処理が行われる可能性がある。かかる場合にはIPパケットの帯域幅は一時的にインタフェース許容帯域幅Lsを越えることもありうる。しかし、インタフェース許容帯域幅Lsは平均値として遵守すべき値であってピーク的にはさらに大きな帯域幅を有しても差し支えない場合が多い。このため、本実施例においては、何れかのクラスにおいて保証帯域が確保されていない状況が生じた場合には、一時的にインタフェース許容帯域幅Lsを越える場合であっても、当該クラスのIPパケットを直ちに送出することにしたものである。
3.2.3.IRL,RL−m,RG−mの再計算(SP50)
次に、上記ステップSP50における制限時刻データIRL,RL−mおよび保証時刻データRG−mの再計算方法を図5(a)〜(c)を参照し説明する。なお、これらの図は各時刻データの値を時刻軸上の位置によって表したものであり、ステップSP50による更新が実行される前の時刻データは各時刻データの名称の後に「0」を付し、更新後の時刻データは各時刻データの名称の後に「1」を付す。
図5(a)において、インタフェース帯域制限時刻データIRLの更新値IRL1は、下式(1)により計算される。

IRL1 = max(IRL0, SC)+P/Ls (1)

式(1)においてPは送信されたパケットのデータ量(ビット)、Lsはインタフェース許容帯域幅(ビット毎秒)である。
通常の送信状態(ステップSP36以降が実行される場合)では「IRL<SC」の条件が必ず満たされた状態でIPパケットが送出されるため、更新後の制限時刻データIRL1は現在時刻SC(パケットの送信開始時刻に等しい)を基準とし、パケットデータ量Pとインタフェース許容帯域幅Lsとに基づいて決定すべきである。しかし、上記ステップSP34において「YES」と判定されステップSP48が直ちに実行された場合にあっては、「IRL>SC」の状態でIPパケットが送出され、WANインタフェース14の送信帯域幅がインタフェース許容帯域幅Lsをピーク的に越えている場合も考えられる。かかる場合には、平均値として許容帯域幅Lsを遵守する必要があるため、更新前の制限時刻データIRL0を基準として更新後の制限時刻データIRL1を決定すべきである。従って、本実施例においては、制限時刻データの更新値IRL1は、「max(IRL0, SC)」を基準として決定される。
次に、図5(b)において、クラス帯域制限時刻データRL−mの更新値RL−m1は、下式(2)により計算される。

RL−m1 = SC+P/Lcm (2)

式(2)においてLcmは、クラスmの許容帯域幅(ビット毎秒)である。クラスmのIPパケットは、制限時刻データRL−mが現在時刻SC未満であるときにのみ送信されるため(ステップSP44参照)、制限時刻データRL−m1の決定に際して基準となりうるタイミングは現在時刻SCのみであり、更新前の制限時刻データRL−m0は考慮する必要がない。
次に、図5(c)において、保証時刻データRG−mの更新値RG−m1は、下式(3)により計算される。

RG−m1 = min(RG−m0, SC)+P/Gcm (3)

式(3)においてGcmはクラスmの保証帯域幅(ビット毎秒)である。クラスmのIPパケットは、通常は「RG−m0>SC」である状況において出力されるため、かかる場合は現在時刻SCを基準として次の保証時刻データRG−m1を決定すると、全体としてクラス保証帯域幅Gcm以上の通信帯域をクラスmに対して確保することができる。しかし、「RG−m0<SC」である状態(ステップSP34において「YES」と判定された状態)においてIPパケットが送信されたのであれば、その時点において短期的にはクラス保証帯域幅Gcmが確保されていないことになる。そこで、かかる場合には平均値としてクラス保証帯域幅Gcmを確保すべく、更新前の保証時刻データRG−m0を基準として更新値RG−m1を決定すべきである。従って、本実施例においては、保証時刻データの更新値RG−m1は、「min(RG−m0, SC)」を基準として決定される。
4.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、CPU2上で動作するプログラムによって帯域制限および保証処理を実行したが、これらの処理と等価な処理をハードウエアによって実行してもよい。
(2)上記実施例においては、CPU2上で動作するプログラムによって帯域制限および保証処理を実行したが、これらのプログラムのみをCD−ROM、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
本発明の一実施例のルータ装置100のブロック図である。 本実施例のデータ構造図である。 IPパケット受信ルーチンのフローチャートである。 送信スケジュール割込処理ルーチンのフローチャートである。 本実施例のタイミングチャートである。
符号の説明
2:CPU、4:フラッシュメモリ、6:RAM、8:タイマ、10:バス、12:LANインタフェース、14:WANインタフェース、16:VoIPアダプタ、22:電話機、24:モデム、26:インターネット、30:システムカウンタ、32:インタフェース帯域制限レジスタ、34:パケットバッファ領域、40−m:クラス領域、42−m:帯域制限レジスタ、46−m:パケットキュー領域、48−m:送信待ちフラグ領域。

Claims (4)

  1. 複数のクラスのうち何れかに属するパケットを通信網に送信するにあたって、前記各クラス毎に帯域制限または帯域保証を行う帯域制御装置において、
    前記通信網にパケットを送信する送信装置の通信帯域を当該送信装置に対して許可された許容帯域幅以下に抑制するために、次に該送信装置からパケットを送信できる最先時刻であるインタフェース制限時刻を記憶する第1のレジスタと、
    前記各クラス毎に設けられ、対応するクラスの許容帯域以下に当該クラスの通信帯域を抑制するために次に当該クラスのパケットを送信できる最先時刻であるクラス制限時刻を記憶する第2のレジスタと、
    前記各クラス毎に設けられ、対応するクラスの保証帯域以上の通信帯域を当該クラスに付与するために次に当該クラスのパケットを送信すべき最終時刻であるクラス保証時刻を記憶する第3のレジスタと、
    前記各クラスの中から、これらクラスの前記クラス制限時刻および前記クラス保証時刻に基づいて、パケットを送信すべき一のクラスを送信対象クラスに決定するクラス決定手段と、
    該送信対象クラスに属するパケットを送信する送信手段と、
    該送信対象クラスに属するパケットのデータ量に基づいて、前記インタフェース制限時刻と、該送信対象クラスのクラス制限時刻と、該送信対象クラスのクラス保証時刻とを再計算し、これらの再計算結果を前記第1ないし第3のレジスタに格納する再計算手段と
    を有することを特徴とする帯域制御装置。
  2. 前記クラス決定手段は、前記各クラスのうち前記クラス保証時刻が現在時刻よりも遅れているクラスが検出された場合には、前記インタフェース制限時刻にかかわらず該検出されたクラスを前記送信対象クラスとして決定する一方、前記クラス保証時刻が現在時刻よりも遅れているクラスが存在しない場合には、現在時刻が前記インタフェース制限時刻を越えていることを条件として、送信すべきパケットを有するクラスであって現在時刻が前記クラス制限時刻に達していないクラスの中から前記クラス保証時刻が最先であるクラスを前記送信対象クラスとして決定することを特徴とする請求項1記載の帯域制御装置。
  3. 複数のクラスのうち何れかに属するパケットを通信網に送信するにあたって、前記各クラス毎に帯域制限または帯域保証を行うために処理装置によって実行される帯域制御プログラムにおいて、
    前記通信網にパケットを送信する送信装置の通信帯域を当該送信装置に対して許可された許容帯域幅以下に抑制するために、次に該送信装置からパケットを送信できる最先時刻であるインタフェース制限時刻を第1のレジスタから読出す第1の読出し過程と、
    対応するクラスの許容帯域以下に当該クラスの通信帯域を抑制するために、次に当該クラスのパケットを送信できる最先時刻であるクラス制限時刻を、前記各クラス毎に設けられた第2のレジスタから読出す第2の読出し過程と、
    対応するクラスの保証帯域以上の通信帯域を当該クラスに付与するために、次に当該クラスのパケットを送信すべき最終時刻であるクラス保証時刻を、前記各クラス毎に設けられた第3のレジスタから読出す第3の読出し過程と、
    前記各クラスの中から、これらクラスの前記クラス制限時刻および前記クラス保証時刻に基づいて、パケットを送信すべき一のクラスを送信対象クラスに決定するクラス決定過程と、
    該送信対象クラスに属するパケットを送信する送信過程と、
    該送信対象クラスに属するパケットのデータ量に基づいて、前記インタフェース制限時刻と、該送信対象クラスのクラス制限時刻と、該送信対象クラスのクラス保証時刻とを再計算し、これらの再計算結果を前記第1ないし第3のレジスタに格納する再計算手段と
    を実行することを特徴とするプログラム。
  4. 前記クラス決定過程は、前記各クラスのうち前記クラス保証時刻が現在時刻よりも遅れているクラスが検出された場合には、前記インタフェース制限時刻にかかわらず該検出されたクラスを前記送信対象クラスとして決定する一方、前記クラス保証時刻が現在時刻よりも遅れているクラスが存在しない場合には、現在時刻が前記インタフェース制限時刻を越えていることを条件として、送信すべきパケットを有するクラスであって現在時刻が前記クラス制限時刻に達していないクラスの中から前記クラス保証時刻が最先であるクラスを前記送信対象クラスとして決定することを特徴とする請求項3記載のプログラム。
JP2004251321A 2004-08-31 2004-08-31 帯域制御装置およびプログラム Expired - Fee Related JP3879754B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004251321A JP3879754B2 (ja) 2004-08-31 2004-08-31 帯域制御装置およびプログラム
US11/215,772 US20060056434A1 (en) 2004-08-31 2005-08-30 Bandwidth control device, computer readable recording medium storing program and method of controlling bandwidth control device
CNB2005100990229A CN100477634C (zh) 2004-08-31 2005-08-31 带宽控制设备及其控制方法
US12/148,806 US7719986B2 (en) 2004-08-31 2008-04-23 Bandwidth control device, computer readable recording medium storing program and method of controlling bandwidth control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004251321A JP3879754B2 (ja) 2004-08-31 2004-08-31 帯域制御装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2006074087A JP2006074087A (ja) 2006-03-16
JP3879754B2 true JP3879754B2 (ja) 2007-02-14

Family

ID=36033850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004251321A Expired - Fee Related JP3879754B2 (ja) 2004-08-31 2004-08-31 帯域制御装置およびプログラム

Country Status (3)

Country Link
US (2) US20060056434A1 (ja)
JP (1) JP3879754B2 (ja)
CN (1) CN100477634C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5328087B2 (ja) * 2006-09-27 2013-10-30 ヤマハ株式会社 ルータ装置
CN102918814B (zh) * 2010-05-28 2016-06-29 日本电气株式会社 传送设备和带宽控制方法
WO2019119211A1 (en) * 2017-12-18 2019-06-27 Lenovo (Beijing) Limited Indicating a network for a remote unit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663748A (en) * 1984-04-12 1987-05-05 Unisearch Limited Local area network
US5187707A (en) * 1990-12-03 1993-02-16 Northern Telecom Limited Packet data flow control for an isdn D-channel
JPH07336375A (ja) * 1994-06-14 1995-12-22 Hitachi Ltd データ転送システム
US5559796A (en) * 1995-02-28 1996-09-24 National Semiconductor Corporation Delay control for frame-based transmission of data
WO1998045990A1 (en) * 1997-04-04 1998-10-15 Ascend Communications, Inc. High speed packet scheduling method and apparatus
JP3732989B2 (ja) * 2000-01-12 2006-01-11 富士通株式会社 パケットスイッチ装置及びスケジューリング制御方法
US7042843B2 (en) * 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
JP2002368799A (ja) 2001-06-04 2002-12-20 Oki Electric Ind Co Ltd 帯域制御装置
US20040151187A1 (en) * 2003-01-31 2004-08-05 Lichtenstein Walter D. Scheduling data transfers for multiple use requests

Also Published As

Publication number Publication date
CN1744578A (zh) 2006-03-08
US20060056434A1 (en) 2006-03-16
JP2006074087A (ja) 2006-03-16
CN100477634C (zh) 2009-04-08
US20080253397A1 (en) 2008-10-16
US7719986B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
Davie et al. An expedited forwarding PHB (per-hop behavior)
US7756990B2 (en) Configurable protocol engine
US8971345B1 (en) Method and apparatus for scheduling a heterogeneous communication flow
US7664112B2 (en) Packet processing apparatus and method
JP2006500830A (ja) 無線ネットワーク・チャンネルを管理するためのシステムおよび方法
JP6323107B2 (ja) スイッチ装置、情報処理システムおよびスイッチ装置の制御方法
JP2006285811A (ja) ストレージシステム及びデータ処理方法
JP4465394B2 (ja) パケット中継装置、パケット中継方法およびパケット中継プログラム
WO2017045501A1 (zh) 一种报文调度方法和装置、存储介质
US6820128B1 (en) Method and apparatus of processing packets having varying priorities by adjusting their drop functions according to a predefined fairness relationship
JPWO2010032533A1 (ja) ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法
JP3879754B2 (ja) 帯域制御装置およびプログラム
JP2007288491A (ja) フレームの分割回路、該分割回路を用いた伝送システム及び方法
WO2020108568A1 (zh) 一种信息处理方法、设备及计算机存储介质
JP5087595B2 (ja) エッジノード、ウィンドウサイズ制御方法およびプログラム
CN110999225B (zh) 控制装置
JP2002344509A (ja) ルータとパケットの読み出しレート制御方法およびその処理プログラム
WO2021101610A1 (en) Latency guarantee for data packets in a network
JP4915345B2 (ja) 試験装置測定システム
JP2008099139A (ja) 通信方法
JP2019213043A (ja) 車載用ゲートウェイ装置、方法及びプログラム
JP4411980B2 (ja) パケット送出の順序制御プログラム及び方法
JP6904186B2 (ja) 車載装置、情報処理装置、情報処理方法、及びプログラム
JP2005286383A (ja) 帯域制御方法及びそれを用いたパケット処理装置
JP2007235614A (ja) 優先伝送システム、送信装置及び受信装置並びに制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060718

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: 20061017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061030

R150 Certificate of patent or registration of utility model

Ref document number: 3879754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees