(57)【特許請求の範囲】
【請求項１】
入力されたパケットを蓄積するバッファメモリであって、複数のメモリ素子を含み、複数の出力ポートにより共有されるバッファメモリと、
入力ポートから入力されたパケットを、前記複数のメモリ素子のうち、該パケットに対応付けられた波長により特定されるメモリ素子に、光信号を用いて入力する手段と、
前記メモリ素子に蓄積されたパケットを、前記複数の出力ポートのうち、該パケットに含まれる宛先情報により特定される出力ポートに出力する手段とを備えたことを特徴とするパケット交換装置。
【請求項２】
入力ポートから入力されたパケットを指示された波長の光信号で出力する波長変換手段と、
この波長変換手段から出力されたパケットを一旦蓄積した後出力するバッファメモリであって、それぞれ波長と対応付けられた複数のメモリ素子を含み、複数の出力ポートにより共有されるバッファメモリと、
このバッファメモリから出力されたパケットの光信号が指示された波長である場合に、該パケットを前記複数の出力ポートのうちの対応する出力ポートに出力する波長選択手段と、
前記波長変換手段及び前記波長選択手段へ波長を指示する制御信号を送信する制御手段とを備えたことを特徴とするパケット交換装置。
【請求項３】
複数の入力ポートから入力された複数のパケットにそれぞれ対応する前記光信号を、波長多重して前記バッファメモリへ転送する手段を更に備えたことを特徴とする請求項１または２に記載のパケット交換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット交換装置に関する。特に共通バッファ型パケット交換装置（共通バッファ型スイッチ）に関する。
【０００２】
【従来の技術】
パケット交換装置は、バッファメモリが配置される位置によって、入力バッファ型スイッチ、出力バッファ型スイッチ、共通バッファ型スイッチに分類される。共通バッファ型スイッチは、入力バッファ型スイッチ、出力バッファ型スイッチなどの他のタイプのスイッチと比較し、バッファ使用効率が高いといわれている。しかし、共通バッファ型スイッチでは、バッファが複数のポートで共有されており、バッファメモリは、ポート数に比例して高速で動作する必要がある。
【０００３】
従来の共通バッファ型スイッチにＨ．Ｋｕｗａｈａｒａ，ｅｔ  ａｌ．，”Ａｓｈａｒｅｄ  ｂｕｆｆｅｒ  ｍｅｍｏｒｙ  ｓｗｉｔｃｈ  ｆｏｒ  ａｎ  ＡＴＭ  ｅｘｃｈａｎｇｅ”，Ｐｒｏｃ．ＩＣＣ’８９、ｐｐ．１１８−１２２がある。この共通バッファ型スイッチの概略図を図４３に示す。従来の共通バッファ型スイッチは、複数の入力ポート５００−１、５００−２、…、５００−Ｎと多重装置１００とバッファメモリ２００と分離装置３００と複数の出力ポート６００−１、６００−２、…、６００−Ｎと制御部４００とで構成されている。
【０００４】
入力ポート５００に入力されたパケットは、多重装置１００で時分割多重され、バッファメモリ２００へ転送される。また、パケットに含まれる交換情報は、多重装置１００で抽出され、制御部４００に転送される。制御部４００では、多重装置１００から転送された交換情報に基づいて書き込みアドレスを生成し、バッファメモリ２００へ転送する。バッファメモリ２００では、多重装置１００から転送されたパケットを制御装置４００から転送された書き込みアドレスにしたがってメモリに書き込む。
【０００５】
また、パケットの出力は、制御装置４００から読み出しアドレスがバッファメモリ２００に転送され、そのアドレスにしたがってバッファメモリ２００からパケットが読み出され、分離装置３００に転送される。分離装置３００では、バッファメモリ２００から転送された多重されているパケットを分離し、それぞれの出力ポート５００から出力される。
【０００６】
共通バッファ型スイッチは、複数の入力ポートから入力されたパケットを時分割多重してバッファメモリ２００に書き込み、また、バッファメモリ２００から複数の出力ポートに対して読み出すため、バッファメモリ２００へのアクセス速度がポート数に比例して増大してしまう。
【０００７】
バッファメモリ２００には、ＳＲＡＭやＤＲＡＭのような電気的なメモリが用いられる。これらのバッファメモリ２００では、複数のメモリ素子がバスを介して接続されている。図４４に電気的なメモリ素子の模式図を示す。
【０００８】
図４４に示したメモリは、複数のメモリ素子２２１と書き込みのときにデータを転送する書き込みデータバス２１３、書き込みデータバスをメモリ素子と接続するための書き込み転送ゲート２１５、書き込み転送ゲートを制御するための書き込みアドレスデコーダ２１１、そして、読み出しのときにデータを転送する読み出しデータバス２３３、読み出しデータバスとメモリ素子を接続するための読み出し転送ゲート２３１、読み出し転送ゲートを制御するための読み出しアドレスデコーダ２３５とで構成される。
【０００９】
バッファメモリ２００の動作について説明する。
【００１０】
最初に書き込み動作について説明する。書き込み時は、最初に書き込みアドレスデコーダ２１１に書き込みアドレスが与えられる。書き込み用アドレスデコーダ２１１は、書き込みアドレスが与えられるとそのアドレスに対応するメモリ素子２２１に接続された書き込み転送ゲート２１５のみを開状態するように書き込み転送ゲート２１５に制御信号を転送する。次に書き込みデータが、書き込みデータバス２１３を介してすべての書き込み転送ゲート２１５に転送される。開状態の書き込み転送ゲート２１５のみが、メモリ素子２２１に書き込みデータを転送し、メモリ素子２２１に書き込みデータが書き込まれる。
【００１１】
次に読み出し動作について説明する。読み出し時は、最初に読み出しアドレスデコーダ２３５に読み出しアドレスが与えられる。読み出しアドレスが与えられると読み出しアドレスデコーダ２３５は、そのアドレスに対応するメモリ素子２２１に接続された読み出し転送ゲート２３１のみを開状態にする。メモリ素子２２１は、保持されているデータを開放された読み出し転送ゲート２３１を経由して読み出しデータバス２３３に出力する。
【００１２】
バッファメモリ２００は、このように書き込み動作および読み出し動作を行う。共通バッファ型スイッチに用いられるバッファメモリ２００では、入力されたデータは、共通バッファメモリ２００に書き込まれ、また、出力するデータは、このバッファメモリ２００から読み出される。すなわち、複数の入力から時分割多重されたデータがバッファメモリ２００に書き込まれ、また、複数の出力へ時分割多重されたデータを読み出す。したがって、バッファメモリ２００は、入出力ポート数に比例して高速に動作しなければならない。
【００１３】
【発明が解決しようとする課題】
従来の共通バッファ型スイッチでは、パケットを共有されたバッファメモリ（共通バッファメモリ）に保持している。この共通バッファメモリは、複数の入力ポートと出力ポートで共有されているので、パケットの書き込みと読み出しは、この共通バッファメモリに対して行われる。
【００１４】
バッファメモリを構成するメモリ素子は、メモリ素子で共有されるバスによってアクセスされる。したがって、このバスには、複数の入出力ポートからのデータによって共有されており、バッファメモリへのアクセスは、時分割多重されて行われる。すなわち、バッファメモリの動作速度は、入出力ポート数に比例する。バッファメモリの動作速度の限界により、高速なパケット交換装置を実現できないという問題があった。
【００１５】
【課題を解決するための手段】
本発明は、上記課題を解決する目的でなされ、メモリ素子へのアクセスに波長多重を用いたバッファメモリを用いて高速な共通バッファ型スイッチを提供するものである。
【００１６】
本発明は、複数の入力ポートから入力されたパケットを複数の出力ポートにより共有されるバッファメモリに蓄積し、所望の出力ポートへ交換する共通バッファスイッチにおいて、バッファメモリを、波長により論理的に識別される複数のメモリ素子で構成し、複数の入力ポートから入力されたパケットをそれぞれ指示された波長に変換して光信号とし、これら光信号を波長多重してバッファメモリに転送し、バッファメモリでは、これら光信号の波長によって特定されるメモリ素子にそのパケットを保持することを特徴とする。
【００１７】
【発明の実施の形態】
（実施例１）
本発明の一実施例に係る共通バッファスイッチの構成例を図１に示す。
【００１８】
図１に示した共通バッファスイッチは、入力ポート１５００−１、１５００−２、…、１５００−Ｎ、波長変換装置１１００−１、１１００−２、…、１１００−Ｎ、波長多重分配装置１２００−１、メモリ素子１３００−１、１３００−２、…、１３００−Ｍ、波長多重分配装置１２００−２、波長選択装置１４００−１、１４００−２、…、１４００−Ｎ、出力ポート１６００−１、１６００−２、…、１６００−Ｎ、および図示されていない制御装置で構成される。
【００１９】
波長変換装置１１００は、入力されたパケットを制御装置から指定された波長の光信号へ変換する。制御装置は、未使用の（パケットが保持されていない）メモリ素子に対応する波長を波長変換装置１１００へ転送する。
【００２０】
波長多重分配装置１２００−１は、複数の波長変換装置１１００から送出された光信号を多重し、波長多重されたパケットをメモリ素子１３００へ転送する。波長多重分配装置１２００−１は、例えば、スターカプラや、アレイ導波路回折格子型合分波器などを利用することができる。
【００２１】
メモリ素子１３００は、あらかじめ決められている波長のパケットを保持する。この波長は、メモリ素子１３００のアドレスに相当する。メモリ素子１３００は、例えば、光−電気変換素子と半導体メモリを組み合わせたもの、光双安定素子による光メモリ、ループ型光遅延線メモリなどを利用することができる。
【００２２】
波長多重分配装置１２００−２は、複数のメモリ素子１３００から送出される複数の波長のパケットを受信し、多重し、複数の波長選択装置１４００へ分配する。
【００２３】
波長選択装置１４００は、波長多重されたパケットの中から、制御装置から指示された波長のパケットを選択し、出力する。
【００２４】
次に、本実施例による共通バッファスイッチの動作について説明する。入力ポート１５００に入力されたパケットは、波長変換装置１１００に転送される。波長変換装置１１００は、制御装置から転送された波長情報にしたがって、入力されたパケットを特定の波長の光に変換して波長多重分配装置１２００−１へ転送する。波長多重分配装置１２００−１は、入力された異なる波長の複数のパケットを複数のメモリ素子１３００に転送する。メモリ素子１３００は、波長多重分配装置１２００から転送されたパケットの中からあらかじめ定められた波長のパケットのみを蓄積する。パケットの出力時には、パケットは、メモリ素子１３００から読み出され、波長多重分配装置１２００−２へ転送される。波長多重分配装置１２００−２では、入力された複数の波長のパケットを各出力ポートに接続された波長選択装置１４００に転送する。波長選択装置１４００は、波長多重分配装置１２００−２から転送されたパケットの中から図示されない制御装置から指示された波長のパケットを抽出して、出力ポート１６００から出力する。
【００２５】
動作例を図２を用いて説明する。図２は、３つの入力ポートと４つのメモリ素子と３つの出力ポートを持つ場合の動作例を示している。時刻ｔ１において、入力ポート１５００−１からパケットＡ（１、１）が、入力ポート１５００−２からパケットＢ（１、１）が入力されている。パケットを表す記号は、「入力ポート（出力ポート、到着時間）」を表す。アルファベットは、Ａは、１５００−１、Ｂは、１５００−２、Ｃは、１５００−３からの入力に対応している。
【００２６】
例えば、パケットＡ（１、１）は、時刻ｔ１に入力ポート１５００−１から入力され、出力ポート１６００−１行きであるパケットを表し、パケットＢ（１、１）は、時刻ｔ１に入力ポート１５００−２から入力され、出力ポート１６００−１行きであるパケットを表し、パケットＡ（２、３）は、時刻ｔ３に入力ポート１５００−１から入力され、出力ポート１６００−２行きであることを表している。
【００２７】
入力ポート１５００から入力されたパケットは、波長変換装置１１００によって波長が変換される。例えば、Ａ（１、１）が波長λ１に、Ｂ（１、１）が波長λ２に変換される。波長変換されたパケットは波長多重分配装置１２００−１によって多重され、メモリ素子１３００のそれぞれに転送される。例えば、波長多重分配装置１２００−１にスターカプラを用いた場合は、波長多重された信号がすべてのメモリ素子１３００−１〜１３００−４に転送され、それぞれのメモリ素子１３００は、あらかじめ割り当てられた波長の信号のみを選択して保持する。例えば、メモリ素子１３００−１は、波長λ１、メモリ素子１３００−２は、波長λ２、メモリ素子１３００−３は、波長λ３、メモリ素子１３００−４は、波長λ４のパケットのみを選択する。また、波長多重分配装置１２００−１にアレイ導波路回折格子型合分波器のような波長ルータを用いた場合では、入力端子と入力された波長の関係から、特定のメモリ素子にのみ信号が転送されるので、メモリ素子１３００は、入力された信号を波長を選択しないで保持する。
【００２８】
メモリ素子１３００では、それぞれに対応した波長を持つパケットのみを保持する。例えば、メモリ素子１３００−１は、波長λ１、メモリ素子１３００−２は、波長λ２、メモリ素子１３００−３は、波長λ３、メモリ素子１３００−４は、波長λ４の波長のパケットを保持するものとする。この場合、波長λ１に変換されたパケットＡ（１、１）は、メモリ素子１３００−１に保持され、波長λ２に変換されたパケットＢ（１、１）は、メモリ素子１３００−２に保持される。
【００２９】
出力のときは、メモリ素子１３００に保持されたパケットは、波長多重分配装置１２００−２へ転送される。時刻ｔ１では、パケットＡ（１、１）、パケットＢ（１、１）が読み出される。このとき、読み出されるパケットの波長は、各メモリ素子が異なる波長を用いていれば、入力されたときの波長でも良いし、また、別の波長に変換されても良い。また、メモリ素子１３００は、制御装置からパケットの消去の指示があるまでパケットを保持している。ここでは、入力されたときの波長で出力されるものとする。したがって、パケットＡ（１、１）、パケットＢ（１、１）の波長は、それぞれ、波長λ１と波長λ２である。波長多重分離装置１２００−２では、メモリ素子１３００から出力されたパケットを波長多重してすべての波長選択装置１４００へ出力する。パケットＡ（１、１）、パケットＢ（１、１）の両方が出力ポート１６００−１へ向かうパケットであるので、波長選択装置１４００−１ではどちらか一方のみが選択される。この選択は、制御装置によって行われる。図の例では、Ａ（１、１）が選択され出力ポート１６００−１から出力される。
【００３０】
同様に時刻ｔ２では、パケットＢ（１、２）、パケットＣ（２、２）が入力され、波長変換装置１１００−２、１１００−２によってそれぞれ波長λ３、λ４に変換される。そして、それぞれ、メモリ素子１３００−３、１３００−４に保持される。時刻ｔ２では、出力ポート１６００−１にはパケットＢ（１、１）、出力ポート１６００−２にはパケットＣ（２、２）が選択される。さらに、時刻ｔ３では、出力ポート１６００−１では、パケットＢ（１、２）が選択され出力される。
【００３１】
このように、波長多重を用いてメモリ素子１３００にアクセスするので、複数の入力ポートが同時に複数のメモリ素子に書き込むことができ、また、複数のメモリ素子１３００からの出力を複数の出力ポートが同時に読み出すことができるので、高速なバッファメモリを構成することができ、高速な共通バッファ型スイッチを実現することが可能となる。
【００３２】
（実施例２）
本発明の別の実施例を図３に示す。
【００３３】
図３に示した共通バッファスイッチは、入力ポート１５００−１、１５００−２、１５００−３、波長変換装置１１００−１、１１００−２、１１００−３、波長多重分配装置１２００−１、メモリ素子１３００−１、１３００−２、…、１３００−７、波長多重分配装置１２００−２、波長選択装置１４００−１、１４００−２、１４００−３、出力ポート１６００−１、１６００−２、１６００−３、および図示されていない制御装置で構成される。
【００３４】
図３に示した共通バッファスイッチは、３入力３出力の共通バッファスイッチである。メモリ素子１３００−１、１３００−２、…、１３００−７は、それぞれ、１パケット分の遅延時間を持つ光導波路、２パケットの遅延時間を持つ光導波路、…、７パケットの遅延時間を持つ光導波路で構成されている。波長多重分配装置１２００−１、１２００−２は、スターカプラのように入力された信号を多重して複数の出力に送出する機能を持つ。
【００３５】
次に、図３に示した共通バッファスイッチの動作を説明する。
【００３６】
入力ポート１５００に入力されたパケットは、波長変換装置１１００によって制御装置から指示された波長の光信号に変換され、波長多重分配装置１２００−１へ転送される。このとき、制御装置は、メモリ素子１３００にすでに保持されているパケットに用いられている波長と異なる波長に変換するように指示をする。波長多重分配装置１２００−１は、複数の波長変換装置１１００によって出力された異なる波長の複数のパケットを波長多重し、複数のメモリ素子１３００へ転送する。複数のメモリ素子１３００は、１パケットの遅延時間に相当する複数の導波路で構成される。それぞれのメモリ素子１３００は、異なる遅延時間を持つ。例えば、メモリ素子１３００−１は、１パケット分の遅延時間を持つ導波路で構成され、メモリ素子１３００−２は、２パケット分の遅延時間を持つ導波路で構成されている。メモリ素子１３００からの出力は、波長多重されたパケットが波長多重分配装置１２００−２へ出力され、それぞれのメモリ素子の遅延時間が異なるので波長多重分配装置１２００−２で時間的に多重され、各出力ポートに接続された波長選択装置１４００へ転送される。そして、波長選択装置１４００は、制御装置から指示された波長のパケットを受信し、出力ポートから出力する。
【００３７】
動作例を図４を用いて説明する。
【００３８】
図４は、入力ポート１５００−１、１５００−２、１５００−３に入力されたパケットと、メモリ素子１３００−１、１３００−２、…、１３００−７から出力されるパケット、出力ポート１６００−１、１６００−２、１６００−３から出力されるパケットを表している。
【００３９】
図において、パケットを表す記号は、「入力ポート（出力ポート、到着時間）」を表す。アルファベットは、Ａは、１５００−１、Ｂは、１５００−２、Ｃは、１５００−３からの入力に対応している。
【００４０】
時刻ｔ１では、パケットＡ（１、１）、パケットＢ（１、１）、パケットＣ（２、１）が入力されている。パケットＡ（１、１）は、入力ポート１５００−１から時刻ｔ１に入力されたパケットで出力ポート１６００−１行きである。パケットＢ（１、１）は、入力ポート１５００−２から時刻ｔ１に入力されたパケットで出力ポート１６００−１行きである。パケットＣ（２、１）は、入力ポート１５００−３から時刻ｔ１に入力されたパケットで出力ポート１６００−２行きである。
【００４１】
これらのパケットは、それぞれの入力ポートに対応した波長変換装置１１００によって波長変換される。例えば、パケットＡ（１、１）、Ｂ（１、１）、Ｃ（２、１）は、それぞれλ１、λ２、λ３に割り当てられる。
【００４２】
波長変換されたパケットは、波長多重分配装置１２００に転送され波長多重される。
【００４３】
同様に時刻ｔ２に到着したパケットも波長変換され、例えば、パケットＡ（２、２）、Ｂ（３、２）、Ｃ（２、２）は、それぞれλ４、λ５、λ６に割り当てられる。このとき、波長は、メモリにすでに保持されているパケットに用いられている波長以外の波長に変換される。各メモリの出力は、波長多重分配装置１２００−２によって波長多重されるのでこのように割り当てることでパケットが破壊されることを防止できる。
【００４４】
波長多重されたパケットは、遅延時間の異なるメモリ素子１３００に転送される。図３の例では、メモリ素子１３００−１は、１パケットに相当するの遅延、メモリ素子１３００−２は、２パケットに相当するの遅延、…、メモリ素子１３００−７は、７パケットに相当するの遅延を持つ。
【００４５】
メモリ素子１３００の出力時刻ｔ１では、時刻ｔ１に到着したパケットがメモリ素子１３００−１から出力される。メモリ素子１３００の出力時刻ｔ２では、時刻ｔ２に到着したパケットがメモリ素子１３００−１から出力され時刻ｔ１に到着したパケットがメモリ素子１３００−２から出力される。このように遅延時間が異なるメモリ素子１３００によってそれぞれのメモリ素子１３００からは時間的に多重されたパケットが出力される。
【００４６】
このように時間的に多重されたパケットは、波長多重分配装置１２００−２によってさらに波長多重され、出力ポートに接続された波長選択装置１４００へ転送される。波長選択装置１４００は、制御装置からの制御信号によって、選択するパケットに対応した波長のみを選択し、出力する。図４では、四角で囲まれたパケットが選択されている。時刻ｔ１では、出力ポート１６００−１に対してパケットＡ（１、１）、出力ポート１６００−２に対してパケットＣ（２、１）が選択される。すなわち、波長選択装置１４００−１は、パケットＡ（１、１）に対応した波長λ１を選択し、波長選択装置１４００−２は、パケットＣ（２、１）に対応した波長λ３を選択する。
【００４７】
その結果、出力ポート１６００−１からは、パケットＡ（１、１）が出力され、出力ポート１６００−２からは、パケットＣ（２、１）が出力される。
【００４８】
このように図３の例では、３つの入力ポートを持ち、また、７つの遅延時間の異なるメモリ素子１３００が用いられているので、同時に３つのパケットが波長多重され、さらに遅延時間の異なる７つのメモリからの出力が時分割多重され、合計で３×７＝２１のパケットが同時に出力され、波長多重分配装置１２００−２によって波長多重される。
【００４９】
このような構成の共通バッファメモリを用いることで高速な共通バッファスイッチを構成することが可能となる。
【００５０】
（実施例３）
図５に本発明の別の実施例を示す。
【００５１】
図５に示した共通バッファスイッチは、入力ポート１５００−１、１５００−２、１５００−３、波長変換装置１１００−１、１１００−２、１１００−３、波長多重分配装置１２００、メモリ素子１３００、波長選択装置１４００−１、１４００−２、１４００−３、出力ポート１６００−１、１６００−２、１６００−３、および図示されていない制御装置で構成される。
【００５２】
メモリ素子１３００は、１パケットの遅延時間を持つ光導波路で構成されている。メモリ素子１３００の出力は、再び波長多重分配装置１２００へ入力される。
【００５３】
図５に示した共通バッファスイッチの動作を図６を用いて説明する。
【００５４】
図６は、入力ポート１５００−１、１５００−２、１５００−３に入力されるパケット、メモリ素子１３００から出力されるパケット、出力ポート１６００−１、１６００−２、１６００−３から出力されるパケットを表している。
【００５５】
図において、パケットを表す記号は、「入力ポート（出力ポート、到着時間）」を表す。アルファベットは、Ａは、１５００−１、Ｂは、１５００−２、Ｃは、１５００−３からの入力に対応している。
【００５６】
時刻ｔ１では、パケットＡ（１、１）、パケットＢ（１、１）、パケットＣ（２、１）が入力されている。パケットＡ（１、１）は、入力ポート１５００−１から時刻ｔ１に入力されたパケットで出力ポート１６００−１行きである。パケットＢ（１、１）は、入力ポート１５００−２から時刻ｔ１に入力されたパケットで出力ポート１６００−１行きである。パケットＣ（２、１）は、入力ポート１５００−３から時刻ｔ１に入力されたパケットで出力ポート１６００−２行きである。
【００５７】
入力ポート１５００から入力されたパケットは、制御装置からの指示にしたがって、波長変換装置１１００でメモリ素子１３００に保持されているパケットに割り当てられた波長と異なる波長に変換されて波長多重分配装置１２００に転送される。例えば、パケットＡ（１、１）、Ｂ（１、１）、Ｃ（２、１）は、それぞれλ１、λ２、λ３に割り当てられる。
【００５８】
波長多重分配装置１２００は、波長変換装置１１００から転送されたパケットを波長多重して出力する。波長多重分配装置の出力は、メモリ素子１３００と波長選択装置１４００へ転送される。メモリ素子１３００では、図６に示されているように異なるタイミングで入力されたパケットが、それぞれ異なる波長で多重されていく。すなわち、時刻ｔ１で入力されたパケットＡ（１、１）、Ｂ（１、１）、Ｃ（２、１）は、時刻ｔ１でメモリ素子１３００へ入力され、再び波長多重分配装置１２００に入力される。このとき、時刻ｔ２で入力されたパケットＡ（２、２）、Ｂ（３、２）、Ｃ（２、２）も波長多重分配装置１２００に入力され、時刻ｔ１で入力されたパケットと時刻ｔ２に入力されたパケットが波長多重されてメモリ素子１３００へ入力される。これらのパケットは、すべて異なる波長に変換されているので混信することはない。
【００５９】
多重されたパケットは、波長選択装置１４００にも転送され、制御装置の制御信号によって所望の波長が選択され、出力ポート１６００から出力される。すなわち、出力ポート１６００−１に対応する波長選択装置１４００は、時刻ｔ１で、波長λ１のパケットＡ（１、１）を選択し、出力ポート１６００−１から出力する。出力ポート１６００−２に対応する波長選択装置１４００は、時刻ｔ１で、波長λ３のパケットＣ（２、１）を選択し、出力ポート１６００−２から出力する。このような動作によって共通バッファスイッチを実現できる。
【００６０】
図７に本実施例の変形例を示す。図７に示した実施例は、分波装置２２００と信号処理装置１９００−１、１９００−２、…、１９００−Ｍと、合波装置２１００が追加されている。
【００６１】
波長多重分配装置１２００から出力されたパケットは、分波装置２２００によって波長毎に分離され、信号処理装置１９００へ転送される。信号処理装置１９００では、制御装置から転送される制御信号にしたがってそれぞれの波長のパケットに対して処理を行う。例えば、パケットを整形したり、あるいは、パケットを消去したり、あるいは、波長を変換するなどの処理を行う。処理されたパケットは、合波装置２１００に転送され、メモリ素子２２００へ転送される。
【００６２】
（実施例４）
本発明の別の実施例に係る共通バッファスイッチの構成例を図８に示す。
【００６３】
図８に示した共通バッファスイッチは、Ｍ個のメモリ素子１３００を持つＮ入力Ｎ出力の共通バッファスイッチであり、波長変換装置１１００−１、１１００−２、…、１１００−Ｎ、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−Ｎ、メモリ素子１３００−１、１３００−２、…、１３００−Ｍ、分配装置２３００、波長選択装置１４００−１、１４００−２、…、１４００−Ｎ、および制御装置１８００で構成される。
【００６４】
波長変換装置１１００は、入力されたパケットを制御装置１８００によって指示された波長に変換する。
【００６５】
波長多重装置２４００は、波長変換装置１１００から出力されたパケットを波長多重する。
【００６６】
光波長ルータ２０００は、入力された信号を波長によって異なる端子に出力する機能を持つ。例えば、アレイ導波路回折格子型合分波器を用いることができる。図４５は、５端子のアレイ導波路回折格子型合分波器の場合の波長ルーティングの様子を表している。
【００６７】
例えば、端子Ｉ−２から入力された波長λ４の信号は、端子Ｏ−３から出力される。
【００６８】
信号処置装置１９００は、光波長ルータ２０００から出力されたパケットの波長を制御装置から指示された波長に変換する。また、必要に応じて、波形の整形を行う。
【００６９】
メモリ素子１３００は、信号処置装置１９００から出力された光信号を遅延させ、光波長ルータ２０００へ転送する。メモリ素子１３００として、例えば、光ファイバによる遅延線を用いることができる。また、電気信号に変換した後に半導体によるメモリなどに保持して遅延させることも可能である。図９、図１０にメモリ素子１３００の構成例を示す。
【００７０】
図９は、電気信号に変換してから電気的なＦＩＦＯメモリを用いて実現した例である。図９に示したメモリ素子１３００は、光−電気変換器３１００とＦＩＦＯメモリ４１００と電気−光変換器３２００とで構成される。メモリ素子１３００に入力されたパケットは、光−電気変換器３１００で電気信号に変換され、ＦＩＦＯメモリ４１００に転送される。ＦＩＦＯメモリ４１００では、入力されたパケットをメモリに保持し、一定の時間遅延させた後に出力する。ＦＩＦＯメモリ４１００から出力されたパケットは、電気−光変換器３２００によって光に変換されて出力される。
【００７１】
図１０は、光スイッチと光遅延装置を組み合わせて可変長のメモリ素子１３００を構成した例である。図１０に示したメモリ素子１３００は、複数の光スイッチ６１００と複数の光遅延装置６４００とで構成される。光遅延装置６４００は、例えば、光ファイバで構成される。図１０に示したメモリ素子１３００では、３つの光スイッチ６１００−１、６１００−２、６１００−３と４つの遅延線６４００−１、６４００−２、６４００−３、６４００−４とで構成されている。パケットは、光スイッチ６１００−１に入力される。スイッチ６１００−１は、制御装置から指示される制御信号によって遅延線６４００−１か６４００−２のどちらかにパケットを転送する。遅延線６４００−１あるいは６４００−２から出力されたパケットは、光スイッチ６１００−２に入力され、制御装置から指示される制御信号によって遅延線６４００−３か６４００−４のどちらかにパケットを転送する。遅延線６４００−３あるいは６４００−４から出力されたパケットは、光スイッチ６１００−３に入力され、出力される。例えば、遅延線６４００−１の遅延量を１とし、遅延線６４００−２の遅延量を２とし、遅延線６４００−３の遅延量を１とし、遅延線６４００−４の遅延量を２とした場合、遅延線６４００−１と遅延線６４００−３を通過した場合の遅延量は、２であり、遅延線６４００−２と遅延線６４００−３を通過した場合の遅延量は、３であり、遅延線６４００−１と遅延線６４００−４を通過した場合の遅延量は、３であり、遅延線６４００−２と遅延線６４００−４を通過した場合の遅延量は、４である。この例では、遅延線の組合せで２から４までの遅延量を持つメモリ素子１３００を実現することが可能となる。このように、複数の光遅延装置の組合せを用いて可変長のパケットのためのメモリ素子１３００を実現することが可能となる。
【００７２】
メモリ素子１３００と信号処置装置１９００の順番を入れ換えることも可能である。すなわち、光波長ルータ２０００の端子にメモリ素子１３００を接続し、メモリ素子１３００の出力を信号処置装置１９００を接続し、信号処置装置１９００の出力を光波長ルータ２０００に接続することも可能である。
【００７３】
また、メモリ素子１３００と信号処置装置１９００を一体化することも可能である。例えば、図９において、電気−光変換器３２００の出力波長を調整できるように変更することでこのような一体化されたメモリ素子１３００を実現することができる。
【００７４】
分配装置２３００は、光波長ルータ２０００から出力されたパケットを波長選択装置１４００へ転送する。
【００７５】
波長選択装置１４００は、分配装置２３００から出力された光信号の中から制御装置１８００で指示された波長を選択し、出力ポート１６００から出力する。
【００７６】
制御装置１８００は、それぞれの装置の制御信号を生成する。パケットへの波長の割り当ては、例えば、従来の共通バッファスイッチに用いられていた制御装置と同様の装置を利用することができる。従来の制御装置で用いられていた書き込みアドレスを波長変換装置１１００で変換する波長に、そして、読み出しアドレスを波長選択装置１４００で選択する波長に対応させることで、従来の制御装置と同じ方法を用いて波長の割り当てを行うことが可能となる。
【００７７】
次に動作について説明する。
【００７８】
図１１は、４個のメモリ素子１３００を持つ３入力３出力の共通バッファスイッチである。図１１を用いて動作を説明する。図１１に示した光波長ルータ２０００は、５端子のものを用いた。（以降、すべての実施例において、５端子の光波長ルータ２０００を用いるが、発明は、５端子の光波長ルータ２０００に限定されない）
入力ポート１５００から入力されたパケットは、波長変換装置１１００へ転送される。波長変換装置１１００では、入力されたパケットを制御装置１８００から指示された波長に変換して出力し、波長多重装置２４００へ転送する。波長多重装置２４００では、複数の波長変換装置１１００から出力された光パケットを波長多重し、光波長ルータ２０００へ転送する。
【００７９】
光波長ルータ２０００へ転送された波長多重されたパケットは、そのパケットの波長によって異なる端子から出力される。光波長ルータ２０００の端子から出力されたパケットは、信号処置装置１９００に転送される。信号処置装置１９００は、主に波長の変換を行う。その他に、例えば、パケットを整形するなどの処理を行うようにしても良い。信号処置装置１９００から出力されたパケットは、メモリ素子１３００へ転送される。メモリ素子１３００では、入力されたパケットを遅延させて出力する。メモリ素子１３００から出力されたパケットは、光波長ルータ２０００に入力され、再び信号処置装置１９００へ転送される。信号処置装置１９００は、パケットを保持するときは、このようにパケットがメモリ素子１３００と光波長ルータ２０００の間をループするように波長変換を行う。
【００８０】
パケットを出力ポート１６００から出力するときは、信号処置装置１９００は、制御装置１８００からの指示によって、光波長ルータ２０００の分配装置２３００が接続されている端子に向かうように波長を変換する。波長変換されたパケットは、メモリ素子１３００を経由して光波長ルータ２０００に転送され、分配装置２３００が接続されている端子から出力され、分配装置２３００へ転送される。
【００８１】
別の出力方法として、信号処置装置１９００でループ用の波長と読み出し用の波長の両方の光を出力することも可能である。この方法の場合、パケットは、常に分波装置とループの両方に転送される。パケットは、読み出された後も消去されずにループしているので、信号処置装置１９００にパケットを消去機能が必要になる。消去機能をもつ信号処置装置１９００の構成例を図１２に示す。図１２に示した信号処置装置１９００は、光−電気変換器３１００、アンドゲート５１００、電気−光変換器３２００−１、３２００−２、合波装置２２００で構成される。入力信号は、光−電気変換器３１００で電気信号に変換され、アンドゲート５１００に転送される。アンドゲート５１００には、光−電気変換器３１００から転送されたパケットと制御装置１８００から転送されるパケット消去信号が入力される。パケット消去信号がアクティブのとき（’Ｈ’のとき）、アンドゲートの出力は常に’Ｌ’になり、パケットを消去することが可能となる。パケット消去信号が’Ｌ’のときは、パケットは、２つの電気−光変換器３２００−１、３２００−２に転送される。一方の電気−光変換器３２００−１は、パケットをループさせるための波長に変換し、もう一方の電気−光変換器３２００−２は、パケットを読み出すための波長に変換する。光信号に変換されたパケットは、合波装置２２００で合波され、メモリ素子１３００へ転送される。読み出し用の波長に変換されたパケットは、メモリ素子１３００を経由して光波長ルータ２０００に転送され、分配装置２３００が接続されている端子から出力され、分配装置２３００へ転送される。
【００８２】
分配装置２３００は、出力ポート毎に設けられている波長選択装置１４００へパケットを出力する。波長選択装置１４００は、制御装置１８００から指示された波長のパケットのみを選択し、出力ポートから出力する。
【００８３】
次に、動作の具体例を図１３を用いて説明する。
【００８４】
図１３は、入力ポート１５００、メモリ素子１３００、出力ポート１６００でのパケットの様子を示している。図中の括弧内の数字は、そのパケットの向かうべき出力ポートを表している。例えば、「パケット２（１）」は、パケット２は、出力ポート１行きであることを表している。
【００８５】
時刻Ｔ１において、パケット１、パケット２、パケット３が、それぞれ、入力ポート１、入力ポート２、入力ポート３から入力されている。
【００８６】
この例では、パケット１は、出力ポート１行き、パケット２は、出力ポート１行き、パケット３は、出力ポート２行きのパケットであるものとする。
【００８７】
入力されたパケットは、波長変換装置１１００によって、保持されるメモリに対応した波長に変換される。図の例では、パケット１は、メモリ素子１３００−１、パケット２は、メモリ素子１３００−２、パケット３は、メモリ素子１３００−３に保持されるように制御装置１８００によって制御されているものとする。この場合、パケット１は、波長λ５、パケット２は、波長λ１、パケット３は、波長λ２に変換され、光波長ルータ２０００に入力される。
【００８８】
光波長ルータ２０００では、入力されたパケットは、図４５に示したようにその波長によって異なる端子から出力される。
【００８９】
端子Ｉ−５から入力された波長多重されたパケットは、それぞれ、波長λ５のパケット１は、端子Ｏ−１、波長λ１のパケット２は、端子Ｏ−２、波長λ２のパケット３は、端子Ｏ−３から出力される。
【００９０】
光波長ルータ２０００から出力されたパケットは、信号処置装置１９００に転送される。信号処置装置１９００では、制御装置１８００から転送される制御信号にしたがって波長変換を行う。図１３の例の場合、パケット１とパケット２は、同じ出力ポートに向かうので、どちらか一方をメモリに保持し、もう一方を出力するように制御しなければならない。パケット１を出力ポートに出力し、パケット２をメモリに保持するように制御した場合、パケット１は、光波長ルータ２０００の端子Ｉ−１から端子Ｏ−５に転送するために波長λ５に変換し、パケット２は、光波長ルータ２０００の端子Ｉ−２から端子Ｏ−２に転送し、再びメモリに入力するために波長λ３に変換する。また、パケット３は、他のパケットと行き先が衝突しないので、光波長ルータ２０００の端子Ｉ−３から端子Ｏ−５に転送して出力ポートに向かうように波長λ２に変換する。
【００９１】
このように信号処置装置１９００によって波長変換されたパケットは、メモリ素子１３００に転送され、遅延させられた後、光波長ルータ２０００に入力される。光波長ルータ２０００では、パケットは、パケットの波長によってルーティングされる。パケット１は、端子Ｉ−１から端子Ｏ−５へ、パケット２は、端子Ｉ−２から端子Ｏ−２へ、パケット３は、端子Ｉ−３から端子Ｏ−５へ転送される。
【００９２】
パケット２は、再び信号処置装置１９００に転送される。
【００９３】
端子Ｏ−５から出力されたパケット１およびパケット３は、分配装置２３００に転送される。分配装置２３００は、入力されたすべてのパケットをすべての波長選択装置１４００に転送する。すなわち、波長λ５のパケット１と波長λ２のパケット３が波長多重されて、すべての波長選択装置１４００に転送される。
【００９４】
波長選択装置１４００では、制御装置１８００から転送される制御信号によって指定された波長のパケットのみを出力する。出力ポート１は、パケット１を出力するので、波長選択装置１４００−１は、波長λ５のパケットを選択してそれを出力し、出力ポート２には、パケット３を出力するので、波長選択装置１４００−２は、波長λ２のパケットを選択してそれを出力する。
【００９５】
つぎに、時刻Ｔ２において、パケット４、パケット５、パケット６が、それぞれ、入力ポート１、入力ポート２、入力ポート３から入力されている。パケット４は、出力ポート２行き、パケット５は、出力ポート３行き、パケット６は、出力ポート２行きのパケットである。
【００９６】
これらのパケットも同様に波長変換される。時刻Ｔ１で入力されたパケット２がメモリ素子１３００−２に保持されているので、メモリ２以外のメモリに保持されるように波長変換される。たとえば、パケット４が、メモリ素子１３００−１、パケット５が、メモリ素子１３００−３、パケット６が、メモリ素子１３００−４に保持されるように、パケット４は、波長λ５、パケット５は、波長λ２、パケット６は、波長λ３に変換され、光波長ルータ２０００に入力される。
【００９７】
光波長ルータ２０００では、パケットは、波長にしたがった端子から出力される。パケット４は、端子Ｏ−１、パケット５は、端子Ｏ−３、パケット６は、端子Ｏ−４へ転送される。また、時刻Ｔ１で入力されたパケット２も端子Ｏ−２へ転送される。
【００９８】
信号処置装置１９００では、制御装置１８００からの指示にしたがって、入力されたそれぞれのパケットの波長を変換する。パケット２、パケット４、パケット５を出力する場合、パケット２は、波長λ１、パケット４は、波長λ５、パケット５は、波長λ２に変換される。パケット６は、ループに保持されるように波長λ２に変換される。パケット２、パケット４、パケット５は、メモリ素子１３００−２、１３００−１から出力された後、光波長ルータ２０００の端子Ｏ−５から出力される。パケット６は、メモリ素子１３００−４から出力された後、光波長ルータ２０００の端子Ｏ−３から出力され、再び信号処置装置１９００−３、メモリ素子１３００−３に入力される。
【００９９】
光波長ルータ２０００の端子Ｏ−５から出力されたパケットは、分配装置２３００によってすべての波長選択装置１４００に転送される。波長選択装置１４００−１は、波長λ１のパケット２、波長選択装置１４００−２は、波長λ５のパケット４、波長選択装置１４００−３は、波長λ２のパケット５をそれぞれ選択する。
【０１００】
このようにして、入力されたパケットを交換することが可能となる。
【０１０１】
（実施例５）
本発明の共通バッファスイッチの別の構成例を図１４に示す。
【０１０２】
図１４に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００−１、２４００−２、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、および図示されない制御装置で構成される。
【０１０３】
図１４に示した共通バッファスイッチは、波長多重装置２４００が複数用いられている。
【０１０４】
本実施例では、波長多重装置２４００では、入力ポート１５００から入力されたパケットとメモリ素子１３００から出力されたパケットが多重される。本実施例では、同一メモリ素子１３００への書き込みにおいて、各波長変換装置１１００で異なる波長が用いられる。たとえば、メモリ素子１３００−１への書き込みに対して、波長変換装置１１００−１では、波長λ３が、波長変換装置１１００−２では、波長λ４が、波長変換装置１１００−３では、波長λ５が、用いられる。
【０１０５】
入力ポート１から入力されたパケットをメモリ素子１３００−１へ転送するには波長λ３、メモリ素子１３００−２へ転送するには波長λ４、メモリ素子１３００−３へ転送するには波長λ５、メモリ素子１３００−４へ転送するには波長λ１に変換することでそれぞれのメモリ素子へ転送することが可能となる。
【０１０６】
同様に入力ポート２から入力されたパケットに対しては、メモリ素子１３００−１へ転送するには波長λ４、メモリ素子１３００−２へ転送するには波長λ５、メモリ素子１３００−３へ転送するには波長λ１、メモリ素子１３００−４へ転送するには波長λ２に、入力ポート３から入力されたパケットに対しては、メモリ素子１３００−１へ転送するには波長λ５、メモリ素子１３００−２へ転送するには波長λ１、メモリ素子１３００−３へ転送するには波長λ２、メモリ素子１３００−４へ転送するには波長λ３に変換することでそれぞれのメモリ素子へ入力されることが可能となる。
【０１０７】
波長多重装置２４００としてスターカプラを用いることができる。スターカプラは、入力数に比例して光エネルギーが減衰する。本実施例により、一つの波長多重装置２４００における入力数を減らすことが可能となるので、波長多重装置２４００にスターカプラのような多重装置を用いた場合に光エネルギーの減衰を抑制することが可能となる。
【０１０８】
（実施例６）
本発明の共通バッファスイッチの別の構成例を図１５に示す。
【０１０９】
図１５に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−５、メモリ素子１３００−１、１３００−２、…、１３００−５、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、および図示されない制御装置で構成される。
【０１１０】
図１５に示した共通バッファスイッチでは、信号処置装置１９００でメモリ素子１３００にパケットを転送すると同時に分配装置２３００にもパケットを転送している。
【０１１１】
本実施例の動作について説明する。入力ポート１５００にパケットが到着すると、パケットは、波長変換装置１１００によって制御装置によって決められたメモリ素子１３００に対応した波長に変換される。波長変換されたパケットは、光波長ルータ２０００によって保持すべきメモリ素子１３００が接続された端子にから出力され、信号処置装置１９００に転送される。信号処置装置１９００では、波長変換を行った後、メモリ素子１３００と分配装置２３００の両方にパケットを転送する。このとき、メモリ素子１３００へ転送するパケットの波長は、メモリ素子１３００と光波長ルータ２０００とでループを形成するように変換される。また、分配装置２３００へ転送されるパケットの波長は、各信号処置装置１９００から転送されるパケットの波長が重複しなければ、任意で良い。
【０１１２】
メモリ素子１３００へ転送されたパケットは、メモリ素子１３００→波長ルータ２０００→信号処置装置１９００のループを循環する。読み出しが完了すると、パケットは、制御装置の指示によって信号処置装置１９００で消去される。一方、分配装置２３００へ転送されたパケットは、分配装置２３００によって各出力ポートに接続された波長選択装置１４００へ転送される。
【０１１３】
次に動作について説明する。
【０１１４】
図１５に示した例では、入力されたパケットをループさせるために信号処置装置１９００−１は、波長λ１、信号処置装置１９００−２は、波長λ３、信号処置装置１９００−３は、波長λ５、信号処置装置１９００−４は、波長λ２、信号処置装置１９００−５は、波長λ４にそれぞれ変換する。分配装置２３００へ転送されるパケットは、各信号処置装置１９００からの出力に重複が無いように変換される。例えば、メモリ素子１３００へ転送される波長と同じ波長でも良いし、あるいは、信号処置装置１９００−１は、波長λ１、信号処置装置１９００−２は、波長λ２、信号処置装置１９００−３は、波長λ３、信号処置装置１９００−４は、波長λ４、信号処置装置１９００−５は、波長λ５のように変換しても良い。
【０１１５】
パケットは、消去するまでループし続けるので、制御装置からの制御信号によって信号処置装置１９００によって消去される。すなわち、信号処置装置１９００には、波長変換機能の他にパケットを消去する機能が必要になる。信号処置装置１９００の例を図１６に示す。図１６に示した信号処置装置１９００は、図１２に示した信号処置装置１９００とほぼ同じ構成であるが、合波装置２２００が無い点が異なる。図１６に示した信号処置装置１９００において、ループ用波長のパケットは、メモリ素子１３００へ転送され、読み出し用波長のパケットは、分配装置２３００に転送され、必要に応じて波長選択装置１４００によって選択され、出力ポートから出力される。
【０１１６】
このような信号処置装置１９００を用いることで、信号処置装置１９００で波長変換する波長を可変にする必要が無くなり、単純化することが可能となる。
【０１１７】
（実施例７）
本発明の共通バッファスイッチの別の構成例を図１７に示す。
【０１１８】
図１７に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、分配装置２３００−１、２３００−２、…、２３００−４、多重装置２４００−１、２４００−２、…、２４００−４、および図示されない制御装置で構成される。
【０１１９】
信号処置装置１９００から出力されたパケットを分配装置２３００−１〜２３００−４と多重装置２４００−１〜２４００−４によって光波長ルータ２０００の異なる２つの端子に入力する。一方のパケットは、ループを形成して保持され、もう一方のパケットは、分配装置２３００へ転送される。
【０１２０】
信号処置装置１９００は、パケットがループするように波長変換を行う。たとえば、信号処置装置１９００−１は、波長λ１、信号処置装置１９００−２は、波長λ３、信号処置装置１９００−３は、波長λ５、信号処置装置１９００−４は、波長λ２に変換する。
【０１２１】
このように変換されたパケットをその波長が、光波長ルータ２０００の分配装置２３００の接続された端子（図の例では端子Ｏ−５）に向かう端子に接続されたメモリ素子１３００に入力することで、パケットを分配装置２３００に転送することが可能となる。図４５から、波長λ１は、端子Ｉ−２、波長λ３は、端子Ｉ−４、波長λ５は、端子Ｉ−１、波長λ２は、端子Ｉ−３から入力されると端子Ｏ−５から出力される。
【０１２２】
したがって、信号処置装置１９００−１から出力されたパケットが端子Ｉ−２、信号処置装置１９００−２から出力されたパケットが端子Ｉ−４、信号処置装置１９００−３から出力されたパケットが端子Ｉ−２、信号処置装置１９００−４から出力されたパケットが端子Ｉ−３へ転送されるようにすることで、それぞれのパケットは、ループすると同時に端子Ｏ−５から出力される。例えば、信号処置装置１９００−１から出力されるパケットは、波長λ１に変換されて出力され、分配装置２３００−１に入力される。分配装置２３００−１は、入力されたパケットを多重装置２４００−１と２４００−２に転送する。多重装置２４００−１に転送されたパケットは、メモリ素子１３００−１を経由し、光波長ルータ２０００の端子Ｉ−１に入力され、端子Ｏ−１から出力され、再び信号処置装置１９００−１に入力される。一方、多重装置２４００−２に転送されたパケットは、メモリ素子１３００−２を経由し、光波長ルータ２０００の端子Ｉ−２に入力され、端子Ｏ−５から出力され、分配装置２３００に転送され、波長選択装置１４００によって選択され、出力ポートから出力される。
【０１２３】
このように分配装置２３００−１〜２３００−４と多重装置２４００−１〜２４００−４を用いることで、信号処置装置１９００は、入力されたパケットを常に固定された波長に変換するので、読み出しのときの波長変換が不要になり、信号処置装置１９００の構成を簡単にすることが可能となる。
【０１２４】
（実施例８）
本発明の共通バッファスイッチの別の構成例を図１８に示す。
【０１２５】
図１８に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、同期装置４２００−１、４２００−２、…、４２００−４、および図示されない制御装置で構成される。
【０１２６】
図１８に示した共通バッファスイッチは、同期装置４２００が光波長ルータ２０００と信号処置装置１９００の間に接続されている。
【０１２７】
パケットは、光波長ルータ２０００、信号処置装置１９００、メモリ素子１３００のループしているが、パケットがループする距離は、それぞれのループで厳密に同一にはならない。したがって、長い間、循環していると、それぞれのループ間でパケットの位相のずれが発生する。このような場合に、同期装置４２００は、位相を調整し、信号処置装置１９００へパケットを転送する。
【０１２８】
なお、同期装置４２００は、信号処置装置１９００と一体化しても良い。一体化した信号処置装置１９００の構成例を図１９に示す。
【０１２９】
図１９に示した信号処置装置１９００は、光−電気変換装置３１００と、遅延装置５５００−１、５５００−２、…、５５００−Ｌと、位相差検出装置５４００と、セレクタ５２００と、電気−光変換装置３２００とで構成される。
【０１３０】
光−電気変換装置３１００は、入力された光信号を電気信号に変換する。
【０１３１】
遅延装置５５００は、入力された信号を遅延させる。複数の遅延量を持つ遅延装置５５００が並列に並べられる。
【０１３２】
位相差検出装置５４００は、制御装置から転送される位相同期信号と入力されたパケットの位相とを比較し、その位相差から位相を合わせるために必要な遅延量に対応する遅延装置を選択するための選択信号を生成する。
【０１３３】
セレクタ５２００は、複数の遅延装置５５００の出力を受信し、位相差検出装置５４００からの制御信号にしたがって、それらの遅延装置からの出力の中から１つの信号を選択する。
【０１３４】
電気−光変換装置３２００は、入力された電気信号を制御装置から転送される出力波長制御信号にしたがった波長の光に変換して出力する。
【０１３５】
また、別の同期装置４２００を含んだ信号処置装置１９００の例を図２０に示す。
【０１３６】
図２０に示した信号処置装置１９００は、図１９に示した信号処置装置１９００の構成要素と同じで、光−電気変換装置３１００と、遅延装置５５００−１、５５００−２、５５００−Ｌと、位相差検出装置５４００と、セレクタ５２００と、電気−光変換装置３２００とで構成される。ただし、遅延装置５５００は、並列ではなく直列に接続されている。
【０１３７】
このように、同期装置４２００を接続したり、信号処理装置１９００に位相調整機能を持たせることで、ループしている間に蓄積する位相のずれを吸収することが可能となる。
【０１３８】
（実施例９）
本発明の共通バッファスイッチの別の構成例を図２１に示す。
【０１３９】
図２１に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、同期装置４２００−１、４２００−２、４２００−３、および図示されない制御装置で構成される。
【０１４０】
図２１に示した共通バッファスイッチは、各出力ポートに同期装置４２００が接続されている。
【０１４１】
パケットは、光波長ルータ２０００、信号処置装置１９００、メモリ素子１３００のループを巡回している。パケットが巡回する距離は、それぞれのループで厳密に同一にはならない。したがって、長い間、巡回していると、それぞれのループ間でパケットの位相のずれが発生する。このような場合に、同期装置４２００は、各出力ポートで位相の調整を行う。
【０１４２】
例えば、図１２に示した信号処置装置１９００のように、ループ用と読み出し用のパケットを生成する場合、波長選択装置１４００には、常にパケットが入力される。波長選択装置１４００には、複数のメモリ素子１３００からのパケットが入力される。これらのパケットの位相は、それぞれのループの長さの違いによってずれが生じている。このような構成の場合、波長選択装置１４００が、ある波長を選択したときに必ずしもパケットの先頭から読み出されるとは限らない。このような場合に、同期装置４２００は、パケットの余分な部分を除去してパケットを出力する。
【０１４３】
同期装置４２００は、例えば、図２２に示した構成を用いることができる。図２２に示した同期装置４２００は、光遅延装置６４００、開閉装置６２００、光−電気変換装置３１００、パケット検出装置５３００で構成される。同期装置４２００に入力されたパケットは、光遅延装置６４００と光−電気変換装置３１００へ転送される。パケットは、光−電気変換装置３１００で電気信号に変換され、パケット検出装置５３００に転送される。パケット検出装置５３００は、パケットの先頭と末尾を検出し、パケットの先頭からパケットの末尾までの間、開閉装置６２００への出力をアクティブにする。一方、光遅延装置６４００に転送されたパケットは、光−電気変換装置３１００、パケット検出装置５３００の処理時間に相当する時間だけ遅延され、開閉装置６２００へ転送される。開閉装置６２００は、パケット検出装置５３００から転送される制御信号にしたがって、制御信号がアクティブのときのみ、入力されたパケットを出力する。
【０１４４】
このような同期装置４２００を各出力ポートに持つことで、ループ毎に必要であった同期装置４２００の個数を減らすことが可能となる。
【０１４５】
（実施例１０）
本発明の共通バッファスイッチの別の構成例を図２３に示す。
【０１４６】
図２３に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００−１、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００−１、波長選択装置４００−１、１４００−２、１４００−３、同期装置４２００、多重装置２４００−２、分配装置２３００−２、および図示されない制御装置で構成される。
【０１４７】
図２３に示した共通バッファスイッチでは、同期装置４２００は、分配装置２３００−２と多重装置２４００−２の間に接続されている。
【０１４８】
本実施例は、例えば、メモリループ間の位相差が小さい場合に適用される。メモリループ間の位相差が小さい場合、位相差は、循環を多く繰り返すと蓄積していく。すなわち、メモリのループに長い間保持されているパケットは、位相差が大きくなる。許容範囲を越えた位相差を持つパケットに対してのみ、位相調整を行えば、同時に同期を確立しなければならないパケット数が少なくなるので同期装置４２００を共有することで同期装置４２００の数を減らすことが可能となる。
【０１４９】
例えば、信号処置装置１９００−１、メモリ素子１３００−１、光波長ルータ２０００のループに保持されているパケットを同期装置４２００に転送する場合、信号処置装置１９００−１において、ループを循環するための波長λ１から光波長ルータ２０００の端子Ｏ−５へ向かう波長λ５に変換する。波長変換されたパケットは、メモリ素子１３００−１、光波長ルータ２０００を経由して分配装置２３００−２へ転送される。分配装置２３００−２は、パケットを分配装置２３００−１と同期装置４２００へ転送する。分配装置２３００−１に転送されたパケットは、波長選択装置１４００へ転送されるが、波長選択装置１４００によって選択されないので消滅する。一方、同期装置４２００へ転送されたパケットは、位相を調整されてから多重装置２４００−２へ転送される。このとき、パケットは、同期装置４２００に入力された波長で出力される。多重装置２４００に入力されたパケットは、光波長ルータ２０００へ転送される。光波長ルータ２０００では、端子Ｉ−１へ転送される。そして、再び、信号処置装置１９００−１に入力され、メモリのループを循環させる波長λ１に変換され、ループを循環する。
【０１５０】
同期装置４２００の構成例を図２４に示す。同期装置４２００は、波長選択装置１４００、光−電気変換装置３１００、遅延装置５５００−１、…、５５００−Ｌ、位相差検出装置５４００、セレクタ５２００、電気−光変換装置３２００で構成される。同期装置４２００に入力されたパケットは、波長選択装置１４００に入力される。波長選択装置１４００は、制御装置から転送される選択波長指示信号に指示された波長のパケットを選択し、光−電気変換装置３１００へ転送する。パケットは、光−電気変換装置３１００で、電気信号に変換され、遅延量の異なる複数の遅延装置５５００に転送される。同時に、位相差検出装置５４００にも転送される。位相差検出装置５４００では、制御装置から転送される位相同期信号と入力されたパケットの位相差を検出し、位相差に対応した遅延装置５５００を選択するための選択信号をセレクタ５２００に転送する。セレクタ５２００は、位相差検出装置５４００から転送された選択信号にしたがって複数の遅延装置５５００の中から１つを選択し、選択された遅延装置５５００から出力されたパケットを電気−光変換装置３２００へ転送する。電気−光選択装置３２００では、制御装置から転送された出力波長指示信号にしたがった波長のパケットに変換し、出力する。
【０１５１】
このような構成の共通バッファスイッチを用いることで、同期装置４２００を減らすことが可能となる。
【０１５２】
同期装置４２００は、複数用いられても良い。また、同期回路４２００から出力するときに、入力された波長とは異なる波長に変換しても良い。たとえば、端子Ｏ−５に向かう波長に変換すれば、位相調整された後で出力ポートから出力される。また、別の空きであるメモリ素子１３００に向かう波長に変換しても良い。
【０１５３】
（実施例１１）
本発明の共通バッファスイッチの別の構成例を図２５に示す。
【０１５４】
図２５に示した共通バッファスイッチは、波長変換装置１１００−１Ａ、１１００−１Ｂ、１１００−２Ａ、１１００−２Ｂ、１１００−３Ａ、１１００−３Ｂ、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、分配装置２３００−１、２３００−２、２３００−３、波長多重装置２４００−１、２４００−２、２４００−３、および図示されない制御装置で構成される。
【０１５５】
図２３に示した共通バッファスイッチでは、一つの入力ポートに複数の波長変換装置１１００が用いられている。
【０１５６】
入力ポートに入力されたパケットは、分配装置２３００−１〜２３００−３によって複数の波長変換装置１１００へ転送される。波長変換装置１１００で波長変換されたパケットは、波長多重装置２４００−１〜２４００−３によって多重され、波長多重装置２４００へ転送される。
【０１５７】
図２６に波長変換の動作の様子を示す。図２６は、入力ポート１における波長変換の動作を表している。時刻Ｔ１において、パケットＡが入力され、それに続いて、時刻Ｔ２でパケットＢ、時刻Ｔ３でパケットＣ、時刻Ｔ４でパケットＤが入力されている。
【０１５８】
入力されたパケットは、分配装置２３００−１によって波長変換装置１１００−１Ａ、１１００−１Ｂに分配される。時刻Ｔ１において、波長変換装置１１００−１Ａは、制御装置から指示されている波長λ１に出力波長を調整してあり、入力されたパケットＡは、波長変換装置１１００−１Ａを用いて波長変換される。一方、このとき、波長変換装置１１００−１Ｂは、制御装置から指示された波長λ２に波長を調整している途中であり、出力が波長多重装置２４００−１に転送されないように制限される。したがって、波長変換装置１１００−１Ａからの出力のみが波長多重装置２４００−１に転送される。
【０１５９】
時刻Ｔ２においては、波長変換装置１１００−１Ａは、制御装置からの指示にしたがって波長λ３へ調整を行っており、波長は安定していない。一方、波長変換装置１１００−１Ｂは、すでに波長λ２へ調整が終了しているので利用可能である。時刻Ｔ２に入力されたパケットＢは、波長変換装置１１００−１Ｂによって波長λ２に変換され、波長多重装置２４００−１に転送される。
【０１６０】
このように一つの入力ポートに対し、複数の波長変換装置１１００を並列に用いることで、波長変換に伴う遅延時間を隠蔽することが可能となる。
【０１６１】
（実施例１２）
本発明の共通バッファスイッチの別の構成例を図２７に示す。
【０１６２】
図２７に示した共通バッファスイッチは、波長多重装置２４００、光波長ルータ２０００、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、分配装置２３００−１、２３００−２、２３００−３、選択装置６５００−１、６５００−２、…、６５００−４、光源６３００−１、６３００−２、…、６３００−４、変調装置６６００−１、６６００−２、…、６６００−４、および図示されない制御装置で構成される。
【０１６３】
入力ポートから入力されたパケットは、分配装置２３００−１〜２３００−３によって選択装置６５００−１〜６５００−４へ転送される。各選択装置６５００には、光源６３００と変調装置６６００が接続されている。光源６３００は、それぞれのメモリ素子１３００の波長と対応している。したがって、光源６３００の数は、メモリ素子１３００の数と等しい。また、光源６３００の波長は、メモリ素子１３００に対応した波長と等しい。図２７の例では、光源６３００−１は、波長λ１に、光源６３００−２は、波長λ２に、光源６３００−３は、波長λ３に、光源６３００−４は、波長λ５にそれぞれ対応している。
【０１６４】
選択装置６５００は、制御装置からの制御信号にしたがって、入力された複数のパケットの中から１つのパケットを選択する。選択されたパケットは、変調装置６６００に転送される。変調装置６６００は、接続されている光源６３００に用いられている波長の光でパケットを変調して波長多重装置２４００へ転送する。
【０１６５】
例として、入力ポート１に到着したパケットが、波長λ３に変換される様子を説明する。
【０１６６】
入力ポート１に到着したパケットは、分配装置２３００−１によって選択装置６５００−１、６５００−２、６５００−３、６５００−４に転送される。波長λ３に対応した選択装置６５００−３は、制御装置から転送される制御信号にしたがって、入力ポート１からのパケットすなわち分配装置２３００−１の出力を選択する。選択されたパケットは、変調装置６６００−３に転送される。光源６３００−３は、波長λ３の光を出力している。光源６３００−３の出力は、変調装置６６００−３に転送され、変調装置６６００−３は、選択装置６５００−３から転送されたパケットを変調する。したがって変調装置６６００−３は、波長λ３のパケットに変換されて波長多重装置２４００へ転送される。
【０１６７】
このような構成の実施例を用いることにより、波長変換装置によって波長を変換する必要が無くなり、可変波長光源が不要となる。
【０１６８】
（実施例１３）
本発明の共通バッファスイッチの別の構成例を図２８に示す。
【０１６９】
図２８に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長選択装置１４００と波長多重装置２４００と光波長ルータ２０００と信号処置装置１９００−１、１９００−２、…、１９００−４とメモリ素子１３００−１、１３００−２、…、１３００−４とで構成されるメモリユニット１３５０−１、１３５０−２、…、１３５０−Ｌ、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、および図示されない制御装置で構成される。
【０１７０】
図２８に示した共通バッファスイッチは、波長選択装置１４００と、光波長ルータ２０００と信号処置装置１９００とメモリ素子１３００で構成されるメモリユニット１３５０を複数用いることによってメモリ容量を拡張している。
【０１７１】
光波長ルータ２０００は、波長に対する周回性がある。すなわち、例えば、図４５に示した光波長ルータ２０００にさらにλ６の波長を入力すると、波長λ１と同様に振舞う。
【０１７２】
図２８に示した実施例はこれを利用して、メモリ容量を拡張している。
【０１７３】
波長選択装置１４００は、帯域透過フィルタであり、例えば、メモリユニット１３５０−１の波長選択装置１４００は、波長λ１〜波長λ５を、メモリユニット１３５０−２の波長選択装置１４００は、波長λ６〜波長λ１０を、…、メモリユニット１３５０−Ｌの波長選択装置１４００は、波長λ（５×Ｌ−４）〜波長λ５×Ｌを、それぞれ通過させる。
【０１７４】
例えば入力ポート１に入力されたパケットを波長λ７に変換した場合、パケットは、波長多重装置２４００に転送され、メモリユニット１３５０−１〜１３５０−Ｌに転送される。これらのメモリユニット１３５０の波長選択装置１４００の中でメモリユニット１３５０−２の波長選択装置１４００だけがパケットを通過させる。波長選択装置１４００を通過したパケットは、メモリユニット１３５０−２の波長ルータ２０００に転送される。
【０１７５】
このように複数のメモリユニット１３５０を用いることによって波長ルータ２０００の端子数を増やさずにメモリ容量を拡張することが可能となる。
【０１７６】
また、それぞれのメモリユニット１３５０へ光波長ルータを用いてパケットを分配することも可能である。光波長ルータを用いた構成例を図２９に示す。図２９に示した構成例では、波長選択装置１４００ではなく、光波長ルータ２０００−１が用いられている。また、波長多重装置２４００が省略されている。光波長ルータ２０００−１は、メモリユニット１３５０に用いられている光波長ルータ２０００より、１端子に出力される波長の帯域が広い。例えば、端子１に波長波長λ１〜波長λ５Ｌの信号を入力すると、端子Ｏ−１から波長λ〜波長λ５が出力され、端子Ｏ−２から波長λ６〜波長λ１０が出力され、…端子Ｏ−Ｌから波長λ５Ｌ−４〜波長λ５Ｌが出力される。このような光波長ルータ２０００−１を用いてもメモリ容量を拡張することが可能となる。
【０１７７】
（実施例１４）
本発明の共通バッファスイッチの別の構成例を図３０に示す。
【０１７８】
図３０に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００と光波長ルータ２０００と信号処置装置１９００−１、１９００−２、…、１９００−４とメモリ素子１３００−１、１３００−２、…、１３００−４とで構成されるメモリユニット１３５０−１、１３５０−２、…、１３５０−Ｌ、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、光波長ルータ２０００−１、および図示されない制御装置で構成される。
【０１７９】
図３０に示した共通バッファスイッチは、光波長ルータ２０００−１と、光波長ルータ２０００と信号処置装置１９００とメモリ素子１３００で構成されるメモリユニット１３５０を複数用いることによってメモリ容量を拡張している。
【０１８０】
光波長ルータ２０００−１とメモリユニット１３５０に用いられている光波長ルータ２０００とは、端子数が異なる。
【０１８１】
図３１は、４端子の光波長ルータと５端子の光波長ルータを組み合わせた場合の各端子の出力波長の様子を示している。図３１の数字は、それぞれの端子に出力される波長を表している。
【０１８２】
１から２０までの波長を４端子の光波長ルータに入力すると、端子１からは、波長１、波長５、波長９、波長１３、波長１７の波長が、端子２からは、波長２、波長６、波長１０、波長１４、波長１８の波長が、端子３からは、波長３、波長７、波長１１、波長１５、波長１９の波長が、端子４からは、波長４、波長８、波長１２、波長１６、波長２０の波長がそれぞれ出力される。これらのそれぞれを更に５端子の光波長ルータに入力すると、例えば、波長１、波長５、波長９、波長１３、波長１７は、それぞれ、端子１、端子５、端子４、端子３、端子２から出力される。
【０１８３】
例えば、入力ポート１から入力されたパケットを、波長変換装置１１００−１によって波長λ７に変換すると、光波長ルータ２０００−１の端子３から出力され、メモリユニット１３５０−３に転送される。メモリユニット１３５０−３では、光波長ルータ２０００に入力され、その端子２から出力され、信号処置装置１９００とメモリ素子１３００とでループを構成して保持される。
【０１８４】
このように端子数の異なる２つの光波長ルータを組み合わせることによりメモリ容量を増加させることが可能となる。
【０１８５】
（実施例１５）
本発明の共通バッファスイッチの別の構成例を図３２に示す。
【０１８６】
図３２に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００、複数の信号処置装置１９００と分波装置２２００と合波装置２１００とで構成される複数の信号処理ユニット１９５０−１、１９５０−２、…、１９５０−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、および図示されない制御装置で構成される。
【０１８７】
図３２に示した共通バッファスイッチは、メモリ素子１３００に複数の波長のパケットを保持することによってメモリ容量を拡張している。
【０１８８】
本実施例では、一つのパケットは、複数のメモリ素子１３００によって保持される。図３３を参照しながら動作について説明する。例えば、端子Ｉ−５から入力された波長λ５のパケットは、端子Ｏ−１に転送され、信号処理ユニット１９５０−１の分波装置２２００によって波長毎に信号処置装置１９００−１、１９００−２、…、１９００−Ｌに転送される。波長λ５のに対応した信号処置装置１９００は、制御装置から転送される制御信号にしたがって波長を変換する。例えば、波長λ２に変換する。
【０１８９】
波長λ２に変換されたパケットは、合波装置２１００に転送され、波長多重されてからメモリ素子１３００−１に転送され、さらに光波長ルータ２０００の端子Ｉ−１に入力される。端子Ｉ−１に入力された波長λ２のパケットは、光波長ルータ２０００の端子Ｏ−２から出力される。端子Ｏ−２から出力されたパケットは、信号処理ユニット１９５０−２に転送される。信号処理ユニット１９５０−２では、パケットは、分波装置２２００によって分波され、波長λ２に対応した信号処置装置１９００に転送される。波長λ２に対応した信号処置装置１９００では、波長を変換せずにその波長で出力され、合波装置２１００で波長多重され、メモリ素子１３００−２に転送される。メモリ素子１３００−２から出力された波長λ２のパケットは、光波長ルータ２０００の端子Ｉ−２に入力され、端子Ｏ−１から出力される。出力されたパケットは、再び信号処理ユニット１９５０−１に転送される。信号処理ユニット１９５０−１では、分波装置２２００によって波長λ２に対応した信号処置装置１９００に転送される。波長λ２に対応した信号処置装置１９００では、入力された波長と同じ波長で出力される。このように信号処置装置１９００を制御することで、光波長ルータ２０００→信号処理ユニット１９５０−１→メモリ素子１３００−１→光波長ルータ２０００→信号処理ユニット１９５０−２→メモリ素子１３００−２→光波長ルータ２０００というループを循環させるように制御することが可能となる。
【０１９０】
同様に信号処理ユニット１９５０−１において、波長多重装置２４００から転送されたパケットを波長λ３に変換すると、光波長ルータ２０００→信号処理ユニット１９５０−１→メモリ素子１３００−１→光波長ルータ２０００→信号処理ユニット１９５０−３→メモリ素子１３００−３→光波長ルータ２０００という経路でループを形成することが可能となる。
【０１９１】
例えば、光波長ルータの２端子の対でループを構成する場合、図３２の例では、４から２端子を選択する組合せとなるので６個のループが実現できる。
【０１９２】
このように複数の光波長ルータの複数の端子を用いてループを形成すると、ループの組合せの数だけパケットを保持できるので、メモリ容量を増加させることが可能となる。例えば、図に示したように５端子の光波長ルータ２０００を用いると、４つのループが実現でき、１つのループでパケットを保持する場合では、４つのパケットが保持できないのに対し、２つの端子間でパケットを保持する場合は、６つのパケットを保持することが可能となる。
【０１９３】
（実施例１６）
本発明の共通バッファスイッチの別の構成例を図３４に示す。
【０１９４】
図３４に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００、光波長ルータ２０００−１、光波長ルータ２０００−２、複数の信号処置装置１９００と分波装置２２００と合波装置２１００とで構成される複数の信号処理ユニット１９５０−１、１９５０−２、…、１９５０−５、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００、波長選択装置１４００−１、１４００−２、１４００−３、および図示されない制御装置で構成される。
【０１９５】
図３４に示した共通バッファスイッチは、図３２に示した共通バッファスイッチと同様にメモリ素子１３００に複数の波長を保持するが、光波長ルータ２０００−１、２０００−２の２つを用いている点が異なる。
【０１９６】
図３５を参照しながら動作例を説明する。例えば、光波長ルータ２０００−１の端子Ｏ−１に転送されたパケットを信号処理ユニット１９５０−１で波長λ２に変換すると、信号処理ユニット１９５０−１→光波長ルータ２０００−２の端子Ｉ−１→光波長ルータ２０００−２の端子Ｏ−２→メモリ素子１３００−２→光波長ルータ２０００−１の端子Ｉ−２→光波長ルータ２０００−１の端子Ｏ−１のループによってパケットが保持される。そして、光波長ルータ２０００−１の端子Ｏ−２に転送されたパケットを波長λ２に変換すると、信号処理ユニット１９５０−２→光波長ルータ２０００−２の端子Ｉ−２→光波長ルータ２０００−２の端子Ｏ−１→メモリ素子１３００−１→光波長ルータ２０００−１の端子Ｉ−１→光波長ルータ２０００−１の端子Ｏ−２のループによってパケットが保持される。
【０１９７】
このようにある波長のパケットは、一つのメモリ素子１３００に複数の波長のパケットが保持されるので、メモリ容量を増加させることが可能となる。
【０１９８】
（実施例１７）
本発明の共通バッファスイッチの別の構成例を図３６に示す。
【０１９９】
図３６に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００と、光波長ルータ２０００−１と、信号処置装置１９００−１、１９００−２、…、１９００−５、メモリ素子１３００−１、１３００−２、…、１３００−５と、光波長ルータ２０００−２と、および図示されない制御装置で構成される。
【０２００】
図３６に示した共通バッファスイッチは、光波長ルータ２０００−２を用いて出力ポートを選択している。
【０２０１】
信号処置装置１９００は、２つの出力を持つ。一つの出力は、メモリ素子１３００へ転送され、もう一つの出力は、光波長ルータ２０００−２へ転送される。光波長ルータ２０００−２へ転送される波長は、制御装置によって指示される。
【０２０２】
例えば、メモリ素子１３００−１と光波長ルータ２０００−１のループに保持されているパケットを出力ポート２に出力する場合、波長は、λ４に変換されて出力される。信号処置装置１９００−１から出力された波長λ４のパケットは、光波長ルータ２０００−２の端子Ｉ−１に入力される。光波長ルータ２０００−２の端子Ｉ−１に入力されたパケットは、図４５にしたがって、端子Ｏ−４に出力され、出力ポート１６００−２から出力される。
【０２０３】
このように、出力ポートへの交換に光波長ルータ２０００−２を用いることにより、波長選択装置、分配装置を省略することが可能となる。
【０２０４】
（実施例１８）
本発明の共通バッファスイッチの別の構成例を図３７に示す。
【０２０５】
図３７に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００と、光波長ルータ２０００と、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４と、分配装置２３００、および図示されない制御装置で構成される。
【０２０６】
図３７では、光波長ルータ２０００の端子の間は、任意に接続されている。光波長ルータ２０００と信号処置装置１９００とメモリ素子１３００がループを形成すればパケットを保持できるので、必ずしも同じ順序で接続する必要はない。
【０２０７】
図３７に示した例では、光波長ルータ２０００の端子Ｏ−１と信号処置装置１９００−１とメモリ素子１３００−１と光波長ルータ２０００の端子Ｉ−２が１つのループを形成している。同様に、光波長ルータ２０００の端子Ｏ−２と信号処置装置１９００−２とメモリ素子１３００−２と光波長ルータ２０００の端子Ｉ−３、光波長ルータ２０００の端子Ｏ−３と信号処置装置１９００−３とメモリ素子１３００−３と光波長ルータ２０００の端子Ｉ−３、光波長ルータ２０００の端子Ｏ−４と信号処置装置１９００−４とメモリ素子１３００−４と光波長ルータ２０００の端子Ｉ−１がそれぞれループを形成している。
【０２０８】
このとき、それぞれの信号処置装置は、信号処置装置１９００−１は、波長λ２に信号処置装置１９００−２は、波長λ４に信号処置装置１９００−３は、波長λ１に信号処置装置１９００−４は、波長λ４に波長を変換する。
【０２０９】
例えば、図３８のように接続すると、すべての信号処置装置１９００において同じ波長λ４に変換することでループを形成することも可能になる。このような構成にすれば、すべての信号処置装置１９００の出力波長を同一にできるので、信号処置装置１９００の調整が共通に行え、製造行程を簡略化することが可能となる。
【０２１０】
（実施例１９）
本発明の共通バッファスイッチの別の構成例を図３９に示す。
【０２１１】
図３９に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００と、光波長ルータ２０００と、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４と、分配装置２３００、分配装置２３００−１、２３００−２、…、２３００−４、および図示されない制御装置で構成される。
【０２１２】
図３９に示した共通バッファスイッチは、メモリ素子１３００の出力を分配装置２３００−１〜２３００−４を用いて波長多重装置２４００と光波長ルータ２０００に転送している。
【０２１３】
例として、入力ポート２から入力されたパケットをメモリ素子１３００−３に保持する場合について説明する。
【０２１４】
入力ポート２から入力されたパケットは、波長変換装置１１００−２で波長λ２に変換されて波長多重装置２４００に転送される。波長多重装置２４００は、入力されたパケットを光波長ルータ２０００の端子Ｉ−５に転送する。光波長ルータ２０００では、図４５にしたがって波長λ２のパケットを端子Ｏ−３から出力する。光波長ルータの端子Ｏ−３から出力されたパケットは、信号処置装置１９００−３によって、例えば、信号の再整形などの処理を施されてメモリ素子１３００−３へ転送される。このとき、波長は変換されず、入力された波長と同じλ２が用いられる。メモリ素子１３００−３へ転送されたパケットは、分配装置２３００−３へ転送される。分配装置２３００−３は、入力されたパケットを光波長ルータ２０００の端子Ｉ−３と波長多重装置２４００へ転送する。光波長ルータ２０００の端子Ｉ−３へ転送されたパケットは、図４５にしたがって、端子Ｏ−５から出力され、分配装置２３００へ転送され、さらに、制御装置からの指示があれば、波長選択装置１４００によって選択され、出力ポートから出力される。一方、波長多重装置２４００へ転送されたパケットは、再び光波長ルータ２０００に入力され、同じ経路を通ってメモリ素子１３００−３へ転送される。
【０２１５】
このように本実施例によれば、信号処置装置１９００で波長変換を行なわないでパケットをループさせることが可能となり、安価な信号処置装置１９００を実現することが可能となる。
【０２１６】
（実施例２０）
本発明の共通バッファスイッチの別の構成例を図４０に示す。
【０２１７】
図４０に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００と、光波長ルータ２０００と、信号処置装置１９００−１、１９００−２、…、１９００−８、メモリ素子１３００−１、１３００−２、…、１３００−８、分配装置２３００、サーキュレータ６７００−１、６７００−２、…、６７００−８、および図示されない制御装置で構成される。
【０２１８】
サーキュレータ６７００は、３つの端子Ｔ１、Ｔ２、Ｔ３を有し、Ｔ１から入力された信号をＴ２に出力し、Ｔ２から入力された信号をＴ３に出力し、Ｔ３から入力された信号をＴ１に出力する機能を持つ。
【０２１９】
次に動作について説明する。
【０２２０】
入力ポートから入力されたパケットは、波長変換装置１１００で波長変換され、波長多重装置２４００に転送され、光波長ルータ２０００に入力される。光波長ルータ２０００では、波長に応じた端子に出力される。光波長ルータ２０００から出力されたパケットは、サーキュレータ６７００へ転送される。サーキュレータ６７００は、入力されたパケットを信号処置装置１９００へ転送する。信号処置装置１９００は、入力されたパケットの波長を変換し、メモリ素子１３００へ転送する。メモリ素子１３００は、パケットを遅延させた後、サーキュレータ６７００へ転送する。サーキュレータ６７００は、光波長ルータ２０００へパケットを転送する。光波長ルータ２０００は、サーキュレータ６７００から転送されたパケットを波長に応じた端子から出力する。光波長ルータ２０００から出力されたパケットは、サーキュレータ６７００へ転送される。サーキュレータ６７００から出力されたパケットは、信号処置装置１９００、メモリ素子１３００を経由して、サーキュレータ６７００へ転送され、光波長ルータ２０００に入力される。このように、光波長ルータ２０００の双方向性を利用して左右の端子間でパケットを往復させることによりパケットを保持することが可能となる。
【０２２１】
パケットを読み出すときは、信号処置装置１９００で光波長ルータの端子Ｏ−５に向かう波長に変換することで実現可能である。
【０２２２】
例えば、波長変換装置１１００でλ２に変換されたパケットは、波長多重装置２４００を経由して波長ルータ２０００の端子Ｉ−５に入力され、図４５にしたがって端子Ｏ−３から出力される。波長ルータ２０００の端子Ｏ−３から出力されたパケットは、サーキュレータ６７００−５によって信号処理装置１９００−５に転送され、波長がλ５に変換される。波長λ５に変換されたパケットは、メモリ素子１３００−５に転送されたのち、サーキュレータ６７００−５に入力され、波長ルータ２０００の端子Ｏ−３に入力される。端子Ｏ−３から入力された波長λ５のパケットは、端子Ｉ−３から出力され、サーキュレータ６７００−６に入力され、信号処理装置６７００−６に転送される。信号処理装置６７００−６では、パケットを保持するときは、波長を変換しないで出力し、パケットを出力するときは、波長λ２に変換して出力する。波長変換をしなかった場合（λ５）は、サーキュレータ６７００−５→信号処理装置６７００−５→メモリ素子１３００−５→サーキュレータ６７００−５→波長ルータ２０００→サーキュレータ６７００−６→信号処理装置６７００−６→メモリ素子１３００−６→サーキュレータ６７００−６→波長ルータ２０００の経路を往復することによってパケットが保持される。
【０２２３】
波長変換された場合（λ２）は、  メモリ素子１３００−６、サーキュレータ６７００−６を経由して波長ルータ２０００の端子Ｉ−３に入力され、端子Ｏ−５から分配装置２３００、  波長選択装置１４００を経由して出力ポート１６００から出力される。
【０２２４】
この例の場合、波長ルータ２０００の端子Ｏ−３とＩ−３の間を往復したが、波長をλ３に変換すれば、Ｏ−３とＩ−１など、他の端子間でも保持することができる。
【０２２５】
また、図４１に示す構成も可能である。この構成では、信号処置装置１９００、メモリ素子１３００の個数を半分にすることが可能となる。読み出しの場合は、信号処理装置１９００によって端子Ｉ−５に向かう波長に変換される。ただし、新たに、サーキュレータ６７００が追加されている。サーキュレータ６７００は、読み出しのときに端子Ｉ−５に転送されたパケットを分配装置２３００へ転送する。また、すべての信号処理装置１９００において、一つの端子（例えばＩ−１）に向かうように制御すれば、その他の端子に接続されたサーキュレータ（６７００−４、６７００−６、６７００−８）は不要になる。
【０２２６】
（実施例２１）
本発明の共通バッファスイッチの別の構成例を図４２に示す。
【０２２７】
図４２に示した共通バッファスイッチは、波長変換装置１１００−１、１１００−２、１１００−３、波長多重装置２４００−１、２４００−２、２４００−３、光波長ルータ２０００と、信号処置装置１９００−１、１９００−２、…、１９００−４、メモリ素子１３００−１、１３００−２、…、１３００−４、分配装置２３００−１、２３００−２、および図示されない制御装置で構成される。
【０２２８】
図４２に示した共通バッファスイッチは、光波長ルータ２０００の双方向性を利用してパケットを保持している。波長多重装置２４００−１で波長多重されたパケットは、光波長ルータ２０００で分波され、波長に対応した端子から出力される。それぞれの端子から出力されたパケットは、信号処置装置１９００に入力され、メモリ素子１３００に転送される。このとき、信号処置装置１９００で波長は変換されない。メモリ素子１３００から出力されたパケットは、多重装置２４００−２に入力され、波長多重されてから分配装置２３００−２に転送される。分配装置２３００−２は、光波長ルータ２０００の端子Ｏ−５と分配装置２３００−１に転送される。信号処置装置１９００で波長変換されていないので、光波長ルータ２０００の端子Ｏ−５に転送されたパケットは、再び分波され、それぞれの端子に転送される。それぞれの端子に転送されたパケットは、波長多重装置２４００−３で再び波長多重され、波長多重装置２４００−１に転送され、光波長ルータ２０００に入力される。このように同じルートを通ることによりパケットを保持することが可能となる。
【０２２９】
一方、分配装置２３００−１へ転送されたパケットは、波長選択装置１４００を経て、出力ポート１６００から出力される。
【０２３０】
動作例を示す。例えば波長変換装置１１００によってλ３に変換されたパケットは、波長ルータの端子Ｉ−５から端子Ｏ−４に転送される。そして、信号処理装置１９００−４、メモリ素子１３００−４を経由して波長多重装置２４００−２に転送される。そして、分配装置２３００−２に転送され、波長ルータ２０００の端子Ｏ−５と分配装置２３００−１に転送される。分配装置２３００−１に転送されたパケットは、波長選択装置１４００に転送される。一方、波長ルータ２０００に転送されたパケットは、波長がλ３であるので端子Ｉ−４から出力され、波長多重装置２４００−３、２４００−１を経由して再び波長ルータ２０００の端子Ｉ−５に入力される。そして、再び端子Ｏ−４から出力される。このように同じ経路を通ることによってパケットが保持される。
【０２３１】
分配装置２３００−１と２３００−２は、同一の装置であっても良い。また、波長多重装置２４００−２と結合されて例えば多入力多出力のスターカプラのようなデバイスを用いても良い。さらに、波長多重装置２４００−３と２４００−１も同一の装置であっても良い。
【０２３２】
【発明の効果】
本発明によれば、共通バッファスイッチのバッファメモリを構成する複数のメモリ素子のうちの、書き込むべきメモリ素子を特定するために、波長を用いることで、高速なバッファメモリを実現することができ、したがって、高速な共通バッファスイッチを実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施例１の共通バッファスイッチの構成例を示す図。
【図２】本発明の実施例１の共通バッファスイッチの動作例を示す図。
【図３】本発明の実施例２の共通バッファスイッチの構成例を示す図。
【図４】本発明の実施例２の共通バッファスイッチの動作例を示す図。
【図５】本発明の実施例３の共通バッファスイッチの構成例を示す図。
【図６】本発明の実施例３の共通バッファスイッチの動作例を示す図。
【図７】本発明の実施例３の共通バッファスイッチの構成例の変形を示す図。
【図８】本発明の実施例４の共通バッファスイッチの構成例を示す図。
【図９】本発明の実施例４の共通バッファスイッチに用いられるメモリ素子の構成例を示す図。
【図１０】本発明の実施例４の共通バッファスイッチに用いられるメモリ素子の別の構成例を示す図。
【図１１】本発明の実施例４の共通バッファスイッチの別の構成例を示す図。
【図１２】本発明の実施例４の共通バッファスイッチに用いられるパケットの消去機能を持つ信号処理装置の構成例を示す図。
【図１３】本発明の実施例４の共通バッファスイッチの動作の様子を示す図。
【図１４】本発明の実施例５の共通バッファスイッチの構成例を示す図。
【図１５】本発明の実施例６の共通バッファスイッチの構成例を示す図。
【図１６】本発明の実施例６の共通バッファスイッチに用いられる信号処理装置の構成例を示す図。
【図１７】本発明の実施例７の共通バッファスイッチの構成例を示す図。
【図１８】本発明の実施例８の共通バッファスイッチの構成例を示す図。
【図１９】本発明の実施例８の共通バッファスイッチに用いられる信号処理装置の構成例を示す図。
【図２０】本発明の実施例８の共通バッファスイッチに用いられる信号処理装置の別の構成例を示す図。
【図２１】本発明の実施例９の共通バッファスイッチの構成例を示す図。
【図２２】本発明の実施例９の共通バッファスイッチに用いられる同期装置の構成例を示す図。
【図２３】本発明の実施例１０の共通バッファスイッチの構成例を示す図。
【図２４】本発明の実施例１０の共通バッファスイッチに用いられる同期装置の構成例を示す図。
【図２５】本発明の実施例１１の共通バッファスイッチの構成例を示す図。
【図２６】本発明の実施例１１の共通バッファスイッチの波長変換の様子を示す図。
【図２７】本発明の実施例１２の共通バッファスイッチの構成例を示す図。
【図２８】本発明の実施例１３の共通バッファスイッチの構成例を示す図。
【図２９】本発明の実施例１３の共通バッファスイッチの構成例の変形を示す図。
【図３０】本発明の実施例１４の共通バッファスイッチの構成例を示す図。
【図３１】端子数の異なる波長ルータを組み合わせた場合の波長ルーティングの様子を示す図。
【図３２】本発明の実施例１５の共通バッファスイッチの構成例を示す図。
【図３３】本発明の実施例１５の共通バッファスイッチの動作例を示す図。
【図３４】本発明の実施例１６の共通バッファスイッチの構成例を示す図。
【図３５】本発明の実施例１６の共通バッファスイッチの動作例を示す図。
【図３６】本発明の実施例１７の共通バッファスイッチの構成例を示す図。
【図３７】本発明の実施例１８の共通バッファスイッチの構成例を示す図。
【図３８】本発明の実施例１８の共通バッファスイッチの構成例の変形を示す図。
【図３９】本発明の実施例１９の共通バッファスイッチの構成例を示す図。
【図４０】本発明の実施例２０の共通バッファスイッチの構成例を示す図。
【図４１】本発明の実施例２０の共通バッファスイッチの構成例の変形を示す図。
【図４２】本発明の実施例２１の共通バッファスイッチの構成例を示す図。
【図４３】従来の共通バッファスイッチの構成例を示す図。
【図４４】従来の共通バッファスイッチに用いられていたバッファメモリの構成例を示す図。
【図４５】５端子のアレイ導波路回折格子型合分波器の場合の波長ルーティングの様子を示す図。
【符号の説明】
１００…多重装置
２００…バッファメモリ
２１１…書き込み用アドレスデコーダ
２１３…書き込みデータバス
２１５…書き込み転送ゲート
２３１…読み出し転送ゲート
２３３…読み出しデータバス
２３５…読み出し用アドレスデコーダ
３００…分離装置
４００…制御部
５００…入力ポート
６００…出力ポート
１１００…波長変換装置
１２００…波長多重分配装置
１３００…メモリ素子
１３５０…メモリユニット
１４００…波長選択装置
１５００…入力ポート
１６００…出力ポート
１８００…制御装置
１９００…信号処理装置
２０００…光波長ルータ
２１００…合波装置
２２００…分波装置
２３００…分配装置
２４００…波長多重装置
２５００…波長分離装置
３１００…光−電気変換器
３２００…電気−光変換器
４１００…ＦＩＦＯメモリ
４２００…同期装置
５１００…アンドゲート
５２００…セレクタ
５３００…パケット検出装置
５４００…位相差検出装置
５５００…遅延装置
６１００…スイッチ
６２００…開閉装置
６３００…光源
６４００…光遅延装置
６５００…選択装置
６６００…変調装置
【図１】
0003545634.tif 000002
【図２】
0003545634.tif 000003
【図３】
0003545634.tif 000004
【図４】
0003545634.tif 000005
【図５】
0003545634.tif 000006
【図６】
0003545634.tif 000007
【図７】
0003545634.tif 000008
【図８】
0003545634.tif 000009
【図９】
0003545634.tif 000010
【図１０】
0003545634.tif 000011
【図１１】
0003545634.tif 000012
【図１２】
0003545634.tif 000013
【図１３】
0003545634.tif 000014
【図１４】
0003545634.tif 000015
【図１５】
0003545634.tif 000016
【図１６】
0003545634.tif 000017
【図１７】
0003545634.tif 000018
【図１８】
0003545634.tif 000019
【図１９】
0003545634.tif 000020
【図２０】
0003545634.tif 000021
【図２１】
0003545634.tif 000022
【図２２】
0003545634.tif 000023
【図２３】
0003545634.tif 000024
【図２４】
0003545634.tif 000025
【図２５】
0003545634.tif 000026
【図２６】
0003545634.tif 000027
【図２７】
0003545634.tif 000028
【図２８】
0003545634.tif 000029
【図２９】
0003545634.tif 000030
【図３０】
0003545634.tif 000031
【図３１】
0003545634.tif 000032
【図３２】
0003545634.tif 000033
【図３３】
0003545634.tif 000034
【図３４】
0003545634.tif 000035
【図３５】
0003545634.tif 000036
【図３６】
0003545634.tif 000037
【図３７】
0003545634.tif 000038
【図３８】
0003545634.tif 000039
【図３９】
0003545634.tif 000040
【図４０】
0003545634.tif 000041
【図４１】
0003545634.tif 000042
【図４２】
0003545634.tif 000043
【図４３】
0003545634.tif 000044
【図４４】
0003545634.tif 000045
【図４５】
0003545634.tif 000046