JP3726741B2 - パケット転送装置、方法およびプログラム - Google Patents

パケット転送装置、方法およびプログラム Download PDF

Info

Publication number
JP3726741B2
JP3726741B2 JP2001351252A JP2001351252A JP3726741B2 JP 3726741 B2 JP3726741 B2 JP 3726741B2 JP 2001351252 A JP2001351252 A JP 2001351252A JP 2001351252 A JP2001351252 A JP 2001351252A JP 3726741 B2 JP3726741 B2 JP 3726741B2
Authority
JP
Japan
Prior art keywords
connection
packet
received
order
queue
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
JP2001351252A
Other languages
English (en)
Other versions
JP2003152792A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001351252A priority Critical patent/JP3726741B2/ja
Priority to US10/294,702 priority patent/US7385986B2/en
Publication of JP2003152792A publication Critical patent/JP2003152792A/ja
Application granted granted Critical
Publication of JP3726741B2 publication Critical patent/JP3726741B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パケット転送装置、パケット転送方法およびプログラムに関し、特にインターネットなどで使用されているTCP(Transmission Control Protocol)を用いてパケットを転送する際、複数のコネクション間で公平にパケット転送するパケット転送装置、パケット転送方法およびプログラムに関するものである。
【0002】
【従来の技術】
従来、パケット通信ではパケット転送装置におけるパケットスケジューリング方式の工夫によってコネクション間の公平性の向上が図られてきた。
従来のスケジューリング方式の1つとして、DRR(Deficit Round Robin)という技術がある(例えば、M.Shreedhar, G.Varghese,"Efficient fair queuing using deficit round robin",Proc. ACM SIGCOMM 1995. など参照)。
【0003】
以下、図14,15を参照して、上記DRRについて説明する。図14はDRRを用いたパケット転送装置の構成を示すブロック図である。図15はDRRに基づくパケット転送制御方法を示すフローチャートである。
このパケット転送装置には、入力端子001、コネクション情報記憶部002、パケット分類部003、キューマネージャ004、キュー006〜008を含むキュー集合005、デフォルトキュー011、スケジューラ009、および出力端子010が設けられている。
【0004】
TCP/IPを利用したパケット通信を行う複数の通信装置間に、図14に示すパケット転送装置が設置されている場合、入力端子001から入力されたパケットはパケット分類部003でコネクション毎に分類される。
パケット分類部003はヘッダ解析を行い、コネクションのプロトコル種別、送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号を組としてコネクションを認識し適切なコネクションを識別する。
【0005】
ここで、ヘッダ解析の結果、トランスポート層プロトコルとしてTCPを用い、TCPヘッダ部分のSYNフラグがたっているコネクション確立パケットを受信したことがわかった場合には、キューマネージャ004により新規にキューを生成し、送信元と宛先のアドレス・ポート番号の組と生成したキューの識別子の情報をもつ新規コネクション情報をコネクション情報記憶部002に登録し、生成したキューにパケットを格納する。
また、ヘッダ解析の結果、トランスポート層プロトコルとしてTCPを用い、データパケットを受信したことがわかった場合には、キューマネージャ004により送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部002に問合せ、格納すべきキューの識別子を得、該当キューにパケットを格納する。
【0006】
あるいは、ヘッダ解析の結果、トランスポート層プロトコルとしてTCPを用い、TCPヘッダ部分のFINフラグがたっているコネクション開放パケットを受信したことがわかった場合には、キューマネージャ004により送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部002から格納すべきキューの識別子を得て、該当キューにパケットを格納する。その後、コネクション情報記憶部002に該当する登録情報を消去するよう要求する。コネクション情報記憶部002は登録情報を消去する要求を受けると、一定時間後にコネクション情報を消去する。
また、ヘッダ解析の結果、トランスポート層プロトコルとしてUDP(User Datagram Protocol)などTCP以外のプロトコルを使用するパケットを受信したことがわかった場合には、あらかじめ設けてあるデフォルトキュー011に格納し、TCPコネクションとは別に帯域を確保し、このキューを処理する。
【0007】
コネクション情報記憶部002は、TCPコネクションが異常終了した時のために、それぞれのコネクションについてタイマを保持し、一定時間中にパケットが入力されなければコネクション情報を削除する。
キューに追加する時にキューマネージャ004によって、ある条件にしたがってパケットを廃棄するRED(Random Early Detection: S.Floyd, V.Jacobson.,"Random early detection gateways for congestion avoidance", IEEE/ACM trans. networking, 1995.)などのアクティブ・キュー・マネジメントを行っても良い。このような処理を経て、入力パケットはコネクション毎のキュー006〜008のいずれかに追加される。
【0008】
スケジューラ009では、キュー集合005中のキュー006〜008のいずれかのキューを選択し、キューの先頭からパケット取り出し、出力端子010を通してネットワークに出力する。スケジューラ009は出力端子010がパケットを送信し終えると次に送信すべきパケットを選択する。
【0009】
スケジューラ009でのキューの選択動作すなわちパケット転送制御は、図15に示すような処理となる。この場合、デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
DRRのスケジューラ009は、ラウンドロビン方式によってキューを順番に選択し、各キューでパケットを出力するかどうかを以下のようにして判断する。このとき、各コネクションのキュー毎に不足カウンタという変数を用意し、コネクション確立時に不足カウンタを0にリセットする。
【0010】
まず、スケジューラ009は、出力端子010でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキュー011を処理するタイミングであるか判断する(ステップA01)。
ここで、デフォルトキューを処理するタイミングである場合(ステップA01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップA10)。もし空であれば(ステップA10:YES)、すぐにステップA01に戻る。空でなければ(ステップA10:NO)、デフォルトキューの先頭パケットを送信し(ステップA11)、再びステップA01に戻る。
【0011】
デフォルトキューを処理するタイミングでない場合は(ステップA01:NO)、まず、処理するキューについてキューが空であるか否かをチェックする(ステップA02)。
ここで、キューの中に送信すべきパケットがない場合には(ステップA02:YES)、不足カウンタをリセットし(ステップA07)、このキューの処理を終了する。
【0012】
一方、キューが空でなければ(ステップA02:YES)、quantumと呼ばれる定数を不足カウンタに加算し(ステップA03)、キュー先頭のパケットサイズと不足カウンタの大小を比較する(ステップA04)。
このとき、不足カウンタの方が大きければ(ステップA04:YES)、パケットを出力し(ステップA05)、不足カウンタからパケットサイズ分を減算し(ステップA06)、再びステップA05に戻る。また、不足カウンタの方が先頭のパケットサイズより小さければ(ステップA04:NO)、不足カウンタの値を記憶し(ステップA08)、このキューの処理を終了する。
【0013】
キューの処理を終了した後、全てのキューが空であるかチェックし(ステップA09)、空でなければ再び次に選択されたキューについて処理するためのステップA01に移る。全てのキューが空であれば(ステップA09:YES)、一連のパケット転送制御処理を終了する。
以上の結果、quantumで決まるデータ長の送信に要する時間の程度において、各コネクションに対する転送レートはほぼ平均化され、コネクション間の公平性を保つことが可能となる。
【0014】
【発明が解決しようとする課題】
しかしながら、このような従来のパケット転送制御方法では、DRRのようなフェアスケジューラを用いたとしても、インターネットで一般的に使用されているTCPを用いてデータを転送する場合、小さなデータを転送するコネクションほどスループットが小さく、コネクション間のスループットが公平にならないという問題点があった。
特に、インターネットでWebブラウジングをおこなう際に広く使用されるHTTP(Hyper Text Transfer Protocol)を用いてTCP通信を行う場合、小さなファイルのデータ転送がほとんどであり、大きなファイルの転送はごく一部となるため、不公平性が大きい。
【0015】
その理由は、TCPでは、コネクション確立直後は低い送信レートから始めて指数関数的に増加させるスロースタート動作と、コネクション確立後しばらく経過してからは送信レートを線形的に増加させる輻輳回避動作があり、転送するデータサイズが小さい場合スロースタート動作の間にコネクションが終了し、スループットが小さくなる傾向があるためである。
本発明はこのような課題を解決するためのものであり、転送するデータサイズの異なるTCPコネクション間の公平性の向上をはかることができるパケット転送装置、パケット転送制御方法およびプログラムを提供することを目的としている。
【0016】
【課題を解決するための手段】
このような目的を達成するために、本発明にかかるパケット転送装置は、パケット通信網を介して確立したコネクションを用いて、送信端末と受信端末との間でデータ通信を行う際、パケット通信網に接続されて送信端末からのパケットを受信端末へ転送するパケット転送装置において、送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別し、その確立および解放を検出するパケット分類部を設け、スケジューラで、パケット分類部で識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、データ量が最も少ないコネクションから順番に受信パケットを転送するようにしたものである。
【0017】
このとき、パケット分類部で識別された各コネクションに対応するキューへ当該受信パケットを順次格納するキューマネージャをさらに設け、スケジューラで、各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、データ量が最も少ないコネクションのキューから順番に受信パケットを転送するようにしてもよい。
【0018】
コネクション選択の条件としては、ケジューラで、次に受信パケットを転送する際、データ量に代えて、各コネクションについて、そのコネクションの確立後からの経過時間が短い順にコネクションをソートし、経過時間が最も短いコネクションから順番に受信パケットを転送するようにしてもよい。
あるいは、スケジューラで、次に受信パケットを転送する際、データ量に代えて、各コネクションのうち、そのコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、時間変化が最も大きいコネクションから順番に受信パケットを転送するようにしてもよい。
【0019】
また、スケジューラで、各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、データ量が少ない順にグループをソートし、データ量が最も少ないグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
【0020】
このとき、コネクション選択の条件としては、スケジューラで、各コネクションをそのコネクションの確立後からの経過時間に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、経過時間が短い順にグループをソートし、経過時間が最も短いグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
あるいは、スケジューラで、各コネクションをそのコネクションの転送レートの時間変化に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、時間変化が正でかつその時間変化が大きい順にグループをソートし、時間変化が最も大きいグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
上記コネクションでは、トランスポート層プロトコルとしてTCPを用いるようにしてもよい。
【0021】
また、本発明にかかるパケット転送方法は、パケット通信網を介して確立したコネクションを用いて、送信端末と受信端末との間でデータ通信を行う際、パケット通信網に接続されて送信端末からのパケットを受信端末へ転送するパケット転送装置で用いるパケット転送方法において、送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別して、その確立および解放を検出し、これら識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、データ量が最も少ないコネクションから順番に受信パケットを転送するようにしたものである。
【0022】
このとき、識別された各コネクションに対応するキューへ当該受信パケットを順次格納し、各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、データ量が最も少ないコネクションのキューから順番に受信パケットを転送するようにしてもよい。
【0023】
コネクション選択の条件としては、次に受信パケットを転送する際、データ量に代えて、各コネクションについて、そのコネクションの確立後からの経過時間が短い順にコネクションをソートし、経過時間が最も短いコネクションから順番に受信パケットを転送するようにしてもよい。
あるいは、次に受信パケットを転送する際、データ量に代えて、各コネクションについて、そのコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、時間変化が最も大きいコネクションから順番に受信パケットを転送するようにしてもよい。
【0024】
また、各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、データ量が少ない順にグループをソートし、データ量が最も少ないグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
【0025】
このとき、コネクション選択の条件としては、各コネクションをそのコネクションの確立後からの経過時間に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、経過時間が短い順にグループをソートし、経過時間が最も短いグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
あるいは、各コネクションをそのコネクションの転送レートの時間変化に基づき複数のグループに分類し、次に受信パケットを転送する際、各グループについて、時間変化が正でかつその時間変化が大きい順にグループをソートし、時間変化が最も大きいグループに属するコネクションから順番に受信パケットを転送するようにしてもよい。
上記コネクションでは、トランスポート層プロトコルとしてTCPを用いるようにしてもよい。
【0026】
また、本発明にかかるプログラムは、上記した本発明にかかるパケット転送方法の各ステップを実行するようにしたものである。
【0027】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
図1は本発明の一実施の形態にかかるパケット転送装置の適用例である。
この通信ネットワークは、通信装置A01、無線リンク02、パケット転送装置03、有線リンク04、パケットネットワーク05、有線リンク06、および通信装置B07から構成されている。
【0028】
通信装置A01と通信装置B07は予め確立したコネクションを介してパケット通信を行っており、出力されたパケットは、無線リンク02、パケット転送装置03、有線リンク04、パケットネットワーク05、および有線リンク06を経由して通信相手に到達する。
無線リンク02は、通信装置B07から通信装置A01の方向へパケットを転送する下りリンク11と、通信装置A01から通信装置B07の方向へパケットを転送する上りリンク12からなる。ただし、無線リンク02は一例であり、パケット転送装置03から通信装置A01へ1ホップで到達すれば、有線リンクでも構わない。
パケット転送装置03は、下りリンク11に関してパケット転送の順序を制御する。パケットネットワーク05は、パケットが通るネットワークである。
【0029】
図2にパケット転送装置03の構成を示す。
このパケット転送装置03には、入力端子101、コネクション情報記憶部102、パケット分類部103、キューマネージャ104、キュー106〜108を含むキュー集合105、スケジューラ109、出力端子110、およびデフォルトキュー111が設けられている。
【0030】
入力端子101は、パケット転送装置03に入力されたパケットを受信する部分であり、パケット分類部103に受信パケットを送信する。
コネクション情報記憶部102は、コネクションの識別子などのコネクションを管理する情報を保持する部分であり、パケット分類部103から情報の登録、更新、参照、削除を行われる。
【0031】
パケット分類部103は、入力されたパケットのヘッダ解析を行うことによりコネクションを識別し、コネクションの確立を検出した場合はコネクション情報記憶部102に登録し、コネクションの解放を検出した場合はコネクション情報記憶部102の該当情報を削除する。また、既知のコネクションならばコネクション情報記憶部102を参照し、対応するキューのキュー識別子とともにキューマネージャ104に受信パケットを渡す。
キューマネージャ104は、パケット分類部103から受け取ったパケットをキュー識別子に従い該当するキューに格納する。この際、必要に応じてパケットを廃棄してもよい。
【0032】
キュー集合105は、コネクション毎に用意されたキュー106〜108から構成される。
デフォルトキュー111は、トランスポート層プロトコルがTCP以外のパケットなどを格納するデフォルトのキューである。
スケジューラ109はキュー集合105に属するキューとデフォルトキュー111の中からいずれかのキューを選択し、キューの先頭からパケットを取り出して出力端子110へと送信する。出力端子110はスケジューラ109から受け取ったパケットをネットワークへ送信する。
【0033】
パケット転送装置03は、図3に示すように、全体としてプログラムにより各種処理を実行するコンピュータから構成されている。入出力I/F(インターフェース)部31は、パケットの入力端子101や出力端子110を備えて外部とのパケットのやり取りを行う。演算処理部32は、CPUなどのマイクロプロセッサやその周辺回路からなり、所定のプログラムを読み込んで実行することにより、上記ハードウェアとプログラムからなるソフトウェアとを協働させて、パケット分類部103、キューマネージャ104およびスケジューラ109の各機能手段を実現する。記憶部33はコネクション情報記憶部102を実現するとともに、演算処理部32での処理に用いる各種情報やプログラムを記憶するメモリである。キューバッファ34は、各キュー106〜108、111を実現するバッファメモリである。これら入出力I/F部31、演算処理部32、記憶部33およびキューバッファ34は、バス35を介して相互に接続されており、必要に応じて各種情報をやり取りする。
【0034】
次に、図4を参照して、TCPコネクションを用いた一般的なパケット転送手順について説明する。図4はTCPコネクションでのパケット転送手順を示すシーケンス図である。
TCPは、次のような、コネクション確立フェーズと、データ送受信フェーズ、コネクション開放フェーズを持つ。
コネクション確立フェーズでは、SYNフラグを立てたパケットを送信することから始まる。通信装置A01,通信装置B07のどちらから開始しても構わないが、ここでは通信装置Aから開始する例を説明する。
【0035】
まず初めに、通信装置Aからコネクション確立要求であるSYNフラグを立てたパケットP01が送信される。このパケットP01には、以降のコネクションで使用する通信装置Aと通信装置BのIPアドレスおよびポート番号が含まれている。
パケットP01は、パケット転送装置03により受信、転送され通信装置Bにより受信される。パケットP01を受信した通信装置Bは、SYNとACKフラグを立てたパケットP02を送信し、パケットP02はパケット転送装置でのバケット転送処理P03を経て通信装置Aにより受信される。このパケットP02に対して通信装置AがACKフラグを立てたパケットP04を送信し、パケットP04はパケット転送装置を経て通信装置Bにより受信される。以上でTCPコネクション確立が終了する。
【0036】
このようにしてコネクションが確立した後、データ送受信フェーズでのデータ通信は、確立された相手IPアドレス・ポートに向かって、確立した自分のIPアドレス・ポートから、パケットを送信することにより達成される。
通信装置Bから送信されたデータパケットP05は、パケット転送装置でのデータ通信処理P06を経て通信装置Aで受信される。
【0037】
またコネクション開放フェーズでは、FINフラグを立てたパケットを送信することから始まる。通信装置A01、通信装置B07どちらから開始しても構わないが、ここでは通信装置Bから開始する例を説明する。
まず初めに通信装置Bからコネクション開放要求であるFINフラグを立てたパケットP07が送信される。パケットP07は、パケット転送装置03でのコネクション開放処理P08を経て通信装置Aで受信される。パケットP07を受信した通信装置Aは、FINとACKフラグを立てたパケットP09を送信し、パケットP09はパケット転送装置を経て通信装置Aにより受信される。パケットP09に対して通信装置BがACKフラグを立てたパケットP10を送信し、パケットP10はパケット転送装置を経て通信装置Aにより受信される。以上でTCPコネクション開放フェーズが終了する。
【0038】
次に、図2を参照して本発明の第1の実施の形態にかかるパケット転送装置の動作について説明する。
以下では、図1に示したように、通信装置A01と通信装置B02間に本実施の形態にかかるパケット転送装置03が設置されており、図4で示したように、通信装置Bから通信装置Aへデータ送信する場合を例として説明する。
なお、本実施の形態は、通信装置Aと通信装置Bとの通信を考えた場合、通信装置Aから通信装置B方向へのデータ送信と、通信装置Bから通信装置A方向へのデータ送信と、通信装置Bと通信装置A方向間の双方向データ送信とのいずれについても適用可能である。
【0039】
まず、TCPコネクション確立手順におけるコネクション確立処理(図4:P03)について説明する。、
パケット転送装置03では、入力端子101へパケットが入力されると、まずパケット分類部103でパケットのヘッダ情報の解析を行う。パケット分類部103は、ヘッダ解析の結果、TCPコネクションの確立手順中の、通信装置Bから通信装置AへのTCPヘッダ部分にSYNフラグがたっているコネクション確立パケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組と転送データ量を0とした情報をもつ新規コネクション情報をコネクション情報記憶部102に登録し、キューマネージャ104に、新しいキューの生成要求と共にパケットを送る。
【0040】
図5に、コネクション情報記憶部102が記憶するコネクション毎の情報の一例を示す。ただし、ここでは、スケジューラにおいて転送データ量を基準とした並べ替えを行うため、コネクション毎にその情報を保持しているが、他に転送レートの時間変動量や、コネクション確立からの経過時間などでも構わない。
キューマネージャ104は、パケット分類部103からキュー生成要求と共にパケットを受け取ると、新しいキューを生成しコネクション情報記憶部102にキュー識別子の情報を該当するコネクションに追加し、パケットを生成したキューに格納する。
【0041】
次に、TCPデータ送受信フェーズにおけるデータ送受信処理(図4:P06)について説明する。
パケット転送装置03では、入力端子101へパケットが入力されると、まずパケット分類部103でパケットのヘッダ情報の解析を行う。パケット分類部103は、ヘッダ解析の結果、データパケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部102に問合せ、格納すべきキューの識別子を得る。その後、キューマネージャ104にキュー識別子と共にパケットを送る。
キューマネージャ104は、パケット分類部103からキュー識別子と共にパケットを受け取ると、キュー識別子に従い該当するキューにパケットを格納する。
【0042】
次に、TCPコネクション開放フェーズにおけるコネクション開放処理(図4:P08)について説明する。
パケット転送装置03では、入力端子101へパケットが入力されると、まずパケット分類部103でパケットのヘッダ情報の解析を行う。パケット分類部103は、ヘッダ解析の結果、TCPコネクションの開放手順中の、通信装置Bから通信装置AへのTCPヘッダ部分にFINフラグがたっているコネクション開放パケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部102に、格納すべきキューの識別子を得る。
【0043】
また、これと同時に、コネクション情報記憶部102に該当する登録情報を消去するよう要求する。コネクション情報記憶部102は、一定時間後該コネクション情報を消去する。その後、キューマネージャ104に、キュー識別子と、キュー削除要求と共にパケットを送る。
キューマネージャ104は、パケット分類部103からキュー識別子とキュー削除要求と共にパケットを受け取ると、キュー識別子に従い該当するキューにパケットを格納する。キューマネージャ104は、キューからパケットが送信された一定時間後キューを削除する。
【0044】
ヘッダ解析の結果、トランスポート層プロトコルとしてUDPなどTCP以外のプロトコルを使用するパケットを受信したことがわかった場合には、あらかじめ設けてあるデフォルトキュー111に格納し、TCPコネクションとは別に帯域を確保しこのキューを処理する。
コネクション情報記憶部102は、TCPコネクションが異常終了した時のために、それぞれのコネクションについてタイマを保持し、一定時間中にパケットが入力されなければコネクション情報を削除する。
以上のような処理を経て、入力パケットはコネクション毎のキュー106〜108のいずれかに追加される。
【0045】
スケジューラ109は、コネクション情報記憶部102から得たコネクションの情報を参考に、キュー集合105中のキュー106〜108のいずれかのキューを選択し、そのキュー内のパケットを出力端子110を通して通信装置Aに向けてネットワークに出力する。
そして、スケジューラ109は、出力端子110がパケットを送信し終えると次の送信パケットを選択し送信する、という処理をキュー集合105中のキュー全てが空となるまで続ける。
【0046】
次に、図6を参照して、スケジューラ109のパケット転送制御処理(キュー選択処理)について説明する。図6は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件としてコネクション確立後の転送データ量を用いた場合を示している。
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ109は、出力端子110でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップB01)。
【0047】
ここで、デフォルトキューを処理するタイミングである場合(ステップB01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップB06)。
もし空であれば(ステップB06:YES)、すぐにステップB01に戻る。空でなければ(ステップB06:NO)、デフォルトキューの先頭パケットを送信し(ステップB07)、再びステップB01に戻る。
【0048】
一方、デフォルトキューを処理するタイミングでない場合は(ステップB01:NO)、まずキュー集合105中の空でない全てのキューを当該コネクション確立後の転送データ量(パケット数や実データ量)が少ない順に並べ替える(ステップB02)。
次に、転送データ量順に並べ替えられたキューの内、最も転送データ量の少ないコネクションを持つキューを最優先とし先頭のパケットを送信する(ステップB03)。
そして、コネクション情報記憶部102の保持するコネクション情報の転送データ量を、転送したパケットの情報も含めて更新する(ステップB04)。
【0049】
その後、キュー集合105中の全てのキューが空であるかどうかチェックし(ステップB05)、全てのキューが空でなければ(ステップB05:NO)、再びステップB01の処理に戻る。全てのキューが空であれば(ステップB05:YES)、一連のパケット転送制御処理を終了する。
【0050】
以上では、スケジューラ109での優先転送制御において、選択条件としてコネクション確立後の転送データ量を用いた場合について説明したが、他の選択条件として、コネクション確立からの経過時間を用いてもよい。
図7は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件としてコネクション確立からの経過時間を用いた場合を示している。
この場合、コネクション情報記憶部102は、コネクション毎にコネクション確立からの経過時間を記憶している必要がある。
【0051】
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ109は、出力端子110でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップC01)。
【0052】
ここで、デフォルトキューを処理するタイミングである場合(ステップC01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップC06)。
もし空であれば(ステップC06:YES)、すぐにステップC01に戻る。空でなければ(ステップC06:NO)、デフォルトキューの先頭パケットを送信し(ステップC07)、再びステップC01に戻る。
【0053】
一方、デフォルトキューを処理するタイミングでない場合は(ステップC01:NO)、まずキュー集合105中の空でない全てのキューをコネクション確立からの経過時間が短い順に並べ替える(ステップC02)。
次に、コネクション確立からの経過時間順に並べ替えられたキューの内、最もコネクション確立からの経過時間が短いコネクションを持つキューを最優先とし先頭のパケットを送信する(ステップC03)。
【0054】
そして、コネクション情報記憶部102の保持するコネクション情報のコネクション確立からの経過時間を、転送したパケットの情報も含めて更新する(ステップC04)。
その後、キュー集合105中の全てのキューが空であるかどうかチェックし(ステップC05)、全てのキューが空でなければ(ステップC05:NO)、再びステップC01の処理に戻る。全てのキューが空であれば(ステップC05:YES)、一連のパケット転送制御処理を終了する。
【0055】
また、スケジューラ109での優先転送制御において、選択条件として転送レートの時間変化量を用いてもよい。
図8は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件として転送レートの時間変化量を用いた場合を示している。
この場合コネクション情報記憶部102は、コネクション毎に転送レートの時間変化量を記憶している必要がある。
【0056】
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ109は、出力端子110でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップD01)。
ここで、デフォルトキューを処理するタイミングである場合(ステップD01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップD06)。
もし空であれば(ステップD06:YES)、すぐにステップD01に戻る。空でなければ(ステップD06:NO)、デフォルトキューの先頭パケットを送信し(ステップD07)、再びステップD01に戻る。
【0057】
一方、デフォルトキューを処理するタイミングでない場合は(ステップD01:NO)、まずキュー集合105中の空でない全てのキューを転送レートの時間変化量にしたがって並べ替える(ステップD02)。
次に、転送レートの時間変化量順に並べ替えられたキューの内、転送レートの時間変化量が正で最も大きいコネクションを持つキュー、すなわち転送レートが増加しておりその増加幅が最も大きいキューを最優先とし先頭のパケットを送信する(ステップD03)。
【0058】
そして、コネクション情報記憶部102の保持するコネクション情報の転送レートの時間変化量を、転送したパケットの情報も含めて更新する(ステップD04)。
その後、キュー集合105中の全てのキューが空であるかどうかチェックする(ステップD05)。全てのキューが空でなければ(ステップD05:NO)、再びステップC01の処理に戻る。全てのキューが空であれば(ステップD05:YES)、一連のパケット転送制御処理を終了する。
【0059】
このように、本実施の形態は、パケット分類部103で、送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別し、その確立および解放を検出し、パケット分類部103で識別された各コネクションのうち、そのコネクションの確立後に転送した受信パケットのデータ量が少ないコネクションの受信パケットを、スケジューラ109で優先して転送するようにしたものである。
【0060】
またこのとき、キューマネージャ104で、パケット分類部103により識別された各コネクションに対応するキュー106〜108へ当該受信パケットを順次格納し、スケジューラ109で、次に受信パケットを転送するコネクションを選択する際、各コネクションのうち、そのコネクションの確立後に転送した受信パケットのデータ量が少ないコネクション、コネクションの確立後からの経過時間が短いコネクション、あるいはコネクションの転送レートの時間変化が正でかつその時間変化が大きいコネクションの受信パケットを優先して転送するようにしたものである。
【0061】
これにより、TCPコネクションのスロースタート動作時のパケットが優先されるため、各コネクションで転送するデータ量に束縛されることなく、転送するデータサイズの異なるTCPコネクション間の公平性を向上させることができる。
特に、TCPのスロースタート動作は、ネットワークの輻輳を回避するために送信側の端末がおこなう動作としては適切であるが、データを受信する端末に最も近いエッジルータにおいては、スロースタート中のコネクションに関するパケットを優先して出力したとしても輻輳をまねくことはない。
【0062】
したがって、通信装置間のパケット転送装置において、TCPコネクションのスロースタート動作時のパケットを優先する優先制御方式を行い、パケット転送装置において優先するパケットの入力から出力までの待ち時間を低減させることにより、転送するデータサイズが小さいコネクションのスループットを向上させることができる。
また、キュー集合105においてコネクション毎にキューを持たず、スケジューラ109において優先制御を行わない場合でも、キューマネージャ104によりデータ転送量が多いコネクション、転送レートの時間変化が負もしくは0もしくは正で小さいコネクション、あるいはコネクション確立からの経過時間が長いコネクションほど、パケット廃棄率を高くすることで同様の作用効果が得られる。
【0063】
具体的には、キューマネージャ104で、パケットが到着する際、適当にパケットを廃棄するようにしてもよい。例えば、コネクション情報記憶部102から得たコネクションの情報を参考に、転送データ量が多いほどパケット廃棄確率を高くしておけばよい。他に、データ流量の変化が負や正で小さいものほどパケット廃棄確率を高くする、コネクション確立後の経過時間が長いほどパケット廃棄確立を高くする、メモリが足りなくなった場合に入力パケットを無条件に廃棄する、RED、などの任意のアルゴリズムで行って構わない。
【0064】
次に、図9を参照して、本発明の第2の実施の形態にかかるパケット転送装置について説明する。
このパケット転送装置には、入力端子201、コネクション情報記憶部202、パケット分類部203、キューマネージャ204、キュー207〜208を含む優先グループ205、キュー209〜210を含む非優先グループ206、デフォルトキュー216、スケジューラ211、および出力端子215が設けられている。なお、本実施の形態にかかるパケット転送装置も、前述した図3と同様の構成をなしており、ここでの説明は省略する。
【0065】
入力端子201は、パケット転送装置03に入力されたパケットを受信する部分であり、パケット分類部203に受信パケットを送信する。
コネクション情報記憶部202は、コネクションの識別子などのコネクションを管理する情報を保持する部分であり、パケット分類部203から情報の登録、更新、参照、削除を行われる。
パケット分類部203は、入力されたパケットのヘッダ解析を行うことにより、コネクションを識別し、コネクション情報記憶部202へのコネクションの登録、削除し、参照、更新を行い、コネクションの情報と共にキューマネージャ204に受信パケットを渡す。
【0066】
キューマネージャ204は、パケット分類部203から受け取ったパケットをキューに格納する。この際、パケットを廃棄する場合もある。
優先グループ205は、コネクション毎に存在するキュー207、208を備える。非優先グループ206はコネクション毎に存在するキュー209、210を備える。ただし、この例ではグループを二つに分けているが、任意の数のグループに分けて構わない。
【0067】
デフォルトキュー216は、トランスポート層プロトコルがTCP以外のパケットなどを格納するデフォルトのキューである。
スケジューラ211は、第1スケジューラ212、213と第2スケジューラ214を備える。第1スケジューラ212、213は、それぞれ優先グループ205、非優先グループ206内のコネクション毎のキューを並べ替えて第2スケジューラ214に渡す。第2スケジューラ214は、第1スケジューラ212、213、もしくはデフォルトキュー216から送信するべきキューを選択しパケットを送信する。
出力端子215はスケジューラ211から受け取ったパケットをネットワークへ送信する。
【0068】
次に、図9を参照して本発明の第2の実施の形態にかかるパケット転送装置の動作について説明する。
以下では、図1に示したように、通信装置A01と通信装置B02間に本実施の形態にかかるパケット転送装置03が設置されており、図4で示したように、通信装置Bから通信装置Aへデータ送信する場合を例として説明する。
なお、本実施の形態は、通信装置Aと通信装置Bとの通信を考えた場合、通信装置Aから通信装置B方向へのデータ送信と、通信装置Bから通信装置A方向へのデータ送信と、通信装置Bと通信装置A方向間の双方向データ送信とのいずれについても適用可能である。
【0069】
まず、TCPコネクション確立手順におけるコネクション確立処理(図4:P03)について説明する。、
パケット転送装置03では、入力端子201へパケットが入力されると、まずパケット分類部203でパケットのヘッダ情報の解析を行う。パケット分類部203は、ヘッダ解析の結果、TCPコネクションの確立手順中の、通信装置Bから通信装置AへのTCPヘッダ部分にSYNフラグがたっているコネクション確立パケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組と転送データ量を0とした情報をもつ新規コネクション情報をコネクション情報記憶部202に登録し、キューマネージャ204に、新しいキューの生成要求と共にパケットを送る。
【0070】
図10に、コネクション情報記憶部202が記憶するコネクション毎の情報の一例を示す。ただし、ここでは、スケジューラにおいて転送データ量を基準とした並べ替えを行うため、コネクション毎にその情報を保持しているが、他に転送レートの時間変動量や、コネクション確立からの経過時間などでも構わない。
キューマネージャ204は、パケット分類部203からキュー生成要求と共にパケットを受け取ると、新しいキューを生成しキューに格納し、該キューを転送データ量が100kバイト未満である優先グループ205に組み込む。次に、コネクション情報記憶部202の保持する該コネクション情報に、キュー識別子と、キューは優先グループに属しているという情報とを追加する。
【0071】
次に、TCPデータ送受信フェーズにおけるデータ送受信処理(図4:P06)について説明する。
パケット転送装置03では、入力端子201へパケットが入力されると、まずパケット分類部203でパケットのヘッダ情報の解析を行う。パケット分類部203は、ヘッダ解析の結果、データパケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部202に問合せ、格納すべきキューの識別子を得る。その後、キュー識別子とパケットをキューマネージャ204に送る。
キューマネージャ204は、パケット分類部203からキュー識別子と共にパケットを受け取ると、キュー識別子に従い該当するキューにパケットを格納する。
【0072】
次に、TCPコネクション開放フェーズにおけるコネクション開放処理(図4:P08)について説明する。
パケット転送装置03では、入力端子201へパケットが入力されると、まずパケット分類部203でパケットのヘッダ情報の解析を行う。パケット分類部203は、ヘッダ解析の結果、TCPコネクションの開放手順中の、通信装置Bから通信装置AへのTCPヘッダ部分にFINフラグがたっているコネクション開放パケットを受信したことがわかると、送信元と宛先のアドレス・ポート番号の組をキーとしてコネクション情報記憶部202に、格納すべきキューの識別子を得る。
【0073】
また、これと同時に、コネクション情報記憶部202に該当する登録情報を消去するよう要求する。コネクション情報記憶部202は、一定時間後外コネクション情報を消去する。その後、キューマネージャ204に、キュー識別子と、キュー削除要求と共にパケットを送る。
キューマネージャ204は、パケット分類部203からキュー識別子とキュー削除要求と共にパケットを受け取ると、キュー識別子に従い該当するキューにパケットを格納する。キューマネージャ204は、キューからパケットが送信された一定時間後キューを削除する。
【0074】
ヘッダ解析の結果、トランスポート層プロトコルとしてUDPなどTCP以外のプロトコルを使用するパケットを受信したことがわかった場合には、あらかじめ設けてあるデフォルトキュー216に格納し、TCPコネクションとは別に帯域を確保しこのキューを処理する。
コネクション情報記憶部202は、TCPコネクションが異常終了した時のために、それぞれのコネクションについてタイマを保持し、一定時間中にパケットが入力されなければコネクション情報を削除する。
【0075】
また、キューマネージャ204は、パケットが到着する際、適当にパケットを廃棄してもよい。例えば、コネクション情報記憶部202から得たコネクションの情報を参考に、転送データ量が多いほどパケット廃棄確率を高くしておくなどである。他に、データ流量の変化が負や正で小さいものほどパケット廃棄確率を高くする、コネクション確立後の経過時間が長いほどパケット廃棄確立を高くする、メモリが足りなくなった場合に入力パケットを無条件に廃棄する、RED、など任意のアルゴリズムで行って構わない。
以上のような処理を経て、入力パケットはコネクション毎のキュー207〜210のいずれかに追加される。
【0076】
スケジューラ211は、コネクション情報記憶部202から得たコネクションの情報を参考に、キュー207〜210のいずれかのキューを選択し、そのキューのパケットを出力端子215を通して通信装置Aに向けてネットワークに出力する。
そして、スケジューラ211は、出力端子215がパケットを送信し終えると次の送信パケットを選択し送信する、という処理をキュー集合中のキュー全てが空とならない限り続ける。
【0077】
次に、図11を参照して、スケジューラ211のパケット転送制御処理(キュー選択処理)について説明する。図6は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件としてコネクション確立後の転送データ量を用いた場合を示している。
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ211では、出力端子215でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップE01)。
【0078】
ここで、デフォルトキューを処理するタイミングである場合(ステップE01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップE11)。
もし空であれば(ステップE11:YES)、すぐにステップE01に戻る。空でなければ(ステップE11:NO)、デフォルトキューの先頭パケットを送信し(ステップE12)、再びステップE01に戻る。
【0079】
一方、デフォルトキューを処理するタイミングでない場合(ステップE01:NO)、まず第2スケジューラ214は、優先グループ205に空でないキューが存在するかどうかをチェックする。もしあれば、優先グループ205を選択し、無ければ非優先グループ206を選択する(ステップE02)。ただし、ここでは優先グループに空でないキューがある場合は必ず優先グループのキューを処理する、としているが、任意のアルゴリズムで優先グループ205と非優先グループ206の選択を行って構わない。
【0080】
このとき、第2スケジューラ214が非優先グループ206を選択した場合(ステップE02:NO)、第1スケジューラ213は、非優先グループ206内のキューを、宛先の通信装置までの無線リンクの伝搬状態の良い順に並べ替えを行う(ステップE08)。ここでは並べ替えのための、無線リンクの伝搬状態の良さを示す指標としてC/I比(Carrier to Interference Ratio)を例として用いている。ただし、ここでの並べ替えに用いるアルゴリズムは任意のもので構わない。
並べ替えの後、最もC/I比の高いキューの先頭のパケットを送信する(ステップE09)。
【0081】
一方、第2スケジューラ214が優先グループを選択した場合(ステップE02:YES)、第1スケジューラ212は、優先グループ205のキューの中から、そのコネクション確立後の転送データ量が最も少ないキューの先頭パケットを送信する(ステップE03)。
次に、送信したキューの転送データ量が、優先グループ、非優先グループの閾値である100kバイトを超えたかどうかチェックする(ステップE04)。ただし、この閾値は任意で構わない。
【0082】
ここで、100kバイトを超えていない場合には(ステップE04:NO)、コネクション情報記憶部202に転送データ量の更新を行う(ステップE05)。
また、100kバイトを超えた場合には(ステップE04:YES)、キューを非優先グループ206に移動し(ステップE06)、コネクション情報記憶部202に転送データ量の更新に加えて、キューグループ情報を非優先グループに変更する(ステップE07)。
【0083】
このようにしてパケットの送信まで完了した後、キュー207〜210の全てのキューが空であるかどうかチェックする(ステップE10)。全てのキューが空でなければ(ステップE05:NO)、再びステップE01の処理に戻る。全てのキューが空であれば(ステップE05:YES)、一連のパケット転送制御処理を終了する。
【0084】
以上では、スケジューラ209での優先転送制御において、選択条件としてコネクション確立後の転送データ量を用いた場合について説明したが、他の選択条件として、コネクション確立からの経過時間を用いてもよい。
図12は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件としてコネクション確立からの経過時間を用いた場合を示している。
この場合コネクション情報記憶部202は、コネクション毎にコネクション確立からの経過時間を記憶している必要がある。
【0085】
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ211は、出力端子215でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップF01)。
【0086】
ここで、デフォルトキューを処理するタイミングである場合(ステップF01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップF11)。
もし空であれば(ステップF11:YES)、すぐにステップF01に戻る。空でなければ(ステップF11:NO)、デフォルトキューの先頭パケットを送信し(ステップF12)、再びステップF01に戻る。
【0087】
一方、デフォルトキューを処理するタイミングでない場合は(ステップF01:NO)、まず第2スケジューラ214は、優先グループ205に空でないキューが存在するかどうかをチェックする。もしあれば、優先グループ205を選択し、無ければ非優先グループ206を選択する(ステップF02)。ただし、ここでは優先グループに空でないキューがある場合は必ず優先グループのキューを処理する、としているが、任意のアルゴリズムで優先グループ205と非優先グループ206の選択を行って構わない。
【0088】
このとき、第2スケジューラ214が非優先グループ206を選択した場合(ステップF02:NO)、第1スケジューラ213が、非優先グループ206内のキューを、宛先の通信装置までの無線リンク固有の伝搬状態の良い順に並べ替えを行う(ステップF08)。ここでは並べ替えのための、無線リンクの状態の良さを示す指標としてC/I比を例として用いている。ただし、ここでの並べ替えに用いるアルゴリズムは任意のもので構わない。
並べ替えの後、最もC/I比の高いキューの先頭のパケットを送信する(ステップF09)。
【0089】
一方、第2スケジューラ214が優先グループを選択した場合(ステップF02:YES)、第1スケジューラ212は優先グループ205のキューの中から、コネクション確立からの経過時間が最も短いキューの先頭パケットを送信する(ステップF03)。
次に、送信したキューのコネクション確立からの経過時間が、優先グループ、非優先グループの閾値である10sを超えたかどうかチェックする(ステップF04)。ただし、この閾値は任意で構わない。
【0090】
ここで、コネクション確立からの経過時間が10sより短い場合には(ステップF04:NO)、コネクション情報記憶部202にコネクション確立からの経過時間の更新を行う(ステップF05)。10sより長い場合には、キューを非優先グループ206に移動し(ステップF06)、コネクション情報記憶部202にコネクション確立からの経過時間の更新に加えて、キューグループ情報を非優先グループに変更する(ステップF07)。
【0091】
このようにしてパケットの送信まで完了した後、キュー207〜210の全てのキューが空であるかどうかチェックする(ステップF10)。全てのキューが空でなければ(ステップF05:NO)、再びステップF01の処理に戻る。全てのキューが空であれば(ステップF05:YES)、一連のパケット転送制御処理を終了する。
【0092】
また、スケジューラ209での優先転送制御において、選択条件として転送レートの時間変化量を用いてもよい。
図13は、スケジューラでのパケット転送制御処理を示すフローチャートであり、特に選択条件として転送レートの時間変化量を用いた場合を示している。
この場合コネクション情報記憶部202は、コネクション毎に転送レートの時間変化量を記憶している必要がある。
【0093】
デフォルトキューとコネクション毎のキュー群は、それぞれに割り当てられたタイミングに処理することとする。
スケジューラ211では、出力端子215でパケット転送が終了し次に転送すべきパケットを選択する時、デフォルトキューを処理するタイミングであるか判断する(ステップG01)。
ここで、デフォルトキューを処理するタイミングである場合(ステップG01:YES)、次にデフォルトキューが空であるかどうかチェックする(ステップG11)。
もし空であれば(ステップG06:YES)、すぐにステップG01に戻る。空でなければ(ステップG06:NO)、デフォルトキューの先頭パケットを送信し(ステップG12)、再びステップG01に戻る。
【0094】
一方、デフォルトキューを処理するタイミングでない場合(ステップG01:NO)、まず第2スケジューラ214は、優先グループ205に空でないキューが存在するかどうかをチェックする。もしあれば、優先グループ205を選択し、無ければ非優先グループ206を選択する(ステップG02)。ただし、ここでは優先グループに空でないキューがある場合は必ず優先グループのキューを処理する、としているが、任意のアルゴリズムで優先グループ205と非優先グループ206の選択を行って構わない。
【0095】
このとき、第2スケジューラ214が非優先グループ206を選択した場合は(ステップG02:NO)、第1スケジューラ213が、非優先グループ206内のキューを、宛先の通信装置までの無線リンク固有の伝搬状態の良い順に並べ替えを行う(ステップG08)。ここでは並べ替えのための、無線リンクの状態の良さを示す指標としてC/I比を例として用いている。ただし、ここでの並べ替えに用いるアルゴリズムは任意のもので構わない。
並べ替えの後、最もC/I比の高いキューの先頭のパケットを送信する(ステップG09)。
【0096】
一方、第2スケジューラ214が優先グループを選択した場合(ステップG02:YES)、第1スケジューラ212は、優先グループ205のキューの中から、転送レートの時間変化量が正で最も大きいキューの先頭パケットを送信する(ステップG03)。
次に、送信したキューの転送レートの時間変化量が、優先グループ、非優先グループの閾値である20kbps/sを超えたかどうかチェックする(ステップG04)。ただし、この閾値は任意で構わない。
【0097】
ここで、20kbps/sより大きい場合には、コネクション情報記憶部202に転送レートの時間変化量の更新を行う(ステップG05)。20kbps/sより小さい場合には、キューを非優先グループ206に移動し(ステップG06)、コネクション情報記憶部202に転送レートの時間変化量の更新に加えて、キューグループ情報を非優先グループに変更する(ステップG07)。
【0098】
このようにしてパケットの送信まで完了した後、キュー207〜210の全てのキューが空であるかどうかチェックする(ステップG10)。全てのキューが空でなければ(ステップG05:NO)、再びステップG01の処理に戻る。全てのキューが空であれば(ステップG05:YES)、一連のパケット転送制御処理を終了する。
【0099】
このように、本実施の形態は、スケジューラ211で、各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類し、次に受信パケットを転送するコネクションを選択する際、各グループのうち、データ量が少ないグループに属するコネクションを優先して選択するようにしたものである。また、コネクションの確立後からの経過時間や、コネクションの転送レートの時間変化に基づき複数のグループに分類し、そのグループ単位でコネクションを優先して選択するようにしたものである。
【0100】
したがって、第1の実施の形態と同様の作用効果が得られるとともに、コネクション選択の際、特定のコネクションへ偏ることなく、グループという幅を持ってさらに公平にコネクションを選択できる。
また、第1の実施の形態と同様に、コネクション毎にキューを持たず、スケジューラ211において優先制御を行わない場合でも、キューマネージャ204により、非優先グループに属するコネクションかでパケット廃棄率を高くすることで同様の作用効果が得られる。
【0101】
【発明の効果】
以上説明したように、本発明は、パケット分類部で、送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別し、その確立および解放を検出し、パケット分類部で識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、データ量が最も少ないコネクションから順番に受信パケットを転送するようにしたものである。あるいは、コネクションの確立後からの経過時間が短い順にコネクションをソートし、経過時間が最も短いコネクションから順番に受信パケットを転送し、あるいはコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、時間変化が最も大きいコネクションから順番に受信パケットを転送するようにしたものである。
【0102】
したがって、一般的なTCPでは、コネクション確立直後は低い送信レートから始めて指数関数的に増加させるスロースタート動作や、コネクション確立後しばらく経過してから送信レートを線形的に増加させる輻輳回避動作に起因して、データサイズの小さいコネクションでは、上記スロースタート動作の間にコネクションが終了してスループットが小さくなる傾向があったが、本発明によれば、各コネクションで転送するデータ量に束縛されることなく、転送するデータサイズの異なるTCPコネクション間の公平性を向上させることができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態にかかるパケット転送装置の適用例である。
【図2】 本発明の第1の実施の形態にかかるパケット転送装置の構成を示すブロック図である。
【図3】 コンピュータからなるパケット転送装置の構成例である。
【図4】 TCPコネクションでのパケット転送手順を示すシーケンス図である。
【図5】 コネクション情報記憶部で記憶するコネクション毎の情報例である。
【図6】 本発明の第1の実施の形態にかかるパケット転送制御処理を示すフローチャートである。
【図7】 本発明の第1の実施の形態にかかる他のパケット転送制御処理を示すフローチャートである。
【図8】 本発明の第1の実施の形態にかかるスケジューラでの他のパケット転送制御処理を示すフローチャートである。
【図9】 本発明の第2の実施の形態にかかるパケット転送装置の構成を示すブロック図である。
【図10】 コネクション情報記憶部で記憶するコネクション毎の情報例である。
【図11】 本発明の第2の実施の形態にかかるパケット転送制御処理を示すフローチャートである。
【図12】 本発明の第2の実施の形態にかかる他のパケット転送制御処理を示すフローチャートである。
【図13】 本発明の第2の実施の形態にかかる他のパケット転送制御処理を示すフローチャートである。
【図14】 従来のパケット転送装置の構成を示すブロック図である。
【図15】 従来のパケット転送制御処理を示すフローチャートである。
【符号の説明】
01,07…通信装置、02…無線リンク、03…パケット転送装置、04,06…有線リンク、05…パケットネットワーク、11…下りリンク、12…上りリンク、31…入出力I/F部、32…演算処理部、33…記憶部、34…キューバッファ、35…バス、101…入力端子、102…コネクション情報記憶部、103…パケット分類部、104…キューマネージャ、105…キュー集合、106〜108…キュー、109…スケジューラ、110…出力端子、111…デフォルトキュー、201…入力端子、202…コネクション情報記憶部、203…パケット分類部、204…キューマネージャ、205…優先グループ、206…非優先グループ、207〜210…キュー、211…スケジューラ、212,213…第1スケジューラ、214…第2スケジューラ、215…出力端子、216…デフォルトキュー。

Claims (24)

  1. パケット通信網を介して確立したコネクションを用いて、送信端末と受信端末との間でデータ通信を行う際、前記パケット通信網に接続されて前記送信端末からのパケットを前記受信端末へ転送するパケット転送装置において、
    前記送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別し、その確立および解放を検出するパケット分類部と、
    前記パケット分類部で識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションから順番に受信パケットを転送するスケジューラとを備えることを特徴とするパケット転送装置。
  2. 請求項1記載のパケット転送装置において、
    前記パケット分類部で識別された各コネクションに対応するキューへ当該受信パケットを順次格納するキューマネージャをさらに備え、
    前記スケジューラは、前記各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションのキューから順番に受信パケットを転送することを特徴とするパケット転送装置。
  3. 請求項1または2記載のパケット転送装置において、
    前記スケジューラは、次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの確立後からの経過時間が短い順にコネクションをソートし、前記経過時間が最も短いコネクションから順番に受信パケットを転送することを特徴とするパケット転送装置。
  4. 請求項1または2記載のパケット転送装置において、
    前記スケジューラは、次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、前記時間変化が最も大きいコネクションから順番に受信パケットを転送することを特徴とするパケット転送装置。
  5. 請求項1または2記載のパケット転送装置において、
    前記スケジューラは、前記各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類し、次に受信パケットを転送する際、前記各グループについて、前記データ量が少ない順にグループをソートし、前記データ量が最も少ないグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送装置。
  6. 請求項3記載のパケット転送装置において、
    前記スケジューラは、前記各コネクションをそのコネクションの確立後からの経過時間に基づき複数のグループに分類し、次に受信パケットを転送する際、前記各グループについて、前記経過時間が短い順にグループをソートし、前記経過時間が最も短いグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送装置。
  7. 請求項4記載のパケット転送装置において、
    前記スケジューラは、前記各コネクションをそのコネクションの転送レートの時間変化に基づき複数のグループに分類し、次に受信パケットを転送する際、前記各グループについて、前記時間変化が正でかつその時間変化が大きい順にグループをソートし、前記時間変化が最も大きいグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送装置。
  8. 請求項1〜7記載のパケット転送装置において、
    前記コネクションでは、トランスポート層プロトコルとしてTCPを用いることを特徴とするパケット転送装置。
  9. パケット通信網を介して確立したコネクションを用いて、送信端末と受信端末との間でデータ通信を行う際、前記パケット通信網に接続されて前記送信端末からのパケットを前記受信端末へ転送するパケット転送装置で用いるパケット転送方法において、
    前記送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別して、その確立および解放を検出し、
    これら識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  10. 請求項9記載のパケット転送方法において、
    前記識別された各コネクションに対応するキューへ当該受信パケットを順次格納し、
    前記各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションのキューから順番に受信パケットを転送することを特徴とするパケット転送方法。
  11. 請求項9または10記載のパケット転送方法において、
    次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの確立後からの経過時間が短い順にコネクションをソートし、前記経過時間が最も短いコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  12. 請求項9または10記載のパケット転送方法において、
    次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、前記時間変化が最も大きいコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  13. 請求項9または10記載のパケット転送方法において、
    前記各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類し、
    次に受信パケットを転送する際、前記各グループについて、前記データ量が少ない順にグループをソートし、前記データ量が最も少ないグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  14. 請求項11記載のパケット転送方法において、
    前記各コネクションをそのコネクションの確立後からの経過時間に基づき複数のグループに分類し、
    次に受信パケットを転送する際、前記各グループについて、前記経過時間が短い順にグループをソートし、前記経過時間が最も短いグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  15. 請求項12記載のパケット転送方法において、
    前記各コネクションをそのコネクションの転送レートの時間変化に基づき複数のグループに分類し、
    次に受信パケットを転送する際、前記各グループについて、前記時間変化が正でかつその時間変化が大きい順にグループをソートし、前記時間変化が最も大きいグループに属するコネクションから順番に受信パケットを転送することを特徴とするパケット転送方法。
  16. 請求項9〜15記載のパケット転送方法において、
    前記コネクションでは、トランスポート層プロトコルとしてTCPを用いることを特徴とするパケット転送方法。
  17. パケット通信網を介して確立したコネクションを用いて、送信端末と受信端末との間でデータ通信を行う際、前記パケット通信網に接続されて前記送信端末からのパケットを前記受信端末へ転送するパケット転送装置のコンピュータで、
    前記送信端末から受信した受信パケットのヘッダに含まれる1つ以上のフィールドから、送信端末と受信端末との間でデータの転送に使用されるコネクションを識別して、その確立および解放を検出するステップと、
    これら識別された各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションから順番に受信パケットを転送するステップとを実行させるためのプログラム。
  18. 請求項17記載のプログラムにおいて、
    前記受信パケットを優先して転送する際、前記識別された各コネクションに対応するキューへ当該受信パケットを順次格納し、前記各コネクションについて、そのコネクションの確立後に転送した受信パケットのデータ量が少ない順にコネクションをソートし、前記データ量が最も少ないコネクションのキューから順番に受信パケットを転送するステップを実行させるためのプログラム。
  19. 請求項17または18記載のプログラムにおいて、
    次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの確立後からの経過時間が短い順にコネクションをソートし、前記経過時間が最も短いコネクションから順番に受信パケットを転送するステップを実行させるためのプログラム。
  20. 請求項17または18記載のプログラムにおいて、
    次に受信パケットを転送する際、前記データ量に代えて、前記各コネクションについて、そのコネクションの転送レートの時間変化が正でかつその時間変化が大きい順にコネクションをソートし、前記時間変化が最も大きいコネクションから順番に受信パケットを転送するステップを実行させるためのプログラム。
  21. 請求項17または18記載のプログラムにおいて、
    前記各コネクションをそのコネクションの確立後に転送した受信パケットのデータ量に基づき複数のグループに分類するステップと、
    次に受信パケットを転送する際、前記各グループについて、前記データ量が少ない順にグループをソートし、前記データ量が最も少ないグループに属するコネクションから順番に受信パケットを転送するステップを実行させるためのプログラム。
  22. 請求項19記載のプログラムにおいて、
    前記各コネクションをそのコネクションの確立後からの経過時間に基づき複数のグループに分類するステップと、
    次に受信パケットを転送する際、前記各グループについて、前記経過時間が短い順にグループをソートし、前記経過時間が最も短いグループに属するコネクションから順番に受信パケットを転送するステップを実行させるためのプログラム。
  23. 請求項20記載のプログラムにおいて、
    前記各コネクションをそのコネクションの転送レートの時間変化に基づき複数のグループに分類するステップと、
    次に受信パケットを転送する際、前記各グループについて、前記時間変化が正でかつその時間変化が大きい順にグループをソートし、前記時間変化が最も大きいグループに属するコネクションから順番に受信パケットを転送するステップを実行させるためのプログラム。
  24. 請求項17〜23記載のプログラムにおいて、
    前記コネクションでは、トランスポート層プロトコルとしてTCPを用いることを特徴とするプログラム。
JP2001351252A 2001-11-16 2001-11-16 パケット転送装置、方法およびプログラム Expired - Fee Related JP3726741B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001351252A JP3726741B2 (ja) 2001-11-16 2001-11-16 パケット転送装置、方法およびプログラム
US10/294,702 US7385986B2 (en) 2001-11-16 2002-11-15 Packet transfer method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001351252A JP3726741B2 (ja) 2001-11-16 2001-11-16 パケット転送装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2003152792A JP2003152792A (ja) 2003-05-23
JP3726741B2 true JP3726741B2 (ja) 2005-12-14

Family

ID=19163582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001351252A Expired - Fee Related JP3726741B2 (ja) 2001-11-16 2001-11-16 パケット転送装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US7385986B2 (ja)
JP (1) JP3726741B2 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339943B1 (en) 2002-05-10 2008-03-04 Altera Corporation Apparatus and method for queuing flow management between input, intermediate and output queues
US7606248B1 (en) 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
US7320037B1 (en) 2002-05-10 2008-01-15 Altera Corporation Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture
US7593334B1 (en) 2002-05-20 2009-09-22 Altera Corporation Method of policing network traffic
US7277437B1 (en) * 2002-05-20 2007-10-02 Altera Corporation Packet classification method
US7336669B1 (en) 2002-05-20 2008-02-26 Altera Corporation Mechanism for distributing statistics across multiple elements
KR100473814B1 (ko) * 2003-07-16 2005-03-14 한국전자통신연구원 직병렬 버스정합을 이용한 이중화시스템 및 방법
AU2003280933A1 (en) * 2003-11-14 2005-06-06 Zte Corporation A packet scheduling method for wireless communication system
KR100546002B1 (ko) * 2003-11-25 2006-01-25 한국과학기술원 무선이동통신시스템의 자원 할당방법 및 패킷 그루핑 기능을 갖는 기지국 시스템과 단말 시스템
US7296273B2 (en) * 2003-12-04 2007-11-13 International Business Machines Corporation System, method and program tool to reset an application
US7422152B2 (en) 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
US7710911B2 (en) * 2004-06-10 2010-05-04 Interdigital Technology Corporation Method and apparatus for dynamically allocating H-ARQ processes
US7720063B2 (en) * 2004-07-02 2010-05-18 Vt Idirect, Inc. Method apparatus and system for accelerated communication
US7509431B2 (en) * 2004-11-17 2009-03-24 Cisco Technology, Inc. Performing message and transformation adapter functions in a network element on behalf of an application
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
US7606267B2 (en) * 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US20060140193A1 (en) * 2004-12-29 2006-06-29 Nokia Corporation Optimization of a TCP connection
US7551567B2 (en) * 2005-01-05 2009-06-23 Cisco Technology, Inc. Interpreting an application message at a network element using sampling and heuristics
US20060155862A1 (en) * 2005-01-06 2006-07-13 Hari Kathi Data traffic load balancing based on application layer messages
US7698416B2 (en) * 2005-01-25 2010-04-13 Cisco Technology, Inc. Application layer message-based server failover management by a network element
US7345585B2 (en) 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
TWI276334B (en) * 2005-09-16 2007-03-11 Ind Tech Res Inst Methods for allocating transmission bandwidths of a network
JP4877740B2 (ja) * 2006-02-24 2012-02-15 三菱電機株式会社 通信装置およびコネクション選択方法
JP2007233977A (ja) * 2006-03-03 2007-09-13 Oki Electric Ind Co Ltd マルチタスクシステムの排他制御方法
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US7756134B2 (en) * 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US20070291765A1 (en) * 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US20080013559A1 (en) * 2006-07-14 2008-01-17 Smith Donald L Systems and methods for applying back-pressure for sequencing in quality of service
US20080025318A1 (en) * 2006-07-31 2008-01-31 Harris Corporation Systems and methods for dynamically customizable quality of service on the edge of a network
US8300653B2 (en) * 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
JP4884132B2 (ja) * 2006-08-17 2012-02-29 富士通株式会社 電話システム、接続制御方法、接続制御装置、及びコンピュータプログラム
CN101140549B (zh) * 2006-09-07 2010-05-12 中兴通讯股份有限公司 核心处理器与微引擎的上报、下发及内存控制通信方法
US7961745B2 (en) * 2006-09-16 2011-06-14 Mips Technologies, Inc. Bifurcated transaction selector supporting dynamic priorities in multi-port switch
US7990989B2 (en) * 2006-09-16 2011-08-02 Mips Technologies, Inc. Transaction selector employing transaction queue group priorities in multi-port switch
US8467401B1 (en) * 2006-10-04 2013-06-18 Altera Corporation Scheduling variable length packets
JP4840086B2 (ja) * 2006-11-06 2011-12-21 日本電気株式会社 通信制御装置、通信制御システム、通信制御方法及び通信制御プログラム
US7953895B1 (en) 2007-03-07 2011-05-31 Juniper Networks, Inc. Application identification
US8504622B1 (en) * 2007-11-05 2013-08-06 Mcafee, Inc. System, method, and computer program product for reacting based on a frequency in which a compromised source communicates unsolicited electronic messages
US9229792B1 (en) * 2007-11-21 2016-01-05 Marvell International Ltd. Method and apparatus for weighted message passing
US7911944B2 (en) * 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US8761022B2 (en) 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
US8850029B2 (en) * 2008-02-14 2014-09-30 Mcafee, Inc. System, method, and computer program product for managing at least one aspect of a connection based on application behavior
US8400997B2 (en) * 2009-08-01 2013-03-19 Ubiquiti Networks, Inc. Wireless network communication system and method
JP5032543B2 (ja) * 2009-09-16 2012-09-26 株式会社東芝 スケジューリング装置、方法及びプログラム
US20110134930A1 (en) * 2009-12-09 2011-06-09 Mclaren Moray Packet-based networking system
US8639822B2 (en) * 2011-01-07 2014-01-28 Cisco Technology, Inc. Extending application-layer sessions based on out-of-order messages
JP5238829B2 (ja) 2011-01-13 2013-07-17 株式会社東芝 データ収集装置、データ収集プログラム、およびデータ収集システム
US8811173B2 (en) * 2011-02-04 2014-08-19 Alcatel Lucent Method of managing user traffic to prevent aggressive users from abusing network resources
WO2012134932A2 (en) 2011-03-25 2012-10-04 Adc Telecommunications, Inc. Event-monitoring in a system for automatically obtaining and managing physical layer information using a reliable packet-based communication protocol
US8832503B2 (en) 2011-03-25 2014-09-09 Adc Telecommunications, Inc. Dynamically detecting a defective connector at a port
ES2553090T3 (es) 2011-03-25 2015-12-04 Adc Telecommunications, Inc. Esquema de codificación de identificador para su uso con conectores multivía
MY155822A (en) * 2012-02-03 2015-12-08 Mimos Berhad A system and method for differentiating backhaul traffic of wireless network
US9973438B2 (en) 2013-10-07 2018-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Downlink flow management
US20150124704A1 (en) * 2013-11-06 2015-05-07 Qualcomm Incorporated Apparatus and methods for mac header compression
JP2015204466A (ja) * 2014-04-10 2015-11-16 株式会社東芝 データ転送装置、データ転送方法および通信装置
GB201411366D0 (en) 2014-06-26 2014-08-13 Univ Warwick Controlling packet flow in a network
JP6763369B2 (ja) * 2015-04-02 2020-09-30 日本電気株式会社 ネットワークシステム、通信制御方法、及び、プログラム
JP6569374B2 (ja) * 2015-08-10 2019-09-04 富士通株式会社 スイッチ装置及びスイッチ装置の制御方法
JP6568571B2 (ja) * 2017-12-12 2019-08-28 株式会社東芝 データ転送装置、データ転送方法および通信装置
TWI689820B (zh) * 2018-08-23 2020-04-01 瑞昱半導體股份有限公司 Usb傳輸系統、usb裝置與支援usb傳輸的主機
CN110874334B (zh) * 2018-08-30 2023-10-20 瑞昱半导体股份有限公司 Usb传输系统、usb装置与支持usb传输的主机
CN115955447B (zh) * 2023-03-13 2023-06-27 微网优联科技(成都)有限公司 一种数据传输方法、交换机及交换机系统
CN117806261B (zh) * 2024-02-29 2024-05-28 佛山慧谷科技股份有限公司 一种石材磨抛队列管理系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570876B1 (en) * 1998-04-01 2003-05-27 Hitachi, Ltd. Packet switch and switching method for switching variable length packets
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US7058974B1 (en) * 2000-06-21 2006-06-06 Netrake Corporation Method and apparatus for preventing denial of service attacks
JP2002314592A (ja) 2001-04-13 2002-10-25 Nec Corp Ipパケット通信網におけるルータ、同ルータの輻輳制御方法及びプログラム
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof

Also Published As

Publication number Publication date
US20030112802A1 (en) 2003-06-19
US7385986B2 (en) 2008-06-10
JP2003152792A (ja) 2003-05-23

Similar Documents

Publication Publication Date Title
JP3726741B2 (ja) パケット転送装置、方法およびプログラム
US7315892B2 (en) In-kernel content-aware service differentiation
JP4168633B2 (ja) 無線基地局におけるパケットスケジューリング方法、パケット転送装置およびパケットスケジューリングプログラム
EP0932282A2 (en) TCP admission control
US8284789B2 (en) Methods and apparatus for providing dynamic data flow queues
JP2004522337A (ja) コンピュータ・ネットワークでの輻輳管理
KR20040000336A (ko) 패킷 전송 장치와 그 방법, 트래픽 컨디셔너, 우선 제어기구 및 패킷 셰이퍼
JP2004200905A (ja) ルータ装置とその出力ポート回路及びその制御方法
US20070058649A1 (en) Packet queuing system and method
JP3989903B2 (ja) データ送信装置
Zhong et al. Age-aware scheduling for asynchronous arriving jobs in edge applications
US8111700B2 (en) Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device
CN113765812A (zh) 一种标记报文的方法和装置
US9331853B2 (en) Method and apparatus for increasing the output of a cryptographic system
JP3623420B2 (ja) トラヒック制御方法
JP3950895B2 (ja) 通信システムおよび通信方法
JP5036743B2 (ja) フロー制御方法とシステムおよびプログラム
JP3888453B2 (ja) ネットワークシステム
CN107332786B (zh) 一种在服务链环境下保障数据流截止时间的调度方法
KR20010038486A (ko) 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법
Kogan et al. Large profits or fast gains: A dilemma in maximizing throughput with applications to network processors
Shpiner et al. Scaling multi-core network processors without the reordering bottleneck
KR100475783B1 (ko) 계층적 우선 순위화 라운드 로빈 스케쥴링
US20070133561A1 (en) Apparatus and method for performing packet scheduling using adaptation round robin
CN115412506B (zh) 一种数据中心网络中大象流识别及调度方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050919

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees