JP2003204352A - ノード装置 - Google Patents

ノード装置

Info

Publication number
JP2003204352A
JP2003204352A JP2002000479A JP2002000479A JP2003204352A JP 2003204352 A JP2003204352 A JP 2003204352A JP 2002000479 A JP2002000479 A JP 2002000479A JP 2002000479 A JP2002000479 A JP 2002000479A JP 2003204352 A JP2003204352 A JP 2003204352A
Authority
JP
Japan
Prior art keywords
queue
packet
state variable
list
state
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.)
Granted
Application number
JP2002000479A
Other languages
English (en)
Other versions
JP3753070B2 (ja
Inventor
Hideyuki Shimonishi
英之 下西
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 JP2002000479A priority Critical patent/JP3753070B2/ja
Priority to CA 2415188 priority patent/CA2415188C/en
Priority to US10/330,500 priority patent/US7310346B2/en
Priority to CNB031009557A priority patent/CN1254058C/zh
Publication of JP2003204352A publication Critical patent/JP2003204352A/ja
Application granted granted Critical
Publication of JP3753070B2 publication Critical patent/JP3753070B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

(57)【要約】 【課題】 属性により多数の待ち行列に分配したパケッ
トを、各待ち行列に設定された送出条件に従って送出す
る制御を高速で行うノード装置を提供する。 【解決手段】 リスト手段104は、パケットを送信可
能な状態の待ち行列の番号が書き込まれ、該番号の書き
込まれた順序を管理する。状態変数保存手段109は、
全ての待ち行列に関する状態変数を保存する。状態変数
保存手段109よりもデータ量の少ない状態変数一時保
存手段110と、リスト手段104の先頭から所定範囲
内に番号のある待ち行列に関する状態変数だけを一時的
に保存する。制御手段108は、リスト手段104の先
頭から取り出された番号の待ち行列からパケットを送出
し、状態変数一時保存手段110にあるその待ち行列の
状態変数を更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、受信したパケット
あるいはセルをその属性に基づいていずれかの待ち行列
へと格納し、各待ち行列に設定された送出条件に基づい
てパケットの送出を制御するルータあるいはスイッチ等
のノード装置に関し、特に、非常に多くの待ち行列から
高速でパケットを送出するノード装置に関する。
【0002】
【従来の技術】パケット通信では可変長のパケットによ
り通信が行われ、ATM通信では固定長のセルにより通
信が行われる。そして、これらパケットおよびセルに
は、その中に含まれる情報等によりそれぞれ属性が与え
られている。ルータやスイッチは、パケットやセルをそ
の属性に応じて処理する。
【0003】以下、本明細書では簡単化のため、ルータ
またはスイッチ等のノード装置を単にノード装置と称
し、パケットまたはセルを単にパケットと称することと
する。
【0004】一般に、ノード装置は、パケットの属性に
対応する複数の待ち行列を有しており、各待ち行列には
送出条件が設定されている。ノード装置は、受信したパ
ケットをその属性に応じて、いずれかの待ち行列に格納
し、各待ち行列に設定された送出条件に従って送出す
る。待ち行列は、キューとも呼ばれる。
【0005】従来のパケット送出制御方法として、We
ighted Round Robin方式(M.Ka
tavenis他,"Weighted round−
robin cell multiplexing a
general−purpose ATM swit
ch chip",IEEE Journals on
Salectec Areas in Commun
ication,Col.9,No.8,1991、以
下WRR方式と称す)がある。WRR方式では、各待ち
行列に重みが設定され、設定された重みの比に従って各
待ち行列からパケットが送出される。
【0006】WRR方式のノード装置には待ち行列毎に
ウエイトが設定されている。ウエイトは各待ち行列に与
えられた重みである。各待ち行列は、回線の帯域をウエ
イトに応じて分け合ってパケットを送出する。また、W
RR方式のノード装置は、待ち行列毎のカウンタを持っ
ている。各カウンタには、それぞれに対応した待ち行列
から送出可能なパケットの数が記録されている。カウン
タの初期値はウエイトの値である。また、各待ち行列に
は巡回順所が定めれている。
【0007】本方式では、ノード装置は、1つ以上のパ
ケットが格納されており、かつカウンタが1以上の待ち
行列を巡回順序に従って探す。ノード装置は、1つ以上
のパケットが格納されておりかつカウンタが1以上の待
ち行列を見つけると、その待ち行列から1つのパケット
を送出し、そのカウンタを1つ減じる。そして、ノード
装置は、パケットを送出した待ち行列の次の待ち行列か
ら巡回順序に従って、再度、1つ以上のパケットが格納
されておりかつカウンタが1以上の待ち行列を探す。
【0008】待ち行列を一巡しても、1つ以上のパケッ
トが格納されておりかつカウンタが1以上の待ち行列、
すなわちパケットを送出可能な待ち行列がなければ、ノ
ード装置は、全ての待ち行列のカウンタを初期値、すな
わちウエイトの値に戻した後に再び処理を開始する。カ
ウンタを初期値に戻す動作を、以下リセット動作と称す
る。
【0009】したがって、WRR方式では、1つの待ち
行列だけがパケットを送出可能なとき、その待ち行列か
らパケットが送出されると、その後ノード装置は他の全
ての待ち行列についてパケットの送出が可能か否か検査
する。ノード装置は、1つのパケットを送出するため
に、最大で、全ての待ち行列を検査する必要がある。そ
の処理量は待ち行列数に比例するので、待ち行列数が多
くなれば、ノード装置のパケット処理速度を上げること
ができなくなる。
【0010】WRR方式においてパケット処理を高速化
するための第1の従来方法が、特開2001−0537
98号公報に記載されている。特開2001−0537
98号公報に記載された方法では、連想メモリ(Con
tent Addressable Memory;C
AM)がノード装置に備えられ、パケットの送出が可能
な待ち行列の選択に利用される。連想メモリには各待ち
行列の状態が記録されており、検索語と一致する待ち行
列を高速に検索することができる。ノード装置は、パケ
ットを送出可能な状態を示す検索語で連想メモリを検索
することにより、次にパケットを送出する待ち行列を見
つける。
【0011】本方法のノード装置は、待ち行列数に関係
なく、常に一定時間で、高速に、パケットの送出が可能
な待ち行列を検索できるので、待ち行列の数が多い場合
の高速処理に有効である。
【0012】WRR方式においてパケット処理を高速化
するための第2の従来方法が、特開平11−04131
号公報に記載されている。特開平11−04131号公
報に記載された方法では、ノード装置は、第1および第
2のリストを管理している。第1のリストは、パケット
を送出可能な待ち行列、すなわちカウンタが1以上でか
つ1つ以上のパケットが格納されている待ち行列の番号
を管理する。第2のリストは、1つ以上のパケットが格
納されているが、カウンタがゼロであるためパケットを
送出できないでいる待ち行列の番号を管理する。
【0013】ノード装置は、第1のリストの先頭にある
待ち行列の番号を取りだし、その番号の待ち行列からパ
ケットを送出する。パケットを送出した待ち行列がまだ
パケットを送出可能な状態のとき、ノード装置は、その
待ち行列の番号を第1のリストの最後に追加する。ま
た、パケットを送出した待ち行列にまだパケットが残っ
ているが、カウンタがゼロになったとき、ノード装置
は、その待ち行列を第2のリストに追加する。また、パ
ケットを送出した待ち行列のカウンタがゼロになると、
ノード装置は、その待ち行列をいずれのリストにも追加
しない。
【0014】そして、ノード装置は、パケットを送出可
能な待ち行列がなくなったとき、すなわち第1のリスト
が空になったとき、全ての待ち行列のカウンタに対して
リセット動作を行い、第2のリスト内の待ち行列番号を
全て第1のリストに追加して、再びパケット処理を開始
する。
【0015】第3の従来方法として、従来の他のパケッ
ト送出制御方法であるDeficit Round R
obin方式(M.Shreedhar and G.
Varghese,Efficient Fair Q
ueueing usingDeficit Roun
d Robin,IEEE/ACM Transact
ions on Networking、以下DRR方
式と称す)がある。DRR方式は、ノード装置がウェイ
トとカウンタを有する点ではWRR方式と同様である。
【0016】しかし、DRR方式は、各待ち行列からパ
ケットを1つずつ巡回的に送出するWRR方式と異な
り、1つの待ち行列の送出可能なパケットが連続して送
出される。また、DRR方式では、カウンタの値は、送
出可能な、パケットのデータ量(例えば、バイト)であ
る点でWRR方式と異なる。また、ウェイトもデータ量
の単位で定められる。さらに、カウンタのリセット動作
では、カウンタにウエイトが加算される。
【0017】そのため、ノード装置は、上述された第1
のリストを管理している。そして、ノード装置は、第1
のリストの先頭にある待ち行列の番号を取り出し、その
番号の待ち行列に格納されているパケットが無くなる
か、あるいはカウンタの値が先頭パケットのパケット長
よりも小さくなるまで、連続してパケットを送出する。
ノード装置は、1つのパケットを送出すると、そのパケ
ット長をカウンタから減算する。
【0018】ノード装置は、1つの待ち行列からパケッ
トを送信可能なだけ送信すると、その待ち行列のカウン
タに対してリセット動作を行った後、その待ち行列に1
つ以上のパケットが蓄積されていれば、その待ち行列を
第1のリストの最後に追加する。
【0019】従来のさらに他のパケット送出制御方法で
は、WRR方式やDRR方式のようにカウンタは用いら
れず、送信時刻が用いられる。その一例として、Wei
ghted Fair Queueing方式(A.
K.Parekh and R.G.Gallage
r,A Generalized processor
sharing approach to flow
control inintegrated serv
ices networks ‐ The singl
e node case,IEEE INFOCOM9
2,Vol2,1992、以下WFQ方式と称す)や、
WFQ方式から派生した様々な方式がある。
【0020】WFQ方式では、ノード装置は、各待ち行
列から最後に送出されたパケットの仮想的な送信終了時
刻を記録しており、最も送信終了時刻が早い待ち行列か
ら順番にパケットを送出する。したがって、WFQ方式
では、ノード装置は、パケットを送出するとき、全ての
待ち行列の中から最も送信終了時刻の早いものを探す必
要がある。送信終了時刻の最も早い待ち行列を探す処理
の計算量は、通常、待ち行列数に比例する。したがっ
て、待ち行列数が多くなれば、ノード装置のパケット処
理速度を上げることができなくなる。
【0021】WFQ方式においてパケット処理を高速化
した従来方法は、パケットの送信予定を示すカレンダが
用いられる。なお、このカレンダは、タイムホイール
や、その他の様々な呼び方で呼ばれる。カレンダは複数
のエントリを含む。各エントリはそれぞれ時刻を示すテ
ーブルであり、時系列に並んでいる。各エントリには、
それに対応した時刻にパケットを送信する予定の待ち行
列の番号が記録されている。
【0022】ノード装置は、送信終了時刻に基づいてカ
レンダを作成し、パケットを送信するときにそのカレン
ダを用いる。各待ち行列の送信時刻に対応したエントリ
には、その待ち行列の番号が記されている。パケットを
送出するとき、ノード装置は、カレンダのエントリを時
系列順に読み出すことにより、パケットを送出する待ち
行列を得る。これにより、ノード装置は、パケットを送
出するとき、全ての待ち行列の中から最も送信終了時間
の早いものを見つけるのに、待ち行列の数に比例した大
量の処理を行う必要がない。
【0023】また、WFQ方式に類似した様々な方式が
提案されており、その一例である第4の従来方法が特開
2000−183959号公報に記載されている。特開
2000−183959号公報に記載されている方法に
よれば、ノード装置は、カレンダの各エントリに、その
エントリに対応した時刻にパケットを送信する待ち行列
を記録する。その際、ノード装置は、各エントリに複数
の待ち行列をリスト形式で記録することができる。
【0024】
【発明が解決しようとする課題】第1の従来方式では、
ノード装置は連想メモリを持つ必要がある。連想メモリ
は通常のメモリに比べて非常に高価なため、第1の従来
方式のノード装置のコストは非常に高くなっていた。ま
た、第1の従来方式のノード装置は、連想メモリの他に
カウンタなどのために通常のメモリをも持つ必要があ
り、そのため、さらにコストが上がっていた。
【0025】第2の従来方式では、第1または第2のリ
ストは図14のように、各データがポインタで連結され
た構造をとるのが一般的である。この構造では、直前の
ポインタが読み出されるまで、次のポインタを読出すこ
とができない。そのため、ノード装置は、ポインタの読
み出し間隔よりも、パケットの送信間隔を短くすること
はできない。したがって、第2の従来方式によれば、超
高速回線に適用可能なノード装置を作れなかった。
【0026】また、第3の従来方式においても、ノード
装置は、リストで待ち行列番号を管理するので、第2の
従来方式と同様に超高速回線に適用することはできなか
った。
【0027】第2の従来方式のノード装置において、待
ち行列の番号を記録するリストを、図15に示されたよ
うに待ち行列番号を順番に並べたテーブルで管理する
と、前の待ち行列の番号の読み出し前に次の待ち行列の
番号を読み出せるため、高速化が可能である。しかし、
リストの数だけテーブルが必要なので、第2の従来方式
のノード装置のように複数のリストを管理するには大き
なメモリが必要であった。
【0028】第4の従来方式では、ノード装置は、送信
時刻毎に待ち行列番号をリストで管理している。そのた
め、各データがポインタで連結された一般的な構造でリ
ストを管理すると、メモリから待ち行列番号を読み出す
のにかかる時間よりも、パケット送出間隔を短くでき
ず、ノード装置は高速回線に対応できない。
【0029】第2〜第4の従来方式では、ノード装置
は、リストから待ち行列の番号を取り出し、取その番号
の待ち行列に関する状態変数を読み出した後に、パケッ
トを送信する。パケットを送信すると、ノード装置は状
態変数を更新し、その結果に従って待ち行列の番号を適
切なリストに再び追加する。メモリからのデータの読み
出しは、他の処理に比べて時間がかかるため、状態変数
のメモリからの読み出しがノード装置の高速化を妨げて
いた。
【0030】本発明の目的は、その属性により多数の待
ち行列に分配したパケットを、各待ち行列に設定された
送出条件に従って送出する制御を高速で行うノード装置
を提供することである。
【0031】
【課題を解決するための手段】上記目的を達成するため
に、本発明のノード装置は、受信されたパケットを複数
の待ち行列のいずれかに格納し、前記各待ち行列がパケ
ットを送信可能な状態であるか否かを、前記待ち行列毎
の状態変数により判断し、パケットを送信可能な状態の
前記待ち行列から前記パケットを送出するノード装置で
あって、パケットを送信可能な状態の待ち行列の番号が
書き込まれ、該番号の書き込まれた順序を管理するリス
ト手段と、全ての待ち行列に関する状態変数を保存する
状態変数保存手段と、前記リストの先頭から所定範囲内
に番号のある待ち行列に関する状態変数だけを一時的に
保存する、前記状態変数保存手段よりもデータ量の少な
い状態変数一時保存手段と、前記リスト手段の先頭から
取り出された番号の待ち行列からパケットを送出し、前
記状態変数一時保存手段にある該待ち行列の状態変数を
更新する制御手段を有している。
【0032】したがって、本発明のノード装置は、リス
ト手段の先頭付近の待ち行列の状態変数を状態変数保存
手段から、それよりデータ量の小さい状態変数一時保存
手段に先読みしているので、パケットを送出するとき
に、状態変数に関する処理を高速で行うことができる。
【0033】なお、前記制御手段は、前記リスト手段の
先頭から取り出された待ち行列からパケットを送出する
ときに更新した前記状態変数から、該待ち行列がまだパ
ケットを送信可能な状態であれば前記リスト手段に該待
ち行列の番号を追加し、前記状態変数一時保存手段は、
前記制御手段が前記リスト手段から番号を取り出したと
き、前記リスト手段の先頭から前記所定範囲となった待
ち行列に関する状態変数を新たに保存し、また、前記リ
スト手段に待ち行列の番号が追加されたとき、前記リス
ト手段内の番号の数が前記所定範囲内であれば、該待ち
行列に関する状態変数を保存してもよい。
【0034】したがって、本発明のノード装置は、待ち
行列の状態変数を状態変数保存手段から状態変数一時保
存手段に常時先読みしている状態となるので、パケット
を送出するときに、状態変数に関する処理を高速で行う
ことができる。
【0035】本発明の他のノード装置は、受信されたパ
ケットを複数の待ち行列のいずれかに格納し、前記各待
ち行列がパケットを送信可能な状態であるか否かを、前
記待ち行列毎の状態変数により判断し、パケットを送信
可能な状態の前記待ち行列から前記パケットを送出する
ノード装置であって、パケットを送信可能な状態の待ち
行列の番号が書き込まれ、該番号の書き込まれた順序を
管理するリスト手段と、全ての待ち行列に関する状態変
数を保存する状態変数保存手段と、所定数以下の待ち行
列に関する状態変数を一時的に保存する、前記状態変数
保存手段よりもデータ量の少ない状態変数一時保存手段
と、前記状態変数一時保存手段に状態変数が保存されて
いる各待ち行列の番号を、前記リスト手段の代わりに保
持する少なくとも1つの送信候補手段と、前記送信候補
手段に保持されている番号の待ち行列のうち、パケット
を送信可能なものからパケットを送出し、前記状態変数
一時保存手段にある該待ち行列の状態変数を更新する制
御手段を有している。
【0036】なお、前記状態変数一時保存手段は、該状
態変数一時保存手段に空きが生じると、前記リスト手段
の先頭にある番号の待ち行列に関する状態変数を新たに
保存し、また、新たに、パケットを送信可能な状態とな
った待ち行列があるときに前記状態変数一時保存手段に
空きがあれば、該待ち行列に関する状態変数を新たに保
存し、前記制御手段は、いずれかの待ち行列からパケッ
トを送出したときに更新した状態変数から、該待ち行列
がまだパケットを送信可能な状態の場合、前記リスト手
段が空ならば、該状態変数を前記状態変数一時保存手段
に戻し、前記リスト手段が空でなければ、該状態変数を
前記状態変数保存手段へ戻してもよい。
【0037】また、前記パケットが、その属性に応じ
て、いずれかの待ち行列に格納され、前記状態変数は、
前記属性と関連付けて各待ち行列に付与されたウエイト
あるいは帯域と、該待ち行列から送出されたパケットと
から算出される、該待ち行列から送出可能なパケット
数、あるいは該待ち行列からパケットとして送出可能な
データ量であってもよい。
【0038】また、前記待ち行列は、少なくとも1つの
パケットを格納しており、前記状態変数によりパケット
の送出が許容されているとき、パケットを送出可能な状
態であるとしてよい。
【0039】また、前記リスト手段が複数のリストから
なってもよい。
【0040】その場合、前記リスト手段内の複数のリス
トが巡回的に選択されてもよい。
【0041】また、前記リスト手段内の複数のリスト
が、番号が書き込まれるときには格納されている待ち行
列の数の少ないものが選択され、番号が取り出されると
きには格納されている待ち行列の数の多いものが選択さ
れてもよい。
【0042】したがって、本発明のノード装置は、リス
ト手段が複数のリストに分離されているので、各リスト
のデータがポインタで連結された構造であっても、待ち
行列番号をポインタの読み出し時間より短い間隔で読出
すことが可能である。
【0043】なお、待ち行列の番号が、該待ち行列に割
り当てられた帯域から判断されたパケットを送出すべき
時刻毎に、記録されるカレンダ手段をさらに有し、前記
制御手段が、前記カレンダ手段において現在の時刻にパ
ケットを送出すべきとされる待ち行列の番号を該カレン
ダ手段から前記リスト手段に移してもよい。
【0044】本発明のさらに他のノード装置は、受信さ
れたパケットを複数の待ち行列のいずれかに格納し、前
記各待ち行列がパケットを送信可能な状態であるか否か
を、前記待ち行列毎の状態変数により判断し、パケット
を送信可能な状態の前記待ち行列から前記パケットを送
出するノード装置であって、パケットを送信可能な状態
の待ち行列の番号が書き込まれ、該番号の書き込まれた
順序を管理する第1のリスト手段と、送信待ちの状態の
待ち行列の番号が書き込まれ、該番号の書き込まれた順
序を管理する第2のリスト手段と、全ての待ち行列に関
する状態変数を保存する状態変数保存手段と、前記第1
のリストの先頭から所定範囲内に番号のある待ち行列に
関する状態変数を一時的に保存し、さらに、前記第1の
リストに前記所定範囲を満たす待ち行列の番号がないと
き、足りない分を前記第2のリストの先頭からとって一
時的に保存する、前記状態変数保存手段よりもデータ量
の少ない状態変数一時保存手段と、前記リストの先頭か
ら取り出された番号の待ち行列からパケットを送出し、
前記状態変数一時保存手段にある該待ち行列の状態変数
を更新する制御手段を有している。
【0045】なお、前記制御手段は、前記リスト手段の
先頭から取り出された待ち行列からパケットを送出する
ときに更新した前記状態変数から、該待ち行列がまだパ
ケットを送信可能な状態であれば前記第1のリスト手段
に該待ち行列の番号を追加し、該待ち行列が送信待ちの
状態であれば前記第2のリスト手段に該待ち行列の番号
を追加し、前記状態変数一時保存手段は、前記制御手段
が前記第1のリスト手段から番号を取り出したとき、前
記第1のリスト手段の先頭から前記所定範囲となった待
ち行列に関する状態変数を新たに保存し、また、前記第
1のリスト手段に待ち行列の番号が追加されたとき、前
記第1のリスト手段内の番号の数が前記所定範囲内であ
れば、該待ち行列に関する状態変数を保存し、また、前
記第2のリスト手段に待ち行列の番号が追加されたと
き、前記第1のリスト手段内の番号数と前記第2のリス
ト手段内の番号の数との和が前記所定範囲内であれば、
該待ち行列に関する状態変数を保存してもよい。
【0046】本発明のさらに他のノード装置は、受信さ
れたパケットを複数の待ち行列のいずれかに格納し、前
記書く待ち行列がパケットを送信可能な状態であるか否
かを、前記待ち行列毎の状態変数により判断し、パケッ
トを送信可能な状態の前記待ち行列から前記パケットを
送出するノード装置であって、パケットを送信可能な状
態の待ち行列の番号が書き込まれ、該番号の書き込まれ
た順番を管理する第1のリスト手段と、送信待ちの状態
の待ち行列の番号が書き込まれ、該番号の書き込まれた
順序を管理する第2のリスト手段と、全ての待ち行列に
関する状態変数を保存する状態変数保存手段と、所定数
以下の待ち行列に関する状態変数を一時的に保存する、
前記状態変数保存手段よりもデータ量の少ない状態変数
一時保存手段と、前記状態変数一時保存手段に状態変数
が保存されている各待ち行列の番号を、前記第1または
第2のリスト手段の代わりに保持する少なくとも1つの
送信候補手段と、前記送信候補手段に保持されている番
号の待ち行列のうち、パケットを送信可能なものからパ
ケットを送信し、前記状態変数一時保存手段にある該待
ち行列の状態変数を更新する制御手段を有している。
【0047】なお、状態変数一時保存手段は、該状態変
数一時保存手段に空きが生じると、前記第1のリスト手
段の先頭にある番号の待ち行列に関する状態変数を新た
に保存し、前記第1のリスト手段が空ならば、前記第2
のリスト手段の先頭にある番号の待ち行列に関する状態
変数を新たに保存し、また、新たに、パケットを送信可
能な状態あるいは送信待ちの状態となった待ち行列があ
るときに前記状態変数一時保存手段に空きがあれば、該
待ち行列に関する状態変数を新たに保存し、前記制御手
段は、いずれかの待ち行列からパケットを送出したとき
に更新した状態変数から、該待ち行列がパケットを送信
可能な状態の場合、前記第1のリスト手段が空ならば、
該状態変数を前記状態変数一時保存手段に戻し、前記第
1のリスト手段が空でなければ、該状態変数を前記状態
変数保存手段へ戻し、また、いずれかの待ち行列からパ
ケットを送出したときに更新した状態変数から、該待ち
行列が送信待ちの状態の場合、前記第1および第2のリ
スト手段が空ならば、該状態変数を前記状態変数一時保
存手段へ戻し、前記第1または第2のリスト手段が空で
なければ、該状態変数を前記状態変数保存手段へ戻して
もよい。
【0048】また、前記パケットは、その属性に応じ
て、いずれかの待ち行列に格納され、前記状態変数は、
前記属性と関連付けて各待ち行列に付与されたウエイト
あるいは帯域と、該待ち行列から送出されたパケットと
から算出される、該待ち行列から送出可能なパケット
数、あるいは該待ち行列からパケットとして送出可能な
データ量であってもよい。
【0049】また、前記待ち行列は、少なくとも1つの
パケットを格納しており、前記状態変数によりパケット
の送出が許容されているとき、パケットを送出可能な状
態であるとしてもよい。
【0050】また、前記待ち行列は、少なくとも1つの
パケットを格納しているが、前記状態変数からパケット
を送信可能でないとき、送信待ちの状態であるとしても
よい。
【0051】また、前記第1および第2のリスト手段
が、それぞれ複数のリストからなってもよい。
【0052】その場合、前記第1および第2のリスト手
段内の複数のリストは、それぞれ巡回的に選択されても
よい。
【0053】また、前記第1および第2のリスト手段内
の複数のリストは、それぞれ、番号が書き込まれるとき
には格納されている待ち行列の数の少ないものが選択さ
れ、番号が取り出されるときには格納されている待ち行
列の数の多いものが選択されてもよい。
【0054】
【発明の実施の形態】本発明の一実施形態について図面
を参照して詳細に説明する。
【0055】図1は、本実施形態のノード装置の構成を
示すブロック図である。
【0056】図1を参照すると、ノード装置100は、
パケット振り分け部101、待ち行列102−1〜10
2−n、パケット出力部103、送信可能リスト104
−1,104−2、送信待ちリスト105−1,105
−2、リセット制御部106、入力制御部107、出力
制御部108、状態変数保存部109および状態変数一
時保存部110を有している。
【0057】パケット振り分け部101は、回線L1か
らパケットを受信し、そのパケットの属性を調べて格納
すべき待ち行列を選択する。ノード装置の一例として、
ルータは、受信パケットの送信元IPアドレス、送信先
IPアドレス、第4層プロトコル番号、送信元ポート番
号、送信先ボート番号、TOS(Type of Se
rvice)情報等の属性から待ち行列を決定する。ノ
ード装置の他の例として、イーサスイッチは、受信パケ
ットの送信元MACアドレス、送信先MACアドレス、
IEEE802.1p優先度、VLAN−ID等の属性
から待ち行列を決定する。
【0058】待ち行列102−1〜102−nは、パケ
ット振り分け部101により属性毎に振り分けられたパ
ケットを一時格納する。ここでは、待ち行列の数はnで
あり、本実施形態は待ち行列数nが多数の場合に有効で
ある。
【0059】パケット出力部103は、出力制御部10
8からの指示された待ち行列の先頭から1つのパケット
を取り出して回線L2に送出する。
【0060】送信可能リスト104−1,104−2
は、パケットの送信が可能な待ち行列の番号を保持す
る。パケットの送信が可能な待ち行列とは、カウンタが
1以上であり、かつ1つ以上のパケットが格納されてい
る待ち行列である。なお、基本的に、送信可能な待ち行
列の番号の書き込みは、送信可能リスト104−1およ
び送信可能リスト104−2に交互に行われ、番号の取
り出しも交互に行なわれる。
【0061】送信待ちリスト105−1,105−2
は、パケットの送信待ち状態の待ち行列の番号を保持す
る。パケットの送信待ち状態とは、1つ以上のパケット
が格納されているがカウンタがゼロ以下の状態である。
なお、基本的に、送信待ちの待ち行列の番号の書き込み
も、送信待ちリスト105−1および送信待ちリスト1
05−2に交互に行われる。
【0062】リセット制御部106は出力制御部108
から指示があると、リセット動作として、送信待ちリス
ト105−1の内容を送信可能リスト104−1に移
し、送信待ちリスト105−2の内容を送信可能リスト
104−2に移す。
【0063】入力制御部107は、受信したパケットを
格納すべき待ち行列の状態変数を状態変数保存部109
または状態変数一時保存部110から読み出す。そし
て、入力制御部107は、その状態変数に従って、待ち
行列番号を、送信可能リスト104−1,104−2ま
たは送信待ちリスト105−1,105−2のうちいず
れかに追加する。
【0064】出力制御部108は、各待ち行列からのパ
ケットの送出を制御するために、まず、送信可能リスト
104−1または104−2の先頭から待ち行列番号を
取り出し、その番号の待ち行列に関する状態変数を状態
変数一時保存部110から読み出す。なお、このとき出
力制御部108は、送信可能リスト104−1または送
信可能リスト104−2から交互に待ち行列番号を読出
す。そして、出力制御部108は、その待ち行列のパケ
ットの送出をパケット出力部203に指示する。また、
出力制御部108は、状態変数を更新し、更新された状
態変数により待ち行列番号をリストに追加する。また、
出力制御部108は、パケットの送出をパケット出力部
203に指示したとき、送信可能リスト104−1,1
04−2の双方が空になったら、リセット制御部106
にリセット動作を指示する。
【0065】状態変数保存部109は、各待ち行列に関
する状態変数を保持する。状態変数とは、ウエイトおよ
びカウンタの値や、リセット状態、待ち行列長等の情報
である。ウエイトは、各待ち行列に与えられた重みであ
る。各待ち行列は、回線の帯域をウエイトに応じて分け
合ってパケットを送出する。カウンタは、待ち行列毎に
あり、各待ち行列から送出可能なパケットのデータ量を
管理している。リセット状態とは、リセットの指示がさ
れた後に、リセット制御部106が実際にカウンタをリ
セットしたか否かを示す。リセットの指示がされ、カウ
ンタがリセットされていなければ、その待ち行列のカウ
ンタはリセット未実施の状態であり、リセットされてい
れば、リセット実施済である。
【0066】状態変数一時保存部110は、状態変数保
存部109に保存されている状態変数のうち、送信可能
リスト104−1,104−2および送信待ちリスト1
05−1,105−2の先頭からm個以内の待ち行列に
関する状態変数を一時的に保持する。状態変数一次保存
部110に保持された状態変数は、パケットを高速に送
出処理するために一部の情報を先読みされた情報であ
る。
【0067】図2は、本実施形態のノード装置における
パケット受信動作を示すフローチャートである。
【0068】図2を参照すると、パケット振り分け部1
01は、ステップS101に、回線L1からパケットを
受信すると、そのパケットを格納すべき待ち行列を決定
する。ステップS102に、パケット振り分け部101
は、その決定に従ってパケットをいずれかの待ち行列に
格納する。
【0069】次に、入力制御部107は、ステップS1
03に、受信パケットが格納される待ち行列に他のパケ
ットが格納されているか否か判定する。受信パケットが
格納される待ち行列に他のパケットが格納されていれ
ば、ノード装置100はパケット受信動作を終了する。
【0070】受信パケットを格納する待ち行列に他のパ
ケットが格納されていなければ、入力制御部102は、
ステップS104に、その待ち行列のカウンタとリセッ
ト状態を状態変数保存部109または状態変数一時保存
部110より読出す。
【0071】入力制御部107は、ステップS105
に、その待ち行列のカウンタがリセット実施済で、かつ
カウンタの値がゼロ以下であるか否か判定する。
【0072】その待ち行列のカウンタの値が1以上であ
るか、または、その待ち行列がリセット未実施の状態で
あれば、入力制御部107は、ステップS107に、そ
の待ち行列番号をいずれかの送信可能リスト104−
1,104−2に追加する。なお、待ち行列番号の追加
は、送信可能リスト104−1または送信可能リスト1
04−2へ交互にされる。あるいは、送信可能リスト1
04−1または送信可能リスト104−2のうち、記録
されている待ち行列の数が少ない方に待ち行列番号を追
加してもよい。ありいは、送信可能リスト104−1ま
たは送信可能リスト104−2のうち、待ち行列番号の
書き込みや読み出しの動作が行われていない方に待ち行
列番号を追加してもよい。
【0073】また、その待ち行列のカウンタがリセット
済で、かつカウンタの値がゼロ以下であれば、入力制御
部107は、ステップS106に、その待ち行列番号を
いずれかの送信待ちリスト105−1,105−2に追
加する。なお、待ち行列番号の追加は、送信待ちリスト
105−1または送信待ちリスト105−2へ交互にさ
れる。あるいは、送信待ちリスト105−1または送信
待ちリスト105−2のうち、記録されている待ち行列
の数が少ない方に待ち行列を追加してもよい。あるい
は、送信待ちリスト105−1または送信待ちリスト1
05−2のうち、待ち行列番号の書き込みや読み出しの
動作が行われていない方に待ち行列番号を追加してもよ
い。
【0074】ステップS108に、入力制御部107
は、追加した待ち行列がリストの先頭からm番以内であ
るか否か判定する。
【0075】追加した待ち行列がリストの先頭からm番
以内であれば、ステップS109に、入力制御部107
は、その待ち行列の状態変数を状態変数保存部109か
ら状態変数一時保存部110へと移し、ノード装置10
0はパケット受信動作を終了する。
【0076】追加した待ち行列がリストの先頭からm番
以内でなければ、ノード装置100はそのままパケット
受信動作を終了する。
【0077】図3は、本実施形態のノード装置における
パケット送出動作を示すフローチャートである。
【0078】図3を参照すると、まず、出力制御部10
8は、ステップS201に、送信可能リスト104−1
および送信可能リスト104−2の双方が空であるか否
か判定する。
【0079】送信可能リスト104−1および送信可能
リスト104−2の双方が空であれば、ステップS20
2に、出力制御部108はリセット制御部106に全て
の待ち行列のリセットを指示する。リセット制御部10
6は、ステップS203に、送信待ちリスト105−
1,105−2の内容をそれぞれ対応する送信可能リス
ト105−1,105−2へ移す。
【0080】なお、出力制御部108は、このときに全
てのカウンタにウエイト値を加算して、カウンタをリセ
ットしてもよいが、それには長時間かかる。そのため、
本実施形態では、出力制御部108は、各待ち行列のパ
ケットが送出されるときに、その待ち行列のカウンタを
リセットする。したがって、ここでは出力制御部108
から指示を受けたリセット制御部106がリセット動作
をするだけである。そのため、出力制御部108は、待
ち行列毎にリセット指示時刻およびリセット処理時刻を
記録している。リセット指示時刻とは、リセット制御部
106へリセットを指示した時刻である。リセット処理
時刻とは、最後にその待ち行列のカウンタがリセットさ
れた時刻である。したがって、リセット処理時刻がリセ
ット指示時刻より早ければ、リセット未実施の状態であ
り、リセット指示時刻がリセット処理時刻より遅けれ
ば、リセット実施済の状態である。
【0081】次に、出力制御部108は、ステップS2
04に、双方の送信可能リスト104−1,104−2
が空であるか否か判定する。双方の送信可能リスト10
4−1,104−2が空であれば、ノード装置100は
パケット送出動作を終了する。
【0082】ステップS201またはステップS204
の判定で、送信可能リスト104−1,104−2のう
ち少なくとも一方が空でなければ、出力制御部108
は、ステップS205に、いずれかの送信可能リストの
先頭から待ち行列番号を取り出す。なお、待ち行列番号
の取り出しは、送信可能リスト104−1または送信可
能リスト14−2から交互にされる。あるいは、送信可
能リスト104−1または送信可能リスト104−2の
うち、記録されている待ち行列の数が多い方から待ち行
列番号を取り出してもよい。
【0083】ステップS206にて、出力制御部108
は、ステップS205の処理により、新たに、送信可能
リストの先頭からm番目となった待ち行列があるか否か
判定する。
【0084】送信可能リストの先頭からm番目となった
待ち行列があれば、出力制御部108は、ステップS2
07に、その待ち行列の状態変数を状態変数保存部10
9から状態変数一時保存部110へ移す。
【0085】ステップS206の判定で送信可能リスト
の先頭からm番目となった待ち行列がなかったとき、あ
るいはステップS207の処理の後、ステップS208
に、出力制御部108は、ステップS205で取り出さ
れた番号の待ち行列のパケットの送出をパケット出力部
103に指示する。パケット出力部103は、出力制御
部108から指示された待ち行列の先頭のパケットを送
出する。
【0086】次に、出力制御部108は、ステップS2
09に、状態変数一時保存部110から、その待ち行列
のウエイトおよびカウンタの値とリセット状態を読み出
す。
【0087】次に、出力制御部108は、ステップS2
10に、その待ち行列がリセット未実施の状態か否か判
定する。
【0088】その待ち行列がリセット未実施であれば、
出力制御部108は、ステップS211に、カウンタを
リセットしてリセット状態をリセット実施済にする。リ
セット状態をリセット実施済にするとは、リセット処理
時刻を記録することである。カウンタのリセットでは、
カウンタ値にウエイト値が加算される。ただし、カウン
タ値がウェイト値より大きければ、ウエイト値がカウン
タ値に代入される。
【0089】ステップS212にて、出力制御部108
は、ステップS208で送出されたパケットの長さ分だ
けカウンタから減算し、ステップS213に、カウンタ
およびウエイトの値とリセット状態を状態変数一時保存
部110に戻す。そして、出力制御部108は、ステッ
プS214に、パケットを送出した待ち行列にパケット
が残っているか否か判定する。その待ち行列にパケット
が残っていなければ、ノード装置100はパケット送出
動作を終了する。
【0090】その待ち行列にパケットが残っていれば、
出力制御部108は、ステップS215に、その待ち行
列のカウンタの値がゼロ以下であるか否か判定する。
【0091】カウンタの値がゼロ以下であれば、出力制
御部108は、ステップS216に、その待ち行列番号
をいずれかの送信待ちリスト105−1,105−2に
追加する。また、カウンタの値が1以上であれば、出力
制御部108は、ステップS217に、その待ち行列番
号をいずれかの送信可能リスト104−1,104−2
に追加する。
【0092】ステップS218に、出力制御部108
は、追加した待ち行列がリストの先頭からm番目以内で
あるか否か判定する。追加した待ち行列がリストの先頭
からm番以内であれば、ノード装置100は、そのまま
パケット送出動作を終了する。追加した待ち行列がリス
トの先頭からm番以内でなければ、出力制御部108
は、ステップS219に、その待ち行列の状態変数を状
態変数一時保存部110から状態変数保存部109に戻
す。
【0093】本実施形態のノード装置100は、送信可
能リストおよび送信待ちリストが、それぞれ2つに分離
されているので、リストのデータがポインタで連結され
た構造であっても、待ち行列番号をポインタの読み出し
時間より短い間隔で読出すことが可能であり、超高速回
線に適用可能である。
【0094】また、本実施形態のノード装置100は、
通常のメモリによるリストから高速で待ち行列番号を読
出せるので、連想メモリが不要であり、低コストで超高
速回線に適用可能である。
【0095】また、本実施形態のノード装置100は、
各データがポインタで順次連結された構造のリストを作
れるので、待ち行列番号を順番に並べたテーブル構造の
リストで管理する必要がなく大量のメモリが不要であ
り、低コストで超高速回線に適用可能である。
【0096】また、本実施形態のノード装置100は、
リストの先頭付近の待ち行列の状態変数をメモリから先
読みしているので、パケットの送出処理を高速で行うこ
とができ、超高速回線に適用可能である。
【0097】また、本実施形態のノード装置100は、
各待ち行列のカウンタのリセットを一括して行わず、パ
ケットを送出するときに待ち行列毎に個別にカウンタを
リセットするので、リセットにかかる時間によりパケッ
ト送出の速度が制限されず、超高速回線に適用可能であ
る。
【0098】なお、本実施形態では、送信可能リストお
よび送信待ちリストが、それぞれ2つの場合を例示した
が、それぞれが3つ以上あってもよい。その場合、送信
可能リストおよび送信待ちリストがそれぞれ2つの場合
と同様に、待ち行列番号の格納、取り出しは、巡回的に
行われてもよい。また、すでに格納されている待ち行列
番号の最も少ないリストに新たな待ち行列番号を追加
し、格納されている待ち行列番号の最も多いリストから
待ち行列番号を取り出すこととしてもよい。
【0099】また、本実施形態では、ウエイトに応じて
各待ち行列からパケットを送出する場合を例示したが、
各待ち行列に所定の帯域が予め割り当てられ、各待ち行
列のパケットが送信可能な状態であるか、送信待ちの状
態であるかが、各待ち行列の帯域により決められてもよ
い。その場合、ウエイトの代わりに、各待ち行列に割り
当てられた帯域を示すデータが用いられればよい。
【0100】本発明の他の実施形態について図面を参照
して説明する。本実施形態のノード装置は、ある待ち行
列からパケットの送出を開始すると、その待ち行列から
パケットを送出できなくなるまで、連続して送出する。
【0101】図4は本発明の他の実施形態のノード装置
の構成を示すブロック図である。
【0102】図4を参照すると、ノード装置200は、
パケット振り分け部201、待ち行列202−1〜20
2−n、パケット出力部203、送信可能リスト204
−1,204−2、入力制御部207、出力制御部20
8、状態変数保存部209および状態変数一時保存部2
10を有している。
【0103】パケット振り分け部201の構成および動
作は、図1のパケット振り分け部101とおなじであ
る。待ち行列202−1〜202−nの構成および動作
は、図1の待ち行列102−1〜102−nの構成およ
び動作と同じである。パケット出力部203の構成およ
び動作は、図1のパケット出力部103と同じである。
送信可能リスト204−1,204−2の構成および動
作は、図1の送信可能リスト104−1,104−2と
同じである。状態変数保存部209の構成および動作は
図1の状態変数保存部109と同じである。状態変数一
時保存部210の構成及び動作は図1の状態変数一時保
存部110と同じである。
【0104】図4のノード装置200は、入力制御部2
07、出力制御部208の動作が図1のノード装置10
0と異なる。また、ノード装置200は、送信待ちリス
トおよびリセット制御部がない点が図1のノード装置1
00と異なる。
【0105】入力制御部207は、回線L1から受信し
たパケットを格納すべき待ち行列の状態変数を状態変数
保存部209または状態変数一時保存部210から読み
出す。そして、入力制御部207は、その状態変数に従
って、待ち行列番号を、送信可能リスト204−1,2
04−2のうちいずれかに追加する。
【0106】ノード装置200は、図1のノード装置1
00と異なり、送信待ちリストから送信可能リストへ待
ち行列番号を移す必要がないので、リセット状態の管理
が不要である。したがって、入力制御部207は、リセ
ット状態の判定およびそれに伴われる処理の区別をしな
い。
【0107】出力制御部208は、現在パケットを送信
中の待ち行列があれば、その待ち行列からパケットを送
出させる。また、出力制御部208は、現在パケットを
送信中の待ち行列がなければ、送信可能リスト204−
1または送信可能リスト204−2のいずれかの先頭か
ら待ち行列番号を取り出し、その番号の待ち行列からパ
ケットを送出させる。そして、出力制御部208は、パ
ケットを送出した待ち行列にまだ送信可能なパケットが
あれば、その待ち行列を引き続き送信中とし、送信可能
なパケットがなければ、送信可能リストに追加する。出
力制御部208は、パケットを連続して送信するため
に、待ち行列について送信中の状態を管理する。
【0108】図5は、図4に示されたノード装置におけ
るパケット受信動作を示すフローチャートである。
【0109】図5を参照すると、パケット振り分け部2
01は、ステップS301に、回線L1からパケットを
受信すると、そのパケットを格納すべき待ち行列を決定
する。ステップS302に、パケット振り分け部201
は、その決定に従ってパケットをいずれかの待ち行列に
格納する。
【0110】次に、入力制御部207は、ステップS3
03に、受信パケットが格納される待ち行列に他のパケ
ットが格納されているか否か判定する。受信パケットが
格納される待ち行列に他のパケットが格納されていれ
ば、ノード装置200はパケット受信動作を終了する。
【0111】受信パケットを格納する待ち行列に他のパ
ケットが格納されていなければ、入力制御部207は、
ステップS304に、その待ち行列の番号をいずれかの
送信待ちリスト205−1,205−2に追加する。
【0112】ステップS305に、入力制御部207
は、追加した待ち行列がリストの先頭から、番以内であ
るか否か判定する。
【0113】追加した待ち行列がリストの先頭からm番
以内であれば、ステップS306に、入力制御部207
は、その待ち行列の状態変数を状態変数保存部209か
ら状態変数一時保存部210へと移し、ノード装置20
はパケット受信動作を終了する。
【0114】追加した待ち行列がリストの先頭からm番
以内でなければ、ノード装置200はそのままパケット
受信動作を終了する。
【0115】図6は、図4に示されたノード装置におけ
るパケット送出動作を示すフローチャートである。
【0116】図6を参照すると、まず、出力制御部20
8は、ステップS401に、送信可能リスト204−1
および送信可能リスト204−2の双方が空であるか否
か判定する。
【0117】送信可能リスト204−1および送信可能
リスト204−2の双方が空であれば、ノード装置20
0はそのままパケット送出動作を終了する。
【0118】送信可能リスト204−1,204−2の
うち少なくとも一方が空でなければ、出力制御部208
は、ステップ402にて、パケットを送信中の待ち行列
があるか否か判定する。パケットを送信中の待ち行列が
無ければ、いずれかの送信可能リストの先頭から待ち行
列番号を取り出す。
【0119】ステップS404にて、出力制御部208
は、ステップS403の処理により、新たに、送信可能
リストの先頭からm番目となった待ち行列があるか否か
判定する。
【0120】送信可能リストの先頭からm番目となった
待ち行列があれば、出力制御部208は、ステップS4
05に、その待ち行列の状態変数を状態変数保存部20
9から状態変数一時保存部210へ移す。
【0121】ステップS404の判定で送信可能リスト
の先頭からm番目となった待ち行列がなかったとき、あ
るいはステップS405の処理の後、ステップS406
に、出力制御部208は、ステップS403で取り出さ
れた番号の待ち行列を送信中の状態にする。
【0122】ステップS407に、出力制御部208
は、状態変数一時保存部210から、その待ち行列のウ
エイトおよびカウンタの値を読出す。
【0123】そして、ステップS402の判定で送信中
の待ち行列があったとき、あるいはステップS407の
処理の後、出力制御部208は、ステップS408に、
送信中の待ち行列のパケットを送出するように、パケッ
ト出力部203に指示する。パケット出力部203は、
出力制御部208から指示された待ち行列の先頭のパケ
ットを送出する。
【0124】ステップS409にて、出力制御部208
は、ステップS408で送出されたパケットの長さ分だ
けカウンタから減算する。
【0125】ステップS410にて、出力制御部208
は、送信中の状態の待ち行列にまだパケットが残ってお
り、かつカウンタの値が1以上であるか否か判定する。
その待ち行列にパケットが残っており、かつカウンタの
値が1以上であれば、ノード装置200はそのまま送信
動作を終了し、次の送信動作に移行する。
【0126】その待ち行列にパケットが残っていない
か、またはカウンタの値がゼロ以下であれば、出力制御
部208は、ステップS411に、カウンタをリセット
する。ステップS412に、出力制御部208は、カウ
ンタおよびウエイトの値を状態変数一時保存部210に
戻す。そして、出力制御部208は、ステップS413
に、その待ち行列の送信中の状態を解除する。
【0127】ステップS414にて、出力制御部208
は、その待ち行列にまだパケットが残っているか否か判
定する。その待ち行列にパケットが残っていなければ、
ノード装置200は送信動作を終了し、次の送信動作に
移行する。
【0128】その待ち行列にパケットが残っていれば、
出力制御部208は、ステップS415に、その待ち行
列番号をいずれかの送信待ちリスト205−1,205
−2に追加する。
【0129】ステップS416に、出力制御部208
は、追加した待ち行列がリストの先頭からm番目以内で
あるか否か判定する。追加した待ち行列がリストの先頭
からm番目以内であれば、ノード装置200は、そのま
ま送信処理を終了し、次の送信動作に移行する。
【0130】追加した待ち行列がリストの先頭からm番
以内でなければ、出力制御部208は、ステップ417
に、その待ち行列の状態変数を状態変数一時保存部21
0から状態変数保存部209に戻す。
【0131】本発明のさらに他の実施形態について図面
を参照して説明する。本実施形態のノード装置は、カレ
ンダを用いてパケットの送信予定を管理する。カレンダ
は、時系列に並んだ複数のリストを含んでいる。各リス
トは、それぞれに対応した時刻にパケットの送出を終了
する予定の待ち行列の番号が記録されている。パケット
を送出するための帯域が各待ち行列に割り当てられてい
る場合、パケットの送出が可能な待ち行列であっても、
所定時間間隔より短い間隔でパケットを送出できない。
その場合に、待ち行列から送出されるパケットが所定時
間間隔となるように、その待ち行列はカレンダのリスト
に記録される。そして、リストの示す時刻になると、待
ち行列の番号がカレンダから取り出され、その待ち行列
からパケットが送出される。
【0132】図7は、本実施形態のノード装置の構成を
示すブロック図である。
【0133】図7を参照すると、ノード装置300は、
パケット振り分け部301、待ち行列302−1〜30
2−n、パケット出力部303、送信可能リスト304
−1,304−2、入力制御部307、出力制御部30
8、状態変数保存部309、状態変数一時保存部310
およびカレンダ311を有している。
【0134】パケット振り分け部301の構成および動
作は、図1のパケット振り分け部101と同じである。
待ち行列302−1〜302−2の構成および動作は、
図1の待ち行列202−1〜202−2と同じである。
パケット出力部303の構成および動作は、図1のパケ
ット出力部103と同じである。送信可能リスト304
−1,304−2の構成および動作は、図1の送信可能
リスト104−1,104−2と同じである。状態変数
保存部309の構成および動作は、図1の状態変数保存
部109と同じである。状態変数一時保存部310の構
成および動作は、図1の状態変数一時保存部110と同
じである。ただし、ノード装置300は、カレンダ31
1でパケットの送信予定を管理するので、状態変数に
は、各待ち行列からのパケットの送出の終了予定時刻が
含まれている。また、各待ち行列には、パケットを送出
するための帯域が割り当てられる。この各待ち行列の設
定帯域も状態変数に含まれている。
【0135】図7のノード装置300は、入力制御部3
07、出力制御部308の動作が図1のノード装置10
0と異なる。また、ノード装置300は、送信待ちリス
トおよびリセット制御部がない点と、カレンダ311を
有する点が図1のノード装置100と異なる。
【0136】入力制御部307は、回線L1から受信し
たパケットを格納すべき待ち行列の状態変数を状態変数
保存部309または状態変数一時保存部310から読み
出す。そして、入力制御部307は、その状態変数に従
って、待ち行列番号を、送信可能リスト304−1,3
04−2またはカレンダ311のいずれかに追加する。
【0137】出力制御部308は、各待ち行列からのパ
ケットの送出を制御するために、まず、送信可能リスト
304−1または304−2の先頭から待ち行列番号を
取り出し、その番号の待ち行列に関する状態変数を状態
変数一時保存部310から読み出す。そして、出力制御
部308は、その待ち行列のパケットの送出をパケット
出力部303に指示する。そして、出力制御部308
は、パケットの送出をパケット出力部303に指示した
後、その待ち行列の状態変数に従って、待ち行列番号を
送信可能リスト304−1,304−2またはカレンダ
311のいずれかに追加する。
【0138】カレンダ311は、所定間隔の時刻毎のリ
ストを時系列に保持している。各リストには、それぞれ
に対応した時刻にパケットの送出を終了する予定の待ち
行列の番号が記録される。
【0139】図8は、図7のノード装置300のパケッ
ト受信動作を示すフローチャートである。
【0140】図8を参照すると、パケット振り分け部3
01は、ステップS501に、回線L1からパケットを
受信すると、そのパケットを格納すべき待ち行列を決定
する。ステップS502に、パケット振り分け部301
は、その決定に従ってパケットをいずれかの待ち行列に
格納する。
【0141】次に、入力制御部307は、ステップS5
03に、受信パケットが格納される待ち行列に他のパケ
ットが格納されているか否か判定する。受信パケットが
格納される待ち行列に他のパケットが格納されていれ
ば、ノード装置300はパケット受信動作を終了する。
【0142】受信パケットを格納する待ち行列に他のパ
ケットが格納されていなければ、入力制御部302は、
ステップS504に、その待ち行列のパケットの送出を
終了する予定時刻を状態変数保存部309または状態変
数一時保存部310より読出す。
【0143】ステップS505に、入力制御部307
は、読み出された送出終了予定時刻に、現在の時刻が達
しているか否か判定する。送出終了予定時刻に達してい
なければ、ステップS507に、入力制御部307は、
カレンダ311の送出終了予定時刻に対応したリストに
その待ち行列番号を記録し、ノード装置300はパケッ
ト受信動作を終了する。
【0144】送出終了予定時刻に達していれば、ステッ
プS506に、入力制御部307は、その待ち行列番号
を、いずれかの送信可能リスト304−1,304−2
に追加する。
【0145】ステップS508に、入力制御部307
は、追加した待ち行列がリストの先頭からm番目以内で
あるか否か判定する。
【0146】追加した待ち行列がリストの先頭からm番
以内であれば、ステップS509に、入力制御部307
は、その待ち行列の状態変数を状態変数保存部309か
ら状態変数一時保存部310へと移す。
【0147】追加した待ち行列がリストの先頭からm番
目以内でないとき、あるいはステップS509の処理の
後、入力制御部307は、ステップS510に、現在の
時刻を送出終了予定時刻に代入する。ステップS511
に、入力制御部307は、送出終了予定時刻を状態変数
保存部309もしくは状態変数一時保存部310に書き
戻す。
【0148】図9は、図7のノード装置300における
パケット送出動作を示すブロック図である。
【0149】図9を参照すると、まず、ノード装置30
0は、ステップS601に、現在時刻を更新する。ステ
ップS602に、出力制御部308は、カレンダ311
内の現在時刻に対応するリストの内容の全てを、いずれ
かの送信可能リスト304−1,304−2へと移す。
【0150】ステップS603に、出力制御部308
は、送信可能リスト304−1,304−2の双方が空
であるか否か判定する。双方の送信可能リスト304−
1,304−2が空であれば、ノード装置300はパケ
ット送出動作を終了する。
【0151】送信可能リスト304−1,304−2の
少なくとも一方が空でなければ、出力制御部308は、
ステップS604に、いずれかの送信可能リストの先頭
から待ち行列番号を取り出す。
【0152】ステップS605にて、出力制御部308
は、ステップS604の処理により、新たに、送信可能
リストの先頭からm番目となった待ち行列があるか否か
判定する。
【0153】送信可能リストの先頭からm番目となった
待ち行列があれば、出力制御部308は、ステップS6
06に、その待ち行列の状態変数を状態変数保存部10
9から状態変数一時保存部110へ移す。
【0154】ステップS605の判定で送信可能リスト
の先頭からm番目となった待ち行列がなかったとき、あ
るいはステップS606の処理の後、ステップS607
に、出力制御部308は、ステップS604で取り出さ
れた番号の待ち行列のパケットの送出をパケット出力部
303に指示する。パケット出力部303は、出力制御
部308から指示された待ち行列の先頭のパケットを送
出する。
【0155】ステップS608にて、出力制御部308
は、状態変数一時保存部310から、待ち行列の設定帯
域および送出終了予定時刻を読出す。ステップS609
に、出力制御部308は、読み出された設定帯域と送出
するパケットのデータ量とから送出終了予定時刻を算出
する。そして、ステップS610に、出力制御部308
は、設定帯域および送出終了予定時刻を状態変数一時保
存部310に書き戻す。
【0156】ステップ611に、出力制御部308は、
パケットの送出した待ち行列にパケットが残っているか
否か判定する。その待ち行列にパケットが残っていなけ
れば、ノード装置300はパケット送出動作を終了す
る。
【0157】その待ち行列にパケットが残っていれば、
出力制御部308は、ステップS612に、送出終了予
定時刻に現在の時刻が達しているか否か判定する。送出
終了時刻に達していなければ、ステップS614に、出
力制御部308は、カレンダ311の送出終了予定時刻
に対応したリストに、その待ち行列番号を記録する。次
に、ステップS616にて、出力制御部308は、その
待ち行列の状態変数を状態変数保存部309から状態変
数一時保存部310へと移し、ノード装置300はパケ
ット送出動作を終了する。
【0158】ステップS612の判定において現在の時
刻が送出終了時刻に達していれば、ステップS613
に、出力制御部308は、その待ち行列の番号を送信可
能リスト304−1,304−2のいずれかに追加す
る。
【0159】ステップS615に、出力制御部308
は、追加した待ち行列がリストの先頭からm番以内であ
るか否か判定する。追加した待ち行列がリストの先頭か
らm番目以内であれば、ステップS616の処理に移
る。追加した待ち行列がリストの先頭からm番名以内で
なければ、ノード装置300はそのままパケット送出動
作を終了する。
【0160】本発明のさらに他の実施形態について図面
を参照して説明する。
【0161】図10は、本実施形態のノード装置の構成
を示すブロック図である。
【0162】図10を参照すると、ノード装置400
は、パケット振り分け部401、待ち行列402−1〜
402−n、パケット出力部403、送信可能リスト4
04−1,404−2、送信待ちリスト405−1,4
05−2、リセット制御部406、入力制御部407、
出力制御部408、状態変数保存部409、状態変数一
時保存部410および送信候補411−1〜411−m
を有している。
【0163】パケット振り分け部401の構成および動
作は図1のパケット振り分け部101と同じである。待
ち行列402−1〜402−nの構成および動作は、図
1の待ち行列101−1〜101−nと同じである。パ
ケット出力部403の構成及び動作は、図1のパケット
出力部103と同じである。
【0164】本実施形態では、送信可能リスト404−
1,404−2、送信待ちリスト405−1,405−
2の他に、送信候補411−1〜411−mが設けられ
ている。送信候補411−1〜411−mは、送信可能
リスト及び送信待ちリストとは別に一部の待ち行列を送
信準備中の待ち行列として管理する。
【0165】送信候補411−1〜411−mは、状態
変数が一時保存部410に保存されている待ち行列の番
号をそれぞれ1つづつ格納する。したがって、送信候補
の数mと、状態変数一時保存部410が保存できる状態
変数の数は同じである。パケットを送出する待ち行列
は、この送信候補411−1〜411−mに番号が格納
された、パケットを送信可能な待ち行列の中から巡回的
に選択される。いずれかの送信候補からパケットが送出
され、空きが生じると、いずれかの送信可能リスト40
4−1,404−2に番号が格納されていた待ち行列
が、新たに送信候補に格納されることとなり、それに伴
って、その待ち行列の状態変数が状態変数保存部409
から状態変数一時保存部410に移される。送信候補4
11−1〜411−mに番号が格納される待ち行列は、
通常、パケットを送信可能な待ち行列である。しかし、
パケットを送信可能な待ち行列の数が送信候補数mより
少ないときには、送信待ちの待ち行列の番号が送信候補
に格納される。
【0166】したがって、送信可能リスト404−1,
404−2および送信待ちリスト405−1,405−
2の構成および動作は、図1の送信可能リスト104−
1,104−2および送信待ちリスト105−1,10
5−2とほぼ同様であるが、出力制御部408へ直接に
待ち行列番号を送らず、送信候補411−1〜411−
mに一旦格納する点で図1のものと異なる。
【0167】状態変数保存部409、状態変数一時保存
部410の構成及び動作は図1のものと同様であるが、
待ち行列番号が送信候補411−1〜411−mに格納
された待ち行列の状態変数が状態変数一時保存部410
に格納される点で異なる。
【0168】入力制御部407の構成および動作は、図
1のものとほぼ同様である。しかし、送信可能リスト4
04−1,404−2または送信待ちリスト405−
1,405−2に待ち行列番号を追加するとき、送信候
補に空きがあれば、入力制御部407は、その待ち行列
番号を送信候補に格納する。
【0169】出力制御部408は、送信候補411−1
〜411−mに番号が格納されている待ち行列のうち、
送信可能な待ち行列から巡回的にパケットを送出するよ
うにパケット出力部403に指示する。また、ある待ち
行列のパケットの送出をパケット出力部403に指示し
た後、出力制御部408は、その待ち行列の状態等によ
り、その待ち行列の番号を送信可能リスト404−1,
404−2、送信待ちリスト405−1,405−2に
追加するか、あるいは送信候補411−1〜411−m
に残す。
【0170】図11は、図10のノード装置400のパ
ケット受信動作を示すフローチャートである。
【0171】図11を参照すると、パケット振り分け部
401は、ステップS701に、回線L1からパケット
を受信すると、そのパケットを格納すべき待ち行列を決
定する。ステップS702に、パケット振り分け部40
1は、その決定に従ってパケットをいずれかの待ち行列
に格納する。
【0172】次に、入力制御部407は、ステップS7
03に、受信パケットが格納される待ち行列に他のパケ
ットが格納されているか否か判定する。受信パケットが
格納される待ち行列に他のパケットが格納されていれ
ば、ノード装置400はパケット受信動作を終了する。
【0173】受信パケットを格納する待ち行列に他のパ
ケットが格納されていなければ、入力制御部407は、
ステップS704に、その待ち行列のカウンタとリセッ
ト状態を状態変数保存部409または状態変数一時保存
部410より読出す。
【0174】ステップS705に、入力制御部407
は、送信候補411−1〜411−mのすくなくとも1
つが空きであるか否か判定する。空きがなければ、ステ
ップS706に、入力制御部407は、その待ち行列の
カウンタがリセット実施済で、かつカウンタの値がゼロ
以下であるか否か判定する。
【0175】その待ち行列のカウンタがリセット済で、
かつカウンタの値がゼロ以下であれば、入力制御部40
7は、ステップS707に、その待ち行列番号をいずれ
かの送信待ちリスト505−1,505−2に追加し、
ノード装置400はパケット受信動作を終了する。
【0176】また、その待ち行列のカウンタの値が1以
上であるか、または、その待ち行列がリセット未実施の
状態であれば、ステップS708に、入力制御部407
は、送信候補411−1〜411−mに送信待ちの状態
の待ち行列があるか否か判定する。
【0177】送信候補411−1〜411−mに送信待
ちの状態の待ち行列があれば、ステップS710に、入
力制御部407は、その送信候補に格納されている待ち
行列番号をいずれかの送信待ちリスト505−1,50
5−2に移す。
【0178】送信候補411−1〜411−mに送信待
ちの状態の待ち行列がなければ、ステップS709に、
入力制御部407は待ち行列番号をいずれかの送信可能
リスト404−1,404−2に追加し、ノード装置4
00はパケット受信動作を終了する。
【0179】ステップS705の判定で送信候補に空き
があるとき、またはステップS710の処理の後、ステ
ップS711に、入力制御部407は、待ち行列番号を
空いている送信候補に格納する。そして、ステップS7
12に、入力制御部407は、その番号の待ち行列の状
態変数を状態変数保存部409から状態変数一時保存部
410に移し、ノード装置400はパケット受信動作を
終了する。
【0180】図12は、図10のノード装置400のパ
ケット送出動作を示すフローチャートである。
【0181】図12を参照すると、まず、出力制御部4
08は、ステップS801に、送信候補411−1〜4
11−mの全てが空であるか否か判定する。全ての送信
候補411−1〜411−mが空であれば、ノード装置
400はそのままパケット送出動作を終了する。
【0182】送信候補411−1〜411−mのうち少
なくとも1つが空でなければ、出力制御部408は、ス
テップ802にて、パケットを送信可能な待ち行列が送
信候補にあるか否か判定する。
【0183】パケットを送信可能な待ち行列が送信候補
になければ、ステップS803に、出力制御部408
は、全ての待ち行列をリセットするように、リセット制
御部409に指示する。そして、ステップS804に、
リセット制御部406は、全ての送信待ちリストの内容
を、それぞれに対応する送信可能リストに移す。
【0184】ステップS802の判定でパケットを送信
可能な待ち行列が送信候補にあったとき、またはステッ
プS804の処理の後、出力制御部408は、各送信候
補にある、パケットを送信可能な待ち行列のパケットを
送出するように、パケット出力部403に指示する。パ
ケット出力部403は、出力制御部408から指示され
た待ち行列の先頭のパケットを送出する。
【0185】そして、ステップS807に、出力制御部
408は、パケット出力部403にパケットの送出を指
示した待ち行列のカウンタおよびウエイトの値とリセッ
ト状態を状態変数一時保存部410から読み出す。
【0186】次に、出力制御部408は、ステップS8
08に、その待ち行列がリセット未実施の状態か否か判
定する。
【0187】その待ち行列がリセット未実施であれば、
出力制御部406は、ステップS809に、カウンタを
リセットしてリセット状態をリセット実施済にする。
【0188】ステップS810にて、出力制御部408
は、ステップS806で送出されたパケットの長さ分だ
けカウンタから減算し、ステップS811に、カウンタ
およびウエイトの値とリセット状態を状態変数一時保存
部810に戻す。
【0189】そして、ステップS812に、出力制御部
408は、その待ち行列にパケットが残っており、かつ
送信可能リスト404−1,404−2の双方が空であ
るか否か判定する。その待ち行列にパケットが残ってお
らず、かつ送信可能リスト404−1,404−2の双
方が空であれば、ノード装置400はパケット送出動作
を終了する。
【0190】その待ち行列にパケットが残っていない
か、または送信可能リスト404−1,404−2の少
なくとも一方が空でなければ、ステップS813に、出
力制御部408は、その待ち行列の状態変数を状態変数
一時保存部410から状態変数保存部409に戻す。そ
して、ステップS814に、出力制御部408は、その
待ち行列を送信候補から削除する。
【0191】ステップS815に、出力制御部408
は、その待ち行列にパケットが残っているか否か判定す
る。その待ち行列にパケットが残っていれば、ステップ
S816に、出力制御部408は、その待ち行列のカウ
ンタの値がゼロ以下であるか否か判定する。
【0192】カウンタがゼロ以下であれば、出力制御部
408は、その待ち行列番号を送信待ちリストのいずれ
かに追加する。カウンタが1以上であれば、その待ち行
列番号を送信可能リストに追加する。
【0193】ステップS815の判定でその待ち行列内
にパケットが残っていなかったとき、あるいはステップ
S817またはステップS818の処理の後、ステップ
S819に、出力制御部408は、送信可能リストの双
方が空であるか否か判定する。少なくとも一方の送信可
能リストが空でなければ、出力制御部408は、ステッ
プS820に、いずれかの送信可能リストの先頭から待
ち行列番号を取り出し、送信候補のいずれかに格納す
る。
【0194】また、あ送信可能リストの双方が空であれ
ば、出力制御部408は、ステップS821に、いずれ
かの送信候補リストの先頭から待ち行列番号を取り出
し、送信候補のいずれかに格納する。
【0195】ステップS820またはステップS821
の処理の後、出力制御部408は、ステップS822
に、新たに送信候補に格納された待ち行列の状態変数を
状態変数保存部409から状態変数一時保存部410に
移し、ノード装置400はパケット送出動作を終了す
る。
【0196】したがって、ノード装置400は、送信候
補411−1〜411−mのいずれかからパケットを送
出し、それでもまだその待ち行列がパケットを送信可能
なとき、送信可能リスト404−1,404−2の双方
が空であれば、その待ち行列を送信候補に直接戻すこと
ができる。また、ノード装置400は、送信可能リスト
404−1,404−2の少なくともいずれか一方が空
でなければ、その待ち行列を送信候補に直接戻すことが
できないので、いずれかの送信可能リストに戻し、それ
に伴って、状態変数も状態変数保存部409に戻され
る。
【0197】本発明のさらに他の実施形態について図面
を参照して説明する。
【0198】本実施形態のノード装置の構成およびパケ
ット受信動作は図10のものと同じであり、パケット送
出動作における送信候補の入れ替え方法のみが異なる。
【0199】図13は、本実施形態のノード装置におけ
るパケット送出動作を示すフローチャートである。
【0200】図13を参照すると、まず、出力制御部4
08は、ステップS901に、送信候補411−1〜4
11−mの全てが空であるか否か判定する。全ての送信
候補411−1〜411−mが空であれば、ノード装置
400はそのままパケット送出動作を終了する。
【0201】送信候補411−1〜411−mのうち少
なくとも1つが空でなければ、出力制御部408は、ス
テップS902にて、パケットを送信可能な待ち行列が
送信候補にあるか否か判定する。
【0202】パケットを送信可能な待ち行列が送信候補
になければ、ステップS903に、出力制御部408
は、全ての待ち行列をリセットするように、リセット制
御部409に指示する。そして、ステップS904に、
リセット制御部406は、全ての送信待ちリストの内容
を、それぞれに対応する送信可能リストに移す。
【0203】ステップS902の判定でパケットを送信
可能な待ち行列が送信候補にあったとき、またはステッ
プS904の処理の後、出力制御部408は、各送信候
補にある、パケットを送信可能な待ち行列のパケットを
送出するように、パケット出力部403に指示する。パ
ケット出力部403は、出力制御部408から指示され
た待ち行列の先頭のパケットを送出する。
【0204】そして、ステップS907に、出力制御部
408は、パケット出力部403にパケットの送出を指
示した待ち行列のカウンタおよびウエイトの値とリセッ
ト状態を状態変数一時保存部410から読出す。
【0205】次に、出力制御部408は、ステップS9
08に、その待ち行列がリセット未実施の状態か否か判
定する。
【0206】その待ち行列がリセット未実施であれば、
出力制御部408は、ステップS909に、カウンタを
リセットしてリセット状態をリセット実施済にする。
【0207】ステップS910にて、出力制御部408
は、ステップS906で送出されたパケットの長さ分だ
けカウンタから減算し、ステップS911に、カウンタ
およびウエイトの値とリセット状態を状態変数一時保存
部410に戻す。
【0208】ここまでは図12におけるステップS80
1からステップS811までと同じ処理である。
【0209】ステップS911にて、出力制御部408
は、カウンタおよびウエイトの値とリセット状態を状態
変数一時保存部410に書き戻す。そして、出力制御部
408は、ステップS912に、パケットが格納されて
いない待ち行列の番号が送信候補411−1〜411−
mに格納されているか否か判定する。
【0210】パケットが格納されていない待ち行列の番
号が送信候補411−1〜411−mに格納されていな
ければ、ステップS913に、出力制御部408は、送
信候補411−1〜411−mに、カウンタがゼロ以下
の待ち行列の番号が格納されているか否か判定する。カ
ウンタがゼロ以下の待ち行列の番号が格納されている送
信候補がなければ、ステップS914に、出力制御部4
08は、送信候補の中からmin(カウンタ値,待ち行
列長)が最小の待ち行列を選択する。なお、min
(A,B)は、AとBのうちの最小値を求める関数であ
る。
【0211】ステップS915に、出力制御部408
は、その待ち行列の状態変数を状態変数一時保存部41
0から状態変数保存部409へ移す。そして、出力制御
部408は、ステップS916に、その待ち行列の番号
を送信候補から取り除き、ステップS917に、その待
ち行列の番号をいずれかの送信可能リスト404−1,
404−2に追加する。
【0212】ステップS913の判定で、カウンタがゼ
ロ以下の待ち行列の番号が格納されている送信候補があ
れば、出力制御部408は、ステップS918に、カウ
ンタ値がゼロ以下であり、min(ウエイト値,待ち行
列長)が最小の待ち行列を送信候補の中から選択する。
【0213】ステップS919に、出力制御部408
は、その待ち行列の状態変数を状態変数一時保存部41
0から状態変数保存部409へ移す。そして、出力制御
部408は、ステップS420に、その待ち行列の番号
を送信候補から取り除き、ステップS421に、その待
ち行列の番号をいずれかの送信待ちリスト405−1,
405−2に追加する。
【0214】ステップS912の判定で、パケットが格
納されていない待ち行列の番号が送信候補411−1〜
411−mに格納されていれば、ステップS922に、
出力制御部408は、その待ち行列を送信候補の中から
選択する。そして、出力制御部408は、ステップS9
23に、その待ち行列の状態変数を状態変数一時保存部
410から状態変数保存部409に移し、ステップS9
24に、その待ち行列を送信候補から取り除く。
【0215】ステップS917、ステップS921また
はステップS924の処理の後、出力制御部408は、
ステップS925に、送信可能リスト404−1,40
4−2の双方が空であるか否か判定する。
【0216】少なくとも一方の送信可能リスト404−
1,404−2が空でなければ、ステップS925に、
出力制御部408は、いずれかの送信可能リストの先頭
から待ち行列番号を取り出して送信候補に格納する。ス
テップS926に、出力制御部408は、新たに送信候
補に格納された番号の待ち行列の状態変数を状態変数保
存部409から状態変数一時保存部410へ移し、ノー
ド装置400はパケット送出動作を終了する。
【0217】ステップS925の判定で、双方の送信可
能リスト404−1,404−2が空であれば、ステッ
プS927に、出力制御部408は、いずれかの送信待
ちリストの先頭から待ち行列番号を取り出して送信候補
に格納し、ステップS928の処理に移る。
【0218】
【発明の効果】本発明のノード装置は、リスト手段の先
頭付近の待ち行列の状態変数を状態変数保存手段から、
それよりデータ量の小さい状態変数一時保存手段に先読
みしているので、パケットを送出するときに、状態変数
に関する処理を高速で行うことができ、超高速回線に適
用可能である。
【0219】また、本発明のノード装置は、待ち行列の
状態変数を状態変数保存手段から状態変数一時保存手段
に常時先読みしている状態となるので、パケットを送出
するときに、状態変数に関する処理を高速で行うことが
でき、超高速回線に適用可能である。
【0220】また、本発明のノード装置は、リスト手段
が複数のリストに分離されているので、各リストのデー
タがポインタで連結された構造であっても、待ち行列番
号をポインタの読み出し時間より短い間隔で読出すこと
が可能であり、超高速回線に適用可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態のノード装置の構成を示す
ブロック図である。
【図2】図1のノード装置におけるパケット受信動作を
示すフローチャートである。
【図3】図1のノード装置におけるパケット送出動作を
示すフローチャートである。
【図4】本発明の他の実施形態のノード装置の構成を示
すブロック図である。
【図5】図4のノード装置におけるパケット受信動作を
示すフローチャートである。
【図6】図4のノード装置におけるパケット送出動作を
示すフローチャートである。
【図7】本発明のさらに他の実施形態のノード装置の構
成を示すブロック図である。
【図8】図7のノード装置のパケット受信動作を示すフ
ローチャートである。
【図9】図7のノード装置におけるパケット送出動作を
示すブロック図である。
【図10】本発明のさらに他の実施形態のノード装置の
構成を示すブロック図である。
【図11】図10のノード装置のパケット受信動作を示
すフローチャートである。
【図12】図10のノード装置のパケット送出動作を示
すフローチャートである。
【図13】図10のノード装置の他のパケット送出動作
を示すフローチャートである。
【図14】従来技術における一般的なリストの構造を示
す図である。
【図15】従来技術における、他のリストの構造を示す
図である。
【符号の説明】
100,200,300,400 ノード装置 101,201,301,401 パケット振り分け
部 102−1〜102−n,202−1〜202−n,3
02−1〜302−n,402−1〜402−n 待
ち行列 103,203,303,403 パケット出力部 104−1,104−2,204−1,204−2,3
04−1,304−2,404−1,404−2 送
信可能リスト 105−1,105−2,405−1,405−2
送信待ちリスト 106,406 リセット制御部 107,207,307,407 入力制御部 108,208,308,408 出力制御部 109,209,309,409 状態変数保存部 110,210,310,410 状態変数一時保存
部 311 カレンダ 411−1〜411−m 送信候補 L1,L2 回線 S101〜S109,S201〜S219,S301〜
S306,S401〜S417,S501〜S511,
S601〜S616,S701〜S712,S801〜
S822,S901〜S928 ステップ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 受信されたパケットを複数の待ち行列の
    いずれかに格納し、前記各待ち行列がパケットを送信可
    能な状態であるか否かを、前記待ち行列毎の状態変数に
    より判断し、パケットを送信可能な状態の前記待ち行列
    から前記パケットを送出するノード装置であって、 パケットを送信可能な状態の待ち行列の番号が書き込ま
    れ、該番号の書き込まれた順序を管理するリスト手段
    と、 全ての待ち行列に関する状態変数を保存する状態変数保
    存手段と、 前記リストの先頭から所定範囲内に番号のある待ち行列
    に関する状態変数だけを一時的に保存する、前記状態変
    数保存手段よりもデータ量の少ない状態変数一時保存手
    段と、 前記リスト手段の先頭から取り出された番号の待ち行列
    からパケットを送出し、前記状態変数一時保存手段にあ
    る該待ち行列の状態変数を更新する制御手段を有するノ
    ード装置。
  2. 【請求項2】 前記制御手段は、前記リスト手段の先頭
    から取り出された待ち行列からパケットを送出するとき
    に更新した前記状態変数から、該待ち行列がまだパケッ
    トを送信可能な状態であれば前記リスト手段に該待ち行
    列の番号を追加し、 前記状態変数一時保存手段は、前記制御手段が前記リス
    ト手段から番号を取り出したとき、前記リスト手段の先
    頭から前記所定範囲となった待ち行列に関する状態変数
    を新たに保存し、また、前記リスト手段に待ち行列の番
    号が追加されたとき、前記リスト手段内の番号の数が前
    記所定範囲内であれば、該待ち行列に関する状態変数を
    保存する、請求項1記載のノード装置。
  3. 【請求項3】 受信されたパケットを複数の待ち行列の
    いずれかに格納し、前記各待ち行列がパケットを送信可
    能な状態であるか否かを、前記待ち行列毎の状態変数に
    より判断し、パケットを送信可能な状態の前記待ち行列
    から前記パケットを送出するノード装置であって、 パケットを送信可能な状態の待ち行列の番号が書き込ま
    れ、該番号の書き込まれた順序を管理するリスト手段
    と、 全ての待ち行列に関する状態変数を保存する状態変数保
    存手段と、 所定数以下の待ち行列に関する状態変数を一時的に保存
    する、前記状態変数保存手段よりもデータ量の少ない状
    態変数一時保存手段と、 前記状態変数一時保存手段に状態変数が保存されている
    各待ち行列の番号を、前記リスト手段の代わりに保持す
    る少なくとも1つの送信候補手段と、 前記送信候補手段に保持されている番号の待ち行列のう
    ち、パケットを送信可能なものからパケットを送出し、
    前記状態変数一時保存手段にある該待ち行列の状態変数
    を更新する制御手段を有するノード装置。
  4. 【請求項4】 前記状態変数一時保存手段は、該状態変
    数一時保存手段に空きが生じると、前記リスト手段の先
    頭にある番号の待ち行列に関する状態変数を新たに保存
    し、また、新たに、パケットを送信可能な状態となった
    待ち行列があるときに前記状態変数一時保存手段に空き
    があれば、該待ち行列に関する状態変数を新たに保存
    し、 前記制御手段は、いずれかの待ち行列からパケットを送
    出したときに更新した状態変数から、該待ち行列がまだ
    パケットを送信可能な状態の場合、前記リスト手段が空
    ならば、該状態変数を前記状態変数一時保存手段に戻
    し、前記リスト手段が空でなければ、該状態変数を前記
    状態変数保存手段へ戻す、請求項5記載のノード装置。
  5. 【請求項5】 前記パケットは、その属性に応じて、い
    ずれかの待ち行列に格納され、 前記状態変数は、前記属性と関連付けて各待ち行列に付
    与されたウエイトあるいは帯域と、該待ち行列から送出
    されたパケットとから算出される、該待ち行列から送出
    可能なパケット数、あるいは該待ち行列からパケットと
    して送出可能なデータ量である、請求項1〜4のいぞれ
    か1項に記載されたノード装置。
  6. 【請求項6】 前記待ち行列は、少なくとも1つのパケ
    ットを格納しており、前記状態変数によりパケットの送
    出が許容されているとき、パケットを送出可能な状態で
    ある、請求項5記載のノード装置。
  7. 【請求項7】 前記リスト手段が複数のリストからな
    る、請求項1〜6のいずれか1項に記載のノード装置。
  8. 【請求項8】 前記リスト手段内の複数のリストが巡回
    的に選択される、請求項7記載のノード装置。
  9. 【請求項9】 前記リスト手段内の複数のリストが、番
    号が書き込まれるときには格納されている待ち行列の数
    の少ないものが選択され、番号が取り出されるときには
    格納されている待ち行列の数の多いものが選択される、
    請求項7記載のノード装置。
  10. 【請求項10】 待ち行列の番号が、該待ち行列に割り
    当てられた帯域から判断されたパケットを送出すべき時
    刻毎に、記録されるカレンダ手段をさらに有し、 前記制御手段が、前記カレンダ手段において現在の時刻
    にパケットを送出すべきとされる待ち行列の番号を該カ
    レンダ手段から前記リスト手段に移す、請求項1〜9の
    いずれか1項に記載のノード装置。
  11. 【請求項11】 受信されたパケットを複数の待ち行列
    のいずれかに格納し、前記各待ち行列がパケットを送信
    可能な状態であるか否かを、前記待ち行列毎の状態変数
    により判断し、パケットを送信可能な状態の前記待ち行
    列から前記パケットを送出するノード装置であって、 パケットを送信可能な状態の待ち行列の番号が書き込ま
    れ、該番号の書き込まれた順序を管理する第1のリスト
    手段と、 送信待ちの状態の待ち行列の番号が書き込まれ、該番号
    の書き込まれた順序を管理する第2のリスト手段と、 全ての待ち行列に関する状態変数を保存する状態変数保
    存手段と、 前記第1のリストの先頭から所定範囲内に番号のある待
    ち行列に関する状態変数を一時的に保存し、さらに、前
    記第1のリストに前記所定範囲を満たす待ち行列の番号
    がないとき、足りない分を前記第2のリストの先頭から
    とって一時的に保存する、前記状態変数保存手段よりも
    データ量の少ない状態変数一時保存手段と、 前記リストの先頭から取り出された番号の待ち行列から
    パケットを送出し、前記状態変数一時保存手段にある該
    待ち行列の状態変数を更新する制御手段を有するノード
    装置。
  12. 【請求項12】 前記制御手段は、前記リスト手段の先
    頭から取り出された待ち行列からパケットを送出すると
    きに更新した前記状態変数から、該待ち行列がまだパケ
    ットを送信可能な状態であれば前記第1のリスト手段に
    該待ち行列の番号を追加し、該待ち行列が送信待ちの状
    態であれば前記第2のリスト手段に該待ち行列の番号を
    追加し、 前記状態変数一時保存手段は、前記制御手段が前記第1
    のリスト手段から番号を取り出したとき、前記第1のリ
    スト手段の先頭から前記所定範囲となった待ち行列に関
    する状態変数を新たに保存し、また、前記第1のリスト
    手段に待ち行列の番号が追加されたとき、前記第1のリ
    スト手段内の番号の数が前記所定範囲内であれば、該待
    ち行列に関する状態変数を保存し、また、前記第2のリ
    スト手段に待ち行列の番号が追加されたとき、前記第1
    のリスト手段内の番号数と前記第2のリスト手段内の番
    号の数との和が前記所定範囲内であれば、該待ち行列に
    関する状態変数を保存する、請求項3記載のノード装
    置。
  13. 【請求項13】 受信されたパケットを複数の待ち行列
    のいずれかに格納し、前記書く待ち行列がパケットを送
    信可能な状態であるか否かを、前記待ち行列毎の状態変
    数により判断し、パケットを送信可能な状態の前記待ち
    行列から前記パケットを送出するノード装置であって、 パケットを送信可能な状態の待ち行列の番号が書き込ま
    れ、該番号の書き込まれた順番を管理する第1のリスト
    手段と、 送信待ちの状態の待ち行列の番号が書き込まれ、該番号
    の書き込まれた順序を管理する第2のリスト手段と、 全ての待ち行列に関する状態変数を保存する状態変数保
    存手段と、 所定数以下の待ち行列に関する状態変数を一時的に保存
    する、前記状態変数保存手段よりもデータ量の少ない状
    態変数一時保存手段と、 前記状態変数一時保存手段に状態変数が保存されている
    各待ち行列の番号を、前記第1または第2のリスト手段
    の代わりに保持する少なくとも1つの送信候補手段と、 前記送信候補手段に保持されている番号の待ち行列のう
    ち、パケットを送信可能なものからパケットを送信し、
    前記状態変数一時保存手段にある該待ち行列の状態変数
    を更新する制御手段を有するノード装置。
  14. 【請求項14】 状態変数一時保存手段は、該状態変数
    一時保存手段に空きが生じると、前記第1のリスト手段
    の先頭にある番号の待ち行列に関する状態変数を新たに
    保存し、前記第1のリスト手段が空ならば、前記第2の
    リスト手段の先頭にある番号の待ち行列に関する状態変
    数を新たに保存し、また、新たに、パケットを送信可能
    な状態あるいは送信待ちの状態となった待ち行列がある
    ときに前記状態変数一時保存手段に空きがあれば、該待
    ち行列に関する状態変数を新たに保存し、 前記制御手段は、いずれかの待ち行列からパケットを送
    出したときに更新した状態変数から、該待ち行列がパケ
    ットを送信可能な状態の場合、前記第1のリスト手段が
    空ならば、該状態変数を前記状態変数一時保存手段に戻
    し、前記第1のリスト手段が空でなければ、該状態変数
    を前記状態変数保存手段へ戻し、また、いずれかの待ち
    行列からパケットを送出したときに更新した状態変数か
    ら、該待ち行列が送信待ちの状態の場合、前記第1およ
    び第2のリスト手段が空ならば、該状態変数を前記状態
    変数一時保存手段へ戻し、前記第1または第2のリスト
    手段が空でなければ、該状態変数を前記状態変数保存手
    段へ戻す、請求項7記載のノード装置。
  15. 【請求項15】 前記パケットは、その属性に応じて、
    いずれかの待ち行列に格納され、 前記状態変数は、前記属性と関連付けて各待ち行列に付
    与されたウエイトあるいは帯域と、該待ち行列から送出
    されたパケットとから算出される、該待ち行列から送出
    可能なパケット数、あるいは該待ち行列からパケットと
    して送出可能なデータ量である、請求項11〜14のい
    ぞれか1項に記載のノード装置。
  16. 【請求項16】 前記待ち行列は、少なくとも1つのパ
    ケットを格納しており、前記状態変数によりパケットの
    送出が許容されているとき、パケットを送出可能な状態
    である、請求項15記載のノード装置。
  17. 【請求項17】 前記待ち行列は、少なくとも1つのパ
    ケットを格納しているが、前記状態変数からパケットを
    送信可能でないとき、送信待ちの状態である、請求項1
    5または16に記載のノード装置。
  18. 【請求項18】 前記第1および第2のリスト手段が、
    それぞれ複数のリストからなる、請求項11〜17のい
    ずれか1項に記載のノード装置。
  19. 【請求項19】 前記第1および第2のリスト手段内の
    複数のリストは、それぞれ巡回的に選択される、請求項
    18記載のノード装置。
  20. 【請求項20】 前記第1および第2のリスト手段内の
    複数のリストは、それぞれ、番号が書き込まれるときに
    は格納されている待ち行列の数の少ないものが選択さ
    れ、番号が取り出されるときには格納されている待ち行
    列の数の多いものが選択される、請求項18記載のノー
    ド装置。
JP2002000479A 2002-01-07 2002-01-07 ノード装置 Expired - Fee Related JP3753070B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002000479A JP3753070B2 (ja) 2002-01-07 2002-01-07 ノード装置
CA 2415188 CA2415188C (en) 2002-01-07 2002-12-27 Node apparatus and packet transmission control method
US10/330,500 US7310346B2 (en) 2002-01-07 2002-12-30 Node apparatus and packet transmission control method
CNB031009557A CN1254058C (zh) 2002-01-07 2003-01-07 节点装置和分组传输控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002000479A JP3753070B2 (ja) 2002-01-07 2002-01-07 ノード装置

Publications (2)

Publication Number Publication Date
JP2003204352A true JP2003204352A (ja) 2003-07-18
JP3753070B2 JP3753070B2 (ja) 2006-03-08

Family

ID=19190498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002000479A Expired - Fee Related JP3753070B2 (ja) 2002-01-07 2002-01-07 ノード装置

Country Status (4)

Country Link
US (1) US7310346B2 (ja)
JP (1) JP3753070B2 (ja)
CN (1) CN1254058C (ja)
CA (1) CA2415188C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290385A (ja) * 2008-05-28 2009-12-10 Nec Corp パケット通信装置及びそれに用いる帯域制御方法並びにそのプログラム
CN109271347A (zh) * 2018-09-04 2019-01-25 郑州云海信息技术有限公司 一种分布式文件系统存储单元的启动方法、装置及设备

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369489B1 (en) * 2002-03-12 2008-05-06 Cisco Technology, Inc. Unbiased token bucket
JP4394988B2 (ja) * 2004-03-19 2010-01-06 富士通株式会社 パケット読出し制御方法及び装置
US7889645B2 (en) * 2004-06-17 2011-02-15 Qualcomm Incorporated Hybrid coordination function implementation
CN100345404C (zh) * 2004-06-28 2007-10-24 华为技术有限公司 一种利用局部状态机来保障接口消息发送时序的方法
US20060203824A1 (en) * 2005-02-18 2006-09-14 Song-Huo Yu Passing values through a memory management unit of a network device
KR100656473B1 (ko) * 2005-11-09 2006-12-11 삼성전자주식회사 Lan 인터페이스를 구비한 교환망 시스템과 그시스템에서의 과부하 제어방법
US8923124B1 (en) * 2006-01-31 2014-12-30 Juniper Networks, Inc. Data unit counter
KR100809424B1 (ko) * 2006-09-29 2008-03-07 한국전자통신연구원 광가입자망을 위한 동적 대역폭 할당 장치 및 그 방법
GB2452913B (en) * 2007-09-18 2011-06-15 Virtensys Ltd Queuing method
KR100950337B1 (ko) * 2007-11-27 2010-03-31 한국전자통신연구원 Tdma 기반 수동 광가입자망을 위한 효율적인 동적대역폭 할당 장치 및 방법
JP5682391B2 (ja) * 2011-03-22 2015-03-11 富士通株式会社 データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
US8903925B2 (en) * 2012-05-14 2014-12-02 Microsoft Corporation Scheduled messages in a scalable messaging system
US9565032B2 (en) * 2014-12-03 2017-02-07 Qualcomm Incorporated Monitoring and controlling bus ring performance
CN104407820B (zh) * 2014-12-12 2016-08-17 华为技术有限公司 基于固态硬盘存储系统的数据处理方法、装置以及系统
US10862617B2 (en) * 2017-05-30 2020-12-08 Marvell Asia Pte, Ltd. Flowlet scheduler for multicore network processors
CN110764745B (zh) * 2019-09-16 2024-02-02 平安科技(深圳)有限公司 变量的传输和收集方法、装置及计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6452933B1 (en) * 1997-02-07 2002-09-17 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
JP3285514B2 (ja) 1997-06-12 2002-05-27 松下電器産業株式会社 利得制御装置
JP3216582B2 (ja) 1997-07-18 2001-10-09 日本電気株式会社 データ出力制御方法
JP3063726B2 (ja) * 1998-03-06 2000-07-12 日本電気株式会社 トラヒックシェーパ
JP2000183959A (ja) 1998-12-11 2000-06-30 Nec Corp スケジューリング管理装置
JP3485037B2 (ja) 1999-08-11 2004-01-13 日本電気株式会社 スケジューリング処理回路及びそのスケジューリング処理方法
ATE362684T1 (de) * 2000-03-02 2007-06-15 Alcatel Lucent Gekennzeichneter prioritätswarteschlangescheduler
DE60008265T2 (de) * 2000-12-28 2004-07-22 Alcatel Methode zur Bandbreitenzuteilung für Netzwerkendgeräte in einem Kommunikationsnetzwerk mit einen Medienzugriffssteuerungsgerät zur Ausführung dieser Methode
JP4489308B2 (ja) * 2001-01-05 2010-06-23 富士通株式会社 パケットスイッチ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290385A (ja) * 2008-05-28 2009-12-10 Nec Corp パケット通信装置及びそれに用いる帯域制御方法並びにそのプログラム
CN109271347A (zh) * 2018-09-04 2019-01-25 郑州云海信息技术有限公司 一种分布式文件系统存储单元的启动方法、装置及设备

Also Published As

Publication number Publication date
US7310346B2 (en) 2007-12-18
CN1254058C (zh) 2006-04-26
CN1431803A (zh) 2003-07-23
JP3753070B2 (ja) 2006-03-08
US20030133466A1 (en) 2003-07-17
CA2415188C (en) 2007-09-11
CA2415188A1 (en) 2003-07-07

Similar Documents

Publication Publication Date Title
JP2003204352A (ja) ノード装置
EP1264430B1 (en) Non-consecutive data readout scheduler
US9077466B2 (en) Methods and apparatus for transmission of groups of cells via a switch fabric
SE515178C2 (sv) Förfaranden och anordningar för prioritering vid bufferthantering i paketnät
JP2001230810A (ja) パケット流量制御装置および方法
JP5967222B2 (ja) パケット処理装置、フローエントリの配置方法及びプログラム
EP1491011B1 (en) Packet scheduling mechanism
CN105721316B (zh) 一种下发流表的方法及装置
US6621825B1 (en) Method and apparatus for per connection queuing of multicast transmissions
US7269158B2 (en) Method of operating a crossbar switch
JP5251716B2 (ja) パケット中継装置
JP2795257B2 (ja) トラフィックシェーパのセル出力競合制御方式
Wang et al. Efficient designs of optical LIFO buffer with switches and fiber delay lines
JP3053690B2 (ja) 優先呼と非優先呼が混在される呼収容方式
JP2005045626A (ja) データ転送システム及びそれに用いるマルチキャスト転送方法
JPH11261584A (ja) 共通バッファメモリ制御装置
US20020107974A1 (en) Data traffic manager
KR100481623B1 (ko) 이기종 프로토콜간 큐.오.에스를 보장하는 홈 게이트웨이스위치 구조
EP1032241A2 (en) Method and system for switching using an arbitrator
US9143453B2 (en) Relay apparatus and buffer control method
CN114726804B (zh) 周期性数据包的数据调度方法、设备及介质
KR100333475B1 (ko) 고속 패킷 노드를 위한 속도 비례 자가 클럭 공정 패킷스케쥴링 장치 및 그 스케쥴링 방법
JP2005244290A (ja) 優先パケットの遅延を最小化するシェーピング装置
CN109639581B (zh) 交换芯片的表项维护方法和装置
JP5633927B2 (ja) フレーム転送装置、フレーム転送方法、及び、フレーム転送プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees