JP2005045626A - Data transfer system and multicast transferring method used in the same - Google Patents
Data transfer system and multicast transferring method used in the same Download PDFInfo
- Publication number
- JP2005045626A JP2005045626A JP2003278689A JP2003278689A JP2005045626A JP 2005045626 A JP2005045626 A JP 2005045626A JP 2003278689 A JP2003278689 A JP 2003278689A JP 2003278689 A JP2003278689 A JP 2003278689A JP 2005045626 A JP2005045626 A JP 2005045626A
- Authority
- JP
- Japan
- Prior art keywords
- output
- packet
- input
- multicast
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明はデータ転送システム及びそれに用いるマルチキャスト転送方法に関し、特に複数のクロスバスイッチを使用してマルチキャストパケットを転送するマルチキャスト転送方法に関する。 The present invention relates to a data transfer system and a multicast transfer method used therefor, and more particularly to a multicast transfer method for transferring a multicast packet using a plurality of crossbar switches.
従来、パケットスイッチにおいては、図11に示すように、N個(Nは正の整数)の入力バッファ部71−1〜71−Nと、スケジューラ部72と、クロスバスイッチ部73と、フレーム組立バッファ74−1〜74−Mと、フレーム化処理部75−1〜75−Mとを備えている。
Conventionally, in a packet switch, as shown in FIG. 11, N (N is a positive integer) input buffer units 71-1 to 71-N, a
N個の入力バッファ部71−171−NはN本の入力回線#1〜#N各々に対応して設けられ、対応する入力回線#1〜#Nを介して入力されるユニキャストパケット及びマルチキャストパケットを格納する。
N input buffer units 71-171-N are provided corresponding to each of the N
クロスバスイッチ部73はN個の入力バッファ部71−1〜71−N各々からユニキャストパケットが入力された場合に、その送出先となるM本(Mは正の整数)の出力回線#1〜#Mの中のいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、その送出先となるM本の出力回線#1〜#Mの中の複数本にマルチキャストパケットを出力する。
When the unicast packet is input from each of the N input buffer units 71-1 to 71-N, the crossbar switch unit 73 outputs M (M is a positive integer)
スケジューラ部72ではユニキャストパケットとマルチキャストパケットとが混在して入力される場合に、ユニキャストパケットであれば入力回線#1〜#Nと出力回線#1〜#Mとの両方が競合しないように、マルチキャストパケットであれば入力回線#1〜#Nが競合しないようにスケジューリング処理を行う。
When a unicast packet and a multicast packet are input together in the
スケジューラ部72はマルチキャストパケットの送出先となる複数の出力回線#1〜#Mを競合制御の対象から除外することにより、スケジューリング処理の負担を大幅に軽減している。また、マルチキャストパケットについては、入力バッファ部71−1〜71−N内でのコピーを行わないため、入力バッファ部71−1〜71−Nとスイッチ部73との間のデータ量が増加することがなく、マルチキャストパケットに許容される入力レートが低下することを防止している。
The
図12は上述したスイッチ部を複数設けた場合の構成を示す図である。図12において、複数のパケットが集まって可変長の一つのIP(Internet Protocol)パケットを構成している場合、IPパケットに添付したフロー識別子を用い、同一のスイッチ面(クロスバスイッチ部)82−1〜82−Lで同一つのフローを転送する。ここで、スイッチ面(クロスバスイッチ部)82−1〜82−Lは分離部81−181−Nと多重部83−1〜83−Mとの間に配設されている。 FIG. 12 is a diagram illustrating a configuration in which a plurality of the above-described switch units are provided. In FIG. 12, when a plurality of packets are collected to form a variable-length single IP (Internet Protocol) packet, the same switch surface (crossbar switch unit) 82-1 is used by using a flow identifier attached to the IP packet. Transfer the same flow at ~ 82-L. Here, the switch surfaces (crossbar switch units) 82-1 to 82-L are disposed between the separating unit 81-181-N and the multiplexing units 83-1 to 83-M.
これによって、同一のスイッチ面(クロスバスイッチ部)82−1〜82−Lに同一フローに属するパケットを入力するため、フローレベルでのパケットの順番が逆転することを防止している。 As a result, since packets belonging to the same flow are input to the same switch surface (crossbar switch unit) 82-1 to 82-L, the order of packets at the flow level is prevented from being reversed.
また別の手法として、入力回線#1〜#Nを介して入力される固定長パケット(ユニキャストパケットあるいはマルチキャストパケット)の先頭から順にビット単位で分割する、いわゆるビットスライスの手法を用いた場合には、一つの固定長パケットがL分割されてL個のスイッチ面(クロスバスイッチ部)82−1〜82−L各々に送られ、複数のスイッチ面(クロスバスイッチ部)82−1〜82−Lを用いて一つのパケットに対応する複数の分割データを並行して転送する。
As another method, when a so-called bit slice method is used in which a fixed-length packet (unicast packet or multicast packet) input via
上述した従来のマルチキャスト転送方法では、複数のスイッチ面(クロスバスイッチ部)を設けた構成において、IPパケットのフロー識別子を用いて、同一のスイッチ面(クロスバスイッチ部)に同一フローに属するパケットを入力する方法が用いられている。 In the conventional multicast transfer method described above, in a configuration in which a plurality of switch surfaces (crossbar switch units) are provided, packets belonging to the same flow are input to the same switch surface (crossbar switch unit) using the flow identifier of the IP packet. Method is used.
そのため、従来のマルチキャスト転送方法では、同一のフローにフロー識別子を付与した場合、フロー毎にどの出力回線にルーティングするかが決められているので、フローレベルでのパケット順序の逆転を防止することができ、マルチキャストパケットのクロスバスイッチ部内コピーにも対応することができる。 Therefore, in the conventional multicast transfer method, when a flow identifier is assigned to the same flow, it is determined which output line is routed for each flow, so that it is possible to prevent the packet order from being reversed at the flow level. It is also possible to cope with intra-crossbar switch copy of multicast packets.
しかしながら、従来のマルチキャスト転送方法では、フロー数が増加するにつれてフロー識別子を管理する制御部も増加してしまうという問題があり、スイッチ面(クロスバスイッチ部)の拡張に伴ってパケットの転送帯域が拡張されても、単一フローの転送帯域が単一スイッチ面(クロスバスイッチ部)の転送帯域内に抑えられてしまうという問題がある。 However, in the conventional multicast transfer method, there is a problem that the control unit for managing the flow identifier increases as the number of flows increases, and the transfer band of the packet is expanded with the expansion of the switch surface (crossbar switch unit). However, there is a problem that the transfer bandwidth of a single flow is suppressed within the transfer bandwidth of a single switch surface (crossbar switch unit).
また、従来のマルチキャスト転送方法では、複数のスイッチ面(クロスバスイッチ部)を設けた構成におけるもう一つの転送方法として、一つの固定長パケットを複数個のスイッチ面(クロスバスイッチ部)に合わせて複数分割するビットスライスの方法を用いていることができる。 Further, in the conventional multicast transfer method, as another transfer method in a configuration in which a plurality of switch surfaces (crossbar switch units) are provided, a plurality of fixed-length packets are combined with a plurality of switch surfaces (crossbar switch units). A bit slice method for dividing can be used.
従来のマルチキャスト転送方法は、一つの固定長パケットを複数個のスイッチ面(クロスバスイッチ部)に合わせて複数分割するビットスライスの手法の場合、複数のスイッチ面(クロスバスイッチ部)を並列に使用して処理の高速化を図ることができ、マルチキャストパケットのクロスバスイッチ部内コピーにも対応することができる。 The conventional multicast transfer method uses a plurality of switch planes (crossbar switch units) in parallel in the case of a bit slice technique in which a single fixed-length packet is divided into a plurality of sections according to a plurality of switch planes (crossbar switch units). Thus, the processing speed can be increased, and it is possible to cope with the copying of multicast packets in the crossbar switch section.
しかしながら、従来のマルチキャスト転送方法では、一つの固定長パケットを複数に分割したデータ各々に対して同一のヘッダ情報(同一の宛先情報)を持たなくてはならず、スイッチ面(クロスバスイッチ部)の個数が増加するのに比例し、分割されたデータに対するヘッダ情報の割合も増加するため、オーバヘッドが大きくなってしまうという問題がある。 However, in the conventional multicast transfer method, it is necessary to have the same header information (same destination information) for each piece of data obtained by dividing one fixed-length packet into a plurality of pieces, and the switch surface (crossbar switch unit) In proportion to the increase in the number, the ratio of the header information to the divided data also increases, resulting in a problem that the overhead increases.
また、従来のマルチキャスト転送方法では、スイッチ面(クロスバスイッチ部)の個数の増加に合わせて一つの固定長パケットの長さを増加させた場合、パケットの転送帯域が減少してしまうという問題がある。 In addition, the conventional multicast transfer method has a problem that when the length of one fixed-length packet is increased in accordance with the increase in the number of switch surfaces (crossbar switch units), the packet transfer bandwidth is reduced. .
そこで、本発明の目的は上記の問題点を解消し、少ない回路規模で高いマルチキャスト転送性能を得ることができるデータ転送システム及びそれに用いるマルチキャスト転送方法を提供することにある。 Accordingly, an object of the present invention is to provide a data transfer system and a multicast transfer method used therefor that can solve the above-described problems and obtain high multicast transfer performance with a small circuit scale.
本発明の他の目的は、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加させることができる拡張性が得られるデータ転送システム及びそれに用いるマルチキャスト転送方法を提供することにある。 Another object of the present invention is to provide a data transfer system capable of increasing the multicast transfer performance in proportion to an increase in the number of crossbar switches, and a multicast transfer method used therefor.
本発明によるデータ転送システムは、N本(Nは正の整数)の入力ポート各々に対応して設けられ、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与する機能と、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力する機能とを各々含むN個の入力制御部と、
前記N個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるN本の出力ポートのいずれかに当該ユニキャストパケットを出力しかつ前記マルチキャストパケットが入力された場合にその出力先となる前記N本の出力ポートのうちの複数本に前記マルチキャストパケットを出力するM個(Mは正の整数)のクロスバスイッチ部と、
前記M個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力するN個の出力制御部とを備えている。
The data transfer system according to the present invention is provided corresponding to each of N (N is a positive integer) input ports, and stores a fixed-length unicast packet and multicast packet input from the corresponding input port. A function of assigning identification information to the stored unicast packet and the multicast packet, and a function of multiplexing the unicast packet and the multicast packet to which the identification information is added and distributing and outputting them to a plurality of output destinations. Including N input control units,
When the unicast packet is input from each of the N input control units, the unicast packet is output to any of the N output ports that are output destinations, and the multicast packet is input M (M is a positive integer) crossbar switch unit that outputs the multicast packet to a plurality of the N output ports that are the output destinations;
A function of storing the unicast packet and the multicast packet that are distributed and input from the M crossbar switch units; and the identification information provided by the input control unit with the stored unicast packet and the multicast packet. And N output control units for reconstructing them in the correct transfer order and outputting the unicast packet and the multicast packet to the output port.
本発明による他のデータ転送システムは、上記の構成において、前記クロスバスイッチ部が、前記マルチキャストパケットに付与されかつ前記N個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記N本の出力ポートのうちの複数本に出力する機能と、前記N個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分ける機能とを具備している。 In another data transfer system according to the present invention, in the above configuration, the crossbar switch unit uses the information given to the multicast packet and copied to any one of the N output control units. Is output to a plurality of the N output ports as output destinations, and identification information having the order corresponding to information to be copied to any one of the N output control units. And a function of distributing corresponding to the output destination of the multicast packet.
本発明によるマルチキャスト転送方法は、N本(Nは正の整数)の入力ポート各々に対応して設けられたN個の入力制御部において、対応する入力ポートから入力される固定長のユニキャストパケット及びマルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットに識別情報を付与し、前記識別情報を付与した前記ユニキャストパケット及び前記マルチキャストパケットを多重して複数の出力先に分散出力するとともに、
M個(Mは正の整数)のクロスバスイッチ部において、前記N個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるN本の出力ポートのいずれかに当該ユニキャストパケットを出力し、かつ前記マルチキャストパケットが入力された場合にその出力先となる前記N本の出力ポートのうちの複数本に前記マルチキャストパケットを出力し、
N個の出力制御部において、前記M個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力している。
The multicast transfer method according to the present invention is a fixed-length unicast packet input from a corresponding input port in N input control units provided corresponding to each of N (N is a positive integer) input ports. And multicast packets are stored, identification information is assigned to the stored unicast packets and multicast packets, and the unicast packets and multicast packets with the identification information are multiplexed and distributed to a plurality of output destinations. And
In the M (M is a positive integer) crossbar switch unit, when the unicast packet is input from each of the N input control units, the unicast packet is output to any of the N output ports that are output destinations. When a multicast packet is output and the multicast packet is input, the multicast packet is output to a plurality of the N output ports that are the output destinations.
In the N output control units, the unicast packet and the multicast packet that are distributed and input from the M crossbar switch units are stored, and the stored unicast packet and the multicast packet are stored in the input control unit. The unicast packet and the multicast packet are output to the output port by reconstructing in the correct transfer order using the identification information given in step (b).
本発明による他のマルチキャスト転送方法は、上記の処理において、前記クロスバスイッチ部が、前記マルチキャストパケットに付与されかつ前記N個の出力制御部のいずれか複数にコピーする情報を使用して前記マルチキャストパケットをその出力先となる前記N本の出力ポートのうちの複数本に出力し、前記N個の出力制御部のいずれか複数にコピーする情報にそれぞれ対応した前記順序性を持つ識別情報を前記マルチキャストパケットの出力先に対応して振り分けている。 According to another multicast transfer method of the present invention, in the above processing, the crossbar switch unit uses the information given to the multicast packet and copied to any one of the N output control units. Is output to a plurality of the N output ports as output destinations, and identification information having the order corresponding to information to be copied to any one of the N output control units is sent to the multicast Sorted according to the packet output destination.
すなわち、本発明の第1のデータ転送システムは、複数のクロスバスイッチ構成において、N個(Nは正の整数)の入力制御部と、M個(Mは正の整数)のクロスバスイッチ部と、N個の出力制御部とを備えている。 That is, the first data transfer system of the present invention includes, in a plurality of crossbar switch configurations, N (N is a positive integer) input control units, M (M is a positive integer) crossbar switch units, N output control units.
入力制御部は入力ポートを介して多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットをそれぞれ第1のバッファに格納し、ユニキャストパケットはさらにN個の出力ポート宛に振り分けられ、それぞれ第2のバッファに格納される。マルチキャストパケットの第1のバッファ及びユニキャストパケットのN個の第2のバッファから出力されるパケットにはそれぞれ異なるシーケンシャルな識別IDが付与され、M個のクロスバスイッチ部へと任意に振り分けられる。 The input control unit stores, in the first buffer, fixed-length unicast packets and multicast packets that are multiplexed and input via the input ports, and the unicast packets are further distributed to N output ports. Each is stored in the second buffer. Different sequential identification IDs are assigned to the packets output from the first buffer of the multicast packet and the N second buffers of the unicast packet, and are arbitrarily distributed to the M crossbar switch units.
クロスバスイッチ部はN個の入力制御部のそれぞれからユニキャストパケットが入力された場合に、その送出先となるN本の出力ポートのいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、ルーティングテーブルを参照してその送出先となるN本の出力ポートの内の複数本にマルチキャストパケットを出力し、被出力先の残りの出力ポートにダミーのマルチキャストパケットを出力する。 When the unicast packet is input from each of the N input control units, the crossbar switch unit outputs the unicast packet to any of the N output ports that are the transmission destinations, and the multicast packet is input In this case, referring to the routing table, the multicast packet is output to a plurality of N output ports as the transmission destinations, and the dummy multicast packet is output to the remaining output ports of the output destinations.
出力制御部はM個のクロスバスイッチ部各々から多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットを第1のバッファに格納し、さらにN個の発信元入力ポート毎に振り分けられ、それぞれ第2のバッファに格納する。発信元入力ポート毎に振り分けられたN個の第2のバッファのそれぞれにおいて、入力制御部で付与されたシーケンシャルな識別IDに基づきユニキャストパケットの場合にパケットの並び替えを行い、マルチキャストパケットの場合にパケットの並び替え及びダミーパケットの廃棄を行う。 The output control unit stores the fixed-length unicast packet and the multicast packet that are multiplexed and input from each of the M crossbar switch units in the first buffer, and further distributes it for each of the N source input ports. Each is stored in a second buffer. In each of the N second buffers distributed for each source input port, the packets are rearranged in the case of a unicast packet based on the sequential identification ID given by the input control unit, and in the case of a multicast packet The packet is rearranged and the dummy packet is discarded.
本発明の第2のデータ転送システムは、上述した本発明の第1のデータ転送システムと同様に、N個の入力制御部と、M個のクロスバスイッチ部と、N個の出力制御部とを備えている。 Similar to the above-described first data transfer system of the present invention, the second data transfer system of the present invention includes N input control units, M crossbar switch units, and N output control units. I have.
入力制御部は入力ポートを介して多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットをそれぞれ第1のバッファに格納し、ユニキャストパケットをさらにN個の出力ポート宛に振り分け、それぞれ第2のバッファに格納する。 The input control unit stores the fixed-length unicast packet and the multicast packet that are multiplexed and input through the input port in the first buffer, respectively, further distributes the unicast packet to N output ports, Store in the second buffer.
ユニキャストパケットのN個の第2のバッファから出力されるパケットには、上述した本発明の第1のデータ転送システムの入力制御部と同様のシーケンシャルな識別IDが付与され、マルチキャストパケットの第1のバッファから出力されるパケットにはシーケンシャルな識別ID群及びビットマップが付与され、M個のクロスバスイッチ部へと任意に振り分けられる。 The packets output from the N second buffers of the unicast packet are given the same sequential identification ID as the input control unit of the first data transfer system of the present invention described above, and the first of the multicast packets Sequential identification IDs and bitmaps are assigned to packets output from the buffers, and are arbitrarily distributed to M crossbar switch units.
クロスバスイッチ部はN個の入力制御部各々からユニキャストパケットが入力された場合に、その送出先となるN本の出力ポートのいずれかにユニキャストパケットを出力し、マルチキャストパケットが入力された場合に、シーケンシャルな識別ID群及びビットマップを使用して、N本の出力ポートに対してビットマップ情報に基づいた送出先にマルチキャストパケットをビットマップ情報に対応するシーケンシャルな識別IDを添付して出力する。 When the unicast packet is input from each of the N input control units, the crossbar switch unit outputs the unicast packet to any of the N output ports that are the destinations, and the multicast packet is input. In addition, using a sequential identification ID group and a bitmap, a multicast packet is attached to a destination based on the bitmap information and output to N output ports with a sequential identification ID corresponding to the bitmap information. To do.
出力制御部はM個のクロスバスイッチ部各々から多重化されて入力される固定長のユニキャストパケット及びマルチキャストパケットを第1のバッファに格納し、さらにN個の発信元入力ポート毎に振り分けられ、それぞれ第2のバッファに格納される。 The output control unit stores the fixed-length unicast packet and the multicast packet that are multiplexed and input from each of the M crossbar switch units in the first buffer, and further distributes it for each of the N source input ports. Each is stored in the second buffer.
発信元入力ポート毎に振り分けられたN個の第2のバッファ各々において、入力制御部で付与された(ユニキャストパケット)及びクロスバスイッチ部で付与された(マルチキャストパケット)シーケンシャルな識別IDに基づき、ユニキャストパケット及びマルチキャストパケットの並び替えを行う。 In each of the N second buffers distributed for each source input port, based on the sequential identification ID given by the input control unit (unicast packet) and by the crossbar switch unit (multicast packet), Rearrange unicast packets and multicast packets.
これによって、本発明のデータ転送システムでは、複数のクロスバスイッチ部に分散してパケットの転送を行うことが可能となるため、全クロスバスイッチが持つパケット転送帯域の全てを使用することが可能となる。 As a result, in the data transfer system of the present invention, packets can be transferred in a distributed manner to a plurality of crossbar switch units, so that all the packet transfer bandwidths of all crossbar switches can be used. .
また、本発明のデータ転送システムでは、マルチキャストパケットについて、入力制御部内でのコピーを行わず、複数のクロスバスイッチのそれぞれにおいてコピーを行っているため、高いマルチキャスト転送性能が得られる。 Further, in the data transfer system of the present invention, since the multicast packet is not copied in the input control unit and is copied in each of the plurality of crossbar switches, high multicast transfer performance can be obtained.
さらに、本発明のデータ転送システムでは、入力制御部で付与するシーケンシャルな識別IDを使用することによって、多重化された複数のパケットを転送する場合であって、転送順序が逆転してしまう場合であっても、正しい転送順序に再構築することが可能となる。 Furthermore, in the data transfer system of the present invention, when a plurality of multiplexed packets are transferred by using a sequential identification ID given by the input control unit, the transfer order is reversed. Even if it exists, it becomes possible to reconstruct in the correct transfer order.
本発明によるデータ転送システムは、以下のような構成及び動作とすることで、少ない回路規模で、高いマルチキャスト転送性能を得ることができるという効果が得られる。 The data transfer system according to the present invention has the following configuration and operation, so that it is possible to obtain high multicast transfer performance with a small circuit scale.
本発明による他のデータ転送システムは、以下のような構成及び動作とすることで、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加することができる拡張性が得られるという効果が得られる。 Another data transfer system according to the present invention has the following configuration and operation, so that it is possible to obtain expandability that can increase multicast transfer performance in proportion to the increase in the number of crossbar switches. .
次に、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の実施の形態によるデータ転送システムの構成を示すブロック図である。図1において、本発明の実施の形態によるデータ転送システムは、N本(Nは正の整数)の入力ポート#1〜#Nと、N本の入力ポート#1〜#N各々に対応するN個の入力制御部1−1〜1−Nと、M個(Mは正の整数)のクロスバスイッチ部2−1〜2−Nと、N個の出力制御部3−1〜3−Nと、N個の出力制御部3−1〜3−N各々に対応して接続されるN本の出力ポート#1〜#Nを含んで構成されている。
Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a data transfer system according to an embodiment of the present invention. 1, the data transfer system according to the embodiment of the present invention includes N (N is a positive integer)
入力制御部1−1〜1−N各々はN本の入力ポート#1〜#N各々から固定長のパケットがマルチキャスト/ユニキャストの区別なく多重化されて入力され、入力されたパケットに識別IDを添付してクロスバスイッチ部2−1〜2−Mにパケットを分散出力する。
Each of the input control units 1-1 to 1-N receives a fixed-length packet multiplexed from each of the N
クロスバスイッチ部2−1〜2−M各々は入力制御部1−1〜1−Nから入力されるパケットを、ユニキャストの場合に出力制御部3−1〜3−Nのいずれか行きに振り分け、マルチキャストの場合にコピー対象の出力制御部3−1〜3−Nにパケットをコピーし、コピー対象外の出力制御部3−1〜3−Nにダミーを出力する。 Each of the crossbar switch units 2-1 to 2-M distributes packets input from the input control units 1-1 to 1-N to any one of the output control units 3-1 to 3-N in the case of unicast. In the case of multicast, the packet is copied to the output control units 3-1 to 3-N to be copied, and the dummy is output to the output control units 3-1 to 3-N not to be copied.
出力制御部3−1〜3−Nはクロスバスイッチ部2−1〜2−Mから入力されたパケットを集約し、入力制御部1−1〜1−Nで添付された識別IDを基にパケットの順序性を確保しつつ、N本の出力ポート#1〜#Nにパケットを出力する。
The output control units 3-1 to 3-N aggregate the packets input from the crossbar switch units 2-1 to 2-M, and packets based on the identification ID attached by the input control units 1-1 to 1-N. The packets are output to the N
これによって、本発明の実施の形態では、入力側でフロー数に関係なく、マルチキャストパケットを一つのバッファに集約し、そのバッファから出力されるパケットに対して一義的に識別IDを付与することで、出力側で容易にパケットの正しい出力順序を構築することができる。 Thus, in the embodiment of the present invention, the multicast packets are aggregated into one buffer regardless of the number of flows on the input side, and the identification ID is uniquely assigned to the packets output from the buffer. The correct output order of packets can be easily constructed on the output side.
また、本発明の実施の形態では、上記の動作とともに、マルチキャストパケットを複数のクロスバスイッチに分散し、それぞれのクロスバスイッチ内でコピーを行うことで、少ない回路規模で、高いマルチキャスト転送性能を得ることができる。 In the embodiment of the present invention, in addition to the above operation, multicast packets are distributed to a plurality of crossbar switches, and copying is performed in each crossbar switch, thereby obtaining high multicast transfer performance with a small circuit scale. Can do.
一方、本発明の実施の形態では、入力ポートを介して入力されたマルチキャストパケットを、パケット単位に複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数の増加とともに、パケット転送帯域が増加し、その転送帯域の全てを使用することができる。よって、本発明の実施の形態では、クロスバスイッチ数の増加に比例してマルチキャスト転送性能をも増加させることができる拡張性が得られる。 On the other hand, in the embodiment of the present invention, multicast packets input via input ports are distributed to a plurality of crossbar switches in units of packets, so that the packet transfer bandwidth increases as the number of crossbar switches increases, All of the bandwidth can be used. Therefore, in the embodiment of the present invention, it is possible to obtain extensibility capable of increasing the multicast transfer performance in proportion to the increase in the number of crossbar switches.
次に、本発明の一実施例によるデータ転送システムについて説明する。本発明の一実施例によるデータ転送システムは図1に示す本発明の実施の形態によるデータ転送システムと同様の構成となっている。 Next, a data transfer system according to an embodiment of the present invention will be described. A data transfer system according to an embodiment of the present invention has the same configuration as the data transfer system according to the embodiment of the present invention shown in FIG.
図2は本発明の一実施例による入力制御部の内部構成を示すブロック図である。図2において、入力制御部1(図1の入力制御部1−1〜1−Nに対応)はマルチキャストキューバッファ11と、ユニキャストキューバッファ12と、出力制御部宛キューバッファ群13と、ラウンドロビン回路14と、識別ID管理部15と、パケット振り分け回路16とから構成されている。
FIG. 2 is a block diagram showing the internal configuration of the input control unit according to an embodiment of the present invention. In FIG. 2, the input control unit 1 (corresponding to the input control units 1-1 to 1-N in FIG. 1) includes a multicast queue buffer 11, a
マルチキャストキューバッファ11は入力ポートから多重化されて入力される固定長のマルチキャストパケットをキューとして格納し、ユニキャストキューバッファ12は入力ポートから多重化されて入力される固定長のユニキャストパケットをキューとして格納する。
The multicast queue buffer 11 stores a fixed-length multicast packet that is multiplexed and input from the input port as a queue, and the
出力制御部宛キューバッファ群13は出力制御部#1宛キューバッファ13−1、出力制御部#2宛キューバッファ13−2、・・・、出力制御部#N宛キューバッファ13−Nとからなり、1ユニキャストキューをN個の出力制御部#1〜#N宛に振り分けて格納する。
The output control unit-destined
ラウンドロビン回路14はマルチキャストキューバッファ11及び出力制御部宛キューバッファ群13各々から出力されるキューのうち優先順位に基づいた一つのキューを出力する。識別ID管理部15はマルチキャストキューバッファ11及び出力制御部宛キューバッファ群13各々から出力されるキューに対して異なる識別IDを添付する。
The
パケット振り分け回路16はラウンドロビン回路14から出力され、かつ識別ID管理部15にて識別IDが添付されたキューに対応したパケットをクロスバスイッチ部#1入力パスからクロスバスイッチ部#M入力パスの方向へ巡回するように振り分ける。
The
入力ポートから固定長のパケットがマルチキャスト/ユニキャストの区別なく多重化されて入力された場合、パケットのヘッダ情報からユニキャストパケットはキューとして一旦ユニキャストキューバッファ12に蓄積され、マルチキャストパケットはキューとしてマルチキャストキューバッファ11に蓄積される。
When fixed-length packets are multiplexed and input from the input port without distinguishing between multicast / unicast, the unicast packets are temporarily stored in the
ユニキャストキューバッファ12に蓄積されたキューは出力制御部宛キューバッファ群13に出力される。出力制御部宛キューバッファ群13では入力されたキューは出力制御部#1〜#N宛に振り分けられ、それぞれ出力制御部#1〜#N宛キューバッファ13−1〜13−Nに蓄積される。マルチキャストキューバッファ11及び出力制御部宛キューバッファ群13内の出力制御部#1〜#N宛キューバッファ13−1〜13−Nから出力されるキューは、ラウンドロビン回路14に入力される。
The queue stored in the
ラウンドロビン回路14は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力する。ラウンドロビン回路14から出力されたキューには識別ID管理部15から出力される識別IDが添付される。識別ID管理部15が出力する識別IDは、マルチキャストキューバッファ11から出力されるキュー及び出力制御部宛キューバッファ群13内の出力制御部#1〜#N宛キューバッファ13−1〜13−Nから出力されるキューのそれぞれに対して異なった識別IDであり、かつある一つのキューバッファから連続して出力されるキューに対しては順序性を有する識別IDである。
The
例えば、マルチキャストキューバッファ11から連続して出力されるキューに対しては、i_0、i_1、i_2、・・・・、i_n−1、i_n、i_0、i_1、・・・・といった識別IDが、出力制御部宛キューバッファ群13内の出力制御部#1宛キューバッファ13−1から連続して出力されるキューに対しては、k_0、k_1、k_2、・・・・、k_n−1、k_n、k_0、k_1、・・・・といった識別IDが、出力制御部宛キューバッファ群13内の出力制御部#N宛キューバッファ13−Nから連続して出力されるキューに対しては、p_0、p_1、p_2、・・・・、p_n−1、p_n、p_0、p_1、・・・・といった識別IDがそれぞれ割り当てられる。
For example, identification IDs such as i_0, i_1, i_2,..., I_n-1, i_n, i_0, i_1,. K_0, k_1, k_2,..., K_n-1, k_n, for queues continuously output from the output
識別IDが添付されたキューはパケット振り分け回路16に入力される。パケット振り分け回路16は入力されたキューに対応したパケットをM本のクロスバスイッチ部#1〜#M入力パスのそれぞれに振り分ける。パケットの振り分けはクロスバスイッチ部#1入力パスからクロスバスイッチ部#M入力パスの方向へと巡回するように実行される。パケット転送待ち状態または回線が不通になっているクロスバスイッチ部入力パスが存在する場合には、そのクロスバスイッチ部入力パスを避けて次のクロスバスイッチ部入力パスへとパケットを振り分けるように、パケットの振り分けが実行される。
The queue to which the identification ID is attached is input to the
図3は本発明の一実施例によるクロスバスイッチ部の内部構成を示すブロック図である。図3において、クロスバスイッチ部2はラウンドロビン回路21と、ユニキャストキューバッファ22と、マルチキャストキューバッファ23と、ルーティングテーブル24と、クロスポイントバッファ制御部25とから構成されている。
FIG. 3 is a block diagram showing the internal configuration of the crossbar switch unit according to one embodiment of the present invention. In FIG. 3, the
ラウンドロビン回路21はN本の入力制御部#1〜#N接続パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットから、優先順位に基づいて一つのパケットを出力する。
The
ユニキャストキューバッファ22はラウンドロビン回路21から出力されるユニキャストパケットをキューとして格納し、マルチキャストキューバッファ23はラウンドロビン回路21から出力されるマルチキャストパケットをキューとして格納する。ルーティングテーブル24にはマルチキャストキューをN本の出力制御部#1〜#N接続パスのうちのどの出力先に転送するかの情報が格納されている。
The unicast queue buffer 22 stores unicast packets output from the
クロスポイントバッファ制御部25はユニキャストキューバッファ220から出力されるキュー、及びマルチキャストキューバッファ221から出力されかつルーティングテーブル24を参照して出力先対象の出力制御部#1〜#N接続パス宛にコピーされたキュー、または出力先対象外の出力制御部#1〜#N接続パス宛にコピーされたダミーキューを格納するN個の入力制御部発信元×N個の出力制御部宛のクロスポイント構造キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nと、出力制御部#1〜#N宛キュー管理部毎にラウンドロビン回路29−1〜29−Nとを備えている。
The crosspoint
N本の入力制御部#1〜#N接続パス各々からマルチキャスト/ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路21に入力される。ラウンドロビン回路21は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
Packets multiplexed and input from each of the N input
ラウンドロビン回路21から出力されたパケットはそのヘッダ情報を基にキューとして、ユニキャストパケットであれば一旦ユニキャストキューバッファ22に蓄積され、マルチキャストパケットであればマルチキャストキューバッファ23に蓄積される。
Packets output from the
ユニキャストキューバッファ22から出力されたキューは、クロスポイントバッファ制御部25に転送される。クロスポイントバッファ制御部25では入力されたキューを出力制御部#1〜#N宛キュー管理部に振り分ける。次に、出力制御部#1〜#N宛キュー管理部各々ではさらにどの入力制御部#1〜#Nから発信されたかによって入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nに振り分けられ、それぞれ入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nにキューを蓄積する。
The queue output from the unicast queue buffer 22 is transferred to the crosspoint
クロスポイントバッファ制御部25はN個の入力制御部発信×N個の出力制御部宛のクロスポイント構造のキューバッファ構成になっている。マルチキャストキューバッファ23から出力されたキューはルーティングテーブル24を参照し、ルーティング情報にしたがってクロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部の何れかにコピーされる。また、ルーティング情報でコピー対象にないクロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部の何れかには、コピー元キューの識別ID及びダミーフラグを含むダミーキューが出力される。
The cross point
クロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部では、上述したユニキャストキューの場合と同様に、その各々でさらにどの入力制御部から発信されたかによってクロスポイントバッファ制御部25内の入力制御部#1〜#N発信キューバッファに振り分けられ、それぞれ入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nにキューを蓄積する。
In the output
クロスポイントバッファ制御部25内の出力制御部#1宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ26−1〜26−Nから出力されるキューはラウンドロビン回路29−1に、クロスポイントバッファ制御部25内の出力制御部#2宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ27−1〜27−Nから出力されるキューはラウンドロビン回路29−2に、・・・・・、クロスポイントバッファ制御部25内の出力制御部#N宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ28−1〜28−Nから出力されるキューはラウンドロビン回路29−Nにそれぞれ入力される。
The queues output from the input
クロスポイントバッファ制御部25内のラウンドロビン回路29−1〜29−N各々は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを対応するN本の出力制御部#1〜#N接続パスそれぞれに出力する。
Each of the round robin circuits 29-1 to 29-N in the crosspoint
図4は本発明の一実施例による出力制御部の内部構成を示すブロック図である。図4において、出力制御部3はラウンドロビン回路31と、ユニ/マルチキャストキューバッファ32と、識別ID検出制御部33と、入力制御部発信キューバッファ群34と、ラウンドロビン回路35とから構成されている。
FIG. 4 is a block diagram showing the internal configuration of the output control unit according to one embodiment of the present invention. In FIG. 4, the
ラウンドロビン回路31はM本のクロスバスイッチ部#1〜#M出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットの中から優先順位に基づいて一つのパケットを出力する。ユニ/マルチキャストキューバッファ32はラウンドロビン回路31から出力されるマルチキャストパケット及びユニキャストパケットをキューとして格納する。
The
入力制御部発信キューバッファ群34はN個の入力制御部#1〜#N発信キューバッファ34−1〜34−Nを備えており、ユニキャストキュー及びマルチキャストキューをN個の入力制御部#1〜#N発信元に振り分けて格納する。
The input control unit transmission
識別ID検出制御部33は入力制御部発信キューバッファ群34内のN個の入力制御部#1〜#N発信キューバッファ34−1〜34−Nにおいてそれぞれ独立して、ユニキャストキューの場合に識別ID情報に基づいて正しい転送順序に再構築し、マルチキャストキューの場合に識別ID情報に基づいて正しい転送順序に再構築すると共に、ダミーキューの廃棄を行わせる。
The identification ID
ラウンドロビン回路35はN個の入力制御部#1〜#N発信キューバッファ34−1〜34−N各々から出力されるキューの中から優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
The
M本のクロスバスイッチ部#1〜#M出力パス各々からマルチキャスト/ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路31に入力される。ラウンドロビン回路31は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
Packets multiplexed and input from each of the M crossbar
ラウンドロビン回路31から出力されたパケットはそのヘッダ情報を基にキューとしてユニ/マルチキャストキューバッファ32に蓄積される。ユニ/マルチキャストキューバッファ32に蓄積されたキューは入力制御部発信キューバッファ群34に転送される。入力制御部発信キューバッファ群34では入力されたキューを入力制御部#1〜#N発信元に振り分け、それぞれ入力制御部#1〜#N発信キューバッファ34−1〜34−Nに蓄積する。
The packet output from the
次に、識別ID検出制御部33は入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nにおいて、それぞれ独立して蓄積されているキューの識別IDを探索する。
Next, the identification ID
入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nの何れかにおいて現在探索中の識別IDに合致するユニキャストキューまたはマルチキャストキューが検出できた場合、識別ID検出制御部33は合致した識別IDを含むキューを、蓄積している入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nから取り出してラウンドロビン回路35に入力する。
A unicast queue or multicast queue matching the identification ID currently being searched can be detected in any of the input
識別ID検出制御部33は合致した識別IDを含むキューをラウンドロビン回路35に転送した後、識別IDの更新を実行し、同様に更新された識別IDで入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nに蓄積されているキューを探索する。
The identification ID
例えば、現在探索中のユニキャストキューの識別IDがk_0だった場合、その識別IDを含むキューを検出すると、そのキューを入力制御部発信キューバッファ群34内の入力制御部発信キューバッファから取り出してラウンドロビン回路35に入力する。
For example, when the identification ID of the currently searched unicast queue is k_0, when a queue including the identification ID is detected, the queue is extracted from the input control unit transmission queue buffer in the input control unit transmission
その後、識別ID検出制御部33は探索する識別IDをk_1に更新して識別ID k_1を含むキューを入力制御部発信キューバッファ群34内の入力制御部発信キューバッファから探索する。識別IDは、上述した動作を繰り返す毎にk_2、・・・・、k_n−1、k_n、k_0、k_1、・・・・に更新されていく。この動作によって、ある一つのキューバッファ(例えば、入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1)から連続して出力されるキューに対して順序性を確保することができる。
Thereafter, the identification ID
ラウンドロビン回路35は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへと出力する。
The
図5は本発明の一実施例による出力制御部内のキューバッファの動作を示す図である。この図5を参照して本発明の一実施例による出力制御部内のキューバッファの動作について説明する。 FIG. 5 is a diagram illustrating the operation of the queue buffer in the output control unit according to an embodiment of the present invention. The operation of the queue buffer in the output control unit according to the embodiment of the present invention will be described with reference to FIG.
識別IDがi_0〜i_nであるマルチキャストキュー、識別IDがk_0〜k_nであるユニキャストキュー、及びダミーフラグDを含み識別IDがi_1/i_3であるダミーキューがそれぞれ入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1に蓄積され、かつ探索を開始する識別IDがi_0(マルチキャストキュー)/k_0(ユニキャストキュー)である状態について説明する。尚、a1〜a10は入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1からキューが取り出された順序を示している。
A multicast queue with identification ID i_0 to i_n, a unicast queue with identification ID k_0 to k_n, and a dummy queue with dummy ID D and identification ID i_1 / i_3 are in the input control unit transmission
識別ID検出制御部33は識別IDがi_0/k_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1内で探索する。
The identification ID
a1の動作において、識別ID検出制御部33は探索の結果、識別IDがk_0であるキューを検出すると、識別IDがk_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをk_1に更新し、識別IDがk_1であるキューの探索を行う。
In the operation of a1, when the identification ID
a2の動作において、識別ID検出制御部33は探索の結果、識別IDがk_1であるキューを検出すると、識別IDがk_1であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをk_2に更新し、識別IDがk_2であるキューの探索を行う。
In the operation of a2, when the identification ID
a3の動作において、識別ID検出制御部33は探索の結果、識別IDがi_0であるキューを検出すると、識別IDがi_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをi_1に更新し、識別IDがi_1であるキューの探索を行う。
In the operation of a3, when the identification ID
a4の動作において、識別ID検出制御部33は探索の結果、識別IDがi_1であるキューを検出すると、ダミーフラグDが添付されているので、識別IDがi_1であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出して廃棄する。キューを廃棄した後、識別ID検出制御部33は識別IDをi_2に更新し、識別IDがi_2であるキューの探索を行う。
In the operation of a4, when the identification ID
a5の動作において、識別ID検出制御部33は探索の結果、識別IDがk_2であるキューを検出すると、識別IDがk_2であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをk_3に更新し、識別IDがk_3であるキューの探索を行う。
In the operation of a5, when the identification ID
a6の動作において、識別ID検出制御部33は探索の結果、識別IDがi_2であるキューを検出すると、識別IDがi_2であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをi_3に更新し、識別IDがi_3であるキューの探索を行う。
In the operation of a6, when the identification ID
a7の動作において、識別ID検出制御部33は探索の結果、識別IDがi_3であるキューを検出すると、ダミーフラグDが添付されているので、識別IDがi_3であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出して廃棄する。キューを廃棄した後、識別ID検出制御部33は識別IDをi_4に更新し、識別IDがi_4であるキューの探索を行う。
In the operation of a7, when the identification ID
a8の動作において、識別ID検出制御部33は探索の結果、識別IDがi_4であるキューを検出すると、識別IDがi_4であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをi_5に更新し、識別IDがi_5であるキューの探索を行う。
In the operation of a8, when the identification ID
a9の動作において、識別ID検出制御部33は探索の結果、識別IDがk_3であるキューを検出すると、識別IDがk_3であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをk_4に更新し、識別IDがk_4であるキューの探索を行う。
In the operation of a9, when the identification ID
a10の動作において、識別ID検出制御部33は探索の結果、識別IDがi_5であるキューを検出すると、識別IDがi_5であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部33は識別IDをi_6に更新し、識別IDがi_6であるキューの探索を行う。
In the operation of a10, when the identification ID
本実施例では、上述したような回路構成及び制御方法をとることによって、少量の回路規模で、高いマルチキャスト転送性能を得ることができる。 In this embodiment, by adopting the circuit configuration and control method as described above, high multicast transfer performance can be obtained with a small circuit scale.
続いて、本発明の他の実施例によるデータ転送システムについて説明する。本発明の他の実施例によるデータ転送システムは図1に示す本発明の実施の形態によるデータ転送システムと同様の構成となっているが、入力制御部1−1〜1−N、クロスバスイッチ部2−1〜2−M、出力制御部3−1〜3−Nの各要素の動作が異なっている。以下、図示していないが、本発明の他の実施例によるデータ転送システムは入力制御部4−1〜4−N、クロスバスイッチ部5−1〜5−M、出力制御部6−1〜6−Nの各要素からなるものとする。 Next, a data transfer system according to another embodiment of the present invention will be described. A data transfer system according to another embodiment of the present invention has the same configuration as that of the data transfer system according to the embodiment of the present invention shown in FIG. 1, but includes input control units 1-1 to 1-N, a crossbar switch unit. The operations of the elements of 2-1 to 2-M and the output control units 3-1 to 3-N are different. Although not shown, the data transfer system according to another embodiment of the present invention includes input control units 4-1 to 4-N, crossbar switch units 5-1 to 5-M, and output control units 6-1 to 6-6. It shall consist of each element of -N.
入力制御部4−1〜4−NにはN本の入力ポート#1〜#N各々から固定長のパケットがマルチキャスト/ユニキャストの区別なく多重化されて入力される。入力制御部4−1〜4−Nは入力されたパケットがユニキャストキューの場合にそれぞれ異なる識別IDを添付し、マルチキャストキューの場合に識別ID群及びビットマップを添付してM個のクロスバスイッチ部5−1〜5−Mにパケットを分散出力する。
The input control units 4-1 to 4-N receive a fixed-length packet multiplexed from each of the N
クロスバスイッチ部5−1〜5−Mは入力制御部4−1〜4−Nから入力されるパケットを、ユニキャストの場合に出力制御部6−1〜6−Nのいずれか行きに振り分ける。また、クロスバスイッチ部5−1〜5−Mはマルチキャストの場合に入力制御部4−1〜4−Nで添付されたビットマップを利用してコピー対象の出力制御部6−1〜6−Nにパケットをコピーし、それぞれのコピーにビットマップ情報に対応する識別IDを添付する。 The crossbar switch units 5-1 to 5-M distribute the packets input from the input control units 4-1 to 4-N to any one of the output control units 6-1 to 6-N in the case of unicast. Further, the crossbar switch units 5-1 to 5-M use the bitmaps attached by the input control units 4-1 to 4-N in the case of multicast, and copy target output control units 6-1 to 6-N. And the identification ID corresponding to the bitmap information is attached to each copy.
出力制御部6−1〜6−Nはクロスバスイッチ部5−1〜5−Mから入力されたパケットを集約し、入力制御部4−1〜4−Nまたはクロスバスイッチ部5−1〜5−Mで添付された識別IDを基にパケットの順序性を確保しつつ、出力ポート#1〜#Nにパケットを出力する。
The output control units 6-1 to 6-N aggregate the packets input from the crossbar switch units 5-1 to 5-M, and input control units 4-1 to 4-N or crossbar switch units 5-1 to 5-N. The packets are output to the
図6は本発明の他の実施例による入力制御部の内部構成を示すブロック図である。図6において、入力制御部4はマルチキャストキューバッファ11と、ユニキャストキューバッファ12と、出力制御部宛キューバッファ群13と、ラウンドロビン回路14と、識別ID管理部41と、ルーティングテーブル42と、パケット振り分け回路16とから構成されている。
FIG. 6 is a block diagram showing an internal configuration of an input control unit according to another embodiment of the present invention. In FIG. 6, the
マルチキャストキューバッファ11は入力ポートから多重化されて入力される固定長のマルチキャストパケットをキューとして格納し、ユニキャストキューバッファ12は入力ポートから多重化されて入力される固定長のユニキャストパケットをキューとして格納する。
The multicast queue buffer 11 stores a fixed-length multicast packet that is multiplexed and input from the input port as a queue, and the
出力制御部宛キューバッファ群13はユニキャストキューをN個の出力制御部#1〜#N宛に振り分けて格納する。ラウンドロビン回路14はマルチキャストキューバッファ11及び出力制御部宛キューバッファ群13から出力されるキューの中から優先順位に基づいた一つのキューを出力する。
The output control unit-destined
識別ID管理部41はマルチキャストキューバッファ11及び出力制御部宛キューバッファ群13それぞれから出力されるキューに対して、ルーティングテーブル42の格納内容を基に、ユニキャストキューの場合にそれぞれ異なる識別IDを添付し、マルチキャストキューの場合に識別ID群及びビットマップを添付する。
The identification ID management unit 41 assigns different identification IDs to the queues output from the multicast queue buffer 11 and the output control unit-destined
パケット振り分け回路16はラウンドロビン回路14から出力され、かつ識別ID管理部41にて識別IDまたは識別ID群及びビットマップが添付されたキューに対応したパケットをクロスバスイッチ部#1入力パスからクロスバスイッチ部#M入力パス方向へ巡回するように振り分ける。
The
入力ポートから固定長のパケットがマルチキャスト/ユニキャストの区別なく多重化されて入力された場合、パケットのヘッダ情報からユニキャストパケットはキューとして一旦ユニキャストキューバッファ12に蓄積され、マルチキャストパケットはキューとしてマルチキャストキューバッファ12に蓄積される。
When fixed-length packets are multiplexed and input from the input port without distinguishing between multicast / unicast, the unicast packets are temporarily stored in the
ユニキャストキューバッファ12に蓄積されたキューは、出力制御部宛キューバッファ群13に出力される。出力制御部宛キューバッファ群13では入力されたキューを出力制御部#1〜#N宛に振り分け、それぞれ出力制御部#1〜#N宛キューバッファ13−1〜13−Nに蓄積する。マルチキャストキューバッファ11及び出力制御部宛キューバッファ群13内の出力制御部#1〜#N宛キューバッファ13−1〜13−Nから出力されるキューは、ラウンドロビン回路14に入力される。
The queue accumulated in the
ラウンドロビン回路14は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力する。ラウンドロビン回路14から出力されたキューがマルチキャストキューの場合には、識別ID管理部41から出力される識別ID群及びビットマップが添付される。図6においては、キュー(白四角)が識別ID管理部41を通過した後、識別ID群及びビットマップ(斜線部)が添付される様子を示している。
The
ラウンドロビン回路14から出力されたキューがユニキャストの場合には、識別IDのみが添付される。識別ID群及びビットマップ(マルチキャストキュー)または識別ID(ユニキャストキュー)が添付されたキューはパケット振り分け回路16に入力される。
When the queue output from the
パケット振り分け回路16は入力されたキューに対応したパケットを識別ID群及びビットマップまたは識別IDとともに、M本のクロスバスイッチ部#1〜#M入力パスそれぞれに振り分ける。パケットの振り分けは、クロスバスイッチ#1入力パスからクロスバスイッチ#M入力パスの方向へと巡回するように実行され、パケット転送待ち状態または回線が不通になっているクロスバスイッチ部入力パスが存在する場合には、そのクロスバスイッチ部入力パスを避けて次のクロスバスイッチ部入力パスへパケットを振り分けるように実行される。
The
図7は本発明の他の実施例によるクロスバスイッチ部の内部構成を示すブロック図である。図7において、クロスバスイッチ部5はラウンドロビン回路21と、ユニキャストキューバッファ22と、マルチキャストキューバッファ23と、クロスポイントバッファ制御部25とから構成されている。
FIG. 7 is a block diagram showing an internal configuration of a crossbar switch unit according to another embodiment of the present invention. In FIG. 7, the crossbar switch unit 5 includes a
ラウンドロビン回路21はN本の入力制御部#1〜#N出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットから、優先順位に基づいて一つのパケットを出力する。
The
ユニキャストキューバッファ22はラウンドロビン回路21から出力されるユニキャストパケットをキューとして格納し、マルチキャストキューバッファ23はラウンドロビン回路21から出力されるマルチキャストパケットをキューとして格納する。
The unicast queue buffer 22 stores unicast packets output from the
クロスポイントバッファ制御部25はユニキャストキューバッファ22から出力されるキュー、及びマルチキャストキューバッファ23から出力されかつキューに添付されたビットマップ情報を参照して出力先対象の出力制御部#1〜#N接続パス宛にコピーし、それぞれのコピーにビットマップ情報に対応する識別IDが添付されたキューを格納するN個の入力制御部発信元×N個の出力制御部宛のクロスポイント構造キューバッファと、出力制御部#1〜#N宛キュー管理部毎に設けられたラウンドロビン回路29−1〜29−Nとを備えている。
The crosspoint
N本の入力制御部#1〜#N接続パス各々からマルチキャスト/ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路21に入力される。ラウンドロビン回路21は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。ラウンドロビン回路21から出力されたパケットはそのヘッダ情報を基にユニキャストパケットであればキューとして一旦ユニキャストキューバッファ22に蓄積され、マルチキャストパケットであればキューとしてマルチキャストキューバッファ23に蓄積される。
Packets multiplexed and input from each of the N input
ユニキャストキューバッファ22から出力されたキューはクロスポイントバッファ制御部25に転送される。クロスポイントバッファ制御部25では入力されたキューを出力制御部#1〜#N宛キュー管理部に振り分ける。
The queue output from the unicast queue buffer 22 is transferred to the crosspoint
出力制御部#1〜#N宛キュー管理部各々ではそのキューをさらにどの入力制御部から発信されたかによって入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nに振り分け、それぞれ入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nに蓄積する。
In each of the output
クロスポイントバッファ制御部25はN個の入力制御部発信×N個の出力制御部宛のクロスポイント構造のキューバッファ構成になっている。マルチキャストキューバッファ23から出力されたキューは、キュー(白四角)に添付してある識別ID群及びビットマップ情報(斜線部)を使用してクロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部の何れかにコピーされる。
The cross point
このコピー動作はビットマップで有効コピーフラグに対応するクロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部に対してキューをコピーし、同時にコピーフラグが有効になっている識別IDをそれぞれ対応するキューに添付するといった動作になる。
In this copy operation, the queue is copied to the output
クロスポイントバッファ制御部25内の出力制御部#1〜#N宛キュー管理部各々では、ユニキャストキューの場合と同様に、そのキューをさらにどの入力制御部から発信されたかによって入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nに振り分け、それぞれ入力制御部#1〜#N発信キューバッファ26−1〜26−N,27−1〜27−N,・・・,28−1〜28−Nに蓄積する。
In each of the output
クロスポイントバッファ制御部25内の出力制御部#1宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ26−1〜26−Nから出力されるキューはラウンドロビン回路29−1に、クロスポイントバッファ制御部25内の出力制御部#2宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ27−1〜27−Nから出力されるキューはラウンドロビン回路29−2に、・・・・・、クロスポイントバッファ制御部25内の出力制御部#N宛キュー管理部に属する入力制御部#1〜#N発信キューバッファ28−1〜28−Nから出力されるキューはラウンドロビン回路29−Nにそれぞれ入力される。
The queues output from the input
ラウンドロビン回路29−1〜29−N各々では入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを識別IDとともに、対応するN本の出力制御部#1〜#N接続パスのそれぞれに出力する。
Each of the round robin circuits 29-1 to 29-N determines the priority order of the input queues, outputs one queue based on the priority order, and outputs N packets corresponding to the queue together with identification IDs. Are output to each of the output
図8は本発明の他の実施例による出力制御部の内部構成を示すブロック図である。図8において、出力制御部6はラウンドロビン回路31と、ユニ/マルチキャストキューバッファ32と、入力制御部発信キューバッファ群34と、識別ID検出制御部61と、ラウンドロビン回路35とから構成されている。
FIG. 8 is a block diagram showing an internal configuration of an output control unit according to another embodiment of the present invention. In FIG. 8, the
ラウンドロビン回路31はM本のクロスバスイッチ部#1〜#M出力パスから多重化されて入力されるマルチキャストパケット及びユニキャストパケットの中から、優先順位に基づいて一つのパケットを出力する。ユニ/マルチキャストキューバッファ32はラウンドロビン回路31から出力されるマルチキャストパケット及びユニキャストパケットをキューとして格納する。
The
入力制御部発信キューバッファ群34はユニキャストキュー及びマルチキャストキューをN個の入力制御部#1〜#N発信元に振り分け、入力制御部#1〜#N発信キューバッファ34−1〜34−Nに格納する。
The input control unit transmission
識別ID検出制御部61は入力制御部発信キューバッファ群34内のN個の入力制御部#1〜#N発信キューバッファ34−1〜34−Nにおいてそれぞれ独立して、ユニキャストキューの場合に入力制御部4で添付された識別ID情報、マルチキャストキューの場合にクロスバスイッチ部5で添付された識別ID情報に基づいて正しい転送順序に再構築する。ラウンドロビン回路35はN個の入力制御部#1〜#N発信キューバッファ34−1〜34−Nそれぞれから出力されるキューの中から優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
The identification ID
M本のクロスバスイッチ部#1〜#M出力パス各々からマルチキャスト/ユニキャストの区別なく多重化されて入力されたパケットは、ラウンドロビン回路31に入力される。ラウンドロビン回路31は入力されたパケットの優先順位を決定し、優先順位に基づいた一つのパケットを出力する。
Packets multiplexed and input from each of the M crossbar
ラウンドロビン回路31から出力されたパケットはそのヘッダ情報を基にキューとしてユニ/マルチキャストキューバッファ32に蓄積される。ユニ/マルチキャストキューバッファ32に蓄積されたキューは、入力制御部発信キューバッファ群34に転送される。入力制御部発信キューバッファ群34では入力されたキューを入力制御部#1〜#N発信元に振り分け、それぞれ入力制御部#1〜#N発信キューバッファ34−1〜34−Nに蓄積する。
The packet output from the
次に、識別ID検出制御部61は入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nにおいて、それぞれ独立して蓄積されているキューの識別IDを探索する。
Next, the identification ID
識別ID検出制御部61は入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nの何れかにおいて現在探索中の識別IDに合致するユニキャストキューまたはマルチキャストキューが検出された場合、合致した識別IDを含むキューを、蓄積している入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nから取り出してラウンドロビン回路35に入力する。
The identification ID
識別ID検出制御部61は合致した識別IDを含むキューをラウンドロビン回路35に転送した後、識別IDの更新を実行し、同様に更新された識別IDで入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nに蓄積されているキューを探索する。
The identification ID
例えば、現在探索中のユニキャストキューの識別IDがk_0だった場合、その識別IDを含むキューを検出すると、識別ID検出制御部61はそのキューを入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nから取り出してラウンドロビン回路35に入力する。
For example, when the identification ID of the currently searched unicast queue is k_0, when a queue including the identification ID is detected, the identification ID
その後、識別ID検出制御部61は探索する識別IDをk_1に更新して識別ID k_1を含むキューを入力制御部発信キューバッファ群34内の入力制御部#1〜#N発信キューバッファ34−1〜34−Nから探索する。識別IDは、上述した動作を繰り返す毎に、k_2、・・・・、k_n−1、k_n、k_0、k_1、・・・・に更新されていく。
Thereafter, the identification ID
この動作によって、ある一つのキューバッファ(例えば、入力制御部発信キューバッファ群34内の入力制御部#N発信キューバッファ34−N)から連続して出力されるキューに対して順序性を確保することができる。ラウンドロビン回路35は入力されたキューの優先順位を決定し、優先順位に基づいた一つのキューを出力し、そのキューに対応したパケットを出力ポートへ出力する。
With this operation, order is ensured for a queue continuously output from a certain queue buffer (for example, the input control unit #N transmission queue buffer 34-N in the input control unit transmission queue buffer group 34). be able to. The
図9は本発明の他の実施例による識別ID及びビットマップのフォーマットを示す図である。図9において、このフォーマットは主にビットマップと識別ID群とに分かれる。 FIG. 9 is a diagram showing a format of an identification ID and a bitmap according to another embodiment of the present invention. In FIG. 9, this format is mainly divided into a bitmap and an identification ID group.
ビットマップはマルチキャストキューをN個の出力制御部6−1〜6−Nのうちのどの出力制御部6−1〜6−Nにコピーするかを示すフラグの集まりである。図6に示す識別ID管理部41はマルチキャストキューを認識した場合、ルーティングテーブル42を参照し、そのルーティング情報に基づいてN個の出力制御部6−1〜6−Nのうちの何れか複数のコピーフラグを有効にする。このビットマップは後段のクロスバスイッチ部5−1〜5−Mにおいてマルチキャストキューのコピー情報として利用される。 The bitmap is a collection of flags indicating which output control unit 6-1 to 6-N among the N output control units 6-1 to 6-N is to be copied. When the identification ID management unit 41 shown in FIG. 6 recognizes the multicast queue, the identification ID management unit 41 refers to the routing table 42 and selects any one of the N output control units 6-1 to 6-N based on the routing information. Enable the copy flag. This bitmap is used as copy information of the multicast queue in the subsequent crossbar switch units 5-1 to 5-M.
もう一つの識別ID群はN個の出力制御部6−1〜6−Nそれぞれの行き先に対応するマルチキャストキューの識別ID情報の集まりである。識別ID管理部41はマルチキャストキューを認識した場合、ルーティングテーブル42を参照し、そのルーティング情報に基づいてN個の出力制御部6−1〜6−Nのうちの何れか複数の識別ID情報を識別ID群及びビットマップフォーマットに登録する。 Another identification ID group is a collection of identification ID information of multicast queues corresponding to the destinations of the N output control units 6-1 to 6-N. When the identification ID management unit 41 recognizes the multicast queue, the identification ID management unit 41 refers to the routing table 42 and selects any one of the plurality of identification ID information among the N output control units 6-1 to 6-N based on the routing information. Register in the ID group and bitmap format.
登録した後、識別ID管理部41はルーティング情報に基づいてN個の出力制御部6−1〜6−Nのうちの何れか複数の識別IDの更新を行う。これら識別ID群は後段のクロスバスイッチ部5−1〜5−Mにおいて、ビットマップに基づいてマルチキャストキューをコピーする際、各コピー先の識別ID情報として利用される。 After registration, the identification ID management unit 41 updates any of a plurality of identification IDs among the N output control units 6-1 to 6-N based on the routing information. These identification ID groups are used as identification ID information of each copy destination when copying the multicast queue based on the bitmap in the subsequent crossbar switch units 5-1 to 5-M.
図6及び図9において、識別ID管理部41が出力する識別IDは、マルチキャストキューバッファ11から出力されるキュー及び出力制御部宛キューバッファ群13内の出力制御#1〜#N宛キューバッファ13−1〜13−Nから出力されるキューのそれぞれに対して異なった識別IDであり、かつある一つのキューバッファから連続して出力されるキューに対しては順序性を有する識別IDである。
In FIG. 6 and FIG. 9, the identification ID output from the identification ID management unit 41 is the queue output from the multicast queue buffer 11 and the
例えば、出力制御部宛キューバッファ群13内の出力制御部#1宛キューバッファ13−1から連続して出力されるキューに対しては、k_0、k_1、k_2、・・・・、k_n−1、k_n、k_0、k_1、・・・・といった識別IDが、出力制御部宛キューバッファ群13内の出力制御部#N宛キューバッファ13−Nから連続して出力されるキューに対しては、p_0、p_1、p_2、・・・・、p_n−1、p_n、p_0、p_1、・・・・といった識別IDがそれぞれ割り当てられる。
For example, k_0, k_1, k_2,..., K_n-1 for the queues continuously output from the output
マルチキャストキューバッファ11から連続して出力されるキューも順序性を有する識別IDが割り当てられるが、ルーティングテーブル41を参照して得たルーティング情報に基づいて識別IDの更新を行うため、N個の出力制御部6−1〜6−Nそれぞれにおいて異なる識別IDとなる。 The queues continuously output from the multicast queue buffer 11 are assigned identification IDs having order, but N IDs are output in order to update the identification ID based on the routing information obtained by referring to the routing table 41. The control units 6-1 to 6-N have different identification IDs.
例えば、出力制御部6−1宛の場合にはia_0、ia_1、ia_2、・・・・、ia_n−1、ia_n、ia_0、ia_1、・・・・といった識別IDが、出力制御部6−N宛の場合には、iz_0、iz_1、iz_2、・・・・、iz_n−1、iz_n、iz_0、iz_1、・・・・といった識別IDがそれぞれ割り当てられる。 For example, when the output control unit 6-1 is addressed, identification IDs such as ia_0, ia_1, ia_2,..., Ia_n-1, ia_n, ia_0, ia_1,. In this case, identification IDs such as iz_0, iz_1, iz_2,..., Iz_n-1, iz_n, iz_0, iz_1,.
図10は本発明の他の実施例による出力制御部内のキューバッファの動作を示す図である。図10において、識別IDがi_0〜i_nであるマルチキャストキュー、識別IDがk_0〜k_nであるユニキャストキューがそれぞれ入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1に蓄積され、かつ探索を開始する識別IDがi_0(マルチキャストキュー)/k_0(ユニキャストキュー)である状態について説明する。尚、b1〜b8は入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1からキューが取り出された順序を示している。
FIG. 10 is a diagram showing the operation of the queue buffer in the output control unit according to another embodiment of the present invention. In FIG. 10, a multicast queue with identification IDs i_0 to i_n and a unicast queue with identification IDs k_0 to k_n are respectively stored in the input
識別ID検出制御部61は識別IDがi_0/k_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1内で探索する。
The identification ID
b1の動作において、識別ID検出制御部61は探索の結果、識別IDがk_0であるキューを検出すると、識別IDがk_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをk_1に更新し、識別IDがk_1であるキューの探索を行う。
In the operation of b1, when the identification ID
b2の動作において、識別ID検出制御部61は探索の結果、識別IDがk_1であるキューを検出すると、識別IDがk_1であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをk_2に更新し、識別IDがk_2であるキューの探索を行う。
In the operation of b2, as a result of the search, when the identification ID
b3の動作において、識別ID検出制御部61は探索の結果、識別IDがi_0であるキューを検出すると、識別IDがi_0であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをi_1に更新し、識別IDがi_1であるキューの探索を行う。
In the operation of b3, when the identification ID
b4の動作において、識別ID検出制御部61は探索の結果、識別IDがk_2であるキューを検出すると、識別IDがk_2であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをk_3に更新し、識別IDがk_3であるキューの探索を行う。
In the operation of b4, when the identification ID
b5の動作において、識別ID検出制御部61は探索の結果、識別IDがi_1であるキューを検出すると、識別IDがi_1であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをi_2に更新し、識別IDがi_2であるキューの探索を行う。
In the operation of b5, when the identification ID
b6の動作において、識別ID検出制御部61は探索の結果、識別IDがi_2であるキューを検出すると、識別IDがi_2であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをi_3に更新し、識別IDがi_3であるキューの探索を行う。
In the operation of b6, when the identification ID
b7の動作において、識別ID検出制御部61は探索の結果、識別IDがk_3であるキューを検出すると、識別IDがk_3であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをk_4に更新し、識別IDがk_4であるキューの探索を行う。
In the operation of b7, when the identification ID
b8の動作において、識別ID検出制御部61は探索の結果、識別IDがi_3であるキューを検出すると、識別IDがi_3であるキューを入力制御部発信キューバッファ群34内の入力制御部#1発信キューバッファ34−1から取り出してラウンドロビン回路35に出力する。ラウンドロビン回路35にキューを出力した後、識別ID検出制御部61は識別IDをi_4に更新し、識別IDがi_4であるキューの探索を行う。
In the operation of b8, when the identification ID
本実施例では、上述したような回路構成及び制御方法を行うことによって、少量の回路規模で、高いマルチキャスト転送性能を得ることができる。 In the present embodiment, by performing the circuit configuration and the control method as described above, high multicast transfer performance can be obtained with a small circuit scale.
このように、本発明では、入力側でフロー数に関係なく、マルチキャストパケットを一つのバッファに集約し、そのバッファから出力されるパケットに対して一義的に識別IDを付与することで、出力側で容易にパケットの正しい出力順序を構築することができる。 As described above, in the present invention, the multicast packets are aggregated in one buffer regardless of the number of flows on the input side, and the identification ID is uniquely assigned to the packets output from the buffer. Can easily construct the correct output order of packets.
また、本発明では、上記の処理とともに、マルチキャストパケットを複数のクロスバスイッチに分散し、それぞれのクロスバスイッチ内でコピーを行うことで、少ない回路規模で、高いマルチキャスト転送性能を得ることができる。 In the present invention, in addition to the above processing, a multicast packet is distributed to a plurality of crossbar switches and copied in each crossbar switch, so that high multicast transfer performance can be obtained with a small circuit scale.
さらに、本発明では、入力ポートを介して入力されたマルチキャストパケットを、パケット単位に複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数が増加するとパケット転送帯域が増加し、その転送帯域の全てを使用することができるので、クロスバスイッチ数の増加に比例してマルチキャスト転送性能を増加させることができる拡張性が得られる。 Furthermore, in the present invention, multicast packets input via the input port are distributed to a plurality of crossbar switches in units of packets, so that the packet transfer bandwidth increases when the number of crossbar switches increases, and all of the transfer bandwidth is used. Therefore, it is possible to obtain a scalability capable of increasing the multicast transfer performance in proportion to the increase in the number of crossbar switches.
1,1−1〜1−N,4 入力制御部
2,2−1〜2−M,5 クロスバスイッチ部
3,3−1〜3−N,6 出力制御部
11,23 マルチキャストキューバッファ
12,22 ユニキャストキューバッファ
13 出力制御部宛キューバッファ群
13−1〜13−N 出力制御部#1〜#N宛キューバッファ
14,21,
29−1〜29−N,
31,35 ラウンドロビン回路
15,41 識別ID管理部
16 パケット振り分け回路
24,42 ルーティングテーブル
25 クロスポイントバッファ制御部
26−1〜26−N,
27−1〜27−N,
28−1〜28−N 入力制御部#1〜#N発信キューバッファ
32 ユニ/マルチキャストキューバッファ
33,61 識別ID検出制御部
34 入力制御部発信キューバッファ群
1,1-1 to 1-N, 4
11, 23 Multicast queue buffer
12, 22 Unicast queue buffer
13 Output control unit-addressed queue buffer group 13-1 to 13-N Output
29-1 to 29-N,
31,35 round robin circuit
15, 41 Identification ID management unit
16 Packet distribution circuit
24, 42 Routing table
25 Crosspoint buffer control units 26-1 to 26-N,
27-1 to 27-N,
28-1 to 28-N input
32 Uni / multicast queue buffer
33, 61 Identification ID detection control unit
34 Input control unit outgoing queue buffer group
Claims (16)
前記N個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるN本の出力ポートのいずれかに当該ユニキャストパケットを出力しかつ前記マルチキャストパケットが入力された場合にその出力先となる前記N本の出力ポートのうちの複数本に前記マルチキャストパケットを出力するM個(Mは正の整数)のクロスバスイッチ部と、
前記M個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納する機能と、格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力するN個の出力制御部とを有することを特徴とするデータ転送システム。 A function of storing N (N is a positive integer) input ports corresponding to each of the input ports, storing fixed-length unicast packets and multicast packets input from the corresponding input ports; N input control units each including a function of assigning identification information to the multicast packet, and a function of multiplexing the unicast packet and the multicast packet to which the identification information has been added and distributing and outputting them to a plurality of output destinations; ,
When the unicast packet is input from each of the N input control units, the unicast packet is output to any of the N output ports that are output destinations, and the multicast packet is input M (M is a positive integer) crossbar switch unit that outputs the multicast packet to a plurality of the N output ports that are the output destinations;
A function of storing the unicast packet and the multicast packet that are distributed and input from the M crossbar switch units; and the identification information provided by the input control unit with the stored unicast packet and the multicast packet. A data transfer system comprising: N output control units that are used to reconstruct in a correct transfer order and output the unicast packet and the multicast packet to the output port.
M個(Mは正の整数)のクロスバスイッチ部において、前記N個の入力制御部各々から前記ユニキャストパケットが入力された場合にその出力先となるN本の出力ポートのいずれかに当該ユニキャストパケットを出力し、かつ前記マルチキャストパケットが入力された場合にその出力先となる前記N本の出力ポートのうちの複数本に前記マルチキャストパケットを出力し、
N個の出力制御部において、前記M個のクロスバスイッチ部から分散されて入力される前記ユニキャストパケット及び前記マルチキャストパケットを格納し、その格納した前記ユニキャストパケット及び前記マルチキャストパケットを前記入力制御部で付与した前記識別情報を使用して正しい転送順序に再構築して前記出力ポートに前記ユニキャストパケット及び前記マルチキャストパケットを出力することを特徴とするマルチキャスト転送方法。 N input control units provided corresponding to each of N (N is a positive integer) input ports store fixed-length unicast packets and multicast packets input from the corresponding input ports; Giving identification information to the stored unicast packet and the multicast packet, multiplexing the unicast packet and the multicast packet to which the identification information is given, and distributing and outputting to a plurality of output destinations,
In the M (M is a positive integer) crossbar switch unit, when the unicast packet is input from each of the N input control units, the unicast packet is output to any of the N output ports that are output destinations. When a multicast packet is output and the multicast packet is input, the multicast packet is output to a plurality of the N output ports that are the output destinations.
In the N output control units, the unicast packet and the multicast packet that are distributed and input from the M crossbar switch units are stored, and the stored unicast packet and the multicast packet are stored in the input control unit. A multicast transfer method, wherein the identification information given in step (b) is used to reconstruct the packet in a correct transfer order and output the unicast packet and the multicast packet to the output port.
The said output control part discards, when the dummy packet information containing the identification information with the said order given to the said multicast packet from the said N 4th storage part is output. 15. The multicast transfer method according to 15.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003278689A JP2005045626A (en) | 2003-07-24 | 2003-07-24 | Data transfer system and multicast transferring method used in the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003278689A JP2005045626A (en) | 2003-07-24 | 2003-07-24 | Data transfer system and multicast transferring method used in the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005045626A true JP2005045626A (en) | 2005-02-17 |
Family
ID=34265027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003278689A Pending JP2005045626A (en) | 2003-07-24 | 2003-07-24 | Data transfer system and multicast transferring method used in the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005045626A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009508428A (en) * | 2005-09-13 | 2009-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, apparatus, and computer program for scheduling unicast and multicast traffic in an interconnect fabric (method and apparatus for scheduling unicast traffic and multicast traffic in an interconnect fabric) |
US7505476B2 (en) | 2003-10-27 | 2009-03-17 | Fujitsu Limited | Packet transfer path control apparatus and control program therefor |
JP2009188623A (en) * | 2008-02-05 | 2009-08-20 | Alaxala Networks Corp | Network repeater and network repeating method |
JP2010246093A (en) * | 2009-04-08 | 2010-10-28 | New Jersey Inst Of Technology | Space-space-memory (ssm) clos-network packet switch |
US8121122B2 (en) | 2006-08-23 | 2012-02-21 | International Business Machines Corporation | Method and device for scheduling unicast and multicast traffic in an interconnecting fabric |
JP2012103946A (en) * | 2010-11-11 | 2012-05-31 | Nec Corp | Request transfer device and request transfer method |
JP2012155440A (en) * | 2011-01-25 | 2012-08-16 | Nec Corp | Interconnected network control system and interconnected network control method |
US8675673B2 (en) | 2009-07-29 | 2014-03-18 | New Jersey Institute Of Technology | Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage |
-
2003
- 2003-07-24 JP JP2003278689A patent/JP2005045626A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7505476B2 (en) | 2003-10-27 | 2009-03-17 | Fujitsu Limited | Packet transfer path control apparatus and control program therefor |
JP2009508428A (en) * | 2005-09-13 | 2009-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, apparatus, and computer program for scheduling unicast and multicast traffic in an interconnect fabric (method and apparatus for scheduling unicast traffic and multicast traffic in an interconnect fabric) |
US8121122B2 (en) | 2006-08-23 | 2012-02-21 | International Business Machines Corporation | Method and device for scheduling unicast and multicast traffic in an interconnecting fabric |
JP2009188623A (en) * | 2008-02-05 | 2009-08-20 | Alaxala Networks Corp | Network repeater and network repeating method |
US8095721B2 (en) | 2008-02-05 | 2012-01-10 | Alaxala Networks Corporation | Network switch and method of switching in network |
JP2010246093A (en) * | 2009-04-08 | 2010-10-28 | New Jersey Inst Of Technology | Space-space-memory (ssm) clos-network packet switch |
US8995456B2 (en) | 2009-04-08 | 2015-03-31 | Empire Technology Development Llc | Space-space-memory (SSM) Clos-network packet switch |
US8675673B2 (en) | 2009-07-29 | 2014-03-18 | New Jersey Institute Of Technology | Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage |
US9100322B2 (en) | 2009-07-29 | 2015-08-04 | New Jersey Institute Of Technology | Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage |
JP2012103946A (en) * | 2010-11-11 | 2012-05-31 | Nec Corp | Request transfer device and request transfer method |
JP2012155440A (en) * | 2011-01-25 | 2012-08-16 | Nec Corp | Interconnected network control system and interconnected network control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7525995B2 (en) | Method and system for switching packets | |
JP4822997B2 (en) | Communication apparatus and communication method | |
US6832261B1 (en) | Method and apparatus for distributed resequencing and reassembly of subdivided packets | |
JP4057067B2 (en) | Mechanism for replacing packet fields in multi-layer switching network elements | |
US6901072B1 (en) | System and method for high speed packet transmission implementing dual transmit and receive pipelines | |
US7602790B2 (en) | Two-dimensional pipelined scheduling technique | |
US6683885B1 (en) | Network relaying apparatus and network relaying method | |
JP4157403B2 (en) | Packet communication device | |
US6934760B1 (en) | Method and apparatus for resequencing of packets into an original ordering using multiple resequencing components | |
JP2002510450A (en) | Highly integrated multi-layer switch element architecture | |
US20060239290A1 (en) | Multicast/broadcast extension to a point-to-point unicast-only packet switch system | |
JP2012209855A (en) | Switch system, line card, method of learning fdb information, and program | |
JP2005045626A (en) | Data transfer system and multicast transferring method used in the same | |
TW201246845A (en) | Method and apparatus for routing in a single tier switched network | |
EP1187402A2 (en) | Switching apparatus, communication apparatus, and communication system | |
JP2004350078A (en) | Line distribution transmission system | |
US7092393B1 (en) | Method and apparatus for distributed reassembly of subdivided packets using multiple reassembly components | |
CN100505683C (en) | Method for partaking route next jump load | |
WO1993006675A1 (en) | Nonblocking multicast fast packet/circuit switching networks | |
JP5374290B2 (en) | Network relay device | |
JP2006165952A5 (en) | ||
JP2004260365A (en) | Network repeating device of high speed and high port density | |
JP3083133B2 (en) | Packet communication network | |
JP2002152247A (en) | Packet switch | |
Pugh | Configuration discovery and mapping of a home network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060602 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081028 |