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
JP3573095B2 - パケットスイッチ回路 - Google Patents
[go: Go Back, main page]

JP3573095B2 - パケットスイッチ回路 - Google Patents

パケットスイッチ回路 Download PDF

Info

Publication number
JP3573095B2
JP3573095B2 JP2001061044A JP2001061044A JP3573095B2 JP 3573095 B2 JP3573095 B2 JP 3573095B2 JP 2001061044 A JP2001061044 A JP 2001061044A JP 2001061044 A JP2001061044 A JP 2001061044A JP 3573095 B2 JP3573095 B2 JP 3573095B2
Authority
JP
Japan
Prior art keywords
data
packet
output
input
packets
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
JP2001061044A
Other languages
English (en)
Other versions
JP2002261797A (ja
Inventor
博行 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001061044A priority Critical patent/JP3573095B2/ja
Publication of JP2002261797A publication Critical patent/JP2002261797A/ja
Application granted granted Critical
Publication of JP3573095B2 publication Critical patent/JP3573095B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパケット通信網に使用されるパケットスイッチ回路に係わり、特に可変長パケットのスイッチングを行うパケットスイッチ回路に関する。
【0002】
【従来の技術】
近年、パケット通信網は、マルチメディア・サービスの普及等の要因によりデータ通信量が急増している。特にデータ通信量が大きな基幹回線網等に接続されるルータでは、多数のパケットのスイッチングを行うことになり、取り扱うデータ量が大きくなる。これに伴い、パケットスイッチ回路のスイッチ容量、すなわち単位時間当たりの処理できるデータ量の大容量化が要求されている。ところが、パケットスイッチ回路に入力されるパケットが可変長パケットの場合、固定長パケットに比べてスイッチングの処理が複雑になり、スイッチ容量の大容量化を困難にしている。このため、従来から可変長パケットのスイッチングについてさまざまな工夫が行われている。
【0003】
図11は、従来提案された可変長パケットのスイッチングを実現するパケットスイッチ回路の構成を表わしたものである。特開平5−227211号公報で開示されたこのパケットスイッチ回路11は、図示しない入力ポートと出力ポートの間にパスを設定してパケットを転送するスイッチ部12と、この設定を制御するためのスイッチ制御部13を備えている。スイッチ部12の入力側には、第1の入力回線14から入力されるパケットを収容する第1の収容部15と、収容されたパケットを蓄積する第1のバッファ16と、蓄積されたパケットを分解する第1の分解部17がこの順に配置されている。ここで第1の分解部17は入力されるパケットを固定長の小パケットに分解するようになっている。第1の分解部17の出力側はスイッチ部12の第1の入力ポートに接続されている。第2〜第Nの入力回線14〜14に入力したパケットも同様に第2〜第Nの収容部15〜15、第2〜第Nのバッファ16〜16、および第2〜第Nの分解部17〜17を経て、それぞれ対応する入力ポートに入力されるようになっている。
【0004】
スイッチ部12の出力側には、第1の出力ポートから出力される小パケットから元のパケットを組み立てる第1の組立部18と、組み立てられたパケットを蓄積する第1のバッファ19と、蓄積されたパケットを収容する第1の収容部20がこの順に配置されている。第1の収容部20はパケットを出力する第1の出力回線21に接続されている。第2〜第Nの出力ポートから出力されたパケットも同様に第2〜第Nの組立部18〜18、第2〜第Nのバッファ19〜19、および第2〜第Nの収容部20〜20を経て、第2〜第Nの出力回線21〜21から出力されるようになっている。
【0005】
このスイッチ部12では、固定長の小パケットをスイッチングしている。このとき、スイッチ制御部13は分解された分の小パケットをすべてスイッチングするまで入力ポートと出力ポートの間にパスを設定し、第1〜第Nの組立部18〜18での元のパケットの組み立てを容易にしている。
【0006】
ところが、入力ポートと出力ポートの間にパスを設定する場合、スイッチングの遅延の問題が発生することがある。たとえば複数の入力ポートに同一の出力ポートを宛先とするパケットが同時に入力された状況のとき、1つの入力ポートがパケットのスイッチングを終了するまでの間、他の入力ポートは同一宛先のパケットのスイッチングを開始することができない。入力されたパケットから順にスイッチングを開始するので、次々に入力されるパケットもスイッチングを待たされることになる。したがって、同一の出力ポートを宛先とするパケットが集中するとき、あるいは分解された小パケット数が多いときには、スイッチングを待たされるパケットが多く発生することがある。また、この待たされているパケットのスイッチングを後回しにして他のパケットのスイッチングを開始する追加機能を付加すると、スイッチ部12の処理や回路の構成が複雑になるという問題が生じる。
【0007】
そこで、スイッチングの遅延の問題を解消するパケットスイッチ回路が従来から提案されている。これらの提案の1つとしてのパケットスイッチ回路では、一般的なアクセスメモリ制御、すなわちデータの書き込みおよび読み出しを周期的に行うことを利用して周期的なスイッチングを行っている。
【0008】
図12は、従来提案されたこのようなアクセスメモリ制御を用いたパケットスイッチ回路の構成を表わしたものである。特開平6−53996号公報で開示されたこのパケットスイッチ回路31は、パケットを入力する第1〜第14の入力回線32〜3214にそれぞれ対応する第1〜第14の入力部分33〜3314と、パケットを出力する第1〜第14の出力回線34〜3414にそれぞれ対応する第1〜第14の出力部分35〜3514を備えている。第1の入力部分33は、入力されるパケットを受け取る第1のレシーバ36と、出力回線を決定する第1のルータ37を備えており、すべての出力部分35〜3514に第1のブロードキャストバス38で接続されている。第2〜第14の入力部分33〜3314も同様に第2〜第14のレシーバ36〜3614と、第2〜第14のルータ37〜3714を備えており、第2〜第14のブロードキャストバス38〜3814で接続されてすべての出力部分35〜3514にパケットを出力するようになっている。第1の出力部分35は、すべての入力部分33〜3314から受信するパケットのうち出力すべきパケットを判断する第1のスイッチメモリ39を備えており、これらの内部に出力すべきパケットを蓄積する第1の出力キュー40を持っている。第1の出力キュー40に接続される第1の32ビットバス41によって、第1の出力回線34にパケットを出力する第1のトランスミッタ42と、パケットの長さを判断する第1のチョッパ43が接続されている。第2〜第14の出力部分35〜3514も同様に第2〜第14のスイッチメモリ39〜3914と、第2〜第14の32ビットバス41〜4114で接続される第2〜第14のチョッパ43〜4314および第2〜第14のトランスミッタ42〜4214を備えている。第2〜第14のトランスミッタ42〜4214から第2〜第14の出力回線34〜3414にパケットを出力するようになっている。
【0009】
図13は、スイッチメモリ内のアクセスメモリ制御によるパケットのスイッチングを簡単に説明するためのものである。図12で示したスイッチメモリに入力されたパケットは入力シフトレジスタ51によってシリアルに受信される。受信されたパケットは、入力シフトレジスタ51と同じデータ幅を持つバス52を介して、入力シフトレジスタ51と同じデータ幅を持つメモリ53にパラレルに出力されて書き込まれる。メモリ53に書き込まれたパケットは出力シフトレジスタ54にパラレルに読み出され、出力シフトレジスタ54からシリアルに出力される。入力シフトレジスタ51のパケットをアクセスメモリ制御の1回の書き込み動作と1回の読み出し動作でスイッチングすることができる。したがって、各入力ポートに入力されるパケットはアクセスメモリ制御の書き込みサイクルと読み出しサイクルの一定時間を待てばスイッチングされることになるので、スイッチングの遅延の問題を解消することができる。
【0010】
【発明が解決しようとする課題】
【0011】
この提案のパケットスイッチ回路31では、周期的なアクセスメモリ制御によって一定時間でスイッチングできるパケット数が一定になるので、一定時間で処理されるデータ量はパケット長に依存することになる。すなわち、パケット長の長短によって、一定時間で処理されるデータ量が変化することになる。たとえばパケット長が短いパケットの入力が集中する場合には一定時間で処理されるデータ量が極端に減少するという事態が発生する。データ通信量が急増している現在、パケットスイッチ回路のスイッチ容量の大容量化が急務となっている。
【0012】
そこで本発明の目的は、パケット長に依存しない大容量のスイッチ容量を持つパケットスイッチ回路を提供することにある。
【0013】
【課題を解決するための手段】
請求項1記載の発明では、(イ)複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、(ロ)これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して1回で取り出した入力側蓄積手段ごとの全データに対して共通した1つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、(ハ)複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、(ニ)データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を宛先から判別する宛先判別手段と、(ホ)データ格納手段からアドレス単位でデータを順に周期的に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、(ヘ)出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段とをパケットスイッチ回路に具備させる。
【0014】
すなわち請求項1記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、1回で取り出した全データに1つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。パケット振分手段は、データ格納手段からアドレス単位でデータを順に周期的に取り出すと共に、宛先判別手段の判別結果を用いて1つのアドレスのデータを構成する各パケットをそれぞれ対応する出力側蓄積手段に振り分けるようになっている。したがって、本発明では1つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。
【0015】
請求項2の発明では、(イ)データの最大伝送速度を個別に設定された複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、(ロ)これらの入力側蓄積手段のそれぞれに蓄積されたパケットをデータの最大伝送速度が速いほど短くなるような値に予め設定された入力側蓄積手段ごとの周期で取り出して、1回で取り出した入力側蓄積手段ごとの全データに対して共通した1つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、(ハ)複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、(ニ)データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を宛先から判別する宛先判別手段と、(ホ)入力側蓄積手段に蓄積されたパケットのいずれかがデータ格納手段に格納されるたびにデータ格納手段からアドレス単位でデータを順に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、(ヘ)出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段とをパケットスイッチ回路に具備させる。
【0016】
すなわち請求項2記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、1回で取り出した全データに1つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。パケット振分手段は、データ格納手段からアドレス単位でデータを順に周期的に取り出すと共に、宛先判別手段の判別結果を用いて1つのアドレスのデータを構成する各パケットをそれぞれ対応する出力側蓄積手段に振り分けるようになっている。したがって、本発明では1つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。しかも本発明では、データ格納手段は、入力側蓄積手段のそれぞれに蓄積されたパケットをそれらに対応する入力路のデータの最大伝送速度が速いほど短くなるような周期で取り出して格納している。すなわち、入力路の一部または全部についてデータの最大伝送速度が異なっているような場合には、各入力側蓄積手段の単位時間あたりに蓄積するデータの量が異なるので、データの最大伝送速度が速い入力路に対応する入力側蓄積手段ほど周期を短くしてデータを取り出してデータ格納手段に格納するようにすることで、データ格納手段の効率的な活用を図っている。
【0017】
請求項3の発明では、(イ)複数の入力路のそれぞれに対応して配置され、宛先の示されたパケットを順次蓄積する入力側蓄積手段と、(ロ)これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して入力側蓄積手段ごとの1回で取り出した全データに対して共通した1つのアドレスを割り当て、アドレス単位で格納するデータ格納手段と、(ハ)このデータ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットごとの送出先を宛先から判別する宛先判別手段と、(ニ)この宛先判別手段で判別したデータをデータ格納手段からアドレス単位で順に読み出すデータ読出手段と、(ホ)このデータ読出手段がアドレス単位にデータを読み出すたびに宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択する出力ポートごとに設けられたパケット選択手段と、(ヘ)これらのパケット選択手段に対応して配置され、選択されたパケットを順次対応する出力路に出力する出力路別パケット出力手段とをパケットスイッチ回路に具備させる。
【0018】
すなわち請求項3記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、1回で取り出した全データに1つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。データ読出手段は、データ格納手段からアドレス単位でデータを順に周期的に読み出し、それぞれの出力ポートごとに設けられたパケット選択手段に送られる。これらのパケット選択手段では、宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択することになる。したがって、本発明では1つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。しかも本発明では、各パケット選択手段にデータを送り込む過程までの制御を単純化し、処理の高速化を図ることができる。
【0019】
請求項4の発明では、請求項3記載のパケットスイッチ回路で、入力側蓄積手段はそれぞれの入力路からシリアルデータとしてパケットを順次入力して蓄積する手段であり、データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、1つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されていることを特徴としている。
【0020】
すなわち請求項4記載の発明では、データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、1つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されている。このため、1つのアドレスの全データを一度に伝送することが可能になる。
【0021】
請求項5の発明では、請求項3記載のパケットスイッチ回路で、データ格納手段は、それぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納する手段であり、データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期で、このデータ格納手段からアドレス単位にデータを読み出す手段であることを特徴としている。
【0022】
すなわち請求項5記載の発明では、データ格納手段はそれぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納するようにし、データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期でデータ格納手段からアドレス単位にデータを読み出すようにしている。このため比較的少ないハードウェアで、効率的なデータの転送が可能になる。
【0023】
請求項6記載の発明では、請求項3記載のパケットスイッチ回路で、出力路別パケット出力手段は、1回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段と、パケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにその全部のデータ量を算出するデータ量算出手段と、このデータ量算出手段で算出されたデータ量のパケットを転送するに先立って、パケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較する比較手段と、この比較手段によって比較されたデータ量の方が最も古い組のメモリ領域の空き容量以下であるときそのメモリ領域にパケット選択手段で選択されたパケットをすべて転送し、これ以外の場合にはこれらのパケットを最も古い組のメモリ領域の次に読み出されるべきメモリ領域にすべて転送するパケット転送手段とを具備することを特徴としている。
【0024】
この請求項6記載の発明では、請求項3記載の発明における出力路別パケット出力手段を具体化している。出力路別パケット出力手段は1回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段を備えている。このパケット格納手段のメモリ領域単位でデータの読み出しが行われるようになっているので、1回当たりの読み出しが効率的に行われるためにはそれぞれのメモリ領域にできるだけ多くのパケットが格納される必要がある。そこでこの発明ではパケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにデータ量算出手段がその全部のデータ量を算出することにしている。そして、データ量算出手段で算出されたデータ量のパケットを転送するに先立って、比較手段がパケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較するようにしている。この結果、比較された転送しようとしているデータ量の方が最も古い組のメモリ領域の空き容量以下であるときには、該当するそのメモリ領域にパケット選択手段で選択されたパケットをすべて転送し、今まで格納されたデータと一緒にデータの読み出しが行われるようにしている。比較された転送しようとしているデータ量の方が最も古い組のメモリ領域の空き容量より大きい場合には、これらのパケットを該当するそのメモリ領域の空いている領域にすべて詰め込むことはできない。そこでこの場合にはそのメモリ領域の次に読み出されるべきメモリ領域にこれらすべてのパケットを転送することにしている。このような工夫を行うことで、たとえばパケット選択手段が1回当たり僅かずつのデータ量のパケットを選択したような場合には、これらを別々にパケット転送手段が転送するのではなく、何回分かをまとめて転送することができるので、パケットを出力路に効率良く出力することができることになる。出力路への転送形態は各種の態様が考えられる。
【0025】
請求項7記載の発明では、請求項6記載のパケットスイッチ回路で、パケット転送手段はパケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備え、パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送することを特徴としている。
【0026】
すなわち請求項7記載の発明では、パケット転送手段はパケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備えている。パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送している。これにより、シリアルで転送するのに比べて転送の処理が高速化する。また、パケット同士の間隔を詰めて転送するので、受信側の処理が効率化する。
【0027】
【発明の実施の形態】
【0028】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0029】
図1は本発明の一実施例における可変長パケットスイッチ回路を使用したルータの構成を表わしたものである。このルータ101は、図示しない他のルータから送られてくる可変長パケットを入力する第1の入力ポート102にその入力側を接続する第1の入力インタフェース部103を備えている。第1の入力インタフェース部103の出力側は、可変長パケットスイッチ回路104の第1の入力ポート105に接続されている。第2〜第Nの入力ポート102〜102も同様に第2〜第Nの入力インタフェース部103〜103の入力側にそれぞれ接続され、その出力側は第2〜第Nの入力ポート105〜105にそれぞれ接続されている。可変長パケットスイッチ回路104の第1の出力ポート106は、第1の出力インタフェース部107の入力側に接続されている。第1の出力インタフェース部107の出力側は、図示しない他のルータに可変長パケットを送出する第1の出力ポート108に接続されている。第2〜第Nの出力ポート106〜106も同様に第2〜第Nの出力インタフェース部107〜107の入力側にそれぞれ接続され、その出力側は第2〜第Nの出力ポート108〜108にそれぞれ接続されている。
【0030】
第1〜第Nの入力ポート102〜102に入力される可変長パケットは、第1〜第Nの入力インタフェース部103〜103によってフレームのフォーマットを装置内フレームのフォーマットに変換される。変換された可変長パケットは、可変長パケットスイッチ回路104でスイッチングされる。スイッチングされた可変長パケットは、第1〜第Nの出力インタフェース部107〜107によって元のフレームのフォーマットに変換される。この可変長パケットはそれぞれ第1〜第Nの出力ポート108〜108から他のルータに可変長パケットを送出している。
【0031】
図2は入力される可変長パケットの一例としてPPPフレームのフォーマットを表わしたものである。このPPP(Point to Point Protocol:ポイントツーポイントプロトコル)フレームの可変長パケット201は、PPPオーバヘッド202、データ部分のPPPペイロード203、ビット誤りを検出するFCS(Frame Check Sequence:フレーム検査シーケンス)204、およびパケットの終わりを示すフラグ205で構成される。PPPオーバヘッド202には、パケットの始まりを示すフラグ206、パケットの宛先のアドレス207、制御情報のコントロール208、およびプロトコル識別子209が配置されている。可変長パケット201は第1〜第Nの入力インタフェース部103〜103(図1参照)によって装置内フレームのフォーマットに変換され、第1〜第Nの出力インタフェース部107〜107(図1参照)によって再び元の可変長パケット201のフォーマットに変換される。
【0032】
図3は図1で示した入力インタフェース部によって変換された可変長パケットの装置内フレームのフォーマットを表わしたものである。この装置内フレームの可変長パケット301は、装置内オーバヘッド302とデータ部分のPPPペイロード303から構成される。装置内オーバヘッド302には、装置内情報304、入力ポート情報305、および出力ポート情報306が配置されている。入力ポート情報305および出力ポート情報306は、可変長パケットが入力される可変長パケットスイッチ回路104(図1参照)の入力ポートおよび出力される出力ポートを示している。装置内情報303は、可変長パケットスイッチ回路104のその他の装置内制御に使用される情報を表わしている。可変長パケット301は、PPPオーバヘッド202(図2参照)に代わって装置内オーバヘッド302が付加され、可変長パケットスイッチ回路104のどの出力ポートに出力するかについて決定されている。
【0033】
この出力ポートの決定について更に説明を加える。出力ポートの決定には、PPPオーバヘッド202内のアドレス207の情報に加えて、PPPペイロード203内に格納されている情報が必要になる。たとえばPPPペイロード203内にIP(Internet Protocol:インターネットプロトコル)パケットが格納されている場合、IPパケットのヘッダ内の宛先アドレス等の情報を基にして出力ポートを決定する。PPPペイロード203内にその他のパケットが格納されている場合、PPPオーバヘッド202内のプロトコル識別子209を基にして格納されているパケットに応じて出力ポートを決定する。この出力ポートを決定する処理は負荷が高く、CPU(Central Processing Unit:中央処理装置)を使用した大規模な回路が必要になる。本実施例では出力ポートを決定する処理は第1〜第Nの入力インタフェース部103〜103(図1参照)内で行い、可変長パケットスイッチ回路104(図1参照)で行う処理の負荷を軽減している。
【0034】
図4は図1に示した可変長パケットスイッチ回路の構成を表わしたものである。以上の説明では入力ポート数および出力ポート数について一般化された数値として値Nで表わしたが、これ以後は値Nが“39”の場合を例にとって具体的に説明する。もちろん値Nはこの値に限定されるものではない。この可変長パケットスイッチ回路104は、第1の入力ポート105に接続される第1の入力線401からシリアルに可変長パケットを入力する第1の出力ポート情報抽出部402を備えている。第1の出力ポート情報抽出部402は、可変長パケットに付加されている出力ポート情報306(図3参照)を抽出し、第1の出力ポート情報信号403を出力ポート判定部404へ出力するようにしている。第1の出力ポート情報抽出部402の第1の出力線405は第1の入力バッファ406に接続されている。第1の入力バッファ406は可変長パケットを順次蓄積し、それぞれの可変長パケットがバッファ内に蓄積されるパケット位置を示す第1のパケット位置情報信号407を出力ポート判定部404に出力するようになっている。
【0035】
同様にしてそれぞれ第1〜第39の入力ポート105〜10539に入力された可変長パケットは、第1〜第39の入力線401〜40139および第1〜第39の出力ポート情報抽出部402〜40239を経て、第1〜第39の入力バッファ406〜40639で蓄積されるようになっている。また、出力ポート判定部404にそれぞれ第1〜第39の出力ポート情報信号403〜40339および第1〜第39のパケット位置情報信号407〜40739を出力する。
【0036】
第1〜第39の入力バッファ406〜40639は、入力ポート側データバス408を介して入力ポート側メモリ409に接続されている。入力ポート側メモリ409を制御する入力ポート側メモリ制御部410は、図示しないCPUおよび図示しないROM(リード・オンリ・メモリ)等の記憶媒体で構成され所定の制御を行うようになっている。入力ポート側メモリ制御部410は、第1〜第39の入力バッファ406〜40639に蓄積された可変長パケットを入力ポート側メモリ409へ格納するための第1〜第39の出力制御信号411〜41139を出力するようになっている。また、入力ポート側メモリ409に格納された可変長パケットを入力ポート側データバス408上に出力するための出力制御信号412を出力する。入力ポート側データバス408は、第1〜第39の出力ポート106〜10639にそれぞれ対応する第1〜第39の選択バッファ413〜41339に接続されている。出力ポート判定部404は、第1〜第39の出力ポート情報信号403〜40339および第1〜第39のパケット位置情報信号407〜40739に基づき、第1〜第39の出力ポート106〜10639に対応した第1〜第39の有効情報信号414〜41439を生成するようになっている。第1〜第39の有効情報信号414〜41439はそれぞれ第1〜第39の選択バッファ413〜41339に出力されている。
【0037】
第1の出力ポート106に対応する第1の選択バッファ413は、第1の有効情報信号414に基づき、入力ポート側データバス408上に出力される可変長パケットを選択して蓄積するようになっている。第1の選択バッファ413は蓄積された可変長パケットを第1のデータバス415を介して第1の有効情報圧縮スイッチ416に出力している。第1の有効情報圧縮スイッチ416は、第1の出力ポート側メモリ制御部417からの第1の先頭位置信号418に基づき可変長パケットを配列するようになっている。第1の出力ポート側メモリ制御部417は、図示しないCPUおよび図示しないROM(リード・オンリ・メモリ)等の記憶媒体で構成され所定の制御を行うようになっている。第1の出力ポート側メモリ制御部417は、第1の有効情報圧縮スイッチ416で配列された可変長パケットを第1の出力ポート側データバス419を介して第1の出力ポート側メモリ420へ格納するための第1の出力制御信号421を出力するようになっている。また、第1の出力ポート側メモリ420に格納された可変長パケットを第1の出力ポート側データバス419を介して第1の出力バッファ422へ出力するための第1の出力制御信号423を出力する。第1の出力バッファ422の出力側は、第1の出力線424によって第1の出力ポート106に接続されている。第1の出力ポート106から図1に示した第1の出力インタフェース部107に可変長パケットが出力されるようになっている。
【0038】
同様にしてそれぞれの第1〜第39の選択バッファ413〜41339に蓄積された可変長パケットは第1〜第39の有効情報圧縮スイッチ416〜41639、第1〜第39の出力ポート側メモリ420〜42039、第1〜第39の出力バッファ422〜42239を経て、第1〜第39の出力ポート106〜10639に出力するようになっている。第1〜第39の出力ポート106〜10639から第1〜第39の出力インタフェース部107〜10739にそれぞれ可変長パケットを出力する。
【0039】
本実施例では、入力ポート側メモリ409および第1〜第39の出力ポート側メモリ420〜42039の1アドレスで指定されるデータ幅を8K(キロ)ビットとする。第1〜第39の入力バッファ406〜40639の容量、入力ポート側データバス408のバス幅、および第1〜第39の選択バッファ413〜41339の容量を8Kビットとする。第1〜第39の有効情報圧縮スイッチ416〜41639の出力側容量、第1〜第39の出力ポート側データバス419〜41939のバス幅、および第1〜第39の出力バッファ422〜42239の容量を8Kビットとする。
【0040】
また、第1〜第39の入力バッファ406〜40639から入力ポート側メモリ409へのパケット転送周期を3.28μ(マイクロ)秒とする。39個の入力ポート105〜10539から入力する可変長パケットの最大伝送レートおよび39個の出力ポート106〜10639から出力する可変長パケットの最大伝送レートを2.48832Gbps(ギガビット/秒)とする。入力ポート側メモリ409および第1〜第39の出力ポート側メモリ420〜42039に対する書き込みおよび読み出しサイクルを42n(ナノ)秒とする。これは既存のDRAM(Dynamic Random Access Memory:ダイナミック等速呼び出し記憶装置)のアクセス速度と同等である。
【0041】
図5は、入力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図(a)はサイクル501〜506の順に時間の経過を示し、それぞれの時間間隔は42n秒の等間隔である。同図(b)以降は動作を説明しつつ、適宜説明する。
【0042】
図4における第1〜第39の出力ポート情報抽出部402〜40239から第1〜第39の選択バッファ413〜41339までの各動作について更に説明する。第1の出力ポート情報抽出部402は、入力される可変長パケット中に付加されている出力ポート情報を抽出して第1の出力ポート情報信号403を出力ポート判定部404へ出力する。また、可変長パケットの先頭位置および最後尾位置を検出して可変長パケットを第1の入力バッファ406へ出力する。
【0043】
入力された可変長パケットを蓄積する第1の入力バッファ406は、検出された可変長パケットの先頭位置および最後尾位置の情報に基づき、可変長パケットがバッファ内に蓄積されているバイト単位のパケット位置を示す第1のパケット位置情報信号407を生成する。第1のパケット位置情報信号407は出力ポート判定部404に出力される。本実施例では、一般にデータはバイト単位で処理されるので、バイト単位の情報を生成する。また、第1の入力バッファ406はバッファを2つ備えたダブルバッファとすることによって、蓄積されている可変長パケットが出力中でも入力される新たな可変長パケットを蓄積することができる。
【0044】
入力ポート側メモリ制御部410は、一定周期(3.28μ秒)で第1の入力バッファ406内に蓄積された複数の可変長パケットを入力ポート側メモリ409へ転送して先頭のアドレスにデータを書き込む。これは第1の出力制御信号411によって図5(b)で示された第1の入力バッファ406からの書き込み507のタイミングで行われる。本実施例では、第1の入力バッファ406の容量、入力ポート側データバス408のバス幅、および入力ポート側メモリ409の1アドレスのデータ幅を一致させている。これにより、第1の入力バッファ406内に蓄積された複数の可変長パケットは1回の転送サイクルで入力ポート側メモリ409へ転送することができる。
【0045】
同様にして、入力ポート側メモリ409へのデータの書き込みは、入力ポート側メモリ制御部410からの第2の出力制御信号411(図示せず)によって図5(b)の第2の入力バッファ(図示せず)からの書き込み508のタイミングで行われる。また、同様に第3の出力制御信号411(図示せず)によって図5(b)の第3の入力バッファ(図示せず)からの書き込み509といったタイミングで番号順に繰り返し行われる。このとき、入力ポート側メモリ409への書き込み周期は84n秒(42n秒×2)となるので、1つの入力バッファからは3.276μ秒(84n秒×39個)ごとに転送が行われる。一方、1つの入力ポートからは可変長パケットが最大伝送レートを2.48832Gbpsで入力されるので、1つの入力バッファが飽和する時間は最短で3.292μ秒(8192ビット÷2.48832Gbps)かかる。メモリやバッファの容量で1Kビットは通常1024ビットになるので8Kビットは8192ビット(1024ビット×8)になる。したがって、1つの入力バッファから入力ポート側メモリ409への転送周期は最短バッファ飽和時間よりも短いので、この入力バッファは飽和しない。
【0046】
このように入力ポート側メモリ409にデータが書き込まれるたびに、入力ポート側メモリ制御部410は、データが書き込まれたアドレス情報信号425を出力ポート判定部404へ出力する。
【0047】
出力ポート判定部404は、入力される第1の出力ポート情報信号403に基づき、入力ポート側メモリ409のアドレス情報信号425のアドレスに格納されている複数の可変長パケットの出力ポートを決定する。第1の出力ポート情報信号403で複数あるいはすべての出力ポートを指定することで、複数あるいはすべての出力ポートを選択することが可能になる。また、入力される第1のパケット位置情報信号407に基づき、第1〜第39の有効情報信号414〜41439を生成する。出力ポート判定部404は入力ポート側メモリ409のアドレス単位で処理し、処理が完了するたびに入力ポート側メモリ制御部410へ処理の完了を知らせる通知信号426を出力する。
【0048】
入力ポート側メモリ制御部410は、通知信号426によって処理の完了を知らされたアドレスの複数の可変長パケットを入力ポート側データバス408上に同時に読み出して第1〜第39の選択バッファ413〜41339に転送する。この読み出し動作は、図5(c)で示された入力ポート側メモリ409からの読み出し510〜512のそれぞれのタイミングで行われる。入力ポート側メモリ制御部410の出力制御信号412によって周期84n秒で入力ポート側メモリ409に書き込まれたアドレス順で行われる。このとき、1アドレスで指定される領域に書き込まれているすべての可変長パケットの宛先の出力ポートは、出力ポート判定部404によって決定されている。39個の入力ポート105〜10539からそれぞれ2.48832Gbpsで入力された可変長パケットは、第1〜第39の有効情報信号414〜41439が生成される一定時間まで入力ポート側メモリ409に格納される。一定時間後、第1〜第39の選択バッファ413〜41339へ同時に転送されている。
【0049】
以上説明したアクセス制御では、入力ポート側メモリ制御部410のアドレス情報信号427およびリードライト制御信号428によって、入力ポート側メモリ409のデータの書き込みおよび読み出しを行っている。同様にして第1〜第39の出力ポート情報抽出部402〜40239から第1〜第39の選択バッファ413〜41339までの各動作が行われる。
【0050】
第1〜第39の選択バッファ413〜41339は同一動作をするので、代表して第1の選択バッファ413の動作について説明する。第1の選択バッファ413は、出力ポート判定部404が出力する第1の有効情報信号414を受信する。第1の有効情報信号414は、第1の選択バッファ413が選択する可変長パケットが入力ポート側メモリ409の1アドレスで指定されるデータ領域のどこに格納されているかを示している。入力ポート側メモリ409から入力ポート側データバス408上に出力される1アドレスで指定されているデータ領域に格納されている1あるいは複数の可変長パケットを受信し、第1の有効情報信号414に基づいて可変長パケットを選択して蓄積している。この際、第1の有効情報信号414に基づいて、第1の選択バッファ413への書き込みをビット単位あるいはバイト単位で許可あるいは禁止する機能を第1の選択バッファ413の前段に備えることによって、パケットの選択を実現している。したがって、第1の選択バッファ413のデータ列の有効情報と有効情報の間には不要なデータが格納されていないことになる。本実施例では、入力ポート側メモリ409の1アドレスで指定されるデータ幅、第1の選択バッファ413の容量、および入力ポート側データバス408のバス幅を一致させている。これにより、入力ポート側メモリ409の1アドレスで指定されているデータ領域に格納されている複数の可変長パケットは、1回の転送サイクルで第1の選択バッファ413へ転送される。
【0051】
次に、第1〜第39の入力バッファ406〜40639から入力ポート側メモリ409への可変長パケットの転送について説明を加える。本実施例では可変長パケットの転送を一定周期で行うので、第1〜第39の入力バッファ406〜40639に書き込みが途中の可変長パケットが存在する場合がある。この可変長パケットは分割して転送され、出力ポートから出力された後、図1で示した第1〜第39の出力インタフェース部107〜10739で復元されることになる。可変長パケットを分割した残りのパケットは次の転送周期で転送されることになる。これらの分割されたパケットを復元するとき、これらのパケットがどの入力ポートから入力されたかの情報が必要になる。この情報を分割されたパケットに付加して出力するが、以下に説明するように第1〜第39の出力インタフェース部107〜10739では、付加された情報を基にして元の可変長パケットに復元することができる。
【0052】
この分割されたパケットに入力ポート情報を付加し、第1〜第39の出力インタフェース部107〜10739で復元する動作について具体的に説明する。第1〜第39の入力バッファ406〜40639の先頭部分と最後尾部分に入力ポート情報が書き込まれる領域を予め確保しておく。たとえば、第1の入力ポート105の第1の入力バッファ406には、常に入力ポートが“1”であることを示す情報が入力バッファの先頭部分と最後尾部分に書き込まれている。一定周期で第1の入力バッファ406に書き込まれたパケットは入力ポート側メモリ409へ書き込まれる。このとき、入力ポート情報も同時に入力ポート側メモリ409へ書き込まれる。メモリ領域の先頭部分に書き込まれた入力ポート情報に対しては、その直後に書き込まれていたパケットと同じ出力ポートへの転送として有効情報信号が出力される。メモリ領域の最後尾部分に書き込まれた入力ポート情報に対しては、その直前に書き込まれていたパケットと同じ出力ポートへの転送として有効情報信号が出力される。
【0053】
第1〜第39の出力インタフェース部107〜10739では、分割されていないパケットの場合、図3で示したパケットの装置内オーバヘッド302に格納されている入力ポート情報305に基づき入力ポートごとのバッファ(図示せず)に蓄積される。分割されたパケットの場合、パケットの先頭部分あるいは最後尾部分に付加されている入力ポート情報に基づき入力ポートごとのバッファに蓄積することにより、分割されたパケットが復元される。このとき、付加された入力ポート情報は削除される。以上のようにして分割されたパケットが処理される。
【0054】
再び図4に戻って、第1〜第39の選択バッファ413〜41339から第1〜第39の出力バッファ422〜42239までの各動作について説明する。これらの選択バッファ413〜41339以降の回路は、同一回路であり独立に動作するため、第1の出力ポート106に対応する回路を代表して説明する。第1の選択バッファ413によって蓄積された可変長パケットは、第1のデータバス415を介して第1の有効情報圧縮スイッチ416に受信される。これ以後はパケット1〜パケット3(P1〜P3)の3つの可変長パケットが受信された場合を例にとって具体的に説明する。
【0055】
図6は、出力ポート側メモリへの可変長パケット書き込み制御の様子を表わしたものである。同図(a)は、第1の出力ポート側メモリ420の1アドレスで指定されるデータ領域601を示している。本実施例ではLSB602(Least Significant Bit:最下位ビット)からMSB603(Most Significant Bit:最上位ビット)の8Kビットとする。データの流れを説明するためデータ領域601を基準にして、同図(b)以降は動作を説明しつつ、適宜説明する。
【0056】
第1の有効情報圧縮スイッチ416は出力ポート判定部404から第1の有効情報信号414を受信する。図6(b)は出力ポート判定部404が出力する第1の有効情報信号414を表わしている。3つの可変長パケットについて、それぞれパケット1は第1の位置604、パケット2は第2の位置605、パケット3は第3の位置606のデータ位置を示している。
【0057】
第1の選択バッファ413は、図6(b)で示した第1の有効情報信号414の示す位置のデータを選択して可変長パケットを格納している。図6(c)は第1の選択バッファ413における可変長パケットの格納状態であり、領域607にはデータが格納され、領域608にはデータが格納されていない。
【0058】
第1の有効情報圧縮スイッチ416では、出力ポート判定部404が出力する第1の有効情報信号414に基づいて図6(c)に示した領域607のみを取り出し、可変長パケットのパケット長の総和である図6(d)で示す有効情報長609を表わす第1の有効情報長信号429を第1の出力ポート側メモリ制御部417へ出力している。
【0059】
第1の出力ポート側メモリ制御部417は、第1の有効情報圧縮スイッチ416が出力する第1の有効情報長信号429の有効情報長と、第1の出力ポート側メモリ420の可変長パケットが書き込まれている最後尾のアドレス中の可変長パケットが書き込まれていない領域長を比較する。本実施例では、図6(f)で示した第1の出力ポート側メモリ420における可変長パケットの格納状態を比較する。第1の出力ポート側メモリ420の内部は、前回の書き込みサイクルまでに書き込みが行われた領域611、今回新たに書き込みが行われた領域612、および書き込みが行われていない領域613に分かれている。本実施例では、比較した結果として、有効情報長の方が短い場合、第1の出力ポート側メモリ420の可変長パケットが書き込まれている最後尾のアドレスにおける空き領域に可変長パケットを書き込む。このとき、第1の出力ポート側メモリ420の可変長パケットが書き込まれている最後尾のアドレス中の可変長パケットが書き込まれていない領域の先頭位置を第1の先頭位置信号418として第1の有効情報圧縮スイッチ416に出力する。比較した結果、有効情報長の方が長いような場合には、第1の出力ポート側メモリ420の可変長パケットが書き込まれている最後尾のアドレスの次のアドレスの先頭位置から可変長パケットを書き込む。このとき、第1の有効情報圧縮スイッチ416が出力する可変長パケットの第1の先頭位置信号418としてLSBの位置を出力する。
【0060】
第1の有効情報圧縮スイッチ416は、第1の出力ポート側メモリ制御部417が出力する可変長パケットの第1の先頭位置信号418に基づいて、出力する可変長パケットの先頭位置を決定して可変長パケットを図6(e)に示す位置情報610のように配列する。第1の有効情報圧縮スイッチ416の出力状態は、この配列動作によって、図6(d)に示すような可変長パケット出力状態となる。ここで、第1の有効情報圧縮スイッチ416の具体的な回路について説明を加える。
【0061】
図7は有効情報圧縮スイッチの基本動作を2入力2出力のセレクタを用いて構成する場合の原理的な構成を示したものである。本実施例では第1のデータバス415は8192ビットであるが、ここでは簡単に説明するため4ビット分のデータを入出力する有効情報圧縮スイッチ701を示している。この簡略化した有効情報圧縮スイッチ701は、それぞれ第1〜第4の入力ポート702〜702および第1〜第4の出力ポート703〜703を備えている。有効情報圧縮スイッチ701は、アレイ状に配置された2入力2出力の第1〜第4のセレクタ704〜704を第1段として、同様にして第2段および第3段としてそれぞれ第5〜第8のセレクタ704〜704および第9〜第12のセレクタ704〜70412で構成される。
【0062】
この有効情報圧縮スイッチ701に有効ビットとして第1の入力ポート702、第3の入力ポート702および第4の入力ポート702にデータが入力され、無効ビットとして第2の入力ポート702にはデータが入力されないものとする。また、配列位置として第1〜第3の出力ポート703〜703からデータを出力するような場合とする。第1の入力ポート702に入力されたデータは、第1のセレクタ704、第5のセレクタ704、および第9のセレクタ704を順に経由して第1の出力ポート703に出力されている。同様にして、第3の入力ポート702に入力されたデータは、第3のセレクタ704、第5のセレクタ704、および第10のセレクタ70410を順に経由して第2の出力ポート703に出力され、第4の入力ポート702に入力されたデータは、第4のセレクタ704、第8のセレクタ704、および第11のセレクタ70411を順に経由して第3の出力ポート703に出力されている。ここでは2入力2出力のセレクタを示しているが、アレイ状に配置するセレクタの数と段数を増加させることで本実施例の有効情報圧縮スイッチを実現することができる。本実施例では、データのビット数が“8192”であるので、セレクタ数は“8192”となり段数は“14”段となる。
【0063】
この第1の有効情報圧縮スイッチ416によって配列された図6(e)に示す位置情報610の可変長パケットを第1の出力ポート側メモリ420に格納している。図6(f)で示すように前回の書き込みサイクルまでに書き込まれた可変長パケットに引き続いて、まだ書き込みが行われていない領域に、可変長パケットのみを格納することができる。本実施例では、第1の有効情報圧縮スイッチ416の出力側容量、第1の出力ポート側メモリ420の1アドレスで指定されるデータ幅、および第1の出力ポート側データバス419のデータ幅が一致している。これにより、第1の出力ポート側メモリ420への書き込みを1回の書き込みサイクルで行うことができる。
【0064】
図8は、出力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図(a)はサイクル801〜806の順に時間の経過を示し、それぞれの時間間隔は42n秒の等間隔である。同図(b)は第1の出力ポート側メモリ420に対しての第1の有効情報圧縮スイッチ416からの書き込みを表わしている。第1の出力ポート側メモリ420への書き込み807は、第1の出力ポート側メモリ制御部417の第1の出力制御信号421によって第1の有効情報圧縮スイッチ416で配列された可変長パケットを周期84n秒(42n秒×2)で書き込んでいる。
【0065】
第1の出力ポート側メモリ420に格納された可変長パケットは第1の出力ポート側データバス419を介して第1の出力バッファ422へ転送している。本実施例では、第1の出力ポート側メモリ420の1アドレスで指定されるデータ幅、第1の出力バッファ422の容量、および第1の出力ポート側データバス419のデータ幅が一致している。これにより、第1の出力ポート側メモリ420から第1の出力バッファ422への可変長パケットの転送を1回の読み出しサイクルで行われている。図8(c)で示すように第1の出力ポート側メモリ420からの読み出し808は、第1の出力ポート側メモリ制御部417の第1の出力制御信号421によって周期84n秒で第1の出力ポート側メモリ420に書き込まれたアドレス順で行われる。第1の出力ポート側メモリ制御部417は、第1のアドレス情報信号430およびリードライト制御信号431によって第1の出力ポート側メモリ420のデータの書き込みおよび読み出しを行っている。
【0066】
第1の出力バッファ422に蓄積された可変長パケットは、第1の出力ポート106に接続される第1の出力線424でシリアルに出力される。また、第1の出力バッファ422はバッファを2つ備えたダブルバッファとすることによって、可変長パケットを出力中でも第1の出力ポート側メモリ420が読み出した可変長パケットを蓄積することができる。更に、第1の出力バッファ422は蓄積している可変長パケットがすべて出力されてバッファ内が空となる前に、第1の出力ポート側メモリ制御部417に対して可変長パケットの転送を要求する第1のパケット転送要求信号432を出力する。
【0067】
第1の出力ポート側メモリ制御部417は、第1の出力ポート側メモリ420内の1アドレスで指定される8Kビットの領域に書き込まれている可変長パケットを1回の読み出しサイクルで第1の出力バッファ422に転送できる。第1の出力ポート側メモリ420内の1アドレスで指定される8Kビットの領域に8Kビットの可変長パケットが格納されている場合、2.48832Gbpsで出力されるため、格納されている可変長パケットがすべて出力されるまで時間が3.292μ秒かかることになる。
【0068】
本実施例で第1〜第39の出力ポート側メモリ420〜42039に着目すると、最大の書き込み速度は可変長パケットスイッチ回路104にあるすべての第1〜第39の入力ポート105〜10539からパケットが入力される速度の総和になる。読み出し速度は出力ポートごとのパケットが出力される速度と一致する。したがって、複数の入力ポートから特定の出力ポートの宛先のパケットが入力することが集中するトラフィックの輻輳が発生する場合、特定の出力ポートの出力ポート側メモリに多くのパケットが急速に滞留する可能性がある。
【0069】
たとえば、第1の出力ポート側メモリ420内に格納されている可変長パケットの蓄積量が設定されたしきい値を越えた場合を考える。本実施例では、図1に示した第1〜第39の入力インタフェース部103〜10339には、図示しない大容量の輻輳吸収用のバッファを用意する。第1の出力ポート側メモリ制御部417は、第1〜第39の入力インタフェース部103〜10339に対して第1の出力ポート106の宛先の可変長パケットの出力停止を要求する第1の出力停止要求信号433を出力する。第1〜第39の入力インタフェース部103〜10339は、第1の出力停止要求信号433を受信すると、第1の出力ポート106の宛先の可変長パケットのみを輻輳吸収用のバッファに一時的に蓄積する。第1の出力停止要求信号433が解除された場合、第1の出力ポート106の宛先の可変長パケットの出力を再開する。これにより、本実施例の可変長パケットスイッチ回路104で出力ポートごとに大容量のバッファを用意することなく、第1の出力ポート側メモリ420のしきい値を越えて処理できなくなるオーバーフローを防ぐことができる。
【0070】
一般には複数の選択した転送先に同じパケットを転送するマルチキャスト、あるいは転送できるすべての転送先に同じパケットを転送するブロードキャストを実現し、スイッチの処理能力を上げるために出力バッファ型スイッチが用いられる。この出力バッファ型スイッチの場合、スイッチング自体の速度を示すスイッチコアの転送速度Sは次式(1)で表わされる。
【0071】
S=NV/B ・・・(1)
【0072】
(1)式で使用されている変数Nはポート数、変数Vはポート速度、および変数Bはスイッチ内でのパラレル展開数を表わしている。パラレル展開数Bを大きくすることによって、スイッチコアの転送速度Sを下げることができる。しかし、パケット単位で転送を行う場合、パラレル展開数Bよりもパケット長の短いパケットを転送するとき、余剰帯域が発生してスイッチ容量が低下する問題が発生する。したがって、パラレル展開数Bは転送パケットの最小パケット長であるATM(Asynchronous Transfer Mode:非同期転送モード)セルや最小IPパケットのサイズとなり大きい値にできない。また、スイッチ回路の大規模化を図ると、ポート数Nやポート速度Vの上昇をもたらし、スイッチコアの転送速度Sの著しい上昇をもたらすため、実現が困難であった。
【0073】
本実施例は出力バッファ型スイッチであるが、1アドレスで指定されるデータ領域を数Kビットまで拡張して、1アドレスで指定される全データ領域に対して1回の書き込みサイクルおよび読み出しサイクルで行うことができる。また、出力ポートごとの選択バッファ413〜41339が出力ポートごとの有効情報信号414〜41439に基づき、入力側データバス408上に出力された複数の可変長パケットから、必要な可変長パケットのみを選択して格納することができる。パラレル展開数Bを数Kビットとして、スイッチコアの転送速度Sを大幅に削減することによって、超大容量のスイッチ回路を構築できる。たとえば、本実施例のパケットスイッチ回路104を既存のメモリアクセス性能(DRAM)を適用して1チップで実現する場合、1チップで約100Gbps(97.52Gbps=8Kビット/84n秒)のスイッチ容量となる。
【0074】
変形例
【0075】
図9は本発明の変形例として入力される可変長パケットの異なる伝送レートを混在させた図4に示した可変長パケットスイッチ回路における入力ポート側の変形を表わしたものである。この変形例では、図4で示した第1〜第39の入力ポート105〜10539に対応する構成の一部分を第1〜第42の入力ポート901〜90142に対応する構成の一部分としたものであり、その他の構成は図4と同一であり図示および説明を省略する。この図で図4と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この変形例では、第1〜第4の4個の入力ポート901〜901の最大伝送レートを622.08Mbps(メガビット/秒)とし、第5〜第42の入力ポート901〜90142の最大伝送レートを2.48832Gbpsとしている。第1〜第42の入力バッファ902〜90242の容量は同じ容量(8Kビット)とする。また、第1〜第4の入力バッファ902〜902に蓄積されている可変長パケットを入力ポート側メモリ409へ転送する周期は、第5〜第42の入力バッファ902〜90242の転送周期の4倍とする。すなわち、第1〜第4の入力バッファ902〜902から入力ポート側メモリ409への転送は13.12μ秒(3.28μ秒×4)ごとに行われる。
【0076】
図10は、変形例における入力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図(a)は図5(a)に示した時間の経過と同一である。入力ポート側メモリ409に対しての同図(b)で示す第1〜第42の入力バッファ902〜90242からの書き込みおよび同図(c)で示す入力ポート側データバス408への読み出しは交互に行われている。第1〜第4の入力バッファ902〜902のいずれかの書き込み513、第5の入力バッファ902の書き込み514、第6の入力バッファ(図示せず)の書き込み515の番号順で繰り返し行われる。第1〜第4の入力バッファ902〜902のいずれかの書き込み513は、第1〜第4の入力バッファ902〜902の番号順で繰り返し行われる。これにより、第1〜第4の入力バッファ902〜902の各転送周期を第5〜第42の入力バッファ902〜90242の4倍とすることができる。入力ポート側メモリ409からの読み出し516〜518は、図5と同様に周期84n秒で入力ポート側メモリ409に書き込まれたアドレス順で行われる。
【0077】
この変形例では、第1〜第42の入力ポート901〜90142から入力される可変長パケットの最大伝送レートの総和は97.04Gbps(622.08Mbps×4+2.48832Gbps×38)となる。これは図4で示したすべての入力ポートから入力される最大伝送レートが同じである場合の伝送レートの総和97.04Gbps(2.48832Gbps×39)と等しくなる。したがって、スイッチ容量を落とさずに入力の異なる最大伝送レートを混在させたパケットスイッチ回路が実現できる。
【0078】
発明のその他の変形可能性
【0079】
以上説明した実施例では、可変長パケットを対象にしてきたが、固定長パケットについても適用するものにしてもよい。また、バッファからメモリへの転送の周期を一定周期で説明したが、それぞれの入力ポートからのデータ伝送速度に対応して周期を変えてもよい。同様にしてメモリからバッファの転送の周期においても、アドレスに格納されたデータ量に対応して周期を変えてもよい。本実施例では容易な制御によるパケット転送を説明したが、転送周期を変えることによって更にパケット転送を効率良く行うことができる。また、有効情報圧縮スイッチ416は2入力2出力のセレクタを用いて構成したが、他にもクロスバースイッチを用いて構成してもよい。
【0080】
また本実施例では、有効情報信号414に基づいて可変長パケットを選択して格納するようにしたが、次に説明するようにしてもよい。入力ポート側データバス408上に出力されたパケットは、一旦すべて選択バッファ413に格納するようにする。出力されたすべてのパケットが一旦格納された後、有効情報信号414と共に有効情報圧縮スイッチ416にデータバス415を介して送られる。有効情報圧縮スイッチ416の前段に不要なパケットを廃棄する機能を備えて廃棄することも可能である。このとき、選択バッファ413は単なるバッファの機能のみの動作をすることになる。データバス415上のデータ列の有効情報と有効情報の間には不要なデータが存在することになるので廃棄する機能が必要になる。また、データバス415上のデータ列に不要なデータを伝送しないために、選択バッファ413の後段に不要なパケットを廃棄する機能を備えて一旦すべてのパケットを格納した後に廃棄することも可能である。
【0081】
更に実施例では、出力ポート側メモリ420にデータを書き込むとき、最後尾のアドレスの空き領域が足りない場合、そのアドレスには書き込まず次のアドレスに書き込むようにした。このような1アドレスで指定される領域での空き領域が不足する問題を解決するためには、たとえば出力ポート側メモリ420を2つ設けるようにすればよい。2つの出力ポート側メモリ420をそれぞれAメモリおよびBメモリとする。また、出力ポート側データバス419、AメモリおよびBメモリの1アドレスで指定されるビット幅を4ビットとして図7で示した有効情報圧縮スイッチ701を用いて説明する。
【0082】
まず、書き込み制御について説明する。有効情報圧縮スイッチ701で出力されるデータが4ビットであるとする。まずAメモリの1アドレスで指定される領域のまだデータが書き込まれていない領域に書き込むが、Aメモリの1ビット目から3ビット目はすでに前回データが書き込まれている場合を想定する。この場合、新たなデータをAメモリの4ビット目に書き込み、残りの3ビットのデータをBメモリに書き込むようにする。有効情報圧縮スイッチ701では、第1の入力ポート702に入力された1ビット目のデータを第4の出力ポート703に4ビット目のデータとして出力するようにする。また、第2〜第4の入力ポート702〜702にそれぞれ入力された残りの3ビットのデータは、第1〜第3の出力ポート703〜703にそれぞれ出力するようにする。これらの動作は図7で説明したように対応するセレクタを経由することによって行うことができる。したがって、第4の出力ポート703から出力されるデータはAメモリに書き込むデータとして、第1〜第3の出力ポート703〜703からそれぞれ出力されるデータはBメモリに書き込むデータとして配列されることになる。AメモリおよびBメモリへの書き込みは同じ書き込みサイクルで同時に行う。次の書き込みサイクルの書き込みデータは、Bメモリの1アドレスで指定される領域のまだ書き込まれていない領域に書き込みを行う。データがBメモリのまだ書き込まれていない領域に書き込みきれない場合、前述した手順でBメモリへの書き込みと、書き込みきれなかった残りのデータのAメモリへの書き込みを同時に行う。この書き込み制御で書き込みデータがAメモリおよびBメモリにそのまま転送される場合、それぞれのメモリに不必要なデータを廃棄するか、あるいはデータを更新する処理が必要になる。読み出し制御については、Aメモリ、Bメモリの1アドレスごと交互に読み出しを行う。したがって、メモリの1アドレスで指定されるビット幅のデータを順に書き込むことができるので、さらにデータの転送の効率化を図ることができる。
【0083】
【発明の効果】
以上説明したように請求項1記載の発明によれば、入力側蓄積手段から1回で取り出した全データに対して1つのアドレスを割り当ててデータの格納等の処理を行うので、1回分のデータであればこれが複数パケットで構成されていても一度に処理されることになり1パケットずつスイッチングする従来の処理に比べてスイッチングのための処理能力を向上させることができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【0084】
また請求項2記載の発明によれば、入力側蓄積手段ごとに蓄積されたパケットを取り出す周期をデータの最大伝送速度に対応して設定しているので、比較的高速の入力路を伝送されてきたデータをそれよりも遅い入力路を伝送されてきたデータよりも短い周期でスイッチングすることができる。また、個々のデータ格納領域に格納されるデータ量を均一化することができるので、効率的なデータ処理を行うことができる。これにより、1転送サイクルでほぼ一定の転送帯域を確保することができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【0085】
更に請求項3記載の発明によれば、データ格納手段の1つのアドレスに複数のパケットが格納されていてもこれらを同時にすべてのパケット選択手段に読み出し、該当するパケットを選択することができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【0086】
また請求項4の発明によれば、1つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送することができる。このため、1つのアドレスの全データを1回のサイクルで伝送することができ、1つのアドレスに割り当てられるデータを増加させることにより、大容量のパケットのスイッチングが可能になる。
【0087】
更に請求項5記載の発明によれば、入力路の異なるデータ伝送速度や単位時間当たり格納されるアドレス単位の異なるデータの量に対応した周期でデータを伝送するので、効率良くデータを処理することを可能にしている。
【0088】
また請求項6記載の発明によれば、パケット選択手段によって選択されたパケットをパケット格納手段のメモリ領域の空いている領域に格納することによって、パケットを出力路に効率良く出力することができる。
【0089】
更に請求項7記載の発明によれば、パケット選択手段の選択したパラレルデータを1回のサイクルで転送することができ、転送の処理が高速化する。また、パケット同士の間隔を詰めて転送するので、受信側の処理が効率化する。
【図面の簡単な説明】
【図1】本発明の一実施例における可変長パケットスイッチ回路を使用したルータの構成を表わした構成図である。
【図2】本実施例で可変長パケットの一例としてPPPフレームのフォーマットを表わした説明図である。
【図3】本実施例で図1で示した入力インタフェース部によって変換された可変長パケットの装置内フレームのフォーマットを表わした説明図である。
【図4】本実施例で図1に示した可変長パケットスイッチ回路の構成を表わした構成図である。
【図5】本実施例で入力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図6】本実施例で出力ポート側メモリへの可変長パケット書き込み制御の様子を表わした説明図である。
【図7】本実施例で有効情報圧縮スイッチの一例として2入力2出力のセレクタを用いた構成を表わした構成図である。
【図8】本実施例で出力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図9】本発明の変形例として入力される可変長パケットの異なる伝送レートを混在させた図4に示した可変長パケットスイッチ回路における入力ポート側の変形を表わした構成図である。
【図10】変形例における入力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図11】従来提案されたパケットスイッチ回路の構成を表わした構成図である。
【図12】従来提案されたアクセスメモリ制御を用いたパケットスイッチ回路の構成を表わした構成図である。
【図13】図12に示したパケットスイッチ回路のスイッチメモリ内のアクセスメモリ制御によるパケットのスイッチングを説明した説明図である。
【符号の説明】
104 可変長パケットスイッチ回路
105 入力ポート
106 出力ポート
401 入力線
402 出力ポート情報抽出部
403 出力ポート情報信号
404 出力ポート判定部
405 入力バッファ
407 パケット位置情報信号
408 入力ポート側データバス
409 入力ポート側メモリ
410 入力ポート側メモリ制御部
411、412、421、423 出力制御信号
413 選択バッファ
414 有効情報信号
415 データバス
416 有効情報圧縮スイッチ
417 出力ポート側メモリ制御部
418 先頭位置信号
419 出力ポート側データバス
420 出力ポート側メモリ
422 出力バッファ
424 出力線
425、427、430 アドレス情報信号
426 通知信号
428、431 リードライト制御信号
429 有効情報長信号
432 パケット転送要求信号
433 出力停止要求信号

Claims (7)

  1. 複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、
    これらの入力側蓄積手段のそれぞれに蓄積されたパケットを周期的に取り出して1回で取り出した入力側蓄積手段ごとの全データに対して共通した1つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、
    複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、
    前記データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を前記宛先から判別する宛先判別手段と、
    前記データ格納手段からアドレス単位でデータを順に周期的に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、
    前記出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段
    とを具備することを特徴とするパケットスイッチ回路。
  2. データの最大伝送速度を個別に設定された複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、
    これらの入力側蓄積手段のそれぞれに蓄積されたパケットをデータの最大伝送速度が速いほど短くなるような値に予め設定された入力側蓄積手段ごとの周期で取り出して、1回で取り出した入力側蓄積手段ごとの全データに対して共通した1つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、
    複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、
    前記データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を前記宛先から判別する宛先判別手段と、
    前記入力側蓄積手段に蓄積されたパケットのいずれかが前記データ格納手段に格納されるたびに前記データ格納手段からアドレス単位でデータを順に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、
    前記出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段
    とを具備することを特徴とするパケットスイッチ回路。
  3. 複数の入力路のそれぞれに対応して配置され、宛先の示されたパケットを順次蓄積する入力側蓄積手段と、
    これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して入力側蓄積手段ごとの1回で取り出した全データに対して共通した1つのアドレスを割り当て、アドレス単位で格納するデータ格納手段と、
    このデータ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットごとの送出先を前記宛先から判別する宛先判別手段と、
    この宛先判別手段で判別したデータを前記データ格納手段からアドレス単位で順に読み出すデータ読出手段と、
    このデータ読出手段がアドレス単位にデータを読み出すたびに前記宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択する出力ポートごとに設けられたパケット選択手段と、
    これらのパケット選択手段に対応して配置され、選択されたパケットを順次対応する出力路に出力する出力路別パケット出力手段
    とを具備することを特徴とするパケットスイッチ回路。
  4. 前記入力側蓄積手段はそれぞれの入力路からシリアルデータとしてパケットを順次入力して蓄積する手段であり、前記データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、1つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されていることを特徴とする請求項3記載のパケットスイッチ回路。
  5. 前記データ格納手段は、それぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納する手段であり、前記データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期で、このデータ格納手段からアドレス単位にデータを読み出す手段であることを特徴とする請求項3記載のパケットスイッチ回路。
  6. 前記出力路別パケット出力手段は、前記1回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段と、前記パケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにその全部のデータ量を算出するデータ量算出手段と、このデータ量算出手段で算出されたデータ量のパケットを転送するに先立って、前記パケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較する比較手段と、この比較手段によって比較された前記データ量の方が前記最も古い組のメモリ領域の空き容量以下であるときそのメモリ領域に前記パケット選択手段で選択されたパケットをすべて転送し、これ以外の場合にはこれらのパケットを前記最も古い組のメモリ領域の次に読み出されるべきメモリ領域にすべて転送するパケット転送手段を具備することを特徴とする請求項3記載のパケットスイッチ回路。
  7. 前記パケット転送手段は前記パケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備え、前記パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送することを特徴とする請求項6記載のパケットスイッチ回路。
JP2001061044A 2001-03-06 2001-03-06 パケットスイッチ回路 Expired - Fee Related JP3573095B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001061044A JP3573095B2 (ja) 2001-03-06 2001-03-06 パケットスイッチ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001061044A JP3573095B2 (ja) 2001-03-06 2001-03-06 パケットスイッチ回路

Publications (2)

Publication Number Publication Date
JP2002261797A JP2002261797A (ja) 2002-09-13
JP3573095B2 true JP3573095B2 (ja) 2004-10-06

Family

ID=18920398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001061044A Expired - Fee Related JP3573095B2 (ja) 2001-03-06 2001-03-06 パケットスイッチ回路

Country Status (1)

Country Link
JP (1) JP3573095B2 (ja)

Also Published As

Publication number Publication date
JP2002261797A (ja) 2002-09-13

Similar Documents

Publication Publication Date Title
JP4334760B2 (ja) ネットワーキングシステム
CN100405344C (zh) 用于在交换结构中分发缓冲区状态信息的装置和方法
US20020118706A1 (en) Data packet transmission scheduling based on anticipated finish times
WO2002091672A2 (en) A system and a method for processing data packets or frames
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
JPH10117200A (ja) 交換機、クロスコネクト・スイッチング装置、接続装置、および、交換機におけるルーティング方法
JP2001217873A (ja) 複数のデータストリームのパケット送信優先順位を決定する方法及び装置、データストリーム間でのデータパケットについての送信優先順位を決定する方法
US7079538B2 (en) High-speed router
JP3561870B2 (ja) パケットバッファ装置
JP2000124953A (ja) バッファ制御方法及びバッファ制御装置
US20020031092A1 (en) Switching apparatus, communication apparatus, and communication system
JPH11187052A5 (ja)
EP1508225B1 (en) Method for data storage in external and on-chip memory in a packet switch
CN113518046B (zh) 一种报文转发方法及框式交换设备
US20020075886A1 (en) Data communication network switching unit having a systolic ring structure
US20030152112A1 (en) Inverse multiplexing via disparate links
JP3573095B2 (ja) パケットスイッチ回路
US6643702B1 (en) Traffic scheduler for a first tier switch of a two tier switch
US6914901B1 (en) System and method for communicating using multiple memory banks
JP2009177256A (ja) パケットスイッチ装置およびパケットスイッチ方法
KR100384996B1 (ko) 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조 및 그 처리방법
JP2009218778A (ja) パケット伝送システム
JP3543725B2 (ja) パケット交換装置およびパケット交換方法
CN119210567B (zh) 基于多端口动态分配共享多队列的宽带卫星星载交换系统
JPH07283813A (ja) 出力バッファ型atmスイッチ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040621

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees