(57)【要約】【課題】別々の出力を有するスイッチング機構及び方法を提供すること。【解決手段】本発明はデータ・パケットをスイッチング・デバイスの入力ポートから、その出力ポートに移送するスイッチング機構を提案する。データ・パケットはペイロードを含む。スイッチング・デバイスは、データ・パケット宛先情報に従い、着信データ・パケットを少なくとも１つの専用の出力ポートに経路指定できる。スイッチング機構は、スイッチング・デバイス内の入力ポートの各セットに対して出力バッファのセットを含む。こうした入力ポートのセットは、１つ以上の入力ポートを含む。出力バッファのセットは、出力ポートの各セットに対して、入力ポートのセットに属する対応する入力ポートに着信する各データ・パケットの、少なくともペイロードを記憶する出力バッファを含み、これは同じ出力バッファ・セットに関係し、専用出力ポートに属する出力バッファ内のアドレスに記憶される。出力ポートのセットは１つ以上の出力ポートを含む。出力バッファの少なくとも１つに対して出力キューのセットが配置され、これは各出力ポートに対応する出力キューを含む。出力キューには、対応する出力バッファに記憶される各ペイロードのアドレスがデータ・パケット宛先情報に従いソートされて記憶される。同じ出力ポートに関係する出力キューに対してアービタが、記憶されたアドレスの読み出し順序を制御する。同じ出力ポート・セットに関係する出力バッファに対して、マルチプレクサが読み出し順序に従い、記憶されたペイロードを出力バッファから出力ポートに多重化する。【選択図】図１
2004529541.tif 000002
【特許請求の範囲】
【請求項１】
少なくともペイロードを含むデータ・パケットを移送するスイッチング機構であって、前記データ・パケットがスイッチング・デバイス（１０）の１つ以上の入力ポート（２０）を介して、その１つ以上の出力ポート（３０）に向かい、前記スイッチング・デバイス（１０）が、前記着信データ・パケットをデータ・パケット宛先情報に従い、少なくとも１つの専用の前記出力ポート（３０）に経路指定するものにおいて、前記スイッチング機構が、
前記スイッチング・デバイス（１０）における、少なくとも１つの前記入力ポート（２０）を含む入力ポート・セットの各々に対応して設けられ、少なくとも１つの前記出力ポート（３０）を含む出力ポート・セットの各々に対応する出力バッファ（３５）を含む出力バッファ・セットであって、前記出力バッファ（３５）が、前記入力ポート・セットに属する前記入力ポート（２０）に着信する前記データ・パケットの少なくともペイロードを、同じ前記出力バッファ・セットに関係し、前記専用出力ポート（３０）に属する出力バッファ（３５）内のアドレスに記憶する出力バッファ・セットと、
少なくとも１つの前記出力バッファ（３５）に対応して設けられ、前記出力バッファ（３５）に記憶される各前記ペイロードの前記アドレスを、前記データ・パケット宛先情報に従いソートして記憶する出力キュー（１８）を出力ポート（３０）ごとに含む出力キュー・セットと、
同じ前記出力ポート（３０）に関係する前記出力キュー（１８）に対応して設けられ、前記記憶されたアドレスの読み出し順序を制御するアービタ（２３）と、
同じ前記出力ポート・セットに関係する前記出力バッファ（３５）に対応して設けられ、前記出力ポート・セットの各出力ポート（３０）に対して前記読み出し順序に従い、前記出力バッファ（３５）から前記出力ポート（３０）に、記憶されたペイロードを多重化するマルチプレクサ（２２）と
を含む、スイッチング機構。
【請求項２】
各入力ポート（２０）において、前記入力ポート（２０）に着信するデータ・パケットを待ち行列化するスイッチ入力キュー（２４）を更に含む、請求項１記載のスイッチング機構。
【請求項３】
出力キュー（１８）の各セットに対応して、
前記出力バッファ（３５）の前記アドレスの使用を管理するアドレス・マネージャ（１６）と、
前記データ・パケットが記憶される前記出力バッファ（３５）の前記アドレスを前記出力キュー（１８）に入力する出力キュー・ルータ（１７）と
を更に含む、請求項１または請求項２記載のスイッチング機構。
【請求項４】
各出力バッファ（３５）に対応して、前記ペイロードを前記入力ポート（２０）から、対応する出力ポート（３０）のマルチプレクサ（２２）へ直接導くバイパス（２７）を更に含む、請求項１乃至請求項３の１つに記載のスイッチング機構。
【請求項５】
各前記出力バッファ（３５）に対応して、対応するマルチプレクサ（２２）が前記データ・パケットをその出力ポート（３０）に多重化可能なとき、前記データ・パケットを前記対応するバイパス（２７）を介して導くことを可能にする輻輳検出器（３１）を更に含む、請求項４記載のスイッチング機構。
【請求項６】
各前記出力バッファ（３５）に対応して、前記データ・パケットを前記出力バッファ（３５）の前記アドレスに入力する入力ルータ（１３）を更に含む、請求項１乃至請求項５の１つに記載のスイッチング機構。
【請求項７】
前記出力キュー（１８）が、対応する出力バッファ（３５）が有するアドレスよりも、合計でより多くのキューイング場所を提供する、請求項１乃至請求項６の１つに記載のスイッチング機構。
【請求項８】
各入力ポート（２０）において、前記スイッチング機構が有する前記出力ポート（３０）と少なくとも同数の入力キュー（１２）を有する入力バッファ（１１）を更に含み、前記入力キュー（１２）が前記着信データ・パケットを、それらの少なくとも１つの専用出力ポート（３０）に従いソートする役目をする、請求項１乃至請求項７の１つに記載のスイッチング機構。
【請求項９】
各入力ポート（２０）に対応して、前記データ・パケットを前記入力キュー（１２）から前記スイッチング・デバイス（１０）に多重化する順序を制御する入力制御装置（２５）を更に含む、請求項８記載のスイッチング機構。
【請求項１０】
１つの共通出力ポート（３０）に関係する全ての出力キュー（１８）内の占有場所のしきい値が超えられたかどうかを前記入力バッファ（１１）に知らせる出力キューしきい値比較器（２６）を更に含む、請求項８または請求項９記載のスイッチング機構。
【請求項１１】
同じ出力ポート（３０）に関係する全ての出力キュー（１８）内の占有場所のしきい値が超えられたことを示す、前記出力キューしきい値比較器（２６）からの信号に応答して、前記同じ出力ポート（３０）に対応する入力キュー（１２）だけが、データ・パケットを前記同じ出力ポート（３０）に送達することを阻止されるように、前記入力バッファ（１１）が設計される、請求項１０記載のスイッチング機構。
【請求項１２】
各出力バッファ（３５）に対応して、前記出力バッファ（３５）に対応する入力バッファ（１１）に、前記出力バッファ（３５）内の占有アドレスのしきい値が超えられたことを知らせる出力バッファ・バックプレッシャ・ジェネレータ（２８）が設けられる、請求項８乃至請求項１１の１つに記載のスイッチング機構。
【請求項１３】
マルチキャスト・データ・パケットに対して、そのアドレスが、前記マルチキャスト・データ・パケットが向けられる出力ポート（３０）に対応する各出力キュー（１８）内にエントリとして入力され、前記マルチキャスト・データ・パケットの全てのエントリが、前記マルチキャスト・データ・パケットをその指定出力ポート（３０）に送達するために使用されたとき、前記アドレスがアドレス・マネージャ（１６）により、別のデータ・パケットの使用のために解放される、請求項８乃至請求項１２の１つに記載のスイッチング機構。
【請求項１４】
異なる処理優先順位を有するデータ・パケット、各優先クラス及び各出力ポート（３０）に対応して、別々の入力キュー（１２）が入力バッファ（１１）内に設けられる、請求項８乃至請求項１３の１つに記載のスイッチング機構。
【請求項１５】
前記着信データ・パケットの各々に対して、対応するデータ・パケット内の前記パケット宛先情報内で識別される入力キュー（１２）内にエントリを生成するデマルチプレクサ（１９）を含み、前記入力制御装置（２５）が、異なる入力キュー（１２）内にエントリが配置され、同一のペイロードを有するデータ・パケットの同時伝送を可能にするように設計される、請求項８乃至請求項１４の１つに記載のスイッチング機構。
【請求項１６】
各前記エントリが、対応するデータ・パケットの少なくともペイロード、または対応するデータ・パケットのペイロードが記憶されるメモリ・セルを指し示すポインタを含み、前記メモリ・セルが好適には共通入力バッファ内に配置される、請求項１５記載のスイッチング機構。
【請求項１７】
前記データ・パケットがマルチキャスト・データ・パケットの場合、デマルチプレクサ（１９）が前記入力キュー（１２）内に複数のエントリを生成し、前記ペイロードの１つのエントリだけを前記メモリ・セル内に生成する、請求項１５または請求項１６記載のスイッチング機構。
【請求項１８】
スイッチング・デバイス（１０）の１つ以上の入力ポート（２０）を介して、その１つ以上の専用出力ポート（３０）に向かうペイロードを含むデータ・パケットのためのスイッチイング方法であって、
少なくとも１つの前記入力ポート（２０）を含む入力ポート・セットに属する入力ポートに着信する各前記データ・パケットの少なくともペイロードを、同じ出力バッファ（３５）のセットに関係し、前記専用出力ポート（３０）に属する出力バッファ（３５）内のアドレスに記憶するステップであって、前記出力バッファ（３５）のセットが、少なくとも１つの前記出力ポート（３０）を含む出力ポート・セットの各々に対応して、１つの前記出力バッファ（３５）を含むステップと、
少なくとも１つの前記出力バッファ（３５）に対応して、前記出力バッファ（３５）に記憶される各前記ペイロードの前記アドレスを、データ・パケット宛先情報に従いソートして、出力ポート（３０）ごとに１つの出力キュー（１８）を含むセットを形成する出力キュー（１８）に記憶するステップと、
同じ前記出力ポート（３０）に関係する全ての前記出力キュー（１８）について、前記記憶されたアドレスの読み出し順序を決定するステップと、
同じ前記出力ポート（３０）に関係する前記出力バッファ（３５）について、前記読み出し順序に従い、前記出力バッファ（３５）から前記出力ポート（３０）に、記憶されたペイロードを多重化するステップと
を含む、方法。
【請求項１９】
各入力ポート（２０）において、前記入力ポート（２０）に着信するデータ・パケットを待ち行列化するステップを更に含む、請求項１８記載の方法。
【請求項２０】
専用出力ポート（３５）に対応しない出力バッファへのペイロードの記憶を阻止するステップを更に含む、請求項１８または請求項１９記載の方法。
【請求項２１】
前記ペイロードを前記入力ポート（２０）からそのマルチプレクサ（２２）へ直接バイパスするステップを更に含む、請求項１８乃至請求項２０の１つに記載の方法。
【請求項２２】
各入力ポート（２０）における着信データ・パケットを、少なくとも１つの専用出力ポート（３０）に従い、前記スイッチング機構が有する出力ポート（３０）と少なくとも同数の入力キュー（１２）を有する入力バッファ（１１）の入力キュー内にソートするステップを更に含む、請求項１８乃至請求項２１の１つに記載の方法。
【請求項２３】
前記データ・パケットを前記入力キュー（１２）から前記スイッチング・デバイス（１０）に多重化する順序を制御するステップを更に含む、請求項２２記載の方法。
【請求項２４】
１つの共通出力ポート（３０）に関係する全ての出力キュー（１８）内の占有場所のしきい値が超えられたかどうかを入力バッファ（１１）に知らせるステップを更に含む、請求項２２または請求項２３記載の方法。
【請求項２５】
同じ出力ポート（３０）に関係する全ての出力キュー（１８）内の占有場所のしきい値が超えられたことを示す信号に応答して、前記同じ出力ポート（３０）に対応する入力キュー（１２）だけが、そのデータ・パケットを前記同じ出力ポート（３０）に送達することを阻止される、請求項２４記載の方法。
【請求項２６】
前記出力バッファ（３５）に対応する入力バッファ（１１）に、前記出力バッファ（３５）内の占有アドレスのしきい値が超えられたことを知らせるステップを更に含む、請求項１８乃至請求項２５の１つに記載の方法。
【請求項２７】
マルチキャスト・データ・パケットに対して、そのアドレスが、前記マルチキャスト・データ・パケットが向けられる出力ポート（３０）に対応する各出力キュー（１８）内にエントリとして入力され、前記マルチキャスト・データ・パケットの全てのエントリが、前記マルチキャスト・データ・パケットをその指定出力ポート（３０）に送達するために、成功裡に使用されたとき、前記アドレスがアドレス・マネージャ（１６）により、別のデータ・パケットの使用のために解放される、請求項１８乃至請求項２６の１つに記載の方法。
【請求項２８】
異なる処理優先順位を有するデータ・パケット、各優先クラス及び各出力ポート（３０）に対応して、別々の入力キュー（１２）を入力バッファ（１１）内に設けるステップを更に含む、請求項１８乃至請求項２７の１つに記載の方法。
【請求項２９】
前記着信データ・パケットの各々に対して、対応するデータ・パケット内の前記パケット宛先情報内で識別される入力キュー（１２）内にエントリを生成するステップを更に含み、各前記入力制御装置（２５）が、異なる前記入力キュー（１２）内にエントリが配置され、同一のペイロードを有するデータ・パケットの同時伝送を可能にする、請求項１８乃至請求項２８の１つに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の入力ポート及び複数の出力ポートを有し、着信パケットの１つ以上の指定出力ポートへの、更にそこから以降の装置への移送のために決定される、データ・パケットのスイッチング機構に関する。より詳細には、各入力ポートに対して、出力バッファのセットが構成され、各セットが各出力ポートのための１つの出力バッファを含むスイッチング機構及び方法に関する。データ・パケットとして、特にＡＴＭセルまたはイーサネット・フレームも受け入れ可能である。
【背景技術】
【０００２】
アナログ信号または英数字データのサンプルである情報の高速スイッチングは、通信ネットワークにおける重要なタスクである。様々な方向からの回線または伝送リンクを情報交換のために相互接続しているネットワーク・ノードは、しばしば伝送遅延の原因となる。多くのトラフィックが１つのノードに集中し、更に特にほとんどのトラフィックが一部のリンクだけを通過する場合、遅延の増大または情報の損失でさえもしばしば発生する。従って、高速ルーティングを可能にするスイッチング・ノードが待望される。
【０００３】
欧州特許第３１２６２８号明細書には、通信ネットワークの複数の着信及び発信伝送リンクを相互接続する、或いは着信及び発信コンピュータ／ワークステーション接続リンクの間でデータを交換する、スイッチング装置が述べられている。更に既知のパケット形式が述べられている。
【０００４】
従来のスイッチング技術に関する概要が、インターネット・ページwww.zurich.ibm.com/Technology/ATM/SWOCPWPにあり、そこではＰＲＩＺＭＡチップが紹介されている。このトピックに関する別の情報源は、W．E．Denzel、A．P．J．Engbersen、I．Iliadisによる出版物"A flexible shared-buffer switch for ATM at Gbit/s rates"、Computer Networks and ISDN Systems、（0169-7552/94）、Elsevier Science B．V．、Vol．27、No．4、pp．611-624である。
【０００５】
ＰＲＩＺＭＡチップは共用される共通出力バッファを含み、ポート速度３００Ｍビット／秒乃至４００Ｍビット／秒を提供する１６入力ポート及び１６出力ポートを有する。スイッチの原理は、最初に、完全に並列なＩ／Ｏルーティング・ツリーを通じて、着信パケットを経路指定し、次に、経路指定されたパケットを出力バッファに待ち行列化するものである。これに加え、このチップはデータ（ペイロード）と制御（ヘッダ）フローとを区別して扱う。ペイロードだけが、動的に共用される出力バッファ記憶に記憶される。このアーキテクチャにより、ヘッド・オブ・ザ・ライン・キューイングが回避される。ＰＲＩＺＭＡチップはスケーラブルなアーキテクチャを有し、ポート速度、ポート数及びデータ・スループットを向上させる複数の拡張能力を提供する。これらの拡張は、ＰＲＩＺＭＡのモジュール使用にもとづき実現される。また、シングルステージまたはマルチステージ・スイッチ・ファブリックがモジュール式に構成される。
【０００６】
ＰＲＩＺＭＡチップは特に、ＡＴＭすなわち非同期転送モードにもとづく広帯域通信に好適である。しかしながら、この概念は、ＡＴＭ指向アーキテクチャ環境に限定されるものではない。ＡＴＭは短い固定長パケット（ときにセルと呼ばれる）にもとづき、将来の公衆広帯域サービス統合デジタル網（ＢＩＳＤＮ）の統合スイッチング及び伝送規格として適用されるものと思われる。コンテンション解消のためのＰＲＩＺＭＡのトポロジ及びキューイング機構は、高度な並列性を使用する。ルーティング機能はハードウェア・レベルで分散式に行われ、セルフ・ルーティングと呼ばれる。ＡＴＭパケットは幾つかのパケット・タイプに、特に異なるペイロード・サイズを有するパケット・タイプに分類され、ＰＲＩＺＭＡチップは、もっぱら最大６４バイトのペイロードを有するパケットを処理する。しかしながら、１２バイト、１６バイト、３２バイトまたは４８バイトのパケット・ペイロードもしばしば移送される。
【特許文献１】
欧州特許第３１２６２８号明細書
【非特許文献１】
www.zurich.ibm.com/Technology/ATM/SWOCPWP
【非特許文献２】
W．E．Denzel、A．P．J．Engbersen、I．Iliadis、"A flexible shared-buffer switch for ATM at Gbit/s rates"、Computer Networks and ISDN Systems、（0169-7552/94）、Elsevier Science B．V．、Vol．27、No．4、pp．611-624
【発明の開示】
【発明が解決しようとする課題】
【０００７】
出力キュー・スイッチの共用メモリの帯域幅は、個々のポート速度のＮ倍でなければならず、これは高速回線の実現において、重大な問題を課することになる。このために、入力キュー・スイッチが最近普及するようになった。ＦＩＦＯキュー式のクロスバー・ベースのスイッチの性能制限は、仮想出力キューイング（ＶＯＱ）などの技術を集中スケジューリングと組み合わせて適用することにより大いに克服され、高度なスループットを達成した。ＶＯＱは、パケットの宛先出力にもとづく、入力側での着信パケットのソートを伴う。
【０００８】
もっぱら出力キューイングに頼るパケット・スイッチは、高度なメモリ帯域幅要求のために、高データ転送速度に対して十分にスケーラブルでない。高度な並列性を使用する実装は、所望の帯域幅を達成するが、単一チップ上に集積可能なメモリ量を制限するので、潜在的に高いパケット・ロス率を招き、また性能が高度にトラフィックに依存することになる。
【課題を解決するための手段】
【０００９】
本発明は、データ・パケットをスイッチング・デバイスの入力ポートから、その出力ポートに移送するスイッチング機構を提案する。データ・パケットはペイロードを含む。また、関連付けられるデータ・パケット宛先情報が存在する。スイッチング・デバイスは、データ・パケット宛先情報に従い、着信データ・パケットを少なくとも１つの専用の出力ポートに経路指定できる。
【００１０】
本発明のスイッチング機構は、スイッチング・デバイス内の入力ポートの各セットに対して出力バッファのセットを含む。こうした入力ポートのセットは、１つ以上の入力ポートを含む。出力バッファのセットは、出力ポートの各セットに対して、入力ポートのセットに属する対応する入力ポートに着信する各データ・パケットの少なくともペイロードを記憶する出力バッファを含み、このペイロードは同じ出力バッファ・セットに関係し、専用出力ポートに属する出力バッファ内のアドレスに記憶される。出力ポートのセットは１つ以上の出力ポートを含む。出力バッファの少なくとも１つに対して出力キューのセットが構成され、これは出力ポートごとに１つの出力キューを含む。この出力キューには、対応する出力バッファに記憶される各ペイロードのアドレスが、データ・パケット宛先情報に従いソートされて記憶される。同じ出力ポートに関係する出力キューに対して、アービタが記憶されたアドレスの読み出し順序を制御する。同じ出力ポート・セットに関係する出力バッファに対して、マルチプレクサが読み出し順序に従い、記憶されたペイロードを出力バッファから出力ポートに多重化する。
【００１１】
このスイッチング機構では、データ・パケットが出力バッファに記憶されて、後に指定出力ポートに経路指定されるだけでなく、データ・パケットが正しい出力ポートに既に割り当てられた出力バッファにも記憶される。その後、経路指定はもはや不要である。データ・パケットを記憶した後の唯一のアクションは、その出力ポートへの転送が許可されるデータ・パケットを選択することである。このタスクは、アービタ及びマルチプレクサにより実行される。出力バッファへのデータ・パケットの記憶は、幾つかの異なる態様で行うことができる。
【００１２】
一方においては、同じ入力ポートに属する全ての出力バッファに対して、アドレス管理及び出力キューの１つのセットだけが構成されてもよい。これは制御を容易にし、そのために要求される空間を低減する。
【００１３】
他方では、各出力バッファを、別々のアドレス空間を有する出力キューの自身のセットに割り当てることができる。追加の回路はアドレス空間の拡大につながり、データ・パケットのバースト・トラフィックのスループット能力を向上させる。
【００１４】
データ・パケットを入力ポートから出力ポートに直接導くバイパスは、バイパスにそれが使用可能であることを知らせる機構と共に構成され得る。このバイパスは低トラフィック状態においてデータ・パケットを処理する複雑度を軽減する。
【発明の効果】
【００１５】
特許請求の範囲に記載された本発明の利点は、スイッチング機構が、同等の性能を有する他のスイッチング機構よりも安価なことである。なぜなら、出力ルータ機能が出力ルータのために必要とされる空間よりも遙かに安価な、出力バッファ空間の増加により代替されるからである。出力ルータは、メモリでは必要のない膨大な量の配線を必要とする。更に、データ・パケットを処理する論理回路の複雑度が緩和され、回路設計を容易にする。
【００１６】
スイッチ入力キューは、入力ポートに到来するデータ・パケットを待ち行列化するように構成される。こうしたキューは、データ・パケットをバッファリングできる利点を有し、それにより各データ・パケットに対して、複数のコピーの代わりに１つのコピーだけが出力バッファに記憶される。
【００１７】
アドレス・マネージャは、出力バッファのアドレスの使用を管理するように構成され、出力キュー・ルータは、データ・パケットが出力バッファ内で記憶されるアドレスを出力キューに入力するのに使用される。
【００１８】
ペイロードを入力ポートからそのマルチプレクサに直接導くバイパスは、出力バッファ、アドレス及び出力キューを使用することなく、データ・パケットを処理する利点がある。これは時間を節約し、システム利用率及びバックプレッシャのリスクを軽減する。
【００１９】
対応するマルチプレクサがデータ・パケットをその出力ポートに多重化可能なとき、データ・パケットを対応するバイパスを通じて導くために、輻輳検出器が使用される。これはデータ・パケットが直接出力ポートに転送可能か否かを決定する、単純なソリューションを提供する。
【００２０】
出力キューは全体で、対応する出力バッファが有するアドレスよりも多くのキューイング場所をアドレスとして提供できる。出力キューが、出力バッファが有するアドレスよりも多くのキューイング場所を有する場合、データ・パケットを失うことなく、様々な入力キューの間の不均一な配分が処理できる。各出力キューが、対応する出力バッファ内のアドレスの数と等しいキューイング場所を有する場合、全体の不均一な配分が完全にバッファされる。
【００２１】
スイッチング機構と少なくとも同数の入力キューを有する入力バッファは出力ポートを有し、それにより、入力キューは、着信データ・パケットを、その少なくとも１つの専用出力ポートに従いソートする役目をし、ヘッド・オブ・ザ・ライン・ブロッキングのリスクを軽減する。
【００２２】
データ・パケットを入力キューからスイッチング・デバイスに多重化する順序を制御する、各入力ポートの入力制御装置は、対応する入力キューのために自律的制御を提供し、それにより入力キューイング機構の制御の複雑度を軽減するので、有利である。
【００２３】
出力キューしきい値比較器は、１つの共通出力ポートに関係する全ての出力キュー内の占有場所のしきい値が超えられたか否かを、入力バッファに通知するために使用される。１つの同じ出力ポートに関係する全ての出力キューの充填度を統一するこうした共通しきい値比較器は、この出力ポートに向かう真のトラフィックが測定され、入力キューへのフィードバックを生成するために使用され、これが輻輳時には効果的なトラフィック制御となるので、有利である。
【００２４】
出力キューしきい値比較器から、同じ出力ポートに関係する全ての出力キュー内の占有場所のしきい値が超えられたことが伝えられると、その同じ出力ポートに対応する入力キューだけが、そのデータ・パケットを当該出力ポートに送達するのを阻止される。しきい値比較器から入力キューへのフィードバックの選択的配信、すなわち、輻輳が生じた対応する出力ポートに対するデータ・パケットを保持する入力キューだけへの配信は、バックプレッシャにより不要なブロッキング効果が導入されないという利点をもたらす。従って、ヘッド・オブ・ザ・ライン・ブロッキング効果は輻輳時にも軽減される。
【００２５】
出力バッファ・バックプレッシャ・ジェネレータは、出力バッファに対応する入力バッファに、出力バッファ内の占有アドレスのしきい値が超えられたことを知らせるために提供される。こうした出力バッファ・バックプレッシャの生成は、出力バッファ満杯によるデータ・パケット損失のリスクが軽減されるという点で、実用的である。
【００２６】
マルチキャスト・データ・パケットでは、そのアドレスが、マルチキャスト・データ・パケットが達する予定の出力ポートの各出力キューに入力され、そのアドレスは、マルチキャスト・データ・パケットの全てのエントリが、マルチキャスト・データ・パケットをその指定出力ポートに送達するために使用されたとき、別のデータ・パケットによる使用のためにアドレス・マネージャにより解放される。従って、マルチキャスト・データ・パケットは、ペイロードを一度だけ出力バッファに記憶し、そのアドレスをこのデータ・パケットが向かうあらゆる出力ポートの出力キューに入力することにより処理される。アドレスが出力キューから読み出される度に減分されるカウンタが使用され、０に達すると、そのアドレスを将来の使用のために解放する。
【００２７】
異なる処理優先順位を有するデータ・パケット、各優先順位クラス、及び各出力ポートに対して、入力バッファ内に別々の入力キューが提供される。異なる優先順位を処理するための異なる入力キューは、より高い優先順位のデータ・パケットが低優先順位のものを追い越すことを可能にする。
【００２８】
デマルチプレクサは、着信データ・パケットの各々に対して、対応するデータ・パケットのパケット宛先情報内で識別される入力キューへのエントリを生成するために使用される。これにより、各入力制御装置は、異なる入力キュー内にエントリが配置され、同一のペイロードを有するデータ・パケットの同時伝送を可能にするように設計される。このことは、各専用出力ポートに対するコピーを対応する入力キュー内に配置し、これらのコピーを同時に多重化することにより、多重データ・パケットを処理する方法を提供する。但し、これは出力ポート状況がこれを許可する場合に限られる。各エントリは、ペイロードか、或いは少なくとも対応するデータ・パケットのペイロードが記憶されるメモリ・セルを指し示すポインタを含む。メモリ・セルは好適には、共通入力バッファ内に配置される。従って、入力バッファ内において、ヘッダだけを待ち行列化し、ペイロードは共通入力バッファとも呼ばれる、別のメモリ・セクションに記憶するシステムが実現可能になる。こうしたケースでは、マルチキャスト・データ・パケットのペイロードが一度記憶されるだけでよく、これはメモリ空間を節約する。
【００２９】
デマルチプレクサは、入力キュー内に幾つかのエントリを生成し、メモリ・セル内にそのペイロードの１つのエントリだけを生成するように設計される。
【発明を実施するための最良の形態】
【００３０】
以下では、本発明の様々な典型的な実施例について述べる。図１は、データ・パケットを処理する入力バッファ付きスイッチング機構を示す。この構成は、Ｎ個の入力ポート２０及びＮ個の出力ポート３０を有するスイッチング・デバイス１０を含む。Ｎはここでは３２である。“ＩＰ”と記されている各入力ポート２０には、同様に“ＩＢ”と記されている入力バッファ１１が配置される。各入力バッファ１１は、“Ｃｔｒｌ”と記されている入力制御装置２５を含み、これがスイッチング・デバイス１０に接続される。その目的は、通信回線５０を介して入力バッファに着信し、１つ以上の出力ポート３０に送達される予定のデータ・パケットをこれらの出力ポート３０に導くことである。データ・パケットは、出力ポート３０から別のスイッチング・デバイスや受信装置などの後続の装置に送達可能である。
【００３１】
データ・パケットはここでは、パケット・ヘッダ部とパケット・ペイロード部とに分けられる。パケット・ヘッダ部には、それぞれのデータ・パケットが送達される出力ポート３０を示すデータ・パケット宛先情報が含まれる。こうしたデータ・パケット宛先情報は、別のソースから入手することもできるが、その場合はデータ・パケットにデータ・パケット宛先情報を含める必要はない。データ・パケット宛先情報に関して、２つのタイプのデータ・パケット、すなわちユニキャスト・データ・パケットおよびマルチキャスト・データ・パケットが存在する。ユニキャスト・データ・パケットは、出力ポート３０の１つだけを宛先として有するデータ・パケットである。それに対してマルチキャスト・データ・パケットは、２つ以上の出力ポート３０に宛先指定される。従って、定義上、マルチキャスト・データ・パケットは、そのペイロードが複数の出力ポート３０に宛先指定されるデータ・パケットである。データ・パケットのパケット・ペイロード部には、１つの宛先に送達される任意のデータを含めることができる。
【００３２】
入力バッファ
入力バッファ１１は各々、複数の入力キュー１２に分割され、それにより各入力バッファ１１は、各出力ポート３０に対応してこうした入力キュー１２を丁度１つずつ有する。従って、各入力バッファ１１は、Ｎ個の入力キュー１２を含む。１つの入力バッファ１１内のこれらの入力キュー１２の各々は、１つの専用出力ポート３０に対する着信データ・パケットを記憶する役目をする。従って、着信データ・パケットは、それらの宛先出力ポート３０に従い、各入力バッファ１１においてソートされる。それ故、特定の出力ポート３０に向かうユニキャスト・データ・パケットが、この出力ポート３０がビジーであるためにブロックされると、このヘッド・オブ・ザ・ライン・ブロッキングが生じたユニキャスト・データ・パケットによりブロックされるのは、その同じ出力ポート３０に向かうデータ・パケットだけであり、別の出力ポート３０に向かうデータ・パケットは、それらの宛先出力ポート３０に向かう経路が占有されていなければ独立に処理され、スイッチング・デバイス１０に転送される。この宛先ごとのソートは、仮想出力キューイング、略してＶＯＱとも呼ばれる。複数の入力キュー１２をまとめたものもＶＯＱと呼ばれる。
【００３３】
対応する通信回線５０に着信するデータ・パケットを、正しい入力キュー１２に配送するために、入力バッファ１１は入力キュー・ルータ（ＩＱＲ）とも呼ばれるデマルチプレクサ１９を含む。入力キュー１２からデータ・パケットを選択し、それらを対応する入力ポート２０を介してスイッチング・デバイス１０に送達するために、入力バッファ１１は、ＱＳと記されてマルチプレクサとして作用するキュー・セレクタ２１を含む。キュー・セレクタ２１は特定の時点において入力キュー１２の１つを選択し、その入力キュー１２から１つのデータ・パケットを選出し、それをその入力ポート２０を介してスイッチング・デバイス１０に送る。選択プロセスは入力制御装置２５により制御され、入力制御装置２５はそのための情報をスイッチング・デバイス１０から獲得する。入力制御装置２５は特定の時点において、キュー・セレクタ２１にデータ・パケットをスイッチング・デバイス１０に送信可能か否かを知らせ、可能であれば、どの入力キュー１２からそのデータ・パケットをスイッチング・デバイス１０に、更にそれぞれの出力ポート３０に送信可能かを知らせる。幾つかの入力キュー１２から、待ち行列化されたデータ・パケットをフェッチする順序は、最初に、出力ポート３０のアクセス可能性により、すなわち占有状態により決定される。出力ポート３０がアイドル状態であれば、データ・パケットを受信する準備が整っており、このことが入力制御装置２５に知らされる。入力制御装置２５はキュー・アービタとして作用し、どのデータ・パケットを入力バッファ１１内のどの入力キュー１２からいつスイッチング・デバイス１０に送信するかを選択する。こうした１つの入力バッファ１１が、入力ポート２０ごとに配置される。
【００３４】
マルチキャスト・データ・パケットは、対応する出力ポート３０がデータ・パケット宛先ヘッダ中に示されている各入力キュー１２へのエントリを作成することにより、デマルチプレクサ１９で分配される。これは、マルチキャスト・データ・パケットがコピーされて、こうした入力キュー１２の各々に入力されることを意味する。これはまた、ｎ個の異なる出力ポート３０に向かう各マルチキャスト・データ・パケットがコピーされ、待ち行列化されることを意味し、結果的に、合計ｎ個のコピーがマルチキャスト・データ・パケットが到来した入力バッファ１１内に存在することになる。キュー・セレクタ２１の側では、一度に１つのデータ・パケットだけをフェッチするという原則が変更され、マルチキャスト・データ・パケットの場合に、その複数のコピーをスイッチング・デバイス１０に一度に送信することが許可される。これはマルチキャスト・データ・パケットに対するブロッキング効果を軽減する。換言すると、デマルチプレクサ１９においてマルチキャスト・データ・パケットをコピーし、分配することによりもたらされる欠点が、キュー・セレクタ２１において、ペイロードの等しい幾つかのパケットを１つの転送プロセスに併合することにより相殺される。或いは、こうしたマルチキャスト・データ・パケットが、入力キュー１２の１つだけか、または別のマルチキャスト・キューに記憶され、そこからその全ての宛先出力ポート３０に非破壊的に読み出されてもよい。
【００３５】
スイッチング部
スイッチング・デバイス１０は各入力ポート２０に対して、別々のスイッチング部を含む。各々のこうしたスイッチング部は、出力バッファ３５のセットと、各出力バッファ３５に対して、その入力側に別々の入力ルータ１３、及び出力側に別々のセル・セレクタ１４を含む。入力ルータ１３は、ここでは単純な再給電ツリーまたはデマルチプレクサでよい。各スイッチング部は更に、入力側に出力キュー・ルータ１７を有する出力キュー１８のセットと、スイッチング部の全ての出力キュー・ルータ１７に入力を提供するアドレス・マネージャ１６とを含む。出力バッファ３５のセットは、１出力ポート３０につき、１つの出力バッファ３５を含む。出力キュー１８のセットは、１出力ポート３０につき、１つの出力キュー１８を含む。従って、各スイッチング部は、Ｎ個の出力バッファ３５、Ｎ個の入力ルータ１３、Ｎ個のセル・セレクタ１４、Ｎ個の出力キュー１８、１つの出力キュー・ルータ１７、及び１つのアドレス・マネージャ１６を含む。出力キュー・ルータ１７も単純なデマルチプレクサまたは再給電ツリーでよい。
【００３６】
図１に示すように、各出力バッファ３５に対してこうした出力キュー１８のセットが配置され得るが、これらのセットはこの実施例では使用されない。製造プロセスでは、特定のコンポーネントを同様に製造するとしばしば安価となる。なぜなら、同一のマスク及びパラメータを用いた単一プロセスの使用が可能になるからである。従って、各々が自身の出力キュー１８のセットを有する出力バッファ３５を製造することが好ましいが、最終回路では、出力キュー１８のこれらの追加のセットを使用しないことが好ましい。従って、ここでは出力キュー１８の１つのセットだけが実際に使用される。同じことがアドレス・マネージャ１６及び出力キュー・ルータ１７にも当てはまる。
【００３７】
それ故、入力バッファ１１の各々は、“ＩＲ”と記される入力ルータ１３の自身のセットを有し、対応する入力ポート２０を介してそれに接続される。各入力ルータ１３の出力側には、“ＯＢ”と記される対応する出力バッファ３５が配置され、これは対応する入力ルータ１３から送られてくるデータ・パケットを記憶する中間メモリとして機能する。出力バッファ３５の出力側は、“ＯＲ”と記される対応するセル・セレクタ１４に接続される。出力バッファ３５はサイズが等しく、各々は所定数のメモリ位置（セルとも呼ばれる）を含む。こうしたメモリ位置の各々は、データ・パケットを含むことができ、特定のアドレスを有する。
【００３８】
入力ルータ１３の１つ及びその対応する出力バッファ３５に並列に、出力キュー・ルータ１７及び出力キュー１８のセットが配置される。“ＡＭ”と記されるアドレス・マネージャ１６が、その出力バッファ３５のセル・セレクタ１４と入力ルータ１３との間、及びそのセル・セレクタ１４と出力キュー・ルータ１７との間に配置される。各出力ポート３０に対する出力キュー１８のセット内に“ＯＱ”と記されるこうした出力キュー１８が配置される。各出力キュー１８は、出力キュー・ルータ１７から入力を受信し、入力を異なるアービタ２３に提供する。それにより、こうした各アービタ２３がマルチプレクサ２２に接続され、両者が出力ポート３０の１つに割り当てられる。
【００３９】
この構成は、全ての入力ポート２０について同様である。従って、Ｎ個のアービタ２３及びＮ個のマルチプレクサ２２が存在し、それぞれ１つずつが１出力ポート３０に対応する。各入力ポート２０のＮ個の出力バッファ３５は、Ｎ個の出力ポート３０に割り当てられる。このことは、特定の出力バッファ３５に記憶されるデータ・パケットが、そのセル・セレクタ１４を介して常に同じ出力ポート３０に向けられることを意味する。Ｎ個の入力ポートの各々に対してＮ個のこうした出力バッファ３５のセットが存在するので、各出力ポート３０は、Ｎ個のこうした出力バッファ３５からそのデータ・パケットを受信する。
【００４０】
入力ポート２０から到来する全てのデータ・パケットは、その入力ルータ１３を介して、その出力バッファ３５に経路指定される。対応するアドレス・マネージャ１６が、同じスイッチング部の入力ルータ１３に、出力バッファ３５内のどのメモリ位置に、すなわち、どのアドレスに到来データ・パケットが記憶されるべきかを示す情報を提供する。ここではアドレスが、同じ出力バッファ・セットに属する全ての出力バッファ３５に対して、一様に使用される。これはデータ・パケットが、このセットに属する全ての出力バッファ３５内の同じアドレスに記憶されることを意味する。これは原理的に、データ・パケットがＮ回記憶されることになるので、データ・パケットの増加につながる。
【００４１】
アドレス管理
特定の出力ポート３０に向かっている各データ・パケットが、出力バッファ３５内で記憶されるアドレス情報が、対応する出力キュー・ルータ１７を介して、対応する出力キュー１８に書き込まれる。この情報は順序情報と呼ばれる。これらの出力バッファ３５に記憶される各データ・パケットに対してこうした順序情報が、当該データ・パケットが送信されるべき出力ポート３０に属する出力キュー１８に入力される。これらのアドレスは従って、対応する出力ポート３０、すなわち、それぞれのアドレスに記憶されるデータ・パケットが向かっている出力ポート３０に従いソートされる。それぞれのアドレスがどの出力キューに配置されるかに関するソート情報は、入力バッファ１１から獲得される。なぜなら、同じキューイング原理がデータ・パケット全体に対して、既にそこで使用されているからである。従って、キュー・セレクタ２１の設定を、出力キュー・ルータ１７の設定として使用することができる。
【００４２】
アドレス管理は集中化される。これは、ユニキャスト・データ・パケットが１アドレスだけを割り当てられ、これが次に、データ・パケットが到来した入力ポート２０に属する全ての出力バッファ３５に対して使用されることを意味する。従って、１つの入力ポート２０のための出力バッファ３５のセット全体に対して、１つのアドレス・マネージャ１６だけが実際には必要である。アドレス・マネージャ１６は、同じスイッチング部のセル・セレクタ１４の１つから、入力を獲得する。そのセル・セレクタ１４は、あるアドレスの対応するデータ・パケットが既に処理され、もはやそのアドレスを占有しなくなるとき、アドレス・マネージャ１６に、そのアドレスが再利用可能であることを知らせる。そのアドレスは解放され、アドレス・マネージャ１６により管理される利用可能アドレスのプールに追加される。そのプールから、アドレス・マネージャ１６は、続く着信データ・パケットのためにアドレスを割り当てる。
【００４３】
従って、各出力ポート３０に対して、その出力ポート３０に向かうべきデータ・パケットの記憶されたアドレスを、それぞれの出力キュー１８から検索することができる。アドレス・マネージャ１６は各時点において、各出力キュー１８に対して１つのアドレスを同時に処理する。入力ポート２０に対して、１つのアドレスが使用可能に維持され、これはそれぞれのデータ・パケットが到来する前に行うことが可能である。従って、ヘッド・オブ・ザ・ライン方式で入力ポート２０に着信する各データ・パケットは、対応する入力ルータ１３により導かれるアドレスを見い出す。このアドレスはアドレス・マネージャ１６により、出力キュー・ルータ１７にも提供され、出力キュー・ルータ１７は更に入力として、データ・パケット宛先情報を受信する。これは着信データ・パケットの順序情報を、どの出力キュー１８に入力するかに関するマスクを提供する。アドレスが使用不能な場合については、あとで更に説明する。
【００４４】
入力ポート２０におけるあらゆる着信データ・パケットは、それぞれのアドレス・マネージャ１６によりアドレスを与えられ、対応する出力バッファ３５のそのアドレスに記憶される。アドレスは、データ・パケットが向かう出力ポート３０に対応する出力キュー１８内の場所に記憶される。そのための情報、すなわちデータ・パケット宛先情報は、パケット・ヘッダから導出可能である。
【００４５】
後段のアービタ２３は、対応するマルチプレクサ２２と共に最終配布の役目を果たす。すなわち、アービタ２３はその出力ポート３０のために対応する出力キュー１８から次のアドレスを検索して、マルチプレクサ２２に供給し、するとマルチプレクサ２２は、そのアドレスのデータ・パケットをフェッチし、それを該データ・パケットの宛先となる出力ポート３０に導く。
【００４６】
データ・パケットの記憶及び読み出し
データ・パケットが到来すると、アドレス・マネージャ１６は使用可能なフリー・アドレスを提供し、データ・パケットが出力バッファ３５のそのメモリ位置に記憶される。フリー・アドレスが存在しない場合、データ・パケットは完全に失われる。
【００４７】
原則として、処理されるデータ・パケットは、同じスイッチング部の全ての出力バッファ３５内に書き込まれる。これは全ての出力ポートに向かうマルチキャスト・データ・パケットの場合を除き、必要ではない。従って、出力バッファ３５への書き込みをマスクすることが可能である。このマスクはデータ・パケット宛先情報の形式で既に存在する。これは例えば、出力ポート３０あたり１ビットを含むビットマップ形式で存在してもよく、、データ・パケットの宛先として与えられる出力ポート３０に対応するビットが１にセットされる。このビットマップを入力ルータ１３のためのマスクとして使用することにより、ビットマップ・マスク内の対応ビットがセットされた入力ルータだけがイネーブルされる。
【００４８】
ユニキャスト・データ・パケットは、データ・パケットが到来した入力ポート２０のスイッチング部の全ての出力バッファ３５内に記憶されるが、実際に読み出されるのは出力バッファ３５の１つ、すなわち、データ・パケットが向けられる出力ポート３０に属する出力バッファ３５からだけである。
【００４９】
出力バッファ３５からデータ・パケットをフェッチするステップは、非破壊的な読み出しプロセスとすることができる。データ・パケットが出力バッファ３５から読み出された後、それぞれのアドレスは解放され、対応するアドレス・マネージャ１６にフィードバックされる。アドレス・マネージャ１６は再度、このアドレスを次の到来データ・パケットの処理のために入力ポート２０に割り当てることができる。アドレスを再利用することにより、出力バッファ３５内の対応するメモリ位置が再利用され、以前そこに存在したデータ・パケットが単に上書きされる。
【００５０】
マルチキャスト・データ・パケットでは、図示されていないカウンタを使用できる。こうしたカウンタは、あらゆるアドレスに対して提供される。すなわち、１つの出力バッファ３５が有するメモリ位置の数だけカウンタが存在する。データ・パケットを特定のアドレスに記憶する際、対応するカウンタがデータ・パケットが送達される出力ポートの数にセットされる。カウンタは、データ・パケットのヘッダにより要求される宛先の数にセットされる。アドレスは、データ・パケットが宛先指定される出力ポート３０に対応する各出力キュー１８に付加される。データ・パケット読み出しのために、アドレスがセル・セレクタ１４により選択されると、対応するデータ・パケットが出力バッファ３５から送信される。このデータ・パケットがセル・セレクタ１４の１つによりフェッチされる度に、対応するカウンタが減分される。カウンタがこのデータ・パケットに対して０に達すると、データ・パケットがその全ての宛先に送達されたことを示し、そのアドレスがフリー・プールに戻される。これは対応するアドレスが再利用のために解放されることを意味する。
【００５１】
出力バッファ３５を共用する原理は、出力キュー１８が全体として、出力バッファ３５が有するアドレスよりも多くのキューイング場所を有し得るという点で導入される。この方策により、データ・パケットの宛先に関する、データ・パケットの分配の非対称性がバッファされる。全体的に公平で、対称な環境では、各入力キュー１２は出力バッファ空間の１／Ｎだけを使用することができる。しかしながら、実際には、こうした入力キュー１２の１つがある時点に、この公平な配分よりも多いデータ・パケットを受信し、一方、同じ入力バッファ内の他の入力キュー１２が、それらの公平な配分よりも少ないデータ・パケットを受信することがある。出力バッファ空間を共用することにより、こうした非対称性が平衡化され、出力バッファ空間がより好適に使用され得る。１入力ポート２０当たりのデータ・パケットの合計トラフィックが、出力バッファ３５の実最大容量を超えない限り性能は向上する。なぜなら、激しいトラフィック・パターン変化に対して、構成的により高い柔軟性があるからである。特に、バースト・トラフィックを好適に処理できる。なぜなら、入力キュー１２が公平な配分よりも多くの出力バッファ空間を使用することを可能にすることにより、データ・パケット損失の確率が低減されるからである。
【００５２】
各入力ポート２０は、それ自身の出力キュー１８のセットを有するので、各出力ポート３０に対して合計Ｎ個の出力キュー１８が存在する。同じ出力ポート３０に向かうデータ・パケットのアドレスを記憶する、これら全ての出力キュー１８が、その出力ポート３０のアービタ２３への入力として導かれる。このアービタ２３はその出力ポート３０に対して、複数の出力キュー１８の間の調停を行う。すなわち、対応するマルチプレクサ２２により、どの時点にどの出力キュー１８が次のアドレスについて照会されるかを決定する。この調停は、ラウンドロビン方式、最も充填度の高い出力キュー１８または最後の非アクセス出力キュー１８の優先、その他の好適な調停方針に従うものとすることができる。一旦特定の出力キュー１８が決定されると、アービタ２３は、この出力キュー１８内で待機する最初のアドレスをフェッチし、それを対応するマルチプレクサ２２に送達する。マルチプレクサ２２の入力は、対応する出力ポート３０に属する全てのセル・セレクタ１４に、すなわち、その出力バッファ３５がこの出力ポート３０に割り当てられるセル・セレクタ１４に接続される。特定の出力キュー１８を決定し、その出力キュー１８からアドレスをフェッチしたアービタ２３は、同じ入力ポート２０に属するマルチプレクサ２２に、データ・パケットがどの出力バッファ３５のフェッチ・アドレスに記憶されているかを知らせる。対応するマルチプレクサ２２がスイッチされ、対応するセル・セレクタ１４を介して、その出力バッファ３５をアクセスし、その出力バッファ３５からデータ・パケットを読み出し、それを対応する出力ポート３０に送達する。従って、セル・セレクタ１４はマルチプレクサ２２からそれぞれのアドレスを受信し、対応するセルを選択する。或いは、このアドレスはアービタ２３から直接受信されてもよい。
【００５３】
各出力ポート３０に対してデータ・パケットがコピーされ、別々の出力バッファ３５のメモリ位置に記憶されるので、複数の出力ポートを１つ以上の出力バッファ３５に接続する出力ルータが必要とされない。従って、より多くのメモリ空間が使用されるが、出力ルータが不要となる。メモリ空間はルータ論理の空間と比べて遙かに安価なので、この設計はスイッチング・デバイス１０の全体コストを低減する。更に、出力ルータがコピー及び記憶プロセスに比べて低速なため、スループット速度が向上される。また、各出力バッファ３５に対して自身の読み出しポインタが使用されるので、読み出しプロセスがより高速となる。
【００５４】
入力ルータ１３、セル・セレクタ１４、及びマルチプレクサ２２は、ここでは各入力ポート２０に対して各出力ポート３０に無閉塞で到達する可能性を与える。従って、データ・パケットが任意の時点に到来すると、各入力ポート２０はこうしたデータ・パケットを任意の出力ポート３０に送信できる。
【００５５】
入力バッファ設計変形
各入力ポート２０は、仮想出力キューイングを装備する入力バッファ１１を有する。すなわち、各出力キュー１８に対する入力キュー１２を、各入力バッファ１１内に有する。入力バッファ１１は、それら自身の入力ルータ１３に接続される。各入力バッファ１１はまた、それ自身の入力制御装置２５を有し、これはその入力バッファ１１の異なる入力キュー１２から出力されるデータ・パケットの順序を制御する。各入力制御装置２５は、他の入力制御装置２５とは独立に働く。
【００５６】
入力制御装置２５の独立性は、制御資源全体の複雑度を著しく軽減する。各入力制御装置２５はここでは、着信データ・パケットを所定の決定方針に従い処理するだけでよい。こうした方針は、例えばラウンドロビン方針、公平性及び優先レベル選択を伴うラウンドロビン方針、その他の任意の方針でよい。入力制御装置２５の各々は、自身が記憶するどのデータ・パケットを次に入力ルータ１３に送信するかを個々に決定する。
【００５７】
共通出力バッファを有する異なる構成では、幾つかの入力制御装置２５の間で、待ち行列化されたデータ・パケットを入力ポート２０に送信する権利を割付ける方針が適用されなければならない。しかしながら、ここで述べる構成では、各入力バッファ１１が入力ルータ１３の他のセットとは独立に作用する、それ自身の入力ルータ１３のセットと、更に他の出力バッファ３５とは独立なそれ自身の出力バッファ３５とを有する。従って、出力バッファ３５及び入力ルータ１３の分割により、各入力バッファ１１は他の入力バッファ１１とは独立に、そのデータ・パケットを出力バッファ３５に転送できる。異なる入力バッファ３５間の唯一の依存性は、後述するように、バックプレッシャ機構に関係する。
【００５８】
仮想出力キューイングを有する入力バッファ１１は、ここでは共有してもしなくてよい追加の共通入力バッファ（図示せず）を用いて実現することができる。これは着信データ・パケットが共通入力バッファ内に記憶される一方、それらのアドレスが入力キュー１２に記憶され、これらのデータ・パケットが向かう出力ポート３０に従い順序付けされることを意味する。従って、アドレスは、入力キュー１２内に入力されるデータ・パケットのエントリを表す。マルチキャスト・データ・パケットでは、共通入力バッファ内に１エントリだけが生成されればよく、従って、マルチキャスト・データ・パケットが向かう出力ポート３０に対応するあらゆる入力キュー１２内に１つのエントリが生成される。入力キュー１２内のこのエントリは、マルチキャスト・データ・パケットまたはそのペイロードが共通入力バッファ内で記憶される位置を指し示すポインタである。これらのエントリは従って、マルチキャスト・データ・パケットでは同一であり、またペイロードは一度記憶されるだけでよいので、メモリ空間が節約される。ペイロードの共通バッファリングを実現するために出力バッファ３５に対して使用されるのと同じ要素（図示せず）、すなわちアドレス・マネージャ及び入力ルータが、ペイロードを共通入力バッファに転送するために使用される。デマルチプレクサ１９は、出力キュー・ルータ１７が出力キュー１８に対して行うのと幾分似た役割を、入力キュー１２に対して行う。
【００５９】
入力バッファ１１は一般に、入力アダプタまたは単にアダプタとも呼ばれるスイッチ・アダプタの形式で構成される。本発明では、スイッチ・ファブリックとも呼ばれる機構を、例えば１６×１６、すなわち１６入力ポート２０及び１６出力ポート３０から、３２×３２へスケーリングするが、全てのアダプタはそれらのキューイング構造を変更するだけでよく、アダプタ上の入力バッファ１１を変更する必要はない。適切な先見性により、これは、この入力バッファ１１を入力キュー１２の集合として管理するための実際のリンク・リストの数が、プログラマブルであるべきことを意味する。何れにしろ入力アダプタ上では、複雑度がＮ倍でスケーリングされる。すなわち、宛先を２倍にすることは、入力キュー１２及び出力キュー１８の数を２倍にすることを意味する。従来のＶＯＱ機構では、スイッチ入力ポート２０及び出力ポート３０の数を２倍にすると、４倍のリクエストが要求される。すなわち、１６×１６の制御手段は２５６のリクエストを受信し、３２×３２の制御手段は２４のリクエストを受信する。
【００６０】
入力バッファ１１とスイッチング・デバイス１０との間の接続線が少数のために、入力バッファ１１がスイッチング・デバイス１０から、物理的により容易に切り離すことができる。従って、入力バッファ１１はより安価なメモリ・チップにより実現することができ、実際にそれらのバッファ・サイズは、同じ価格で出力バッファ３５において可能なサイズよりも、大きく選択できる。この方式により、有限の入力バッファ１１が理論的な無限入力バッファ１１のより良好な近似を与える。
【００６１】
バックプレッシャ
特定の出力ポート３０の全ての出力キュー１８がフルかどうか、すなわち、この出力ポート３０の全ての出力キュー１８の充填度のしきい値を超えたかどうかを入力バッファ１１に知らせるフィードバック機構が設けられる。従って、ＯＱＴと記される出力キューしきい値比較器２６が設けられ、これが１つの出力ポート３０に属する出力キュー１８、すなわち、その出力ポート３０のアービタ２３に向けられる、出力キュー１８の同じセットの充填度を収集する。累積充填度は、特定の出力ポート３０に向けられるスイッチング機構内の全てのデータ・パケットの数の正確な尺度である。この累積数は従って、出力キューしきい値比較器２６において、１つ以上の所定のしきい値に対して測定される。出力ポート３０の１つにおいて、しきい値を超える場合、前述の信号が生成され、入力制御装置２５に転送される。
【００６２】
この信号に応じて各入力制御装置２５は、この出力ポート３０に向かうデータ・パケットが、もはや入力バッファ１１から送信されないように制御する、すなわち、占有された出力キュー１８に対する入力キュー１２からのデータ・パケットは阻止されるが、他の入力キュー１２はデータ・パケットを送信し続けることができる。
【００６３】
こうしたＯＱＴ２６は、あらゆる出力ポート３０に対して配置され、図示のように、ここでは単一のＯＱＴ２６に統合され得るが、出力ポート３０ごとに別々に配置されてもよい。
【００６４】
バックプレッシャ方式は、負の等価な効果、すなわち、出力キュー１８が依然エントリを受信可能であるか否かを知らせるグラント方式によって代替可能である。
【００６５】
入力制御装置２５に、各出力ポート３０の全出力キュー１８の充填度に関する詳細な情報を提供する信号をフィードバックすることにより、更なる改善が達成され得る。任意の瞬間に任意の出力ポート３０において、続くステージに渡すデータ・パケットを有することが望ましいので、１つの共通出力ポート３０に属する全部の出力キュー１８（以下では出力キュー１８のポート・セットと称す）が空か、またはほとんど空であるという情報が入力制御装置２５に供給され、好適には、入力ルータ１３にそれぞれの出力ポート３０に向かうデータ・パケットを送信するために使用される。出力キュー１８のステータス情報は、例えば充填度０または充填度０に近いしきい値など、１つ以上の追加のしきい値を導入することにより導出することができる。このようにして、出力キュー１８の空のまたはほぼ空のセットが入力制御装置２５に報告され、入力制御装置２５は、このポート・セットの出力キュー１８ができるだけ早くデータ・パケットを受信できるように、自身の方針を採用する。こうした幾つかのしきい値を導入することにより、入力制御装置２５へのきめ細やかなステータス報告が可能になり、入力制御装置２５は、出力キュー１８の各ポート・セットに対するこのステータス報告を用いて、データ・パケット多重化方針に反映させることができる。従って、このステータス報告は、バックプレッシャの反対の機能、すなわち、低負荷アラームまたは負荷最大化スケジューリング・フィードバック信号として作用する。
【００６６】
バックプレッシャ信号はここでは、入力バッファ１１に選択的に伝播される、すなわち、特定の出力ポート３０に対応する出力キュー１８からのバックプレッシャ信号は、入力バッファ１１内の対応する入力キュー１２にだけ導かれる。従って、他の全ての入力キュー１２は、このバックプレッシャによりブロックされず、それらのデータ・パケットを出力バッファ３５に送信し続けることができる。
【００６７】
共用の場合には、１つのスイッチング部内の全ての出力キュー１８の場所の数の合計が、出力バッファ３５内のアドレスの数よりも大きいので、どの出力キュー１８もそこに記憶されるデータ・パケットについてそのしきい値に達しなくても、出力バッファ３５は満杯になり得る。従って、出力バッファ３５もまた占有アドレスに対するしきい値を有し、このしきい値に達すると、入力バッファ１１へのメモリ・フル・バックプレッシャ信号を生成し、このとき、入力バッファ１１は、そのデータ・パケットを入力ルータ１３を介して出力バッファ３５に送信するのを停止しなければならない。占有アドレスの数がしきい値よりも小さくなると、直ちに通常の動作を再開することができる。出力バッファ３５の空間が使い果たされる度にバックプレッシャを生成するこうした機構は、各出力バッファ３５に対して提供される。ここでは、同じ入力ポート２０に属する全ての出力バッファ３５が、いつも同じ情報を含むので、出力バッファ・バックプレッシャ・ジェネレータ２８が、各入力ポート２０に対して一度だけ配置される。データ・パケットの正しい処理を達成するために、データ・パケットのフロー制御機構も出力バッファ３５に対して追加され、対応する出力バッファ・バックプレッシャ・ジェネレータ２８により、各入力ポート２０に対して実行される。このバックプレッシャ・ジェネレータ２８は、対応する出力バッファ３５の１つから、その入力制御装置２５に出力されるバックプレッシャ信号を生成する。バックプレッシャ信号は入力バッファ１１に出力バッファ３５がもはや入来データ・パケットをバッファできないことを知らせ、その結果、入力バッファ１１は、バックプレッシャ信号により誘起されたバックプレッシャが消滅するまで、出力バッファ３５へのデータ・パケットの送信を阻止される。バックプレッシャ信号は、出力バッファ３５にバッファされるデータ・パケットの量が所定しきい値を超えるとき生成される。このしきい値は、出力バッファ３５の実際のサイズよりも低くセットされ、バックプレッシャ信号が入力バッファ１１内でバックプレッシャを発揮するのに必要な時間の間に送信され得るデータ・パケットをバッファできるようにする。
【００６８】
この構成は、出力キュー１８及び出力バッファ３５がまだ十分な空間を保持しているとき、すなわち、バックプレッシャ信号が生成されていないとき、全ての入力バッファ１１がそれらの入力ルータ１３を介して、データ・パケットを独立に送信することを可能にする。
【００６９】
各スイッチング部において、バックプレッシャの場合にデータ・パケットをバッファする作用をするスイッチ入力キュー２４が設けられる。それにより、スイッチング部において入力バッファ１１から到来するデータ・パケットが、異なる出力バッファ３５に何回か記憶される代わりに、単一のコピーとしてバッファされ得る。
【００７０】
スケール
図１では、明瞭化のため、スイッチング部の幾つかの要素が描かれていないが、それらは点線及び参照番号により示されている。図１では、スイッチング部は点線により示され、番号付けされている。Ｎはここでは３２であるから、第１の入力ポート２０に対してスイッチング部はＳ０１０１乃至Ｓ０１３２と指標付けされる。第２の入力ポートに対しては、スイッチング部はＳ０２０１乃至Ｓ０２３２である。最後の入力ポート２０に対しては、スイッチング部はＳ３２０１乃至Ｓ３２３２と指標付けされる。従って、合計Ｎ＊N個のスイッチング部が存在する。
【００７１】
各アドレス・マネージャ１６は、そのアドレスを同じ入力ポート２０に属するスイッチング部の入力ルータ１３に供給する。例えば、第１の入力ポート２０では、スイッチング部Ｓ０１０１、Ｓ０１０２、．．．、Ｓ０１３２の入力ルータ１３がそれに該当する。ＯＱＴ２６は、全てのスイッチング部の出力キュー１８、すなわちＳ０１０１  ＯＱ、Ｓ０２０１  ＯＱ、．．．、Ｓ３２０１  ＯＱから入力を受信する。なぜなら、ここでは各入力ポート２０に対する出力キュー１８が、それぞれの第１のスイッチング部Ｓｘｘ０１内に配置されるからである。出力キュー１８は、それらの対応する出力ポート３０のそれぞれのアービタ２３に接続される。例えば、出力キュー１８の各セットのＯＱ３２と記される３２番目の出力キュー１８は、３２番目の出力ポート３０、ＯＰ３２に属する３２番目のアービタ２３、すなわちＡＲＢ３２に導かれる。出力キュー１８の各セットのＯＱ２と記される２番目の出力キュー１８は、２番目の出力ポート３０、ＯＰ２に属する２番目のアービタ２３、すなわちＡＲＢ２に導かれる。図１において、アービタ２３及び通信回線５０の近傍の番号は、１からＮまでの番号を示す。全てのスイッチング部のセル・セレクタ１４は、それらの番号に従い、それぞれのマルチプレクサ２２に接続される。例えば、ＣＳと記され、スイッチング部Ｓ０１０１、Ｓ０２０１、．．．、Ｓ３２０１内に配置される第１のセル・セレクタ１４は、ＯＰ１と記される第１の出力ポート３０にある第１のマルチプレクサ２２に接続される。
【００７２】
第２の実施例：
図２では、第２の実施例が示される。これは以下の点で、図１の実施例と異なる。
【００７３】
ここでは各スイッチング部は、対応する出力キュー・ルータ１７及びアドレス・マネージャ１６と共に、出力キュー１８のセットを有する。それにより、各出力バッファ３５はそのアドレス空間を独立に管理することができる。アドレス管理は前述のように機能するが、同じ入力ポート２０の出力バッファ３５の１つに記憶されるデータ・パケットの各コピーはそれ自身のアドレスを受信する。このことは、異種宛先配布の場合に、スループット及び出力バッファ利用度の向上をもたらす。こうした異種性の典型的な例はバースト、すなわち、同じ宛先を有する一連のデータ・パケットである。こうしたバーストの場合、第１の出力ポート３０に割り当てられる第１の出力バッファ３５が、この第１の出力ポート３０に向かうデータ・パケットにより排他的に占有される状況が発生し得る。第１の実施例で述べたような、単一アドレス空間の場合、同じ入力ポート２０において、他のＮ−１個の出力ポート３０の出力バッファ３５も、これらのデータ・パケットにより充填されるか、少なくとも使用できなくなる。なぜなら、アドレスが既に使用し尽くされており、これらの他の出力ポート３０が、実際にこれらのデータ・パケットの宛先でないからである。しかしながら、拡大アドレス空間により、他の出力ポート３０にデータ・パケットが宛先指定され得る。
【００７４】
各出力バッファ３５に対して１つの出力キュー１８だけが存在し、従って出力キュー・ルータ１７が必要とされない。この実施例では、アービタ２３もまた、その入力を出力キュー１８の全てのセットから受信し、これらの出力キュー１８の出力を収集する。出力キュー１８は、１つの同じ出力ポート３０に向かうデータ・パケットを待ち行列化する。従って、第１のアービタＡＲＢ１は、第１の全ての出力キューＯＱ１の出力を収集する。従って、各アービタへの入力は、合計Ｎ入力となる。
【００７５】
バイパス
図３では、スイッチング機構の詳細が示され、そこではバイパス２７が配置される。バイパス２７は入力ポート２０においてスイッチ入力キュー２４の後段に配置されるスイッチである。このバイパスは、オリジナル・パスから到来し、入力ルータ１３に向かうデータ・パケットのパスを対応するマルチプレクサ２２に向かうショートカット・パスに切り替えることを可能にする。バイパス２７は、マルチプレクサ２２から入力を受信する輻輳検出器３１により制御される。マルチプレクサ２２は輻輳検出器３１に、データ・パケットを受信する準備が完了したか否かを伝える。これは一般に、対応するアービタ２３がマルチプレクサ２２に対して、対応する入力ポート２０の出力キュー１８からアドレスを受信する準備が完了したことを伝えるときに相当する。アドレスを出力キュー１８に待ち行列化し、データ・パケットを出力バッファ３５内のアドレスに記憶し、そのデータ・パケットをそこから、アービタ２３及びマルチプレクサ２２を介して読み出すプロシージャを実行する代わりに、バイパス２７はデータ・パケットをマルチプレクサ２２に直接導くようにセットされる。これはそのデータ・パケットのより高速な処理を構成し、待ち時間を低減すると共に、バックプレッシャのリスクを軽減する。こうしたバイパス２７は全てのスイッチング部に対して配置される。
【００７６】
第３の実施例
図４では、本発明の別の実施例が示される。ここでは入力と出力とのペア化が使用される。"１"と記される第１の入力ポート２０、及び"２"と記される第２の入力ポート２０の両方が共通スイッチング部に割り当てられる。これはスイッチング部の入力ルータ１３及び出力キュー・ルータ１７が、これらの両方の入力ポート２０から入力を受信することを意味する。従って、入力ルータ１３は、２つの入力を有するリパワー・ツリーとして設計される。対応するアドレス・マネージャ１６は、各時点において、各入力ポート２０にそれぞれ対応する２つのアドレスを処理する。スイッチング部の出力側では、セル・セレクタ１４がそれらの出力を、第１の出力ポートＯＰ１及び第２の出力ポートＯＰ２の各々のマルチプレクサに送達するように設計される。従って、そのスイッチング部の第２の出力バッファ３５は、セル・セレクタ１４を介して第３の出力ポートＯＰ３及び第４の出力ポートＯＰ４に接続される。スイッチング部の残りの出力バッファ３５も同様に設計される。出力キュー１８の対応するセットのアービタ２３は、それぞれ第１の出力ポートＯＰ１のマルチプレクサ２２、第２の出力ポートＯＰ２のマルチプレクサ２２に接続される。各出力ポート３０はそれ自身のアービタ２３を有し、これがその出力ポート３０に対応する出力キュー１８の出力を収集し、対応するマルチプレクサ２２への入力を提供する。ポート２０、３０のこのグループ化は、同じスイッチング部においてグループ化されるポートを取り扱うために必要とされる、追加の論理のためのスペースを節約する利点を有する。この方策により、回路の複雑性、配線の複雑性、設計コスト、可能な待ち時間効果、及び資源、特にメモリ空間の増加の間の最適化がもたらされる。
【００７７】
この実施例は、１つのスイッチング部を共用する２つの入力ポート２０及び２つの出力ポート３０の組み合わせを有するように示されたが、同じ原理を使用することにより、任意の数の入力ポート２０及び出力ポート３０がグループ化されてよい。従って、３２個の入力ポート２０を有するスイッチング・デバイスを、各々が８個の入力ポート２０を有する４つのスイッチング部を含むように、または各々が４個の入力ポート２０を有する８つのスイッチング部を含むように設計することが可能である。また、異種グループ化も必要に応じて使用することができる。
【００７８】
この実施例では、入力ポートがペアを成してグループ化され、従って、各入力ポート・セットが２つの入力ポート２０を含む。従って、この実施例では、ｎ＝３２、すなわち１６セットの入力ポート２０が存在する。同じことが、ペアを成してグループ化される出力ポート３０にも当てはまり、従って、１６セットの出力ポート３０に分割される。その結果、入力ポート２０のセットに対して出力バッファ３５のセットが存在し、この出力バッファ３５のセットが、出力ポート３０の各セットに対して１つの出力バッファ３５を含む。これらの出力バッファ３５内には、対応する入力ポート２０のセットに属する入力ポート２０に到来する各データ・パケットの、少なくともペイロードが記憶される、すなわち、データ・パケットが向かう出力ポート３０に対応する出力バッファ３５内のアドレスに記憶される。これらの出力バッファ３５は、入力ポート２０の前記セットに属する出力バッファ３５のセットに関係する。
【００７９】
前述の他の実施例では、入力ポート２０のセットが最小サイズ、すなわち、１つの入力ポート２０だけを含む。同じことが、出力ポート３０のセットにも当てはまり、各々がこうした１つの出力ポート３０だけを含む。
【００８０】
拡張性
ここで提案されたスイッチング機構は、既知の任意の拡張方法によりスケーラブルであり、こうした拡張方法には、例えば、従来技術のセクションで述べたＰＲＩＺＭＡアーキテクチャなどが含まれる。従って、速度拡張、ポート拡張、性能拡張、メモリ拡張（ここではより大きな出力バッファ空間の使用可能性でもよい）、リンク並列化、及びマスタ−スレーブ原理、ならびにこれらの任意の組み合わせが適用できる。
【００８１】
こうしたスイッチング機構はもちろん、その入力ポート２０及び出力ポート３０の数を増加するように変更可能である。入力ポート２０及び出力ポート３０の数は、同一である必要はない。
【００８２】
スイッチング機構の性能は、様々な態様で向上され得る。
【００８３】
ポート拡張
入力ポート及び出力ポートの増加のために、スイッチング機構はマルチステージまたはシングルステージとして構成可能である。マルチステージ構成では、必要とされるスイッチング機構の数が匹敵するシングルステージ構成よりもゆっくり増加する。すなわち、ポートの数の増加に伴い、マルチステージ構成が必要とするスイッチング機構の数は、シングルステージ構成の場合よりも少ない。
【００８４】
しかしながら、マルチステージ構成の性能は、待ち時間の増加及びバックプレッシャの可能性により、より低くなる。こうしたバックプレッシャは、１つの接続により出力キューが完全に使用され、他の宛先を有するデータ・パケットの処理が妨げられてしまったり、或いはパケット・メモリが完全に使用され、これがスイッチング機構の全ての入力ポートをブロックし、更に先行ステージに向けて伝播したりすることに起因する。こうした性能低下は、ある程度は速度アップ要因により補償され得る。これはスイッチング機構がその環境よりも速い速度で動作していることを意味する。このとき、出力バッファはスイッチング機構の背後に配置され、最終ステージから送出されるより高速な着信データ・パケットを待ち行列化する。これらのデータ・パケットはより遅い速度で、続くハードウェア環境に渡される。
【００８５】
メモリ拡張
別の可能性は、完全な使用が起こりにくくなるように、スイッチ内部メモリ、すなわち出力バッファ空間を増加することである。しかしながら、こうしたより大きなメモリは極めて高価であり、また物理的にもある程度制限される。メモリ拡張モードによりスイッチ・メモリを増加することは、物理的な制限を回避するが、その一方で高価である。マルチステージ構成において、後続のスイッチング機構が混み合っている場合（出力メモリがフル、すなわち使用可能なアドレスが存在しないか、出力キューがフル）、全ての入力ポート２０に対してバックプレッシャ信号が生成され、このバックプレッシャ信号が再度、全ての先行スイッチング機構に転送される。出力キュー１８がフルの場合、バックプレッシャは、フル出力キュー１８に向かうデータ・パケットだけを選択的にブロックできる。出力バッファ３５がフルの場合、全ての入力ポート２０がブロックされる。バックプレッシャ信号は先行スイッチング機構を、このスイッチング機構がもはやセルを送信できないという意味でブロックする。
【００８６】
前述の機構はまた、前述の入力ポートに類似する多数のデータ・ジェネレータが、前述の出力ポートに類似する多数のデータ・コンシューマに経路指定されるデータを生成する他の分野においても、配線の複雑性及び記憶管理の複雑性がストレージ・ボリュームよりも重要な資源と見なされる環境において適用可能である。例えば、コンピュータ・プロセッサまたはマルチプロセッサ・システムは、データ・パケットを生成する複数の処理ユニットを含み、これらのデータ・パケットは他の処理ユニットにより使用可能になるまで、一時的にバッファされ、記憶される。こうした環境では、データを生成する処理ユニットは入力ポートに対応し、データを消費する処理ユニットは出力ポートに対応し、データをその生成時から消費時まで保持するレジスタが、出力バッファに対応する。
【００８７】
前記の実施例は部分的に、または全体として組み合わされてもよい。
【図面の簡単な説明】
【００８８】
【図１】入力ポートごとに出力バッファのセットを有する、入力バッファ付きスイッチ機構を示す図である。
【図２】入力ポートごとの出力バッファのセットと、出力バッファごとの使用出力キューのセットとを有する、入力バッファ付きスイッチ機構を示す図である。
【図３】出力キュー、アービタ、マルチプレクサ及びバイパスを有する、出力バッファを示す図である。
【図４】セットにペアでグループ化される入力ポート及び出力ポートを有する、入力バッファ付きスイッチ機構を示す図である。
【図１】
2004529541.tif 000003
【図２】
2004529541.tif 000004
【図３】
2004529541.tif 000005
【図４】
2004529541.tif 000006
【国際公開パンフレット】
2004529541.tif 000007
2004529541.tif 000008
2004529541.tif 000009
2004529541.tif 000010
2004529541.tif 000011
2004529541.tif 000012
2004529541.tif 000013
2004529541.tif 000014
2004529541.tif 000015
2004529541.tif 000016
2004529541.tif 000017
2004529541.tif 000018
2004529541.tif 000019
2004529541.tif 000020
2004529541.tif 000021
2004529541.tif 000022
2004529541.tif 000023
2004529541.tif 000024
2004529541.tif 000025
2004529541.tif 000026
2004529541.tif 000027
2004529541.tif 000028
2004529541.tif 000029
2004529541.tif 000030
2004529541.tif 000031
2004529541.tif 000032
2004529541.tif 000033
2004529541.tif 000034
2004529541.tif 000035
2004529541.tif 000036
2004529541.tif 000037
2004529541.tif 000038
2004529541.tif 000039
2004529541.tif 000040
2004529541.tif 000041
2004529541.tif 000042
【国際調査報告】
2004529541.tif 000043
2004529541.tif 000044
2004529541.tif 000045