JP3624128B2 - Terminal and recording medium having IP packet priority control function - Google Patents
Terminal and recording medium having IP packet priority control function Download PDFInfo
- Publication number
- JP3624128B2 JP3624128B2 JP36202399A JP36202399A JP3624128B2 JP 3624128 B2 JP3624128 B2 JP 3624128B2 JP 36202399 A JP36202399 A JP 36202399A JP 36202399 A JP36202399 A JP 36202399A JP 3624128 B2 JP3624128 B2 JP 3624128B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- priority
- transmission
- packet
- determination unit
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、IP(Internet Protocol )パケット優先制御機能を有するルータ、パーソナルコンピュータ、ワークステーション等の端末に利用するIPパケット優先制御機能を有する端末及び記録媒体に関する。
【0002】
【従来の技術】
図5は従来例の説明図であり、A図は例1のプロトコル階層図、B図は例2のプロトコル階層図である。
【0003】
従来、ルータ、パーソナルコンピュータ、ワークステーション等の端末において、IPパケット(送信データ)を送信する際のIPパケット優先制御は優先制御部1により行なっていた。この優先制御部1では、IPパケットの送信優先度を制御する場合、優先度決定処理と、送信順番決定処理を1つの制御部で行なっていた。
【0004】
この場合、プロトコル階層図ではネットワーク層の下にデータリンク層があり、その下に物理層がある。そして、例1では、優先制御部1をネットワーク層に設けており、例2では優先制御部1をデータリンク層に設けている。この優先制御部1では、IPパケットを優先して送信するための優先度を決定し、前記決定した優先度に従って、順次IPパケットの送信制御を行う。
【0005】
このように、従来は、IPパケット(送信データ)の優先度制御を行う場合、送信パケットの送信優先度を決定する優先制御部1で、同時にパケットの送信順番も決定していた。
【0006】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
【0007】
(1) :前記例1では、優先制御部1はネットワーク層に設けており、この優先制御部1で、送信用IPパケットの優先度決定処理と送信順番決定処理を行なっていた。この場合、優先制御の効果を出すためには、なるべく伝送路に送出する直前に送信順番を決定した方が良いため、なるべくメディアに近い部分で送信順番を決定したいが、ネットワーク層だとメディアに近い部分ではないため、優先制御の効果があまり出ない。
【0008】
(2) :前記優先度決定処理は、TCP/IP(Transmission Control Protocol/Internet Protocol )ヘッダの内容によって決定することが多いため、IPパケットの解析を行うネットワーク層で持つのが効率いいが、データリンク層で再度IPパケットのヘッダの解析を行なわなければならず、2度手間である。
【0009】
また、暗号化やVPN(VPN:Virtual Private Network :インターネットなどのオープンなネットワークをプライベートな専用のネットワークのように利用する方法)等、IPパケットを加工するプロトコルも存在するため、加工されたパケットに対して優先度の決定ができなくなる。
【0010】
本発明は、このような従来の課題を解決し、送信用IPパケットの優先度決定処理と、送信順番決定処理を分離できるようにして、優先制御の効率を向上させ、確実な優先制御ができるようにすることを目的とする。
【0011】
【課題を解決するための手段】
本発明は前記の目的を達成するため、次のように構成した(図1参照)。
【0012】
(1) :図1のA図に示したように、IPパケットを送信する際のIPパケット優先制御機能を有する端末において、IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する優先度決定部2と、優先度決定部2が決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信するデータ送信部3を備え、優先度決定部2とデータ送信部3とを分離して設けた。
【0013】
(2) :前記(1) のIPパケット優先制御機能を有する端末において、優先度決定部2は、データ送信部3からの通知に基づき、送信優先度を決定するカウンタの値を定期的に補正するカウンタ補正手段と、送信待ちデータ無しの時に、前記カウンタの全てを最小値にセットするカウンタセット手段を備えている。
【0014】
(3) :前記(1) のIPパケット優先制御機能を有する端末において、優先度決定部2は、送信優先度を決定するカウンタのいずれかがオーバーフローした際、全てのカウンタを初期値にリセットするカウンタリセット手段を備えている。
【0015】
(4) :前記(1) のIPパケット優先制御機能を有する端末において、優先度決定部2は、送信データがベストエフォートデータの場合、パケット中のカウンタに最大値を常に設定するベストエフォートデータ制御手段を備えていること。
【0016】
(5) :前記(1) のIPパケット優先制御機能を有する端末において、優先度決定部2は、送信データが最優先データの場合、パケット中のカウンタに最小値を常に設定する最優先データ制御手段を備えている。
【0017】
(6) :前記(1) のIPパケット優先制御機能を有する端末において、優先度決定部2は、送信優先度として時刻データを使用し、該時刻データにより優先度を決定する時刻データ処理手段を備え、データ送信部3は、前記送信優先度を送信可能時刻として解釈することにより、帯域が空いている場合でも送信を抑制する送信抑制手段を備えている。
【0018】
(7) :前記(1) のIPパケット優先制御機能を有する端末において、データ送信部3は、保留可能データ数若しくはデータ長に上限があり、送信データを破棄する場合、前記送信優先度によって破棄するデータを決める破棄データ決定手段を備えている。
【0019】
(8) :前記(1) のIPパケット優先制御機能を有する端末において、データ送信部3は、送信データを破棄した場合、どの帯域のデータを破棄したのかを優先度決定部2へ通知する破棄データ通知手段を備え、優先度決定部2は、データ送信部からの通知に基づいて、割り当て帯域を補正する帯域補正手段を備えている。
【0020】
(9) :IPパケットを送信する際のIPパケット優先制御機能を有する端末に、IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する第1の手順と、前記第1の手順とは分離して、前記第1の手順により決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信する第2の手順とを、
実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0021】
(作用)
前記構成に基づく本発明の作用を説明する(図1参照)。
【0022】
(a) :前記(1) では、優先度決定部2は、IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する処理を行う。また、この処理とは分離して、データ送信部3は、優先度決定部2が決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信する処理を行う。
【0023】
すなわち、図1のB図に示したように、先ず、優先度決定部2は優先度決定処理(ステップS1)を行ない、次に、優先制御以外の他の処理(ステップS2)を行ない、その後、データ送信部3は、送信順番決定処理及びデータ送信処理(ステップS3)を行う。
【0024】
(b) :前記(2) では、優先度決定部2のカウンタ補正手段は、データ送信部3からの通知に基づき、送信優先度を決定するカウンタの値を定期的に補正する。また、優先度決定部2のカウンタセット手段は、送信待ちデータ無しの時に、前記カウンタの全てを最小値にセットする。
【0025】
(c) :前記(3) では、優先度決定部2のカウンタリセット手段は、送信優先度を決定するカウンタのいずれかがオーバーフローした際、全てのカウンタを初期値にリセットする。
【0026】
(d) :前記(4) では、優先度決定部2のベストエフォートデータ制御手段は、送信データがベストエフォートデータの場合、パケット中のカウンタに最大値を常に設定する。
【0027】
(e) :前記(5) では、優先度決定部2の最優先データ制御手段は、送信データが最優先データの場合、パケット中のカウンタに最小値を常に設定する。
【0028】
(f) :前記(6) では、優先度決定部2の時刻データ処理手段は、送信優先度として時刻データを使用し、該時刻データにより優先度を決定する。また、データ送信部3の送信抑制手段は、送信優先度を送信可能時刻として解釈することにより、帯域が空いている場合でも送信を抑制する。
【0029】
(g) :前記(7) では、データ送信部3の破棄データ決定手段は、保留可能データ数若しくはデータ長に上限があり、送信データを破棄する場合、前記送信優先度によって破棄するデータを決める。
【0030】
(h) :前記(8) では、データ送信部3の破棄データ通知手段は、送信データを破棄した場合、どの帯域のデータを破棄したのかを優先度決定部2へ通知する。また、優先度決定部2の帯域補正手段は、データ送信部からの通知に基づいて、割り当て帯域を補正する。
【0031】
(i) :前記(9) では、端末は、記録媒体のプログラムを読み出して実行することにより、IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する第1の手順と、前記第1の手順とは分離して、前記第1の手順により決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信する第2の手順とを実行する。
【0032】
このように、優先度決定部2の処理とデータ送信部3の処理を分離して行うため、メディアに近い部分(データリンク層)で、データ送信部3により送信パケットの送信順番を決定することが可能になる。
【0033】
また、優先度決定部2をIPパケットの解析を行うネットワーク層で持ち、データ送信部3をメディアにデータリンク層で持つことができる。従って、優先制御の効率を向上させることができる。また、加工されたパケットに対して優先度の決定が確実にできる。
【0034】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。
【0035】
§1:端末の説明図
図1は端末の説明図であり、A図は端末の構成図、B図は端末の処理説明図である。図1のA図に示した端末は、IPパケットを送信する際のIPパケット優先制御機能を有するルータ、パーソナルコンピュータ、ワークステーション等により構成され、互いに分離された優先度決定部2と、データ送信部3を備えている。
【0036】
そして、図1のB図に示したように、先ず、優先度決定部2は優先度決定処理(ステップS1)を行い、次に、優先制御以外の他の処理(ステップS2)を行い、その後、データ送信部3は、送信順番決定処理及びデータ送信処理(ステップS3)を行う。具体的には次の通りである。
【0037】
(1) :端末は、IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する優先度決定部2と、優先度決定部2が決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信するデータ送信部3を備え、優先度決定部2とデータ送信部3とを分離して設けた。
【0038】
(2) :優先度決定部2は、データ送信部3からの通知に基づき、送信優先度を決定するカウンタの値を定期的に補正するカウンタ補正手段と、送信待ちデータ無しの時に、前記カウンタの全てを最小値にセットするカウンタセット手段を備えている。
【0039】
(3) :優先度決定部2は、送信優先度を決定するカウンタのいずれかがオーバーフローした際、全てのカウンタを初期値にリセットするカウンタリセット手段を備えている。
【0040】
(4) :優先度決定部2は、送信データがベストエフォートデータの場合、パケット中のカウンタに最大値を常に設定するベストエフォートデータ制御手段を備えていること。
【0041】
(5) :優先度決定部2は、送信データが最優先データの場合、パケット中のカウンタに最小値を常に設定する最優先データ制御手段を備えている。
【0042】
(6) :優先度決定部2は、送信優先度として時刻データを使用し、該時刻データにより優先度を決定する時刻データ処理手段を備え、データ送信部3は、前記送信優先度を送信可能時刻として解釈することにより、帯域が空いている場合でも送信を抑制する送信抑制手段を備えている。
【0043】
(7) :データ送信部3は、保留可能データ数若しくはデータ長に上限があり、送信データを破棄する場合、前記送信優先度によって破棄するデータを決める破棄データ決定手段を備えている。
【0044】
(8) :データ送信部3は、送信データを破棄した場合、どの帯域のデータを破棄したのかを優先度決定部2へ通知する破棄データ通知手段を備え、優先度決定部2は、データ送信部からの通知に基づいて、割り当て帯域を補正する帯域補正手段を備えている。
【0045】
なお、前記優先度決定部2、データ送信部3及び前記各手段の機能は、それぞれ、プログラムの実行により実現されるものである。
§2:プロトコル階層部による端末の説明
図2はプロトコル階層図である。前記端末の構成を、プロトコル階層図により説明すると図2のようになる。このプロトコル階層図では、ネットワーク層の下にデータリンク層があり、その下に物理層がある。そして、ネットワーク層に前記優先度決定部2を設け、データリンク層に前記データ送信部3を設けた。
【0046】
この場合、優先度決定部2とデータ送信部3のデータのインターフェイスは1つのキュー(共通のキューを設ける)とする。そして、優先度決定部2で、各送信用IPパケットに送信優先度(非連続の値)を振る(番号を付ける)。また、データ送信部3では、キュー中の最も小さい送信優先度の(最も番号の小さい)ものから順に送信する。
【0047】
このように、IPパケットの解析を行うネットワーク層に優先度決定部2を持ち、メディアに近いデータリンク層にデータ送信部3を持つことで、優先度決定部2とデータ送信部3を分離でき、優先制御の効率を向上させると共に、加工されたパケットに対して優先度の決定が確実にできるようになる。
【0048】
§3:処理の説明
図3は優先度決定部の処理説明図であり、A図はデータシーケンスの説明図、B図はタイムスタンプの説明図である。図3のA図では、IPアドレスA、B、C(カッコ内はIPパケットのデータ長)を示し、図3のB図では、パケット番号とタイムスタンプを示す。以下、優先度決定部2とデータ送信部3の処理を具体的に説明する。
【0049】
(1) :優先度決定部の処理
優先度決定部2は、送信データに送信優先度としてタイムスタンプ(ファイルなどに記録されているデータ作成日時や更新日時のこと)を入れる。タイムスタンプは割り当てられた帯域とデータ長から計算する。
【0050】
この場合、1/100秒を1単位とする。また、伝送路は伝送速度が8Kバイト/秒の回線とし、帯域はIPアドレスAに50%、Bに30%、Cに20%とする。以下のシーケンスで、LANからデータを受信した場合のタイムスタンプの例(図3参照)を示す。
【0051】
▲1▼:図3のA図に示したように、データシーケンスは、パケット番号=1、2、3、4、5、6、7の順である。また、パケット番号=1のIPアドレスはAであり、データ長=1Kバイト、パケット番号=2のIPアドレスはBであり、データ長=500バイト、パケット番号=3のIPアドレスはCであり、データ長=100バイト、パケット番号=4のIPアドレスはAであり、データ長=1Kバイト、パケット番号=5のIPアドレスはBであり、データ長=1Kバイト、パケット番号=6のIPアドレスはBであり、データ長=200バイト、パケット番号=7のIPアドレスはCであり、データ長=100バイトである。
【0052】
▲2▼:図3のB図に示したように、タイムスタンプは、パケット番号=1のタイムスタンプ=0(最初だから)、パケット番号=2のタイムスタンプ=0(最初だから)、パケット番号=3のタイムスタンプ=0(最初だから)、パケット番号=4のタイムスタンプ=25である。
【0053】
この場合、パケット番号=4では、前回のデータ長が1Kバイト(パケット番号=1でIPアドレス=Aのデータ長)で帯域が4Kバイト{(8Kバイト)×(50%)=(8Kバイト)×(1/2)=4Kバイト}だから、このデータを送信する時刻は、(パケット番号=1の時刻)+(1/4Kバイト)×100×1=25(タイムスタンプ=25)となる。
【0054】
また、パケット番号=5では、IPアドレスに30%なので、タイムスタンプ=20となる。この場合、前記と同様に、帯域が(8×3/10)Kバイトで、前回のデータ長が500バイトなので、このデータの送信時刻=0+100×0.5/(8×3/10)=20(タイムスタンプ=20)になる。
【0055】
パケット番号=6ではタイムスタンプ=62である。この場合、前記と同様に、帯域が(8×3/10)Kバイトで、前回のデータ長が1Kバイトなので、このデータの送信時刻=20+100×1/(8×3/10)=62(タイムスタンプ=62)になる。
【0056】
パケット番号=7ではタイムスタンプ=16である。この場合、前記と同様に、帯域が(8×2/10)Kバイトで、前回のデータ長が100バイトなので、このデータの送信時刻=0+100×0.1/(8×2/10)=16(タイムスタンプ=16)になる。なお、前記各タイムスタンプの値は、前記カウンタの値(カウンタ値)と同じである。
【0057】
(2) :データ送信部の処理
データ送信部3は、優先度決定部2が決定した優先度に従って、データの送信処理を行う。この場合、端末には送信キューが設けてあり、この送信キューの中のタイムスタンプを見て、小さいものから順番に送信を行う。このようにすれば、MP(複数ボードに別れる場合)にも適用可能である。また、データ送信部3から見れば、優先度決定部2での対域の分割数は気にする必要はなく、1本の送信キューで実装できる。
【0058】
なお、前記MP(Multi−Link Point−to−Point Protocol)は、インターネットでデータリンク層プロトコルとして使っているPPPを拡張して、複数の回線を使う並列伝送ができるようにしたものである。
【0059】
§4:特徴部分の詳細な説明
以下、端末内の特徴部分を更に詳細に説明する。前記端末には次のような特徴部分(前記§1の(1) 〜(8) に対応)がある。
【0060】
A:帯域計算タイムスパンの補正
論理的なモデルとしては、通信開始から終了までのタイムスパンでの帯域保証になるため、短いタイムスタパンでは必ずしも帯域は保証されない。データの流量に偏りがあると(リザーブした帯域以下のデータしか流されない時間と、帯域以上のデータを流す時間がある場合)、長時間待たされる可能性があり(帯域オーバーの時間帯に他のトラフィック分が空いていると、その帯域を前倒しして使うことになるため、他のトラフィックが復活した時点で前倒しした分だけ待たされる)、レスポンスのリアルタイム性を求められる場合に困る。
【0061】
これの解決のため、データ送信部3からの通知(処理中のデータのタイムスタンプの通知や、データが全て掃けたという通知)により、タイムスタンプを補正する機能を入れる。
【0062】
A−1:前記補正に関し、補正タイミングは定期的とする。
【0063】
帯域保証したいタイムスパン毎に、定期的に送信が終了したデータのカウンタを通知し、全カウンタ中、それより小さな値をその値にする。これにより、帯域として割り当てられていたけれど未使用な部分がキャンセルされる。
【0064】
A−2:キューがはけた時(送信待ちデータが無くなった状態)は、全カウンタを最小値にする。
【0065】
B:カウンタのオーバーフローの場合、すなわち、どれかのカウンタがオーバーフローした場合、全てのカウンタを初期値にリセットする。カウンタが最小値のパケットは、前のデータを追い越さないというルールが必要(他の自分より優先度の低いデータの後ろになる可能性があるが、自分より優先度の高いパケットを追い越さないため)。
【0066】
C:ベストエフォートデータ(空いている時に送信されるデータ)については、パケットの中のカウンタに最大値(0xFFFF等)を常に設定する。通常のカウンタ処理では最大値を使わない(この値になる前にオーバーフロー処理を行う)。
【0067】
D:特急データ(最優先データ)については、パケット中のカウンタに最小値(0等)を常に設定する。この場合、通常のカウンタ処理では、最小値を使わない(初期値にリセットの際に、これより大きな値にする)。
【0068】
E:キューに保留可能なデータ数、若しくはデータ長に上限がある場合、これを超えるデータが滞留したら破棄する必要がある。この際、最後に到着したデータを破棄するのではなくて、送信順番が最後のもの(パケット中のカウンタ値が最も大きいもの)を破棄する。
【0069】
F:データを破棄した場合、優先度決定部2でのカウンタ値の計算では、送信したことになっているため、実際には送信されていないデータに対して帯域が割り当てられた計算になっている。よって、データ送信部3でデータを破棄した場合、どの帯域のデータを破棄したのかを優先度決定部2へ通知し、送信されなかったデータ分の補正を行う。
【0070】
§5:具体的な装置例と記録媒体の説明
図4は具体的な装置例である。前記端末は、例えば、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現することができる。この装置は、コンピュータ本体11と、該コンピュータ本体11に接続されたディスプレイ装置12、入力装置(キーボード/マウス等)13、リムーバブルディスクドライブ(「RDD」という)14、磁気ディスク装置(「MDD」という)15等で構成されている。
【0071】
そして、コンピュータ本体11には、内部の各種制御や処理を行うCPU16と、プログラムや各種データを格納しておくためのROM17(不揮発性メモリ)と、メモリ18と、インタフェース制御部(「I/F制御部」という)19と、通信制御部20等が設けてある。なお、前記RDD14には、フレキシブルディスクドライブや光ディスクドライブ等が含まれる。
【0072】
前記構成の装置において、例えば、前記MDD15の磁気ディスク(記録媒体)、或いはROM17に、端末の優先制御の処理を実現するためのプログラムを格納しておき、このプログラムをCPU16が読み出して実行することにより、前記端末の処理を実行する。
【0073】
しかし、本願発明は、このような例に限らず、例えば、MDD15の磁気ディスクに、次のようにしてプログラムを格納し、このプログラムをCPU16が実行することで前記端末の処理を行うことも可能である。
【0074】
▲1▼:他の装置で作成されたリムーバブルディスクに格納されているプログラム(他の装置で作成したプログラムデータ)を、RDD14により読み取り、MDD15の記録媒体に格納する。
【0075】
▲2▼:LAN等の通信回線を介して他の装置から伝送されたプログラム等のデータを、通信制御部20を介して受信し、そのデータをMDD15の記録媒体(磁気ディスク)に格納する。
【0076】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。すなわち、優先度決定部の処理とデータ送信部の処理を分離して行うため、メディアに近い部分(データリンク層)で、データ送信部により送信パケットの送信順番を決定することが可能になる。また、優先度決定部をIPパケットの解析を行うネットワーク層で持ち、データ送信部をメディアにデータリンク層で持つことができる。従って、優先制御の効率を向上させることができる。また、加工されたパケットに対して優先度の決定が確実にできる。
【図面の簡単な説明】
【図1】本発明の実施の形態における端末の説明図である。
【図2】本発明の実施の形態におけるプロトコル階層図である。
【図3】本発明の実施の形態における優先度決定部の処理説明図である。
【図4】本発明の実施の形態における具体的な装置例である。
【図5】従来例の説明図である。
【符号の説明】
1 優先制御部
2 優先度決定部
3 データ送信部
11 コンピュータ本体
12 ディスプレイ装置
13 入力装置
14 リムーバブルディスクドライブ
15 磁気ディスク装置
16 CPU(中央演算処理装置)
17 ROM(リードオンリメモリ)
18 メモリ
19 インターフェイス制御部(I/F制御部)
20 通信制御部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a terminal having an IP packet priority control function and a recording medium used for a terminal such as a router, a personal computer, and a workstation having an IP (Internet Protocol) packet priority control function.
[0002]
[Prior art]
FIG. 5 is an explanatory diagram of a conventional example, FIG. 5A is a protocol hierarchy diagram of Example 1, and FIG. 5B is a protocol hierarchy diagram of Example 2.
[0003]
Conventionally, in a terminal such as a router, a personal computer, or a workstation, IP packet priority control when transmitting an IP packet (transmission data) has been performed by the
[0004]
In this case, in the protocol hierarchy diagram, the data link layer is below the network layer, and the physical layer is below it. In Example 1, the
[0005]
As described above, conventionally, when priority control of IP packets (transmission data) is performed, the
[0006]
[Problems to be solved by the invention]
The conventional apparatus as described above has the following problems.
[0007]
(1): In Example 1, the
[0008]
(2): Since the priority determination process is often determined by the contents of a TCP / IP (Transmission Control Protocol / Internet Protocol) header, it is efficient to have it in the network layer that analyzes IP packets. The header of the IP packet must be analyzed again at the link layer, which is troublesome twice.
[0009]
There are also protocols for processing IP packets, such as encryption and VPN (VPN: Virtual Private Network: a method of using an open network such as the Internet as a private dedicated network). The priority cannot be determined.
[0010]
The present invention solves such a conventional problem, and can separate the priority determination process of the transmission IP packet from the transmission order determination process, thereby improving the efficiency of the priority control and performing the reliable priority control. The purpose is to do so.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is configured as follows (see FIG. 1).
[0012]
(1): As shown in FIG. 1A, in a terminal having an IP packet priority control function when transmitting an IP packet, the transmission priority of the IP packet is set as a non-continuous numerical value from the allocated bandwidth. A
[0013]
(2): In the terminal having the IP packet priority control function of (1), the
[0014]
(3): In the terminal having the IP packet priority control function of (1), the
[0015]
(4): In the terminal having the IP packet priority control function of (1), when the transmission data is the best effort data, the
[0016]
(5): In the terminal having the IP packet priority control function of (1), when the transmission data is the highest priority data, the
[0017]
(6): In the terminal having the IP packet priority control function of (1), the
[0018]
(7): In the terminal having the IP packet priority control function of (1), the
[0019]
(8): In the terminal having the IP packet priority control function of (1), when the
[0020]
(9): a first procedure for calculating and determining a transmission priority of an IP packet as a non-continuous numerical value from an allocated band for a terminal having an IP packet priority control function when transmitting an IP packet; Separately from the first procedure, a second procedure for determining the transmission order of IP packets based on the transmission priority determined by the first procedure and transmitting the IP packets according to the transmission order;
A computer-readable recording medium on which a program for execution is recorded.
[0021]
(Function)
The operation of the present invention based on the above configuration will be described (see FIG. 1).
[0022]
(A): In the above (1), the
[0023]
That is, as shown in FIG. 1B, the
[0024]
(B): In (2) above, the counter correction means of the
[0025]
(C): In the above (3), the counter reset means of the
[0026]
(D): In the above (4), the best effort data control means of the
[0027]
(E): In the above (5), when the transmission data is the highest priority data, the highest priority data control means of the
[0028]
(F): In the above (6), the time data processing means of the
[0029]
(G): In (7), the discard data determination means of the
[0030]
(H): In (8), when the transmission data is discarded, the discard data notification means of the
[0031]
(I): In the above (9), the terminal reads and executes the program of the recording medium, thereby calculating and determining the transmission priority of the IP packet as a non-continuous numerical value from the allocated band. And the first procedure, the IP packet transmission order is determined based on the transmission priority determined by the first procedure, and the IP packet is transmitted according to the transmission order. Follow the steps.
[0032]
In this way, since the processing of the
[0033]
Further, the
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail below with reference to the drawings.
[0035]
§1: Description of terminal FIG. 1 is an explanatory diagram of a terminal, FIG. 1A is a configuration diagram of the terminal, and FIG. 1B is an explanatory diagram of processing of the terminal. The terminal shown in FIG. 1A is composed of a router, a personal computer, a workstation, and the like having an IP packet priority control function when transmitting an IP packet.
[0036]
As shown in FIG. 1B, the
[0037]
(1): The terminal calculates the transmission priority of the IP packet as a non-continuous numerical value from the allocated bandwidth and determines the priority based on the transmission priority determined by the
[0038]
(2): The
[0039]
(3): The
[0040]
(4): The
[0041]
(5): The
[0042]
(6): The
[0043]
(7): The
[0044]
(8): When the transmission data is discarded, the
[0045]
Note that the functions of the
§2: Description of terminal by protocol layer unit FIG. 2 is a protocol layer diagram. The configuration of the terminal will be described with reference to a protocol hierarchy diagram as shown in FIG. In this protocol hierarchy diagram, the data link layer is below the network layer, and the physical layer is below it. The
[0046]
In this case, the data interface between the
[0047]
In this way, the
[0048]
§3: Processing Description FIG. 3 is a processing explanatory diagram of the priority determination unit, FIG. A is an explanatory diagram of a data sequence, and FIG. B is an explanatory diagram of a time stamp. In FIG. 3A, IP addresses A, B, and C (the IP packet data length in parentheses) are shown, and in FIG. 3 B, the packet number and time stamp are shown. Hereinafter, the processes of the
[0049]
(1): The processing
[0050]
In this case, 1/100 second is defined as one unit. The transmission path is a line with a transmission rate of 8 Kbytes / second, and the bandwidth is 50% for IP address A, 30% for B, and 20% for C. An example of a time stamp (see FIG. 3) when data is received from the LAN in the following sequence is shown.
[0051]
{Circle around (1)} As shown in FIG. 3A, the data sequence is in the order of packet numbers = 1, 2, 3, 4, 5, 6, and 7. The IP address of the packet number = 1 is A, the data length = 1 Kbyte, the IP address of the packet number = 2 is B, the data length = 500 bytes, the IP address of the packet number = 3 is C, The IP address of data length = 100 bytes and packet number = 4 is A, the IP address of data length = 1 Kbyte and packet number = 5 is B, and the IP address of data length = 1 Kbyte and packet number = 6 is B, the data length = 200 bytes, the IP address of the packet number = 7 is C, and the data length = 100 bytes.
[0052]
{Circle over (2)} As shown in FIG. 3B, the time stamp is that the packet number = 1 time stamp = 0 (because it is the first), the packet number = 2 time stamp = 0 (because it is the first), and the packet number = 3 time stamp = 0 (because it is the first), packet number = 4 time stamp = 25.
[0053]
In this case, when packet number = 4, the previous data length is 1 Kbyte (packet number = 1, IP address = A data length) and the bandwidth is 4 Kbytes {(8 Kbytes) × (50%) = (8 Kbytes) Since (× (1/2) = 4 Kbytes), the time for transmitting this data is (time of packet number = 1) + (1/4 Kbyte) × 100 × 1 = 25 (time stamp = 25).
[0054]
In the case of packet number = 5, since the IP address is 30%, time stamp = 20. In this case, since the bandwidth is (8 × 3/10) K bytes and the previous data length is 500 bytes, the transmission time of this data = 0 + 100 × 0.5 / (8 × 3/10) = 20 (time stamp = 20).
[0055]
For packet number = 6, time stamp = 62. In this case, similarly to the above, since the bandwidth is (8 × 3/10) K bytes and the previous data length is 1 K bytes, the transmission time of this data = 20 + 100 × 1 / (8 × 3/10) = 62 ( Time stamp = 62).
[0056]
For packet number = 7, time stamp = 16. In this case, similarly to the above, since the bandwidth is (8 × 2/10) K bytes and the previous data length is 100 bytes, the transmission time of this data = 0 + 100 × 0.1 / (8 × 2/10) = 16 (time stamp = 16). The time stamp value is the same as the counter value (counter value).
[0057]
(2): Processing of data transmission unit The
[0058]
The MP (Multi-Link Point-to-Point Protocol) is an extension of PPP used as a data link layer protocol on the Internet to enable parallel transmission using a plurality of lines.
[0059]
§4: Detailed description of characteristic part Hereinafter, the characteristic part in the terminal will be described in more detail. The terminal has the following characteristic parts (corresponding to (1) to (8) in §1).
[0060]
A: Correction of Bandwidth Calculation Time Span As a logical model, the bandwidth is guaranteed in the time span from the start to the end of communication, so the bandwidth is not necessarily guaranteed in a short time stamp. If there is a bias in the flow rate of data (when there is a time when only data below the reserved bandwidth is passed and there is time when data above the bandwidth is allowed to flow), there is a possibility of waiting for a long time (other times during the time when the bandwidth is over). If the traffic is free, the bandwidth will be used ahead of time, so when the other traffic comes back up, you will have to wait for the amount that you brought forward.) This is a problem when you need real-time response.
[0061]
In order to solve this, a function for correcting the time stamp is added by a notification from the data transmission unit 3 (a notification of a time stamp of data being processed or a notification that all data has been swept).
[0062]
A-1: Regarding the correction, the correction timing is regular.
[0063]
For each time span for which bandwidth guarantee is desired, a counter of data that has been transmitted periodically is notified, and a smaller value is set to that value among all counters. As a result, an unused portion that has been allocated as a band is canceled.
[0064]
A-2: When the queue is cleared (when there is no transmission waiting data), all counters are set to the minimum value.
[0065]
B: In case of counter overflow, that is, when any counter overflows, all counters are reset to their initial values. The rule that the packet with the smallest counter value does not overtake the previous data is necessary (it may be behind the data with lower priority than other self, but it does not overtake the packet with higher priority than yourself) .
[0066]
C: For best effort data (data transmitted when free), a maximum value (such as 0xFFFF) is always set in the counter in the packet. In normal counter processing, the maximum value is not used (overflow processing is performed before this value is reached).
[0067]
D: For express data (highest priority data), a minimum value (such as 0) is always set in the counter in the packet. In this case, the minimum value is not used in normal counter processing (when resetting to the initial value, a larger value is used).
[0068]
E: When there is an upper limit in the number of data that can be held in the queue or the data length, it is necessary to discard the data when the data exceeding this is retained. At this time, instead of discarding the data that has arrived last, the data with the last transmission order (the one with the largest counter value in the packet) is discarded.
[0069]
F: When the data is discarded, the calculation of the counter value in the
[0070]
§5: Specific device example and description of recording medium FIG. 4 shows a specific device example. The terminal can be realized by an arbitrary computer such as a personal computer or a workstation. This apparatus includes a computer main body 11, a
[0071]
The computer main body 11 includes a
[0072]
In the apparatus having the above-described configuration, for example, a program for realizing the priority control processing of the terminal is stored in the magnetic disk (recording medium) of the MDD 15 or the
[0073]
However, the present invention is not limited to such an example. For example, the program can be stored in the magnetic disk of the MDD 15 as follows, and the
[0074]
{Circle around (1)} A program (program data created by another device) stored in a removable disk created by another device is read by the RDD 14 and stored in a recording medium of the MDD 15.
[0075]
{Circle around (2)}: Data such as a program transmitted from another apparatus via a communication line such as a LAN is received via the
[0076]
【The invention's effect】
As described above, the present invention has the following effects. In other words, since the processing of the priority determination unit and the processing of the data transmission unit are performed separately, it is possible to determine the transmission order of transmission packets by the data transmission unit in a portion (data link layer) close to the medium. Further, the priority determination unit can be provided in the network layer that analyzes the IP packet, and the data transmission unit can be provided in the data link layer in the medium. Therefore, the efficiency of priority control can be improved. In addition, the priority of the processed packet can be reliably determined.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of a terminal according to an embodiment of the present invention.
FIG. 2 is a protocol hierarchy diagram according to the embodiment of the present invention.
FIG. 3 is a process explanatory diagram of a priority determination unit in the embodiment of the present invention.
FIG. 4 is a specific apparatus example according to the embodiment of the present invention.
FIG. 5 is an explanatory diagram of a conventional example.
[Explanation of symbols]
DESCRIPTION OF
17 ROM (Read Only Memory)
18 Memory 19 Interface control unit (I / F control unit)
20 Communication control unit
Claims (9)
IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する優先度決定部と、
前記優先度決定部が決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信するデータ送信部を備え、
前記優先度決定部とデータ送信部とを分離して設けたことを特徴とするIPパケット優先制御機能を有する端末。In a terminal having an IP packet priority control function when transmitting an IP packet,
A priority determination unit that calculates and determines the transmission priority of an IP packet as a non-continuous numerical value from the allocated bandwidth;
A data transmission unit for determining the transmission order of IP packets based on the transmission priority determined by the priority determination unit, and transmitting the IP packets according to the transmission order;
A terminal having an IP packet priority control function, wherein the priority determination unit and the data transmission unit are provided separately.
送信待ちデータ無しの時に、前記カウンタの全てを最小値にセットするカウンタセット手段を備えていることを特徴とする請求項1記載のIPパケット優先制御機能を有する端末。The priority determination unit, based on a notification from the data transmission unit, counter correction means for periodically correcting the value of the counter for determining the transmission priority;
2. The terminal having an IP packet priority control function according to claim 1, further comprising counter setting means for setting all of the counters to a minimum value when there is no transmission waiting data.
前記データ送信部は、前記送信優先度を送信可能時刻として解釈することにより、帯域が空いている場合でも送信を抑制する送信抑制手段を備えていることを特徴とする請求項1記載のIPパケット優先制御機能を有する端末。The priority determination unit includes time data processing means that uses time data as a transmission priority and determines a priority based on the time data.
2. The IP packet according to claim 1, wherein the data transmission unit includes a transmission suppression unit that suppresses transmission even when a bandwidth is vacant by interpreting the transmission priority as a transmittable time. A terminal having a priority control function.
前記優先度決定部は、データ送信部からの通知に基づいて、割り当て帯域を補正する帯域補正手段を備えていることを特徴とする請求項1記載のIPパケット優先制御機能を有する端末。The data transmission unit, when discarding transmission data, comprises a discard data notification means for notifying the priority determination unit of which band data was discarded,
The terminal having an IP packet priority control function according to claim 1, wherein the priority determination unit includes a band correction unit that corrects an allocated band based on a notification from the data transmission unit.
IPパケットの送信優先度を、割り当てられた帯域から非連続の数値として計算して決定する第1の手順と、
前記第1の手順とは分離して、前記第1の手順により決定した送信優先度に基づいてIPパケットの送信順番を決定し、該送信順番に従ってIPパケットを送信する第2の手順とを、
実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。To a terminal having an IP packet priority control function when transmitting an IP packet,
A first procedure for calculating and determining the transmission priority of an IP packet as a non-continuous numerical value from the allocated bandwidth;
Separately from the first procedure, a second procedure for determining the transmission order of IP packets based on the transmission priority determined by the first procedure and transmitting the IP packets according to the transmission order;
A computer-readable recording medium on which a program for execution is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36202399A JP3624128B2 (en) | 1999-12-21 | 1999-12-21 | Terminal and recording medium having IP packet priority control function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36202399A JP3624128B2 (en) | 1999-12-21 | 1999-12-21 | Terminal and recording medium having IP packet priority control function |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001177576A JP2001177576A (en) | 2001-06-29 |
JP3624128B2 true JP3624128B2 (en) | 2005-03-02 |
Family
ID=18475651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36202399A Expired - Fee Related JP3624128B2 (en) | 1999-12-21 | 1999-12-21 | Terminal and recording medium having IP packet priority control function |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3624128B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069603A (en) * | 2001-08-27 | 2003-03-07 | Fujikura Ltd | Packet communication controller |
-
1999
- 1999-12-21 JP JP36202399A patent/JP3624128B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001177576A (en) | 2001-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116574B2 (en) | System and method for improving TCP performance in virtualized environments | |
US7945705B1 (en) | Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages | |
US10355997B2 (en) | System and method for improving TCP performance in virtualized environments | |
US6708233B1 (en) | Method and apparatus for direct buffering of a stream of variable-length data | |
Kleinpaste et al. | Software support for outboard buffering and checksumming | |
US7920470B2 (en) | Network adapter with TCP support | |
US20090161547A1 (en) | Compression Mechanisms for Control Plane-Data Plane Processing Architectures | |
US9559968B2 (en) | Technique for achieving low latency in data center network environments | |
US20090083517A1 (en) | Lockless Processing of Command Operations in Multiprocessor Systems | |
US12047478B2 (en) | Message segmentation | |
JP2002538725A (en) | Initial random packet discarding method and apparatus | |
JP2003152792A (en) | Device and method for transferring packet, and program | |
JP6492112B2 (en) | Service quality control method and device for software-defined networking | |
WO2019192318A1 (en) | Traffic smoothing method, server, and forwarding device | |
JP7103883B2 (en) | Communication systems, communication control methods, and communication devices | |
US6973503B2 (en) | Preventing at least in part control processors from being overloaded | |
JP3624128B2 (en) | Terminal and recording medium having IP packet priority control function | |
US8745235B2 (en) | Networking system call data division for zero copy operations | |
Rio et al. | A map of the networking code in Linux kernel 2.4. 20 | |
US10498867B2 (en) | Network interface device and host processing device field | |
EP3012736A1 (en) | Data stream processing method, device and system | |
WO2008121690A2 (en) | Data and control plane architecture for network application traffic management device | |
US7646724B2 (en) | Dynamic blocking in a shared host-network interface | |
Jie et al. | Implementation of TCP large receive offload on multi-core NPU platform | |
Tripathi et al. | Crossbow: A vertically integrated QoS stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041110 |
|
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: 20041124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041129 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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: 20071203 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |