Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3584885B2 - Packet transmission device and transmission method - Google Patents
[go: Go Back, main page]

JP3584885B2 - Packet transmission device and transmission method - Google Patents

Packet transmission device and transmission method Download PDF

Info

Publication number
JP3584885B2
JP3584885B2 JP2001019419A JP2001019419A JP3584885B2 JP 3584885 B2 JP3584885 B2 JP 3584885B2 JP 2001019419 A JP2001019419 A JP 2001019419A JP 2001019419 A JP2001019419 A JP 2001019419A JP 3584885 B2 JP3584885 B2 JP 3584885B2
Authority
JP
Japan
Prior art keywords
packet
transmission
line
lines
packet data
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
JP2001019419A
Other languages
Japanese (ja)
Other versions
JP2002223234A (en
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 JP2001019419A priority Critical patent/JP3584885B2/en
Publication of JP2002223234A publication Critical patent/JP2002223234A/en
Application granted granted Critical
Publication of JP3584885B2 publication Critical patent/JP3584885B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の回線を介して相互に接続された送信装置と受信装置間でパケットデータの送受信を行うパケット伝送装置および伝送方法に関するものである。
【0002】
【従来の技術】
従来より、対向する通信装置間を複数の回線で接続し、パケットデータ転送を高速化する技術が知られている。この手法は、一般的にマルチリンクと呼ばれる。このマルチリンク接続において最大のスループットを得るには、回線負荷が均等になるように、入力パケットを各回線に振り分ける必要がある。
【0003】
パケットの負荷分散を行う方法として、例えば、特開平11−154989号公報に記載されている負荷分散方式では、1つの回線に送出されたデータ量の累計が、ある閾値(これを、以後、キーと呼ぶ)を超えたときに、送出する回線を切り替えている。
【0004】
また、他の従来技術として、特開2000−216815号公報に示されている負荷分散手法がある。この手法には、パケットを回線速度に比例する長さの短パケットに分割して、各回線に分配する方式と、パケットを固定長の短パケットに分割し、各回線に割り振る短パケットの数を回線速度に比例させる方式、の2つがある。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来の技術には、以下の問題点が存在する。すなわち、特開平11−154989号公報に記載の技術についての第1の問題点は、回線負荷の均一化が困難である、ということである。その理由は、累計送信データ量がキーの値を上回ったときにのみ、回線が切り替わるためである。言い換えれば、この技術では、累計送信データ量がキーの値をどれだけ超過しているかを考慮せずに回線を切り替えるため、この超過分が大きいと、各回線の負荷が不均等になる。
【0006】
この第1の問題点を顕著に表す例を、図11に示す。同図において、通信装置900へ7つのパケット950が入力され、それぞれが、信号制御部902によって、接続部903−1〜903−2のいずれかに振り分けられる。ここで、これら7つのパケット950の長さを、その到着順に4,6,7,19,9,3,8とし、さらに、キー904の値を“8”とする。
【0007】
このとき、回線(#0)901−1、回線(#1)901−2に割り振られるパケットの長さの合計は、図11に示すように、それぞれ19,37となり、回線901−2の負荷は、回線901−1の約2倍になる。
【0008】
特開平11−154989号公報に記載の技術の第2の問題点は、何らかの手段によりキーの値を求める必要がある、ということである。例えば、トラヒックの状態から最適なキーの値を算出するには、それを行うためのアルゴリズムと回路が必要になる。また、キーの値を、あらかじめ人手により設定しておくにしても、その値が適切であるかを十分に検証しなければならない。
【0009】
また、上述した特開2000−216815号公報に示されている負荷分散手法は、受信側が、短パケットから元のパケットを復元する必要があり、高速動作は困難である。よって、この技術を大容量の回線へ適用することは難しいという問題がある。
【0010】
本発明は、上述の課題に鑑みてなされたものであり、その目的とするところは、複数の回線で接続されたパケット伝送装置において、それぞれの回線の負荷が等しくなるようにパケットを振り分けることのできるパケット伝送装置および伝送方法を提供することである。
【0011】
本発明の他の目的は、伝送速度の異なる回線が混在している場合でも、均一な負荷分散を実現できるパケット伝送装置および伝送方法を提供することである。
【0012】
【課題を解決するための手段】
上記の目的を達成するために、第1の発明は、複数の回線を介して相互に接続された送信装置と受信装置からなるパケット伝送装置において、入力されたパケットデータをフレーム化する手段と、上記回線を介して、上記フレーム化されたパケットデータを送信する送信手段と、上記回線ごとに、上記送信されたパケットデータのデータ量の累計を保持する保持手段とを備え、上記送信手段は、上記複数の回線の内、上記データ量の累計が最小の回線を介して上記パケットデータの送信を行うパケット伝送装置を提供する。
【0013】
好ましくは、上記保持手段は、上記送信の度に、その送信されたパケットデータのフレーム長の分についてカウントアップを行う。また、上記送信手段は、上記回線に対応した上記保持手段によるカウント値の差分をもとに、あらかじめ設定した関係に基づいて、上記フレーム化されたパケットデータの転送対象とする回線を選択する。
【0014】
また、好ましくは、伝送速度の異なる回線が混在している場合、上記送信手段は、上記回線各々の伝送速度に反比例する、あらかじめ設定した倍率と上記フレーム長との積に基づいて更新された上記データ量の累計が最小の回線を介して、上記パケットデータの送信を行う。
【0015】
第2の発明は、複数の回線を介して相互に接続された送信装置と受信装置からなるパケット伝送装置における伝送方法であって、入力されたパケットデータをフレーム化するステップと、上記回線を介して、上記フレーム化されたパケットデータを送信する送信ステップと、上記回線ごとに、上記送信されたパケットデータのデータ量の累計を保持する保持ステップとを備え、上記送信ステップは、上記複数の回線の内、上記データ量の累計が最小の回線を介して上記パケットデータの送信を行う伝送方法を提供する。
【0016】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係るパケット伝送装置の全体構成を示すブロック図である。同図に示すパケット伝送装置は、パケット送信装置1とパケット受信装置2を備え、これらの装置が、N本の並行する回線(#0〜#(N−1))3−1〜3−Nで相互に接続される構成を有する。
【0017】
なお、図1に示すパケット伝送装置の構成は、本発明に係る負荷分散手法を実現するための一構成例である。また、パケット送信装置1とパケット受信装置2とを接続する、N本の並行する回線3−1〜3−Nの伝送速度は、ここでは、全て等しいと仮定する。
【0018】
図2は、パケット送信装置1内の負荷分散処理部4の構成を示すブロック図である。この負荷分散処理部4の累積送信データ量カウンタ(#0〜#(N−1))25−1〜25−Nには、回線3−1〜3−Nがそれまでに送出したデータ量の累計が保持される。ここでは、この累積送信データ量カウンタの値が最小である回線が、パケットの振り分け先となる。
【0019】
図1に示すように、パケット送信装置1は、負荷分散処理部4と送信部(#0〜#(N−1))6−1〜6−Nからなり、パケット受信装置2は、パケット整列処理部7と受信部(#0〜#(N−1))8−1〜8−Nを有する。これらの送信部6−1〜6−Nと受信部8−1〜8−Nは、回線3−1〜3−Nを介して互いに接続されている。
【0020】
負荷分散処理部4は、信号入力端子5から入力されたパケットに対して、パケットの順序を示す通し番号(以後、シーケンス番号と呼ぶ)を付加して、フレームを生成し、そのフレームを送信部6−1〜6−Nのいずれかに送出する。また、パケット整列処理部7は、受信部8−1〜8−Nが受信したフレームを、シーケンス番号の順に並び替えるとともに、フレームからシーケンス番号を除去して、それらを信号出力端子9にパケットとして出力する。
【0021】
次に、図2を参照して、負荷分散処理部4の詳細な構成について説明する。同図に示す負荷分散処理部4のリンクアップフラグ(#0〜#(N−1))24−1〜24−Nは、対応する回線3−1〜3−Nの状態を示すフラグであり、回線が正常であれば“1”、異常時に“0”となる。累積送信データ量カウンタ(#0〜#(N−1))25−1〜25−Nは、対応する回線3−1〜3−Nに送出されたフレームの長さの累計を保持する。
【0022】
フレーム生成部20は、信号入力端子5から入力されたパケットに、シーケンス番号カウンタ21が出力するシーケンス番号を付加して、フレームを生成し、それをスイッチ22に供給する。また、フレーム生成部20は、生成したフレームの長さをフレーム長26として出力する。
【0023】
回線選択部23は、フレーム生成部20にフレームが入力されたことを契機として、リンクアップフラグ24−1〜24−N、および累積送信データ量カウンタ25−1〜25−Nの値を参照して、フレームの転送先を決定する。また、スイッチ22は、回線選択部23の決定に従って、フレームを送信部6−1〜6−Nのいずれかに転送する。これらの送信部6−1〜6−Nにフレームが送出されると、対応する累積送信データ量カウンタ(25)は、フレーム長26の分だけ、カウントアップする。
【0024】
次に、パケット受信装置2内のパケット整列処理部7について説明する。図3は、パケット整列処理部7の詳細な構成を示すブロック図である。同図に示すバッファ選択部60は、受信部8−1〜8−Nが受信したフレームを、パケットとシーケンス番号に分離する。ここでパケットは、受信バッファ(#0〜#M−1)62−1〜62−Mのいずれかに転送され、シーケンス番号は、受信シーケンス番号レジスタ(#0〜#M−1)64−1〜64−Mのいずれかに代入される。なお、受信バッファ62−1〜62−Mそれぞれは、フレーム生成部20が生成するフレームを、常に収容できる大きさを持つ。
【0025】
パケット送出制御部61は、受信フラグ(#0〜#M−1)63−1〜63−M、受信シーケンス番号レジスタ(#0〜#M−1)64−1〜64−M、リンクアップフラグ(#0〜#(N−1))65−1〜65−N、回線シーケンス番号レジスタ(#0〜#(N−1))66−1〜66−N、シーケンス番号カウンタ67を参照して、受信バッファ62−1〜62−Mに格納されているパケットを、信号出力端子9へ送出する。
【0026】
リンクアップフラグ65−1〜65−Nは、対応する回線3−1〜3−Nの状態を示すフラグであり、回線が正常であれば“1”、異常であれば“0”をとる。また、受信フラグ63−1〜63−Mは、対応する受信バッファ62−1〜62−Mにパケットが格納されているときに“1”を、それ以外のときに“0”をとる。
【0027】
受信シーケンス番号レジスタ64−1〜64−Mは、対応する受信バッファ62−1〜62−Mに格納されているパケットのシーケンス番号を保持する。回線シーケンス番号レジスタ66−1〜66−Nは、対応する受信部8−1〜8−Nが受信したフレームのシーケンス番号を記憶する。また、シーケンス番号カウンタ67は、信号出力端子9に送出すべきパケットのシーケンス番号を示す。
【0028】
アイドルタイマー68は、送出すべきパケットが受信バッファ内に存在しない間、カウントダウンされる。そして、このタイマーの値が“0”になると、シーケンス番号カウンタ67を強制的にカウントアップする。
【0029】
次に、本実施の形態に係るパケット伝送装置の動作について詳細に説明する。最初に、図4に示すフローチャートを参照して、パケット送信装置1の負荷分散処理部4の動作を説明する。
【0030】
なお、図4中の変数の定義は、以下の通りである。
AATD[x] (0≦x <N)…累積送信データ量カウンタ25−1〜25−Nの値
linkup[x] (0≦x <N)…リンクアップフラグ24−1〜24−Nの値
SN…シーケンス番号カウンタ21の値
【0031】
図4のステップS100では、パケット送信装置1の初期化時における、累積送信データ量カウンタ25−1〜25−N、およびシーケンス番号カウンタ21のゼロクリア処理を行う。そして、続くステップS101において、信号入力端子5からパケットが入力されたどうかを調べる。ここで、パケットが入力されていれば、フレーム生成部20は、シーケンス番号カウンタ21の値をパケットに付加し、フレームを生成する(ステップS102)。このとき、エラー検出のためのCRC(巡回冗長検査)をパケットに付加してもよい。
【0032】
回線選択部23は、回線3−1〜3−Nの中から、累積送信データ量カウンタ(25)の値が最小(つまり、AATD [i] (ただし、0 ≦i<N )の最小値)であり、かつ、リンクアップフラグ(24)がセットされている(つまり、linkup[x] =1)回線を検索する(ステップS103)。これを満たす回線が見つからなければ(ステップS104でNo)、ステップS101に戻る。
【0033】
一方、上記の条件を満たす回線が見つかれば、スイッチ22は、その回線に対応する送信部(6)にフレームを転送する(ステップS105)。例えば、ステップS103で、回線3−3が検索されたとき(すなわち、図4のxが“2”のとき)には、送信部6−3にフレームが転送される。
【0034】
ステップS106では、上記の検索された回線に対応する累積送信データ量カウンタ(25)にフレーム長を加算し、かつ、シーケンス番号カウンタ21をカウントアップする。そして、処理をステップS101に戻す。
【0035】
次に、パケット受信装置2のパケット整列処理部7の動作を説明する。図5、図6は、パケット整列処理部7の動作を示すフローチャートであり、同図中での変数の定義は、以下の通りである。
【0036】
SNcurrent …シーケンス番号カウンタ67の値
SNlatest[x] (0≦x <N)…回線シーケンス番号レジスタ66−1〜66−Nの値
SNbuffer[x] (0≦x <M)…受信シーケンス番号レジスタ64−1〜64−Mの値
recv[x] (0≦x <M)…受信フラグ63−1〜63−Mの値
linkup[x] (0≦x <N)…リンクアップフラグ65−1〜65−Nの値
【0037】
また、図5、図6中における記号の意味は、
mod …除算の剰余
min[x]…x の最小値
である。
【0038】
図5のステップS140では、パケット受信装置2の初期化時において、シーケンス番号カウンタ67および回線シーケンス番号レジスタ66−1〜66−Nをゼロクリアし、受信フラグ63−1〜63−Mのリセットとアイドルタイマー68の初期化を行う。その後、受信部8−1〜8−Nのいずれかが、フレームを受信したかどうかを調べる(ステップS141)。
【0039】
フレームが受信された場合(ステップS141でYes)、バッファ選択部60によって、受信したフレームを適切な受信バッファ(62)へ格納する処理が行われる。そのため、まず、図6のステップS160において、受信したフレームにエラーがあるかどうかを調べる。これは、例えば、フレームに付加されたCRCで判定できる。
【0040】
受信フレームにエラーがあれば、そのフレームを廃棄し(ステップS165)、処理をステップS141に戻す。しかし、エラーがなければ、そのフレームに付加されているシーケンス番号とシーケンス番号カウンタ67の値を比較する(ステップS161)。
【0041】
ここで、シーケンス番号よりも、シーケンス番号カウンタ67の値の方が大きければ、そのフレームを廃棄し(ステップS165)、ステップS141に戻る。しかし、そうでなければ、処理を継続する。すなわち、フレームを受信した回線に対応する回線シーケンス番号レジスタ(66)に、受信フレームに付加されているシーケンス番号を入力する(ステップS162)。
【0042】
さらに、ステップS163において、フレームからパケットを抽出して、それを受信バッファ(62)に転送する。ここで、パケットの転送先となる受信バッファ(62)の番号は、フレームに付加されているシーケンス番号をMで割ったときの剰余とする。例えば、剰余が1のときには、受信バッファ62−2がパケットの転送先となる。以後、この剰余に“1”を加えた数値をRFとする。
【0043】
フレームに付加されているシーケンス番号を受信シーケンス番号レジスタ64−RFに入れ、受信フラグ63−RFをセットする(ステップS164)。その後、処理は、ステップS141に戻る。
【0044】
ステップS141においてフレームが受信されなかった場合について述べる。この場合、パケット送出処理部61によって、送出すべきパケットを受信バッファ62−1〜62−Mの中から探索して、それを信号出力端子9に送出する処理と、フレームが伝送中に失われたか否かを判定する処理の2つが行われる。これら2つの処理のどちらを実行するかは、受信フラグ63−1〜63−Mの値で決定される。以下、これらの処理について説明する。
【0045】
まず、ステップS142で、受信フラグ(63)の値を調べる。ここで、参照される受信フラグ(63)の番号は、シーケンス番号カウンタ67の値をMで割ったときの剰余である。例えば、この剰余が“0”であれば、受信フラグ63−1の値が参照される。以後、この剰余に“1”を加えた数値をRCとする。
【0046】
ステップS142において、受信フラグ63−RCがセットされている(=1)と判断された場合、受信シーケンス番号レジスタ64−RCの値と、シーケンス番号カウンタ67の値が一致しているかどうかを判定する(ステップS143)。これらの値が一致していなければ、シーケンス番号カウンタ67のカウントアップと、アイドルタイマー68の初期化を行い(ステップS147)、その後、処理は、ステップS141へ戻る。
【0047】
しかし、受信シーケンス番号レジスタ64−RCの値と、シーケンス番号カウンタ67の値が一致していれば、ステップS144において、信号出力端子9にパケットを送出できるかどうかを判定する。そして、パケットの送出が可能であれば、受信バッファ62−RCに格納されているパケットを信号出力端子9へ送出する(ステップS145)。
【0048】
その後、ステップS146において、受信フラグ63−RCをリセットし、さらに、シーケンス番号カウンタ67のカウントアップと、アイドルタイマー68の初期化を行い(ステップS147)、処理をステップS141に戻す。
【0049】
他方、受信フラグ63−RCがリセットされている(=0)場合、伝送途中でフレームが失われたか否かを判断するために、回線シーケンス番号レジスタ66−1〜66−Nの最小値と、シーケンス番号カウンタ67の値を比較する(ステップS148)。この際、リンクアップフラグ(65)がセットされている回線についてのみ、最小値を計算する。
【0050】
ここで、シーケンス番号カウンタ67の値の方が、回線シーケンス番号レジスタ(66)の最小値よりも小さいと判定されたときには、フレームが失われたと判断し、失われたフレームの送出を諦める。そこで、ステップS147において、シーケンス番号カウンタ67のカウントアップと、アイドルタイマー68の初期化を行い、処理をステップS141に戻す。
【0051】
しかし、ステップS148での条件が満たされなければ(つまり、シーケンス番号カウンタ67の値が、回線シーケンス番号レジスタ(66)の最小値以上であれば)、当該処理を継続し、次のステップS149において、アイドルタイマー68の値が“0”であるかどうかを調べる。
【0052】
アイドルタイマー68の値が“0”のときは、そのアイドルタイマーの初期値で指定された時間が経過しても、送出すべきパケットを受信していない状態であるため、そのパケットの送出を諦める。そこで、ステップS147において、シーケンス番号カウンタ67のカウントアップと、アイドルタイマー68の初期化を行う。その後、処理をステップS141へ戻す。
【0053】
しかし、アイドルタイマー68の値が“0”でなければ、受信フラグ63−1〜63−Mの全てがリセットされているかどうかを調べる(ステップS150)。そして、受信フラグ63−1〜63−Mが、1つでもセットされていれば、ステップS151において、アイドルタイマー68をカウントダウンし、処理をステップS141へ戻す。
【0054】
受信フラグ63−1〜63−Mの全てがリセットされていれば(ステップS150でYes)、受信バッファ62−1〜62−Mは、全て空であり、送出すべきパケットは存在しない。よって、この場合、アイドルタイマー68をカウントダウンする必要がないため、ステップS151をスキップして、処理をステップS141に戻す。
【0055】
ここで、累積送信データ量カウンタ、またはシーケンス番号カウンタのオーバーフローによって発生する不具合を解決する手法について述べる。負荷分散処理部4の累積送信データ量カウンタ25−1〜25−N、およびシーケンス番号カウンタ21は、パケットの送信が行われるたびに増加するが、減少することはない。よって、これらのカウンタは、遅かれ早かれオーバーフローする。
【0056】
このようなオーバーフローの発生を考慮せずに、累積送信データ量またはシーケンス番号の大小比較を行うと、負荷分散処理が正しく動作しなくなる可能性がある。この現象について、以下に例を挙げて説明する。
【0057】
簡単のため、ここでは、パケット伝送装置を構成する回線(3)の本数Nを、N=2とし、累積送信データ量カウンタ25−1,25−2のビット幅をそれぞれ3とする。すなわち、これら2つのカウンタは、0以上7以下の整数値をとる。さらに、これらのカウンタの値を、
累積送信データ量カウンタ25−1の値=6
累積送信データ量カウンタ25−2の値=7
のように仮定し、負荷分散処理部4の動作を、図4のステップS103より開始する。
【0058】
図4のステップS103において、累積送信データ量カウンタ25−1と25−2の値を比較すると、累積送信データ量カウンタ25−1の値の方が小さいため、送信部6−1にフレームが送出される(ステップS105)。ここで、フレーム長26が“3”であるとした場合、累積送信データ量カウンタ25−1は、“3”だけカウントアップする(ステップS106)。
【0059】
上述のように、カウンタは3ビット幅であり、9(=6+3)を表現できないため、オーバーフローする。よって、この時点での累積送信データ量カウンタ25−1〜25−2の値は、
累積送信データ量カウンタ25−1の値=1
累積送信データ量カウンタ25−2の値=7
となる。
【0060】
この状態で新たなパケットが到着し、ステップS103の処理が実行されると、その場合には、累積送信データ量カウンタ25−1が選択される。その結果、前回と同様に、送信部6−1にフレームが送出されてしまう(ステップS105)。これは、明らかに送信部6−1、および回線3−1に負荷が偏っており、均一な負荷分散が達成されていないことになる。
【0061】
この問題に対処するため、ステップS103で実行される累積送信データ量カウンタ25−1〜25−2の大小比較の方法を考慮する。すなわち、ここでは、図7に示す関係に従って大小を決定する。図7中の変数X,Yそれぞれを、累積送信データ量カウンタ25−1,25−2の値として、上記のステップS103における処理例を再度、検証する。
【0062】
ステップS103の1回目の実行では、X=6,Y=7,X−Y=−1であるから、図7からは、X<Yが得られる。よって、この場合、累積送信データ量カウンタ25−1が選択される。これは前回の結果と等しい。
【0063】
ステップS103の2回目の実行では、X=1,Y=7,X−Y=−6であるから、図7を参照すると、X≧Yが得られる。この場合、累積送信データ量カウンタ25−2が選択され、ステップS105において、送信部6−2にフレームが転送される。
【0064】
なお、上記の実施の形態1に示す例では、累積送信データ量カウンタ25−1〜25−Nのビット幅を3と仮定したが、ビット幅は、2以上であれば任意の値でよい。また、ビット幅をBと表したときの、累積送信データ量カウンタ25−1〜25−Nの値X,Yの大小関係は、以下に示すようになる。
【0065】
−2<X−Y<−2B−1 ならば、X≧Yと判定する。
−2B−1 ≦X−Y<0ならば、X<Yと判定する。
0≦X−Y<2B−1 ならば、X≧Yと判定する。
B−1 ≦X−Y<2ならば、X<Yと判定する。
【0066】
また、ここでは、累積送信データ量カウンタ25−1〜25−Nの大小比較方法について説明したが、同様の方法で、シーケンス番号カウンタ21のオーバーフローに対処できる。
【0067】
以上説明したように、本実施の形態によれば、パケット伝送装置の送信側において、回線毎に送出データ量の累計を保持するカウンタを設け、その送出データ量が最小の回線をパケットの送出先とする負荷分散手法を用いることで、それぞれの回線の負荷が等しくなるようにパケットが振り分けられ、パケット伝送装置間のスループットが最大になる。
【0068】
また、かかる負荷分散手法は、パケット単位で処理を行うものであり、従来技術のようにパケットを分割して、複数の短パケットを生成するものではないため、高速動作が可能であり、大容量の回線にも適用できる。
【0069】
さらに、累積送信データ量カウンタのカウンタ値の差分に応じて、カウンタ値の大小比較をすることで、これらの累積送信データ量カウンタにオーバーフローが生じても、均一な負荷分散を実現できる。
【0070】
また、送信装置側でパケットにシーケンス番号を付加し、受信装置側で、そのシーケンス番号の順にパケットを整列させるため、負荷分散処理の前後でパケットの順序が入れ替わることはない、という効果がある。
【0071】
[第2の実施の形態]
以下、本発明の第2の実施の形態について説明する。なお、本実施の形態に係るパケット伝送装置は、図1に示す、上記第1の実施の形態に係るパケット伝送装置と同じ構成をとるため、ここでは、その図示および説明を省略する。
【0072】
第1の実施の形態では、パケット伝送装置を構成する回線3−1〜3−Nの伝送速度は、全て等しいと仮定したが、本実施の形態に係るパケット伝送装置は、伝送速度が異なる回線の混在を許容する。従って、かかる混在を許容するために、本実施の形態に係るパケット送信装置1の負荷分散処理部4は、図8に示す構成を有する。なお、図8において、図2に示す、上記第1の実施の形態に係る負荷分散処理部4と同一構成要素には、同一符号を付してある。
【0073】
そこで、図8に示すブロック図を参照して、本実施の形態に係る負荷分散処理部4の詳細な構成について説明する。同図に示すリンクアップフラグ(#0〜#(N−1))44−1〜44−Nは、対応する回線3−1〜3−Nの状態を示すフラグであり、回線が正常であれば“1”を、異常時には“0”をとる。フレーム生成部40は、信号入力端子5から入力されたパケットに、シーケンス番号カウンタ41が出力するシーケンス番号を付加してフレームを生成し、それらをスイッチ42に供給する。また、フレーム生成部40は、生成したフレームの長さを、フレーム長48として出力する。
【0074】
プライマリ累積送信データ量カウンタ(#0〜#(N−1))47−1〜47−Nは、対応する回線3−1〜3−Nに送出されたフレームの長さの累計を保持する。カウント増分算出部(#0〜#(N−1))46−1〜46−Nは、対応する回線3−1〜3−Nの伝送速度とフレーム長48に応じて、プライマリ累積送信データ量カウンタ47−1〜47−Nの増分値を求める。
【0075】
この増分値とプライマリ累積送信データ量カウンタ47−1〜47−Nの値を加算した結果が、セカンダリ累積送信データ量カウンタ(#0〜#(N−1))45−1〜45−Nに代入される。回線選択部43は、フレーム生成部40にフレームが入力されたことを契機として、リンクアップフラグ44−1〜44−N、およびセカンダリ累積送信データ量カウンタ45−1〜45−Nの値を参照して、フレームの転送先を決定する。
【0076】
スイッチ42は、回線選択部43での決定に従って、フレームを送信部6−1〜6−Nのいずれかに転送する。送信部6−1〜6−Nにフレームが送出されると、対応するセカンダリ累積送信データ量カウンタ(45)の値をプライマリ累積送信データ量カウンタ(47)に代入する。
【0077】
図9は、第2の実施の形態に係るパケット伝送装置の負荷分散処理部4の動作を詳細に示すフローチャートである。なお、図9中における変数の定義は、以下の通りである。
【0078】
AATD[x] (0 ≦x <N)…プライマリ累積送信データ量カウンタ47−1〜47−Nの値
AATD[x] (0 ≦x <N)…セカンダリ累積送信データ量カウンタ45−1〜45−Nの値
linkup[x] (0≦x <N)…リンクアップフラグ44−1〜44−Nの値
SN…シーケンス番号カウンタ41の値
Rate Factor[x] (0 ≦X <N)…回線3−1〜3−Nの伝送速度に反比例する倍率
【0079】
図9のステップS120において、パケット送信装置の初期化時、プライマリ累積送信データ量カウンタ47−1〜47−N、およびシーケンス番号カウンタ41をゼロクリアし、続くステップS121で、信号入力端子5からパケットが入力されたかどうかを調べる。ここで、パケットが入力されていれば、フレーム生成部40は、シーケンス番号カウンタ41の値をパケットに付加し、フレームを生成する(ステップS122)。なお、このとき、エラー検出のためのCRCをパケットに付加してもよい。
【0080】
カウント増分算出部46−1〜46−Nは、回線3−1〜3−Nの伝送速度に反比例する倍率(Rate Factor )とフレーム長48の積を計算し、その積と、プライマリ累積送信データ量カウンタ47−1〜47−Nの和を、セカンダリ累積送信データ量カウンタ45−1〜45−Nに代入する(ステップS123)。ここで、回線3−1〜3−Nの伝送速度に反比例する倍率とは、例えば、図10に示すような関係を意味している。
【0081】
ステップS124において、回線選択部43は、回線3−1〜3−Nの中から、セカンダリ累積送信データ量カウンタ(45)の値が最小であり、かつ、リンクアップフラグ(44)がセットされている回線を検索する。そのような回線が見つからなければ(ステップS125でNo)、処理をステップS121に戻す。
【0082】
しかし、上記の条件を満たす回線が見つかれば、スイッチ42は、その回線に対応する送信部(6)へフレームを転送する(ステップS126) 。例えば、ステップS124で、回線3−3が検索されたとき(すなわち、図9のxが“2”のとき)には、送信部6−3にフレームが転送される。
【0083】
ステップS127では、検索された回線に対応するセカンダリ累積送信データ量カウンタ(45)の値をプライマリ累積送信データ量カウンタ(47)に代入して、シーケンス番号カウンタ41をカウントアップする。その後、処理をステップS121に戻す。
【0084】
なお、セカンダリ累積送信データ量カウンタ45−1〜45−N、およびシーケンス番号カウンタ41のオーバーフローに対処する方法は、上記第1の実施の形態に係る負荷分散処理部における方法と同じである。
【0085】
このように、本実施の形態によれば、各回線の伝送速度に反比例する所定の倍率とフレーム長との積を用いて送出データ量の累計を更新し、その更新された送信データ量の累計が最小である回線に対してパケットデータを送信するため、パケット伝送装置の各回線の伝送速度が互いに異なっていても、均一な負荷分散を実現できる。
【0086】
【発明の効果】
以上説明したように、第1の発明によれば、複数の回線で接続されたパケット伝送装置の送信装置側に入力されたパケットデータをフレーム化する手段と、これらの回線を介して、上記フレーム化されたパケットデータを送信する手段と、上記回線ごとに、上記送信されたパケットデータのデータ量の累計を保持する手段を備え、上記複数の回線の内、データ量の累計が最小の回線を介してパケットデータの送信を行うことで、各回線の負荷が等しくなるようにパケットが振り分けられ、結果として、均一な負荷分散が達成される。
【0087】
また、伝送速度の異なる回線が混在している場合、伝送速度に反比例する所定の倍率を各回線に設定し、その倍率とフレーム長との積に基づいて更新された送信データ量の累計が最小である回線に対してパケットデータを送信することで、パケット伝送装置の各回線の伝送速度が互いに異なっていても、均一な負荷分散を実現できる。
【0088】
第2の発明によれば、入力されたパケットデータをフレーム化するステップと、上記の回線を介して、フレーム化されたパケットデータを送信するステップと、上記回線ごとに、上記送信されたパケットデータのデータ量の累計を保持するステップとを備え、上記の送信ステップが、複数の回線の内、上記データ量の累計が最小の回線を介してパケットデータの送信を行うことで、各回線に対して均一な負荷分散を実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るパケット伝送装置の全体構成を示すブロック図である。
【図2】第1の実施の形態に係るパケット送信装置内の負荷分散処理部の構成を示すブロック図である。
【図3】第1の実施の形態に係るパケット整列処理部の詳細な構成を示すブロック図である。
【図4】第1の実施の形態に係る負荷分散処理部の動作を示すフローチャートである。
【図5】第1の実施の形態に係るパケット整列処理部の動作を示すフローチャートである。
【図6】第1の実施の形態に係るパケット整列処理部の動作を示すフローチャートである。
【図7】累積送信データ量カウンタとシーケンス番号カウンタの大小関係を示す図である。
【図8】本発明の第2の実施の形態に係るパケット伝送装置の負荷分散処理部の構成を示すブロック図である。
【図9】第2の実施の形態に係るパケット伝送装置の負荷分散処理部の動作を詳細に示すフローチャートである。
【図10】第2の実施の形態に係る回線の伝送速度と、それに反比例する倍率との関係の一例を示す図である。
【図11】従来技術の問題点を説明するための図である。
【符号の説明】
1 パケット送信装置
2 パケット受信装置、
3−1〜3−N 回線(#0〜#(N−1))
4 負荷分散処理部
6−1〜6−N 送信部(#0〜#(N−1))
7 パケット整列処理部
8−1〜8−N 受信部(#0〜#(N−1))
20 フレーム生成部
21 シーケンス番号カウンタ
22 スイッチ
23 回線選択部
24−1〜24−N リンクアップフラグ(#0〜#(N−1))
25−1〜25−N 累積送信データ量カウンタ(#0〜#(N−1))
60 バッファ選択部
61 パケット送出制御部
62−1〜62−M 受信バッファ(#0〜#M−1)
63−1〜63−M 受信フラグ(#0〜#M−1)
64−1〜64−M 受信シーケンス番号レジスタ(#0〜#M−1)
65−1〜65−N リンクアップフラグ(#0〜#(N−1))
66−1〜66−N 回線シーケンス番号レジスタ(#0〜#(N−1))
67 シーケンス番号カウンタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet transmission device and a transmission method for transmitting and receiving packet data between a transmission device and a reception device connected to each other via a plurality of lines.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, there has been known a technology for connecting opposing communication devices with a plurality of lines to speed up packet data transfer. This technique is generally called multilink. In order to obtain the maximum throughput in this multilink connection, it is necessary to distribute the input packets to each line so that the line load becomes equal.
[0003]
As a method of distributing the load of a packet, for example, in a load distribution method described in Japanese Patent Application Laid-Open No. H11-154989, the total amount of data transmitted to one line is determined by a certain threshold value (hereinafter referred to as a key). Is switched, the transmission line is switched.
[0004]
As another conventional technique, there is a load distribution technique disclosed in Japanese Patent Application Laid-Open No. 2000-216815. This method involves dividing a packet into short packets of a length proportional to the line speed and distributing them to each line, and dividing the packet into fixed-length short packets and assigning the number of short packets to be allocated to each line. There are two methods, that is, proportional to the line speed.
[0005]
[Problems to be solved by the invention]
However, the above conventional technique has the following problems. That is, the first problem with the technique described in Japanese Patent Application Laid-Open No. H11-154989 is that it is difficult to equalize the line load. The reason is that the line is switched only when the total transmission data amount exceeds the value of the key. In other words, in this technique, the line is switched without considering how much the total transmission data amount exceeds the value of the key. If the excess is large, the load on each line becomes uneven.
[0006]
FIG. 11 shows an example that clearly shows the first problem. In the figure, seven packets 950 are input to a communication device 900, and each is distributed by a signal control unit 902 to one of connection units 903-1 to 903-2. Here, the lengths of these seven packets 950 are set to 4, 6, 7, 19, 9, 3, 8 in the order of arrival, and the value of the key 904 is set to “8”.
[0007]
At this time, the total length of the packets allocated to the line (# 0) 901-1 and the line (# 1) 901-2 becomes 19 and 37, respectively, as shown in FIG. Is about twice that of the line 901-1.
[0008]
A second problem of the technique described in Japanese Patent Application Laid-Open No. H11-154989 is that it is necessary to obtain a key value by some means. For example, to calculate the optimal key value from the traffic condition, an algorithm and a circuit for performing the calculation are required. Even if the value of the key is manually set in advance, it is necessary to sufficiently verify that the value is appropriate.
[0009]
Further, the load distribution method disclosed in Japanese Patent Laid-Open No. 2000-216815 requires the receiving side to restore the original packet from a short packet, and high-speed operation is difficult. Therefore, there is a problem that it is difficult to apply this technology to a large capacity line.
[0010]
The present invention has been made in view of the above-described problems, and an object of the present invention is to distribute a packet in a packet transmission device connected by a plurality of lines so that the load of each line becomes equal. It is an object of the present invention to provide a packet transmission device and a transmission method capable of performing the above.
[0011]
Another object of the present invention is to provide a packet transmission device and a transmission method capable of achieving uniform load distribution even when lines having different transmission speeds are mixed.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, a first invention is a packet transmission device including a transmission device and a reception device interconnected via a plurality of lines, and a means for framing input packet data, Via the line, transmitting means for transmitting the framed packet data, and for each line, holding means for holding the cumulative amount of data of the transmitted packet data, the transmitting means, Provided is a packet transmission apparatus that transmits the packet data via a line having the smallest total of the data amount among the plurality of lines.
[0013]
Preferably, the holding unit counts up the frame length of the transmitted packet data every time the transmission is performed. The transmitting means selects a line to which the framed packet data is to be transferred, based on a preset relationship based on a difference between the count values of the holding means corresponding to the line.
[0014]
Preferably, when lines having different transmission speeds are mixed, the transmission means is updated based on a product of a preset magnification and the frame length, which is inversely proportional to the transmission speed of each of the lines. The packet data is transmitted via a line having the smallest total data amount.
[0015]
A second invention is a transmission method in a packet transmission device including a transmission device and a reception device interconnected via a plurality of lines, wherein the step of forming a frame of input packet data includes the steps of: A transmitting step of transmitting the framed packet data; and a holding step of holding, for each of the lines, a cumulative amount of data of the transmitted packet data, wherein the transmitting step includes: The present invention provides a transmission method for transmitting the packet data via a line having the smallest total of the data amount.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[First Embodiment]
FIG. 1 is a block diagram showing the overall configuration of the packet transmission device according to the first embodiment of the present invention. The packet transmission device shown in FIG. 1 includes a packet transmission device 1 and a packet reception device 2, and these devices are composed of N parallel lines (# 0 to # (N-1)) 3-1 to 3-N And are connected to each other.
[0017]
Note that the configuration of the packet transmission device shown in FIG. 1 is an example of a configuration for realizing the load distribution method according to the present invention. Here, it is assumed that the transmission speeds of N parallel lines 3-1 to 3-N that connect the packet transmitting device 1 and the packet receiving device 2 are all equal.
[0018]
FIG. 2 is a block diagram showing a configuration of the load distribution processing unit 4 in the packet transmission device 1. The cumulative transmission data amount counters (# 0 to # (N-1)) 25-1 to 25-N of the load distribution processing unit 4 store the data amount transmitted by the lines 3-1 to 3-N so far. The running total is kept. Here, the line with the smallest value of the accumulated transmission data amount counter is the packet distribution destination.
[0019]
As shown in FIG. 1, the packet transmission device 1 includes a load distribution processing unit 4 and transmission units (# 0 to # (N-1)) 6-1 to 6-N. It has a processing unit 7 and receiving units (# 0 to # (N-1)) 8-1 to 8-N. The transmitting units 6-1 to 6-N and the receiving units 8-1 to 8-N are connected to each other via lines 3-1 to 3-N.
[0020]
The load distribution processing unit 4 generates a frame by adding a serial number (hereinafter, referred to as a sequence number) indicating the order of the packet to the packet input from the signal input terminal 5, and transmits the frame to the transmission unit 6. -1 to 6-N. Further, the packet alignment processing unit 7 rearranges the frames received by the receiving units 8-1 to 8-N in the order of the sequence numbers, removes the sequence numbers from the frames, and outputs them to the signal output terminal 9 as packets. Output.
[0021]
Next, a detailed configuration of the load distribution processing unit 4 will be described with reference to FIG. Link-up flags (# 0 to # (N-1)) 24-1 to 24-N of the load distribution processing unit 4 shown in FIG. 6 are flags indicating the states of the corresponding lines 3-1 to 3-N. If the line is normal, it becomes "1", and if it is abnormal, it becomes "0". The accumulated transmission data amount counters (# 0 to # (N-1)) 25-1 to 25-N hold the total lengths of the frames transmitted to the corresponding lines 3-1 to 3-N.
[0022]
The frame generation unit 20 generates a frame by adding the sequence number output by the sequence number counter 21 to the packet input from the signal input terminal 5, and supplies the frame to the switch 22. The frame generation unit 20 outputs the length of the generated frame as the frame length 26.
[0023]
The line selection unit 23 refers to the values of the link-up flags 24-1 to 24-N and the accumulated transmission data amount counters 25-1 to 25-N when a frame is input to the frame generation unit 20. To determine the frame transfer destination. Further, the switch 22 transfers the frame to one of the transmission units 6-1 to 6-N according to the determination of the line selection unit 23. When a frame is transmitted to these transmission units 6-1 to 6-N, the corresponding cumulative transmission data amount counter (25) counts up by the frame length 26.
[0024]
Next, the packet alignment processing unit 7 in the packet receiving device 2 will be described. FIG. 3 is a block diagram illustrating a detailed configuration of the packet alignment processing unit 7. The buffer selecting unit 60 shown in FIG. 7 separates the frames received by the receiving units 8-1 to 8-N into packets and sequence numbers. Here, the packet is transferred to one of the reception buffers (# 0 to # M-1) 62-1 to 62-M, and the sequence number is stored in the reception sequence number register (# 0 to # M-1) 64-1. To 64-M. Each of the reception buffers 62-1 to 62-M has a size that can always accommodate the frame generated by the frame generation unit 20.
[0025]
The packet transmission control unit 61 includes reception flags (# 0 to # M-1) 63-1 to 63-M, reception sequence number registers (# 0 to # M-1) 64-1 to 64-M, a link-up flag (# 0 to # (N-1)) 65-1 to 65-N, line sequence number registers (# 0 to # (N-1)) 66-1 to 66-N, and sequence number counter 67. , And sends out the packets stored in the receiving buffers 62-1 to 62-M to the signal output terminal 9.
[0026]
The link-up flags 65-1 to 65-N are flags indicating the states of the corresponding lines 3-1 to 3-N, and take "1" if the line is normal and "0" if the line is abnormal. The reception flags 63-1 to 63-M take "1" when a packet is stored in the corresponding reception buffer 62-1 to 62-M, and take "0" otherwise.
[0027]
The reception sequence number registers 64-1 to 64-M store the sequence numbers of the packets stored in the corresponding reception buffers 62-1 to 62-M. The line sequence number registers 66-1 to 66-N store the sequence numbers of the frames received by the corresponding receiving units 8-1 to 8-N. The sequence number counter 67 indicates the sequence number of the packet to be sent to the signal output terminal 9.
[0028]
The idle timer 68 is counted down while the packet to be transmitted does not exist in the reception buffer. When the value of the timer becomes "0", the sequence number counter 67 is forcibly counted up.
[0029]
Next, the operation of the packet transmission device according to the present embodiment will be described in detail. First, the operation of the load distribution processing unit 4 of the packet transmission device 1 will be described with reference to the flowchart shown in FIG.
[0030]
The definitions of the variables in FIG. 4 are as follows.
AATD [x] (0 ≦ x <N)... The values of the cumulative transmission data amount counters 25-1 to 25-N
linkup [x] (0 ≦ x <N)... Values of link-up flags 24-1 to 24-N
SN: the value of the sequence number counter 21
[0031]
In step S100 of FIG. 4, when the packet transmitting apparatus 1 is initialized, the accumulated transmission data amount counters 25-1 to 25-N and the sequence number counter 21 are cleared to zero. Then, in the subsequent step S101, it is checked whether or not a packet has been input from the signal input terminal 5. If a packet has been input, the frame generator 20 adds the value of the sequence number counter 21 to the packet to generate a frame (step S102). At this time, a CRC (Cyclic Redundancy Check) for error detection may be added to the packet.
[0032]
The line selecting unit 23 determines that the value of the cumulative transmission data amount counter (25) is the minimum among the lines 3-1 to 3-N (that is, the minimum value of AATD [i] (where 0 ≦ i <N)). And a line for which the link-up flag (24) is set (that is, linkup [x] = 1) is searched for (step S103). If a line satisfying this is not found (No in step S104), the process returns to step S101.
[0033]
On the other hand, if a line that satisfies the above condition is found, the switch 22 transfers the frame to the transmission unit (6) corresponding to the line (step S105). For example, when the line 3-3 is searched in step S103 (that is, when x in FIG. 4 is "2"), the frame is transferred to the transmission unit 6-3.
[0034]
In step S106, the frame length is added to the cumulative transmission data amount counter (25) corresponding to the searched line, and the sequence number counter 21 is counted up. Then, the process returns to step S101.
[0035]
Next, the operation of the packet alignment processing unit 7 of the packet receiving device 2 will be described. FIGS. 5 and 6 are flowcharts showing the operation of the packet alignment processing unit 7. The definitions of the variables in FIG. 5 are as follows.
[0036]
SNcurrent: value of the sequence number counter 67
SNlatest [x] (0 ≦ x <N): value of line sequence number registers 66-1 to 66-N
SNbuffer [x] (0 ≦ x <M)... The values of the reception sequence number registers 64-1 to 64-M
recv [x] (0 ≦ x <M)... values of reception flags 63-1 to 63-M
linkup [x] (0 ≦ x <N)... Values of link-up flags 65-1 to 65 -N
[0037]
The meanings of the symbols in FIGS. 5 and 6 are as follows.
mod ... Remainder of division
min [x] ... the minimum value of x
It is.
[0038]
In step S140 of FIG. 5, when the packet receiving device 2 is initialized, the sequence number counter 67 and the line sequence number registers 66-1 to 66-N are cleared to zero, the reception flags 63-1 to 63-M are reset, and the idle The timer 68 is initialized. Thereafter, it is checked whether any of the receiving units 8-1 to 8-N has received the frame (step S141).
[0039]
If a frame has been received (Yes in step S141), the buffer selecting unit 60 performs a process of storing the received frame in an appropriate reception buffer (62). Therefore, first, in step S160 in FIG. 6, it is checked whether or not the received frame has an error. This can be determined, for example, by a CRC added to the frame.
[0040]
If there is an error in the received frame, the frame is discarded (step S165), and the process returns to step S141. However, if there is no error, the sequence number added to the frame is compared with the value of the sequence number counter 67 (step S161).
[0041]
Here, if the value of the sequence number counter 67 is larger than the sequence number, the frame is discarded (step S165), and the process returns to step S141. However, if not, the processing is continued. That is, the sequence number added to the received frame is input to the line sequence number register (66) corresponding to the line that received the frame (step S162).
[0042]
Further, in step S163, a packet is extracted from the frame and transferred to the reception buffer (62). Here, the number of the reception buffer (62) to which the packet is to be transferred is the remainder when the sequence number added to the frame is divided by M. For example, when the remainder is 1, the reception buffer 62-2 is a packet transfer destination. Hereinafter, a value obtained by adding “1” to the remainder is defined as RF.
[0043]
The sequence number added to the frame is entered in the reception sequence number register 64-RF, and the reception flag 63-RF is set (step S164). Thereafter, the process returns to step S141.
[0044]
The case where no frame is received in step S141 will be described. In this case, the packet transmission processing unit 61 searches the reception buffers 62-1 to 62-M for a packet to be transmitted, and transmits the packet to the signal output terminal 9, and the packet is lost during transmission. The two processes of determining whether or not the operation has been performed are performed. Which of these two processes is executed is determined by the values of the reception flags 63-1 to 63-M. Hereinafter, these processes will be described.
[0045]
First, in step S142, the value of the reception flag (63) is checked. Here, the number of the reception flag (63) referred to is a remainder when the value of the sequence number counter 67 is divided by M. For example, if the remainder is “0”, the value of the reception flag 63-1 is referred to. Hereinafter, a value obtained by adding “1” to this remainder is referred to as RC.
[0046]
When it is determined in step S142 that the reception flag 63-RC is set (= 1), it is determined whether the value of the reception sequence number register 64-RC matches the value of the sequence number counter 67. (Step S143). If these values do not match, the sequence number counter 67 counts up and the idle timer 68 is initialized (step S147), and then the process returns to step S141.
[0047]
However, if the value of the reception sequence number register 64-RC matches the value of the sequence number counter 67, it is determined in step S144 whether a packet can be transmitted to the signal output terminal 9. Then, if transmission of the packet is possible, the packet stored in the reception buffer 62-RC is transmitted to the signal output terminal 9 (step S145).
[0048]
Thereafter, in step S146, the reception flag 63-RC is reset, the count of the sequence number counter 67 is increased, and the idle timer 68 is initialized (step S147), and the process returns to step S141.
[0049]
On the other hand, if the reception flag 63-RC is reset (= 0), the minimum value of the line sequence number registers 66-1 to 66-N is used to determine whether a frame is lost during transmission. The value of the sequence number counter 67 is compared (step S148). At this time, the minimum value is calculated only for the line for which the link-up flag (65) is set.
[0050]
Here, when it is determined that the value of the sequence number counter 67 is smaller than the minimum value of the line sequence number register (66), it is determined that the frame has been lost, and the transmission of the lost frame is abandoned. Therefore, in step S147, the sequence number counter 67 is counted up and the idle timer 68 is initialized, and the process returns to step S141.
[0051]
However, if the condition in step S148 is not satisfied (that is, if the value of the sequence number counter 67 is equal to or greater than the minimum value of the line sequence number register (66)), the process is continued, and in the next step S149, It is checked whether the value of the idle timer 68 is "0".
[0052]
When the value of the idle timer 68 is "0", since the packet to be transmitted has not been received even after the time specified by the initial value of the idle timer has elapsed, the transmission of the packet is abandoned. . Therefore, in step S147, the count-up of the sequence number counter 67 and the initialization of the idle timer 68 are performed. Thereafter, the process returns to step S141.
[0053]
However, if the value of the idle timer 68 is not “0”, it is checked whether all of the reception flags 63-1 to 63-M have been reset (step S150). If at least one of the reception flags 63-1 to 63-M is set, in step S151, the idle timer 68 is counted down, and the process returns to step S141.
[0054]
If all of the reception flags 63-1 to 63-M have been reset (Yes in step S150), the reception buffers 62-1 to 62-M are all empty, and there are no packets to be transmitted. Therefore, in this case, since it is not necessary to count down the idle timer 68, step S151 is skipped, and the process returns to step S141.
[0055]
Here, a method for solving a problem caused by overflow of the accumulated transmission data amount counter or the sequence number counter will be described. The cumulative transmission data amount counters 25-1 to 25-N and the sequence number counter 21 of the load distribution processing unit 4 increase each time a packet is transmitted, but do not decrease. Thus, these counters overflow sooner or later.
[0056]
If the accumulated transmission data amount or the sequence number is compared without considering the occurrence of such an overflow, the load distribution processing may not operate properly. This phenomenon will be described below with examples.
[0057]
For the sake of simplicity, here, the number N of the lines (3) constituting the packet transmission device is set to N = 2, and the bit widths of the accumulated transmission data amount counters 25-1 and 25-2 are each set to 3. That is, these two counters take integer values of 0 or more and 7 or less. In addition, the values of these counters are
The value of the accumulated transmission data amount counter 25-1 = 6
The value of the accumulated transmission data amount counter 25-2 = 7
The operation of the load distribution processing unit 4 is started from step S103 in FIG.
[0058]
In step S103 of FIG. 4, comparing the values of the accumulated transmission data amount counters 25-1 and 25-2, the value of the accumulated transmission data amount counter 25-1 is smaller, so that the frame is transmitted to the transmitting unit 6-1. Is performed (step S105). Here, if the frame length 26 is “3”, the accumulated transmission data amount counter 25-1 counts up by “3” (step S106).
[0059]
As described above, since the counter is 3 bits wide and cannot express 9 (= 6 + 3), the counter overflows. Therefore, the values of the accumulated transmission data amount counters 25-1 to 25-2 at this time are:
The value of the accumulated transmission data amount counter 25-1 = 1
The value of the accumulated transmission data amount counter 25-2 = 7
It becomes.
[0060]
In this state, when a new packet arrives and the process of step S103 is executed, in that case, the accumulated transmission data amount counter 25-1 is selected. As a result, the frame is transmitted to the transmission unit 6-1 as in the previous case (step S105). This clearly indicates that the load is unevenly distributed to the transmission unit 6-1 and the line 3-1 and uniform load distribution is not achieved.
[0061]
To deal with this problem, a method of comparing the magnitudes of the accumulated transmission data amount counters 25-1 to 25-2 executed in step S103 is considered. That is, here, the magnitude is determined according to the relationship shown in FIG. With the variables X and Y in FIG. 7 as the values of the accumulated transmission data amount counters 25-1 and 25-2, the processing example in step S103 described above is verified again.
[0062]
In the first execution of step S103, since X = 6, Y = 7, and XY = -1, X <Y is obtained from FIG. Therefore, in this case, the accumulated transmission data amount counter 25-1 is selected. This is equivalent to the previous result.
[0063]
In the second execution of step S103, X = 1, Y = 7, and XY = −6, so that X ≧ Y is obtained with reference to FIG. In this case, the accumulated transmission data amount counter 25-2 is selected, and the frame is transferred to the transmission unit 6-2 in step S105.
[0064]
In the example shown in the first embodiment, the bit width of the accumulated transmission data amount counters 25-1 to 25-N is assumed to be 3, but the bit width may be any value as long as it is 2 or more. When the bit width is represented by B, the magnitude relationship between the values X and Y of the cumulative transmission data amount counters 25-1 to 25-N is as follows.
[0065]
-2 B <XY <-2 B-1 Then, it is determined that X ≧ Y.
-2 B-1 If ≤XY <0, it is determined that X <Y.
0 ≦ XY <2 B-1 Then, it is determined that X ≧ Y.
2 B-1 ≤XY <2 B Then, it is determined that X <Y.
[0066]
Although the method of comparing the size of the accumulated transmission data amount counters 25-1 to 25-N has been described here, the overflow of the sequence number counter 21 can be dealt with in a similar manner.
[0067]
As described above, according to the present embodiment, the transmission side of the packet transmission apparatus is provided with a counter for holding the total transmission data amount for each line, and the line having the minimum transmission data amount is transmitted to the destination of the packet. By using the load distribution method described above, the packets are distributed so that the load on each line becomes equal, and the throughput between the packet transmission devices is maximized.
[0068]
In addition, such a load distribution method performs processing on a packet basis, and does not divide a packet and generate a plurality of short packets as in the related art. It can also be applied to lines.
[0069]
Further, by comparing the counter values in accordance with the difference between the counter values of the cumulative transmission data amount counter, even if the cumulative transmission data amount counter overflows, uniform load distribution can be realized.
[0070]
Further, since the transmitting device adds a sequence number to the packet and the receiving device arranges the packets in the order of the sequence numbers, there is an effect that the order of the packets does not change before and after the load distribution processing.
[0071]
[Second embodiment]
Hereinafter, a second embodiment of the present invention will be described. Note that the packet transmission device according to the present embodiment has the same configuration as the packet transmission device according to the first embodiment shown in FIG. 1, and therefore, illustration and description thereof are omitted here.
[0072]
In the first embodiment, it has been assumed that the transmission speeds of the lines 3-1 to 3-N forming the packet transmission device are all equal. Is allowed. Therefore, in order to allow such a mixture, the load distribution processing unit 4 of the packet transmission device 1 according to the present embodiment has a configuration shown in FIG. In FIG. 8, the same components as those of the load distribution processing unit 4 according to the first embodiment shown in FIG. 2 are denoted by the same reference numerals.
[0073]
Therefore, a detailed configuration of the load distribution processing unit 4 according to the present embodiment will be described with reference to a block diagram shown in FIG. The link-up flags (# 0 to # (N-1)) 44-1 to 44-N shown in the drawing are flags indicating the states of the corresponding lines 3-1 to 3-N, and indicate whether the lines are normal. For example, it takes "1", and when it is abnormal, it takes "0". The frame generation unit 40 generates a frame by adding the sequence number output by the sequence number counter 41 to the packet input from the signal input terminal 5, and supplies the frame to the switch 42. The frame generation unit 40 outputs the length of the generated frame as a frame length 48.
[0074]
Primary cumulative transmission data amount counters (# 0 to # (N-1)) 47-1 to 47-N hold the total length of frames transmitted to the corresponding lines 3-1 to 3-N. The count increment calculation units (# 0 to # (N-1)) 46-1 to 46-N perform the primary accumulated transmission data amount according to the transmission speed and the frame length 48 of the corresponding line 3-1 to 3-N. The increment values of the counters 47-1 to 47-N are obtained.
[0075]
The result of adding the increment value and the values of the primary cumulative transmission data amount counters 47-1 to 47-N are stored in the secondary cumulative transmission data amount counters (# 0 to # (N-1)) 45-1 to 45-N. Is assigned. The line selection unit 43 refers to the link-up flags 44-1 to 44-N and the values of the secondary cumulative transmission data amount counters 45-1 to 45-N when a frame is input to the frame generation unit 40. Then, the transfer destination of the frame is determined.
[0076]
The switch 42 transfers the frame to one of the transmission units 6-1 to 6-N according to the determination made by the line selection unit 43. When a frame is transmitted to the transmission units 6-1 to 6-N, the value of the corresponding secondary cumulative transmission data amount counter (45) is substituted into the primary cumulative transmission data amount counter (47).
[0077]
FIG. 9 is a flowchart illustrating the operation of the load distribution processing unit 4 of the packet transmission device according to the second embodiment in detail. The definitions of the variables in FIG. 9 are as follows.
[0078]
AATD 1 [X] (0 ≦ x <N): values of the primary cumulative transmission data amount counters 47-1 to 47-N
AATD 2 [X] (0 ≦ x <N): values of the secondary cumulative transmission data amount counters 45-1 to 45-N
linkup [x] (0 ≦ x <N): values of link-up flags 44-1 to 44-N
SN: the value of the sequence number counter 41
Rate Factor [x] (0 ≦ X <N)... Magnification inversely proportional to the transmission speed of the lines 3-1 to 3-N
[0079]
In step S120 of FIG. 9, at the time of initialization of the packet transmitting apparatus, the primary accumulated transmission data amount counters 47-1 to 47-N and the sequence number counter 41 are cleared to zero. Check if it has been entered. Here, if a packet has been input, the frame generation unit 40 adds the value of the sequence number counter 41 to the packet and generates a frame (step S122). At this time, a CRC for error detection may be added to the packet.
[0080]
The count increment calculators 46-1 to 46-N calculate the product of the rate (Rate Factor) inversely proportional to the transmission speed of the line 3-1 to 3-N and the frame length 48, and calculate the product and the primary accumulated transmission data. The sum of the amount counters 47-1 to 47-N is substituted into the secondary accumulated transmission data amount counters 45-1 to 45-N (step S123). Here, the magnification inversely proportional to the transmission speed of the lines 3-1 to 3-N means, for example, a relationship as shown in FIG.
[0081]
In step S124, the line selecting unit 43 determines that the value of the secondary cumulative transmission data amount counter (45) is the minimum and the link-up flag (44) is set from the lines 3-1 to 3-N. Search for a line that is If no such line is found (No in step S125), the process returns to step S121.
[0082]
However, if a line satisfying the above condition is found, the switch 42 transfers the frame to the transmission unit (6) corresponding to the line (step S126). For example, when the line 3-3 is searched in step S124 (that is, when x in FIG. 9 is “2”), the frame is transferred to the transmission unit 6-3.
[0083]
In step S127, the value of the secondary cumulative transmission data amount counter (45) corresponding to the searched line is substituted for the primary cumulative transmission data amount counter (47), and the sequence number counter 41 is counted up. Thereafter, the process returns to step S121.
[0084]
The method for dealing with the overflow of the secondary accumulated transmission data amount counters 45-1 to 45-N and the sequence number counter 41 is the same as the method in the load distribution processing unit according to the first embodiment.
[0085]
As described above, according to the present embodiment, the cumulative total of the transmission data amount is updated by using the product of the predetermined magnification and the frame length that is inversely proportional to the transmission speed of each line, and the cumulative total of the updated transmission data amount is updated. Since the packet data is transmitted to the line having the minimum transmission speed, uniform load distribution can be realized even if the transmission speeds of the lines of the packet transmission device are different from each other.
[0086]
【The invention's effect】
As described above, according to the first aspect, means for framing packet data input to the transmission device side of a packet transmission device connected by a plurality of lines, and Means for transmitting packetized packet data, and means for holding, for each of the lines, a total of the data amount of the transmitted packet data. By transmitting packet data via the network, packets are distributed so that the load on each line becomes equal, and as a result, uniform load distribution is achieved.
[0087]
Also, when lines with different transmission speeds are mixed, a predetermined magnification that is inversely proportional to the transmission speed is set for each line, and the cumulative total of the transmission data updated based on the product of the magnification and the frame length is minimized. By transmitting the packet data to the line, even if the transmission speeds of the lines of the packet transmission device are different from each other, uniform load distribution can be realized.
[0088]
According to the second aspect, a step of framing the input packet data, a step of transmitting the framed packet data via the line, and a step of transmitting the transmitted packet data for each line Holding the total of the amount of data of the plurality of lines, the transmitting step, of the plurality of lines, by transmitting the packet data via the line with the minimum total of the amount of the data, for each line And uniform load distribution can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an overall configuration of a packet transmission device according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of a load distribution processing unit in the packet transmission device according to the first embodiment.
FIG. 3 is a block diagram illustrating a detailed configuration of a packet alignment processing unit according to the first embodiment.
FIG. 4 is a flowchart illustrating an operation of a load distribution processing unit according to the first exemplary embodiment.
FIG. 5 is a flowchart illustrating an operation of a packet alignment processing unit according to the first embodiment.
FIG. 6 is a flowchart illustrating an operation of a packet alignment processing unit according to the first embodiment.
FIG. 7 is a diagram illustrating a magnitude relationship between an accumulated transmission data amount counter and a sequence number counter.
FIG. 8 is a block diagram illustrating a configuration of a load distribution processing unit of a packet transmission device according to a second embodiment of the present invention.
FIG. 9 is a flowchart illustrating an operation of a load distribution processing unit of the packet transmission device according to the second embodiment in detail.
FIG. 10 is a diagram illustrating an example of a relationship between a transmission rate of a line and a magnification inversely proportional thereto according to the second embodiment.
FIG. 11 is a diagram for explaining a problem of the related art.
[Explanation of symbols]
1 Packet transmission device
2 packet receiving device,
3-1 to 3-N line (# 0 to # (N-1))
4 Load distribution processing unit
6-1 to 6-N transmission unit (# 0 to # (N-1))
7 Packet alignment processing unit
8-1 to 8-N Receiver (# 0 to # (N-1))
20 Frame generation unit
21 Sequence number counter
22 switch
23 Line selector
24-1 to 24-N link up flags (# 0 to # (N-1))
25-1 to 25-N Cumulative transmission data amount counter (# 0 to # (N-1))
60 buffer selector
61 Packet transmission control unit
62-1 to 62-M receive buffer (# 0 to # M-1)
63-1 to 63-M reception flags (# 0 to # M-1)
64-1 to 64-M receive sequence number registers (# 0 to # M-1)
65-1 to 65-N Link Up Flag (# 0 to # (N-1))
66-1 to 66-N line sequence number register (# 0 to # (N-1))
67 Sequence number counter

Claims (8)

複数の回線を介して相互に接続された送信装置と受信装置からなるパケット伝送装置において、
入力されたパケットデータをフレーム化する手段と、
前記回線を介して、前記フレーム化されたパケットデータを送信する送信手段と、
前記回線ごとに、前記送信されたパケットデータのデータ量の累計を保持する保持手段とを備え、
前記保持手段は、前記送信の度に、その送信されたパケットデータのフレーム長の分についてカウントアップを行い、
前記送信手段は、前記回線に対応した前記保持手段によるカウント値の差分をもとに、あらかじめ設定した関係に基づいて、前記フレーム化されたパケットデータの転送対象とする回線を選択することを特徴とするパケット伝送装置。
In a packet transmission device including a transmission device and a reception device interconnected via a plurality of lines,
Means for framing the input packet data,
Transmitting means for transmitting the framed packet data via the line,
Holding means for holding a cumulative total of the data amount of the transmitted packet data for each line,
The holding means performs a count up for each frame length of the transmitted packet data every time the transmission is performed,
The transmission means selects a line to which the framed packet data is to be transferred, based on a preset relationship based on a difference between count values by the holding means corresponding to the line. Packet transmission device.
前記カウント値の対比する値をX,Yとし、そのカウントのビット幅をBとしたとき、前記関係は、
−2B <X−Y<−2B-1 ならば、X≧Y,−2B-1 ≦X−Y<0ならば、X<Y,0≦X−Y<2B-1 ならば、X≧Y,そして、2B-1 ≦X−Y<2B ならば、X<Yで表されることを特徴とする請求項記載のパケット伝送装置。
When the values to be compared with the count value are X and Y, and the bit width of the count is B, the relationship is as follows:
If −2 B <XY <−2 B-1, then X ≧ Y, −2 B−1 ≦ XY <0, if X <Y, 0 ≦ XY <2 B−1 , X ≧ Y and,, 2 B-1 ≦ X -Y <2 if B, X <packet transmission device according to claim 1, characterized by being represented by Y.
前記複数の回線各々は、伝送速度が等しいことを特徴とする請求項記載のパケット伝送装置。 3. The packet transmission device according to claim 2 , wherein each of the plurality of lines has the same transmission speed. 前記複数の回線は、伝送速度の異なる回線が混在していることを特徴とする請求項記載のパケット伝送装置。 3. The packet transmission device according to claim 2 , wherein the plurality of lines include lines having different transmission speeds. 前記送信手段は、前記回線各々の伝送速度に反比例する、あらかじめ設定した倍率と前記フレーム長との積に基づいて更新された前記データ量の累計が最小の回線を介して、前記パケットデータの送信を行うことを特徴とする請求項記載のパケット伝送装置。The transmitting means transmits the packet data via a line having a minimum total of the data amount updated based on a product of a preset magnification and the frame length, which is inversely proportional to a transmission speed of each of the lines. The packet transmission device according to claim 4, wherein 前記送信装置において、前記入力されたパケットデータにシーケンス番号を付与し、前記受信装置において、そのシーケンス番号に従って、受信したパケットデータを整列させることを特徴とする請求項またはに記載のパケット伝送装置。In the transmission device, the assigned sequence numbers to the input packet data in the receiving apparatus, according to the sequence number, the transmission of packets according to claim 3 or 5, characterized in that aligning the received packet data apparatus. 複数の回線を介して相互に接続された送信装置と受信装置からなるパケット伝送装置における伝送方法であって、
入力されたパケットデータをフレーム化するステップと、
前記回線を介して、前記フレーム化されたパケットデータを送信する送信ステップと、
前記回線ごとに、前記送信されたパケットデータのデータ量の累計を保持する保持ステップとを備え、
前記保持ステップは、前記送信の度に、その送信されたパケットデータのフレーム長の分をカウントアップし、
前記送信ステップでは、前記回線に対応した前記保持ステップでのカウント値の差分に応じた、あらかじめ設定した関係に基づいて、前記フレーム化されたパケットデータの転送対象とする回線が選択されることを特徴とする伝送方法。
A transmission method in a packet transmission device including a transmission device and a reception device interconnected via a plurality of lines,
Framing the input packet data;
A transmitting step of transmitting the framed packet data via the line;
Holding, for each line, a holding step of holding a cumulative data amount of the transmitted packet data,
The holding step, every time the transmission, to count up the frame length of the transmitted packet data,
In the transmitting step, a line to which the framed packet data is to be transferred is selected based on a preset relationship according to a difference between count values in the holding step corresponding to the line. Characteristic transmission method.
前記送信ステップは、前記複数の回線に伝送速度の異なる回線が混在している場合、これらの回線各々の伝送速度に反比例する、あらかじめ設定した倍率と前記フレーム長との積に基づいて前記データ量の累計を更新し、この更新された累計が最小の回線を介して、前記パケットデータの送信を行うことを特徴とする請求項記載の伝送方法。In the transmission step, when lines having different transmission speeds are mixed in the plurality of lines, the data amount is determined based on a product of a preset magnification and the frame length, which is inversely proportional to the transmission speed of each of these lines. 8. The transmission method according to claim 7 , wherein the packet data is transmitted via a line having the smallest total number.
JP2001019419A 2001-01-29 2001-01-29 Packet transmission device and transmission method Expired - Fee Related JP3584885B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001019419A JP3584885B2 (en) 2001-01-29 2001-01-29 Packet transmission device and transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001019419A JP3584885B2 (en) 2001-01-29 2001-01-29 Packet transmission device and transmission method

Publications (2)

Publication Number Publication Date
JP2002223234A JP2002223234A (en) 2002-08-09
JP3584885B2 true JP3584885B2 (en) 2004-11-04

Family

ID=18885299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001019419A Expired - Fee Related JP3584885B2 (en) 2001-01-29 2001-01-29 Packet transmission device and transmission method

Country Status (1)

Country Link
JP (1) JP3584885B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004147029A (en) * 2002-10-23 2004-05-20 Hiroaki Higaki Data transfer method and device
WO2004088940A1 (en) * 2003-03-31 2004-10-14 Fujitsu Limited Load distribution system
JP2009130759A (en) * 2007-11-27 2009-06-11 Fujitsu Ltd Line communication method and apparatus
JP6482296B2 (en) * 2015-01-28 2019-03-13 エヌ・ティ・ティ・コミュニケーションズ株式会社 Packet processing system, communication system, packet processing device, packet processing method, and program

Also Published As

Publication number Publication date
JP2002223234A (en) 2002-08-09

Similar Documents

Publication Publication Date Title
US6876669B2 (en) Packet fragmentation with nested interruptions
US9654419B2 (en) Fabric channel control apparatus and method
EP1018823B1 (en) Apparatus and method for packet switching with supertrunking
Cheriton Sirpent: A high-performance internetworking approach
US6788686B1 (en) Method of maintaining packet order in multipath transmission systems having non-uniform traffic splitting
US7158637B2 (en) Security communication packet processing apparatus and the method thereof
US7027443B2 (en) Reassembly engines for multilink applications
CN108243120B (en) Service flow transmission method, device and communication system based on flexible Ethernet
EP1411684B1 (en) Inter-packet gap generator for a network device and corresponding process
EP0836781A1 (en) Method and apparatus for synchronizing data transmission with on-demand links of a network
CN108881056A (en) A kind of jamming control method, the network equipment and its network interface controller
EP1297665B1 (en) Apparatus and method for efficient hashing in networks
EP1037497A2 (en) Method and apparatus for bundling serial data transmission links to obtain increased data throughput
US7184402B1 (en) Method for multi-link load balancing to improve sequenced delivery of frames at peer end
Sabnani et al. A high speed transport protocol for datagram/virtual circuit networks
EP2289210A1 (en) Method and system for connecting two nodes over multiple communication links
JP3584885B2 (en) Packet transmission device and transmission method
US5587997A (en) Method and apparatus for determining when all packets of a message have arrived
Bolot et al. Performance analysis of transport protocols over congestive channels
Martin-Flatin et al. TCP congestion control in fast long-distance networks
Lau et al. Design and analysis of a multilink access subsystem based on the Batcher-banyan network architecture
WO2008117128A1 (en) Improvements in or relating to packet based data cell delineation
US20250080471A1 (en) Scalable ip fragmentation using packet replication
JP2001111556A (en) Congestion avoidance apparatus and method using RED
US20030169764A1 (en) Network device for sampling a packet

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040726

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees