(57)【要約】【課題】  少ない回路規模で、高いマルチキャスト転送性能を得ることが可能なデータ転送システムを提供する。【解決手段】  入力制御部１−１〜１−Ｎ各々はＮ本の入力ポート各々から固定長のパケットがマルチキャスト／ユニキャストの区別なく多重化されて入力されると、入力されたパケットに識別ＩＤを添付してクロスバスイッチ部２−１〜２−Ｍに分散出力する。クロスバスイッチ部２−１〜２−Ｍ各々は入力されるパケットを、ユニキャストの場合に出力制御部３−１〜３−Ｎのいずれか行きに振り分け、マルチキャストの場合にコピー対象の出力制御部３−１〜３−Ｎにパケットをコピーし、コピー対象外の出力制御部３−１〜３−Ｎにダミーを出力する。出力制御部３−１〜３−Ｎは入力されたパケットを集約し、添付された識別ＩＤを基にパケットの順序性を確保しつつ、Ｎ本の出力ポートに出力する。【選択図】      図１                                                  
2005045626.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ本（Ｎは正の整数）の入力ポート各々に対応して設けられ、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与する機能と、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力する機能とを各々含むＮ個の入力制御部と、
前記Ｎ個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるＮ本の出力ポートのいずれかに当該ユニキャストパケットを出力しかつ前記マルチキャストパケットが入力された場合にその出力先となる前記Ｎ本の出力ポートのうちの複数本に前記マルチキャストパケットを出力するＭ個（Ｍは正の整数）のクロスバスイッチ部と、
前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力するＮ個の出力制御部とを有することを特徴とするデータ転送システム。
【請求項２】
前記入力制御部は、前記入力ポートから入力される前記ユニキャストパケット及び前記マルチキャストパケットをそれぞれ格納する第１の格納部と、前記第１の格納部から出力される前記ユニキャストパケットを前記Ｎ個の出力制御部宛毎にそれぞれ振り分けて格納するＮ個の第２の格納部とを含むことを特徴とする請求項１記載のデータ転送システム。
【請求項３】
前記入力制御部は、前記第１の格納部と前記Ｎ個の第２の格納部とからそれぞれ出力されるパケットに各々異なりかつ順序性を持つ識別情報を付与する機能を含むことを特徴とする請求項２記載のデータ転送システム。
【請求項４】
前記入力制御部は、前記第１の格納部から出力される前記マルチキャストパケットに前記Ｎ個の出力制御部のいずれか複数にコピーする情報及び当該情報にそれぞれ対応した順序性を持つ識別情報を付与する機能を含むことを特徴とする請求項２記載のデータ転送システム。
【請求項５】
前記クロスバスイッチ部は、前記マルチキャストパケットの出力先情報を格納するルーティングテーブルと、前記ルーティングテーブルの前記出力先情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力しかつ前記マルチキャストパケットの出力先対象外の残りの前記出力ポートに前記マルチキャストパケットに付与された前記順序性を持つ識別情報を含むダミーパケット情報を出力する機能とを含むことを特徴とする請求項１から請求項４のいずれか記載のデータ転送システム。
【請求項６】
前記クロスバスイッチ部は、前記マルチキャストパケットに付与されかつ前記Ｎ個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力する機能と、前記Ｎ個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分ける機能とを含むことを特徴とする請求項１から請求項４のいずれか記載のデータ転送システム。
【請求項７】
前記出力制御部は、前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを共有して格納する第３の格納部と、前記第３の格納部から出力される前記ユニキャストパケット及び前記マルチキャストを前記Ｎ個の入力制御部発信元毎にそれぞれ振り分けて格納するＮ個の第４の格納部とを含むことを特徴とする請求項１から請求項６のいずれか記載のデータ転送システム。
【請求項８】
前記出力制御部は、前記Ｎ個の第４の格納部から前記マルチキャストパケットに付与された前記順序性を持つ識別情報を含むダミーパケット情報が出力された時に廃棄を行う機能を含むことを特徴とする請求項７記載のデータ転送システム。
【請求項９】
Ｎ本（Ｎは正の整数）の入力ポート各々に対応して設けられたＮ個の入力制御部において、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与し、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力するとともに、
Ｍ個（Ｍは正の整数）のクロスバスイッチ部において、前記Ｎ個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるＮ本の出力ポートのいずれかに当該ユニキャストパケットを出力し、かつ前記マルチキャストパケットが入力された場合にその出力先となる前記Ｎ本の出力ポートのうちの複数本に前記マルチキャストパケットを出力し、
Ｎ個の出力制御部において、前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力することを特徴とするマルチキャスト転送方法。
【請求項１０】
前記入力制御部において、前記入力ポートから入力される前記ユニキャストパケット及び前記マルチキャストパケットをそれぞれ第１の格納部に格納し、前記第１の格納部から出力される前記ユニキャストパケットを前記Ｎ個の出力制御部宛毎にそれぞれ振り分けてＮ個の第２の格納部に格納することを特徴とする請求項９記載のマルチキャスト転送方法。
【請求項１１】
前記入力制御部において、前記第１の格納部と前記Ｎ個の第２の格納部とからそれぞれ出力されるパケットに各々異なりかつ順序性を持つ識別情報を付与することを特徴とする請求項１０記載のマルチキャスト転送方法。
【請求項１２】
前記入力制御部において、前記第１の格納部から出力される前記マルチキャストパケットに前記Ｎ個の出力制御部のいずれか複数にコピーする情報及び当該情報にそれぞれ対応した順序性を持つ識別情報を付与することを特徴とする請求項１０記載のマルチキャスト転送方法。
【請求項１３】
前記クロスバスイッチ部において、前記マルチキャストパケットの出力先情報を格納するルーティングテーブルの前記出力先情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力し、かつ前記マルチキャストパケットの出力先対象外の残りの前記出力ポートに前記マルチキャストパケットに付与された前記順序性を持つ識別情報を含むダミーパケット情報を出力することを特徴とする請求項９から請求項１２のいずれか記載のマルチキャスト転送方法。
【請求項１４】
前記クロスバスイッチ部において、前記マルチキャストパケットに付与されかつ前記Ｎ個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力し、前記Ｎ個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分けることを特徴とする請求項９から請求項１２のいずれか記載のマルチキャスト転送方法。
【請求項１５】
前記出力制御部において、前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを共有して第３の格納部に格納し、前記第３の格納部から出力される前記ユニキャストパケット及び前記マルチキャストを前記Ｎ個の入力制御部発信元毎にそれぞれ振り分けてＮ個の第４の格納部に格納することを特徴とする請求項９から請求項１４のいずれか記載のマルチキャスト転送方法。
【請求項１６】
前記出力制御部において、前記Ｎ個の第４の格納部から前記マルチキャストパケットに付与された前記順序性を持つ識別情報を含むダミーパケット情報が出力された時に廃棄を行うことを特徴とする請求項１５記載のマルチキャスト転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送システム及びそれに用いるマルチキャスト転送方法に関し、特に複数のクロスバスイッチを使用してマルチキャストパケットを転送するマルチキャスト転送方法に関する。
【背景技術】
【０００２】
従来、パケットスイッチにおいては、図１１に示すように、Ｎ個（Ｎは正の整数）の入力バッファ部７１−１〜７１−Ｎと、スケジューラ部７２と、クロスバスイッチ部７３と、フレーム組立バッファ７４−１〜７４−Ｍと、フレーム化処理部７５−１〜７５−Ｍとを備えている。
【０００３】
Ｎ個の入力バッファ部７１−１７１−ＮはＮ本の入力回線＃１〜＃Ｎ各々に対応して設けられ、対応する入力回線＃１〜＃Ｎを介して入力されるユニキャストパケット及びマルチキャストパケットを格納する。
【０００４】
クロスバスイッチ部７３はＮ個の入力バッファ部７１−１〜７１−Ｎ各々からユニキャストパケットが入力された場合に、その送出先となるＭ本（Ｍは正の整数）の出力回線＃１〜＃Ｍの中のいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、その送出先となるＭ本の出力回線＃１〜＃Ｍの中の複数本にマルチキャストパケットを出力する。
【０００５】
スケジューラ部７２ではユニキャストパケットとマルチキャストパケットとが混在して入力される場合に、ユニキャストパケットであれば入力回線＃１〜＃Ｎと出力回線＃１〜＃Ｍとの両方が競合しないように、マルチキャストパケットであれば入力回線＃１〜＃Ｎが競合しないようにスケジューリング処理を行う。
【０００６】
スケジューラ部７２はマルチキャストパケットの送出先となる複数の出力回線＃１〜＃Ｍを競合制御の対象から除外することにより、スケジューリング処理の負担を大幅に軽減している。また、マルチキャストパケットについては、入力バッファ部７１−１〜７１−Ｎ内でのコピーを行わないため、入力バッファ部７１−１〜７１−Ｎとスイッチ部７３との間のデータ量が増加することがなく、マルチキャストパケットに許容される入力レートが低下することを防止している。
【０００７】
図１２は上述したスイッチ部を複数設けた場合の構成を示す図である。図１２において、複数のパケットが集まって可変長の一つのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを構成している場合、ＩＰパケットに添付したフロー識別子を用い、同一のスイッチ面（クロスバスイッチ部）８２−１〜８２−Ｌで同一つのフローを転送する。ここで、スイッチ面（クロスバスイッチ部）８２−１〜８２−Ｌは分離部８１−１８１−Ｎと多重部８３−１〜８３−Ｍとの間に配設されている。
【０００８】
これによって、同一のスイッチ面（クロスバスイッチ部）８２−１〜８２−Ｌに同一フローに属するパケットを入力するため、フローレベルでのパケットの順番が逆転することを防止している。
【０００９】
また別の手法として、入力回線＃１〜＃Ｎを介して入力される固定長パケット（ユニキャストパケットあるいはマルチキャストパケット）の先頭から順にビット単位で分割する、いわゆるビットスライスの手法を用いた場合には、一つの固定長パケットがＬ分割されてＬ個のスイッチ面（クロスバスイッチ部）８２−１〜８２−Ｌ各々に送られ、複数のスイッチ面（クロスバスイッチ部）８２−１〜８２−Ｌを用いて一つのパケットに対応する複数の分割データを並行して転送する。
【００１０】
【特許文献１】特開２００２−２０８９３８
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述した従来のマルチキャスト転送方法では、複数のスイッチ面（クロスバスイッチ部）を設けた構成において、ＩＰパケットのフロー識別子を用いて、同一のスイッチ面（クロスバスイッチ部）に同一フローに属するパケットを入力する方法が用いられている。
【００１２】
そのため、従来のマルチキャスト転送方法では、同一のフローにフロー識別子を付与した場合、フロー毎にどの出力回線にルーティングするかが決められているので、フローレベルでのパケット順序の逆転を防止することができ、マルチキャストパケットのクロスバスイッチ部内コピーにも対応することができる。
【００１３】
しかしながら、従来のマルチキャスト転送方法では、フロー数が増加するにつれてフロー識別子を管理する制御部も増加してしまうという問題があり、スイッチ面（クロスバスイッチ部）の拡張に伴ってパケットの転送帯域が拡張されても、単一フローの転送帯域が単一スイッチ面（クロスバスイッチ部）の転送帯域内に抑えられてしまうという問題がある。
【００１４】
また、従来のマルチキャスト転送方法では、複数のスイッチ面（クロスバスイッチ部）を設けた構成におけるもう一つの転送方法として、一つの固定長パケットを複数個のスイッチ面（クロスバスイッチ部）に合わせて複数分割するビットスライスの方法を用いていることができる。
【００１５】
従来のマルチキャスト転送方法は、一つの固定長パケットを複数個のスイッチ面（クロスバスイッチ部）に合わせて複数分割するビットスライスの手法の場合、複数のスイッチ面（クロスバスイッチ部）を並列に使用して処理の高速化を図ることができ、マルチキャストパケットのクロスバスイッチ部内コピーにも対応することができる。
【００１６】
しかしながら、従来のマルチキャスト転送方法では、一つの固定長パケットを複数に分割したデータ各々に対して同一のヘッダ情報（同一の宛先情報）を持たなくてはならず、スイッチ面（クロスバスイッチ部）の個数が増加するのに比例し、分割されたデータに対するヘッダ情報の割合も増加するため、オーバヘッドが大きくなってしまうという問題がある。
【００１７】
また、従来のマルチキャスト転送方法では、スイッチ面（クロスバスイッチ部）の個数の増加に合わせて一つの固定長パケットの長さを増加させた場合、パケットの転送帯域が減少してしまうという問題がある。
【００１８】
そこで、本発明の目的は上記の問題点を解消し、少ない回路規模で高いマルチキャスト転送性能を得ることができるデータ転送システム及びそれに用いるマルチキャスト転送方法を提供することにある。
【００１９】
本発明の他の目的は、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加させることができる拡張性が得られるデータ転送システム及びそれに用いるマルチキャスト転送方法を提供することにある。
【課題を解決するための手段】
【００２０】
本発明によるデータ転送システムは、Ｎ本（Ｎは正の整数）の入力ポート各々に対応して設けられ、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与する機能と、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力する機能とを各々含むＮ個の入力制御部と、
前記Ｎ個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるＮ本の出力ポートのいずれかに当該ユニキャストパケットを出力しかつ前記マルチキャストパケットが入力された場合にその出力先となる前記Ｎ本の出力ポートのうちの複数本に前記マルチキャストパケットを出力するＭ個（Ｍは正の整数）のクロスバスイッチ部と、
前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力するＮ個の出力制御部とを備えている。
【００２１】
本発明による他のデータ転送システムは、上記の構成において、前記クロスバスイッチ部が、前記マルチキャストパケットに付与されかつ前記Ｎ個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力する機能と、前記Ｎ個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分ける機能とを具備している。
【００２２】
本発明によるマルチキャスト転送方法は、Ｎ本（Ｎは正の整数）の入力ポート各々に対応して設けられたＮ個の入力制御部において、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与し、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力するとともに、
Ｍ個（Ｍは正の整数）のクロスバスイッチ部において、前記Ｎ個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるＮ本の出力ポートのいずれかに当該ユニキャストパケットを出力し、かつ前記マルチキャストパケットが入力された場合にその出力先となる前記Ｎ本の出力ポートのうちの複数本に前記マルチキャストパケットを出力し、
Ｎ個の出力制御部において、前記Ｍ個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力している。
【００２３】
本発明による他のマルチキャスト転送方法は、上記の処理において、前記クロスバスイッチ部が、前記マルチキャストパケットに付与されかつ前記Ｎ個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記Ｎ本の出力ポートのうちの複数本に出力し、前記Ｎ個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分けている。
【００２４】
すなわち、本発明の第１のデータ転送システムは、複数のクロスバスイッチ構成において、Ｎ個（Ｎは正の整数）の入力制御部と、Ｍ個（Ｍは正の整数）のクロスバスイッチ部と、Ｎ個の出力制御部とを備えている。
【００２５】
入力制御部は入力ポートを介して多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットをそれぞれ第１のバッファに格納し、ユニキャストパケットはさらにＮ個の出力ポート宛に振り分けられ、それぞれ第２のバッファに格納される。マルチキャストパケットの第１のバッファ及びユニキャストパケットのＮ個の第２のバッファから出力されるパケットにはそれぞれ異なるシーケンシャルな識別ＩＤが付与され、Ｍ個のクロスバスイッチ部へと任意に振り分けられる。
【００２６】
クロスバスイッチ部はＮ個の入力制御部のそれぞれからユニキャストパケットが入力された場合に、その送出先となるＮ本の出力ポートのいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、ルーティングテーブルを参照してその送出先となるＮ本の出力ポートの内の複数本にマルチキャストパケットを出力し、被出力先の残りの出力ポートにダミーのマルチキャストパケットを出力する。
【００２７】
出力制御部はＭ個のクロスバスイッチ部各々から多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットを第１のバッファに格納し、さらにＮ個の発信元入力ポート毎に振り分けられ、それぞれ第２のバッファに格納する。発信元入力ポート毎に振り分けられたＮ個の第２のバッファのそれぞれにおいて、入力制御部で付与されたシーケンシャルな識別ＩＤに基づきユニキャストパケットの場合にパケットの並び替えを行い、マルチキャストパケットの場合にパケットの並び替え及びダミーパケットの廃棄を行う。
【００２８】
本発明の第２のデータ転送システムは、上述した本発明の第１のデータ転送システムと同様に、Ｎ個の入力制御部と、Ｍ個のクロスバスイッチ部と、Ｎ個の出力制御部とを備えている。
【００２９】
入力制御部は入力ポートを介して多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットをそれぞれ第１のバッファに格納し、ユニキャストパケットをさらにＮ個の出力ポート宛に振り分け、それぞれ第２のバッファに格納する。
【００３０】
ユニキャストパケットのＮ個の第２のバッファから出力されるパケットには、上述した本発明の第１のデータ転送システムの入力制御部と同様のシーケンシャルな識別ＩＤが付与され、マルチキャストパケットの第１のバッファから出力されるパケットにはシーケンシャルな識別ＩＤ群及びビットマップが付与され、Ｍ個のクロスバスイッチ部へと任意に振り分けられる。
【００３１】
クロスバスイッチ部はＮ個の入力制御部各々からユニキャストパケットが入力された場合に、その送出先となるＮ本の出力ポートのいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、シーケンシャルな識別ＩＤ群及びビットマップを使用して、Ｎ本の出力ポートに対してビットマップ情報に基づいた送出先にマルチキャストパケットをビットマップ情報に対応するシーケンシャルな識別ＩＤを添付して出力する。
【００３２】
出力制御部はＭ個のクロスバスイッチ部各々から多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットを第１のバッファに格納し、さらにＮ個の発信元入力ポート毎に振り分けられ、それぞれ第２のバッファに格納される。
【００３３】
発信元入力ポート毎に振り分けられたＮ個の第２のバッファ各々において、入力制御部で付与された（ユニキャストパケット）及びクロスバスイッチ部で付与された（マルチキャストパケット）シーケンシャルな識別ＩＤに基づき、ユニキャストパケット及びマルチキャストパケットの並び替えを行う。
【００３４】
これによって、本発明のデータ転送システムでは、複数のクロスバスイッチ部に分散してパケットの転送を行うことが可能となるため、全クロスバスイッチが持つパケット転送帯域の全てを使用することが可能となる。
【００３５】
また、本発明のデータ転送システムでは、マルチキャストパケットについて、入力制御部内でのコピーを行わず、複数のクロスバスイッチのそれぞれにおいてコピーを行っているため、高いマルチキャスト転送性能が得られる。
【００３６】
さらに、本発明のデータ転送システムでは、入力制御部で付与するシーケンシャルな識別ＩＤを使用することによって、多重化された複数のパケットを転送する場合であって、転送順序が逆転してしまう場合であっても、正しい転送順序に再構築することが可能となる。
【発明の効果】
【００３７】
本発明によるデータ転送システムは、以下のような構成及び動作とすることで、少ない回路規模で、高いマルチキャスト転送性能を得ることができるという効果が得られる。
【００３８】
本発明による他のデータ転送システムは、以下のような構成及び動作とすることで、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加することができる拡張性が得られるという効果が得られる。
【発明を実施するための最良の形態】
【００３９】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の実施の形態によるデータ転送システムの構成を示すブロック図である。図１において、本発明の実施の形態によるデータ転送システムは、Ｎ本（Ｎは正の整数）の入力ポート＃１〜＃Ｎと、Ｎ本の入力ポート＃１〜＃Ｎ各々に対応するＮ個の入力制御部１−１〜１−Ｎと、Ｍ個（Ｍは正の整数）のクロスバスイッチ部２−１〜２−Ｎと、Ｎ個の出力制御部３−１〜３−Ｎと、Ｎ個の出力制御部３−１〜３−Ｎ各々に対応して接続されるＮ本の出力ポート＃１〜＃Ｎを含んで構成されている。
【００４０】
入力制御部１−１〜１−Ｎ各々はＮ本の入力ポート＃１〜＃Ｎ各々から固定長のパケットがマルチキャスト／ユニキャストの区別なく多重化されて入力され、入力されたパケットに識別ＩＤを添付してクロスバスイッチ部２−１〜２−Ｍにパケットを分散出力する。
【００４１】
クロスバスイッチ部２−１〜２−Ｍ各々は入力制御部１−１〜１−Ｎから入力されるパケットを、ユニキャストの場合に出力制御部３−１〜３−Ｎのいずれか行きに振り分け、マルチキャストの場合にコピー対象の出力制御部３−１〜３−Ｎにパケットをコピーし、コピー対象外の出力制御部３−１〜３−Ｎにダミーを出力する。
【００４２】
出力制御部３−１〜３−Ｎはクロスバスイッチ部２−１〜２−Ｍから入力されたパケットを集約し、入力制御部１−１〜１−Ｎで添付された識別ＩＤを基にパケットの順序性を確保しつつ、Ｎ本の出力ポート＃１〜＃Ｎにパケットを出力する。
【００４３】
これによって、本発明の実施の形態では、入力側でフロー数に関係なく、マルチキャストパケットを一つのバッファに集約し、そのバッファから出力されるパケットに対して一義的に識別ＩＤを付与することで、出力側で容易にパケットの正しい出力順序を構築することができる。
【００４４】
また、本発明の実施の形態では、上記の動作とともに、マルチキャストパケットを複数のクロスバスイッチに分散し、それぞれのクロスバスイッチ内でコピーを行うことで、少ない回路規模で、高いマルチキャスト転送性能を得ることができる。
【００４５】
一方、本発明の実施の形態では、入力ポートを介して入力されたマルチキャストパケットを、パケット単位に複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数の増加とともに、パケット転送帯域が増加し、その転送帯域の全てを使用することができる。よって、本発明の実施の形態では、クロスバスイッチ数の増加に比例してマルチキャスト転送性能をも増加させることができる拡張性が得られる。
【実施例１】
【００４６】
次に、本発明の一実施例によるデータ転送システムについて説明する。本発明の一実施例によるデータ転送システムは図１に示す本発明の実施の形態によるデータ転送システムと同様の構成となっている。
【００４７】
図２は本発明の一実施例による入力制御部の内部構成を示すブロック図である。図２において、入力制御部１（図１の入力制御部１−１〜１−Ｎに対応）はマルチキャストキューバッファ１１と、ユニキャストキューバッファ１２と、出力制御部宛キューバッファ群１３と、ラウンドロビン回路１４と、識別ＩＤ管理部１５と、パケット振り分け回路１６とから構成されている。
【００４８】
マルチキャストキューバッファ１１は入力ポートから多重化されて入力される固定長のマルチキャストパケットをキューとして格納し、ユニキャストキューバッファ１２は入力ポートから多重化されて入力される固定長のユニキャストパケットをキューとして格納する。
【００４９】
出力制御部宛キューバッファ群１３は出力制御部＃１宛キューバッファ１３−１、出力制御部＃２宛キューバッファ１３−２、・・・、出力制御部＃Ｎ宛キューバッファ１３−Ｎとからなり、１ユニキャストキューをＮ個の出力制御部＃１〜＃Ｎ宛に振り分けて格納する。
【００５０】
ラウンドロビン回路１４はマルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３各々から出力されるキューのうち優先順位に基づいた一つのキューを出力する。識別ＩＤ管理部１５はマルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３各々から出力されるキューに対して異なる識別ＩＤを添付する。
【００５１】
パケット振り分け回路１６はラウンドロビン回路１４から出力され、かつ識別ＩＤ管理部１５にて識別ＩＤが添付されたキューに対応したパケットをクロスバスイッチ部＃１入力パスからクロスバスイッチ部＃Ｍ入力パスの方向へ巡回するように振り分ける。
【００５２】
入力ポートから固定長のパケットがマルチキャスト／ユニキャストの区別なく多重化されて入力された場合、パケットのヘッダ情報からユニキャストパケットはキューとして一旦ユニキャストキューバッファ１２に蓄積され、マルチキャストパケットはキューとしてマルチキャストキューバッファ１１に蓄積される。
【００５３】
ユニキャストキューバッファ１２に蓄積されたキューは出力制御部宛キューバッファ群１３に出力される。出力制御部宛キューバッファ群１３では入力されたキューは出力制御部＃１〜＃Ｎ宛に振り分けられ、それぞれ出力制御部＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎに蓄積される。マルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３内の出力制御部＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎから出力されるキューは、ラウンドロビン回路１４に入力される。
【００５４】
ラウンドロビン回路１４は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力する。ラウンドロビン回路１４から出力されたキューには識別ＩＤ管理部１５から出力される識別ＩＤが添付される。識別ＩＤ管理部１５が出力する識別ＩＤは、マルチキャストキューバッファ１１から出力されるキュー及び出力制御部宛キューバッファ群１３内の出力制御部＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎから出力されるキューのそれぞれに対して異なった識別ＩＤであり、かつある一つのキューバッファから連続して出力されるキューに対しては順序性を有する識別ＩＤである。
【００５５】
例えば、マルチキャストキューバッファ１１から連続して出力されるキューに対しては、ｉ＿０、ｉ＿１、ｉ＿２、・・・・、ｉ＿ｎ−１、ｉ＿ｎ、ｉ＿０、ｉ＿１、・・・・といった識別ＩＤが、出力制御部宛キューバッファ群１３内の出力制御部＃１宛キューバッファ１３−１から連続して出力されるキューに対しては、ｋ＿０、ｋ＿１、ｋ＿２、・・・・、ｋ＿ｎ−１、ｋ＿ｎ、ｋ＿０、ｋ＿１、・・・・といった識別ＩＤが、出力制御部宛キューバッファ群１３内の出力制御部＃Ｎ宛キューバッファ１３−Ｎから連続して出力されるキューに対しては、ｐ＿０、ｐ＿１、ｐ＿２、・・・・、ｐ＿ｎ−１、ｐ＿ｎ、ｐ＿０、ｐ＿１、・・・・といった識別ＩＤがそれぞれ割り当てられる。
【００５６】
識別ＩＤが添付されたキューはパケット振り分け回路１６に入力される。パケット振り分け回路１６は入力されたキューに対応したパケットをＭ本のクロスバスイッチ部＃１〜＃Ｍ入力パスのそれぞれに振り分ける。パケットの振り分けはクロスバスイッチ部＃１入力パスからクロスバスイッチ部＃Ｍ入力パスの方向へと巡回するように実行される。パケット転送待ち状態または回線が不通になっているクロスバスイッチ部入力パスが存在する場合には、そのクロスバスイッチ部入力パスを避けて次のクロスバスイッチ部入力パスへとパケットを振り分けるように、パケットの振り分けが実行される。
【００５７】
図３は本発明の一実施例によるクロスバスイッチ部の内部構成を示すブロック図である。図３において、クロスバスイッチ部２はラウンドロビン回路２１と、ユニキャストキューバッファ２２と、マルチキャストキューバッファ２３と、ルーティングテーブル２４と、クロスポイントバッファ制御部２５とから構成されている。
【００５８】
ラウンドロビン回路２１はＮ本の入力制御部＃１〜＃Ｎ接続パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットから、優先順位に基づいて一つのパケットを出力する。
【００５９】
ユニキャストキューバッファ２２はラウンドロビン回路２１から出力されるユニキャストパケットをキューとして格納し、マルチキャストキューバッファ２３はラウンドロビン回路２１から出力されるマルチキャストパケットをキューとして格納する。ルーティングテーブル２４にはマルチキャストキューをＮ本の出力制御部＃１〜＃Ｎ接続パスのうちのどの出力先に転送するかの情報が格納されている。
【００６０】
クロスポイントバッファ制御部２５はユニキャストキューバッファ２２０から出力されるキュー、及びマルチキャストキューバッファ２２１から出力されかつルーティングテーブル２４を参照して出力先対象の出力制御部＃１〜＃Ｎ接続パス宛にコピーされたキュー、または出力先対象外の出力制御部＃１〜＃Ｎ接続パス宛にコピーされたダミーキューを格納するＮ個の入力制御部発信元×Ｎ個の出力制御部宛のクロスポイント構造キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎと、出力制御部＃１〜＃Ｎ宛キュー管理部毎にラウンドロビン回路２９−１〜２９−Ｎとを備えている。
【００６１】
Ｎ本の入力制御部＃１〜＃Ｎ接続パス各々からマルチキャスト／ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路２１に入力される。ラウンドロビン回路２１は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
【００６２】
ラウンドロビン回路２１から出力されたパケットはそのヘッダ情報を基にキューとして、ユニキャストパケットであれば一旦ユニキャストキューバッファ２２に蓄積され、マルチキャストパケットであればマルチキャストキューバッファ２３に蓄積される。
【００６３】
ユニキャストキューバッファ２２から出力されたキューは、クロスポイントバッファ制御部２５に転送される。クロスポイントバッファ制御部２５では入力されたキューを出力制御部＃１〜＃Ｎ宛キュー管理部に振り分ける。次に、出力制御部＃１〜＃Ｎ宛キュー管理部各々ではさらにどの入力制御部＃１〜＃Ｎから発信されたかによって入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎに振り分けられ、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎにキューを蓄積する。
【００６４】
クロスポイントバッファ制御部２５はＮ個の入力制御部発信×Ｎ個の出力制御部宛のクロスポイント構造のキューバッファ構成になっている。マルチキャストキューバッファ２３から出力されたキューはルーティングテーブル２４を参照し、ルーティング情報にしたがってクロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部の何れかにコピーされる。また、ルーティング情報でコピー対象にないクロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部の何れかには、コピー元キューの識別ＩＤ及びダミーフラグを含むダミーキューが出力される。
【００６５】
クロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部では、上述したユニキャストキューの場合と同様に、その各々でさらにどの入力制御部から発信されたかによってクロスポイントバッファ制御部２５内の入力制御部＃１〜＃Ｎ発信キューバッファに振り分けられ、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎにキューを蓄積する。
【００６６】
クロスポイントバッファ制御部２５内の出力制御部＃１宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎから出力されるキューはラウンドロビン回路２９−１に、クロスポイントバッファ制御部２５内の出力制御部＃２宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２７−１〜２７−Ｎから出力されるキューはラウンドロビン回路２９−２に、・・・・・、クロスポイントバッファ制御部２５内の出力制御部＃Ｎ宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２８−１〜２８−Ｎから出力されるキューはラウンドロビン回路２９−Ｎにそれぞれ入力される。
【００６７】
クロスポイントバッファ制御部２５内のラウンドロビン回路２９−１〜２９−Ｎ各々は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを対応するＮ本の出力制御部＃１〜＃Ｎ接続パスそれぞれに出力する。
【００６８】
図４は本発明の一実施例による出力制御部の内部構成を示すブロック図である。図４において、出力制御部３はラウンドロビン回路３１と、ユニ／マルチキャストキューバッファ３２と、識別ＩＤ検出制御部３３と、入力制御部発信キューバッファ群３４と、ラウンドロビン回路３５とから構成されている。
【００６９】
ラウンドロビン回路３１はＭ本のクロスバスイッチ部＃１〜＃Ｍ出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットの中から優先順位に基づいて一つのパケットを出力する。ユニ／マルチキャストキューバッファ３２はラウンドロビン回路３１から出力されるマルチキャストパケット及びユニキャストパケットをキューとして格納する。
【００７０】
入力制御部発信キューバッファ群３４はＮ個の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎを備えており、ユニキャストキュー及びマルチキャストキューをＮ個の入力制御部＃１〜＃Ｎ発信元に振り分けて格納する。
【００７１】
識別ＩＤ検出制御部３３は入力制御部発信キューバッファ群３４内のＮ個の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎにおいてそれぞれ独立して、ユニキャストキューの場合に識別ＩＤ情報に基づいて正しい転送順序に再構築し、マルチキャストキューの場合に識別ＩＤ情報に基づいて正しい転送順序に再構築すると共に、ダミーキューの廃棄を行わせる。
【００７２】
ラウンドロビン回路３５はＮ個の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎ各々から出力されるキューの中から優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
【００７３】
Ｍ本のクロスバスイッチ部＃１〜＃Ｍ出力パス各々からマルチキャスト／ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路３１に入力される。ラウンドロビン回路３１は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
【００７４】
ラウンドロビン回路３１から出力されたパケットはそのヘッダ情報を基にキューとしてユニ／マルチキャストキューバッファ３２に蓄積される。ユニ／マルチキャストキューバッファ３２に蓄積されたキューは入力制御部発信キューバッファ群３４に転送される。入力制御部発信キューバッファ群３４では入力されたキューを入力制御部＃１〜＃Ｎ発信元に振り分け、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎに蓄積する。
【００７５】
次に、識別ＩＤ検出制御部３３は入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎにおいて、それぞれ独立して蓄積されているキューの識別ＩＤを探索する。
【００７６】
入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎの何れかにおいて現在探索中の識別ＩＤに合致するユニキャストキューまたはマルチキャストキューが検出できた場合、識別ＩＤ検出制御部３３は合致した識別ＩＤを含むキューを、蓄積している入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎから取り出してラウンドロビン回路３５に入力する。
【００７７】
識別ＩＤ検出制御部３３は合致した識別ＩＤを含むキューをラウンドロビン回路３５に転送した後、識別ＩＤの更新を実行し、同様に更新された識別ＩＤで入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎに蓄積されているキューを探索する。
【００７８】
例えば、現在探索中のユニキャストキューの識別ＩＤがｋ＿０だった場合、その識別ＩＤを含むキューを検出すると、そのキューを入力制御部発信キューバッファ群３４内の入力制御部発信キューバッファから取り出してラウンドロビン回路３５に入力する。
【００７９】
その後、識別ＩＤ検出制御部３３は探索する識別ＩＤをｋ＿１に更新して識別ＩＤ  ｋ＿１を含むキューを入力制御部発信キューバッファ群３４内の入力制御部発信キューバッファから探索する。識別ＩＤは、上述した動作を繰り返す毎にｋ＿２、・・・・、ｋ＿ｎ−１、ｋ＿ｎ、ｋ＿０、ｋ＿１、・・・・に更新されていく。この動作によって、ある一つのキューバッファ（例えば、入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１）から連続して出力されるキューに対して順序性を確保することができる。
【００８０】
ラウンドロビン回路３５は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへと出力する。
【００８１】
図５は本発明の一実施例による出力制御部内のキューバッファの動作を示す図である。この図５を参照して本発明の一実施例による出力制御部内のキューバッファの動作について説明する。
【００８２】
識別ＩＤがｉ＿０〜ｉ＿ｎであるマルチキャストキュー、識別ＩＤがｋ＿０〜ｋ＿ｎであるユニキャストキュー、及びダミーフラグＤを含み識別ＩＤがｉ＿１／ｉ＿３であるダミーキューがそれぞれ入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１に蓄積され、かつ探索を開始する識別ＩＤがｉ＿０（マルチキャストキュー）／ｋ＿０（ユニキャストキュー）である状態について説明する。尚、ａ１〜ａ１０は入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１からキューが取り出された順序を示している。
【００８３】
識別ＩＤ検出制御部３３は識別ＩＤがｉ＿０／ｋ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１内で探索する。
【００８４】
ａ１の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｋ＿０であるキューを検出すると、識別ＩＤがｋ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｋ＿１に更新し、識別ＩＤがｋ＿１であるキューの探索を行う。
【００８５】
ａ２の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｋ＿１であるキューを検出すると、識別ＩＤがｋ＿１であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｋ＿２に更新し、識別ＩＤがｋ＿２であるキューの探索を行う。
【００８６】
ａ３の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿０であるキューを検出すると、識別ＩＤがｉ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿１に更新し、識別ＩＤがｉ＿１であるキューの探索を行う。
【００８７】
ａ４の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿１であるキューを検出すると、ダミーフラグＤが添付されているので、識別ＩＤがｉ＿１であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出して廃棄する。キューを廃棄した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿２に更新し、識別ＩＤがｉ＿２であるキューの探索を行う。
【００８８】
ａ５の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｋ＿２であるキューを検出すると、識別ＩＤがｋ＿２であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｋ＿３に更新し、識別ＩＤがｋ＿３であるキューの探索を行う。
【００８９】
ａ６の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿２であるキューを検出すると、識別ＩＤがｉ＿２であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿３に更新し、識別ＩＤがｉ＿３であるキューの探索を行う。
【００９０】
ａ７の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿３であるキューを検出すると、ダミーフラグＤが添付されているので、識別ＩＤがｉ＿３であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出して廃棄する。キューを廃棄した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿４に更新し、識別ＩＤがｉ＿４であるキューの探索を行う。
【００９１】
ａ８の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿４であるキューを検出すると、識別ＩＤがｉ＿４であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿５に更新し、識別ＩＤがｉ＿５であるキューの探索を行う。
【００９２】
ａ９の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｋ＿３であるキューを検出すると、識別ＩＤがｋ＿３であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｋ＿４に更新し、識別ＩＤがｋ＿４であるキューの探索を行う。
【００９３】
ａ１０の動作において、識別ＩＤ検出制御部３３は探索の結果、識別ＩＤがｉ＿５であるキューを検出すると、識別ＩＤがｉ＿５であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部３３は識別ＩＤをｉ＿６に更新し、識別ＩＤがｉ＿６であるキューの探索を行う。
【００９４】
本実施例では、上述したような回路構成及び制御方法をとることによって、少量の回路規模で、高いマルチキャスト転送性能を得ることができる。
【実施例２】
【００９５】
続いて、本発明の他の実施例によるデータ転送システムについて説明する。本発明の他の実施例によるデータ転送システムは図１に示す本発明の実施の形態によるデータ転送システムと同様の構成となっているが、入力制御部１−１〜１−Ｎ、クロスバスイッチ部２−１〜２−Ｍ、出力制御部３−１〜３−Ｎの各要素の動作が異なっている。以下、図示していないが、本発明の他の実施例によるデータ転送システムは入力制御部４−１〜４−Ｎ、クロスバスイッチ部５−１〜５−Ｍ、出力制御部６−１〜６−Ｎの各要素からなるものとする。
【００９６】
入力制御部４−１〜４−ＮにはＮ本の入力ポート＃１〜＃Ｎ各々から固定長のパケットがマルチキャスト／ユニキャストの区別なく多重化されて入力される。入力制御部４−１〜４−Ｎは入力されたパケットがユニキャストキューの場合にそれぞれ異なる識別ＩＤを添付し、マルチキャストキューの場合に識別ＩＤ群及びビットマップを添付してＭ個のクロスバスイッチ部５−１〜５−Ｍにパケットを分散出力する。
【００９７】
クロスバスイッチ部５−１〜５−Ｍは入力制御部４−１〜４−Ｎから入力されるパケットを、ユニキャストの場合に出力制御部６−１〜６−Ｎのいずれか行きに振り分ける。また、クロスバスイッチ部５−１〜５−Ｍはマルチキャストの場合に入力制御部４−１〜４−Ｎで添付されたビットマップを利用してコピー対象の出力制御部６−１〜６−Ｎにパケットをコピーし、それぞれのコピーにビットマップ情報に対応する識別ＩＤを添付する。
【００９８】
出力制御部６−１〜６−Ｎはクロスバスイッチ部５−１〜５−Ｍから入力されたパケットを集約し、入力制御部４−１〜４−Ｎまたはクロスバスイッチ部５−１〜５−Ｍで添付された識別ＩＤを基にパケットの順序性を確保しつつ、出力ポート＃１〜＃Ｎにパケットを出力する。
【００９９】
図６は本発明の他の実施例による入力制御部の内部構成を示すブロック図である。図６において、入力制御部４はマルチキャストキューバッファ１１と、ユニキャストキューバッファ１２と、出力制御部宛キューバッファ群１３と、ラウンドロビン回路１４と、識別ＩＤ管理部４１と、ルーティングテーブル４２と、パケット振り分け回路１６とから構成されている。
【０１００】
マルチキャストキューバッファ１１は入力ポートから多重化されて入力される固定長のマルチキャストパケットをキューとして格納し、ユニキャストキューバッファ１２は入力ポートから多重化されて入力される固定長のユニキャストパケットをキューとして格納する。
【０１０１】
出力制御部宛キューバッファ群１３はユニキャストキューをＮ個の出力制御部＃１〜＃Ｎ宛に振り分けて格納する。ラウンドロビン回路１４はマルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３から出力されるキューの中から優先順位に基づいた一つのキューを出力する。
【０１０２】
識別ＩＤ管理部４１はマルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３それぞれから出力されるキューに対して、ルーティングテーブル４２の格納内容を基に、ユニキャストキューの場合にそれぞれ異なる識別ＩＤを添付し、マルチキャストキューの場合に識別ＩＤ群及びビットマップを添付する。
【０１０３】
パケット振り分け回路１６はラウンドロビン回路１４から出力され、かつ識別ＩＤ管理部４１にて識別ＩＤまたは識別ＩＤ群及びビットマップが添付されたキューに対応したパケットをクロスバスイッチ部＃１入力パスからクロスバスイッチ部＃Ｍ入力パス方向へ巡回するように振り分ける。
【０１０４】
入力ポートから固定長のパケットがマルチキャスト／ユニキャストの区別なく多重化されて入力された場合、パケットのヘッダ情報からユニキャストパケットはキューとして一旦ユニキャストキューバッファ１２に蓄積され、マルチキャストパケットはキューとしてマルチキャストキューバッファ１２に蓄積される。
【０１０５】
ユニキャストキューバッファ１２に蓄積されたキューは、出力制御部宛キューバッファ群１３に出力される。出力制御部宛キューバッファ群１３では入力されたキューを出力制御部＃１〜＃Ｎ宛に振り分け、それぞれ出力制御部＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎに蓄積する。マルチキャストキューバッファ１１及び出力制御部宛キューバッファ群１３内の出力制御部＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎから出力されるキューは、ラウンドロビン回路１４に入力される。
【０１０６】
ラウンドロビン回路１４は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力する。ラウンドロビン回路１４から出力されたキューがマルチキャストキューの場合には、識別ＩＤ管理部４１から出力される識別ＩＤ群及びビットマップが添付される。図６においては、キュー（白四角）が識別ＩＤ管理部４１を通過した後、識別ＩＤ群及びビットマップ（斜線部）が添付される様子を示している。
【０１０７】
ラウンドロビン回路１４から出力されたキューがユニキャストの場合には、識別ＩＤのみが添付される。識別ＩＤ群及びビットマップ（マルチキャストキュー）または識別ＩＤ（ユニキャストキュー）が添付されたキューはパケット振り分け回路１６に入力される。
【０１０８】
パケット振り分け回路１６は入力されたキューに対応したパケットを識別ＩＤ群及びビットマップまたは識別ＩＤとともに、Ｍ本のクロスバスイッチ部＃１〜＃Ｍ入力パスそれぞれに振り分ける。パケットの振り分けは、クロスバスイッチ＃１入力パスからクロスバスイッチ＃Ｍ入力パスの方向へと巡回するように実行され、パケット転送待ち状態または回線が不通になっているクロスバスイッチ部入力パスが存在する場合には、そのクロスバスイッチ部入力パスを避けて次のクロスバスイッチ部入力パスへパケットを振り分けるように実行される。
【０１０９】
図７は本発明の他の実施例によるクロスバスイッチ部の内部構成を示すブロック図である。図７において、クロスバスイッチ部５はラウンドロビン回路２１と、ユニキャストキューバッファ２２と、マルチキャストキューバッファ２３と、クロスポイントバッファ制御部２５とから構成されている。
【０１１０】
ラウンドロビン回路２１はＮ本の入力制御部＃１〜＃Ｎ出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットから、優先順位に基づいて一つのパケットを出力する。
【０１１１】
ユニキャストキューバッファ２２はラウンドロビン回路２１から出力されるユニキャストパケットをキューとして格納し、マルチキャストキューバッファ２３はラウンドロビン回路２１から出力されるマルチキャストパケットをキューとして格納する。
【０１１２】
クロスポイントバッファ制御部２５はユニキャストキューバッファ２２から出力されるキュー、及びマルチキャストキューバッファ２３から出力されかつキューに添付されたビットマップ情報を参照して出力先対象の出力制御部＃１〜＃Ｎ接続パス宛にコピーし、それぞれのコピーにビットマップ情報に対応する識別ＩＤが添付されたキューを格納するＮ個の入力制御部発信元×Ｎ個の出力制御部宛のクロスポイント構造キューバッファと、出力制御部＃１〜＃Ｎ宛キュー管理部毎に設けられたラウンドロビン回路２９−１〜２９−Ｎとを備えている。
【０１１３】
Ｎ本の入力制御部＃１〜＃Ｎ接続パス各々からマルチキャスト／ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路２１に入力される。ラウンドロビン回路２１は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。ラウンドロビン回路２１から出力されたパケットはそのヘッダ情報を基にユニキャストパケットであればキューとして一旦ユニキャストキューバッファ２２に蓄積され、マルチキャストパケットであればキューとしてマルチキャストキューバッファ２３に蓄積される。
【０１１４】
ユニキャストキューバッファ２２から出力されたキューはクロスポイントバッファ制御部２５に転送される。クロスポイントバッファ制御部２５では入力されたキューを出力制御部＃１〜＃Ｎ宛キュー管理部に振り分ける。
【０１１５】
出力制御部＃１〜＃Ｎ宛キュー管理部各々ではそのキューをさらにどの入力制御部から発信されたかによって入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎに振り分け、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎに蓄積する。
【０１１６】
クロスポイントバッファ制御部２５はＮ個の入力制御部発信×Ｎ個の出力制御部宛のクロスポイント構造のキューバッファ構成になっている。マルチキャストキューバッファ２３から出力されたキューは、キュー（白四角）に添付してある識別ＩＤ群及びビットマップ情報（斜線部）を使用してクロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部の何れかにコピーされる。
【０１１７】
このコピー動作はビットマップで有効コピーフラグに対応するクロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部に対してキューをコピーし、同時にコピーフラグが有効になっている識別ＩＤをそれぞれ対応するキューに添付するといった動作になる。
【０１１８】
クロスポイントバッファ制御部２５内の出力制御部＃１〜＃Ｎ宛キュー管理部各々では、ユニキャストキューの場合と同様に、そのキューをさらにどの入力制御部から発信されたかによって入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎに振り分け、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎ，２７−１〜２７−Ｎ，・・・，２８−１〜２８−Ｎに蓄積する。
【０１１９】
クロスポイントバッファ制御部２５内の出力制御部＃１宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２６−１〜２６−Ｎから出力されるキューはラウンドロビン回路２９−１に、クロスポイントバッファ制御部２５内の出力制御部＃２宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２７−１〜２７−Ｎから出力されるキューはラウンドロビン回路２９−２に、・・・・・、クロスポイントバッファ制御部２５内の出力制御部＃Ｎ宛キュー管理部に属する入力制御部＃１〜＃Ｎ発信キューバッファ２８−１〜２８−Ｎから出力されるキューはラウンドロビン回路２９−Ｎにそれぞれ入力される。
【０１２０】
ラウンドロビン回路２９−１〜２９−Ｎ各々では入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを識別ＩＤとともに、対応するＮ本の出力制御部＃１〜＃Ｎ接続パスのそれぞれに出力する。
【０１２１】
図８は本発明の他の実施例による出力制御部の内部構成を示すブロック図である。図８において、出力制御部６はラウンドロビン回路３１と、ユニ／マルチキャストキューバッファ３２と、入力制御部発信キューバッファ群３４と、識別ＩＤ検出制御部６１と、ラウンドロビン回路３５とから構成されている。
【０１２２】
ラウンドロビン回路３１はＭ本のクロスバスイッチ部＃１〜＃Ｍ出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットの中から、優先順位に基づいて一つのパケットを出力する。ユニ／マルチキャストキューバッファ３２はラウンドロビン回路３１から出力されるマルチキャストパケット及びユニキャストパケットをキューとして格納する。
【０１２３】
入力制御部発信キューバッファ群３４はユニキャストキュー及びマルチキャストキューをＮ個の入力制御部＃１〜＃Ｎ発信元に振り分け、入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎに格納する。
【０１２４】
識別ＩＤ検出制御部６１は入力制御部発信キューバッファ群３４内のＮ個の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎにおいてそれぞれ独立して、ユニキャストキューの場合に入力制御部４で添付された識別ＩＤ情報、マルチキャストキューの場合にクロスバスイッチ部５で添付された識別ＩＤ情報に基づいて正しい転送順序に再構築する。ラウンドロビン回路３５はＮ個の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎそれぞれから出力されるキューの中から優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
【０１２５】
Ｍ本のクロスバスイッチ部＃１〜＃Ｍ出力パス各々からマルチキャスト／ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路３１に入力される。ラウンドロビン回路３１は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
【０１２６】
ラウンドロビン回路３１から出力されたパケットはそのヘッダ情報を基にキューとしてユニ／マルチキャストキューバッファ３２に蓄積される。ユニ／マルチキャストキューバッファ３２に蓄積されたキューは、入力制御部発信キューバッファ群３４に転送される。入力制御部発信キューバッファ群３４では入力されたキューを入力制御部＃１〜＃Ｎ発信元に振り分け、それぞれ入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎに蓄積する。
【０１２７】
次に、識別ＩＤ検出制御部６１は入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎにおいて、それぞれ独立して蓄積されているキューの識別ＩＤを探索する。
【０１２８】
識別ＩＤ検出制御部６１は入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎの何れかにおいて現在探索中の識別ＩＤに合致するユニキャストキューまたはマルチキャストキューが検出された場合、合致した識別ＩＤを含むキューを、蓄積している入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎから取り出してラウンドロビン回路３５に入力する。
【０１２９】
識別ＩＤ検出制御部６１は合致した識別ＩＤを含むキューをラウンドロビン回路３５に転送した後、識別ＩＤの更新を実行し、同様に更新された識別ＩＤで入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎに蓄積されているキューを探索する。
【０１３０】
例えば、現在探索中のユニキャストキューの識別ＩＤがｋ＿０だった場合、その識別ＩＤを含むキューを検出すると、識別ＩＤ検出制御部６１はそのキューを入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎから取り出してラウンドロビン回路３５に入力する。
【０１３１】
その後、識別ＩＤ検出制御部６１は探索する識別ＩＤをｋ＿１に更新して識別ＩＤ  ｋ＿１を含むキューを入力制御部発信キューバッファ群３４内の入力制御部＃１〜＃Ｎ発信キューバッファ３４−１〜３４−Ｎから探索する。識別ＩＤは、上述した動作を繰り返す毎に、ｋ＿２、・・・・、ｋ＿ｎ−１、ｋ＿ｎ、ｋ＿０、ｋ＿１、・・・・に更新されていく。
【０１３２】
この動作によって、ある一つのキューバッファ（例えば、入力制御部発信キューバッファ群３４内の入力制御部＃Ｎ発信キューバッファ３４−Ｎ）から連続して出力されるキューに対して順序性を確保することができる。ラウンドロビン回路３５は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
【０１３３】
図９は本発明の他の実施例による識別ＩＤ及びビットマップのフォーマットを示す図である。図９において、このフォーマットは主にビットマップと識別ＩＤ群とに分かれる。
【０１３４】
ビットマップはマルチキャストキューをＮ個の出力制御部６−１〜６−Ｎのうちのどの出力制御部６−１〜６−Ｎにコピーするかを示すフラグの集まりである。図６に示す識別ＩＤ管理部４１はマルチキャストキューを認識した場合、ルーティングテーブル４２を参照し、そのルーティング情報に基づいてＮ個の出力制御部６−１〜６−Ｎのうちの何れか複数のコピーフラグを有効にする。このビットマップは後段のクロスバスイッチ部５−１〜５−Ｍにおいてマルチキャストキューのコピー情報として利用される。
【０１３５】
もう一つの識別ＩＤ群はＮ個の出力制御部６−１〜６−Ｎそれぞれの行き先に対応するマルチキャストキューの識別ＩＤ情報の集まりである。識別ＩＤ管理部４１はマルチキャストキューを認識した場合、ルーティングテーブル４２を参照し、そのルーティング情報に基づいてＮ個の出力制御部６−１〜６−Ｎのうちの何れか複数の識別ＩＤ情報を識別ＩＤ群及びビットマップフォーマットに登録する。
【０１３６】
登録した後、識別ＩＤ管理部４１はルーティング情報に基づいてＮ個の出力制御部６−１〜６−Ｎのうちの何れか複数の識別ＩＤの更新を行う。これら識別ＩＤ群は後段のクロスバスイッチ部５−１〜５−Ｍにおいて、ビットマップに基づいてマルチキャストキューをコピーする際、各コピー先の識別ＩＤ情報として利用される。
【０１３７】
図６及び図９において、識別ＩＤ管理部４１が出力する識別ＩＤは、マルチキャストキューバッファ１１から出力されるキュー及び出力制御部宛キューバッファ群１３内の出力制御＃１〜＃Ｎ宛キューバッファ１３−１〜１３−Ｎから出力されるキューのそれぞれに対して異なった識別ＩＤであり、かつある一つのキューバッファから連続して出力されるキューに対しては順序性を有する識別ＩＤである。
【０１３８】
例えば、出力制御部宛キューバッファ群１３内の出力制御部＃１宛キューバッファ１３−１から連続して出力されるキューに対しては、ｋ＿０、ｋ＿１、ｋ＿２、・・・・、ｋ＿ｎ−１、ｋ＿ｎ、ｋ＿０、ｋ＿１、・・・・といった識別ＩＤが、出力制御部宛キューバッファ群１３内の出力制御部＃Ｎ宛キューバッファ１３−Ｎから連続して出力されるキューに対しては、ｐ＿０、ｐ＿１、ｐ＿２、・・・・、ｐ＿ｎ−１、ｐ＿ｎ、ｐ＿０、ｐ＿１、・・・・といった識別ＩＤがそれぞれ割り当てられる。
【０１３９】
マルチキャストキューバッファ１１から連続して出力されるキューも順序性を有する識別ＩＤが割り当てられるが、ルーティングテーブル４１を参照して得たルーティング情報に基づいて識別ＩＤの更新を行うため、Ｎ個の出力制御部６−１〜６−Ｎそれぞれにおいて異なる識別ＩＤとなる。
【０１４０】
例えば、出力制御部６−１宛の場合にはｉａ＿０、ｉａ＿１、ｉａ＿２、・・・・、ｉａ＿ｎ−１、ｉａ＿ｎ、ｉａ＿０、ｉａ＿１、・・・・といった識別ＩＤが、出力制御部６−Ｎ宛の場合には、ｉｚ＿０、ｉｚ＿１、ｉｚ＿２、・・・・、ｉｚ＿ｎ−１、ｉｚ＿ｎ、ｉｚ＿０、ｉｚ＿１、・・・・といった識別ＩＤがそれぞれ割り当てられる。
【０１４１】
図１０は本発明の他の実施例による出力制御部内のキューバッファの動作を示す図である。図１０において、識別ＩＤがｉ＿０〜ｉ＿ｎであるマルチキャストキュー、識別ＩＤがｋ＿０〜ｋ＿ｎであるユニキャストキューがそれぞれ入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１に蓄積され、かつ探索を開始する識別ＩＤがｉ＿０（マルチキャストキュー）／ｋ＿０（ユニキャストキュー）である状態について説明する。尚、ｂ１〜ｂ８は入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１からキューが取り出された順序を示している。
【０１４２】
識別ＩＤ検出制御部６１は識別ＩＤがｉ＿０／ｋ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１内で探索する。
【０１４３】
ｂ１の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｋ＿０であるキューを検出すると、識別ＩＤがｋ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｋ＿１に更新し、識別ＩＤがｋ＿１であるキューの探索を行う。
【０１４４】
ｂ２の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｋ＿１であるキューを検出すると、識別ＩＤがｋ＿１であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｋ＿２に更新し、識別ＩＤがｋ＿２であるキューの探索を行う。
【０１４５】
ｂ３の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｉ＿０であるキューを検出すると、識別ＩＤがｉ＿０であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｉ＿１に更新し、識別ＩＤがｉ＿１であるキューの探索を行う。
【０１４６】
ｂ４の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｋ＿２であるキューを検出すると、識別ＩＤがｋ＿２であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｋ＿３に更新し、識別ＩＤがｋ＿３であるキューの探索を行う。
【０１４７】
ｂ５の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｉ＿１であるキューを検出すると、識別ＩＤがｉ＿１であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｉ＿２に更新し、識別ＩＤがｉ＿２であるキューの探索を行う。
【０１４８】
ｂ６の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｉ＿２であるキューを検出すると、識別ＩＤがｉ＿２であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｉ＿３に更新し、識別ＩＤがｉ＿３であるキューの探索を行う。
【０１４９】
ｂ７の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｋ＿３であるキューを検出すると、識別ＩＤがｋ＿３であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｋ＿４に更新し、識別ＩＤがｋ＿４であるキューの探索を行う。
【０１５０】
ｂ８の動作において、識別ＩＤ検出制御部６１は探索の結果、識別ＩＤがｉ＿３であるキューを検出すると、識別ＩＤがｉ＿３であるキューを入力制御部発信キューバッファ群３４内の入力制御部＃１発信キューバッファ３４−１から取り出してラウンドロビン回路３５に出力する。ラウンドロビン回路３５にキューを出力した後、識別ＩＤ検出制御部６１は識別ＩＤをｉ＿４に更新し、識別ＩＤがｉ＿４であるキューの探索を行う。
【０１５１】
本実施例では、上述したような回路構成及び制御方法を行うことによって、少量の回路規模で、高いマルチキャスト転送性能を得ることができる。
【０１５２】
このように、本発明では、入力側でフロー数に関係なく、マルチキャストパケットを一つのバッファに集約し、そのバッファから出力されるパケットに対して一義的に識別ＩＤを付与することで、出力側で容易にパケットの正しい出力順序を構築することができる。
【０１５３】
また、本発明では、上記の処理とともに、マルチキャストパケットを複数のクロスバスイッチに分散し、それぞれのクロスバスイッチ内でコピーを行うことで、少ない回路規模で、高いマルチキャスト転送性能を得ることができる。
【０１５４】
さらに、本発明では、入力ポートを介して入力されたマルチキャストパケットを、パケット単位に複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数が増加するとパケット転送帯域が増加し、その転送帯域の全てを使用することができるので、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加させることができる拡張性が得られる。
【図面の簡単な説明】
【０１５５】
【図１】本発明の実施の形態によるデータ転送システムの構成を示すブロック図である。
【図２】本発明の一実施例による入力制御部の内部構成を示すブロック図である。
【図３】本発明の一実施例によるクロスバスイッチ部の内部構成を示すブロック図である。
【図４】本発明の一実施例による出力制御部の内部構成を示すブロック図である。
【図５】本発明の一実施例による出力制御部内のキューバッファの動作を示す図である。
【図６】本発明の他の実施例による入力制御部の内部構成を示すプロック図である。
【図７】本発明の他の実施例によるクロスバスイッチ部の内部構成を示すブロック図である。
【図８】本発明の他の実施例による出力制御部の内部構成を示すブロック図である。
【図９】本発明の他の実施例による識別ＩＤ及びビットマップのフォーマットを示す図である。
【図１０】本発明の他の実施例による出力制御部内のキューバッファの動作を示す図である。
【図１１】従来のパケットスイッチの構成例を示すブロック図である。
【図１２】従来のスイッチ部を複数設けた場合の構成例を示すブロック図である。
【符号の説明】
【０１５６】
１，１−１〜１−Ｎ，４  入力制御部
２，２−１〜２−Ｍ，５  クロスバスイッチ部
３，３−１〜３−Ｎ，６  出力制御部
１１，２３  マルチキャストキューバッファ
１２，２２  ユニキャストキューバッファ
１３  出力制御部宛キューバッファ群
１３−１〜１３−Ｎ  出力制御部＃１〜＃Ｎ宛キューバッファ
１４，２１，
２９−１〜２９−Ｎ，
３１，３５  ラウンドロビン回路
１５，４１  識別ＩＤ管理部
１６  パケット振り分け回路
２４，４２  ルーティングテーブル
２５  クロスポイントバッファ制御部
２６−１〜２６−Ｎ，
２７−１〜２７−Ｎ，
２８−１〜２８−Ｎ  入力制御部＃１〜＃Ｎ発信キューバッファ
３２  ユニ／マルチキャストキューバッファ
３３，６１  識別ＩＤ検出制御部
３４  入力制御部発信キューバッファ群
【図１】
2005045626.tif 000003
【図２】
2005045626.tif 000004
【図３】
2005045626.tif 000005
【図４】
2005045626.tif 000006
【図５】
2005045626.tif 000007
【図６】
2005045626.tif 000008
【図７】
2005045626.tif 000009
【図８】
2005045626.tif 000010
【図９】
2005045626.tif 000011
【図１０】
2005045626.tif 000012
【図１１】
2005045626.tif 000013
【図１２】
2005045626.tif 000014