(57)【要約】【課題】セグメントデータが集中した場合でも、スイッチング処理の輻輳を軽減することが可能なパケット中継方法及び装置を提供する。【解決手段】セグメントデータ分割部12_1,12_10,12_20が、それぞれ、受信したパケットPD-A〜PD-Cから宛先アドレス(宛先カードIDD_ID＝“7”)及びパケット長を抽出し、各パケット長に基づきパケットPD-A〜PD-Cを所定長のデータDT-A1〜DT-A3,DT-B1〜DT-B2,DT-Cに分割すると共に、各データDT-A1〜DT-CのパケットPD-A〜PD-C中の位置を示す位置情報POSを生成する。各データDT-A1〜DT-Cに、各位置情報POS、宛先アドレスD_ID、及び送信元アドレス(送信元カードIDS_ID)として自分自身のアドレス“1”,“10”,”20”をそれぞれ設定したセグメントヘッダSH-A1〜SH-Cを付加してセグメントデータSD-A1〜SD-Cを生成し、スイッチカード20内のスイッチ21_1〜21_3,21_Y〜21_Y+1,21_Zに並列に与える。【選択図】図2
2008160570.tif 000002
【特許請求の範囲】
【請求項１】
パケットを受信する度毎に、該パケットから宛先アドレス及びパケット長を抽出する第１ステップと、
該パケット長に基づき該パケットを所定長のデータに分割すると共に、該分割した各データの該パケット中の位置を示す位置情報をそれぞれ生成する第２ステップと、
該分割された各データに、各位置情報、該宛先アドレス、及び送信元アドレスとして自分自身のアドレスをそれぞれ設定したセグメントヘッダを付加してセグメントデータを生成する第３ステップと、
各セグメントデータを、スイッチカードに並列に与える第４ステップと、
を備えたことを特徴とするパケット中継方法。
【請求項２】
請求項１において、
該宛先アドレス毎に各位置情報に対してシーケンス番号を付与する第５ステップをさらに備え、
該第３ステップが、該シーケンス番号を該セグメントヘッダに設定するステップを含むことを特徴としたパケット中継方法。
【請求項３】
パケットを所定長単位に分割した内の一のデータに、送信元アドレス及び該一のデータの該パケット中の位置を示す位置情報を設定したセグメントヘッダが付加されたセグメントデータをスイッチカードから並列に受信する度毎に、各セグメントデータを該セグメントヘッダと該一のデータとに分離する第１ステップと、
該分離された一のデータを順次記憶する第２ステップと、
該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する第３ステップと、
該リンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出す第４ステップと、
該リンクリストを順次参照して得られた該セグメントヘッダに設定された該位置情報に基づき、該読み出された一のデータを結合してパケットを組み立てる第５ステップと、
を備えたことを特徴とするパケット中継方法。
【請求項４】
請求項３において、
該セグメントヘッダには、該セグメントデータのシーケンス番号が設定されており、
該第１ステップで分離されたセグメントヘッダと、該分離された一のデータの記憶先とを順次対応付けて記憶する第６ステップと、
該第６ステップで記憶されたセグメントヘッダを順次参照し、参照中のセグメントヘッダに設定された送信元アドレス及びシーケンス番号が、いずれかの送信元アドレス及びその送信元アドレスに対して読み出すべきセグメントデータの読出シーケンス番号と一致した時、該参照中のセグメントヘッダとこれに対応する該分離された一のデータの記憶先とを読み出して該第３ステップを実行すると共に、該読出シーケンス番号を次に読み出すべきシーケンス番号に更新する第７ステップと、
をさらに備えたことを特徴とするパケット中継方法。
【請求項５】
パケットを受信する度毎に、該パケットから宛先アドレス及びパケット長を抽出する第１手段と、
該パケット長に基づき該パケットを所定長のデータに分割すると共に、該分割した各データの該パケット中の位置を示す位置情報をそれぞれ生成する第２手段と、
該分割された各データに、各位置情報、該宛先アドレス、及び送信元アドレスとして自分自身のアドレスをそれぞれ設定したセグメントヘッダを付加してセグメントデータを生成する第３手段と、
各セグメントデータを、スイッチカードに並列に与える第４手段と、
を備えたことを特徴とするパケット中継装置。
【請求項６】
請求項５において、
該宛先アドレス毎に各位置情報に対してシーケンス番号を付与する第５手段をさらに備え、
該第３手段が、該シーケンス番号を該セグメントヘッダに設定する手段を含むことを特徴としたパケット中継装置。
【請求項７】
パケットを所定長単位に分割した内の一のデータに、送信元アドレス及び該一のデータの該パケット中の位置を示す位置情報を設定したセグメントヘッダが付加されたセグメントデータをスイッチカードから並列に受信する度毎に、各セグメントデータを該セグメントヘッダと該一のデータとに分離する第１手段と、
該分離された一のデータを順次記憶する第２手段と、
該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する第３手段と、
該リンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出す第４手段と、
該リンクリストを順次参照して得られた該セグメントヘッダに設定された該位置情報に基づき、該読み出された一のデータを結合してパケットを組み立てる第５手段と、
を備えたことを特徴とするパケット中継装置。
【請求項８】
請求項７において、
該セグメントヘッダには、該セグメントデータのシーケンス番号が設定されており、
該第１手段で分離されたセグメントヘッダと、該分離された一のデータの記憶先とを順次対応付けて記憶する第６手段と、
該第６手段で記憶されたセグメントヘッダを順次参照し、参照中のセグメントヘッダに設定された送信元アドレス及びシーケンス番号が、いずれかの送信元アドレス及びその送信元アドレスに対して読み出すべきセグメントデータの読出シーケンス番号と一致した時、該参照中のセグメントヘッダとこれに対応する該分離された一のデータの記憶先とを読み出して該第３手段を実行すると共に、該読出シーケンス番号を次に読み出すべきシーケンス番号に更新する第７手段と、
をさらに備えたことを特徴とするパケット中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット中継方法及び装置に関し、特にパケットを所定長のセグメントデータに分割して中継するパケット中継方法及び装置に関するものである。
【背景技術】
【０００２】
上記のようなパケット中継方法及び装置の従来例を、図25を参照して以下に説明する。
【０００３】
従来例：図25
図25に示すパケット中継装置1を構成する入力側インタフェースカード10_1〜10_n(以下、符号10で総称することがある。)では、それぞれ、受信部11_1〜11_nが、前段からパケットPDを受信し、セグメントデータ分割部12_1〜12_n(以下、符号12で総称することがある。)が、受信したパケットPDを所定長のセグメントデータSDに分割して順次スイッチカード20に与える。
【０００４】
ここで、セグメントデータSDは、そのヘッダにパケットPDの宛先アドレスを含み、これを受けたスイッチカード20は、該宛先アドレスに従ってセグメントデータSDを出力側インタフェースカード30_1〜30_n(以下、符号30で総称することがある。)のいずれかにに振り分ける処理(以下、スイッチング処理)を行う。
【０００５】
スイッチング処理されたセグメントデータSDを受けた出力側インタフェースカード30_1〜30_nでは、それぞれ、パケット組立部31_1〜31_n(以下、符号31で総称することがある。)が、セグメントデータSDから元のパケットPDを組み立て、送出部32_1〜32_nが、組み立てられたパケットPDを後段に送出する。
【０００６】
このように、パケットをセグメントデータ単位でスイッチング処理することにより、パケットの優先度制御(例えば、先行して入力されたパケットより優先度の高いパケットを受けた場合に、そのセグメントデータを、先行する優先度の低いパケットのセグメントデータに割り込ませてスイッチング処理させる)等を行うことが可能となり、以てパケットの通信品質を保証している。
【０００７】
なお、参考例として、以下の(1)及び(2)に示すものがある。
【０００８】
参考例(1)
入力されたパケットをそのクラス(優先度)に応じて複数のキューのいずれかにエンキューし、該クラスと、該入力されたパケットを所定長に分割する際のセグメントデータ数と、各キュー内のセグメントデータ数の総和とに基づきスケジューリング処理及び帯域計算を行って選択したキューからパケットをデキューするパケット処理装置(例えば、特許文献1参照。)。
【０００９】
参考例(2)
同一宛先アドレスのパケットが入力側インタフェースカードに複数入力された時、宛先アドレス毎に複数の異なる経路情報を設定したマルチパスルーティングテーブルを参照し、各パケットを、該経路情報に従って少なくとも２つの出力側インタフェースカードに選択的に振り分けるパケット中継装置(例えば、特許文献2参照。)。
【特許文献１】特開2005-286383号公報
【特許文献２】特開2006-165952号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
近年のパケット通信トラフィックの増加に伴い、パケット中継装置内を伝送させるセグメントデータ数は増大する傾向にある。
【００１１】
この場合、図25に示した従来例では、スイッチカードに各入力側インタフェースカードから送出されるセグメントデータが集中し得るため、スイッチング処理が輻輳してパケットの伝送遅延や欠落等を発生させてしまうという課題がある。
【００１２】
従って、本発明は、セグメントデータが集中した場合でも、スイッチング処理の輻輳を軽減することが可能なパケット中継方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
[1]上記の目的を達成するため、本発明の一態様に係るパケット中継方法(又は装置)は、パケットを受信する度毎に、該パケットから宛先アドレス及びパケット長を抽出する第１ステップ(又は手段)と、該パケット長に基づき該パケットを所定長のデータに分割すると共に、該分割した各データの該パケット中の位置を示す位置情報をそれぞれ生成する第２ステップ(又は手段)と、該分割された各データに、各位置情報、該宛先アドレス、及び送信元アドレスとして自分自身のアドレスをそれぞれ設定したセグメントヘッダを付加してセグメントデータを生成する第３ステップ(又は手段)と、各セグメントデータを、スイッチカードに並列に与える第４ステップ(又は手段)とを備えたことを特徴とする。
【００１４】
すなわち、本発明の一態様に係るパケット中継方法(又は装置)(セグメントデータ送信側)では、パケットを受信する度毎に生成した各セグメントデータをスイッチカードに並列に与えるため、該スイッチカードは、小さな処理量で輻輳等を生じることなくスイッチング処理を行うことが可能である。
【００１５】
また、各セグメントデータ中のセグメントヘッダに位置情報及び送信元アドレスを設定するため、セグメントデータ受信側では、これらに基づきパケットを組み立てることが可能となる。
【００１６】
[2]また、上記[1]において、該第４ステップ(又は手段)が、各セグメントデータを該スイッチカードに並列に与えるための複数の物理的又は論理的な伝送路に順次巡回させながら送出するようにしても良い。
【００１７】
すなわち、各セグメントデータを該スイッチカードに並列に与えるための各伝送路に巡回して送出することにより、該スイッチカード内のリソースを均等に使用することが可能となり、以てスイッチング処理負荷をより低減することができる。
【００１８】
[3]また、上記[1]において、該宛先アドレス毎に各位置情報に対してシーケンス番号を付与する第５ステップ(又は手段)をさらに備え、該第３ステップ(又は手段)が、該シーケンス番号を該セグメントヘッダに設定するステップ(又は手段)を含むようにしても良い。
【００１９】
すなわち、該スイッチカード内の各リソースのスイッチング処理負荷や処理性能等が異なり、各セグメントデータの処理時間に差が生じてしまうような場合等には、セグメントデータ受信側におけるセグメントデータの受信順序が、セグメントデータ送信側での送出順序と異なってしまう虞れがある。
【００２０】
このため、セグメントデータ送信側では、該送信元アドレス毎に各位置情報に対してシーケンス番号を付与し、各セグメントデータ中のセグメントヘッダに設定する。
【００２１】
これにより、セグメントデータ受信側では、該シーケンス番号に基づきセグメントデータを並び替えて元のパケットを順序通り正しく組み立てることができる。
【００２２】
[4]また、上記の目的を達成するための本発明の一態様に係るパケット中継方法(又は装置)は、パケットを所定長単位に分割した内の一のデータに、送信元アドレス及び該一のデータの該パケット中の位置を示す位置情報を設定したセグメントヘッダが付加されたセグメントデータをスイッチカードから並列に受信する度毎に、各セグメントデータを該セグメントヘッダと該一のデータとに分離する第１ステップ(又は手段)と、該分離された一のデータを順次記憶する第２ステップ(又は手段)と、該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する第３ステップ(又は手段)と、該リンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出す第４ステップ(又は手段)と、該リンクリストを順次参照して得られた該セグメントヘッダに設定された該位置情報に基づき、該読み出された一のデータを結合してパケットを組み立てる第５ステップ(又は手段)とを備えたことを特徴とする。
【００２３】
すなわち、セグメントデータ受信側においては、例えば上記[1]で説明したスイッチカードのスイッチング処理により、複数の送信元アドレスからセグメントデータを並列に受信し得る。このため、まず、各セグメントデータを該セグメントヘッダと該一のデータとに分離し、該分離された一のデータを一旦記憶する。
【００２４】
そして、該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に、該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する。
【００２５】
ここで、該位置情報には該一のデータのパケット中の位置が設定されており、例えば該位置情報が該パケットの先頭を示す時、リンクリストを新たに生成し、該位置情報が該パケットの末尾を示す迄そのリンクリストを更新する。これにより、該送信元アドレス毎にパケット単位のリンクリストが作成される。
【００２６】
そして、上記のようにして作成されたリンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出した一のデータを、各リンクリストを参照して得られた該セグメントヘッダに設定された該位置情報に基づき結合してパケットを組み立てる。
【００２７】
このように、複数の送信元アドレスからセグメントデータを並列に受信する場合であっても、送信元アドレス毎に元のパケットを正しく組み立てることが可能である。
【００２８】
[5]また、上記[4]において、該第３ステップ(又は手段)で生成又は更新された各リンクリストのスケジューリング処理を行う第６ステップ(又は手段)をさらに備え、該第４及び該第５ステップ(又は手段)が、該スケジューリング処理されたリンクリストから順に該参照を行うようにしても良い。
【００２９】
すなわち、該リンクリストのスケジューリング処理を行うことにより、該リンクリストの生成又は更新と、その参照及び読出とを非同期に制御することが可能であり、以てリンクリストに係る制御を迅速に行うことができる。
【００３０】
また、該スケジューリング処理には、該リンクリストの作成順や、該送信元アドレスの優先度順等を用いた種々のスケジューリング技術を適用することができる。
【００３１】
[6]また、上記[4]において、該セグメントヘッダには、該セグメントデータのシーケンス番号が設定されており、該第１ステップ(又は手段)で分離されたセグメントヘッダと、該分離された一のデータの記憶先とを順次対応付けて記憶する第６ステップ(又は手段)と、該第６ステップ(又は手段)で記憶されたセグメントヘッダを順次参照し、参照中のセグメントヘッダに設定された送信元アドレス及びシーケンス番号が、いずれかの送信元アドレス及びその送信元アドレスに対して読み出すべきセグメントデータの読出シーケンス番号と一致した時、該参照中のセグメントヘッダとこれに対応する該分離された一のデータの記憶先とを読み出して該第３ステップ(又は手段)を実行すると共に、該読出シーケンス番号を次に読み出すべきシーケンス番号に更新する第７ステップ(又は手段)とをさらに備えても良い。
【００３２】
すなわち、上記[3]で説明した通り、セグメントデータの受信順序がセグメントデータ送信側での送出順序と異なる場合があるため、該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けて一旦記憶する。
【００３３】
そして、該記憶されたセグメントヘッダ及び一のデータの記憶先の内、いずれかの送信元アドレスに対して次に読み出すべきセグメントデータの読出シーケンス番号と一致するものを読み出す。
【００３４】
これにより、該セグメントヘッダ及び該一のデータを、シーケンス番号順に並べ替えることができる。
【００３５】
[7]また、上記[6]において、該第６ステップ(又は手段)が、該分離されたセグメントヘッダに設定された送信元アドレス及びシーケンス番号をキーとして該記憶を行うステップ(又は手段)を含み、該第７ステップ(又は手段)が、該送信元アドレス及び該読出シーケンス番号をキーとして該読出を行うステップ(又は手段)を含むようにしても良い。
【００３６】
すなわち、送信元アドレス及びシーケンス番号から生成されるキーはセグメントデータ毎に異なる一意の値を示すため、このキーを用いて各セグメントヘッダ及び各一のデータの記憶先を記憶する領域を簡易に管理することができる。
【００３７】
[8]また、上記[6]において、該第６ステップ(又は手段)が、該分離されたセグメントヘッダと該分離された一のデータの記憶先とを対応付けて記憶した時、各送信元アドレスに対する読出シーケンス番号と、各シーケンス番号が設定されたセグメントヘッダを記憶したか否かを示すフラグとを対応付けた管理情報中の該記憶したセグメントヘッダに設定されたシーケンス番号に対応するフラグを受信済みに設定するステップ(又は手段)を含み、該第７ステップ(又は手段)が、該管理情報を該送信元アドレス毎に巡回しながら参照し、該読出シーケンス番号に対応するフラグが該受信済みに設定されている時、該一致と判定すると共に該参照中のフラグの設定を解除するステップ(又は手段)を含むようにしても良い。
【００３８】
すなわち、各送信元アドレスからのセグメントデータの受信状態を、各シーケンス番号が設定されたセグメントヘッダを記憶したか否かを示すフラグを用いて一元管理することにより、次に読み出すべきセグメントデータが受信されているか否かを迅速且つ容易に判定することができる。
【発明の効果】
【００３９】
本発明によれば、セグメントデータのスイッチング処理の輻輳を軽減することができ、以てパケットの伝送遅延や欠落等を防止することができる。また、セグメントデータを並列にスイッチング処理できるため、パケットの伝送効率を向上させることができる。
【００４０】
また、受信するセグメントデータをその送信元における送出順序と一致するよう並べ替えてからパケットを組み立てることができるようにしたので、パケットの通信品質を保証することができる。
【発明を実施するための最良の形態】
【００４１】
本発明に係るパケット中継方法及びこれを使用する装置の実施例[1]及び[2]を、図1〜24を参照して以下の順に説明する。
I. 本発明の全体構成例 (各実施例に共通)：図1
II. 実施例[1]：図2〜14
II.1. 全体の動作例：図2
II.2. セグメントデータ分割部の構成例：図3
II.3. セグメントデータ分割部の動作例：図4及び5
II.3.A. セグメントデータ生成動作例：図4
II.3.B. 分散処理部の実施例：図5
II.4. パケット組立部の構成例：図6
II.5. パケット組立部の動作例：図7〜14
II.5.A. 受信処理部の実施例：図7
II.5.B. データバッファ制御部の実施例：図8及び9
II.5.C. リンクリスト制御部の実施例：図10〜14
III. 実施例[2]：図15〜24
III.1. 全体の動作例：図15
III.2. セグメントデータ分割部の構成例：図16
III.3. セグメントデータ分割部の動作例：図17及び18
III.3.A. シーケンス番号生成部の実施例：図17
III.3.B. セグメントデータ生成動作例：図18
III.4. パケット組立部の構成例：図19
III.5. パケット組立部の動作例：図20〜24
III.6.A. 並替部の実施例：図20〜24
【００４２】
I.本発明の全体構成例 (各実施例に共通)：図1
図1に本発明の実施例[1]及び[2]に共通のパケット中継装置1の構成例を示す。
【００４３】
このパケット中継装置1は、図25に示した従来のパケット中継装置とは異なり、スイッチカード20がセグメントデータSDのスイッチング処理を並列に行うm個のスイッチ21_1〜21_mを備えている。
【００４４】
また、各スイッチ21_1〜21_mの入力側と各セグメントデータ分割部12_1〜12_nとの間は、それぞれ伝送路LS1_1〜LS1_m、LS2_1〜LS2_m、…、LSn_1〜LSn_mで接続され、各スイッチ21_1〜21_mの出力側と各パケット組立部31_1〜31_nとの間は、それぞれ伝送路LR1_1〜LR1_m、LR2_1〜LR2_m、…、LRn_1〜LRn_mで接続されている。
【００４５】
また、セグメントデータSDの送信側である入力側インタフェースカード10_1〜10_nには、各々を一意に識別するためのカードID“1”〜“n”が付与され、セグメントデータSDの受信側である出力側インタフェースカード30_1〜30_nにも、同様にカードID“1”〜“n”が付与されている。
【００４６】
II.実施例[1]：図2〜14
図2は、図1に示したパケット中継装置1の構成の内、一例として、セグメントデータ分割部12_1、12_10、及び12_20、スイッチカード20、並びにパケット組立部31_7を抜き出し強調して示したものである。なお、本実施例では、パケット組立部31_7が、３つのセグメントデータ分割部12_1、12_10、及び12_20からセグメントデータを並列に受信し、その受信順序が、各セグメントデータ分割部12_1、12_10、及び12_20からの送出順序と同じ場合について扱い、異なる場合については、後述する実施例[2]で説明する。
【００４７】
II.1.全体の動作例：図2
以下、この図2を参照して本実施例の全体動作を説明する。
【００４８】
図示のように、パケットPD-Aを受信したセグメントデータ分割部12_1は、このパケットPD-Aを所定長の例えば３つのデータDT-A1〜DT-A3に分割すると共に、各データDT-A1〜DT-A3にセグメントヘッダSH-A1〜SH-A3を付加してセグメントデータSD-A1〜SD-A3を生成し、例えばスイッチ21_1〜21_3に並列に送出する。
【００４９】
ここで、各セグメントヘッダSH-A1〜SH-A3には、各データDT-A1〜DT-A3のパケットPD-A中の位置“先頭”、“中間”、及び“末尾”を示す位置情報POS、宛先カードIDD_ID(宛先アドレス)としてパケット組立部31_7のカードID“7”、並びに送信元カードID S_ID(送信元アドレス)として自分自身のカードID“1”がそれぞれ設定されている。
【００５０】
スイッチ21_1〜21_3は、それぞれ、セグメントデータSD-A1〜SD-A3中のセグメントヘッダSH-A1〜SH-A3に設定された宛先カードIDD_ID(共に“7”)に従ってスイッチング処理を実行し、各セグメントデータSD-A1〜SD-A3をパケット組立部31_7に並列に与える。
【００５１】
また、パケットPD-Bを受信したセグメントデータ分割部12_10及びパケットPD-Cを受信したセグメントデータ分割部12_20は、それぞれ、上記と同様にして生成した例えば２つのセグメントデータSD-B1及びSD-B2、並びに例えば１つのセグメントデータSD-Cを、例えばスイッチ21_Y及び21_Y＋1、並びにスイッチ21_Zに並列に送出する。
【００５２】
これにより、セグメントデータSD-B1及びSD-B2、並びにSD-Cが、それぞれ、上記と同様にしてスイッチ21_Y及び21_Y＋1、並びに21_Zでスイッチング処理されてパケット組立部31_7に並列に与えられる。
【００５３】
今、パケット組立部31_7において、スイッチング処理されたセグメントデータSD-A1〜SD-A3、SD-B1及びSD-B2、並びにSD-Cが、図示のようにセグメントデータSD-A1→SD-B1→SD-B2→SD-A2→SD-A3→SD-Cの順に受信されたものとする。
【００５４】
この場合、始めに先頭から末尾までの一連のセグメントデータ(すなわち、１パケット分のセグメントデータ)が受信されるのは、送信元カードIDS_ID＝“10”からのセグメントデータSD-B1及びSD-B2であるため、パケット組立部31_7は、これをセグメントデータSD-B1及びSD-B2中のセグメントヘッダSH-B1及びSH-B2に設定された位置情報POS及び送信元カードIDS_IDに基づいて認識し、セグメントデータSD-B1及びSD-B2中のデータDT-B1及びDT-B2を結合してパケットPD-Bを組み立て後段に送出する。
【００５５】
次に、パケット組立部31_7は、最初に受信したセグメントデータSD-A1、並びにセグメントデータSD-B2の後に受信したセグメントデータSD-A2及びSD-A3中のセグメントヘッダSH-A1〜SH-A3に設定された位置情報POS及び送信元カードIDS_IDに基づき、送信元カードID S_ID＝“1”からのセグメントデータを先頭から末尾まで１パケット分受信したことを認識し、セグメントデータSD-A1〜SD-A3中のデータDT-A1〜DT-A3を結合してパケットPD-Aを組み立て後段に送出する。
【００５６】
そして最後に、パケット組立部31_7は、セグメントデータSD-C中のセグメントヘッダSH-Cに設定された位置情報POS及び送信元カードIDS_IDに基づき、送信元カードID S_ID＝“20”からのセグメントデータを先頭且つ末尾の１パケット分受信したことを認識し、セグメントデータSD-C中のデータDT-Cを抽出してパケットPD-Cとして後段に送出する。
【００５７】
以下、これを実現するセグメントデータ分割部12及びパケット組立部31の構成例及び動作例を、図3〜14を参照して説明する。
【００５８】
II.2.セグメントデータ分割部の構成例：図3
図3に示すセグメントデータ分割部12は、受信したパケットPDから宛先カードID D_ID及びパケット長PLを抽出するパケットヘッダ抽出部121と、抽出されたパケット長PLに基づきパケットPDを所定長のデータDTに分割すると共に各データDTのパケットPD中の位置を示す位置情報POSをそれぞれ生成する分割部122と、各データDTに各位置情報POS、宛先カードIDD_ID、及び送信元カードID S_IDとして自分自身のカードIDをそれぞれ設定したセグメントヘッダを付加してセグメントデータSDを生成するセグメントヘッダ付加部123と、各セグメントデータSDを伝送路LS_1〜LS_mに並列に送出する分散処理部124とで構成されている。
【００５９】
II.3.セグメントデータ分割部の動作例：図4及び5
次に、図3に示したセグメントデータ分割部12の動作について説明するが、まず、パケットヘッダ抽出部121、分割部122、及びセグメントヘッダ付加部123によるセグメントデータの生成動作例を、図4を参照して説明する。そして、分散処理部124の実施例を、図5を参照して説明する。
【００６０】
II.3.A.セグメントデータ生成動作例：図4
このセグメントデータ生成動作例では、図2に示したパケットPD-A〜PD-Cを例に取ってセグメントデータSD-A1〜SD-A3、SD-B1及びSD-B2、並びにSD-Cの生成工程を説明する。
【００６１】
パケットPD-Aを受信した時、パケットヘッダ抽出部121は、図4(1)に示すように、まずパケットPD-A中のパケットヘッダPH-Aからパケット長PL＝“aバイト”及び宛先カードIDD_ID＝“7”を抽出すると共に、抽出したパケット長PL及び宛先カードID D_IDをそれぞれ分割部122及びセグメントヘッダ付加部123に与える。
【００６２】
ここで、パケットヘッダ抽出部121がパケット長PLを抽出するのは、受信するパケットPDが可変長であり、そのパケットPDをいくつのデータDTに分割すれば良いかを分割部123に判断させるためである。
【００６３】
分割部122は、パケット長PLに基づきパケットPD-Aを、パケットヘッダPH-A及びペイロードPY-Aの一部であるPY-A1を含むa1バイトのデータDT-A1と、ペイロードPY-A2のみを含むa2(＝a1)バイトのデータDT-A2と、a3(＜a1)バイト分のペイロードPY-A3にパディングPADを付加したデータDT-A3とに分割してセグメントヘッダ付加部123に順次与える。これと同時に、分割部122は、データDT-A1〜DT-A3の位置情報POS1＝“先頭”、POS2＝“中間”、及びPOS3＝“末尾”をそれぞれ生成してセグメントヘッダ付加部123に順次与える。
【００６４】
セグメントヘッダ付加部123は、位置情報POS1〜POS3、宛先カードID D_ID、送信元カードIDS_IDをそれぞれ設定したセグメントヘッダSH-A1〜SH-A3をデータDT-A1〜DT-A3に付加したセグメントデータSD-A1〜SD-A3を生成して分散処理部124に順次与える。
【００６５】
また、パケットデータPD-B及びPD-Cを受信した時も、上記と同様にして同図(2)に示すセグメントデータSD-B1及びSD-B2、並びに同図(3)に示すセグメントデータSD-Cが生成される。
【００６６】
II.3.B.分散処理部の実施例：図5
図5に示す分散処理部124は、各セグメントデータSDを伝送路LS_1〜LS_mに対して巡回させながら送出する分散部1241と、この分散部1241と各伝送路LS_1〜LS_mとの間に設けられ、各セグメントデータSDを8B/10B符号則に従って符号化する回路1242_1〜1242_m(以下、符号1242で総称することがある。)と、符号化された各セグメントデータSDをパラレル-シリアル変換するP/S変換部1243_1〜1243_m(以下、符号1243で総称することがある。)とを備えている。
【００６７】
なお、8B/10B符号化回路1242及びP/S変換部1243は必須では無く、セグメントデータSDをスイッチカード20に対して高速に伝送させたい場合に設ければ良い。
【００６８】
動作においては、図4(1)に示した３つのセグメントデータSD-A1〜SD-A3を例に取ると、
分散部1241は、まず始めに受信したセグメントデータSD-A1を例えば8B/10B符号化回路1242_1に与え、継続して受信するセグメントデータSD-A2及びSD-A3を、それぞれ8B/10B符号化回路1242_2及び1242_3に与える。
【００６９】
そして、セグメントデータSD-A1〜SD-A3は、それぞれ8B/10B符号化回路1242_1〜1243_3で符号化され且つP/S変換部1243_1〜1243_3でパラレル-シリアル変換された後、伝送路LS_1〜LS_3を介してスイッチカード20へ送出される。
【００７０】
以降、継続するセグメントデータ(図示せず)を受信する度毎に、分散部1241は、そのセグメントデータを8B/10B符号化回路1242_4→1242_5→…→1242_m→1242_1→…に巡回させながら与え、以てセグメントデータが伝送路LS_4→LS_5→…→LS_m→LS_1→…を介してスイッチカード20へ送出される。
【００７１】
このようにして、セグメントデータSDをスイッチカード20に並列に与えることができ、且つスイッチカード20内のスイッチ21_1〜21_mを均等に使用することができる。
【００７２】
II.4.パケット組立部の構成例：図6
図6に示すパケット組立部31は、スイッチカード20でスイッチング処理された各セグメントデータSDを伝送路LR_1〜LR_mを介して並列に受信し、データDTとセグメントヘッダSHとに順次分離して出力する受信処理部311と、分離された各データDTをデータバッファBUF1に順次書き込み、そのデータ書込アドレスWAを出力するデータバッファ制御部312と、受信処理部311から出力された各セグメントヘッダSH及びデータバッファ制御部312から出力された各データ書込アドレスWAを対応付けたリンクリストLISTを作成してリンクリストメモリMEM1に格納すると共に、作成したリンクリストLISTの先頭ポインタHPを出力するリンクリスト制御部313と、このポインタHPにスケジューリング処理(例えば、リンクリスト先頭ポインタHPの入力順(リンクリストLISTの作成順)をそのまま出力の優先順位とした処理)を施したリンクリスト先頭ポインタHP_Sをリンクリスト制御部313に与え、ポインタHP_Sに対応するリンクリストLISTを参照させるスケジューラ314と、リンクリストLISTを参照して得られたアドレスWAをデータ読出アドレスRAとしてデータバッファ制御部312に与えてバッファBUF1から読み出させた各データDTを、リンクリストLISTを参照して得られた各セグメントヘッダSHに基づき結合してパケットPDを組み立てる組立部315とで構成されている。
【００７３】
なお、スケジューラ314は必須では無く、これを設けない場合には、リンクリスト制御部313が、リンクリストLISTを作成する度毎にその参照も同時に行えば良い。
【００７４】
II.5.パケット組立部の動作例：図7〜14
次に、図6に示したパケット組立部31の動作を、受信処理部311の実施例、データバッファ制御部312の実施例、及びリンクリスト制御部313の実施例の順に、図7〜14を参照して説明する。
【００７５】
II.5.A.受信処理部の実施例：図7
図7に示す受信処理部311は、スイッチカード20でスイッチング処理されたセグメントデータSDを伝送路LR_1〜LR_mを介して並列に受信すると共に、各セグメントデータSDをシリアル-パラレル変換するS/P変換部3111_1〜3112_m(以下、符号3111で総称することがある。)と、シリアル-パラレル変換された各セグメントデータSDを8B/10B符号則に従って復号化する回路3112_1〜3112_m(以下、符号3112で総称することがある。)と、復号化された各セグメントデータSDを順次出力するセレクタ3113と、このセレクタ3113から出力されたセグメントデータSDをデータDTとセグメントヘッダSHとに順次分割するセグメントデータ分割部3114とを備えている。
【００７６】
なお、S/P変換部3111及び8B/10B復号化回路3112は、図5に示した8B/10B符号化回路1242及びP/S変換部1243に対応させて設けたものであり必須では無い。
【００７７】
動作においては、図2に示したセグメントデータSD-A1〜SD-A3、SD-B1及びSD-B2、並びにSD-Cを例に取ると、これらのセグメントデータは、伝送路LS-A1〜LS-A3、LS-Y及びLS-Y+1、並びにLS-Zを介して受信され、S/P変換部3111及び8B/10B復号化回路3112でシリアル-パラレル変換及び復号化された後、セレクタ3113に与えられる。
【００７８】
今、図2でも示した通り、セグメントデータがSD-A1→SD-B1→SD-B2→SD-A2→SD-A3→SD-Cの順に受信された例を挙げたため、セレクタ3113が、まずセグメントデータSD-A1をセグメントデータ分離部3114に与え、セグメントデータ分離部3114が、セグメントデータSD-A1をデータDT-A1とセグメントヘッダSH-A1とに分離すると共に、データDT-A1をデータバッファ制御部312に与え、セグメントヘッダSH-A1をリンクリスト制御部313に与える。
【００７９】
以降、上記と同様にしてデータバッファ制御部312には、データがDT-B1→DT-B1→DT-B2→DT-A2→DT-A3→DT-Cの順に与えられ、リンクリスト制御部313には、セグメントヘッダがSH-B1→SH-B1→SH-B2→SH-A2→SH-A3→SH-Cの順に与えられる。
【００８０】
II.5.B.データバッファ制御部の実施例：図8及び9
図8に示すデータバッファ制御部312は、その内部にデータバッファBUF1の空きアドレスを格納するための空きアドレスFIFOバッファBUF2を備えている。
【００８１】
また、データバッファBUF1は、アドレスA1〜Akに区分され、その各々にデータDT1〜DTkを１つずつ格納できるように構成している。ここで、kは、１つのパケット組立部31で受信し得る最大セグメントデータ数に設定すれば良い。
【００８２】
今、図9(1)に示すように、空きアドレスFIFOバッファBUF2にデータバッファBUF1の空きアドレスA10、A20、A30、A40、A50、A60が格納されているとする。
【００８３】
図7に示した受信処理部311から、データがDT-A1→DT-B1→DT-B1→DT-B2→DT-A2→DT-A3→DT-Cの順に与えられるため、データバッファBUF1への書込動作において、データバッファ制御部312は、図9(1)及び(2)に示すように、まず空きアドレスFIFOバッファBUF2からアドレスA10を取り出してデータバッファBUF1のアドレスA10にデータDT-A1を書き込むと共に、そのデータ書込アドレスWA＝“A10”をリンクリスト制御部313に与える。
【００８４】
以降、データバッファ制御部312は、上記と同様にしてデータDT-B1、DT-B2、DT-A2、DT-A3、及びDT-Cを、データバッファBUF1のアドレスA20、A30、A40、A50、及びA60に順次書き込むと共に、リンクリスト制御部313に、データ書込アドレスWA＝“A20”、“A30”、“A40”、“A50”、及び“A60”を順次与える。
【００８５】
また、データバッファBUF1からの読出動作においては、リンクリスト制御部313から後述する如くデータ読出アドレスRAを受ける度毎に、データバッファ制御部312が、データバッファBUF1のアドレスRAからデータDTを読み出して組立部315に与えると共に、読出が完了したアドレスRAを空きアドレスFIFOバッファBUF2に格納する。
【００８６】
II.5.C.リンクリスト制御部の実施例：図10〜14
図10に示すリンクリスト制御部313は、データ書込アドレスWA及びセグメントヘッダSHを受ける度毎に、リンクリスト管理情報メモリMEM2に読出制御信号RSを与えて読み出したリンクリスト管理情報LINFO中のリンクリスト末尾ポインタTPを参照してリンクリストメモリMEM1にデータ書込アドレスWA及びセグメントヘッダSHを対応付けたリンクリストを生成又は更新し、リンクリスト管理情報LINFOを更新する(更新後のリンクリスト管理情報LINFO_UをメモリMEM2に書き込む)と共に作成したリンクリストの先頭ポインタHPをスケジューラ314に与えるリンクリスト生成／更新部3131と、スケジューリング後のリンクリスト先頭ポインタHP_Sに対応するリンクリストを順次参照し、セグメントヘッダSH及びデータ読出アドレスRA(リンクリストを参照して得たデータ書込アドレスWA)を順次出力するリンクリスト参照部3132とを備えている。
【００８７】
また、リンクリスト管理情報メモリMEM2は、図11(1)に示すように、そのアドレス1〜nを送信元カードIDS_IDと１対１に対応させ、送信元カードID S_ID毎にリンクリスト先頭ポインタHP及びリンクリスト末尾ポインタTPから成るリンクリスト管理情報LINFO1〜LINFOnを格納できるように構成している。
【００８８】
また、リンクリストメモリMEM1は、同図(2)に示すように、そのアドレスA1〜Akをデータ書込アドレスWAと１対１に対応させ(すなわち、図8に示したデータバッファBUF1と同一のアドレス系列を有するように区分し)、データ書込アドレスWA毎にセグメントヘッダSH及び次ポインタ(次データ書込アドレス)NPを格納できるように構成している。
【００８９】
すなわち、図11(3)に示すように、リンクリスト管理情報メモリMEM2のアドレスnには、送信元カードIDS_ID＝“n”用のリンクリスト管理情報LINFOnが格納され、リンクリストメモリMEM1には、送信元カードID S_ID＝“n”からのデータ書込アドレスWA及びセグメントヘッダSHをその受信順に論理的にリンクさせたリストLISTnが作成される。また、リンクリスト管理情報LINFOn中のリンクリスト先頭ポインタHP及び末尾ポインタTPは、リンクリストLISTn中の先頭のレコード及び末尾のレコードが格納されるリンクリストメモリMEM1中の物理アドレスを示している。
【００９０】
動作においては、リンクリスト生成／更新部3131が、図2に示したセグメントデータ分割部12_1、12_10、及び12_20毎、すなわち、送信元カードIDS_ID＝“1”、“10”、及び“20”毎にリンクリストLISTを以下のように作成する。
【００９１】
すなわち、図12(1)に示すように、リンクリスト生成／更新部3131が、まず始めにセグメントヘッダSH-A1及びデータ書込アドレスWA＝“A10”を受信する。この時、リンクリスト生成／更新部3131は、セグメントヘッダSH-A1に設定された送信元カードIDS_IDが“1”であることを認識し、リンクリスト管理情報メモリMEM2に読出制御信号RS(送信元カードID S_ID＝“1”)を与えてアドレス“1”からリンクリスト管理情報LINFO1を読み出す。
【００９２】
そして、リンクリスト生成／更新部3131は、さらに、セグメントヘッダSH-A1に設定された位置情報POSが“先頭”であること(すなわち、送信元カードIDS_ID＝“1”に対して新たにリンクリストを生成する必要があること)を認識し、リンクリスト管理情報LINFO1中のリンクリスト先頭ポインタHP1及び末尾ポインタTP1をアドレス“A10”に更新すると共に、リンクリストメモリMEM1のアドレス“A10”にセグメントヘッダSH-A1を書き込む。
【００９３】
同図(2)に示すように、セグメントヘッダSH-B1及びデータ書込アドレスWA＝“A20”を受信した時、リンクリスト生成／更新部3131は、上記と同様にしてリンクリスト管理情報LINFO10中のリンクリスト先頭ポインタHP10及び末尾ポインタTP10をアドレス“A20”に更新すると共に、リンクリストメモリMEM1のアドレス“A20”にセグメントヘッダSH-B1を書き込む。
【００９４】
同図(3)に示すように、セグメントヘッダSH-B2及びデータ書込アドレスWA＝“A30”を受信した時、リンクリスト生成／更新部3131は、セグメントヘッダSH-B2に設定された位置情報POSが“末尾”であること(すなわち、送信元カードIDS_ID＝“10”に対するリンクリストを更新する必要があること)を認識し、リンクリスト管理情報LINFO10中のリンクリスト末尾ポインタTP10を参照してリンクリストメモリMEM1のアドレス“A20”の次ポインタNPにアドレス“A30”を書き込むと共に、メモリMEM1のアドレス“A30”にセグメントヘッダSH-B2を書き込む。そして、リンクリスト生成／更新部3131は、リンクリスト末尾ポインタTP10をアドレス“A30”に更新する。
【００９５】
この時、セグメントヘッダSH-B2の位置情報POSが“末尾”を示しているため、リンクリスト生成／更新部3131は、リンクリストLIST10-Bの作成が完了したことも認識し、このリンクリストLIST10-Bの先頭ポインタHP10をスケジューラ314に与える。
【００９６】
同図(4)に示すように、セグメントヘッダSH-A2及びデータ書込アドレスWA＝“A40”を受信した時、リンクリスト生成／更新部3131は、セグメントヘッダSH-A2に設定された位置情報POSが“中間”であること(すなわち、送信元カードIDS_ID＝“1”に対するリンクリストを更新する必要があること)を認識し、リンクリスト管理情報LINFO1中のリンクリスト末尾ポインタTP1を参照してリンクリストメモリMEM1のアドレス“A10”の次ポインタNPにアドレス“A40”を書き込むと共に、メモリMEM1のアドレス“A40”にセグメントヘッダSH-A2を書き込む。そして、リンクリスト生成／更新部3131は、リンクリスト末尾ポインタTP1をアドレス“A40”に更新する。
【００９７】
同図(5)に示すように、セグメントヘッダSH-A3及びデータ書込アドレスWA＝“A50”を受信した時、リンクリスト生成／更新部3131は、セグメントヘッダSH-A3に設定された位置情報POSが“末尾”であることを認識し、リンクリスト末尾ポインタTP1を参照してリンクリストメモリMEM1のアドレス“A40”の次ポインタNPにアドレス“A50”を書き込むと共に、メモリMEM1のアドレス“A50”にセグメントヘッダSH-A3を書き込む。そして、リンクリスト生成／更新部3131は、リンクリスト末尾ポインタTP1をアドレス“A50”に更新する。
【００９８】
この時、セグメントヘッダSH-A3の位置情報POSが“末尾”を示しているため、リンクリスト生成／更新部3131は、リンクリストLIST1-Aの作成を完了し、このリンクリストLIST1-Aの先頭ポインタHP1をスケジューラ314に与える。
【００９９】
そして、図13に示すように、セグメントヘッダSH-C及びデータ書込アドレスWA＝“A60”を受信した時、リンクリスト生成／更新部3131は、リンクリスト管理情報LINFO20中のリンクリスト先頭ポインタHP20及び末尾ポインタTP20をアドレス“A60”に更新すると共に、リンクリストメモリMEM1のアドレス“A60”にセグメントヘッダSH-Cを書き込む。
【０１００】
この時、位置情報POSが“先頭且つ末尾”を示しているため、リンクリスト生成／更新部3131は、リンクリストLIST20-Cの作成を即座に完了し、このリンクリストLIST20-Cの先頭ポインタHP20をスケジューラ314に与える。
【０１０１】
また、リンクリストLISTの参照動作においては、スケジューラ314がリンクリストLISTの作成順(LIST1-A→LIST10-B→LIST20-C)でスケジューリング処理を行う場合を例に取ると、図14(1)に示すように、スケジューリング後のリンクリスト先頭ポインタHP_Sとして、まずアドレス“A20”がリンクリスト参照部3132に与えられる。
【０１０２】
これを受けたリンクリスト参照部3132は、リンクリストメモリMEM1のアドレス“A20”、すなわち、リンクリストLIST10-Bの先頭のレコードを参照してセグメントヘッダSH-B1を読み出し、このセグメントヘッダSH-B1を組立部315に与え、アドレス“A20”をデータ読出アドレスRAとしてデータバッファ制御部312に与える。
【０１０３】
次に、リンクリスト参照部3132は、次ポインタNPから次のレコードのアドレス“A30”を取得し、このアドレス“A30”を参照してセグメントヘッダSH-B2を読み出し、このセグメントヘッダSH-B2を組立部315に与え、アドレス“A30”をデータ読出アドレスRAとしてデータバッファ制御部312に与える。この時、次ポインタNPには次のレコードのアドレスが設定されていないため、リンクリスト参照部3132は、リンクリストLIST10-Bの参照を完了する。
【０１０４】
これにより、データバッファ制御部312において、データバッファBUF1のデータ読出アドレスRA＝“A30”及び“A40”に対応するデータDT-B1及びDT-B2が順次読み出されて組立部315に与えられ、組立部315が、セグメントヘッダSH-B1及びSH-B2に設定された位置情報POSに基づきデータDT-B1及びDT-B2を結合して元のパケットPD-Bを組み立てる。
【０１０５】
そして、同図(2)に示すように、スケジューラ314からスケジューリング後のリンクリスト先頭ポインタHP_S＝“A10”を受けたリンクリスト参照部3132は、リンクリストLIST1-Aを順次参照してセグメントヘッダSH-A1〜SH-A3を読み出し、これらのセグメントヘッダSH-A1〜SH-A3を組立部315に順次与え、アドレス“A10”、“A40”、“A50”をデータ読出アドレスRAとしてデータバッファ制御部312に順次与える。
【０１０６】
これにより、データ読出アドレスRA＝“A10”、“A40”、及び“A50”に対応するデータDT-A1〜DT-A3がデータバッファBUF1から順次読み出され、セグメントヘッダSH-A1〜SH-A3に設定された位置情報POSに基づきデータDT-A1〜DT-A3を結合したパケットPD-Aが組み立られる。
【０１０７】
そして、同図(3)に示すように、スケジューラ314からスケジューリング後のリンクリスト先頭ポインタHP_S＝“A60”を受けたリンクリスト参照部3132は、リンクリストLIST20-Cを参照してセグメントヘッダSH-Cを読み出し、このセグメントヘッダSH-Cを組立部315に与え、アドレス“A60”をデータ読出アドレスRAとしてデータバッファ制御部312に与える。
【０１０８】
これにより、データ読出アドレスRA＝“A60”に対応するデータDT-CがデータバッファBUF1から読み出されてそのままパケットPD-Cとされる。
【０１０９】
このようにして、複数のセグメントデータ分割部から並列に受信したセグメントデータから、送信元カードID毎に元のパケットを正しく組み立てることができる。
【０１１０】
III.実施例[2]：図15〜24
図15は、図1に示したパケット中継装置1の構成の内、一例として、セグメントデータ分割部12_1、スイッチカード20、及びパケット組立部31_7を抜き出し強調して示したものであり、図2に示したパケットPD-A及びPD-Bが共にセグメントデータ分割部12_1に入力されている。本実施例では、上記の実施例[1]と異なり、パケット組立部31_7におけるセグメントデータの受信順序が、セグメントデータ分割部12_1での送出順序と異なる場合を扱う。
【０１１１】
III.1.全体の動作例：図15
以下、この図15を参照して本実施例の全体動作を説明する。
【０１１２】
まずパケットPD-Aを受信したセグメントデータ分割部12_1は、セグメントヘッダSH-A1〜SH-A3に、上記の実施例[1]で示した位置情報POS、宛先カードIDD_ID、送信元カードID S_IDに加えて、シーケンス番号SN＝“1”〜“3”を設定し、上記の実施例[1]と同様に生成したセグメントデータSD-A1〜SD-A3をスイッチ21_1〜21_3に並列に送出する。
【０１１３】
そして、パケットPD-Bを受信した時、セグメントデータ分割部12_1は、セグメントヘッダSH-B1及びSH-B2にそれぞれシーケンス番号SN＝“4”及び“5”を設定したセグメントデータSD-B1及びSD-B2をスイッチ21_4及び21_5に並列に送出する。
【０１１４】
スイッチ21_1〜21_5は、上記の実施例[1]と同様、それぞれ、セグメントデータSD-A1〜SD-A3、並びにSD-B1及びSD-B2中のセグメントヘッダSH-A1〜SH-A3、並びにSH-B1及びSH-B2に設定された宛先カードIDD_ID(共に“7”)に従ってスイッチング処理を実行し、各セグメントデータSD-A1〜SD-A3、並びにSD-B1及びSD-B2をパケット組立部31_7に並列に与える。
【０１１５】
今、各スイッチ21_1〜21_5のスイッチング処理負荷が均一で無く、パケット組立部31_7において、スイッチング処理されたセグメントデータSD-A1〜SD-A3、並びにSD-B1及びSD-B2が、図示のようにセグメントデータSD-A1(シーケンス番号SN＝“1”)→SD-B1(SN＝“4”)→SD-B2(SN＝“5”)→SD-A3(SN＝“3”)→SD-A2(SN＝“2”)の順にセグメントデータ分割部12_1での送出順序と異なって受信されたものとする。
【０１１６】
この場合、パケット組立部31_7は、上記の実施例[1]で説明したパケット組立動作に先立って、シーケンス番号SNに基づき受信した各セグメントデータを、セグメントデータSD-A1(シーケンス番号SN＝“1”)→SD-A2(SN＝“2”)→SD-A3(SN＝“3”)→SD-B1(SN＝“4”)→SD-B2(SN＝“5”)の順に並べ替える。
【０１１７】
これにより、パケット組立部31_7は、上記の実施例[1]と同様にしてセグメントデータSD-A1〜SD-A3中のデータDT-A1〜DT-A3、並びにセグメントデータSD-B1及びSD-B2中のデータDT-B1及びDT-B2をそれぞれ結合してパケットPD-A並びにPD-Bを組み立てることができる。
【０１１８】
以下、これを実現するセグメントデータ分割部12及びパケット組立部31の構成例及び動作例を、図16〜24を参照して説明する。
【０１１９】
III.2.セグメントデータ分割部の構成例：図16
図16に示すセグメントデータ分割部12は、上記の実施例[1]の構成に加えて、パケットヘッダ抽出部121から出力された宛先カードIDD_ID及び分割部122から位置情報POSの出力に同期したパルスPLSを受ける度毎に、シーケンス番号SNを生成してセグメントヘッダ付加部123に与えるシーケンス番号生成部125を備えている。
【０１２０】
III.3.セグメントデータ分割部の動作例：図17び18
次に、図16に示したセグメントデータ分割部12の動作について説明するが、まず、シーケンス番号生成部125の実施例を、図17を参照して説明する。そして、パケットヘッダ抽出部121、分割部122、及びセグメントヘッダ付加部123によるセグメントデータの生成動作例を、図18を参照して説明する。
【０１２１】
なお、分散処理部124の動作は上記の実施例[1]と共通であるため、その説明は省略する。
【０１２２】
III.3.A.シーケンス番号生成部の実施例：図17
図17に示すシーケンス番号生成部125は、アドレス1〜nを宛先カードID D_IDと１対１に対応させ、宛先カードIDD_ID毎にシーケンス番号SNを格納できるようにしたシーケンス番号メモリMEM3と、このメモリMEM3から読み出されたシーケンス番号SNを“１”だけインクリメントするインクリメント部1251と、インクリメントされたシーケンス番号I_SNのメモリMEM3への書き込み(更新)タイミングを調整する更新タイミング調整部1252とを備えている。
【０１２３】
動作においては、宛先カードID D_ID及び同期パルスPLSがシーケンス番号生成部125に入力される度毎に、その宛先カードIDD_IDをアドレスとしてシーケンス番号メモリMEM3からシーケンス番号SNが読み出されてセグメントヘッダ付加部123に与えられる。
【０１２４】
また同時に、更新タイミング調整部1252は、シーケンス番号メモリMEM3からシーケンス番号SNが読み出された後、入力された宛先カードIDD_IDを、インクリメント部1251でインクリメントされたシーケンス番号I_SNの書込アドレスとしてシーケンス番号メモリMEM3に与える。
【０１２５】
これにより、セグメントヘッダ付加部123には、宛先カードID D_ID毎に順次１ずつ加算されたシーケンス番号SNが与えられることになる。
【０１２６】
III.3.B.セグメントデータ生成動作例：図18
図18(1)に示すように、図15に示したパケットPD-Aを受信した場合を例に取ると、まずパケットヘッダ抽出部121が、上記の実施例[1]と同様、パケットPD-A中のパケットヘッダPH-Aからパケット長PL＝“aバイト”及び宛先カードIDD_ID＝“7”を抽出し、抽出したパケット長PLを分割部122に与えるが、但し上記の実施例[1]とは異なり、宛先カードID D_IDをセグメントヘッダ付加部123及びシーケンス番号生成部125に与える。
【０１２７】
そして、分割部122が、上記の実施例[1]と同様、パケット長PLに基づきパケットPD-Aを、データDT-A1、データDT-A2、及びデータDT-A3に分割してセグメントヘッダ付加部123に順次与え、データDT-A1〜DT-A3の位置情報POS1〜POS3をセグメントヘッダ付加部123に順次与える。また同時に、分割部122は、上記の実施例[1]とは異なり、各位置情報POS1〜POS3に対する同期パルスPLSをシーケンス番号生成部125に順次与える。
【０１２８】
シーケンス番号生成部125は、宛先カードID D_ID＝“7”に対するシーケンス番号SN1〜SN3(“1”〜“3”)を生成してセグメントヘッダ付加部123に順次与える。
【０１２９】
セグメントヘッダ付加部123は、上記の実施例[1]とは異なり、位置情報POS1〜POS3、宛先カードIDD_ID、及び送信元カードID S_IDに加えてシーケンス番号SN1〜SN3をそれぞれ設定したセグメントヘッダSH-A1〜SH-A3をデータDT-A1〜DT-A3に付加したセグメントデータSD-A1〜SD-A3を生成して分散処理部124に順次与える。
【０１３０】
また、図15に示したパケットデータPD-Bを受信した場合も、上記と同様にして図18(2)に示すセグメントデータSD-B1(シーケンス番号SN＝“4”)及びSD-B2(SN＝“5”)が生成されて分散処理部124に与えられる。
【０１３１】
III.4.パケット組立部の構成例：図19
図19に示すパケット組立部31は、上記の実施例[1]の構成に加えて、受信処理部311から出力されたセグメントヘッダSH及びデータバッファ制御部312から出力されたデータ書込アドレスWAを入力して並べ替えを行い、並替後のセグメントヘッダSH_R及びデータ書込アドレスWA_Rをリンクリスト制御部313に与える並替部316を備えている。
【０１３２】
III.5.パケット組立部の動作例：図20〜24
次に、図19に示したパケット組立部31の動作について説明する。但し、受信処理部311、データバッファ制御部312、リンクリスト制御部313、スケジューラ314、及び組立部315の動作は上記の実施例[1]と共通であるため、これらの説明は省略し、並替部316の実施例のみを、図20〜24を参照して説明する。
【０１３３】
III.5.A.並替部の実施例：図20〜24
図20に示す並替部316は、データバッファ制御部312及び受信処理部311から受信したデータ書込アドレスWA及びセグメントヘッダSHを格納するためのバッファBUF3と、データ書込アドレスWA及びセグメントヘッダSHを受ける度毎に、そのセグメントヘッダSHに設定された送信元カードIDS_ID及びシーケンス番号SNをキーとしたバッファBUF3の書込アドレスAnx_Wに受信したデータ書込アドレスWA及びセグメントヘッダSHを書き込むと共に、そのシーケンス番号SN及び並替管理情報RINFOの読出制御信号RS1を出力する書込制御部3161と、読み出された並替管理情報RINFOに書込制御部3161から出力されたシーケンス番号SNを登録して更新する並替管理情報登録更新部3162と、読出制御信号RS2を出力して登録更新後の並替管理情報RINFO_AUを送信元カードIDS_ID毎に巡回しながら読み出す並替管理情報巡回読出部3163と、読み出された管理情報RINFO_AUに設定された送信元カードID S_ID及びその送信元カードIDS_IDに対して次に読み出すべき読出シーケンス番号SN_TOPをキーとしたバッファBUF3の読出アドレスAnx_Rからデータ書込アドレスWA及びセグメントヘッダSHを読み出して並替後のデータ書込アドレスWA_R及びセグメントヘッダSH_Rとしてリンクリスト制御部313に与えると共に、管理情報RINFO_AUから読出シーケンス番号SN_TOPを抹消して更新する読出制御部3164とを備えている。
【０１３４】
また、データ書込アドレス・セグメントヘッダ格納用バッファBUF3は、図21(1)に示すように、そのアドレス“11”〜“nx”を送信元カードIDS_ID＝“1”〜“n”の各々から受信するセグメントデータのシーケンス番号SN＝“1”〜“x”の組み合わせに対応させ(すなわち、送信元カードID S_ID＋シーケンス番号SNをアドレスとして書込制御及び読出制御を行うことが可能なように区分し)、送信元カードIDS_ID毎且つシーケンス番号SN毎にデータ書込アドレスWA及びセグメントヘッダSHを格納できるように構成している。
【０１３５】
ここで、xは、１つのパケット組立部31で受信し得るセグメントデータの最大シーケンス番号に設定すれば良い。
【０１３６】
また、並替管理情報RINFOは、同図(2)に示すように、そのアドレス1〜nを送信元カードIDS_IDと１対１に対応させ、送信元カードID S_ID毎に次に読み出すべきセグメントデータの読出シーケンス番号SN_TOPと、シーケンス番号SN＝“1”〜“x”が設定されたセグメントヘッダSHをデータ書込アドレス・セグメントヘッダ格納用バッファBUF3に書込したか否かを示すフラグFとから構成される。
【０１３７】
本実施例では、この並替管理情報RINFOを同図(2)(a)に示すように使用するものとする。すなわち、並替管理情報RINFOのアドレスnを、送信元カードIDS_ID＝“n”用の並替管理情報RINFOnとして使用し、フラグFには、シーケンス番号SN＝“1”〜“x”の各々に対応するセグメントヘッダSHをデータ書込アドレス・セグメントヘッダ格納用バッファBUF3に書き込んだ時にそれぞれ“1”を設定し、セグメントヘッダSHが未受信である場合又はデータ書込アドレス・セグメントヘッダ格納用バッファBUF3からセグメントヘッダSHを読み出した時にそれぞれ“0”を設定する。
【０１３８】
また、読出シーケンス番号SN_TOPに対応するフラグFの設定値により、データ書込アドレス・セグメントヘッダ格納用バッファBUF3からセグメントヘッダSHを読み出せるか否かを判定する。図示の状態では、読出シーケンス番号SN_TOP＝“3”に対応するフラグFが“0”に設定されているため、シーケンス番号SN＝“3”が設定されたセグメントヘッダSHがデータ書込アドレス・セグメントヘッダ格納用バッファBUF3に書き込まれるのを待つことになる。
【０１３９】
なお、本実施例では、シーケンス番号SNの初期値を“1”としているため、並替管理情報RINFOは、その初期状態において全ての読出シーケンス番号SN_TOPが“1”に設定される。
【０１４０】
動作においては、並替部316が、データバッファ制御部312及び受信処理部311から受信したデータ書込アドレスWA及びセグメントヘッダSHを以下のようにして並べ替える。
【０１４１】
すなわち、図22に示すように、書込制御部3161が、まず始めにセグメントヘッダSH-A1及びデータ書込アドレスWA＝“A10”を受信する。この時、書込制御部3161は、セグメントヘッダSH-A1に設定された送信元カードIDS_IDが“1”であり且つシーケンス番号SNが“1”であるため、「送信元カードID S_ID“1”＋シーケンス番号SN“1”」を書込アドレスAnx_Wとして、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“11”にデータ書込アドレスWA＝“A10”及びセグメントヘッダSH-A1を書き込む。
【０１４２】
そして、書込制御部3161は、並替管理情報RINFOに読出制御信号RS1(送信元カードID S_ID＝“1”)を与えてアドレス“1”から並替管理情報RINFO1を読み出すと共に、シーケンス番号SN＝“1”を並替管理情報登録更新部3162に与える。
【０１４３】
並替管理情報登録更新部3162は、並替管理情報RINFO1中のシーケンス番号SN＝“1”に対応するフラグを“1”に設定(登録更新)して、登録更新後の並替管理情報RINFO1_AUを並替管理情報RINFOのアドレス“1”に書き戻す。
【０１４４】
そして、並替管理情報巡回読出部3163が、並替管理情報RINFOに読出制御信号RS2(送信元カードIDS_ID＝“1”)を与えてアドレス“1”から登録更新後の並替管理情報RINFO1_AUを読み出した時、読出制御部3164は、送信元カードID S_ID＝“1”に対する読出シーケンス番号SN_TOP＝“1”に対応するフラグFが“1”に設定されるていることを認識し、「送信元カードID S_ID“1”＋読出シーケンス番号SN_TOP“1”」を読出アドレスAnx_Rとして、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“11”からデータ書込アドレスWA＝“A10”及びセグメントヘッダSH-A1を読み出して並替後のデータ書込アドレスWA_R及びセグメントヘッダSH_Rとしてリンクリスト制御部313に与える。
【０１４５】
また同時に、読出制御部3164は、並替管理情報RINFO1_AU中の読出シーケンス番号SN_TOP＝“1”に対応するフラグを“0”に設定すると共に、読出シーケンス番号SN_TOPを次のシーケンス番号“2”に更新(抹消更新)し、抹消更新後の並替管理情報RINFO1_EUを並替管理情報RINFOのアドレス“1”に書き戻す。
【０１４６】
そして、図23(1)に示すように、セグメントヘッダSH-B1及びデータ書込アドレスWA＝“A20”を受信した時、書込制御部3161は、セグメントヘッダSH-B1に設定された送信元カードIDS_IDが“1”であり且つシーケンス番号SNが“4”であるため、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“14”にデータ書込アドレスWA＝“A20”及びセグメントヘッダSH-B1を書き込む。
【０１４７】
そして、書込制御部3161は、並替管理情報RINFOに読出制御信号RS1(送信元カードID S_ID＝“1”)を与えてアドレス“1”から並替管理情報RINFO1を読み出すと共に、シーケンス番号SN＝“4”を並替管理情報登録更新部3162に与える。
【０１４８】
並替管理情報登録更新部3162は、並替管理情報RINFO1中のシーケンス番号SN＝“4”に対応するフラグを“1”に設定する。
【０１４９】
そして、並替管理情報巡回読出部3163が並替管理情報RINFO1を読み出した時、読出制御部3164は、送信元カードIDS_ID＝“1”に対する読出シーケンス番号SN_TOP＝“2”に対応するフラグFが“0”に設定されるていること(すなわち、シーケンス番号SN＝“2”が設定されたセグメントデータが未受信であること)を認識して何ら処理を実行しない。
【０１５０】
上記と同様にして、図23(2)及び(3)に示すように、セグメントヘッダSH-B2及びデータ書込アドレスWA＝“A30”、並びにセグメントヘッダSH-A3及びデータ書込アドレスWA＝“A40”が受信された時、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“15”及び“13”に、データ書込アドレスWA＝“A30”及びセグメントヘッダSH-B2、並びにデータ書込アドレスWA＝“A40”及びセグメントヘッダSH-A3がそれぞれ書き込まれる。また、並替管理情報RINFO1中のシーケンス番号SN＝“5”及び“3”に対応するフラグがそれぞれ“1”に設定される。
【０１５１】
そして、図24に示すように、セグメントヘッダSH-A2及びデータ書込アドレスWA＝“A50”を受信した時、書込制御部3161は、セグメントヘッダSH-A2に設定された送信元カードIDS_IDが“1”であり且つシーケンス番号SNが“2”であるため、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“12”にデータ書込アドレスWA＝“A50”及びセグメントヘッダSH-A2を書き込む。
【０１５２】
そして、書込制御部3161は、並替管理情報RINFOに読出制御信号RS1(送信元カードID S_ID＝“1”)を与えてアドレス“1”から並替管理情報RINFO1を読み出すと共に、シーケンス番号SN＝“2”を並替管理情報登録更新部3162に与える。
【０１５３】
並替管理情報登録更新部3162は、並替管理情報RINFO1中のシーケンス番号SN＝“2”に対応するフラグを“1”に設定する。
【０１５４】
そして、並替管理情報巡回読出部3163が並替管理情報RINFO1を読み出した時、読出制御部3164は、送信元カードIDS_ID＝“1”に対する読出シーケンス番号SN_TOP＝“2”に対応するフラグFが“1”に設定されるていることを認識し、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“12”からデータ書込アドレスWA＝“A50”及びセグメントヘッダSH-A2を読み出して並替後のデータ書込アドレスWA_R及びセグメントヘッダSH_Rとしてリンクリスト制御部313に与える。また同時に、読出制御部3164は、並替管理情報RINFO1中の読出シーケンス番号SN_TOP＝“2”に対応するフラグを“0”に設定すると共に、読出シーケンス番号SN_TOPを“3”に更新する。
【０１５５】
この時、読出制御部3164は、さらに読出シーケンス番号SN_TOP＝“3”に対応するフラグFが“1”に設定されるていることを認識し、データ書込アドレス・セグメントヘッダ格納用バッファBUF3のアドレス“13”からデータ書込アドレスWA＝“A40”及びセグメントヘッダSH-A3を読み出し、並替管理情報RINFO1中の読出シーケンス番号SN_TOP＝“3”に対応するフラグを“0”に設定すると共に、読出シーケンス番号SN_TOPを“4”に更新する。
【０１５６】
以降、これを繰り返して、データ書込アドレスWA＝“A20”及びセグメントヘッダSH-B1、並びにデータ書込アドレスWA＝“A30”及びセグメントヘッダSH-B2が、それぞれ並替後のデータ書込アドレスWA_R及びセグメントヘッダSH_Rとしてリンクリスト制御部313に与えられ、並替管理情報RINFO1中の読出シーケンス番号SN_TOPが“6”に更新され且つシーケンス番号＝“4”及び“5”に対応するフラグが共に“0”に設定される。
【０１５７】
このようにして、セグメントデータ分割部12_1で付与されたセグメントデータのシーケンス番号順、すなわち、セグメントデータの送出順にセグメントヘッダ及びデータ書込アドレスを並べ替えてリンクリスト制御部313に与えることができる。
【０１５８】
なお、上記実施例によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【０１５９】
（付記１）
パケットを受信する度毎に、該パケットから宛先アドレス及びパケット長を抽出する第１ステップと、
該パケット長に基づき該パケットを所定長のデータに分割すると共に、該分割した各データの該パケット中の位置を示す位置情報をそれぞれ生成する第２ステップと、
該分割された各データに、各位置情報、該宛先アドレス、及び送信元アドレスとして自分自身のアドレスをそれぞれ設定したセグメントヘッダを付加してセグメントデータを生成する第３ステップと、
各セグメントデータを、スイッチカードに並列に与える第４ステップと、
を備えたことを特徴とするパケット中継方法。
（付記２）付記１において、
該第４ステップが、各セグメントデータを該スイッチカードに並列に与えるための複数の物理的又は論理的な伝送路に順次巡回させながら送出することを特徴としたパケット中継方法。
（付記３）付記１において、
該宛先アドレス毎に各位置情報に対してシーケンス番号を付与する第５ステップをさらに備え、
該第３ステップが、該シーケンス番号を該セグメントヘッダに設定するステップを含むことを特徴としたパケット中継方法。
（付記４）
パケットを所定長単位に分割した内の一のデータに、送信元アドレス及び該一のデータの該パケット中の位置を示す位置情報を設定したセグメントヘッダが付加されたセグメントデータをスイッチカードから並列に受信する度毎に、各セグメントデータを該セグメントヘッダと該一のデータとに分離する第１ステップと、
該分離された一のデータを順次記憶する第２ステップと、
該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する第３ステップと、
該リンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出す第４ステップと、
該リンクリストを順次参照して得られた該セグメントヘッダに設定された該位置情報に基づき、該読み出された一のデータを結合してパケットを組み立てる第５ステップと、
を備えたことを特徴とするパケット中継方法。
（付記５）付記４において、
該第３ステップで生成又は更新された各リンクリストのスケジューリング処理を行う第６ステップをさらに備え、
該第４及び該第５ステップが、該スケジューリング処理されたリンクリストから順に該参照を行うことを特徴としたパケット中継方法。
（付記６）付記４において、
該セグメントヘッダには、該セグメントデータのシーケンス番号が設定されており、
該第１ステップで分離されたセグメントヘッダと、該分離された一のデータの記憶先とを順次対応付けて記憶する第６ステップと、
該第６ステップで記憶されたセグメントヘッダを順次参照し、参照中のセグメントヘッダに設定された送信元アドレス及びシーケンス番号が、いずれかの送信元アドレス及びその送信元アドレスに対して読み出すべきセグメントデータの読出シーケンス番号と一致した時、該参照中のセグメントヘッダとこれに対応する該分離された一のデータの記憶先とを読み出して該第３ステップを実行すると共に、該読出シーケンス番号を次に読み出すべきシーケンス番号に更新する第７ステップと、
をさらに備えたことを特徴とするパケット中継方法。
（付記７）付記６において、
該第６ステップが、該分離されたセグメントヘッダに設定された送信元アドレス及びシーケンス番号をキーとして該記憶を行うステップを含み、
該第７ステップが、該送信元アドレス及び該読出シーケンス番号をキーとして該読出を行うステップを含むことを特徴としたパケット中継方法。
（付記８）付記６において、
該第６ステップが、該分離されたセグメントヘッダと該分離された一のデータの記憶先とを対応付けて記憶した時、各送信元アドレスに対する読出シーケンス番号と、各シーケンス番号が設定されたセグメントヘッダを記憶したか否かを示すフラグとを対応付けた管理情報中の該記憶したセグメントヘッダに設定されたシーケンス番号に対応するフラグを受信済みに設定するステップを含み、
該第７ステップが、該管理情報を該送信元アドレス毎に巡回しながら参照し、該読出シーケンス番号に対応するフラグが該受信済みに設定されている時、該一致と判定すると共に該参照中のフラグの設定を解除するステップを含むことを特徴としたパケット中継方法。
（付記９）
パケットを受信する度毎に、該パケットから宛先アドレス及びパケット長を抽出する第１手段と、
該パケット長に基づき該パケットを所定長のデータに分割すると共に、該分割した各データの該パケット中の位置を示す位置情報をそれぞれ生成する第２手段と、
該分割された各データに、各位置情報、該宛先アドレス、及び送信元アドレスとして自分自身のアドレスをそれぞれ設定したセグメントヘッダを付加してセグメントデータを生成する第３手段と、
各セグメントデータを、スイッチカードに並列に与える第４手段と、
を備えたことを特徴とするパケット中継装置。
（付記１０）付記９において、
該第４手段が、各セグメントデータを該スイッチカードに並列に与えるための複数の物理的又は論理的な伝送路に順次巡回させながら送出することを特徴としたパケット中継装置。
（付記１１）付記９において、
該宛先アドレス毎に各位置情報に対してシーケンス番号を付与する第５手段をさらに備え、
該第３手段が、該シーケンス番号を該セグメントヘッダに設定する手段を含むことを特徴としたパケット中継装置。
（付記１２）
パケットを所定長単位に分割した内の一のデータに、送信元アドレス及び該一のデータの該パケット中の位置を示す位置情報を設定したセグメントヘッダが付加されたセグメントデータをスイッチカードから並列に受信する度毎に、各セグメントデータを該セグメントヘッダと該一のデータとに分離する第１手段と、
該分離された一のデータを順次記憶する第２手段と、
該分離されたセグメントヘッダに設定された該位置情報に基づき該送信元アドレス毎に該分離されたセグメントヘッダと、該分離された一のデータの記憶先とを対応付けたリンクリストを生成又は更新する第３手段と、
該リンクリストを順次参照して得られた該記憶先から該一のデータを順次読み出す第４手段と、
該リンクリストを順次参照して得られた該セグメントヘッダに設定された該位置情報に基づき、該読み出された一のデータを結合してパケットを組み立てる第５手段と、
を備えたことを特徴とするパケット中継装置。
（付記１３）付記１２において、
該第３手段で生成又は更新された各リンクリストのスケジューリング処理を行う第６手段をさらに備え、
該第４及び該第５手段が、該スケジューリング処理されたリンクリストから順に該参照を行うことを特徴としたパケット中継装置。
（付記１４）付記１２において、
該セグメントヘッダには、該セグメントデータのシーケンス番号が設定されており、
該第１手段で分離されたセグメントヘッダと、該分離された一のデータの記憶先とを順次対応付けて記憶する第６手段と、
該第６手段で記憶されたセグメントヘッダを順次参照し、参照中のセグメントヘッダに設定された送信元アドレス及びシーケンス番号が、いずれかの送信元アドレス及びその送信元アドレスに対して読み出すべきセグメントデータの読出シーケンス番号と一致した時、該参照中のセグメントヘッダとこれに対応する該分離された一のデータの記憶先とを読み出して該第３手段を実行すると共に、該読出シーケンス番号を次に読み出すべきシーケンス番号に更新する第７手段と、
をさらに備えたことを特徴とするパケット中継装置。
（付記１５）付記１４において、
該第６手段が、該分離されたセグメントヘッダに設定された送信元アドレス及びシーケンス番号をキーとして該記憶を行う手段を含み、
該第７手段が、該送信元アドレス及び該読出シーケンス番号をキーとして該読出を行う手段を含むことを特徴としたパケット中継装置。
（付記１６）付記１４において、
該第６手段が、該分離されたセグメントヘッダと該分離された一のデータの記憶先とを対応付けて記憶した時、各送信元アドレスに対する読出シーケンス番号と、各シーケンス番号が設定されたセグメントヘッダを記憶したか否かを示すフラグとを対応付けた管理情報中の該記憶したセグメントヘッダに設定されたシーケンス番号に対応するフラグを受信済みに設定する手段を含み、
該第７手段が、該管理情報を該送信元アドレス毎に巡回しながら参照し、該読出シーケンス番号に対応するフラグが該受信済みに設定されている時、該一致と判定すると共に該参照中のフラグの設定を解除するステップを含むことを特徴としたパケット中継装置。
【図面の簡単な説明】
【０１６０】
【図１】本発明に係るパケット中継方法及び装置の各実施例に共通の全体構成例を示したブロック図である。
【図２】本発明に係るパケット中継方法及び装置の実施例[1]の全体動作例を示したブロック図である。
【図３】本発明に係るパケット中継方法及び装置の実施例[1]に用いるセグメントデータ分割部の構成例を示したブロック図である。
【図４】本発明に係るパケット中継方法及び装置の実施例[1]のセグメントデータ生成動作例を示した図である。
【図５】本発明に係るパケット中継方法及び装置に用いる分散処理部の実施例を示したブロック図である。
【図６】本発明に係るパケット中継方法及び装置の実施例[1]に用いるパケット組立部の構成例を示したブロック図である。
【図７】本発明に係るパケット中継方法及び装置に用いる受信処理部の実施例を示したブロック図である。
【図８】本発明に係るパケット中継方法及び装置に用いるデータバッファ制御部及びデータバッファの構成例を示したブロック図である。
【図９】本発明に係るパケット中継方法及び装置に用いるデータバッファ制御部の動作例を示した図である。
【図１０】本発明に係るパケット中継方法及び装置に用いるリンクリスト制御部の構成例を示したブロック図である。
【図１１】本発明に係るパケット中継方法及び装置に用いるリンクリスト管理情報メモリ及びリンクリストメモリの構成例を示したブロック図である。
【図１２】本発明に係るパケット中継方法及び装置に用いるリンクリスト生成／更新部の動作例(その１)を示した図である。
【図１３】本発明に係るパケット中継方法及び装置に用いるリンクリスト生成／更新部の動作例(その２)を示した図である。
【図１４】本発明に係るパケット中継方法及び装置に用いるリンクリスト参照部の動作例を示した図である。
【図１５】本発明に係るパケット中継方法及び装置の実施例[2]の全体動作例を示したブロック図である。
【図１６】本発明に係るパケット中継方法及び装置の実施例[2]に用いるセグメントデータ分割部の構成例を示したブロック図である。
【図１７】本発明に係るパケット中継方法及び装置の実施例[2]に用いるシーケンス番号生成部の実施例を示したブロック図である。
【図１８】本発明に係るパケット中継方法及び装置の実施例[2]のセグメントデータ生成動作例を示した図である。
【図１９】本発明に係るパケット中継方法及び装置の実施例[2]に用いるパケット組立部の構成例を示したブロック図である。
【図２０】本発明に係るパケット中継方法及び装置の実施例[2]に用いる並替部の構成例を示したブロック図である。
【図２１】本発明に係るパケット中継方法及び装置の実施例[2]に用いるデータ書込アドレス・セグメントヘッダ格納用バッファ及び並替管理情報の構成例を示した図である。
【図２２】本発明に係るパケット中継方法及び装置の実施例[2]に用いる並替部の動作例(その１)を示した図である。
【図２３】本発明に係るパケット中継方法及び装置の実施例[2]に用いる並替部の動作例(その２)を示した図である。
【図２４】本発明に係るパケット中継方法及び装置の実施例[2]に用いる並替部の動作例(その３)を示した図である。
【図２５】従来のパケット中継装置を示したブロック図である。
【符号の説明】
【０１６１】
1  パケット中継装置
10, 10_1〜10_n  入力側インタフェースカード
11, 11_1〜11_n  受信部
12, 12_1〜12_n  セグメントデータ分割部
121  パケットヘッダ抽出部
122  分割部
123  セグメントヘッダ付加部
124  分散処理部
1241  分散部
1242, 1242_1〜1242_m  8B/10B符号化回路
1243, 1243_1〜1243_m  P/S変換部
125  シーケンス番号生成部
1251  インクリメント部
1252  更新タイミング調整部
20  スイッチカード
21, 21_1〜21_m  スイッチ
30, 30_1〜30_n  出力側インタフェースカード
31, 31_1〜31_n  パケット組立部
311  受信処理部
3111, 3111_1〜3111_m  S/P変換部
3112, 3112_1〜3112_m  8B/10B復号化回路
3113  セレクタ
3114  セグメントデータ分離部
312  データバッファ制御部
313  リンクリスト制御部
3131  リンクリスト生成／更新部
3132  リンクリスト参照部
314  スケジューラ
315  組立部
316  並替部
3161  書込制御部
3162  並替管理情報登録更新部
3163  並替管理情報巡回読出部
3164  読出制御部
32, 32_1〜32_n  送出部
PD, PD-A〜PD-C  パケット
PH, PH-A〜PH-C  パケットヘッダ
PY, PY-A〜PY-C  ペイロード
PAD  パディング
SD, SD-A1〜SD-A3, SD-B1〜SD-B2, SD-C  セグメントデータ
SH, SH-A1〜SH-A3, SH-B1〜SH-B2, SH-C  セグメントヘッダ
SH_R  並替後セグメントヘッダ
DT, DT-A1〜DT-A3, DT-B1〜DT-B2, DT-C  データ
LS, LR, LS1_1〜LSn_m, LR1_1〜LR1_m  伝送路
S_ID  送信元カードID
D_ID  宛先カードID
POS  位置情報
SN  シーケンス番号
I_SN  インクリメント後シーケンス番号
SN_TOP  読出シーケンス番号
BUF1  データバッファ
BUF2  空きアドレスFIFOバッファ
BUF3  データ書込アドレス・セグメントヘッダ格納用バッファ
WA  データ書込アドレス
RA  データ読出アドレス
WA_R  並替後データ書込アドレス
Anx_W  書込アドレス
Anx_R  読出アドレス
MEM1  リンクリストメモリ
MEM2  リンクリスト管理情報メモリ
MEM3  シーケンス番号メモリ
HP  リンクリスト先頭ポインタ
HP_S  スケジューリング後リンクリスト先頭ポインタ
TP  リンクリスト末尾ポインタ
NP  次ポインタ
LINFO  リンクリスト管理情報
LINFO_U  更新後リンクリスト管理情報
LIST  リンクリスト
RS  読出制御信号
PLS  同期パルス
RINFO  並替管理情報
RINFO_AU  登録更新後の並替管理情報
RINFO_EU  抹消更新後の並替管理情報
F  フラグ
図中、同一符号は同一又は相当部分を示す。
【図１】
2008160570.tif 000003
【図２】
2008160570.tif 000004
【図３】
2008160570.tif 000005
【図４】
2008160570.tif 000006
【図５】
2008160570.tif 000007
【図６】
2008160570.tif 000008
【図７】
2008160570.tif 000009
【図８】
2008160570.tif 000010
【図９】
2008160570.tif 000011
【図１０】
2008160570.tif 000012
【図１１】
2008160570.tif 000013
【図１２】
2008160570.tif 000014
【図１３】
2008160570.tif 000015
【図１４】
2008160570.tif 000016
【図１５】
2008160570.tif 000017
【図１６】
2008160570.tif 000018
【図１７】
2008160570.tif 000019
【図１８】
2008160570.tif 000020
【図１９】
2008160570.tif 000021
【図２０】
2008160570.tif 000022
【図２１】
2008160570.tif 000023
【図２２】
2008160570.tif 000024
【図２３】
2008160570.tif 000025
【図２４】
2008160570.tif 000026
【図２５】
2008160570.tif 000027