JP3673025B2 - Packet transfer device - Google Patents

Packet transfer device Download PDF

Info

Publication number
JP3673025B2
JP3673025B2 JP21356996A JP21356996A JP3673025B2 JP 3673025 B2 JP3673025 B2 JP 3673025B2 JP 21356996 A JP21356996 A JP 21356996A JP 21356996 A JP21356996 A JP 21356996A JP 3673025 B2 JP3673025 B2 JP 3673025B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
cell
output
buffer
class
packet
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.)
Expired - Fee Related
Application number
JP21356996A
Other languages
Japanese (ja)
Other versions
JPH09149051A (en )
Inventor
義満 下條
Original Assignee
株式会社東芝
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Grant date

Links

Images

Description

【0001】 [0001]
【発明の属する技術分野】 BACKGROUND OF THE INVENTION
本発明は、例えば、ATM通信網におけるセル多重化装置およびセルバッファ装置に関する。 The present invention relates to, for example, a cell multiplexing device and a cell buffer device in an ATM communication network.
【0002】 [0002]
また、セルスイッチはセル多重化装置が複数個重ね合わされていることから、本発明のセル多重化装置の構成をセルスイッチのひとつの出力ポートに対応する構成としてセルスイッチに適用することが可能である。 Moreover, the cell switch from the cell multiplexing device is overlaid plurality, it may be applied to the cell switch configuration of the cell multiplexing device of the present invention as a configuration corresponding to one of the output ports of the cell switch is there.
【0003】 [0003]
本発明のセルバッファ装置は、セルに限らず一般的なバッファ装置にも適用可能である。 Cell buffer device of the present invention is also applicable to a general buffer device is not limited to the cell.
【0004】 [0004]
さらに、本発明はATM通信網のみならず、パケット交換網にも適用可能である。 Furthermore, the present invention not only ATM communications network, it is also applicable to a packet switching network.
【0005】 [0005]
【従来の技術】 BACKGROUND OF THE INVENTION
現在、ATM(Asynchronous Transfer Mode)通信方式に関する研究が、世界中の通信技術の研究者らによって精力的に行なわれている。 Currently, research on ATM (Asynchronous Transfer Mode) communication system has been vigorously carried out by researchers of communication technology around the world. ATM通信方式は情報をセルという固定長のパケットにより伝送交換する。 ATM communication system for transmitting replaced by fixed length packets called cells information. ATM通信方式ではスイッチノード内のハードウェアによるセルスイッチにより、高速なセルの交換が可能で単位時間当たりの情報転送能力は既存の通信網を越えるものを実現可能である。 The ATM communication system by the cell switch hardware in the switch node, the information transfer capability per exchange possible unit time of the fast cell can be realized those exceeding the existing communication networks.
【0006】 [0006]
ATM通信方式は、セルのヘッダのVPI(Virtual Path Identifier)とVCI(Virtual Channel Identifier)と呼ばれる識別情報により、ひとつの物理伝送路に論理的に複数のコネクション(Virtual Connection:VC)を設定することができる。 ATM communication system, the identification information called the header of the cell VPI and (Virtual Path Identifier) ​​and VCI (Virtual Channel Identifier), logically plurality of connections into a single physical transmission channel (Virtual Connection: VC) setting the can. 網内の各スイッチノードにおいては、各VCに対して予めルートが定められており、スイッチノードはセルのコネクション識別子VPIとVCIからセルを出力すべき出方路を求める。 In each switch node in the network has previously route is defined for each VC, the switch node obtains the output path should output a connection identifier VPI and the cell from VCI of the cell. VPIとVCIは、スイッチノード間の物理伝送路で一意に割り当てられるため、スイッチノードは、通過するセルのVPIとVCIの値を書き換える能力を持つ。 VPI and VCI is because it is uniquely assigned by the physical transmission path between switch nodes, switch nodes are capable of rewriting the value of the VPI and VCI of the cell to pass through.
【0007】 [0007]
これまで、ATM網において品質を保証されたVCは、CBR(Con− stant Bit Rate:固定ビットレート)コネクションかVBR (Variable Bit Rate:可変ビットレート)コネクションが中心であった。 Previously, VC that is guaranteed quality in an ATM network, CBR (Con- stant Bit Rate: Constant Bit Rate) connection or VBR (Variable Bit Rate: Variable Bit Rate) connection was the center. CBRコネクションは、セルの伝送速度(セルレートまたは帯域ともいう。単位時間当たりの伝送セル数)が一定で予めわかっているトラヒックを伝送するVCであり、VBRコネクションはセルの伝送速度が一定ではないが、その最大値(ピークレート)と平均値(平均レート)などのトラヒックの性質が予めわかっているVCである。 CBR connection (also referred to as a cell rate or bandwidth. Number of transmission cells per unit time) the transmission rate of the cells is VC for transmitting the traffic is known in advance at a constant, but VBR connections transmission rate of cells is not constant , the maximum value (peak rate) and the average value (average rate) is the VC nature of the traffic, such as are known in advance.
【0008】 [0008]
基本的には、1本の物理伝送路に複数のVCを十分な品質を保ちつつ多重化する場合には、全てのVCのピークレートの和が物理伝送路の帯域以下になっていればよい。 Basically, in the case of multiplexing while maintaining sufficient quality multiple VC in one physical transmission line, the sum of the peak rates of all the VC it ​​is sufficient that the following bandwidth of the physical transmission path . この手法をピークレート割り当てと呼ぶ。 This technique is referred to as a peak rate allocation. CBRコネクションのみをピークレート割り当てした場合には、物理伝送路の十分に高い利用効率が達成可能である。 When a CBR connection only the peak rate allocation is sufficiently high utilization efficiency of the physical transmission path is achievable. VBRコネクションの場合には、ピークレート割り当てでは、物理伝送路の利用効率を高くできない。 In the case of VBR connection, the peak rate allocation can not be higher utilization efficiency of the physical transmission path. そこで予め分かっているトラヒックの性質より、統計的多重化効果を用いて品質を保ちつつ利用効率を上げる技術がさかんに検討されている。 So from the nature of the traffic is known in advance, it has been actively studied techniques to improve the utilization efficiency while maintaining the quality by using the statistical multiplexing effect.
【0009】 [0009]
ところが、計算機間のATM通信を考えると、平均レートを始めとしたトラヒックの性質が予め予測できないという性質や、瞬間的に大量のセルを送信するが、送信しないときには全くセルを送信しないというバースト性と呼ばれる性質がある。 However, given the ATM communication between computers, and nature nature of traffic that including average rate can not be predicted in advance, but transmits an instantaneous large amount of cells, bursty not to send cells at all when no transmission there is a property called. そのため、CBRやVBRの様に品質を保証しつつ網の利用効率を上げることは難しい。 For this reason, it is difficult to increase the utilization efficiency of the network while ensuring the quality as of CBR and VBR. つまり計算機間で転送されるデータは、ピークレート割り当てなどで品質を保証しようとすると網の利用効率が著しく低下し、VBRの様に統計的多重化効果を用いるとトラヒックのバースト性のためにセルスイッチのある出力ポートに同時に大量のセルが到着し、セルスイッチのバッファ量が十分でないと、バッファ溢れによるセル廃棄が発生してしまう。 That data transferred between computers, the peak rate allocation significantly reduced efficiency when you try to guarantee the quality nets, etc., cells for use when the traffic bursts of the statistical multiplexing effect as the VBR at the same time a large amount of cells to the output port with switch arrives, when the buffer amount of the cell switch is not enough, the cell loss occurs due to buffer overflow. また、セル廃棄が発生すると複数のセルで構成されているパケット単位で再送が発生し、これにより、実効的なスループットが低下する。 Further, when the cell discard occurs retransmission in packet units which are composed of a plurality of cells is generated, thereby, the effective throughput decreases.
【0010】 [0010]
そこで近年、端末とスイッチノード間でフロー制御をかけて、セルの転送品質(特にセル廃棄に関する品質)を保証し、かつ、網の利用効率を上げるABR (Available Bit Rate)というサービスクラスが提案され、検討が進んでいる。 In recent years, over flow control between terminals and switch nodes, guarantees (quality for particular cell loss) transmission quality of the cells, and the service class called ABR (the Available Bit Rate) to improve the utilization efficiency of the network have been proposed , studies have progressed. ABRコネクションは、経由するスイッチノードがセル輻輳におちいりそうになった場合には、スイッチノードがセル輻輳の発生前に、送信端末にセルの送出を迎えるように要求する。 ABR connection, when the switch nodes through is about to fall into the cell congestion, before the occurrence of the switch node cell congestion, requesting that marks the transmission of cells to the transmitting terminal. 端末へのトラヒック制御情報は、主にRMセル(リソース管理セル)と呼ばれるセルを用いて行なう。 Traffic control information to the terminal is performed using a cell is mainly known as RM cell (resource management cell). ABRにおけるスイッチノードから送信端末へのトラヒック制御には無視できない遅延時間が存在する。 Delay time can not be ignored exists in traffic control from the switch node to the transmitting terminal in ABR. そのため、トラヒック制御が有効に作用するまでセルを廃棄しないようにセルスイッチは大容量のバッファを実装する必要がある。 Therefore, the cell switch so as not to discard cells until the traffic control acts effectively, it is necessary to implement a large-capacity buffer.
【0011】 [0011]
CBR、VBR、ABRの他のサービスクラスとして、UBR (Unspecified Bit Rate)というサービスクラスが存在する。 CBR, VBR, as another class of service ABR, service class called UBR (Unspecified Bit Rate) is present. このクラスは、端末が出力するトラヒック特性を詳細に網に申告することを必要としない。 This class does not require that the terminal is reported to the network in detail traffic characteristics to be output. そのかわり、網はその転送品質について一切の保証をしない、いわゆるベストエフォート(Best Effort)サービスのクラスである。 Instead, the network does not guarantees about the transfer quality, a class of so-called best-effort (Best Effort) service.
【0012】 [0012]
前述したように、計算機間のデータはバースト性を持っているため、UBRコネクションのセル廃棄率を満足できるものとするためにはセルスイッチに大容量のセルバッファを実装する必要があると考えられている。 As described above, data between computers because it has a burst property, considered in order to be able to satisfy the cell loss ratio of UBR connections, it is necessary to implement a cell buffer of a large capacity cell switch ing.
【0013】 [0013]
幸いなことに計算機間のトラヒックは転送の遅延時間、遅延揺らぎに関しての要求がCBRやVBRと比較して厳しくはない場合が多い。 The delay time of the traffic between computers Fortunately transfer is often required with respect to the delay fluctuation is not severe as compared to the CBR or VBR. 容量の大きなバッファをセルスイッチに実装することによりセルの伝送遅延時間、遅延揺らぎが増大するが、それを許容できるアプリケーションは決して少なくないと考えられる。 Transmission delay time of a cell by implementing a large buffer capacity in the cell switch, the delay fluctuation increases, considered applications that can tolerate it is by no means small.
【0014】 [0014]
特にABR、UBRサービスの場合、網の輻輳を回避する手段が必要となると考えられる。 In particular ABR, if the UBR services, means for avoiding congestion of the network is considered to be necessary. 輻輳回避手段のひとつとして、EFCI(Explicit Forward Congestion Indication)と呼ばれる方法がある。 One of the congestion avoidance means, there is a method called EFCI (Explicit Forward Congestion Indication). セルのヘッダ内に、そのセルの輻輳経験を書き込むEFCIビットがあり、網内のセルスイッチは、その輻輳状況に応じてEFCIをマークする。 In the header of the cell, there is EFCI bit write congestion experience of the cell, the cell switch within the network marks the EFCI in accordance with the congestion situation. 端末はその情報を利用することにより輻輳を回避することが可能となる。 Terminal can be avoid congestion by utilizing the information.
【0015】 [0015]
次に、VC間公平キューイングについて説明する。 Next, a description will be given fair queuing between the VC.
【0016】 [0016]
まず、ABRサービスにおける耐故障性から要求されるVC間公平キューイングについて述べる。 First, we describe VC between fair queuing which is required from the fault tolerance in the ABR service.
【0017】 [0017]
ABRサービスは、網からのトラヒック制御情報に従って送信端末がセルの送出を制御することによって成立する。 ABR service, the transmitting terminal according to the traffic control information from the network is established by controlling the transmission of cells. もし、ある端末が故障し(もしくは故意に)、網からのトラヒック制御情報を無視すれば、網の輻輳からの脱出が困難になるおそれがある。 If (in or deliberately) certain terminal fails, ignoring the traffic control information from the network, escape from the congestion of the network may become difficult.
【0018】 [0018]
このような問題は、セル多重化装置またはセルスイッチにおいてVC間で公平なキューイングを行ない、VC間の公平なセル多重化スケジューリングとVC間の公平なバッファ割り当てを実現することにより解決できる。 Such problems, performs fair queuing between VC in cell multiplexing device or a cell switch, it can be solved by implementing a fair buffer allocation among fair cell multiplexing scheduling and VC between VC. VC間公平キューイングを行なえばVC間の相互作用は最小限に抑えられ、もしトラヒック制御情報を無視するVCがあっても、そのVCのみが輻輳におちいり、その他のVCにおよぼす影響を低減できるからである。 Interaction between VC be performed fair queuing between VC is minimized, even if VC to ignore the traffic control information if only the VC is fall into congestion, it is possible to reduce the influence on the other VC it is from.
【0019】 [0019]
また、UBRサービスにおける公平性からもVC間公平キューイングが要求される。 Also, VC between fair queuing is also required from the fairness in the UBR service.
【0020】 [0020]
図48に、UBRサービスにおける不公平な帯域割り当ての例を示す。 Figure 48 shows an example of unfair bandwidth allocation in the UBR service. この例では網に端末A、B、C、Dの4つの端末と、ひとつのファイルサーバが存在し、それぞれがセルスイッチ(またはセル多重化装置)X、Y、Zとリンク1、2、3、4、5、6、7により接続されている。 The Examples The terminal to the network A, B, C, and four terminals and D, and one file server is present, each cell switch (or cell multiplexing devices) X, Y, Z and links 1, 2, 3 It is connected by 4,5,6,7.
【0021】 [0021]
ここで、各セルスイッチが入力リンクに設定されているVC数に関わらずセルを多重化したとすると、各セルスイッチは入力ポートを平等に扱う。 Here, when each cell switch is to multiplex cells regardless of the VC number that has been set in the input link, each cell switch treats equally input port. 例えば、セルスイッチXは、リンク2とリンク3からのセルをリンク1へ多重化する場合に、両方のリンクを平等に扱うため、リンク1の帯域を1.0とすると、リンク2とリンク3にそれぞれ0.5の帯域を与える。 For example, the cell switch X, in the case of multiplexing cells from the link 2 and link 3 to the link 1, to handle both links equally, when the bandwidth of the link 1 is 1.0, link 2 and link 3 It gives the band of 0.5 each.
【0022】 [0022]
同様に考えていくと最終的に各端末に与えられる帯域は、端末Aが最も大きく0.5、端末C、Dは最も少なく0.125である。 If we consider similar final band given to each terminal, the terminal A is the largest 0.5, terminal C, D is 0.125 smallest. 全ての端末が平等にファイルサーバにアクセスすることが理想だとすれば、これは理想とはほど遠い。 If that all of the terminal to access the equally file server that it is ideal, this is far from ideal.
【0023】 [0023]
またさらに、網が輻輳に陥った場合、網は端末に帯域を小さくするようにEFCI情報を送信する。 Furthermore, if the network has fallen into the congestion, the network transmits the EFCI information so as to reduce the bandwidth to the terminal. このとき、網内にEFCI情報に忠実に従う端末と、無視する端末が存在する場合、EFCIに忠実な端末のみがセルの送出を抑制するため、EFCIを無視する端末は不当に多くの帯域資源を確保することになってしまうという問題点もある。 In this case, the terminal according faithfully EFCI information within the network, when the terminal to ignore the presence, in order to suppress the transmission only faithful terminals of the cell EFCI, terminal to ignore the EFCI is unduly much bandwidth resources there is also a problem that is supposed to ensure point.
【0024】 [0024]
これらの問題は、セルスイッチが入力リンクに多重されているVC数を無視して各入力リンクを平等に扱っていることによる。 These problems are due to the cell switch is handling equally each input link, ignoring the VC number that has been multiplexed in the input link. セルスイッチがVC間公平キューイングを行ない、VC数に応じた帯域の分配を行なうことにより、各端末は公平にファイルサーバーにアクセスすることが可能となる。 Cell switch performs fair queuing between VC, by performing distribution of the band corresponding to the VC number, each terminal can access the fair file server.
【0025】 [0025]
次に、クラス間の優先制御を行なうセル多重化装置について説明する。 Next, the cell multiplexing apparatus for performing priority control among classes will be described.
【0026】 [0026]
図49に従来のクラス間の優先制御を行なうセル多重化装置の構成を示す。 It shows the configuration of a cell multiplexing apparatus for performing priority control to conventional Class Figure 49.
【0027】 [0027]
図49は、N本の入力ポートから入力したセルを1本の出力ポートに多重化するセル多重化装置である。 Figure 49 is a cell multiplexing device for multiplexing cells entered from the input port of the N present in one output port.
【0028】 [0028]
出力バッファは、内部のクラス毎のセル蓄積部にクラス毎にセルを蓄積し、出力ポートへはクラスの優先度に応じてセルをセル選択部が選択し出力する。 Output buffer, the cells accumulated in each class in the cell storage portion of each internal class, the cell selector is selectively outputs the cell in accordance with the priority class to the output port.
【0029】 [0029]
出力バッファの各蓄積部に蓄積しているセル数としきい値とを比較してバックプレッシャ信号を生成する。 By comparing the number of cells that are accumulated in the accumulation unit of the output buffer and the threshold value to generate a backpressure signal. 入力バッファもまたクラス毎のセル蓄積部が設けられており、バックプレッシャ信号により出力が許可されているクラスの中からクラスの優先度に応じてセルを出力バッファへ転送する。 Input buffer also cell storage portion are provided for each class, and transfers the cell to the output buffer in response from the class output by the back pressure signal is allowed to priority classes.
【0030】 [0030]
この構成では出力バッファに複数のクラス毎セル蓄積部を設ける必要があるため、クラス数が多くなると出力バッファの実現が困難になるという欠点があった。 Since in this configuration it is necessary to provide a plurality of classes per cell storage unit in the output buffer, there is a drawback that the realization of the output buffer number of classes is often difficult. 特に、出力バッファの入力速度は入力ポートの速度のN倍(Nは入力ポート数)である必要があり、クラス数、入力ポート数が大きな場合は、この様な複雑な機能を実現することは困難であった。 In particular, the input speed of the output buffer must be N times the speed of the input ports (N is the number of input ports), the number of classes, if the number of input ports is large, to implement such a complex function It was difficult.
【0031】 [0031]
図49を、セルスイッチの各出力ポートに関する部分と考えると、入力ポートにバッファを持つセルスイッチについても同じ問題点が存在する。 Figure 49, considering that part relating to each output port of the cell switch, there is the same problem for a cell switch with a buffer to the input port.
【0032】 [0032]
次に、セル多重化装置について説明する。 Next, a description will be given cell multiplexing device.
【0033】 [0033]
図50に示すような入力バッファを持つセル多重化装置の問題点を説明する。 The problem of the cell multiplexing device having input buffers as shown in FIG. 50 will be described.
【0034】 [0034]
図50は、N本の入力ポートから入力されたセルを1本の出力ポートに多重化するセル多重化装置である。 Figure 50 is a cell multiplexing device for multiplexing cells entered from the input port of the N present in one output port.
【0035】 [0035]
出力バッファは、入力ポートからのセルを一時的に蓄積し、出力ポートの速度に応じてセルを出力する。 Output buffer temporarily storing the cell from the input port, and outputs a cell in accordance with the speed of the output ports.
【0036】 [0036]
出力バッファに蓄積しているセル数としきい値とを比較してバックプレッシャ信号を生成する。 By comparing the number of cells that are stored in the output buffer and the threshold value to generate a backpressure signal. 入力バッファは出力ポートに対応してひとつのキューを持ち、バックプレッシャ信号により出力が許可されているときのみセルを出力バッファへ転送する。 Input buffer has one queue in correspondence to the output port, and transfers only the cell when the output is permitted by the backpressure signal to the output buffer.
【0037】 [0037]
この様なセル多重化装置は設定されているVC数に関わらず各入力バッファを公平に扱ってしまうため、ABRサービスにおける耐故障性や、UBRサービスにおける公平性に問題があった。 Since such cell multiplexing device would fairly dealt with each input buffer regardless of the VC number that has been set, fault tolerance and in the ABR service, there is a problem in fairness in the UBR service.
【0038】 [0038]
図50を、セルスイッチの各出力ポートに関する部分と考えると、入力ポートにバッファを持つセルスイッチについても同じ問題点が存在する。 Figure 50, considering that part relating to each output port of the cell switch, there is the same problem for a cell switch with a buffer to the input port.
【0039】 [0039]
次に、VC間公平キューイングについて説明する。 Next, a description will be given fair queuing between the VC.
【0040】 [0040]
図51にVC間公平キューイングの実現方法であるVC毎のFIFOの構成を示す。 It shows the configuration of a FIFO for each VC is a method implemented in VC between fair queuing in Figure 51.
【0041】 [0041]
図51は、入力リンクより入力したセルのコネクション識別情報をバッファポインタ管理部に通知し、バッファポインタ管理部よりセルの書き込み位置を示す書き込みポインタを得てセルを一時的にセルバッファに蓄積し、バッファポインタ管理部からの、読みだしセルを示す読みだしポインタに基づいてセルをセルバッファから読みだし出力リンクへ出力するセルバッファ装置である。 Figure 51 notifies the connection identification information of the cell inputted from the input link to the buffer pointer management unit, and temporarily stored in cell buffer cell to obtain a write pointer indicating a writing position of a cell from the buffer pointer management unit, from the buffer pointer management unit, a cell buffer device for output to an output link read the cell from the cell buffer on the basis of the pointer read indicates a read cell. バッファポインタ管理部は、蓄積しているセルのセルバッファ上の位置を示すバッファポインタを管理する。 Buffer pointer management unit manages a buffer pointer indicating a position on the cell buffer of Accumulating cell.
【0042】 [0042]
バッファポインタ管理部はVCテーブルによりバッファポインタをVC毎に管理する。 Buffer pointer management unit manages the buffer pointer for each VC by VC table. 図51は広く知られているポインタチェーンによる管理方法を示している。 Figure 51 illustrates the management method according to the pointer chain is widely known.
【0043】 [0043]
セルが入力すると空きチェーンの先頭からバッファポインタを書き込みポインタとして一つ取りだし、入力セルに対応するVCのチェーンの末尾につける。 When a cell input takes out one as a pointer write buffer pointer from the head of the free chain, attached to the end of the VC chain corresponding to the input cell. セルを出力する時は、セルを蓄積しているVCを公平に選択し、その先頭のバッファポインタを読みだしポインタとして取りだす。 When outputting the cells, select the VC that have accumulated cell fairly, taken out as a pointer read the buffer pointer of the first. セル出力時にVCを公平に選択する方法として、ラウンドロビンが知られている。 The method for selecting fairly the VC at the time of cell output, the round robin is known.
【0044】 [0044]
VCをラウンドロビンで選択するためには、VCテーブル上で、前回出力したVCの次から、バッファに蓄積しているセルがあるかどうかを順に検索しなければならない。 To select a VC by the round robin on VC table, the next VC outputted last time, it must search whether there is a cell that has accumulated in the buffer in the order. 検索は、多い場合にはほぼ全てのVCを1セル周期で行なう必要があるが、設定すべきVC数は数千以上に及ぶ場合があり、実現は困難であった。 Search is the case often is necessary to perform almost all VC in one cell period, VC number to be set may thousands or more, realization has been difficult.
次に、キュー長監視について説明する。 Next, a description will be given queue length monitor.
【0045】 [0045]
図52に、例えば図50の様な、入力バッファを持つセル多重化装置における、入力バッファのキュー長の変化の一例を示す。 Figure 52, for example such as FIG. 50, in the cell multiplexing device having an input buffer, an example of a change in queue length in the input buffer.
【0046】 [0046]
横軸は時間、縦軸は上が入力バッファのキュー長、下がバックプレッシャ信号である。 The horizontal axis represents time and the vertical axis represents the queue length of the upper input buffer, a lower backpressure signal. バックプレッシャ信号が出力禁止を指示しているとき(Tup)、入力バッファからの出力スループットはゼロであるためキュー長はバッファの入力レート(Ri )で増加する。 When backpressure signal indicates the output disable (Tup), the queue length for output throughput is zero from the input buffer is increased by the buffer input rate (Ri). バックプレッシャ信号が出力可能を指示しているとき、入力バッファからの出力スループットは最大であり、通常キュー長は減少する。 When backpressure signal indicates a possible output, the output throughput from the input buffer is at a maximum, usually queue length is reduced.
【0047】 [0047]
この様にキュー長はバックプレッシャ信号に同期して振動する。 The queue length as to vibrate in synchronization with the back-pressure signal. 従来、バッファにセルが到着したとき、キュー長がしきい値を越えていれば入力したセルを受け付けず廃棄し、越えていなければ受け付けることが広く行なわれている。 Conventionally, when a cell arrives in the buffer, queue length discards not accept cell entered if exceeds the threshold value, it is widely be accepted if not exceeded. この方法は通常のバッファでは問題ないが、この様にバッファの出力がバックプレッシャ信号に制御されている場合に問題となる。 This method is no problem in a normal buffer, the output of the buffer in this manner is problematic if it is controlled backpressure signal. キュー長の最大値は入力レート (Ri )とバックプレッシャ信号が出力禁止を指示している時間(Tup)によって決定され、特にバックプレッシャ信号の出力禁止時間(Tup)は、他の入力バッファへの入力トラヒックなどに大きく影響されるからである。 The maximum value of the queue length is determined by the input rate (Ri) and the backpressure signal indicates the output inhibition time (Tup), in particular back pressure signal output inhibition time (Tup) is to the other input buffer input traffic is because is greatly affected by such.
【0048】 [0048]
バックプレッシャ信号により制御されるバッファ装置の場合は、単純にキュー長としきい値と比較してセルの廃棄を決定する方法では外部条件によりセルの廃棄が過敏に影響され安定したセルの廃棄が困難であった。 Back case of the pressure signal by being controlled buffer device may simply queue length and difficult disposal of the cell discard cell is and stable influenced sensitively by external conditions in the method of determining the cell discard compared to a threshold Met. キュー長から輻輳を判断する場合にも同じ問題点があった。 Also when determining the congestion from the queue length had the same problem.
【0049】 [0049]
次に、優先制御を行うセルバッファ装置について説明する。 Next, a description will be given cell buffer device for performing priority control.
【0050】 [0050]
図53に、優先制御を行なうセルバッファ装置の構成を示す。 Figure 53 shows the configuration of a cell buffer device for performing priority control.
【0051】 [0051]
遅延に関して低優先のセルを一時的に蓄積する、クラス1セル蓄積部と、高優先のセルを一時的に蓄積するクラス2セル蓄積部とあって、それぞれの出力はクラス多重化FIFOにより多重化される。 Temporarily storing low priority cells with respect to delay, multiplexed with Class 1 cell storage unit, there class 2 cell storage unit for temporarily storing the high priority cells, each output by class multiplexing FIFO It is. クラス管理部は、クラス2セル蓄積部セル数Na およびクラス多重化FIFOセル数Nb を入力し、どちらかのクラスへ転送指示を与える。 Class management unit inputs the class 2 cell storage unit number of cells Na and class multiplexing FIFO cell number Nb, providing transfer instruction to either class. 転送指示を受けたクラスのセル蓄積部は1セルだけクラス多重化FIFOへ転送する。 Cell storage portion of the class that has received the transfer instruction transfers only one cell to the class multiplexing FIFO.
【0052】 [0052]
このセルバッファ装置の優先制御の性能を高めるためにはクラス多重化FIFOの蓄積セル数を少なくすることが必要であるが、スループットを低下させないためには、クラス多重化FIFOを努めて空にしない(=アンダフローしない)ように転送を指示する必要がある。 It is necessary to reduce the number of storage cells in the class multiplexing FIFO in order to enhance the performance of the priority control of the cell buffer device, in order not to lower the throughput, not empty strive class multiplexing FIFO it is necessary to instruct (= underflow not flow) as transferred. さらに、どちらか一方のセル蓄積部が空になっている時に、空のセル蓄積部に対して転送を指示してしまった場合(空指示と呼ぶ)にはアンダフローしてしまう可能性があるため、転送指示は蓄積セルが存在するセル蓄積部に対して行なう必要がある。 Furthermore, when either the one of the cell storage portion is empty, when had instructed the transfer to the empty cell storage unit (referred to as empty indication) is likely to result in underflow Therefore, the transfer instruction is required to perform the cell storage portion are stored cell exists.
【0053】 [0053]
以上の方針から、クラス管理部がクラス2セル蓄積部へ転送指示を行なう条件は、 From the above policies, conditions class manager performs transfer instruction to the class 2 cell storage unit,
(Nb ≦1)and(Na 1) (Nb ≦ 1) and (Na > 1)
で与えられる。 It is given by. クラス1セル蓄積部への転送指示は、 Transfer instruction to the class 1 cell storage unit,
(Nb ≦1)and(Na ==0) (Nb ≦ 1) and (Na == 0)
である。 It is.
【0054】 [0054]
ここで、クラス毎のセル蓄積部やクラス多重化FIFOからクラス管理部へのセル数情報の伝送や、クラス管理部からクラス毎セル蓄積部への転送指示情報の伝送、さらにはクラス毎セル蓄積部からセル多重化FIFOへのセル転送に遅延時間が存在する場合を考える。 Here, the transmission of the transfer instruction information from the cell storage unit or a class multiplexing FIFO for each class transmission and the number of cells information to the class management unit, to the class for each cell storage unit from the class management unit, more class per cell storage consider the case where there is a delay time in a cell transfer to the cell multiplexing FIFO from parts. このとき従来は次のような問題点が存在していた。 At this time, the following problems were present in the prior art.
【0055】 [0055]
これらの遅延時間により、クラス多重化FIFOがアンダフローするかどうかがクラス管理部で正確に判定できなかった。 These delay times, class multiplexing FIFO whether underflows can not be accurately determined by the class manager. そこでクラス多重化FIFO内セル数をこの遅延時間に応じた大きめのしきい値と比較してアンダフローしないための条件としていた。 Therefore the number of the cell class multiplexing FIFO was a condition for not underflow compared to larger threshold value corresponding to the delay time. この結果、クラス多重化FIFOの平均キュー長が大きくなり優先制御の性能が低下した。 As a result, the performance of the average queue length increases and the priority control class multiplexing FIFO is lowered.
【0056】 [0056]
また、高優先であるクラス2セル蓄積部情報の伝送が遅れることにより、クラス2セル蓄積部が空になったことを正確に判断できない。 Further, since the transmission of the class 2 cell storage unit information is a high priority is delayed, the class 2 cell storage unit can not accurately determine that it is now empty. したがって空になっているのに空でないと誤り、空指示をしてしまうか、空でないのに空であると誤り、高優先であるクラス2のセルよりも低優先のクラス1のセルが優先して出力してしまうような指示を行なってしまっていた。 Therefore, when a non-empty to be empty error, or results in an empty indication, error to be empty to non-empty, the low priority class 1 cell is given priority over cells of class 2 are high priority to had gotten carried out the instructions that would be output. 結果としてセルバッファ装置のスループットが低下したり優先制御機能の性能が低下する問題点があった。 Results performance decreases throughput of the cell buffer device or priority control function is a problem to decrease as.
【0057】 [0057]
以上、図53の優先制御を行なうセルバッファ装置に関して問題点を述べた。 Above mentioned problems with respect to the cell buffer device for performing priority control of FIG. 53. この問題はこの様な優先制御を行なうセルバッファ装置のみならず、さまざまなセルバッファ装置において発生し得る。 This problem is not only the cell buffer device performs such a priority control, may occur in various cell buffer devices.
【0058】 [0058]
つまり、複数のバッファ間のセルの転送を管理部が指示するセルバッファ装置において、管理部へのバッファ情報の伝送、管理部からバッファへの転送指示情報の伝送、バッファ間のセルの伝送に遅延時間が存在する場合、セルバッファ装置の性能やスループットが低下してしまうという問題点があった。 That is, the delay in the cell buffer device management unit transfers the cell to instruct between multiple buffers, the transmission of buffer information to the management unit, the transmission of the transfer instruction information from the management unit to the buffer, the transmission of cells between the buffer If the time is present, the performance and throughput of the cell buffer device is disadvantageously lowered.
【0059】 [0059]
【発明が解決しようとする課題】 [Problems that the Invention is to Solve
以上述べたように、従来のセル多重化装置には次のような第1、第2の2つの問題点があった。 Above As mentioned, there was first, second two the following problems in the conventional cell multiplexing device.
【0060】 [0060]
まず、出力バッファに複数のクラス毎セル蓄積部を設ける必要があるため、クラス数が多くなると出力バッファの実現が困難になるという欠点があった。 First, it is necessary to provide a plurality of classes per cell storage unit in the output buffer, there is a drawback that the realization of the output buffer number of classes is often difficult. 特に、出力バッファの入力速度は入力ポートの速度のN倍(Nは入力ポート数)である必要があり、クラス数、入力ポート数が大きな場合は、この様な複雑な機能を実現することは困難であった。 In particular, the input speed of the output buffer must be N times the speed of the input ports (N is the number of input ports), the number of classes, if the number of input ports is large, to implement such a complex function It was difficult.
【0061】 [0061]
次に、設定されているVC数に関わらず各入力バッファを公平に扱ってしまうため、ABRサービスにおける耐故障性や、UBRサービスにおける公平性に問題があった。 Next, to become fairly dealt with each input buffer regardless of the VC number that has been set, fault tolerance and in the ABR service, there is a problem in fairness in the UBR service.
【0062】 [0062]
また、従来のセルバッファ装置には次のような第3、第4の2つの問題点があった。 Further, the conventional cell buffer device 3, such as the following, there is a fourth two problems.
【0063】 [0063]
まず、VCをラウンドロビンで選択するためには、VCテーブル上で、前回出力したVCの次から、バッファに蓄積しているセルがあるかどうかを順に検索しなければならない。 First, in order to select a VC by the round robin on VC table must from the next VC outputted last time, you have to search whether there is a cell that has accumulated in the buffer in the order. 検索は、多い場合にはほぼ全てのVCを1セル周期で行なう必要があるが、設定すべきVC数は数千以上に及ぶ場合があり、実現は困難であった。 Search is the case often is necessary to perform almost all VC in one cell period, VC number to be set may thousands or more, realization has been difficult.
【0064】 [0064]
これに対し近年、”Efficient Fair Queueing Deficit Round Robin”(pp.231−242、ACM SIGCOMM '95、1995年8月)に記載されているようなアルゴリズムが提案されている。 In recent years the other hand, "Efficient Fair Queueing Deficit Round Robin" algorithms, such as those described in (pp.231-242, ACM SIGCOMM '95, 8 May 1995) has been proposed. この文献で提案されているDRRというアルゴリズムはアクティブリストという概念を用いてセルを蓄積しているVCを管理するため、セル出力時のVCテーブルの検索が不要である。 Algorithm called DRR proposed in this document to manage the VC have accumulated cell using the concept of active list, it is unnecessary searches VC table upon cell output. 従って、設定すべきVC数が増えても高速にVC間公平キューイングの為の出力すべきセルの選択が実現できる。 Therefore, it is possible to realize the selection of the output cells to be for VC between fair queuing at high speed even if the number is VC number to be set. しかしながら、このDRRアルゴリズムでは、パケットを各VC毎に分類して蓄積するため各VCに設定された重みの値に応じた量のパケットが一度に出力されてしまい、その出力トラヒックのバースト性が非常に高くなってしまうという欠点があった。 However, in this DRR algorithm, packets will be output amount of packets corresponding to the value of the weight set for each VC for storing classified for each VC is at once, burstiness of the output traffic is extremely there is a disadvantage that is higher in.
【0065】 [0065]
次に、バックプレッシャ信号により制御されるバッファ装置の場合は、単純にキュー長としきい値と比較してセルの廃棄を決定する方法では外部条件によりセルの廃棄が過敏に影響され安定したセルの廃棄が困難であった。 Then, back when the pressure signal by being controlled buffer device may simply queue length and the method of determining the cell discard compared to the threshold of the cell discard cell is and stable influenced sensitively by external conditions disposal has been difficult. キュー長から輻輳を判断する場合にも同じ問題点があった。 Also when determining the congestion from the queue length had the same problem.
【0066】 [0066]
さらに、複数のバッファ間のセルの転送を管理部が指示するセルバッファ装置においては、次にような第5の問題点があった。 Furthermore, the management section the transfer of cells between the plurality of buffers in the cell buffer device for indication, was fifth problems then is. すなわち、管理部へのバッファ情報の伝送、管理部からバッファへの転送指示情報の伝送、バッファ間のセルの伝送に遅延時間が存在する場合、セルバッファ装置の性能やスループットが低下してしまうという問題点があった。 That is, the transmission of buffer information to the management unit, the transmission of the transfer instruction information from the management unit to the buffer, if the delay time in the transmission of cells between the buffer is present, that the performance and throughput of the cell buffer device is reduced there is a problem.
【0067】 [0067]
本発明は、上述の点に鑑みてなされたもので、その目的とするところは、入力ポート数が大きな場合においても実現が容易なクラス間の優先制御を行なうセル多重化装置を提供することにある。 The present invention has been made in view of the above, it is an object that the number of input ports to provide a cell multiplexing device for realizing performs priority control to facilitate class even greater if is there.
【0068】 [0068]
本発明の他の目的は、ABRサービスにおける耐故障性や、UBRサービスにおける公平性を実現するVC毎公平キューイングを行なうことができるセル多重化装置を提供することにある。 Another object of the present invention is to provide fault tolerance and in the ABR service, the cell multiplexing apparatus capable of performing per-VC fair queuing which realizes fairness in the UBR service.
【0069】 [0069]
本発明の別の目的は、設定可能なVC数の上限に依存することなく容易に実現することのできるVC間公平キューイングを行なうセル多重化装置を提供することにある。 Another object of the present invention is to provide a cell multiplexing device for performing fair queuing between VC that can be easily realized without depending on the upper limit of the number that can be set VC.
【0070】 [0070]
本発明のさらに別の目的は、キュー長の監視結果が外部条件の影響を受け難く、安定したキュー長の監視が容易であるセル多重化装置を提供することにある。 Still another object of the present invention is that the monitoring results of the queue length is hardly affected by external conditions, to provide a cell multiplexing device monitoring of stable queue length is easy.
【0071】 [0071]
本発明のもう一つの目的は、複数のバッファ間のセルの転送を管理部が指示する際に、管理部へのバッファ情報の伝送、管理部からバッファへの転送指示情報の伝送、バッファ間のセルの伝送に遅延時間が存在する場合においても、従来のように性能やスループットが低下しないセル多重化装置を提供することにある。 Another object of the present invention, when the management unit of the cell transfer among a plurality of buffers to instruct the transmission of buffer information to the management unit, the transmission of the transfer instruction information from the management unit to the buffer, between the buffer even if there is delay in the transmission of the cell is that the as in the prior art performance and throughput to provide a cell multiplexing apparatus does not decrease.
【0072】 [0072]
【課題を解決するための手段】 In order to solve the problems]
本発明のパケット転送装置(請求項1〜4)は、入力されたパケットを一時的に蓄積する複数の入力バッファと、これら入力バッファを制御する制御手段と、前記各入力バッファから出力されるパケットを転送する少なくとも1つの出力ポートを具備したパケット転送装置であって、 Packet transfer apparatus of the present invention (claim 1) includes a plurality of input buffers for temporarily storing the input packet, and control means for controlling the input buffers, packets output from the respective input buffer a packet transfer apparatus comprising at least one output port for transferring,
前記各入力バッファは、 Wherein each input buffer,
入力したパケットを一時的にクラス毎に蓄積するクラス毎の蓄積手段と、 A storage unit for each class stored in each temporary class input packet,
前記制御手段から指示されたクラスのパケットを前記蓄積手段から前記出力ポートへ向けて出力する出力手段とを具備し、 And an output means for outputting toward said output port from said storage means the packet of class instructed from the control unit,
前記制御手段は、 Wherein,
前記蓄積手段の複数の入力バッファ全体における蓄積状況をクラス毎に把握し、この蓄積状況に基づいてパケットを出力すべきクラスを決定し、この決定したクラスの指定を含む指示を前記複数の入力バッファに送信することにより、 Wherein the plurality of storage situation in the entire input buffer of the storage means to understand for each class, and determines the class to be outputted packets based on the storage state, the plurality of input buffer instruction including the specification of the determined class by sending to,
制御部が複数の入力バッファ全体の状況を把握して(少なくとも全体の状況を把握していればよいが、個々の入力バッファ毎に把握していても構わない)指示を出すため、各入力バッファのクラス毎の蓄積状況の違いによりクラス間の優先関係が崩れてしまうことが生じず、また、入力ポートの数すなわち入力バッファの数が増えても容易にクラス間の優先制御を実現できる。 Control unit grasps the plurality of the entire input buffer status (it is sufficient to grasp at least the whole of the circumstances, it may also be grasped for each individual input buffer) for issuing an instruction, each input buffer that does not occur that the difference in storage state for each class precedence relationships between classes collapses, also possible to realize priority control to easily class increasing number that is the number of input buffers of the input ports.
【0073】 [0073]
また、本発明のパケット転送装置(請求項5、6)は、複数の入力バッファと、これら入力バッファを制御する制御手段と、前記各入力バッファから出力されるパケットを転送する少なくとも1つの出力ポートを具備したパケット転送装置であって、 The packet forwarding device of the present invention (claim 5, 6), and control means for controlling a plurality of input buffers, these input buffers, at least one output port for transferring packets outputted from each input buffer the packet forwarding apparatus provided with the,
前記各入力バッファは、 Wherein each input buffer,
入力したパケットを一時的に蓄積する蓄積手段と、 A storage means for temporarily storing the input packet,
前記制御手段からの指示を受けて、次のフェーズで前記蓄積手段から前記出力ポートへ向けて出力すべきパケットを選択する選択手段と、 Upon receiving an instruction from said control means, and selection means for selecting a packet to be outputted to said output port from said storage means in the next phase,
この選択手段で選択されたパケットを前記出力ポートに向けて出力する出力手段とを具備し、 The packets selected by the selecting means and an output means for outputting toward the output port,
前記制御手段は、 Wherein,
前記複数の入力バッファ全体における前記選択手段で選択されたパケットの出力状況を把握し、この出力状況に基づいて新たなパケットを選択するよう前記複数の入力バッファに指示することにより、 By the plurality of grasping the output status of the packets selected by the selecting means in the entire input buffer, instructing the plurality of input buffers to select a new packet on the basis of the output state,
あるフェーズ(その時間的長さは不定)内で出力されるべきパケット集合(カゴ)という概念を導入し、このパケット集合に入れるパケットの選択と、このパケット集合に入っているパケットのみを出力する(その他のパケットは出力が許可されない)という処理を各入力バッファが分担し、パケット集合に新たなパケットを入れるタイミングを指示する処理を制御部(カゴ管理部)が分担することにより、例えば、入力バッファ方式のセルスイッチにおいて、VC間公平キューイングを容易に実現できる。 There phase (temporal length undefined) introduced the concept of packet set to be output in the (car), and outputs the selected packets to put in the packet set, only packets contained in the packet set (other packets output is not permitted) a process of share each input buffer, the control unit the process for instructing the timing to put the new packet to the packet set (basket management unit) is shared, for example, input in the cell switch buffer method, it is possible to easily realize the fair queuing between VC.
【0074】 [0074]
また、本発明のパケット転送装置(請求項7、8)は、入力したパケットを一時的に蓄積するバッファと、このバッファを制御する制御手段と、前記バッファから出力されたパケットを転送するパケット転送装置であって、 The packet forwarding device of the present invention (Claim 7, 8) includes a buffer for temporarily storing a entered packets, and control means for controlling the buffer, the packet transfer for transferring the packet output from the buffer an apparatus,
前記制御手段は、 Wherein,
前記バッファ内に蓄積されたパケットを複数の集合に分けて管理する管理手段と、 Management means for managing separately accumulated packets in said buffer into a plurality of sets,
前記バッファに入力したパケットを各パケットの属するフロー間で公平になるように前記複数の集合のいずれか1つに振り分ける振り分け手段と、 And distributing means for distributing packets inputted to the buffer to the one of the plurality of sets to be fair among the flows belonging of each packet,
前記管理手段で管理されている前記複数の集合のうちの1つの集合に属するパケットを出力するよう前記バッファに対し指示する指示手段と、 And instruction means for instructing to said buffer to output packets belonging to one set of the plurality of sets that are managed by the management means,
を具備することにより、制御手段(バッファポインタ管理部)でパケットが入力されたときに複数の集合への振り分けが行われており、パケットを出力するときには1つの集合に属するポインタを出すだけで済むので、設定すべきVC数が増えても高速にVC間公平キューイングのための出力すべきパケットの選択が実現できる。 By providing the control means are made distribution to multiple set when a packet is input (buffer pointer management unit) need only issue a pointer belonging to one set is when outputting the packet since, it is possible to realize the selection of the output to be a packet for the VC between fair queuing in a high speed is increasing VC number to be set. また、本発明の前記指示手段により、請求項5の選択手段の動作を実現することができる。 Further, by the instruction means of the present invention, it is possible to realize the operation of the selection means of claim 5. さらに、本発明は、出力バッファ方式のセルスイッチでVC間公平キューイングをする際の出力バッファとして用いることができる。 Furthermore, the present invention can be used as an output buffer when the fair queuing between VC in cell switch output buffer method.
【0077】 [0077]
【発明の実施の形態】 DETAILED DESCRIPTION OF THE INVENTION
以下、本発明の実施形態について図面を参照して説明する。 It will be described below with reference to the accompanying drawings, embodiments of the present invention.
【0078】 [0078]
0. 0. 用語の定義以下、本発明の実施の形態を説明する上で用いられる用語の定義を行う。 Definition of Terms The following, a definition of terms used in describing the embodiments of the present invention.
【0079】 [0079]
(1) パケットとは、固定長のセルを含む概念で、セルの上位概念と解することができる。 (1) packets and is a concept including a fixed length cells, can be interpreted as the preamble of the cell. また、以下の説明でパケットというときは、可変長、固定長を問わない。 Also, the term packets in the following description, regardless variable, a fixed length. また、セルに限定して説明している場合でも、それは単に説明を簡単にするためのもので、特に、これに限るものではない。 Further, even if described with limited cell, it merely to simplify the description, in particular, not limited to this.
【0080】 [0080]
(2) パケット(セル)多重化装置とパケット(セル)バッファ装置の違い: (2) packets (cells) difference between multiplexer and a packet (cell) buffer device:
パケットバッファ装置:一つの以上の入力ポートと一つ以上の出力ポート及び一つ以上のバッファを具備し、入力ポートから入力されたパケットを必要に応じて一時的にバッファに蓄積し、出力ポートへ出力する装置。 Packet buffer device: comprises one or more input ports and one or more output ports and one or more buffers, temporarily accumulated in the buffer as needed input from the input port packet, to the output port output devices. 特にパケットを宛先に応じた出力ポートへ出力するパケットバッファ装置は、パケットスイッチと呼ばれる。 Particularly the packet buffer device which outputs to the output port in response packets to the destination is referred to as a packet switch.
【0081】 [0081]
パケット多重化装置:パケットバッファ装置の中でも特にパケットの出力ポートが一つのものをパケット多重化装置と呼ぶ(パケットバッファ装置を出力ポート毎に分けて考えると、入力ポートが共通な複数のパケット多重化装置の重ね合わせてとして見ることができる)。 Packet multiplexing apparatus: in particular the output port of the packet among the packet buffer device called a packet multiplexing apparatus that one (considering separately the packet buffer device for each output port, a common multiple of the packet multiplexing input port apparatus superposition of can be seen as in). 以下の説明において、パケット多重化装置について述べていることは、パケットバッファ装置にも容易に適用できる。 In the following description, it describes the packet multiplexing apparatus can be readily applied to the packet buffer device.
【0082】 [0082]
(3)パケット転送装置:パケットバッファ装置と、その一種であるパケット多重化装置の双方を含む。 (3) packet transfer device: comprising a packet buffer device, both of the packet multiplexing apparatus which is a kind. また、以下の説明において、多重化装置あるいはバッファ装置を例にとり説明している場合も、特にこれに限るものではなく、広くパケット転送装置として適用できる。 In the following description, even if the multiplexing device or a buffer device is described by taking as an example, it is not particularly limited to this and can be applied widely as a packet forwarding device.
【0083】 [0083]
1. 1. クラス間優先制御(第1の実施形態、第2の実施形態) Interclass priority control (first embodiment, second embodiment)
まず、本発明に係るクラス間の優先制御を行なうセル多重化装置の実施形態について説明する。 First, description will be given of an embodiment of a cell multiplexing device for performing priority control among classes according to the present invention.
【0084】 [0084]
1.1 第1の実施形態図1に、第1の実施形態に係るクラス間の優先制御を行なうセル多重化装置の構成例を示す。 1.1 First Embodiment Figure 1 shows a configuration example of a cell multiplexing apparatus for performing priority control among classes according to the first embodiment.
【0085】 [0085]
図1のセル多重化装置は、入力ポート#1〜#Nのそれぞれに対応して設けられ、各入力ポート#1〜#Nから入力したセルを一時的に蓄積する複数の入力バッファ10と、入力バッファ10の出力したセルを多重化し出力ポートへ出力する出力バッファ11と、全ての入力バッファを管理するクラス管理部12とを備える。 Cell multiplexing device of FIG. 1 are provided corresponding to the respective input ports #. 1 to # N, a plurality of input buffers 10 for temporarily storing cells entered from the input port #. 1 to # N, and an output buffer 11 for outputting to the multiplexer output port outputs the cell of the input buffer 10, and a class management unit 12 for managing all the input buffers.
【0086】 [0086]
入力バッファ10は、入力したセルをクラス(クラス1〜クラス3)毎に蓄積するクラスのセル蓄積部13(クラス1セル蓄積部13a、クラス2セル蓄積部13b、クラス3セル蓄積部13c)と、セル蓄積部13から出力したセルを多重化し出力バッファ11へ出力するクラス多重化FIFO14を備えている。 Input buffer 10, the inputted cell class (class 1 to class 3) classes for storing for each cell storage section 13 (class 1 cell storage unit 13a, a class 2 cell storage unit 13b, class 3 cell storage unit 13c) and , and a class multiplexing FIFO14 for outputting the cell outputted from the cell storage unit 13 to the output buffer 11 are multiplexed.
【0087】 [0087]
クラス管理部12は、セル蓄積部13のクラス毎セル蓄積部セル数と、クラス多重化FIFO14のクラス多重化FIFOセル数を得て、予め定められたアルゴリズムより転送クラス指示を決定して全ての入力バッファ10へ同報する。 Class management unit 12, the number of classes per cell storage unit cells of the cell storage unit 13 to obtain the number of classes multiplexing FIFO cell of class multiplexing FIFO 14, all to determine the transfer class indication from the predetermined algorithm to the input buffer 10 broadcasts.
【0088】 [0088]
入力バッファ10に同報された転送クラス指示で指示されたクラスのセル蓄積部13は、セルをクラス多重化FIFO14へ転送し、クラス多重化FIFO14は、出力バッファ11内の輻輳状態に応じたバックプレッシャ信号の制御に従って出力バッファ11へセルを出力する。 Class cell storage unit 13 instructed by the broadcast has been forwarded class indication in the input buffer 10 transfers the cells to the class multiplexing FIFO 14, the class multiplexing FIFO 14 is in accordance with the congestion state in the output buffer 11 back and it outputs the cell to the output buffer 11 in accordance with control of the pressure signal.
【0089】 [0089]
クラス毎セル蓄積部13は通常はFIFO(First In First Out)メモリで構成される。 Class per cell storage unit 13 is usually composed of a FIFO (First In First Out).
【0090】 [0090]
図1は3クラス(クラス1〜クラス3)の場合を示したが、第1の実施形態はクラス数に関わらず有効に作用する。 Figure 1 shows the case of three classes (class 1 to class 3), the first embodiment effectively act regardless of the number of classes.
【0091】 [0091]
また、図1を、セルスイッチの、各出力ポートに関する部分と考えるとセルスイッチについても第1の実施形態を適用できる。 Further, FIG. 1, the cell switch can be applied to the first embodiment for the cell switch Considering that part relating to each output port.
【0092】 [0092]
図1の出力バッファ11は、単段のFIFO15から構成されているが、どんな状況においてもクラス多重化FIFO14のセルをある有限の時間内で出力ポートに出力できることを保証できれば、どんな形態でもよい。 The output buffer 11 of FIG. 1 is configured from FIFO15 single stage, if ensure that it can output to an output port even cell class multiplexing FIFO14 within a certain finite time in any situation, may be of any form.
【0093】 [0093]
例えば、バッファを全く持たずにクラス多重化FIFO14のセルを調停して出力ポートに出力する構成でもよい。 For example, it may be configured to output the arbitration any cell class multiplexing FIFO14 without a buffer to the output port. また例えば、後述の図3または図4に示す構成でもかまわない。 Further, for example, it may be a structure shown in FIG. 3 or FIG. 4 described later.
【0094】 [0094]
図3に示した出力バッファ16は、FIFOが複数段(図3では2段)に構成されており、それぞれ前段のFIFOにバックプレッシャ信号が接続される。 An output buffer 16 shown in Figure 3, FIFO is configured in a plurality of stages (in Fig. 3 two stages), back pressure signal upstream of the FIFO, respectively, are connected.
【0095】 [0095]
すなわち、図3の出力バッファ16は、入力側(前段)の複数のFIFO18に、入力バッファ10の各出力に対応して設けられる入力リンク#1〜#Nが接続され、それらFIFO18の各出力が出力側(後段)のFIFO19に接続されて構成され、後段のFIFO19から、その輻輳状態に応じて出力されるバックプレッシャ信号は、前段の複数のFIFO18のそれぞれに接続され、前段の複数のFIFO18のそれぞれから、その輻輳状態に応じて出力されるバックプレッシャ信号は、複数のクラス多重化FIFO14のそれぞれに接続される。 That is, the output buffer 16 of FIG. 3, the plurality of FIFO18 the input side (previous stage), coupled input link #. 1 to # N provided corresponding to each output of the input buffer 10, the output thereof FIFO18 is which are connected in FIFO 19 at the output side (rear stage), the subsequent FIFO 19, backpressure signal outputted in accordance with the congestion state is connected to each of the preceding plurality FIFO18, the preceding plural FIFO18 from each backpressure signal outputted in accordance with the congestion state is connected to each of the plurality of classes multiplexing FIFO 14.
【0096】 [0096]
図4に示した出力バッファ17は、図3と同様にFIFOが複数段(図4では2段)に構成されている。 Output buffer 17 shown in FIG. 4, FIFO similarly to FIG. 3 is formed in a plurality of stages (in Fig. 4 2-stage). 図3と異なるのは、入力側の複数のFIFO18のキュー長情報(または全てのFIFOのキュー長情報でもよい)をバックプレッシャ生成部20へ転送し、バックプレッシャ生成部20はキュー長情報からバックプレッシャ信号を生成し、全ての入力リンクへ同報することである。 It is different from FIG. 3, and transfers the plurality of FIFO18 queue length information of the input side (or the queue length information of all FIFO) to backpressure generation unit 20, the backpressure generation unit 20 back from the queue length information It generates a pressure signal and to broadcast to all of the input link.
【0097】 [0097]
例えば、キュー長を全て合計してしきい値と比較し、しきい値を越えていればバックプレッシャ信号により出力バッファへの入力を禁止する。 For example, compared to a threshold value by summing all the queue length, prohibiting the input to the output buffer by the backpressure signal if exceeds the threshold value. バックプレッシャ生成部20はクラス管理部12に存在しても良い。 Backpressure generation unit 20 may be present in the class management unit 12.
【0098】 [0098]
第1の実施形態のクラス間の優先制御を行うセル多重化装置によれば、高いスループットが必要な出力バッファにてクラスを識別する必要がないため、容易に実現することが可能となる。 According to the cell multiplexing device for performing priority control among classes in the first embodiment, since there is no need to identify a class in the output buffer requiring high throughput, it is possible to easily realize. 入力バッファはクラス毎にセルを管理する必要があるが、入力バッファに必要なスループットは低いため実現が容易となる。 Input buffer needs to manage the cells for each class, it is easy to realize because throughput is low required input buffer.
【0099】 [0099]
図1のセル多重化装置の構成をさらに詳細に説明する。 Further detailed description of the configuration of the cell multiplexing device of Fig.
【0100】 [0100]
クラス管理部12に入力されるクラス毎セル蓄積部セル数は、クラス毎に、全ての入力バッファ10のクラス毎セル蓄積部セル数の合計でよい。 Class per cell storage unit number of cells to be input to the class management unit 12, for each class, or the sum of all classes per cell storage unit number of cells in the input buffer 10. また、クラス多重化FIFOセル数も、全ての入力バッファ10の合計でよい。 Further, the class multiplexing number FIFO cells also may be a sum of all the input buffers 10.
【0101】 [0101]
合計の演算はクラス管理部12の内部で行なっても良いし、クラス管理部12の外部で行なっても良い。 It computation of the total may be performed inside the class management unit 12, may be performed outside the class management unit 12.
【0102】 [0102]
セル数情報はクラス管理部12において比較的小さなしきい値と大小を判定する。 The number of cells information determines a relatively small threshold and the magnitude in the class management unit 12. しきい値が固定値であるか動的に変化する値であるかはクラス管理部12のアルゴリズムに依存するが、もししきい値がある固定値の場合はセル数の代わりにその比較結果をクラス管理部に入力してもよい。 Although either a value threshold is dynamically changed or is a fixed value depends on the algorithm of the class management unit 12, if in the case of a fixed value with the threshold to the comparison result, instead of the number of cells it may be input to the class management unit. または、ある値以上はどのような値でもクラス管理部12の処理に影響を与えないのなら、それを利用してその値以上は一つの符号に符号化して入力しても良い。 Or, there if the value more than any value does not affect the processing of the class management unit 12, the value or may be input by encoding the one code and use it. 例えば4ビットで、セル数を(0000)=0、(0001)=1、(0010)=2、(0011)=3、…、(1101)=13、(1110)=14、(1111)=15以上、という16段階に符号化するなどとしてもよい。 For example, 4 bits, the number of cells (0000) = 0, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, (1111) = 15 above, it may be such as to encode the 16 stages of. これによりクラス管理部12への入力情報を圧縮することができ、実装が容易になるという利点がある。 This makes it possible to compress the input information into the class management unit 12, there is an advantage that mounting is facilitated.
【0103】 [0103]
セル数の合計を扱うことにより、クラス管理部12の実装を簡単化することができる。 By handling the total number of cells, it is possible to simplify the implementation of the class management unit 12. 転送クラス指示も全ての入力バッファに同じ情報を同報することから、クラス管理部は入力バッファを個々に認識する必要がない。 Transfer class indication also the same information in all the input buffers since the broadcasting, the class management unit does not need to recognize the input buffer individually. よって入力ポート数が多くなっても本質的な実装の困難度は変化しないという利点がある。 Therefore, the essential difficulty of implementation is also an increasing number of number of input ports has the advantage that it does not change.
【0104】 [0104]
クラス管理部12が転送指示を決定するアルゴリズムは例えば次のようなものである。 Algorithm class management unit 12 determines the transfer instruction is as follows, for example.
【0105】 [0105]
1. 1. クラス多重化FIFOセル数より、クラス多重化FIFOがアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 From the class multiplexing number FIFO cells, class multiplexing FIFO is determined whether or not underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、クラス多重化FIFOセル数がゼロになり、本来出力できるはずのクラス毎セル蓄積部のセルが有効に出力できない状態をいう。 And underflow, class multiplexing number FIFO cells becomes zero, a state in which cells can not be effectively output classes per cell storage unit that should be originally output.
【0106】 [0106]
2. 2. クラス毎セル蓄積部セル数より、入力バッファ10にセルが蓄積されているクラスを転送指示の候補とする。 Over class per cell storage unit number of cells, a class cells are stored in the buffer 10 as a candidate for the transfer instruction.
【0107】 [0107]
3. 3. 転送指示を行なうことができる場合に、転送指示の候補となっているクラスの中で最も優先度の高いクラスを求め、そのクラスの転送を指示する。 If the can transfer instruction, obtains the highest priority class in a class that is a candidate for transfer instruction, and instructs the transfer of that class.
【0108】 [0108]
クラス管理部12は出力バッファの状態とバックプレッシャ信号を直接考慮せずに転送クラス指示を行なう。 Class management unit 12 performs the transfer class instructions without regard to state and back pressure signal of the output buffer directly. そのため、転送クラス指示によるセルの転送スループットが、入力バッファ10からのセル出力スループットを、上回ることがあり、その差を一時的に吸収するためにクラス多重化FIFO14が用意されている。 Therefore, transfer throughput of the cell by the transfer class instruction, the cell output throughput from the input buffer 10, may exceed the class multiplexing FIFO14 is prepared to temporarily absorb the difference. クラス管理部12はクラス多重化FIFOセル数を知ることで、転送クラス指示によるセル転送のスループットが、入力バッファ10からのセル出力スループットを、長時間連続して越えないように制御する。 Class management unit 12 Knowing the number of class multiplexing FIFO cell, the throughput of the cell transfer by the transfer class instruction, the cell output throughput from the input buffer 10 is controlled so as not to exceed continuously for a long time.
【0109】 [0109]
クラス毎セル蓄積部13からクラス多重化FIFO14へ実際に転送したセルを全ての入力バッファ10で合計したセル数(クラス毎転送セル数)をクラス管理部12が知ることにより、より詳細なクラス間の優先制御を行なうことができる。 Number of cells total actually transfer the cell from the class per cell storage section 13 to the class multiplexing FIFO14 for all input buffers 10 by the (number of classes each transfer cell) class manager 12 knows, inter more detailed class it can be performed in the priority control.
【0110】 [0110]
この場合、クラス管理部12が転送指示を決定するアルゴリズムは例えば次のようなものである。 In this case, the algorithm class management unit 12 determines the transfer instruction is as follows, for example.
【0111】 [0111]
1. 1. クラス多重化FIFO内セル数より、クラス多重化FIFOがアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 From the class multiplexing FIFO in the number of cells, classes multiplexed FIFO is determined whether or not underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、クラス多重化FIFOセル数がゼロになり、本来出力できるはずのクラス毎セル蓄積部13のセルが有効に出力できない状態をいう。 Underflow and becomes to zero the number of classes multiplexed FIFO cell, it refers to a state in which the cells of classes per cell storage unit 13 that should be originally output can not be effectively output.
【0112】 [0112]
2. 2. クラス毎セル蓄積部セル数より、入力バッファにセルが蓄積されているクラスを転送指示の候補とする。 Over class per cell storage unit number of cells, a class cells are stored in the buffer as a candidate for the transfer instruction.
【0113】 [0113]
3. 3. クラス毎転送セル数より、クラス毎に予め定められたスループット以上のスループットを得ているクラスは、その程度に応じて転送指示する優先度を下げる。 From the class each transfer the number of cells, classes that obtained the predetermined throughput than the throughput for each class, lower the priority of transfer instruction in accordance with the degree. または転送指示の候補としない。 Or not a candidate for the transfer instruction.
【0114】 [0114]
4. 4. クラス毎転送セル数より、クラス毎に予め定められたスループット以下のスループットしか得ていないクラスは、その程度に応じて転送指示する優先度を上げる。 From the class each transfer the number of cells, not getting only predetermined following throughput throughput class for each class, increase the priority of transfer instruction in accordance with the degree.
【0115】 [0115]
5. 5. 転送指示を行なうことができる場合に、転送指示の候補となっているクラスの中で最も優先度の高いクラスを求め、そのクラスの転送を指示する。 If the can transfer instruction, obtains the highest priority class in a class that is a candidate for transfer instruction, and instructs the transfer of that class.
【0116】 [0116]
1.2 第2の実施形態次に、第2の実施形態について説明する。 1.2 The following second embodiment, a second embodiment will be described.
【0117】 [0117]
図2に、第2の実施形態に係るクラス間の優先制御を行なうセル多重化装置の他の構成例を示す。 Figure 2 shows another configuration example of a cell multiplexing apparatus for performing priority control among classes according to the second embodiment.
【0118】 [0118]
図2のセル多重化装置は、入力ポート#1〜#Nのそれぞれに対応して設けられ、各入力ポート#1〜#Nから入力したセルを一時的に蓄積する複数の入力バッファ100と、入力バッファ100の出力したセルを多重化し出力ポートへ出力する出力バッファ111と、全ての入力バッファ100を管理するクラス管理部112とを備える。 Cell multiplexing device of Fig. 2 are provided corresponding to the respective input ports #. 1 to # N, a plurality of input buffers 100 for temporarily storing cells entered from the input port #. 1 to # N, the output by the cells of the input buffer 100 and an output buffer 111 for outputting the multiplexed output port, and a class management unit 112 for managing all the input buffers 100.
【0119】 [0119]
入力バッファ100は、入力したセルをクラス(クラス1〜クラス3)毎に蓄積するクラス毎のセル蓄積部113(クラス1セル蓄積部113a、クラス2セル蓄積部113b、クラス3セル蓄積部113c)と、セル蓄積部113から出力したセルを多重化し出力バッファ111へ出力するクラス多重化FIFO114を備えている。 Input buffer 100, class inputted cell (Class 1 Class 3) cell storage unit for each class stored in each 113 (Class 1 cell storage unit 113a, the class 2 cell storage unit 113b, class 3 cell storage unit 113c) When, and a class multiplexing FIFO114 to be outputted to multiplexing output buffer 111 cells outputted from the cell storage unit 113.
【0120】 [0120]
クラス管理部112は、セル蓄積部113のクラス毎セル蓄積部セル数と、出力バッファ内セル数を得て、予め定められたアルゴリズムより転送クラス指示を決定して全ての入力バッファ100へ同報する。 Class management unit 112, and the class for each cell storage unit number of cells of the cell storage unit 113, obtains the number of the cell output buffer, distribution and determines the transfer class indication from the predetermined algorithm to all input buffers 100 to.
【0121】 [0121]
入力バッファ100に同報された転送クラス指示で指示されたクラスのセル蓄積部113は、セルをクラス多重化FIFO114へ転送し、クラス多重化FIFO114は、出力バッファ111内の輻輳状態に応じたバックプレッシャ信号の制御に従って出力バッファ111へセルを出力する。 Input buffer cell storing part 113 of the class indicated by 100 broadcast has been forwarded class indication in transfers cells to the class multiplexing FIFO 114, the class multiplexing FIFO 114 is in accordance with the congestion state in the output buffer 111 back and it outputs the cell to the output buffer 111 in accordance with control of the pressure signal.
【0122】 [0122]
クラス毎セル蓄積部113は通常はFIFOで構成される。 Class per cell storage unit 113 is usually composed of FIFO.
【0123】 [0123]
図2は3クラス(クラス1〜クラス3)の場合を示したが、第2の実施形態はクラス数に関わらず有効に作用する。 Figure 2 shows the case of three classes (class 1 to class 3), the second embodiment effectively acts regardless of the number of classes.
【0124】 [0124]
図2を、セルスイッチの、各出力ポートに関する部分と考えるとセルスイッチについても第2の実施形態を適用できる。 2, the cell switch can also be applied to the second embodiment for the cell switches Considering that part relating to each output port.
【0125】 [0125]
図2の出力バッファ111は、どんな状況においてもクラス多重化FIFOのセルをある有限の時間内で出力ポートに出力できることを保証できれば、どんな形態でもよい。 The output buffer 111 of FIG. 2, if ensure that it can output to an output port even cell class multiplexing FIFO within a certain finite time in any situation, may be of any form.
【0126】 [0126]
例えば、図4に示す構成でもかまわない。 For example, it may be the configuration shown in FIG.
【0127】 [0127]
なお、この場合、バックプレッシャ生成部20はクラス管理部112に存在してもよい。 In this case, backpressure generation unit 20 may be present in the class management unit 112. 出力バッファ内セル数Nmは、バックプレッシャ生成部20にて加算し、図2のクラス管理部112へ出力する。 Output cell number Nm in the buffer, adds at backpressure generation unit 20, and outputs it to the class management unit 112 of FIG.
【0128】 [0128]
第2の実施形態のクラス間の優先制御を行うセル多重化装置によれば、高いスループットが必要な出力バッファにてクラスを識別する必要がないため、容易に実現することが可能である。 According to the cell multiplexing device for performing priority control among classes in the second embodiment, since there is no need to identify a class in the required output buffer is high throughput, it is possible to easily realize. 入力バッファ100はクラス毎にセルを管理する必要があるが、入力バッファ100に必要なスループットは低いため実現が容易である。 Although the input buffer 100 is required to manage the cells for each class, the throughput required for the input buffer 100 is easy to implement because less.
【0129】 [0129]
図2のセル多重化装置の構成をさらに詳細に説明する。 Further detailed description of the configuration of the cell multiplexing device of Fig.
【0130】 [0130]
クラス管理部112に入力されるクラス毎セル蓄積部セル数は、クラス毎に、全ての入力バッファ100のクラス毎セル蓄積セル数の合計でよい。 Class manager 112 classes per cell storage unit number of cells to be inputted to, for each class, or the sum of all classes each cell number of stored cells in the input buffer 100.
【0131】 [0131]
合計の演算はクラス管理部112の内部で行なっても良いし、クラス管理部112の外部で行なっても良い。 It computation of the total may be performed inside the class management unit 112 may be performed outside the class management unit 112.
【0132】 [0132]
セル数情報はクラス管理部112において比較的小さなしきい値と大小を判定する。 The number of cells information determines a relatively small threshold and the magnitude in the class management unit 112. しきい値が固定値であるか動的に変化する値であるかはクラス管理部112のアルゴリズムに依存するが、もししきい値がある固定値の場合はセル数の代わりにその比較結果をクラス管理部112に入力してもよい。 Although either a value threshold is dynamically changed or is a fixed value depends on the algorithm of the class management unit 112, if in the case of a fixed value with the threshold to the comparison result, instead of the number of cells it may be input to the class management unit 112. または、ある値以上はどのような値でもクラス管理部112の処理に影響を与えないのなら、それを利用してその値以上は一つの符号に符号化して入力しても良い。 Or, there if the value more than any value does not affect the processing of the class management unit 112, the value or may be input by encoding the one code and use it. 例えば4ビットで、セル数を(0000)=0、(0001)=1、(0010)=2、(0011)=3、…、(1101)=13、(1110)=14、(1111)=15以上、という16段階に符号化するなどとしてもよい。 For example, 4 bits, the number of cells (0000) = 0, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, (1111) = 15 above, it may be such as to encode the 16 stages of. これによりクラス管理部への入力情報を圧縮することができ、実装が容易になるという利点がある。 This makes it possible to compress the input information into the class management unit, there is an advantage that mounting is facilitated.
【0133】 [0133]
セル数の合計を扱うことにより、クラス管理部112の実装を簡単化することができる。 By handling the total number of cells, it is possible to simplify the implementation of the class management unit 112. 転送クラス指示も全ての入力バッファ100に同じ情報を同報することから、クラス管理部112は入力バッファ100を個々に認識する必要がない。 The same information to the transfer class indication also all input buffers 100 from the broadcasting, the class management unit 112 does not need to recognize the input buffer 100 individually. よって入力ポート数が多くなっても本質的な実装の困難度は変化しないという利点がある。 Therefore, the essential difficulty of implementation is also an increasing number of number of input ports has the advantage that it does not change.
【0134】 [0134]
クラス管理部112が転送指示を決定するアルゴリズムは例えば次のようなものである。 Algorithm class management unit 112 determines the transfer instruction is as follows, for example.
【0135】 [0135]
1. 1. 出力バッファ111内セル数より、出力バッファ111がアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 Than the number in the cell output buffer 111, output buffer 111 to determine whether they underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、出力バッファセル数がゼロになり、本来出力できるはずのクラス毎セル蓄積部113のセルが有効に出力できない状態をいう。 Underflow and the output number of buffer cells becomes zero, it means a state in which the cells of classes per cell storage unit 113 that should be originally output can not be effectively output.
【0136】 [0136]
2. 2. クラス毎セル蓄積部セル数より、入力バッファ100にセルが蓄積されているクラスを転送指示の候補とする。 Over class per cell storage unit number of cells, the class to which the cell in the input buffer 100 is accumulated as a candidate for the transfer instruction.
【0137】 [0137]
3. 3. 転送指示を行なうことができる場合に、転送指示の候補となっているクラスの中で最も優先度の高いクラスを求め、そのクラスの転送を指示する。 If the can transfer instruction, obtains the highest priority class in a class that is a candidate for transfer instruction, and instructs the transfer of that class.
【0138】 [0138]
クラス管理部112は出力バッファ111の状態を直接考慮して転送クラス指示を行なう。 Class management unit 112 transfers class indication in view of the state of the output buffer 111 directly. そのため出力バッファ111のバッファ量を十分用意すれば、バックプレッシャ信号が入力バッファからのセル出力を抑制することがなく、クラス多重化FIFO114は基本的に不要である。 If enough prepared buffer amount of the consequent output buffer 111, without back pressure signal to suppress the cell output from the input buffer, the class multiplexing FIFO114 is basically unnecessary. クラス管理部112は出力バッファ内セル数を知ることで、転送クラス指示によるセル転送のスループットが、出力バッファ111からのセル出力スループットを、長時間連続して越えないように制御する。 Class management unit 112 Knowing the number of the cell output buffer, the throughput of the cell transfer by the transfer class instruction, the cell output throughput from the output buffer 111 is controlled so as not to exceed continuously for a long time.
【0139】 [0139]
このように入力バッファ100へのバックプレッシャ信号およびクラス多重化FIFO114は基本的に不要であるが、出力バッファ111のバッファ量が十分でない場合には有効に作用する。 This back pressure signal and the class multiplexing FIFO114 to the input buffer 100, as is basically unnecessary, effectively acts when the buffer amount of the output buffer 111 is not sufficient. これらを備えていれば無い場合に比べ出力バッファ111のバッファ量を少なくできる。 The buffer amount of the output buffer 111 as compared to the case without long as it has these can be reduced.
【0140】 [0140]
クラス毎セル蓄積部113からクラス多重化FIFO114へ実際に転送したセルを全ての入力バッファで合計したセル数(クラス毎転送セル数)をクラス管理部112が知ることにより、より詳細なクラス間の優先制御を行なうことができる。 Class per cell storage unit 113 from the actual summed number of cells in all the input buffers the transferred cell to the class multiplexing FIFO114 by the (number of classes each transfer cell) class manager 112 knows, among more classes it can perform priority control.
【0141】 [0141]
この場合、クラス管理部112が転送指示を決定するアルゴリズムは例えば次のようなものである。 In this case, the algorithm class management unit 112 determines the transfer instruction is as follows, for example.
【0142】 [0142]
1. 1. 出力バッファ111内セル数より、出力バッファ111がアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 Than the number in the cell output buffer 111, output buffer 111 to determine whether they underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、出力バッファセル数がゼロになり、本来出力できるはずのクラス毎セル蓄積部113のセルが有効に出力できない状態をいう。 Underflow and the output number of buffer cells becomes zero, it means a state in which the cells of classes per cell storage unit 113 that should be originally output can not be effectively output.
【0143】 [0143]
2. 2. クラス毎セル蓄積部セル数より、入力バッファ100にセルが蓄積されているクラスを転送指示の候補とする。 Over class per cell storage unit number of cells, the class to which the cell in the input buffer 100 is accumulated as a candidate for the transfer instruction.
【0144】 [0144]
3. 3. クラス毎転送セル数より、クラス毎に予め定められたスループット以上のスループットを得ているクラスは、その程度に応じて転送指示する優先度を下げる。 From the class each transfer the number of cells, classes that obtained the predetermined throughput than the throughput for each class, lower the priority of transfer instruction in accordance with the degree. または転送指示の候補としない。 Or not a candidate for the transfer instruction.
【0145】 [0145]
4. 4. クラス毎転送セル数より、クラス毎に予め定められたスループット以下のスループットしか得ていないクラスは、その程度に応じて転送指示する優先度を上げる。 From the class each transfer the number of cells, not getting only predetermined following throughput throughput class for each class, increase the priority of transfer instruction in accordance with the degree.
【0146】 [0146]
5. 5. 転送指示を行なうことができる場合に、転送指示の候補となっているクラスの中で最も優先度の高いクラスを求め、そのクラスの転送を指示する。 If the can transfer instruction, obtains the highest priority class in a class that is a candidate for transfer instruction, and instructs the transfer of that class.
【0147】 [0147]
1.3 第1、第2の実施形態に係るセル多重化装置の利点以上、説明したように、上記第1、第2の実施形態のクラス間の優先制御を行なうセル多重化装置によれば、高いスループットが必要な出力バッファにてクラスを識別する必要がないため、入力ポート数が大きな場合においても実現が容易であるという利点がある。 1.3 the first and second embodiments above advantages of the cell multiplexing device according, as described, the first, according to the cell multiplexing apparatus for performing priority control among classes in the second embodiment , since there is no need to identify a class in the required output buffer is high throughput, there is an advantage that the number of input ports is easily realized in a large case.
【0148】 [0148]
2. 2. 公平キューイング(第3〜第7の実施形態) Fair queuing (third to seventh embodiments)
次に、本発明に係るVC間公平キューイングを行なうセル多重化装置の実施形態について説明する。 Next, an embodiment of a cell multiplexing device for performing VC between fair queuing according to the present invention.
【0149】 [0149]
2.1 第3の実施形態(出力バッファ型のセル多重化装置) 2.1 Third Embodiment (output buffer type cell multiplexing device)
図5に、第3の実施形態に係るVC間公平キューイングを行なうセル多重化装置の構成例を示す。 5 shows a configuration example of a cell multiplexing device for performing VC between fair queuing according to the third embodiment.
【0150】 [0150]
図5のセル多重化装置は、出力バッファ型と呼ばれ、入力ポート#1〜#Nのそれぞれに対応して設けられ、入力ポート#1〜#Nから入力したセルを、入力ポート数N倍の速度に速度変換する複数の速度変換回路200と、速度変換回路200の出力したセルを一時的に蓄積し出力ポートへ出力する出力バッファ201とを備える。 Cell multiplexing device of Fig. 5 is referred to as an output buffer type, provided corresponding to the respective input ports #. 1 to # N, the cells input from the input port #. 1 to # N, the number of input ports N times comprising a plurality of speed conversion circuit 200 for speed conversion in speed, and an output buffer 201 for outputting the output by the cell of speed conversion circuit 200 to the temporarily stored output port.
【0151】 [0151]
出力バッファ201は、入力したセルをVC毎に分離するVC分離部201aと、各VC毎に設けられる複数のVC毎FIFO201bと、複数のVC毎FIFO201bのそれぞれから出力されるセルを選択して出力ポートへ出力するセル選択部201cを備えている。 The output buffer 201 includes a VC separating unit 201a for separating the inputted cell in every VC, and a plurality of VC per FIFO201b provided for each VC, and selecting cells to be output from each of the plurality of VC per FIFO201b output and a cell selection unit 201c to be output to the port.
【0152】 [0152]
VC毎FIFO201bは十分良好なセル廃棄率を得るためには大容量でなければならない。 VC every FIFO201b in order to obtain a sufficiently good cell loss ratio must be greater capacity. またノンブロッキング条件より、VC毎FIFO201bの入力速度は入力ポートのN倍でなければならない。 Also from the non-blocking condition, the input speed of the VC every FIFO201b must be N times the input port. 入力ポートの速度が大きい場合や、入力ポート数が多い場合は、この様なスループットを満足する高速大容量のメモリは安価ではなく、かつ、この様なスループットを満足しつつ複雑なVC毎のキュー管理を行なうことも困難である。 If the speed of the input port is large or, if the number of input ports is large, the memory of high-speed large-capacity to meet such a throughput is not inexpensive, and the queue of each complex VC while satisfying such a throughput it is also difficult to carry out the management.
【0153】 [0153]
2.2 第4の実施形態(「カゴ」という概念を用いたセル多重化装置) 2.2 Fourth Embodiment (cell multiplexing apparatus using a concept of "basket")
次に、第4の実施形態について説明する。 Next, a fourth embodiment will be described.
【0154】 [0154]
図6に、第4の実施形態に係るカゴと呼ぶ概念を用いたセル多重化装置の構成例を示す。 6 shows a configuration example of a cell multiplexing apparatus using a concept called a basket according to the fourth embodiment.
【0155】 [0155]
図6に示したセル多重化装置は、入力ポート#1〜#Nのそれぞれに対応して設けられ、入力ポート#1〜#Nから入力したセルを一時的に蓄積する複数の入力バッファ210と、各入力バッファ210の出力したセルを多重化し出力ポートへ出力する出力バッファ211とを備え、出力バッファ211内の輻輳状態に応じてバックプレッシャ信号により各入力バッファ210のセル出力を制御する。 Cell multiplexing apparatus shown in FIG. 6 are provided corresponding to the respective input ports #. 1 to # N, a plurality of input buffers 210 for temporarily storing the cells inputted from the input port #. 1 to # N the outputs cells of each input buffer 210 and an output buffer 211 for outputting the multiplexed output port, controls the cell output of each input buffer 210 by the back pressure signal in response to the congestion state in the output buffer 211.
【0156】 [0156]
このセル多重化装置は、出力許可済セル集合を管理するカゴ管理部212を備える。 The cell multiplexing apparatus includes a basket management unit 212 for managing the output permission already cell set.
【0157】 [0157]
入力バッファ210に蓄積されているセルのうち、出力を許可されたセルの集合(出力許可済セル集合)をカゴと呼ぶ。 Of the cells stored in the input buffer 210, called a set of cells are allowed to output (output enable already set of cells) and basket. 入力バッファ210から出力するセルはカゴ213から選択する。 Cell output from the input buffer 210 is selected from the basket 213.
【0158】 [0158]
カゴ管理部212は、カゴ213に含まれるセル数を入力し、予め定められたアルゴリズムよりカゴ213へのセル転送指示を決定して全ての入力バッファ210へ同報する。 Basket management unit 212 receives the number of cells contained in basket 213 broadcasts to all of the input buffer 210 to determine the cell transfer command to the basket 213 from the predetermined algorithm.
【0159】 [0159]
入力バッファ210は、セル転送指示により、カゴ213として確定されたセル以外の入力バッファ210に蓄積されているセルで、同一の時刻までに出力すべきセルの集合214をカゴ213に加える。 Input buffer 210, the cell transfer instruction, in cells stored in the input buffer 210 other than the determined cells as basket 213, adding a set of cells 214 to be output until the same time the basket 213.
【0160】 [0160]
図6を、セルスイッチの、各出力ポートに関する部分と考えるとセルスイッチについても第4の実施形態を適用できる。 6, the cell switch can also be applied to the fourth embodiment for the cell switch Considering that part relating to each output port.
【0161】 [0161]
図6の出力バッファ211は、どんな状況においてもカゴのセルをある有限の時間内で出力ポートに出力できることを保証できれば、どんな形態でもよい。 The output buffer 211 of FIG. 6, if ensure that it can output to an output port of the cell cage even within a finite time in any situation, may be of any form.
【0162】 [0162]
例えば、バッファを全く持たずにカゴ213のセルを調停して出力ポートに出力する構成でもよい。 For example, may be configured to output at all to the output port arbitrates cells basket 213 without a buffer. また例えば図3または図4に示す構成でもかまわない。 The may be the configuration shown in FIG. 3 or FIG. 4, for example.
【0163】 [0163]
なお、図4において、バックプレッシャ生成部20はカゴ管理部212に存在しても良い。 In FIG. 4, the backpressure generation unit 20 may be present in the basket management unit 212.
【0164】 [0164]
第4の実施形態のVC間公平キューイングを行なうセル多重化装置によれば、高いスループットが必要な出力バッファは簡単な構成になっているため、容易に実現することが可能である。 According to the cell multiplexing device for performing fair queuing between VC of the fourth embodiment, since the output buffer requiring high throughput has a simple configuration, it is possible to easily realize. 入力バッファはカゴによりセルを管理する必要があるが、入力バッファに必要なスループットは低いため、実現の容易性は高い。 Although the input buffer is required which manages the cell by car, because throughput is low required input buffer, ease of realization is high.
【0165】 [0165]
図6のセル多重化装置の構成をさらに詳細に説明する。 Further detailed description of the configuration of the cell multiplexing device of Fig.
【0166】 [0166]
カゴ管理部212に入力されるカゴ内セル数は、全ての入力バッファ210のカゴ内セル数の合計でよい。 Basket in the number of cells to be inputted to the basket management unit 212 may be a sum of the basket in the number of cells in all the input buffers 210.
【0167】 [0167]
合計の演算はカゴ管理部212の内部で行なっても良いし、カゴ管理部212の外部で行なっても良い。 It computation of the total may be performed inside the basket management unit 212, may be performed outside the basket management unit 212.
【0168】 [0168]
セル数情報はカゴ管理部212において比較的小さなしきい値と大小を判定する。 The number of cells information determines a relatively small threshold and the magnitude in the basket management unit 212. しきい値が固定値であるか動的に変化する値であるかはカゴ管理部212のアルゴリズムに依存するが、もししきい値がある固定値の場合はセル数の代わりにその比較結果をカゴ管理部212に入力してもよい。 Although whether the value of the threshold changes dynamically or a fixed value depends on the algorithm of basket management unit 212, if in the case of a fixed value with the threshold to the comparison result, instead of the number of cells it may be input to the basket management unit 212. または、ある値以上はどのような値でもカゴ管理部212の処理に影響を与えないのなら、それを利用してその値以上は一つの符号に符号化して入力しても良い。 Or, some if not affect the processing of the basket management unit 212 be a value above any value, the value or may be input by encoding the one code and use it. 例えば4ビットで、セル数を(0000)=0、(0001)=1、(0010)=2、(0011)=3、…、(1101)=13、(1110)=14、(1111)=15以上、という16段階に符号化するなどとしてもよい。 For example, 4 bits, the number of cells (0000) = 0, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, (1111) = 15 above, it may be such as to encode the 16 stages of. これによりカゴ管理部212への入力情報を圧縮することができ、実装が容易になるという利点がある。 This makes it possible to compress the input information into the basket management unit 212, there is an advantage that mounting is facilitated.
【0169】 [0169]
セル数の合計を扱うことにより、カゴ管理部212の実装を簡単化することができる。 By handling the total number of cells, it is possible to simplify the implementation of the basket management unit 212. カゴへのセル転送指示も全ての入力バッファ210に同じ情報を同報することから、カゴ管理部212は入力バッファ210を個々に認識する必要がない。 The same information to the cell transfer command also all input buffers 210 to basket since the broadcasting, basket management unit 212 does not need to recognize the input buffer 210 individually. よって入力ポート数が多くなっても本質的な実装の困難度は変化しないという利点がある。 Therefore, the essential difficulty of implementation is also an increasing number of number of input ports has the advantage that it does not change.
【0170】 [0170]
カゴ管理部212がカゴ213へのセル転送指示を決定するアルゴリズムは例えば次のようなものである。 Algorithm basket management unit 212 determines a cell transfer command to the basket 213 is as follows, for example.
【0171】 [0171]
すなわち、カゴ内セル数Nkより、カゴ213内のセル数がアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 That is, from the basket in the cell number Nk, number of cells in basket 213, it is determined whether or not underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、カゴ内セル数Nkがゼロになり、本来出力できるはずの入力バッファ210のセルが有効に出力できない状態をいう。 The underflow becomes zero basket in the cell number Nk, it refers to a state in which cells can not be effectively output of the input buffer 210 that should be originally output.
【0172】 [0172]
入力バッファ210は、カゴ213へのセル転送指示に応じて、同一の時刻までに出力すべきセルの集合214をカゴ213に加える。 Input buffer 210, according to the cell transfer command to the basket 213, adding a set of cells 214 to be output until the same time the basket 213. 例えばVC毎に設定する値Nx で重み付けされたVC間公平キューイングを行なう場合において、同一の時刻までに出力すべきセルとは、各入力バッファ210内のカゴ213に入っていないセルでVC毎に最も古いNx 個のセルを集めたものである。 For example in the case of performing the VC between fair queuing which are weighted by the value Nx set for each VC, and the cell to be output to the same time, each VC in the cell that is not in the basket 213 in the input buffer 210 it is a collection of the oldest Nx number of the cell.
【0173】 [0173]
転送指示は全ての入力バッファ210に同報されるため、カゴ213には複数の入力バッファ210を通してVC間で公平にセルが入る。 Transfer instruction to be broadcast to all input buffers 210, it is fairly cells between VC enters through a plurality of input buffer 210 to the basket 213. カゴ213のセルをカゴ213の外のセルよりも優先して出力バッファ211に転送することにより、複数の入力バッファ210を通してVC間で公平にセルを出力バッファ211へ転送することが可能である。 By the cell of the car 213 in preference to the outer cells of the basket 213 is transferred to the output buffer 211, it is possible to transfer fairly cells among VC through a plurality of input buffers 210 to the output buffer 211.
【0174】 [0174]
出力バッファ211が、カゴ213から入力したセルをどんな場合でもある時間内に出力できる構成になっていれば、VC間で公平にカゴ213へ転送されたセルはその時間の遅延揺らぎを持って、出力ポートから出力される。 Output buffer 211, if it is configured that can output cells entered from the basket 213 to within a certain time in any case, the cells transferred fairly to basket 213 between the VC with a delay fluctuation of the time, is output from the output port.
【0175】 [0175]
図6は、例として、入力ポート#1、#2、#Nの入力バッファ210にそれぞれ2本、1本、3本のVCがキューイングされている状態を示している。 Figure 6 shows, as an example, an input port # 1, # 2, two each to an input buffer 210 of # N, 1, three of VC indicates the state of being queued. 全てのVCの重みが同じ時、VC間公平キューイングを行なえば、各入力バッファ210からの出力は2対1対3の割合になる必要がある。 When the weight of all the VC is the same, by performing the fair queuing between VC, the output from the input buffer 210 the need for a rate of 2: 1: 3. 本実施形態のセル多重化装置は、カゴ管理部212から全ての入力バッファ210へ同報されるカゴ213へのセル転送指示によって、カゴ213内のセル数は各入力バッファで2対1対3の割合になり、結果的に出力バッファからの出力も2対1対3の割合になる。 Cell multiplexing device of this embodiment, the cell transfer instruction from the basket management unit 212 to the basket 213 to be broadcast to all of the input buffer 210, the number of cells in the basket 213 is 2: 1: In each of the input buffer 3 it becomes the proportion of the output is also at a ratio of 2: 1: 3 from resulting in the output buffer.
【0176】 [0176]
カゴ213へのセルの入力方法には2通りの方法がある。 The input method of the cell to the basket 213 there are two ways. ここでは、転送を指示されたとき、各VC毎に最も古いNx 個(VC毎に設定する値)のセルをカゴに入れる場合を例にとって説明する。 Here, when it is instructed to transfer, it will be described as an example the case to put the basket cell oldest Nx pieces for each VC (value set for each VC).
【0177】 [0177]
ひとつの方法は、入力バッファ210に入力したセルがカゴ213に入れる条件を満たしていても最初はカゴ213の中へ入れない方法である。 One way is, first be cells that are input to the input buffer 210 is not meet the conditions to put in the basket 213 is a method that does not put into the basket 213. セルはカゴ管理部212からセル転送が指示された場合にのみカゴ213に転送される。 Cells are transferred only to the car 213 when the cell transfer has been instructed from the basket management unit 212. これにより、カゴ内セル数はカゴ管理部212がセル転送を指示した場合以外は減少する。 Thus, basket in number of cells basket management unit 212 is reduced except when instructed cell transfer.
【0178】 [0178]
別の方法は、入力バッファ210に入力したセルがカゴ213に入れる条件を満たしている時には最初からカゴ213の中へ入れてしまう方法である。 Another method is a method that would put into from the first basket 213 when the cell input to the input buffer 210 meets the conditions put to the basket 213. つまり転送指示の時点でNx 個のセルをカゴ213に転送したVCは次の転送指示があるまでセルをカゴ213に入れることができないが、転送指示の時点でセルをカゴ213に全く転送しなかったVC、または転送セル数がNx 個に満たないVCは、Nx 個になるまで入力セルを転送指示がなくてもカゴに213入れることができる。 In other words VC which transferred Nx pieces of cells to the basket 213 at the time of the transfer instruction is not able to put in a cell until the next transfer instruction to the basket 213, it did not completely transfer the cell to the basket 213 at the time of the transfer instruction VC to VC or the number of transfer cells, is less than Nx pieces were can be placed 213 in the basket without a transfer instruction input cells until Nx pieces. これにより、カゴ内セル数は転送指示と転送指示の間においても増加することがあるが、ほぼ全てのアクティブなVCがNx 個のセルを転送した段階で減少する。 Thus, although the car in the number of cells may also be increased during the transfer instruction and a transfer instruction, it decreases at the stage where nearly all active VC has transferred Nx pieces of cells. なお、本実施形態はどちらの方法においても有効に作用する。 The present embodiment also acts effectively in either way.
【0179】 [0179]
第4の実施形態のセル多重化装置の輻輳状態の判断は、VC毎に、トラヒックにより変動する情報を予め定められた方法により監視すれば良い。 Fourth determining congestion state of the cell multiplexing device of the embodiment, for each VC, it may be monitored by methods prescribed information that fluctuates in advance by the traffic. そして、この輻輳判断を元にVC毎に端末にトラヒック制御情報を通知すればよい。 Then, it may notify the traffic control information to the terminal for each VC this congestion determination based.
【0180】 [0180]
監視すべき変動する情報は、例えば蓄積セル数、一定時間あたりの入力セル数とその目標値との関係、一定個数のセルが入力する時間とその目標値との関係である。 Information that varies to be monitored, for example, the number of stored cells, a relationship between the number of input cells per fixed time relationship between the target value, and the time that the cell enters a predetermined number and the target value. 蓄積セル数が多いVC、一定時間あたりの入力セル数が目標値からかけ離れて多いVC、一定個数のセルが入力する時間がその目標値からかけ離れて短いVCを輻輳しているVCと判断する。 The number of stored cells is large VC, the number of input cells per predetermined time is large far from the target value VC, the time a cell enters the predetermined number is determined to VC which is congested short VC far from the target value.
【0181】 [0181]
輻輳しているVCのセルのヘッダにあるEFCIをマークすることや、通過するRMセルを書き換えることにより、端末にトラヒック制御情報を通知することができる。 And marking the EFCI in the header of a cell of VC which is congested, by rewriting an RM cell passing through, it is possible to notify the traffic control information to the terminal.
【0182】 [0182]
2.3 第5の実施形態(「カゴ」という概念を用いたセル多重化装置の他の実施形態) 2.3 Fifth Embodiment (another embodiment of the cell multiplexing apparatus using a concept of "basket")
次に、第5の実施形態について説明する。 Next, a fifth embodiment is described.
【0183】 [0183]
図7に、第5の実施形態に係るカゴと呼ぶ概念を用いたセル多重化装置の他の構成例を示す。 Figure 7 shows another exemplary configuration of the cell multiplexing apparatus using a concept called a basket according to the fifth embodiment.
【0184】 [0184]
図7に示したセル多重化装置は、入力ポート#1〜#Nのそれぞれに対応して設けられ、各入力ポート#1〜#Nから入力したセルを一時的に蓄積する複数の入力バッファ220と、入力バッファ220の出力したセルを多重化し出力ポートへ出力する出力バッファ221とを備え、出力バッファ221内の輻輳状態に応じてバックプレッシャ信号により入力バッファ220のセル出力を制御する。 Cell multiplexing apparatus shown in FIG. 7 are provided corresponding to the respective input ports #. 1 to # N, a plurality of input buffers 220 for temporarily storing cells entered from the input port #. 1 to # N If, and an output buffer 221 for outputting the output by the cell of the input buffer 220 to the multiplexer output port, controls the cell output of the input buffer 220 by the back pressure signal in response to the congestion state in the output buffer 221.
【0185】 [0185]
このセル多重化装置は、出力許可済セル集合を管理するカゴ管理部222を備える。 The cell multiplexing apparatus includes a basket management unit 222 for managing the output permission already cell set.
【0186】 [0186]
入力バッファ220に蓄積されているセルのうち、出力を許可されたセルの集合(出力許可済セル集合)をカゴと呼ぶ。 Of the cells stored in the input buffer 220, called a set of cells are allowed to output (output enable already set of cells) and basket. 入力バッファから出力するセルはカゴ223から選択する。 Cells outputted from the input buffer is selected from the basket 223.
【0187】 [0187]
カゴ管理部222は、出力バッファ内セル数を入力し、予め定められたアルゴリズムよりカゴ223へのセル転送指示を決定して全ての入力バッファ220へ同報する。 Basket management unit 222 receives the number in the cell output buffer broadcasts to all of the input buffer 220 to determine the cell transfer command to the car 223 from the predetermined algorithm.
【0188】 [0188]
入力バッファ220は、セル転送指示により、カゴ223以外の入力バッファ220に蓄積されているセルで同一の時刻までに出力すべきセルの集合224をカゴ223に加える。 Input buffer 220, the cell transfer instruction is added to set of cells 224 to be output until the same time the cell stored in the input buffer 220 other than cage 223 to basket 223.
【0189】 [0189]
図7を、セルスイッチの、各出力ポートに関する部分と考えるとセルスイッチについても本実施形態を適用できる。 7, the cell switch can also apply the present embodiment for the cell switches Considering that part relating to each output port.
【0190】 [0190]
図7の出力バッファ221は、どんな状況においてもカゴ223のセルをある有限の時間内で出力ポートに出力できることを保証できれば、どんな形態でもよい。 The output buffer 221 of FIG. 7, if ensure that it can output to the output port within a certain finite time cell cage 223 In any circumstances, be any form.
【0191】 [0191]
例えば、図4に示す構成でもかまわない。 For example, it may be the configuration shown in FIG. この場合、バックプレッシャ生成部20はカゴ管理部222に存在しても良い。 In this case, backpressure generation unit 20 may be present in the basket management unit 222. 出力バッファ内セル数はバックプレッシャ生成部20にて加算し、カゴ管理部222へ出力する。 The number in the cell output buffer is added by the backpressure generation unit 20, and outputs it to the basket management unit 222.
【0192】 [0192]
第5の実施形態に係るVC間公平キューイングを行なうセル多重化装置によれば、高いスループットが必要な出力バッファは簡単な構成になっているため、容易に実現することが可能である。 According to the cell multiplexing device for performing fair queuing between VC according to the fifth embodiment, since the output buffer requiring high throughput has a simple configuration, it is possible to easily realize. 入力バッファはカゴによりセルを管理する必要があるが、入力バッファに必要なスループットは低いため、実現の容易性は高い。 Although the input buffer is required which manages the cell by car, because throughput is low required input buffer, ease of realization is high.
【0193】 [0193]
図7のセル多重化装置の構成をさらに詳細に説明する。 Further detailed description of the configuration of the cell multiplexing device of Fig.
【0194】 [0194]
セル数情報はカゴ管理部222において比較的小さなしきい値と大小を判定する。 The number of cells information determines a relatively small threshold and the magnitude in the basket management unit 222. しきい値が固定値であるか動的に変化する値であるかはカゴ管理部222のアルゴリズムに依存するが、もししきい値がある固定値の場合はセル数の代わりにその比較結果をカゴ管理部222に入力してもよい。 Although whether the value of the threshold changes dynamically or a fixed value depends on the algorithm of basket management unit 222, if in the case of a fixed value with the threshold to the comparison result, instead of the number of cells it may be input to the basket management unit 222. または、ある値以上はどのような値でもカゴ管理部222の処理に影響を与えないのなら、それを利用してその値以上は一つの符号に符号化して入力しても良い。 Or, some if not affect the processing of the basket management unit 222 be a value above any value, the value or may be input by encoding the one code and use it. 例えば4ビットで、セル数を(0000)=0、(0001)=1、(0010)=2、(0011)=3、…、(1101)=13、(1110)=14、(1111)=15以上、という16段階に符号化するなどとしてもよい。 For example, 4 bits, the number of cells (0000) = 0, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, (1111) = 15 above, it may be such as to encode the 16 stages of. これによりカゴ管理部222への入力情報を圧縮することができ、実装が容易になるという利点がある。 This makes it possible to compress the input information into the basket management unit 222, there is an advantage that mounting is facilitated.
【0195】 [0195]
カゴ管理部222がカゴ223へのセル転送指示を決定するアルゴリズムは例えば次のようなものである。 Algorithm basket management unit 222 determines a cell transfer command to the cage 223 are, for example, as follows.
【0196】 [0196]
すなわち、出力バッファ内セル数より、出力バッファ221内のセル数がアンダフローしないかどうかを判断し、アンダフローする可能性があると判断した場合のみアンダフローしないように転送指示を行なう。 That is, from the number of output buffers in the cell, the output number of cells in the buffer 221 to determine whether they underflow, transfers instructed not to underflow only if it is determined that there is a possibility that the underflow. アンダフローとは、出力バッファ内セル数がゼロになり、本来出力できるはずの入力バッファ220のセルが有効に出力できない状態をいう。 And underflow, the output buffer cell count is zero, a state in which cells can not be effectively output of the input buffer 220 that should be originally output.
【0197】 [0197]
入力バッファ220は、カゴ223へのセル転送指示に応じて、同一の時刻までに出力すべきセルの集合224をカゴ223に加える。 Input buffer 220, according to the cell transfer command to the car 223 adds the set of cells 224 to be output until the same time the basket 223. 例えばVC毎に設定する値Nx で重み付けされたVC間公平キューイングを行なう場合において、同一の時刻までに出力すべきセルの集合とは、各入力バッファ内のカゴ223に入っていないセルでVC毎に最も古いNx 個のセルを集めたものである。 For example in the case of performing the VC between fair queuing which are weighted by the value Nx set for each VC, and the set of cells to be output until the same time, VC in the cell that is not in the basket 223 in each input buffer it is a collection of the oldest Nx number of cells in each.
【0198】 [0198]
転送指示は全ての入力バッファに同報されるため、カゴ223には複数の入力バッファを通してVC間で公平にセルが入る。 Transfer instruction to be broadcast to all input buffers, are fairly cells between VC enters through a plurality of input buffers in the basket 223. カゴ223のセルをカゴの外のセルよりも優先して出力バッファ221に転送することにより、複数の入力バッファ220を通してVC間で公平にセルを出力バッファ221へ転送することが可能である。 By the cell of the car 223 in preference to the outer cells of the car is transferred to the output buffer 221, it is possible to transfer fairly cells among VC through a plurality of input buffer 220 to the output buffer 221. 出力バッファ221が、カゴ223から入力したセルをどんな場合でもある時間内に出力できる構成になっていれば、VC間で公平にカゴ223へ転送されたセルはその時間の遅延揺らぎを持って、出力ポートから出力される。 Output buffer 221 if it is configured that can output cells entered from the basket 223 within a certain time in any case, the cells transferred fairly to basket 223 between the VC with a delay fluctuation of the time, is output from the output port.
【0199】 [0199]
図7は、例として、入力ポート#1、#2、#Nの入力バッファ220にそれぞれ2本、1本、3本のVCがキューイングされている状態を示している。 Figure 7 shows, as an example, an input port # 1, # 2, two each to an input buffer 220 of # N, 1, three of VC indicates the state of being queued. 全てのVCの重みが同じ時、VC間公平キューイングを行なえば、各入力バッファ220からの出力は2対1対3の割合になる必要がある。 When the weight of all the VC is the same, by performing the fair queuing between VC, the output from the input buffer 220 is the need for a rate of 2: 1: 3.
【0200】 [0200]
図7のセル多重化装置は、カゴ管理部222から全ての入力バッファ220へ同報されるカゴ223へのセル転送指示によって、カゴ内のセル数は各入力バッファで2対1対3の割合になり、結果的に出力バッファ221からの出力も2対1対3の割合になる。 Cell multiplexing device of Fig. 7, the cell transfer instruction from the basket management unit 222 to the basket 223 to be broadcast to all of the input buffer 220, the cell number ratio of 2: 1: 3 in each input buffer in the basket to be output also to the rate of 2: 1: 3 from resulting in the output buffer 221.
【0201】 [0201]
カゴ223へのセルの入力方法には2通りの方法がある。 The input method of the cell to the basket 223 in two ways. ここでは、転送を指示されたとき、各VC毎に最も古いNx 個(VC毎に設定する値)のセルをカゴに入れる場合を例にとって説明する。 Here, when it is instructed to transfer, it will be described as an example the case to put the basket cell oldest Nx pieces for each VC (value set for each VC).
【0202】 [0202]
ひとつの方法は、入力バッファ220に入力したセルがカゴ223に入れる条件を満たしていても最初はカゴの中へ入れない方法である。 One way is, first be cells that are input to the input buffer 220 is not meet the conditions to put in the basket 223 is a method that does not put into the basket. セルはカゴ管理部222からセル転送が指示された場合にのみカゴ223に転送される。 Cells are transferred only to the car 223 when the cell transfer has been instructed from the basket management unit 222. これにより、カゴ内セル数はカゴ管理部222がセル転送を指示した場合以外は減少する。 Thus, basket in number of cells basket management unit 222 is reduced except when instructed cell transfer.
【0203】 [0203]
別の方法は、入力バッファ220に入力したセルがカゴ223に入れる条件を満たしている時には最初からカゴ223の中へ入れてしまう方法がある。 Another method is a method of thus put into the first basket 223 when a cell input to the input buffer 220 satisfies the condition Add to basket 223. つまり転送指示の時点でNx 個のセルをカゴ223に転送したVCは次の転送指示があるまでセルをカゴ223に入れることができないが、転送指示の時点でセルをカゴ223に全く転送しなかったVC、または転送セル数がNx 個に満たないVCは、Nx 個になるまで入力セルを転送指示がなくてもカゴ223に入れることができる。 That VC which transferred Nx pieces of cells to the basket 223 at the time of the transfer instruction is not able to put the cell until the next transfer instruction to the car 223, not at all to transfer the cell to the basket 223 at the time of the transfer instruction VC to VC or the number of transfer cells, is less than Nx pieces were can be placed in basket 223 without a transfer instruction input cells until Nx pieces. これにより、カゴ内セル数は転送指示と転送指示の間においても増加することがあるが、ほぼ全てのアクティブなVCがNx 個のセルを転送した段階で減少する。 Thus, although the car in the number of cells may also be increased during the transfer instruction and a transfer instruction, it decreases at the stage where nearly all active VC has transferred Nx pieces of cells. なお、本実施形態はどちらの方法においても有効に作用する。 The present embodiment also acts effectively in either way.
【0204】 [0204]
第5の実施形態のセル多重化装置の輻輳状態の判断は、VC毎に、トラヒックにより変動する情報を予め定められた方法により監視すれば良い。 Determination of the congestion state of the cell multiplexing device of the fifth embodiment, for each VC, may be monitored by methods prescribed information that fluctuates in advance by the traffic. そして、セル多重化装置は、この輻輳判断を元にVC毎に端末にトラヒック制御情報を通知すればよい。 Then, the cell multiplexing device may be notified of the traffic control information to the terminal for each VC this congestion determination based.
【0205】 [0205]
監視すべき変動する情報は、例えば蓄積セル数、一定時間あたりの入力セル数とその目標値との関係、一定個数のセルが入力する時間とその目標値との関係である。 Information that varies to be monitored, for example, the number of stored cells, a relationship between the number of input cells per fixed time relationship between the target value, and the time that the cell enters a predetermined number and the target value. 蓄積セル数が多いVC、一定時間あたりの入力セル数が目標値からかけ離れて多いVC、一定個数のセルが入力する時間がその目標値からかけ離れて短いVCを輻輳しているVCと判断する。 The number of stored cells is large VC, the number of input cells per predetermined time is large far from the target value VC, the time a cell enters the predetermined number is determined to VC which is congested short VC far from the target value.
【0206】 [0206]
輻輳しているVCのセルのヘッダにあるEFCIをマークすることや、通過するRMセルを書き換えることにより、端末にトラヒック制御情報を通知することができる。 And marking the EFCI in the header of a cell of VC which is congested, by rewriting an RM cell passing through, it is possible to notify the traffic control information to the terminal.
【0207】 [0207]
2.4 第4、第5の実施形態に係るセル多重化装置の利点以上説明したように、上記第4〜第5の実施形態に係る出力許可済セル集合 (カゴ)の概念を用いたセル多重化装置によれば、出力許可済セル集合に入れるセルを制御することにより各入力バッファの出力スループットを調整するため、VC間公平キューイングを行なうことができ、ABRサービスにおける耐故障性や、UBRサービスにおける公平性を実現することが可能である。 2.4 Fourth, as described fifth embodiment according cell multiplexing apparatus advantages over the cell using a concept of output enable already set of cells (basket) according to the fourth to the fifth embodiment According to the multiplexer, for adjusting the output throughput of each input buffer by controlling the cell to put the output permission already set of cells, it is possible to perform fair queuing between VC, fault tolerance and in the ABR service, UBR it is possible to achieve fairness in service.
【0208】 [0208]
2.5 第6の実施形態(セルグループFIFOを用いたセルバッファ装置)次に、本発明に係るVC間公平キューイングを行なうセルバッファ装置の実施形態について説明する。 2.5 Sixth embodiment (a cell group FIFO cell buffer device using a) the following describes embodiment of a cell buffer device for performing VC between fair queuing according to the present invention.
【0209】 [0209]
図8に、第6の実施形態に係るセルグループFIFOを用いたセルバッファ装置の構成例を示す。 8 shows a configuration example of a cell buffer device using cell group FIFO according to a sixth embodiment.
【0210】 [0210]
図8は、入力リンクより入力したセルのコネクション識別情報をバッファポインタ管理部230に通知し、バッファポインタ管理部230よりセルの書き込み位置を示す書き込みポインタを得てセルを一時的にセルバッファ231に蓄積し、バッファポインタ管理部230からの、読みだしセルを示す読みだしポインタに基づいてセルをセルバッファ231から読みだし出力リンクへ出力するセルバッファ装置である。 8 notifies the connection identification information of the cell inputted from the input link to the buffer pointer management unit 230, temporarily cell buffer 231 cells to obtain a write pointer indicating a writing position of a cell from the buffer pointer management unit 230 accumulated, from the buffer pointer management unit 230, a cell buffer device for output to an output link read out cell from the cell buffer 231 based on the pointer read indicates a read cell.
【0211】 [0211]
バッファポインタ管理部230は、蓄積しているセルのセルバッファ231上の位置を示すバッファポインタを管理する。 Buffer pointer management unit 230 manages a buffer pointer indicating a position on the cell buffer 231 of Accumulating cell.
【0212】 [0212]
バッファポインタ管理部230は、バッファポインタの集合である複数のセルグループをFIFO管理するセルグループFIFO232aと、出力待ちセルグループFIFO232bと、セルグループ選択部233と、空きバッファポインタ管理部234からなる。 Buffer pointer management unit 230, a cell group FIFO232a which a plurality of cell groups to FIFO management is a set of buffer pointer, and an output waiting cell group FIFO232b, a cell group selection unit 233, consisting of free buffer pointer management unit 234.
【0213】 [0213]
バッファポインタ管理部230は、セル入力時には、空きバッファポインタ管理部234より空きのバッファポインタを得て前記書き込みポインタとするとともに、セルグループ選択部233がコネクション識別情報より書き込みポインタをセルグループFIFO232aの先頭のセルグループより順にVC毎に予め定められた重みに従って決定される数だけ入るようにセルグループ指示を行ない、セルグループFIFO232aはセルグループ指示に従って書き込みポインタを指示されたセルグループに入力する。 Buffer pointer management unit 230, when the cell input, while said write pointer to give the free buffer pointers from the free buffer pointer management unit 234, a cell group selection unit 233 of the cell group FIFO232a a more write pointer connection identification information start performs cell group instruction to enter the number to be determined from the cell group in the order according to the weights predetermined for each VC, cell group FIFO232a is entered into a cell group which is instructed to write pointer according to the cell group indicated.
【0214】 [0214]
セル出力時には、セルグループFIFO232aの先頭よりセルグループを出力し、さらにそのセルグループよりバッファポインタを出力して前記読みだしポインタとするとともに、その読みだしポインタを空きバッファポインタ管理部234に戻す。 When the cell output, and outputs the cell group from the head of the cell group FIFO232a, further with the pointer read the output buffer pointer from the cell group, it returns a pointer read its free buffer pointer management unit 234.
【0215】 [0215]
図8では、セルグループFIFO232aから出力され、出力を待っているセルグループが複数になる可能性がある場合の構成を示している。 In Figure 8, are outputted from the cell group FIFO232a, cell group awaiting output indicates such an arrangement that can become plural. これらのセルグループFIFO232aから出力されたセルグループは出力待ちセルグループFIFO232bに入力される。 Cell group output from these cell group FIFO232a is input to the output waiting cell group FIFO232b.
【0216】 [0216]
出力待ちセルグループFIFO232bのセルグループは、セルバッファ231の外部の何らかの管理部により出力を許可されたセルグループである。 Cell group of the output waiting cell group FIFO232b is a cell group authorized to output for some management of external cell buffer 231. 例えば、図6のカゴ231に相当する。 For example, corresponding to the basket 231 in FIG.
【0217】 [0217]
読みだしポインタは、出力待ちセルグループFIFO232bの先頭のセルグループから出力されたバッファポインタである。 Pointer read is a buffer pointer that is output from the beginning of the cell group of the output waiting cell group FIFO232b.
【0218】 [0218]
例えば全てのVCの重みを同じとする。 For example, the weight of all of the VC and the same. セルグループFIFO232aの先頭のセルグループのセルは、各VCのキューを考えるとキューの先頭(ただし出力待ちセルグループFIFO232b内のセルは除く)のセルである。 Cell of the beginning of the cell group of the cell group FIFO232a is a cell of the head of the queue Given the queue of each VC (except the cell waiting for output in the cell group FIFO232b). セルグループFIFO232aの先頭から2番目のセルグループのセルは、各VCのキューの2番目のセルである。 The second of the cell group cell from the beginning of the cell group FIFO232a is a second cell of the queue of each VC. 3番目以降のセルグループのセルも同様である。 Cell of the third and subsequent cell group is also similar. これらのセルを出力する場合はセルグループFIFO232aの先頭のセルグループから順に出力するためVC間で公平に出力することになる。 When outputting these cells will be fairly output between VC to output from the head cell group of the cell group FIFO232a sequentially.
【0219】 [0219]
今まで全く到着していなかったVCのセルが新たにこのバッファ装置に到着した場合は、セルグループFIFO232aの先頭のセルグループに入力され、他のVCのキューの2番目以降のセルよりも優先して出力される。 If you arrive in the cell is new in this buffer device of the VC did not arrive at all until now, are entered into a cell group of the head of the cell group FIFO232a, also priority than the second and subsequent cell of the other VC queue It is output Te.
【0220】 [0220]
この様に、第6の実施形態に係るセルバッファ装置によれば、VC間で公平にキューイングを行なうことが可能でありながらセルの入力、出力時に図50に示した従来例のように検索動作が不要であるという利点がある。 Thus, the search as the According 6 carried in the cell buffer unit according to the while it is possible to perform fair queuing between VC of cell input, conventionally shown in FIG. 50 in the output example operation has the advantage that it is unnecessary.
【0221】 [0221]
第6の実施形態に係るセルバッファ装置のセルグループFIFO232aの実現方法は、例えばポインタチェーンによる方式やリングバッファによる方式が考えられる。 Method for realizing the cell group FIFO232a the cell buffer device according to the sixth embodiment, a method is conceivable by method or a ring buffer, for example by pointers chain.
【0222】 [0222]
2.6 第7の実施形態(セルグループFIFOを用いたセルバッファ装置の他の実施形態) 2.6 Seventh embodiment (another embodiment of the cell buffer device using cell group FIFO)
次に、第7の実施形態について説明する。 Next, a description will be given of a seventh embodiment.
【0223】 [0223]
図9に、第7の実施形態に係るセルグループFIFOを用いたセルバッファ装置の他の構成例を示す。 Figure 9 shows another configuration example of a cell buffer device using cell group FIFO according to the seventh embodiment.
【0224】 [0224]
図9は、入力リンクより入力したセルのコネクション識別情報をバッファポインタ管理部240に通知し、バッファポインタ管理部240よりセルの書き込み位置を示す書き込みボインタを得てセルを一時的にセルバッファ241に蓄積し、バッファポインタ管理部240からの、読みだしセルを示す読みだしポインタに基づいてセルをセルバッファ241から読みだし出力リンクへ出力するセルバッファ装置である。 9 notifies the connection identification information of the cell inputted from the input link to the buffer pointer management unit 240, temporarily cell buffer 241 cells to obtain a write Bointa indicating a writing position of a cell from the buffer pointer management unit 240 accumulated, from the buffer pointer management unit 240, a cell buffer device for output to an output link read out cell from the cell buffer 241 based on the pointer read indicates a read cell.
【0225】 [0225]
バッファポインタ管理部240は、蓄積しているセルのセルバッファ241上の位置を示すバッファポインタを管理する。 Buffer pointer management unit 240 manages a buffer pointer indicating a position on the cell buffer 241 of Accumulating cell.
【0226】 [0226]
バッファポインタ管理部240は、バッファポインタの集合であるセルグループをFIFO管理するセルグループFIFO242と、セルグループ選択部243と、空きバッファポインタ管理部244からなる。 Buffer pointer management unit 240, a cell group FIFO242 to FIFO managing the cell group which is a set of buffer pointers, a cell group selection unit 243, consisting of free buffer pointer management unit 244.
【0227】 [0227]
バッファポインタ管理部240は、セル入力時には、空きバッファポインタ管理部244より空きのバッファポインタを得て前記書き込みポインタとするとともに、セルグループ選択部243がコネクション識別情報より書き込みポインタをセルグループFIFO242の先頭のセルグループより順にVC毎に予め定められた重みに従って決定される数だけ入るようにセルグループ指示を行ない、セルグループFIFO242はセルグループ指示に従って書き込みボインタを指示されたセルグループに入力する。 Buffer pointer management unit 240, upon cell input, along with a vacant buffer pointer management unit 244 the write pointer to obtain the buffer pointer free from the head of the cell group selection unit 243 cell group FIFO242 is a write pointer from connection identification information performs cell group instruction to enter the number to be determined from the cell group in the order according to the weights predetermined for each VC, cell group FIFO242 is entered into a cell group which is instructed to write Bointa according to the cell group indicated.
【0228】 [0228]
セル出力時には、セルグループFIFO242の先頭のセルグループよりバッファポインタを出力して前記読みだしポインタとするとともに、その読みだしポインタを空きバッファポインタ管理部244に戻す。 When the cell output, as well as outputs a buffer pointer from the head cell group of the cell group FIFO242 the pointer read the returns a pointer read its free buffer pointer management unit 244.
【0229】 [0229]
図9では、セルグループFIFO242内で出力を待っているセルグループを出力待ちセルグループFIFO242bとして記してある。 In Figure 9, it is marked cell group waiting for output in the cell group FIFO242 as the output waiting cell group FIFO242b.
【0230】 [0230]
出力待ちセルグループFIFO242bのセルグループは、セルバッファ241の外部の何らかの管理部により出力を許可されたセルグループである。 Cell group of the output waiting cell group FIFO242b is a cell group authorized to output for some management of external cell buffer 241. 例えば、図6のカゴに相当する。 For example, corresponding to the basket of FIG.
【0231】 [0231]
読みだしポインタは、出力待ちセルグループFIFO242bの先頭のセルグループから出力されたバッファポインタである。 Pointer read is a buffer pointer that is output from the beginning of the cell group of the output waiting cell group FIFO242b.
【0232】 [0232]
例えば全てのVCの重みを同じとする。 For example, the weight of all of the VC and the same. セルグループFIFO242の先頭のセルグループ(すなわち、出力待ちセルグループFIFO242b内のセルグループ)のセルは、各VCのキューを考えるとキューの先頭のセルである。 First cell group (i.e., cell groups in the output waiting in a cell group FIFO242b) of the cell groups FIFO242 cell is a first cell of the queue Given the queue for each VC. セルグループFIFO242の先頭から2番目のセルグループのセルは、各VCのキューの2番目のセルである。 The second of the cell group cell from the beginning of the cell group FIFO242 is a second cell of the queue of each VC. 3番目以降のセルグループのセルも同様である。 Cell of the third and subsequent cell group is also similar. これらのセルを出力する場合はセルグループFIFO242の先頭のセルグループから順に出力するためVC間で公平に出力することになる。 When outputting these cells will be fairly output between VC to output from the head cell group of the cell group FIFO242 sequentially.
【0233】 [0233]
今まで全く到着していなかったVCのセルが新たにこのバッファ装置に到着した場合は、セルグループFIFO242の先頭のセルグループに入力され、他のVCのキューの2番目以降のセルよりも優先して出力される。 If you arrive in the cell is new in this buffer device of the VC did not arrive at all until now, are entered into a cell group of the head of the cell group FIFO242, also priority than the second and subsequent cell of the other VC queue It is output Te.
【0234】 [0234]
この様に、第7の実施形態に係るセルバッファ装置によれば、VC間で公平にキューイングを行なうことが可能でありながらセルの入力、出力時に図51に示した従来例のように検索動作が不要であるという利点がある。 Thus, according to the cell buffer device according to the seventh embodiment, while it is possible to perform fair queuing between VC of cell input, retrieval as in the conventional example shown in FIG. 51 when the output operation has the advantage that it is unnecessary.
【0235】 [0235]
第7の実施形態に係るセルバッファ装置のセルグループFIFO242の実現方法は、例えばポインタチェーンによる方式やリングバッファによる方式が考えられる。 Method for realizing the cell group FIFO242 the cell buffer device of the seventh embodiment, a method is conceivable by method or a ring buffer, for example by pointers chain.
【0236】 [0236]
2.7 第6の実施形態に係るセルバッファ装置で用いられるデータ構造次に、第6の実施形態に係るセルバッファ装置(図8参照)で用いられるデータの構造について説明する。 2.7 Data structure used in the cell buffer device next to the sixth embodiment, will be explained the structure of the data used in the sixth cell buffer device according to the embodiment (see FIG. 8).
【0237】 [0237]
図10、図11に、図8で説明したバッファ装置をポインタチェーン方式で実現した場合のデータ構造の一例を示す。 10, FIG. 11 illustrates an example of a data structure of a case of realizing the pointer chain scheme buffer device described in FIG.
【0238】 [0238]
大きく分けて、図10に示すように、VCテーブル250、セルグループFIFO232a、出力待ちセルグループFIFO232b、空きバッファポインタチェーン251、また、図11に示すように、空きセルグループチェーン252で構成される。 Broadly speaking, as shown in FIG. 10, VC table 250, the cell group FIFO232a, output queuing cell group FIFO232b, free buffer pointer chain 251, and as shown in FIG. 11, constituted by idle cell group chain 252.
【0239】 [0239]
セルグループFIFO232aには、それを管理するセルグループFIFO管理データ253、出力待ちセルグループFIFO232bには、それを管理する出力待ちセルグループFIFO管理データ254がある。 The cell group FIFO232a, the cell group FIFO management data 253 to manage it, the output waiting cell group FIFO232b, there is an output waiting cell group FIFO management data 254 to manage it.
【0240】 [0240]
セルグループと空きバッファポインタチェーン251は、バッファポインタのチェーンであり、セルグループFIFO232aと空きセルグループチェーン252はセルグループ管理データ255のチェーンである。 Cell groups and free buffer pointer chain 251 is a chain of buffer pointers, cell group FIFO232a and idle cell group chain 252 is a chain of cell group management data 255.
【0241】 [0241]
出力待ちセルグループFIFO232bは、出力待ちセルグループFIFO管理データ254にセルグループを指すポインタのリスト(Ptr1、Ptr2、Ptr3、…)がある。 Output waiting cell group FIFO232b, a list of pointers to the cell group to the output waiting cell group FIFO management data 254 (Ptr1, Ptr2, Ptr3, ...) there is.
【0242】 [0242]
セルグループFIFO232a、出力待ちセルグループFIFO232bはリングバッファ方式でもかまわない。 Cell group FIFO232a, output waiting cell group FIFO232b is not may be a ring buffer method.
【0243】 [0243]
セルが入力した場合、空きバッファポインタチェーン251から取り出した書き込みポインタをどのセルグループに入力するかを決定しなければならない。 If a cell is entered, it must decide whether to enter a write pointer taken out from the idle buffer pointer chain 251 which cell group. そのため、まずVCテーブル250の該当する領域を読み出す。 Therefore, first, it reads out the corresponding area of ​​the VC table 250. VCテーブル250のNx はそのVCの重み、Nc は作業変数、Qlen はそのVCの蓄積セル数、PtrはそのVCのセルが蓄積されているセルグループの末尾へのポインタである。 Nx is the weight of the VC of the VC table 250, Nc is working variables, Qlen the number of accumulated cells for the VC, Ptr is a pointer to the end of the cell group to which the cell of the VC is stored.
【0244】 [0244]
はじめに、Qlen をチェックして、そのVCのセルが現在バッファ装置に蓄積されているかどうかを調べる。 First, check the Qlen, determine whether cells of that VC are currently accumulated buffer device. もし、Qlen がゼロの場合は、セルグループFIFO232aの先頭のセルグループに入れる。 If, in the case Qlen is zero, placed in a cell group of the head of the cell group FIFO232a. Qlen が1以上の場合でも、Ptrが出力待ちセルグループFIFO232b内のセルグループを指している場合は、セルグループFIFO232aの先頭のセルグループに入れる。 Qlen even if one or more, if Ptr is pointing to the cell group in the output waiting in a cell group FIFO232b, placed in the cell group of the first cell group FIFO232a.
【0245】 [0245]
その他の場合はNc に1.0を加えNx と比較し、Nx の方が大きければPtrで指しているセルグループに入れ、そうでない場合は、Ptrで指しているセルグループの次のセルグループに入れる。 Other For comparison with Nx added 1.0 Nc, placed in a cell group towards Nx is pointing in greater if Ptr, otherwise, the next cell group of the cell group pointing at Ptr put.
【0246】 [0246]
ここで、セルが入力した時のNc の更新手順について説明する。 Here, a description will be given Nc update procedure when a cell is entered. 前述のように、そのVCに関してセルグループFIFO232aの先頭のセルグループに初めてバッファポインタを入力する場合は、Nc :=1.0とする。 As described above, when entering the first buffer pointer to the cell group of the first cell group FIFO232a for that VC is, Nc: = 1.0 to. その他の場合は、Nc をNc :=Nc +1.0と更新する。 In other cases, the Nc Nc: = update with Nc +1.0. その結果、もしNx Nc ならば、そのセルグループにバッファポインタを入れる。 As a result, if if Nx> Nc, put a buffer pointer to the cell group. 逆に、もしNx <Nc ならば、セルグループFIFO232aの次のセルグループにバッファポインタを入れると同時に、Nc :=Nc −Nx と書き変える(つまり、0<Nc Nx である)。 Conversely, if if Nx <Nc, at the same time put buffer pointer to the next cell group of the cell group FIFO232a, Nc: = rewritten as Nc -NX (i.e., a 0 <Nc <Nx).
【0247】 [0247]
もし、セルグループFIFO232aの最後のセルグループの次のセルグループにバッファポインタを入れる必要があれば、空きセルグループチェーン252の先頭よりセルグループ管理データ255をとりだし、セルグループFIFO232aの末尾に入れ、そのセルグループにバッファポインタを入れれば良い。 If there is a need to put a buffer pointer to the next cell group of the last cell group of the cell group FIFO232a, taken out of the cell group management data 255 from the beginning of the idle cell group chain 252, placed at the end of the cell group FIFO232a, the the cell group may if you put a buffer pointer. 出力待ちセルグループFIFO管理データ254は、セルグループを指すポインタPtr1、Ptr2、Ptr3、…がシフトレジスタになっている。 Output waiting cell group FIFO management data 254, pointer Ptr1, Ptr2, Ptr3 to refer to a cell group, ... is in the shift register. Ptr1の示すセルグループがFIFOの先頭であり、このセルグループから出力したバッファボインタが読みだしポインタとなる。 Cell group indicated by the Ptr1 is the head of the FIFO, buffer Boyne data that is output from the cell group becomes the read pointer. 読みだしポインタは空きバッファポインタチェーン251の末尾に入力する。 Reading out pointer is input to the end of the free buffer pointer chain 251. Ptr1の示すセルグループのバッファポインタが空になったら、そのセルグループは空きセルグループチェーン252の末尾に入力する。 When the buffer pointer of the cell group indicated by the Ptr1 is empty, its cell group to enter at the end of the idle cell group chain 252. そしてn 2の全てのnについてポインタPtr(n)をPtr(n−1)にシフトし、新しいPtr1の指すセルグループからバッファポインタを出力する。 Then n> pointer Ptr (n) is for all n of 2 is shifted to Ptr (n-1), outputs the buffer pointer from the cell group pointed to new Ptr1.
【0248】 [0248]
前述したように、セルの入力時にVCテーブル250のPtrが出力待ちのセルグループを指しているかどうか判定しなければならない。 As described above, when entering the cell must determine whether Ptr of the VC table 250 is pointing to the cell group of the output waiting. したがって出力待ちセルグループFIFO管理データ254は、検索が容易に可能な構成であることが必要である。 Output wait cell group FIFO management data 254 thus, it is necessary that the search is easily configurable.
【0249】 [0249]
セルグループFIFO232aから出力待ちセルグループFIFO232bに新たにセルグループを転送する場合には、出力待ちセルグループFIFO管理データ254のセルグループ数をインクリメントして(mとする)、Ptr(m)がセルグループFIFO232aから出力したセルグループを指すようにする。 When transferring a new cell group to output wait cell group FIFO232b from the cell group FIFO232a increments the number of cells Group output queuing cell group FIFO management data 254 (a m), Ptr (m) is the cell group to point to the cell group outputted from FIFO232a.
【0250】 [0250]
なお、第6の実施形態に係るセルバッファ装置は、図6や図7に示すようなカゴの概念を用いた入力バッファに容易に適用することができる。 Incidentally, the cell buffer according to a sixth embodiment device can be easily applied to an input buffer using a concept of basket shown in FIG. 6 and FIG. 7. その場合、出力待ちセルグループFIFO232bがカゴに相当する。 In that case, the output waiting cell group FIFO232b corresponds to the basket. また、図5の出力バッファにも適用することができる。 Further, it can be applied to the output buffer of FIG.
【0251】 [0251]
2.8 第7の実施形態に係るセルバッファ装置で用いれるデータ構造次に、第7の実施形態に係るセルバッファ装置(図9参照)で用いられるデータの構造について説明する。 2.8 Data Structure The following in that used in the cell buffer device according to the seventh embodiment, description will be given of a structure of data used in the cell buffer device according to the seventh embodiment (see FIG. 9).
【0252】 [0252]
図12、図13に、図9で説明したバッファ装置をポインタチェーン方式で実現した場合のデータ構造の一例を示す。 12 and 13 show an example of a data structure of a case of realizing the pointer chain scheme buffer device described in FIG.
【0253】 [0253]
大きく分けて、図12に示すように、VCテーブル260、セルグループFIFO242、空きバッファポインタチェーン261、また、図13に示すように、空きセルグループチェーン262で構成される。 Broadly speaking, as shown in FIG. 12, VC table 260, the cell group FIFO 242, free buffer pointer chain 261, and as shown in FIG. 13, constituted by idle cell group chain 262.
【0254】 [0254]
セルグループFIFO242の内部には、出力待ちセルグループFIFO242bが存在し、セルグループFIFO242を管理するセルグループFIFO管理データ263、出力待ちセルグループFIFO242bを管理する出力待ちセルグループFIFO管理データ264がある。 Inside the cell group FIFO 242, there is output queuing cell group FIFO242b, cell group FIFO management data 263 for managing the cell group FIFO 242, there is an output waiting cell group FIFO management data 264 for managing the output waiting cell group FIFO242b.
【0255】 [0255]
セルグループと空きバッファポインタチェーン261は、バッファポインタのチェーンであり、セルグループFIFO242と空きセルグループチェーン262はセルグループ管理データ265のチェーンである。 Cell groups and free buffer pointer chain 261 is a chain of buffer pointers, cell group FIFO242 and idle cell group chain 262 is a chain of cell group management data 265.
【0256】 [0256]
出力待ちセルグループFIFO242bは、セルグループFIFO242の先頭のいくつかのセルグループである。 Output waiting cell group FIFO242b are some of the cell group of the head of the cell group FIFO242. つまり図12において、セルグループFIFO管理データ263の先頭ポインタが指すセルグループから出力待ちセルグループFIFO管理データ264の末尾ポインタが指すセルグループまでが出力待ちセルグループFIFO242である。 That is, in FIG. 12, a until cell group output waiting cell group FIFO242 the tail pointer points to the output queuing cell group FIFO management data 264 from the cell group head pointer is pointing to the cell group FIFO management data 263.
【0257】 [0257]
セルグループFIFO242、出力待ちセルグループFIFO242bはリングバッファ方式でもかまわない。 Cell group FIFO242, output waiting cell group FIFO242b is not may be a ring buffer method.
【0258】 [0258]
セルが入力した場合、空きバッファポインタチェーン261から取り出した書き込みポインタをどのセルグループに入力するかを決定しなければならない。 If a cell is entered, it must decide whether to enter a write pointer taken out from the idle buffer pointer chain 261 which cell group. そのため、まずVCテーブル260の該当する領域を読み出す。 Therefore, first, it reads out the corresponding area of ​​the VC table 260. VCテーブル260のNx はそのVCの重み、Nc は作業変数、Qlen はそのVCの蓄積セル数、PtrはそのVCのセルが蓄積されているセルグループの末尾へのポインタである。 Nx is the weight of the VC of the VC table 260, Nc is working variables, Qlen the number of accumulated cells for the VC, Ptr is a pointer to the end of the cell group to which the cell of the VC is stored.
【0259】 [0259]
はじめに、Qlen をチェックして、そのVCのセルが現在バッファ装置に蓄積されているかどうかを調べる。 First, check the Qlen, determine whether cells of that VC are currently accumulated buffer device. もし、Qlen がゼロの場合は、セルグループFIFO242の先頭のセルグループに入れる。 If, in the case Qlen is zero, placed in a cell group of the head of the cell group FIFO242.
【0260】 [0260]
その他の場合はNc に1.0を加えNx と比較し、Nx の方が大きければPtrで指しているセルグループに入れ、そうでない場合は、Ptrで指しているセルグループの次のセルグループに入れる。 Other For comparison with Nx added 1.0 Nc, placed in a cell group towards Nx is pointing in greater if Ptr, otherwise, the next cell group of the cell group pointing at Ptr put.
【0261】 [0261]
ここで、セルが入力した時のNc の更新手順について説明する。 Here, a description will be given Nc update procedure when a cell is entered. 前述のように、そのVCに関してセルグループFIFO242の先頭のセルグループに初めてバッファポインタを入力する場合は、Nc :=1.0とする。 As described above, when entering the first buffer pointer to the cell group of the first cell group FIFO242 for that VC is, Nc: = 1.0 to. その他の場合は、Nc をNc :=Nc +1.0と更新する。 In other cases, the Nc Nc: = update with Nc +1.0. その結果、もしNx Nc ならば、そのセルグループにバッファポインタを入れる。 As a result, if if Nx> Nc, put a buffer pointer to the cell group. 逆に、もしNx <Nc ならば、セルグループFIFO242の次のセルグループにバッファポインタを入れると同時に、Nc :=Nc −Nx と書き変える(つまり、0<Nc Nx である)。 Conversely, if if Nx <Nc, at the same time put buffer pointer to the next cell group of the cell group FIFO242, Nc: = rewritten as Nc -NX (i.e., a 0 <Nc <Nx).
【0262】 [0262]
セルが入力した時、セルグループがセルグループFIFO242になかった場合、もし、セルグループFIFO242の最後のセルグループの次のセルグループにバッファポインタを入れる必要があれば、空きセルグループチェーン262の先頭よりセルグループ管理データ265をとりだし、セルグループFIFO242の末尾に入れ、そのセルグループにバッファポインタを入れれば良い。 When a cell is input, if the cell group was not in the cell group FIFO242, if, in the next cell group of the last cell group of the cell group FIFO242 if there is a need to put a buffer pointer, the beginning of the idle cell group chain 262 taken out of the cell group management data 265, placed at the end of the cell group FIFO242, may if you put a buffer pointer to the cell group.
【0263】 [0263]
出力待ちセルグループFIFO管理データ264は、出力待ちセルグループFIFO242bの末尾を示すポインタを持っている。 Output waiting cell group FIFO management data 264, has a pointer to the end of the output waiting cell group FIFO242b. 先頭はセルグループFIFO管理データ263の先頭のセルグループと同じである。 Top is the same as the beginning of the cell group of the cell group FIFO management data 263.
【0264】 [0264]
出力待ちセルグループFIFO242bの先頭のセルグループ(セルグループFIFOの先頭と同じセルグループ)からバッファポインタを出力し、このバッファポインタが読みだしポインタとなる。 And outputs the buffer pointer from the beginning of the cell group of the output waiting cell group FIFO242b (beginning with the same cell group of the cell group FIFO), the buffer pointer is out pointer reading. 読みだしポインタは空きバッファポインタチェーン261の末尾に入力する。 Reading out pointer is input to the end of the free buffer pointer chain 261.
【0265】 [0265]
セルグループFIFO242の先頭のセルグループのバッファポインタが空になったら、セルグループFIFO242からセルグループ管理データ265を出力し、空きセルグループチェーン262の末尾に入力する。 When the top of the cell group buffer pointer of the cell group FIFO242 is empty, and outputs the cell group management data 265 from the cell group FIFO242, to enter at the end of the idle cell group chain 262.
【0266】 [0266]
出力待ちセルグループFIFO242bに新たにセルグループを転送する場合には、出力待ちセルグループFIFO管理データ264の末尾を示すポインタをセルグループFIFO242上の次のセルグループを指すように変更する。 If the newly transferring the cell group to output wait cell group FIFO242b changes the pointer to the end of the output queuing cell group FIFO management data 264 to point to the next cell groups on the cell group FIFO 242.
【0267】 [0267]
なお、第7の実施形態に係るセルバッファ装置は、図6や図7に示すようなカゴの概念を用いた入力バッファに容易に適用することができる。 It is to be noted that the cell buffer device according to the seventh embodiment can be easily applied to an input buffer using a concept of basket shown in FIG. 6 and FIG. 7. その場合、出力待ちセルグループFIFO242bがカゴに相当する。 In that case, the output waiting cell group FIFO242b corresponds to the basket. また、図5の出力バッファにも適用することができる。 Further, it can be applied to the output buffer of FIG.
【0268】 [0268]
2.9 第6、第7の実施形態に係るセルバッファ装置の利点以上説明したように、上記第6〜第7の実施形態に係るVC間公平キューイングを行なうセルバッファ装置によれば、VCテーブルを検索する処理が必要なく、したがって設定可能なVC数の上限に依存することなく容易に実現することができる。 2.9 Sixth, as described seventh embodiment according cell buffer device advantages over, according to the cell buffer device for performing the first. 6 to VC between fair queuing according to the seventh embodiment, VC without a process of searching a table, thus can be easily realized without depending on the upper limit of the settable VC number.
【0269】 [0269]
2.10 フロー間重み付き公平キューイング以上のVC間公平キューイングを行なうセルバッファ装置は、固定長のパケットであるセルを扱う場合を例にあげて説明した。 2.10 cell buffer device for performing VC between fair queuing or weighted fair queuing-flow has been described a case of handling cells which are fixed length packets by way of example. 異なる長さのパケットを同時に扱うことが可能なパケットバッファ装置にも以下に説明するように入力したパケットをフロー毎に定めた重みに基づいて公平に出力することができる。 It can be outputted fairly based on the weight of the input packet determined for each flow as described different length packets even below the packet buffer device which can be handled simultaneously.
【0270】 [0270]
ここでのフローとは、以下の例に示すようにある基準によって識別されるパケットの集合である。 The flow of this case is a set of packets identified by the reference in the manner shown in the following example.
【0271】 [0271]
・IP網のいわゆるフロー(送信元アドレス、送信元レポート、宛先アドレス、宛先ポートの組で識別)、もしくはATM網のVCCまたはVPC。 So-called flow · IP network (source address, source report, a destination address, identifying a set of the destination port), or the ATM network VCC or VPC.
【0272】 [0272]
・IP網のサービスクラス(guaranteed、controlled−load、best−effortなど)、もしくはATM網のサービスカテゴリ(CBR、VBR、ABRなど)の違い。 The difference of · IP network service class (guaranteed, controlled-load, such as best-effort), or service category of ATM network (CBR, VBR, ABR, etc.).
【0273】 [0273]
・プロトコルの違い(TCP/IP、DECnet、SNA、AppleTalkなど) Of the protocol differences (TCP / IP, DECnet, SNA, AppleTalk, etc.)
・アプリケーションの違い(ftp、telnetなど) - difference of applications (ftp, telnet, etc.)
・同じバケットバッファ装置を共用する異なった組織(企業別など) · Same bucket buffer device to share different organizations (such as by company)
これらを本発明のパケットバッファ装置で異なったフローとして扱うことによりトラヒックを互いに分離することができる。 These can be separated from each other the traffic by treating a flow different in the packet buffer device of the present invention.
【0274】 [0274]
はじめに、図14を用いて、一般的なフロー間重み付き公平キューイングを説明する。 First, with reference to FIG. 14, illustrating a weighted fair queuing between general flow. このパケットバッファ装置の目的は、装置に蓄積しているパケットをそのフローの重みに従って公平に出力することである。 The purpose of this packet buffer device is to fairly outputs packets accumulated in device according to the weights of the flow. その動作は図14のようなフロー毎のFIFOを考えるとわかりやすい。 Its behavior is helpful to think of the FIFO for each flow as in FIG. 14. 図には、フロー1、フロー2、フロー3の3つのフローのキュー(FIFO)があり、それぞれのキューにはいろいろな長さのパケットが蓄積されている。 FIG, flow 1, flow 2, there are queues three flows Flow 3 (FIFO), packets of various lengths are accumulated in each queue. 図中のパケットに添えられている数字は、バイト数で表したそのパケットの長さである。 The numbers are affixed to the packet in the figure is the length of the packet in bytes.
【0275】 [0275]
このパケットバッファ装置にパケットが入力した場合の処理は、入力したパケットが属するフローを判定しフロー毎のキューに蓄積することである。 The process when a packet is input to packet buffer device is to store determines flow packet input belongs to the queue of each flow.
【0276】 [0276]
一方パケットの出力については、フロー間で公平に行なうことが必要であり、どのキューのパケットをどの順で出力するかが重要である。 Whereas the output of the packet is required to be carried out fairly among flows, whether to output the packet of which queue in which the order is important. ひとつの方法を図14の状況に合わせて説明する。 It is described in conjunction with one of the methods in the situation of FIG. 14. 説明を簡単にするためここでは各フローの重みを同じとしている。 Here for simplicity of description in which the same weight of each flow. また公平の単位をここでは仮に500バイトと定めた。 In addition the unit of fairness was defined as if 500 bytes in this case.
【0277】 [0277]
まずフロー1のキューの先頭から300バイトの長さのパケットと200バイトの長さのパケットの合わせて500バイト分のパケットを出力する。 First it outputs 500 bytes of the packet to match the length of the packet length of the packet and 200 bytes of 300 bytes from the head of the queue of the flow 1. 次にフロー2のキューの先頭から250バイトの長さのパケットを2個続けて出力する。 Then continuously outputs two packet length 250 bytes from the head of the queue of the flow 2. そしてフロー3のキューの先頭から500バイトの長さのパケットをひとつ出力する。 And outputting one packet length of 500 bytes from the head of the queue of the flow 3. このように出力すると、この時点では各フローバイトの長さのパケットをひとつ出力する。 And outputs this way, at this time outputs one packet between the lengths of the flow byte. このような出力にすると、この時点では各フローから等しく500バイトずつのパケットを出力しているので公平に出力したといってよい。 With such output can be said to have output impartially because it outputs a packet of 500-byte increments equally from each flow at this point. 続いて再びフロー1から順に各フローから500バイトずつパケットを出力することを繰り返せばよい。 It may be repeated that the subsequently again flow 1 outputs the packet by 500 bytes from each flow in order. この様にすればパケットはフロー間で公平に出力される。 Packet If in this manner is fairly output between flow.
【0278】 [0278]
以上の方法では500バイトを単位として公平になっているが、それより小さな単位では必ずしも公平になっていない。 But it has become fairly 500 bytes as a unit in the above manner, not in necessarily fair in units smaller than that. しかし厳密な公平性の実現はパケットバッファ装置に非常に大きな処理能力を要求することが知られており、現実問題として上述の程度の公平性で十分と判断される場合が多い。 But the realization of strict fairness is known to require a very large processing power to the packet buffer device, is often determined that sufficient fairness degree above Realistically.
【0279】 [0279]
さて、上述の説明ではフローの数が3つであったが、パケットバッファ装置が莫大な数のフローを扱う場合、キューにパケットを蓄積しているフローをどの様に探索し、公平にパケットを出力するのかが課題になる。 Now, in the above description the number of flow was 3, when the packet buffer device handles a huge number of flows, to search the flows which have accumulated packets in the queue in which way, a fairly packets whether to output is the challenge. 本発明は、パケットグループという概念を用いてこの課題を解決する。 The present invention solves this problem by using the concept of a packet group.
【0280】 [0280]
本発明は、前述の図14のZ、A、B、C、Dの様に全てのフローのキューを一定の長さに区切る。 The present invention separates Z of FIG. 14 described above, A, B, C, a queue of all the flows like a D to length. このとき、各区切りを単位としてパケットを出力することで公平なパケット出力を実現できることに着目する。 At this time, attention is paid can be realized impartial packet output by outputting packets each separator as a unit. 本発明はこれらの区切り毎にパケットをグループ化して管理する。 The present invention grouping and managing the packet for each of these separators. この各グループをパケットグループと呼ぶ。 Call this each group and packet group. ひとつのパケットグループには複数のフローのパケットが混在する。 It is one of the packet group packets of a plurality of flow are mixed. パケットの出力はまず出力側に最も近いパケットグループZのパケットを出力し、次にパケットグループAのパケットを出力する。 The output of the packet to output the first packet of the closest packet group Z on the output side, then outputs the packet of the packet group A. さらにB、C、Dというように順にパケットグループのパケットを出力することにより、本発明のパケットバッファ装置はフロー間で公平にパケットを出力できる。 Further B, C, by outputting the packets of the packet groups in the order and so D, the packet buffer device of the present invention can output fairly packets between flows.
【0281】 [0281]
ところで図14において区切りBのフロー3を見ると、400バイトのパケットの次に350バイトのパケットが蓄積されている。 Incidentally Looking at the flow 3 of separator B in FIG. 14, following the 350-byte packets 400 bytes of the packet are stored. 図では同じ区切りに属するパケットは合計500バイトを上限としているため、パケットをパケットバッファ装置内部で分割しないとする400バイトのパケットと350バイトのパケットの両方を区切り、Bに入れることはできない。 Since in the packets belonging to the same separator the figure to a maximum of a total of 500 bytes, separated both 400-byte packets and 350 bytes of the packet to be not divided packets within the packet buffer device, it can not be taken into B. そうかといって、後からパケットバッファ装置に到着した350バイトのパケットを区切りBに入れなければ区切りBには100バイトのすき間が発生してしまう。 To say or so, it occurs is 100 bytes of the gap is a 350-byte packet that arrived in the packet buffer device to separate B to be taken to separate B from later. この様な場合の扱いは後で述べる。 Treatment of such a case will be described later.
【0282】 [0282]
以上本発明のパケットグループという概念について説明した。 It has been described concept packet group of the present invention over.
【0283】 [0283]
続いて本発明のパケットバッファ装置の一例を図15を用いてより具体的に説明する。 Then an example of the packet buffer device of the present invention will be described more specifically with reference to FIG.
【0284】 [0284]
本発明の構成要素として、パケットグループ、パケットグループFIFO、フローテーブル、出力待ちパケットグループがある。 As a component of the present invention, packet groups, packet group FIFO, flow table, there is an output waiting packet group.
【0285】 [0285]
パケットグループは前述した様に蓄積しているパケットをグループ化したものである。 Packet group is a grouping of packets are accumulated as described above. 図15ではA、B、C、Dがパケットグループである。 15 In A, B, C, D are packet groups. 各パケットグループに属するパケットには順序がついており、パケットグループはいわばFIFO構造になっている。 The packets belonging to each packet group is equipped with a order, packet group is, so to speak became a FIFO structure.
【0286】 [0286]
本発明は図15のように、パケットのFIFOであるパケットグループをさらにFIFOで管理する。 The invention as in FIG. 15, further managed by FIFO packets group is a FIFO of packets. このパケットグループのFIFOをパケットグループFIFOと呼ぶ。 It referred to as FIFO of the packet groups and packet group FIFO.
【0287】 [0287]
フローテーブルはフロー毎の情報を記憶する。 Flow table stores information for each flow. フローテーブルのNx はそのフローの重みの設定値、Nc は作業変数、蓄積量はそのフローの蓄積パケットの合計量、Ptrはそのフローの最後に到着したパケットが属するパケットグループへのポインタである。 Nx set value of the weight of the flow in the flow table, Nc work variables, the amount of accumulated total amount of stored packets for that flow, Ptr is a pointer to the last packet that arrived belongs packet group for that flow. 蓄積量はパケットバッファ装置がそのフローのパケットを蓄積しているかどうかを示す目的を持ち、例えばパケット入力時に入力パケット長を加え、パケット出力時に出力パケット長を引く変数とすることによりフロー毎に蓄積パケットの合計バイト数を保持する。 Accumulation amount has the purpose of indicating whether the packet buffer device is accumulating the packets of the flow, for example, the input packet length when the packet input in addition, the accumulation for each flow by a variable-catching output packet length when the packet output to hold the total number of bytes of the packet.
【0288】 [0288]
出力待ちパケットグループは、パケットグループFIFOから出力されたパケットグループである(図ではパケットグループZ)。 Output queuing packet group is a packet group outputted from the packet group FIFO (packet group Z in the drawing). パケットバッファ装置からパケットを出力する場合、出力待ちパケットグループに属するパケットを出力する。 When outputting the packet from the packet buffer device, and outputs the packets belonging to the output waiting packet group.
【0289】 [0289]
パケットが入力した場合、そのパケットをどのパケットグループに入れるかを決定しなけらばならない。 If the packet has been input, it must kicked such to determine place the packet in which the packet group.
【0290】 [0290]
まずはじめに、そのフローのパケットが現在バッファ装置に蓄積されているかどうかを調べる。 First, a packet of the flow is checked whether the currently accumulated buffer device. フロー識別情報よりフローテーブルのそのフローの蓄積量を参照し、それがゼロかどうかで判断できる。 Referring to accumulation of the flow of the flow table from the flow identification information, it can be judged by whether or zero. 現在蓄積されていなければ、パケットグループFIFOの先頭のパケットグループ(図15のパケットグループA)に入力パケットを入れる。 If not currently stored, put the input packet to the head of the packet group of the packet group FIFO (packet group A in Fig. 15).
【0291】 [0291]
蓄積量がゼロより大きな場合でも、Ptrが出力待ちパケットグループ(図15のパケットグループZ)を指している場合は、やはりパケットグループFIFOの先頭のパケットグループAに入力パケットを入れる。 Even if the amount of accumulation is greater than zero, if Ptr is pointing to the output waiting packet group (packet group Z in Fig. 15), put the input packet again to the head of a packet group A of the packet group FIFO.
【0292】 [0292]
その他の場合は、入力パケット長と、Nx 、Nc 、Ptrによって決定する。 Otherwise, the input packet length, to determine Nx, Nc, by Ptr.
【0293】 [0293]
各フローのNx は、そのフローについて、ひとつのパケットグループが管理する平均的なパケットの量を示している。 Nx of each flow, its flow, shows the average amount of packets one packet group managed. Nx はそのフローの最大パケット長よりも大きな値に設定する。 Nx is set to a value greater than the maximum packet length of that flow.
【0294】 [0294]
Nc は、Nx −Nc を計算することにより、Ptrで示しているパケットグループに、そのフローが今後入れることのできる残りの量を示す。 Nc is by calculating Nx -Nc, to be that the packet group shown in Ptr, indicating the remaining amount which can be the flow puts the future. もしNx −Nc ≧(入力パケット長)ならば、Ptrで指しているパケットグループに入力パケットを入れ、逆にNx −Nc <(入力パケット長)ならば、パケットグループFIFO上で、Ptrが目指すパケットグループの次のパケットグループに入力パケットを入れる。 If If Nx -Nc ≧ (input packet length), placed in the input packet to the packet group that refers in Ptr, Nx -Nc Conversely <(Input packet length), then, on the packet group FIFO, packet Ptr aims put the input packet to the next packet group of the group.
【0295】 [0295]
パケットグループが決定すると、次にNc とPtrの値を更新する。 If the packet group is determined, and then updates the value of Nc and Ptr. パケットグループFIFOの先頭のパケットグループに、そのフローに関して1つめのパケットを入れた場合は、Nc :=(入力パケット長)とする。 The head of the packet group of the packet group FIFO, when you put the first one of the packet for that flow, Nc: = a (input packet length). その他の場合は、まず、Nc :=Nc +(入力パケット長)とし、その結果もしNx <Nc ならさらにNc :=Nc −Nx と書き変える(つまり、0<Nc ≦Nx である)。 Otherwise, firstly, Nc: = Nc + and (input packet length), the result if Nx <Nc if further Nc: = rewritten as Nc -NX (i.e., a 0 <Nc ≦ Nx). Ptrはその入力パケットを入れたパケットグループへのポインタを書き込む。 Ptr writes a pointer to the packet group that takes its input packet.
【0296】 [0296]
本発明では、ひとつのパケットをふたつのパケットグループが管理することはない。 In the present invention, it is not a single packet is two packet groups managed. そのため入力パケットの長さがNx −Nc を越えている場合には、入力パケットをPtrの指すパケットグループに入れず次のパケットグループに入れる。 Therefore if the length of the input packet exceeds the Nx -Nc places the input packet to the next packet group without taking into packet groups indicated by Ptr. しかしNc の計算上ではひとつのパケットをふたつのパケットグループに分割して入れる。 However, on Nc of calculation put by dividing the one packet into two packets group. つまり、Nc :=Nc +(入力パケット長)とし、Nx を越えた部分があれば、そのNc −Nx を次のパケットグループのNc とする。 That, Nc: = Nc + and (input packet length), if the portion exceeds Nx, to the Nc -NX and Nc of the next packet group. このアルゴリズムにより平均的に、ひとつのパケットグループあたりNx のパケットが属することになる。 On average, by this algorithm, so that the packet of one packet per group Nx belongs.
【0297】 [0297]
図15を用いてパケット入力動作を具体的に説明する。 Specifically described packet input operation with reference to FIG. 図15はフロー1で長さ250バイトのパケットがパケットバッファ装置に到着した場面である。 Figure 15 is a scene in which a packet of 250 bytes in length in flow 1 has arrived at the packet buffer device. このときフロー1のPtrはパケットグループBを指している。 Ptr of the flow 1 this time point to the packet group B. フローテーブルの更新は、上述の手続にしたがってNc をNc :=Nc +(入力パケット長)=200+250=450とする。 Updating of the flow table, the Nc according to the procedure described above Nc: = Nc + (input packet length) = a 200 + 250 = 450. この値はNx 以下のなので、この入力パケットはPtrが指しているパケットグループBに入れる。 This value is so below Nx, the input packet is put into the packet group B pointing is Ptr.
【0298】 [0298]
もし、仮にフロー1の入力パケット長が250ではなく350であった場合はNc :=200+350=550となりNx を越える。 If the assumed when the input packet length of the flow 1 was 350 rather than 250 Nc: = exceeds 200 + 350 = 550 next Nx. したがってさらに、Nc :=Nc −Nx =550−500=50と更新し、この入力パケットをパケットグループBの次のパケットグループCに入れる。 Yet thus, Nc: = updated as Nc -Nx = 550-500 = 50, add the input packet to the next packet group C of the packet group B. PtrはパケットグループCに変更する。 Ptr is changed to a packet group C.
【0299】 [0299]
パケットグループFIFOは先入れ先だしのキューであり、キューイングしているパケットグループ数を必要なだけ増やすことができる。 Packet group FIFO is a queue of first in, first out, it is possible to increase the number of packet groups that are queued as necessary. 例えば、図15においてフロー2でパケット長が400のパケットが到着したと仮定すると、空きのパケットグループ(パケットグループE)がパケットグループDの次に追加され、入力パケットはそのパケットグループEに入れることになる。 For example, when the packet length in the flow 2 is assumed that the packet 400 has arrived at 15, empty packet group (packet group E) is added to the next packet group D, the input packet is to put in the packet group E become.
【0300】 [0300]
以上のようにパケット入力時の処理は、フローテーブルの該当箇所を変更することと、パケットグループにパケットを入れることと、必要があればパケットグループFIFOに空きのパケットグループを追加することでよい。 Processing during packet input as described above, and changing the appropriate part of the flow table, and placing the packet in the packet group, may be to add free packet group to the packet group FIFO if necessary. フローテーブルを複数のフローに渡って検索することなく入力時の処理を行なうことが可能であり、フロー数が大きくなっても処理の複雑さは変化しない。 It is possible to perform processing on input without searching across the flow table to a plurality of flows, the complexity of the process even if the number of flows increases does not change.
【0301】 [0301]
一方、パケットの出力時に必要な処理はさらに簡単である。 On the other hand, the processing required at the output of the packet is easier. つまり出力待ちパケットグループからパケットを出力すればよい。 That may output the packet from the output waiting packet group. 必要に応じてパケットグループFIFOからパケットグループを出力することをその前に行なう。 Optionally performed to output the packet group from the packet group FIFO before it. これらの処理もフローテーブルを複数のフローに渡って検索することなく可能であり、フロー数が大きくなっても処理の複雑さは変化しない。 These processes are also possible without searching across the flow table to a plurality of flow, the complexity of the process also increases the flow speed does not change.
【0302】 [0302]
前述したように各フローの重みNx は、そのフローに関してひとつのパケットグループあたりの平均的なパケットの量を示している。 Weight Nx of each flow as described above, shows the average amount of packets per one packet group for that flow. そして本発明のパケットバッファ装置はパケットグループを単位としてパケットを出力するため、各フローの出力スリープットはNx に比例する。 The packet buffer device of the present invention is to output a packet and a packet group as a unit, the output three-put of each flow is proportional to Nx.
【0303】 [0303]
このパケットバッファ装置によれば、フローテーブルを検索する処理が必要なく、したがって設定可能なフロー数の上限に依存することなく容易に可変長パケットを扱い重み付き公平なパケットバッファ装置を実現することができる。 According to the packet buffer device, is possible to realize a fair packet buffer device with handles weighted variable length packets easily without relying without a process of searching the flow table, thus the upper limit of the settable number of flows it can.
【0304】 [0304]
本発明の各パケットグループはパケットを到着順に管理する。 Each packet group of the present invention is to manage the packet in the order of arrival. つまり同じパケットグループに属するパケットの出力順位は全てのフローを通して到着順になるということである。 That output order of packets belonging to the same packet group is that made in the order of arrival through all flows. この性質はパケットの遅延揺らぎを低減する効果がある。 This property has an effect of reducing the delay jitter of the packets.
【0305】 [0305]
また、本発明のパケットバッファ装置は、従来の技術で説明したDRRというアルゴリズムと比較すると、VC数が増えても高速にVC間公平キューイングの為の出力セルの選択が実現できるうえ、重みの値が大きくなっても出力トラヒックのバースト性が増加することがない。 The packet buffer device of the present invention is different from the algorithm that DRR described in the prior art, upon which even increased VC number can realize the selection of the output cell for the VC between fair queuing at high speed, the weight It never bursts of output traffic even if the value is increased to increase. 本発明でバースト性が増加しないのは、入力したパケットを複数の集合(パケットグループ)に振り分け管理する際に、ひとつの集合内ではパケットをフロー(VC)とは無関係に管理し、パケットをその集合(パケットグループ)から出力する際はフロー(VC)とは無関係に出力するからである。 The burstiness does not increase in the present invention, when the distribution management were entered packet into a plurality of sets (packet group), in one in the set independently manage the flow (VC) packets, the packets when outputting from a set (packet group) is because outputs independently of the flow (VC).
【0306】 [0306]
3. 3. バックプレッシャを考慮したキュー監視(第8の実施形態) Queue monitoring Considering backpressure (Eighth Embodiment)
次に、本発明の第8の実施形態に係るバックプレッシャを考慮したキュー監視を行うセルバッファ装置について説明する。 Next, a description will be given cell buffer device for performing queue monitoring considering the backpressure according to an eighth embodiment of the present invention.
【0307】 [0307]
図16に、例えば、前述の第1、第2、第4、第5の実施形態で説明したような入力バッファにおけるキュー長の変化の一例を示す。 Figure 16, for example, shows a first, an example of the second, fourth, the change in queue length in the input buffer as described in the fifth embodiment.
【0308】 [0308]
第8の実施形態に係るセルバッファ装置は、バックプレッシャ信号により出力が出力可能と出力禁止の2状態に制御されているセルバッファ装置であって、バックプレッシャ信号が出力可能から出力禁止に変化した時から次に出力可能から出力禁止に変化するまでの間で、最初のセル入力時の蓄積セル数のみを監視することを特徴とする。 Cell buffer device according to the eighth embodiment, a cell buffer device for output by the back pressure signal is controlled in two-state output can output disabled, the backpressure signal has changed to the output disable the possible output in until next change in the output prohibited from possible output from the time, characterized by monitoring only the number of accumulated cells during the initial cell input.
【0309】 [0309]
監視の目的は、輻輳の判定や、ひとつのバッファ領域を複数のキューが共用する場合においてバッファ領域の独占を防ぐための入力セル廃棄の判定などである。 The purpose of monitoring, determining and congestion, one buffer region multiple queues, etc. determination of the input cell discard for preventing monopoly of the buffer area in the case of shared.
【0310】 [0310]
図17にバックプレッシャ考慮のキュー監視部を持つセルバッファ装置の構成例を示す。 It shows a configuration example of a cell buffer device having a queue monitoring portion of the back pressure considered in Figure 17. 図17において、セルバッファ装置は、複数のキューQi(i=1〜N)、キューテーブル記憶部280、バックプレッシャ識別子(BPID)記憶部281、キュー監視部282から構成される。 17, the cell buffer device, a plurality of queues Qi (i = 1~N), the queue table storage unit 280, backpressure identifier (BPID) storage unit 281, and a queue monitoring unit 282.
【0311】 [0311]
キューテーブル記憶部280に記憶されるキューテーブルのQlen i はそのキューの蓄積セル数、Cnti は輻輳判定変数(初期値ゼロ)、BPIDt i は最後のセル入力時のバックプレッシャ識別子(BPID)である。 Qlen i is the number of storage cells of the queue of the queue table stored in the queue table storage unit 280, CNTi is a congestion judging variable (initial value zero), BPIDt i is backpressure identifier at the time of the last cell input (BPID) .
【0312】 [0312]
セルがキューに入力すると入力セル情報がキュー監視部282に転送される。 Cell input cell information is input to the queue is transferred to the queue monitoring unit 282. また、BPIDはバックプレッシャ信号が出力可能から出力禁止に変化した時に図16の様にインクリメントされる。 Further, BPID is incremented as shown in FIG. 16 when the backpressure signal is changed to the output prohibited from possible output. キュー監視部282はキュー長の監視を図18に示すアルゴリズムに基づいて行なう。 Queue monitoring unit 282 performs based on the algorithm shown monitoring the queue length in Figure 18.
【0313】 [0313]
図18にバックプレッシャを考慮したバッファのキュー長監視アルゴリズムの一例を示す。 It shows an example of a queue length monitor algorithm buffer Considering backpressure in Figure 18. これはキュー長を監視して輻輳の有無を判断する例を示している。 This shows an example of determining the presence or absence of congestion by monitoring the queue length.
【0314】 [0314]
キューQiにセルが入力されて、セル入力処理が開始されると、まず、Qlen i をインクリメントする(ステップS1)。 And cells are input to the queue Qi, the cell input processing is started, first, increment the Qlen i (step S1).
【0315】 [0315]
次に、BPIDとBPIDt i を比較することにより、キュー長を監視すべきかそうでないかを判断する(ステップS2)。 Then, by comparing the BPID and BPIDt i, determines or not whether to monitor the queue length (step S2). すなわち、バックプレッシャ信号により変動するキュー長が短くなった時に監視する。 That is, the monitoring when the queue length which varies by a back pressure signal is shortened.
【0316】 [0316]
BPID≠BPIDt i の場合、キュー長を監視すべきであり、まず、Cnti 1であるか否かを判断する(ステップS3)。 For BPID ≠ BPIDt i, should be monitored queue length, firstly, it is determined whether CNTi> 1 (step S3). このとき、Cnti 1場合は直前まで輻輳状態だと判断し、輻輳状態か否かを判断するためのしきい値Qthにヒステリシスを持たせた値(Qth−H)とQlen i 比較する(ステップS4)。 At this time, CNTi> 1 deems congestion state just before the case, the value a hysteresis threshold Qth for determining whether a congestion state (Qth-H) Qlen i is compared (step S4).
【0317】 [0317]
一方、Cnti 1でない場合は、Qlen i >Qthを判定する(ステップS5)。 On the other hand, if not CNTi> 1, it determines Qlen i> Qth (step S5). ステップS4、ステップS5でキュー長Qlen i をQth−HあるいはQthと比較した結果、これらのしきい値を越えているとき(すなわち、Qlen i >Qth−H、あるいは、Qlen i >Qthであるとき)、Cnti :=Qlen i −Qth+Hを行ない(ステップS6、ステップS7)、そうでなければCnti :=0とする(ステップS8、ステップS9)。 Step S4, the results of comparing the queue length Qlen i and Qth-H or Qth at step S5, when it exceeds these thresholds (i.e., Qlen i> Qth-H or, when a Qlen i> Qth ), Cnti: = Qlen i -Qth + H to perform (step S6, step S7), and otherwise CNTi: = 0 to (step S8, step S9). さらに、ステップS10に進む。 Further, the process proceeds to step S10.
【0318】 [0318]
ステップS2で、BPID==BPIDt i の場合、キュー長を監視すべきではなく、そのままステップS10に進む。 In step S2, if the BPID == BPIDt i, should not be monitored queue length, the process proceeds to step S10.
【0319】 [0319]
ステップS10では、Cnti 1を判定する。 In step S10, it determines CNTi> 1. もし、そうであれば輻輳状態であり、ステップS11に進み、Cnti から「1」を減算し(Cnti :=Cnti −1)、入力セルを廃棄するなら(ステップS12)Qlen i から「1」を減算する(Qlen i := Qlen i −1)。 If a congested state if so, the process proceeds to step S11, "1" is subtracted from Cnti (Cnti: = Cnti -1), the "1" if discarding input cells from (step S12) Qlen i subtracting (Qlen i: = Qlen i -1). Cnti 1でないなら(ステップS10)輻輳状態ではない。 If Cnti> not 1 (step S10) is not a congested state.
【0320】 [0320]
最後に、BPIDt i にBPIDの値を代入し、BPIDt i を更新する(ステップS13)。 Finally, assign a value of BPID to BPIDt i, and updates the BPIDt i (step S13).
【0321】 [0321]
このように、図18に示したフローチャートによれば、バックプレッシャー信号が出力可能から出力禁止に変化した時から、次に、出力可能から出力禁止に変化する時までの最初のセル入力時の蓄積数のみを監視していることになる。 Thus, according to the flowchart shown in FIG. 18, since the back pressure signal changes in output disable the possible output, then the accumulation during the initial cell input until when the change in the output prohibited from possible output We will be monitoring the number only.
【0322】 [0322]
なお、Hは、ヒステリシスに関するパラメタを示す。 Incidentally, H is, shows the parameters related to hysteresis. ヒステリシスはキュー長を監視して行なわれるセル廃棄や輻輳状態などの判定結果の振動を低減する作用がある。 Hysteresis has the effect of reducing vibration of the determination result such as cell discard and congestion performed by monitoring the queue length. H<Qthであり、ヒステリシスが不要である場合はゼロに設定する。 0 <H <Qth, if hysteresis is not required to set to zero.
【0323】 [0323]
図18では、しきい値QthとヒステリシスパラメタHは全てのキューで同じ値を用いる場合を示しているが、キュー毎に異なる値を設定してもかまわない。 In Figure 18, the threshold Qth and hysteresis parameter H represents the case of using the same for all queues may be set to different values ​​for each queue.
【0324】 [0324]
ここで、しきい値Qthの決定方法を述べる。 Here, we described a method for determining the threshold Qth. まず、バックプレッシャ信号によって制御されていないバッファを考える。 First, consider a buffer that is not controlled by the backpressure signal. このバッファは一定レートRi で入力し、一定レートR0 で出力するとする。 This buffer is entered at a constant rate Ri, and outputs at a constant rate R0. Ri >R0 のとき、この負荷(Ri −RO )が加わってもtT 時間廃棄を起こさないために必要なバッファ量Qthは、Qth=(Ri −RO )×tT により求められる。 When Ri> R0, the buffer amount Qth necessary for the load (ri -RO) does not cause tT time waste be applied is determined by Qth = (Ri -RO) × tT.
【0325】 [0325]
これに対し、この第8の実施形態では、図16に示すように、入力レートはRi で一定であるが、入力バッファからの出力レートはTup時間(入力バッファからの出力禁止時間)についてはゼロ、Tdn時間(入力バッファからの出力可能時間)についてはRe である。 In contrast, in the eighth embodiment, as shown in FIG. 16, the input rate is constant at Ri, the output rate from the input buffer is zero for Tup time (output disable time from the input buffer) a Re for Tdn time (output enabling time from the input buffer). Tup、Tdnの変化が少ないと仮定すると、先ほどと同じく、この負荷が加わってもtT 時間廃棄を起こさないために必要なバッファ量Qthは、 Tup, assuming little change in Tdn, As before, the buffer amount Qth necessary for the load does not cause tT time waste be applied,
【数1】 [Number 1]
【0326】 [0326]
となる。 To become. ここで、出力ポートからの平均の出力レートR′0 は、 Here, the output rate R'0 average from the output port,
【数2】 [Number 2]
【0327】 [0327]
であるから、Qth=( Ri −R′O )×tT となり、この第8の実施形態のセルバッファ装置は、バックプレッシャのない単純なバッファ装置の場合のしきい値と同じしきい値を設定することにより、ほぼ同様の効果を得られると考えられる。 Since it is, Qth = (Ri -R'O) × tT, and the cell buffer device of this eighth embodiment, setting the same threshold as the threshold in the case of back pressure without simple buffer device by, it sought to be obtained substantially the same effects.
【0328】 [0328]
なお、輻輳状態を判定する代わりに、セルの廃棄判定を行なう場合でも全く同じアルゴリズムが適用できる。 Incidentally, instead of determining the congestion state, it can be applied exactly the same algorithm even when performing discard determination of the cell.
【0329】 [0329]
以上説明したように、上記第8の実施形態に係るバックプレッシャ信号を考慮するセルバッファ装置によれば、キュー長の監視結果が外部条件の影響を受け難く、安定したキュー長の監視が容易である。 As described above, according to the considered cell buffer device backpressure signal according to the eighth embodiment, the monitoring results of the queue length is hardly influenced by the external conditions, it is easy to monitor stable queue length is there.
【0330】 [0330]
4. 4. 遅延を考慮したセル数情報の修正(第9の実施形態) Modify number of cells information in Delay (Ninth Embodiment)
次に、本発明に係るセル数情報を修正するセルバッファ装置の実施形態について説明する。 Next, an embodiment of a cell buffer device for correcting a number of cells information according to the present invention.
【0331】 [0331]
4.1 第9の実施形態(遅延を考慮したセルバッファ装置) 4.1 Ninth embodiment (cell buffer device in Delay)
図19に、第9の実施形態に係る遅延を考慮したセルバッファ装置の構成を示す。 Figure 19 shows a configuration of a cell buffer device of which the delay according to a ninth embodiment.
【0332】 [0332]
図19に示したセルバッファ装置は、大きく分けて、ひとつ以上のセルバッファB(Ba、Bb、…)を複数段(図19では2段)接続してなるセルバッファ網300と、各セルバッファBのセル数を入力してセルバッファBへ転送指示を行なう管理部301とから構成される。 Cell buffer device shown in FIG. 19 is roughly one or more cell buffer B (Ba, Bb, ...) and a plurality of stages (in Fig. 19 two stages) connected cell buffer network 300 comprising a respective cell buffers composed of the management unit 301 Metropolitan performing transfer instruction to the cell buffer B enter the number of cells B.
【0333】 [0333]
管理部301は、転送指示の履歴302を保持し、新たな転送指示を決定する際にこの転送指示履歴302を使用することを特徴とする。 Management unit 301 maintains a history 302 of the transfer instruction, and wherein the use of this transfer instruction history 302 in determining a new transfer instruction.
【0334】 [0334]
前記管理部301は、セルバッファBがセル数を管理部301へ送信した時刻から、管理部が決定する転送指示がそのセルバッファBに作用する時刻までに、そのセルバッファBに作用する転送指示の回数を前記転送指示履歴302より求め、その転送指示の回数とセル数から転送指示を決定する。 The management unit 301 from the time that the cell buffer B sent a number of cells to the management unit 301, by the time the transfer instruction managing section determines acts on that cell buffer B, the transfer instruction that acts on the cell buffer B number calculated from the transfer instruction history 302 is used to determine the transfer instruction from the count and the number of cells of the transfer instruction.
【0335】 [0335]
図20は、本発明の遅延を考慮したセルバッファ装置におけるセル数情報の修正原理を説明する図である。 Figure 20 is a diagram for explaining the correction principle of the number of cells information in the cell buffer device of which the delay of the present invention.
【0336】 [0336]
入力リンク#1、#2から入力したセルは、それぞれ前段のセルバッファBa1、Ba2に一時的に蓄積される。 Input link # 1, the cell input from the # 2 are temporarily stored in the previous stage of the cell buffer Ba1, Ba2, respectively. 管理部301の転送指示に従いセルはセルバッファBb に転送され、セルバッファBb はセルを出力リンクへ出力する。 Cell according transfer instruction of the management unit 301 is transferred to the cell buffer Bb, the cell buffer Bb outputs the cell to the output link.
【0337】 [0337]
管理部301には、Ba2のセル数Na2と、Bb のセル数Nb が伝送され、Ba1、Ba2に対して転送指示を出力する。 The management unit 301, a cell number Na2 of Ba2, cell number Nb of Bb are transmitted, outputs a transfer instruction to Ba1, Ba2.
【0338】 [0338]
今、Ba2からセル数情報が管理部301に到着し、その情報から転送指示を決定してBa2に転送を指示して、この転送指示によりBa2のセル数が変化するまでの遅延時間をDセル周期とする。 Now, the number of cell information arrives at the management unit 301 from Ba2, it instructs the transfer Ba2 determine a transfer instruction from the information, the delay time until the number of cells Ba2 This transfer instruction varies D cell the period. また、Bb からセル数情報が管理部に到着し、その情報から転送指示を決定してBa1、Ba2に転送を指示して、この転送指示によりBa1またはBa2からBb へセルが転送されBb のセル数が変化するまでの遅延時間も、説明を簡単にするため同じDセル周期であるとする。 Further, the number of cell information arrives at the management unit from Bb, instructs the transfer to Ba1, Ba2 determines a transfer instruction from the information cell of the transfer instruction by the cell from Ba1 or Ba2 to Bb is transferred Bb delay time of up to several changes, and the same D cell period for simplicity of explanation.
【0339】 [0339]
ここで、図20を、セルバッファBa1、Ba2が図53のクラス1セル蓄積部、クラス2セル蓄積部に相当し、セルバッファBb がセル多重化FIFOに相当する優先制御を行なうセルバッファ装置と考える。 Here, FIG. 20, the class 1 cell storage unit of the cell buffer Ba1, Ba2 Figure 53, corresponds to a Class 2 cell storage unit, the priority control cell buffer device for performing the cell buffer Bb corresponds to the cell multiplexing FIFO I think. Ba1、Ba2、Bb のセルバッファ間のセル転送の方針は図53と同じである。 Ba1, Ba2, Bb cell transfer policy between cells buffers is the same as FIG. 53. つまりBb の蓄積セル数を少なくすることが必要であるが、Bb を努めて空にしない(=アンダフローしない)ように転送指示をする。 That it is necessary to reduce the Bb number of stored cells, not emptied aim to Bb (= not underflow) so that the transfer instruction. さらに、転送指示は空指示をしないように行なう(Ba2に蓄積セルが存在する場合にのみBa2に対して転送指示を行なう)。 Furthermore, the transfer instruction (transfers instruction only to Ba2 when there are accumulated cell Ba2) performed so as not to empty indication.
【0340】 [0340]
さて、時刻t2 でBa2から出力されたセル数情報Na2が管理部301へ到着し、時刻t3 に管理部301が転送指示を行なって時刻t4 にその転送指示によりBa2からセルが出力したとする。 Now, the cell number information Na2 outputted from Ba2 at a time t2 arrives to the management unit 301, the time t3 management unit 301 and the cell is outputted from Ba2 by the transfer instruction at time t4 by performing transfer instruction. 管理部301が知りたい情報は、転送指示が実際にBa2に作用する時刻t4 におけるBa2のセル数である。 Desired information management unit 301, a number of cells of Ba2 at a time t4 which acts on transfer instruction actually Ba2. この時点を図20に白丸で示した。 The time shown in FIG. 20 by open circles.
【0341】 [0341]
Ba2が時刻t2 からt4 の時間(=Dセル周期)でMa2回の転送指示を受け付けたとすると、この間にBa2はMa2セル出力したことになり、時刻t4 におけるBa2のセル数はNa2−Ma2である(Ba2へセルが入力しなかった場合)。 When Ba2 accepts the Ma2 single transfer instruction at the time from the time t2 t4 (= D cell period), during which Ba2 will be outputted Ma2 cells, cell number of Ba2 at a time t4 is the Na2-Ma2 (If the cell did not enter to Ba2).
【0342】 [0342]
通常、管理部301からBa2までの転送指示の伝送遅延は一定だから、Ba2が受信する転送指示回数Ma2は、t4 −t2 =D=t3 −t1 となるようなt1 とt3 間で管理部301が出力した転送指示の回数と等しい。 Usually, since the transmission delay of the transfer instruction from the management unit 301 to Ba2's constant, the transfer instruction count Ma2 received by Ba2 is, the management unit 301 between t4 -t2 = D = t3 -t1 become like t1 and t3 equal to the number of output by the transfer instruction. 従って、転送指示履歴302より転送指示回数Ma2を知ることにより、時刻t2 からt4 におけるBa2の減少セル数を正確に求めることができる。 Thus, by knowing the transfer instruction count Ma2 from the transfer instruction history 302, the number of reduction cells Ba2 at a time t2 t4 can be determined accurately.
【0343】 [0343]
Bb に関しても同様に考えることができ、時刻t2 からt4 におけるBb のセル数の増加量(Ba2からの転送セルによる増加量)を正確に求めることができる。 Can also be considered similarly with respect Bb, increase the number of cells Bb at the time t2 t4 (the amount increase due to transfer cells from Ba2) can be obtained accurately.
【0344】 [0344]
時刻t2 からt4 でのBa2への入力セル数は、管理部301は知ることができない。 Input number of cells to Ba2 at the time t2 t4, the management unit 301 can not know. Ba2に対して空指示しないようにするためには、Ba2のセル数を少なめに見積もればよい。 In order not to empty indication for Ba2, it Estimate the fewer the number of cells of Ba2. 従って、入力リンクからBa2へのセル入力は、時刻t2 からt4 においてなかったと仮定する。 Therefore, it is assumed that the cell input from the input link to Ba2 was not from time t2 t4.
【0345】 [0345]
また時刻t2 からt4 でのBb からのセル出力は、管理部301は知ることができない。 The cell output from the Bb at the time point t2 t4, the management unit 301 can not know. Bb がアンダフローしないようにするためには、Bb のセル数を少なめに見積もる必要がある。 Bb in order to avoid underflow, it is necessary to estimate the fewer the Bb number of cells. 従って、Bb からのセル出力は、時刻t2 からt4 において常に出力し続けたと仮定する(Dセル周期であるので、Dセルと仮定する)。 Therefore, the cell output from Bb are assumed to always continues to output from time t2 t4 (because it is D cell cycle, it is assumed that D cells). さらに、Ba1からの入力セルもゼロと仮定する。 Further, it is assumed that also zero input cell from Ba1.
【0346】 [0346]
まとめると、修正されたNa2、Nb をそれぞれN′a2、N′b とすると、 In summary, N'a2 modified Na2, Nb, respectively, when N'b,
N′a2=Na2+0−Ma2 N'a2 = Na2 + 0-Ma2
N′b =Nb +Ma2−D N'b = Nb + Ma2-D
である。 It is. よって管理部301がBa2へ転送指示を行なう条件は、 Therefore condition managing unit 301 transfers instructions to Ba2 is
(N′b ≦Th)and(N′a >0) (N'b ≦ Th) and (N'a> 0)
で与えられる。 It is given by. Ba1への転送指示は、 Transfer instruction to Ba1 is,
(N′b ≦Th)and(N′a ≦0) (N'b ≦ Th) and (N'a ≦ 0)
の条件で行なう。 Carried out in the conditions. Thは通常は「1」である。 Th is usually a "1". 以上のようにセル数を修正することにより、アンダフローや空指示を努めて少なくしつつ転送を指示することができる。 By modifying the number of cells as described above, it is possible to direct the transfer while reducing strive underflow or empty indication.
【0347】 [0347]
4.2 一般的なバッファ網におけるセル数の修正方法次に、一般的なバッファ網におけるセル数の修正方法について説明する。 The method of modifying the number of cells next to the 4.2 common buffer network, will be described the general buffer cell number correction method in the network.
【0348】 [0348]
基本原理の説明には図21を用いる。 The description of the basic principle used Figure 21. 図21には、すでに述べたようにセルバッファ網300と管理部301がある。 21, there is a management unit 301 and the cell buffer network 300 as already mentioned. セルバッファ網300は、着目しているセルバッファBx を含む。 Cell buffer network 300 includes a cell buffer Bx of interest. セルバッファBxは物理的には複数のバッファであっても良い。 Cell buffer Bx is physically be a plurality of buffers. 管理部はこのセルバッファBxからセル数情報を得て転送指示を与える。 Management unit gives a transfer instruction to obtain cell number information from the cell buffer Bx. まず本発明を説明する際に使用する用語の定義を行う。 The definitions of the terms used in describing the present invention carried out first.
【0349】 [0349]
4.2.1. 4.2.1. 用語の定義時刻は、特に断らない限り現在時刻をゼロとする相対時刻とし、セル周期経過毎に1ずつ増加するものとする。 Defining the time terms, the relative time to the current time to zero unless otherwise specified, shall be increased by one for each cell period elapses. このような時刻の定義は他の表現方法に変換可能であり一般性がある。 Defining such time there is generality can be converted to other representations. また、ある時刻t1からある時刻t2までの期間をpなどと表すことがあり、これをp=[t1、t2)と表す。 Further, it may represent a period until time t2 from a certain time t1 and the like p, which p = representing the [t1, t2). この期間pは時刻t1を含み、t2は含まない。 The period p comprises a time t1, t2 are not included.
【0350】 [0350]
セルバッファBxの蓄積セル数をNxで表す。 It represents the number of accumulated cells in the cell buffer Bx in Nx. Nxは現在時刻(t=0)に管理部301に到着した蓄積セル数である。 Nx is the number of accumulated cells arriving to the management unit 301 to the current time (t = 0).
【0351】 [0351]
セルバッファBxに対し管理部301が時刻t(t 0)に出力した転送指示をIx(t)で表す。 To cell buffer Bx represents a transfer instruction to the management unit 301 has output at time t (t <0) in Ix (t). 転送を指示した場合はIx(t)=1であり、転送を指示しない場合はIx(t)=0である。 If instructed transfer is Ix (t) = 1, if no instruction to transfer is Ix (t) = 0.
【0352】 [0352]
時刻t(t 0)に管理部301に到着したセルバッファBxのHOLセル数をHx(t)で表す。 The number HOL cell time t (t <0) in the cell buffer Bx arriving at the management unit 301 represented by Hx (t).
【0353】 [0353]
HOLセル数とは、1回の転送指示でセルバッファから一度に転送される可能性のあるセル数である。 The number of HOL cells, a number of cells that may be transferred at a time from the cell buffer at a single transfer instruction. 特に、現在時刻に管理部301に到着したHOLセル数情報HxをHx(0)と表す。 In particular, the HOL cell number information Hx that arrived at the management unit 301 to the current time expressed as Hx (0).
【0354】 [0354]
本発明の管理部301は、時刻t(t 0)において得たセルバッファBxのHOLセル数Hx(t)および自らがセルバッファBxへ出力した転送指示Ix(t)を履歴として記憶する。 Management unit 301 of the present invention, the number of HOL cells obtained cell buffer Bx at time t (t <0) Hx ( t) and its own stores as a history the transfer instruction Ix (t) which is output to the cell buffer Bx.
【0355】 [0355]
ある期間pに管理部がセルバッファBxに転送を指示した回数をSmx(p)と表す。 The number of times the management unit instructs the transfer to the cell buffer Bx in a period p expressed as Smx (p). p=[t1、t2)のとき、Mx[t1、t2)とも表す。 p = [t1, t2) when, also denoted Mx [t1, t2). つまり、 That is,
【数3】 [Number 3]
【0356】 [0356]
図23に、セルバッファBxから管理部301へのセル数情報の流れと、管理部301からセルバッファBxへの転送指示の流れを表したタイムチャートを示す。 23 shows the flow of the cell number information from the cell buffer Bx to the management unit 301, a time chart showing the flow of a transfer instruction from the management unit 301 to the cell buffer Bx.
【0357】 [0357]
この図の様に、時刻tf、tt、thを定める。 As of this figure, it stipulated time tf, tt, the th. 時刻tfにおけるセルバッファBxの蓄積セル数Nxおよび時刻thにおけるセルバッファBxのHOLセル数Hxは、管理部301が現在時刻においてセルバッファBxに関し直接知り得る最新の情報であるとする。 HOL cell number Hx of cell buffer Bx in the storage cell number Nx and time th of the cell buffer Bx at time tf, the management unit 301 and the latest information can be known directly relates cell buffer Bx in the current time. このとき管理部301は、時刻ttにおけるセルバッファBxの蓄積セル数を予測したいものとする。 The time management unit 301 is assumed to wish to predict the number of accumulated cells in the cell buffer Bx at time tt.
【0358】 [0358]
時刻tf、tt、thに対して、時刻t1、t3、t2を定める。 Time tf, tt, against th, determine the time t1, t3, t2. 時刻t1に管理部301が出力した転送指示がセルバッファBxに届く時刻をtfとし、時刻t2に管理部301が出力した転送指示がセルバッファBxに届く時刻をttとする。 Transfer instruction managing section 301 has output at time t1 is the time to reach the cell buffer Bx and tf, the transfer instruction managing section 301 has output at time t2 to the tt time to reach the cell buffer Bx. 同様に時刻t3に管理部301が出力した転送指示がセルバッファBxに届く時刻をthとする。 Similarly transfer instruction managing section 301 has output at time t3, and th time reaching the cell buffer Bx.
【0359】 [0359]
時刻t1、t2、t3は現在時刻より過去の時刻であるとする。 Time t1, t2, t3 is assumed to be past time from the current time. つまり、t1<t2 0、t3 0とする。 That, and t1 <t2 <0, t3 < 0.
【0360】 [0360]
4.2.2. 4.2.2. 基本原理ここで本発明の基本原理を説明する。 The basic principle for explaining the basic principle of the present invention herein. 本発明の管理部301は転送指示の履歴から蓄積セル数の変化を予測する。 Management unit 301 of the present invention to predict the change in the number of storage cells from the history of the transfer instruction. 前述のセルバッファBxについて、時刻ttの蓄積セル数を求めたい場合、それより過去にの時刻tfにおける蓄積セル数Nxに対して、転送指示の履歴を用いてこの期間に転送指示により転送されたセル数を予測して修正する。 For cell buffer Bx of the foregoing, if you want to find the number of storage cells time tt, with respect to the number of stored cells Nx at time tf it than in the past, it has been transferred by the transfer instruction during this period using the history of the transfer instruction to correct to predict the number of cells. 修正は、1回の転送指示により転送されるセル数が1以上であることに基づく。 Modification is based on the number of cells to be transferred by a single transfer instruction is 1 or more. 特に時刻th以降の最初の転送指示により転送されるセル数についてはHOLセル数Hx以上であることに基づく。 Especially for the first number of cells to be transferred by the transfer instruction after time th based on at HOL cell number Hx above.
【0361】 [0361]
4.2.3. 4.2.3. 3つの関数以上の基本原理より修正に使用する3つの関数、f( )、g( )、Sc()を定める。 Three functions used to modify than the basic principle of the above three functions, f (), g (), determining the Sc (). これらの関数は、時刻tfから時刻ttにおいてセルバッファBxが転送指示によるセルの転送でどのくらい変化するかを求めるものである。 These functions, cell buffer Bx at time tt from time tf is for claiming or change how much in the cell transfer by the transfer instruction. tf、ttと比較してthがどのような値であるかにより3通りの場合に分類でき、適用する関数が異なる。 tf, it can be classified into three cases of the what kind of value as compared to the tt th is applied to the function is different.
【0362】 [0362]
(1) 関数f( ) (1) function f ()
関数f( )は、th=tf<ttの場合に使用する。 Function f () is used when the th = tf <tt. この時のタイムチャートを図22に示す。 Shows a time chart at this time is shown in FIG. 22. p1[t1、t2)とする。 p1 [t1, t2) to. Hx≠0かつSmx(p1)≠0のときは、期間p1の最初の転送指示ではHxセル転送され、それ以降の転送指示では1セルずつ転送されると考える。 Hx ≠ 0 and Smx (p1) when ≠ 0, in the first transfer instruction period p1 is transferred Hx cells, considered to be transferred one cell on subsequent transfer instruction. 時刻tfから時刻ttにおいて変化するセルバッファBxのセル数を計算する関数f( )は、Hxと期間p1の転送指示回数Smx(p1)を引数として、次のように求めることができる。 Function f to calculate the number of cells the cell buffer Bx changes from time tf at time tt () is the transfer instruction count Smx of Hx and duration p1 to (p1) as an argument, it can be obtained as follows.
【0363】 [0363]
【数4】 [Number 4]
【0364】 [0364]
(2) 関数g( ) (2) function g ()
関数g( )は、th<tf<ttの場合に使用する。 Function g () is used in the case of th <tf <tt. この時のタイムチャートを図23に示す。 Shows a time chart at this time is shown in FIG. 23. p1=[t1、t2)とし、p2=[t3、t1)とする。 p1 = a [t1, t2), p2 = [t3, t1) to.
【0365】 [0365]
この場合、時刻th以降に到着した初めての転送指示が期間p2に管理部301から出力されたか否かで場合分けが必要である。 In this case, it is necessary to divide the case on whether first transfer instruction arrives after time th is output from the management unit 301 in the period p2. 期間p2に管理部301から転送指示が出力されていないから、期間p1においてHxの値を用いることができる。 Since transfer instruction from the management unit 301 during the period p2 is not output, it is possible to use the value of Hx in the period p1. 時刻tfから時刻ttにおいて変化するセルバッファBxのセル数を計算する関数g( )は、Hxと期間p1、p2の転送指示回数Smx(p1)、Smx(p2)を引数として、次のように求めることができる。 Function to calculate the number of cells the cell buffer Bx vary in time tf from time tt g () is, Hx and duration p1, p2 transfer instruction count Smx of (p1), Smx the (p2) as an argument, as follows it can be determined.
【0366】 [0366]
【数5】 [Number 5]
【0367】 [0367]
(3) 関数Sc( ) (3) function Sc ()
関数Sc( )は、tf<tt=thの場合に使用する。 Function Sc () is used when the tf <tt = th. この時のタイムチャートを図24に示す。 Shows a time chart at this time is shown in FIG. 24. p1=[t1、t2)とする。 p1 = [t1, t2) to. 管理部301が知り得る最新の蓄積セル数は時刻tfのときの値であるが、この場合はHOLセル数に関しては時刻tfから時刻ttまでの全ての期間における情報が管理部301にすでに到着している。 Although recent number of stored cells managing unit 301 can know is the value at time tf, already arrived to the information management unit 301 of all periods from the time tf to time tt is in terms of the number of HOL cell in this case ing.
【0368】 [0368]
転送指示がセルバッファBxへ到着した時点のHOLセル数がわかれば、転送されるセル数もわかることから、時刻tfから時刻ttにおいて変化するセルバッファのセル数を計算する関数Sc( )は、Ix(t)、Hx(t)を用い、期間p1を引数として、次のように求めることができる。 Knowing the number HOL cell at the time the transfer instruction arrives in the cell buffer Bx, since the apparent number of cells to be transferred, the function computes the number of cells of the cell buffer changes at time tt from time tf Sc () is using ix (t), Hx (t), the period p1 as an argument, it can be obtained as follows.
【0369】 [0369]
【数6】 [6]
【0370】 [0370]
以上説明してきたようなセル数の修正方法を、例えば、図1に示したようなクラス間の優先制御を行なうセル多重化装置に適用することは容易である。 The number of cells correction method as has been described above, for example, it is easy to apply to the cell multiplexing device for performing priority control among classes such as that shown in FIG.
【0371】 [0371]
さらに、例えば、図6に示したようなVC間公平キューイングを行なうセル多重化装置に、セル数の修正方法を適用することも容易である。 Furthermore, for example, the cell multiplexing apparatus for performing a VC between fair queuing as shown in FIG. 6, it is easy to apply the method of correcting a number of cells.
【0372】 [0372]
4.3 第9の実施形態に係るセルバッファ装置の利点以上説明したように、上記第9の実施形態によれば、セルバッファとセルバッファを管理する管理部との間に遅延のあるセルバッファ装置は、転送指示を決定する際に転送指示の履歴を用いて、セルバッファから伝送されてきたセル数を、転送指示がセルバッファに作用する時刻のセル数に修正するため、遅延時間を原因とした性能の劣化が少ない。 4.3 As described ninth embodiment according cell buffer device advantages over, according to the ninth embodiment, a cell buffer with a delay between a management unit for managing a cell buffer and the cell buffer apparatus for correcting using the history of the transfer instruction when determining the transfer instruction, the number of cells which is transmitted from the cell buffer, the number of cells times the transfer instruction is applied to the cell buffer, causes a delay time deterioration of the performance is small.
【0373】 [0373]
5. 5. セルスイッチ(第10の実施形態) Cell switch (Tenth Embodiment)
5.1 第10の実施形態(セルスイッチ) 5.1 tenth embodiment (cell switch)
次に、第10の実施形態として、ここまで説明してきた本発明に係るセル多重化装置、セルバッファ装置を組み合わせたセルスイッチについて説明する。 Next, a tenth embodiment, the far cell multiplexing device according to the present invention has been described, the cell switch that combines the cell buffer device will be described.
【0374】 [0374]
図25は、複数の入力ポート#i(i=1〜N)から入力したセルを一時的に蓄積し、バックプレッシャに応じて出力する複数の入力バッファIBと、内部の輻輳状態に応じてバックプレッシャ信号を出力するバックプレッシャ付きセルスイッチ400と、入力バッファIBとの間で情報を転送するカゴ管理部KMとからなる。 25, temporarily stores the cells entered from a plurality of input ports #i (i = 1~N), a plurality of input buffers IB to output in response to back pressure, depending on the interior of the congestion back a back pressure with the cell switch 400 for outputting a pressure signal, and a basket management unit KM to transfer information between the input buffer IB.
【0375】 [0375]
この構成例において扱うセルは、大きくは高優先セル、低優先セルの2つの優先度を持ち、さらに低優先クラスは複数のクラスにわかれている。 Cell handling in this configuration example, large high-priority cell has two priority low priority cells, even lower priority class is divided into a plurality of classes. 通常はCBR、VBRなどのリアルタイム情報を伝送するセルを高優先セルとし、ABR、UBRなどのノンリアルタイム情報を伝送するセルを低優先セルとする。 Typically CBR, the cells transmitting the real-time information such as VBR and high priority cells, ABR, and low-priority cells the cells transmitting the non-real-time information such as UBR.
【0376】 [0376]
まず、バックプレッシャ付きセルスイッチについて説明する。 First, a description will be given of back pressure with a cell switch.
【0377】 [0377]
カゴスイッチの特徴は入力バッファIBとカゴ管理部KMにある。 Features of the car switch is in the input buffer IB and the basket management unit KM. バックプレッシャ付きセルスイッチ400は入力したセルをある定められた時間内に出力できればよく、そのアーキテクチャは以下に示すものだけではない。 Back pressure with the cell switch 400 need only output within a predetermined time with a cell input, its architecture is not the only one shown below. 例えば、電子情報通信学会技術報告SSE93−6“バッファ容量拡張可能なATMスイッチ:XATOM”にて示されているATMスイッチでもよい。 For example, Institute of Electronics, Information and Communication Engineers Technical Report SSE93-6 "buffer capacity expandable ATM switch: XATOM" may be an ATM switch, which is indicated by.
【0378】 [0378]
図25に示すバックプレッシャ付きセルスイッチ400を一例として説明する。 The back pressure with the cell switch 400 shown in FIG. 25 will be described as an example. 1段目単位スイッチSE1、2段目単位スイッチSE2、出力バッファOBからなり、SE1とSE2を並列リンクにて2段デルタ網接続し、SE2の出力したセルをOBへ転送して出力ポートへ出力する。 First stage unit switch SE1,2 stage unit switch SE2, made from the output buffer OB, SE1 and SE2 connected 2-stage Delta network in a parallel link, outputs the output by cell SE2 transferred to the OB to the output port to. SE1からOBの間はk倍速で動作する。 Between SE1 of OB operates at k-times speed. kの値はセルスイッチがノンブロッキングになるように定める。 The value of k shall be determined so that the cell switch is non-blocking. 例えばSE1、SE2が8入力8出力の時、全体で16入力16出力とする場合にはk=2とすればよい。 For example SE1, SE2 when the 8-input 8 output may be set to k = 2 in the case of a total 16 input 16 output.
【0379】 [0379]
図25のバックプレッシャ付きセルスイッチ400は、高優先セルと低優先セルの2段階の優先度を扱う構成である。 Back pressure with the cell switch 400 in FIG. 25 is a configuration for handling a two-stage priority of high priority cells and the low priority cells.
【0380】 [0380]
低優先セルの交換にのみ着目すると基本構成は1995年電子情報通信学会総合大会B−589“ATM2段スイッチ網のバッファ容量拡張法”にて示されているものとほぼ等しい。 Basic When attention is focused only on the exchange of low-priority cell configuration is substantially equal to that shown in the "buffer capacity expansion method of ATM2-stage switch network" 1995 Institute of Electronics, Information and Communication Engineers General Conference B-589. 低優先セルは、SE1、SE2で交換、コピーされる。 Low priority cells are exchanged SE1, SE2, are copied.
【0381】 [0381]
低優先セルがOBで輻輳した場合には低優先セル用バックプレッシャ信号を用いてIBのその出力ポート行きのセル出力を抑制する。 Low-priority cell in the case of congestion in the OB inhibit cell output IB its output ports bound for using back pressure signal for low priority cells. このバックプレッシャ信号により基本的にはOBおよびSE2のバッファを溢れさせないようにすることが可能である。 Basically it is possible to prevent flooding the buffer OB and SE2 This back pressure signal. しかし、マルチキャストセルの影響のためこれらのバッファが溢れそうになる場合があり、それに備えて低優先セル用オーバーフローバックプレッシャ信号がOBからSE2へ出力し、低優先セル非常用バックプレッシャ信号がSE2からIBへ出力する。 However, there are cases where these buffers is about to overflow due to the effect of the multicast cell, the overflow back pressure signal for the low priority cell is output from the OB to SE2 provided therewith, a low priority cell emergency backpressure signal SE2 and outputs it to the IB. IBが低優先セルを蓄積するのでSE2、OBでは廃棄されない。 IB is not dropped in so SE2, OB accumulates low priority cells.
【0382】 [0382]
OBは、低優先セル用オーバーフローバックプレッシャ信号をSE2へ出力する代わりに、これを低優先セル非常用バックプレッシャ信号としてIBへ出力する構成でもよい。 OB, instead of outputting an overflow back pressure signal for low priority cells to SE2, which may be configured to output to IB as a low priority cell emergency back pressure signal. この場合は、SE2が低優先セル非常用バックプレッシャ信号を出力する必要はない。 In this case, SE2 is not necessary to output a low priority cells emergency back pressure signal. しかし、先に説明したように、低優先セル非常用バックプレッシャ信号をSE2から出力した方がSE2内でのバッファ共用化効果を有効に活用できるという利点がある。 However, as described above, has the advantage that better to output from the low-priority cell emergency backpressure signal SE2 can be effectively utilized a buffer shared effect of within SE2.
【0383】 [0383]
高優先セルは、低優先セルと同様、SE1、SE2で交換、コピーされる。 High priority cells are similar to the low priority cells, exchanged SE1, SE2, are copied. 高優先セルに関してはバックプレッシャ付きセルスイッチからIBへのバックプレッシャ信号はない。 There is no back pressure signal from the back-pressure with the cell switch to IB with respect to high-priority cell. OBはその高優先セルの輻輳を反映した高優先セル用バックプレッシャ信号によりSE2のセル出力を制御する。 OB controls the cell output SE2 by the high priority cells for back pressure signal reflecting the congestion of the high priority cells. IBは高優先セルを蓄積しない。 IB does not accumulate a high-priority cell. SE2内に空きバッファが無ければ廃棄されることがある。 There is that the free buffer is discarded if not in the SE2.
【0384】 [0384]
次に、出力バッファについて説明する。 Next, a description will be given output buffer.
【0385】 [0385]
図26に、カゴスイッチの出力バッファOBの構成例を示す。 Figure 26 shows a configuration example of the output buffer OB of the car switch.
【0386】 [0386]
SE2からOBへ転送されたセルは識別部410にて優先度を識別され各優先度に対応したキューに入れられる。 Cells transferred from SE2 to OB is placed in a queue corresponding to the priority identified each priority by identifying unit 410. 各キューのセルは選択部411により優先度に従って選択され出力ポートへ出力される。 Cells of each queue is output to be selected according to the priority by the selection unit 411 output port. OBは、低優先セルのキュー長があるしきい値を越えた場合に低優先セル用バックプレッシャ信号を用いてIBの低優先セルの、そのOB行きの出力を止める。 OB is the low priority cells of IB using a back pressure signal for low priority cells when exceeding a certain threshold queue length of the low priority cells, stopping the output of the OB bound. 高優先セルのキュー長があるしきい値を越えた場合に高優先セル用バックプレッシャ信号を用いてSE2の高優先セルの、そのOB行きの出力を止める。 The back pressure signal for high-priority cells SE2 high priority cells using when exceeding a certain threshold queue length of the high priority cells, stopping the output of the OB bound. 低優先セルのマルチキャストセルの影響により低優先セルのキュー長が伸び続けた場合に備えて低優先セル用オーバーフローバックプレッシャ信号を用いてSE2の低優先セルの、そのOB行きの出力を止める。 In case the queue length of the low priority cells have continued to grow due to the influence of the multicast cell of the low priority cells of SE2 low priority cells with an overflow back pressure signal for low priority cells, stopping the output of the OB bound.
【0387】 [0387]
次に、単位スイッチについて説明する。 Next, the unit switches will be described.
【0388】 [0388]
図27に、カゴスイッチに用いる1段目単位スイッチSE1の構成例を示す。 Figure 27 shows a configuration example of a first stage unit switch SE1 use in basket switch. SE1は一般的によく知られているスイッチLSIである。 SE1 is a generally well-known switch LSI. 入力リンクより入力したセルに対し、そのセルヘッダを識別部415で識別して所定の交換処理を行い出力リンクへ出力する。 To cells that are input from the input link, and outputs the identifying the cell header by the recognition unit 415 to the output link performs predetermined exchange. スイッチ全体がk倍速で動作していることから内部のセルバッファの蓄積セル数は多くならない。 Number of accumulated cells in the interior of the cell buffer from the entire switch is operating in k-times speed does not become much. これについては1994年電子情報通信学会秋季大会B−439“並列リンクのあるスイッチ網の検討”にて知られている。 For this has been known in "A Study of the switching network with a parallel link" 1994 Institute of Electronics, Information and Communication Engineers Autumn Meeting B-439.
【0389】 [0389]
図28に、カゴスイッチに用いる2段目単位スイッチSE2の構成例を示す。 Figure 28 shows a configuration example of a second-stage unit switch SE2 used in car switch. SE2は内部のキューが出力リンク毎に優先度毎のキューになっている。 SE2 inside the queue is in the queue for each priority for each output link. 各優先度毎のキューの出力は選択部421により選択される。 The output queue for each priority is selected by the selection unit 421. 高優先セルが存在するときには、低優先セルの有無に関わらずその出力リンクに高優先セルを出力する。 When a high priority cell exists, it outputs a high-priority cell on the output link or without a low priority cells. ただし、選択部421に入力している高優先セル用バックプレッシャ信号が、高優先セルの出力の禁止を指示している場合は高優先セルを出力せず、低優先セルを出力しても良い。 However, the high priority cells for back pressure signal input to the selected section 421, if instructs the prohibition of output of the high priority cells may not output the high priority cells may output a low priority cells . 低優先セルは低優先セル用オーバーフローバックプレッシャ信号により出力が禁止される場合がある。 Low priority cells may if output is prohibited by the overflow back pressure signal for low priority cells.
【0390】 [0390]
SE2は、複数の優先度、複数の出力リンク間で物理的なバッファ領域を共有することにより、SE2内部のバッファを効率的に使用することが可能である。 SE2, a plurality of priorities, by sharing the physical buffer space among a plurality of output links, it is possible to use SE2 internal buffer efficiently. バッファ状態管理部422は各キュー毎のキュー長、および優先度毎に全ての出力リンク行きのキュー長を合計した結果などをモニタする。 The buffer status management unit 422 monitors the queue length, and all of the output links bound summed result queue length for each priority, etc. for each queue.
【0391】 [0391]
例えば、高優先セル用キューは各キュー毎にしきい値を持ち、そのしきい値を越えた場合にそのキューの入力セルを廃棄する。 For example, a queue for high priority cells have a threshold for each queue, it discards the input cell for that queue when it exceeds that threshold. 低優先セル用キューは全てのキュー長の合計をモニタし、しきい値を越えた場合は低優先セル非常用バックプレッシャ信号により低優先セルの入力を禁止するようにIBに伝える。 Queue for low priority cells monitors the sum of all queue lengths, if exceeding the threshold tell IB to prohibit input of a low priority cells by low priority cells emergency back pressure signal.
【0392】 [0392]
SE1はSE2と同じ単位スイッチを使用してもかまわない。 SE1 is not may be using the same unit switch and SE2.
【0393】 [0393]
図25のバックブレッシャ付きセルスイッチ400は2段の単位スイッチSE1とSE2によりセルを交換するが、内部の経路は各入力ポートと出力ポートのペアにひとつずつしか定めない。 Back Buressha with cell switch 400 in FIG. 25 will exchange cell by unit switches SE1 and SE2 of the second stage, but the internal path is not defined only by one pair of output ports and each input port. そのため各単位スイッチはセルヘッダを見てセルをコピーしつつ交換する際に複雑な経路の選択アルゴリズムは必要ない。 Therefore selection algorithm complex path in each unit switch to exchange while copy cells watches cell header is not necessary. 出力ポート数が32ポート程度以下であるなら、セルのヘッダに出力ポートのビットマップ情報を付加することが容易に可能である。 If the number of output ports is less than about 32 ports, it is easily possible to add bitmap information of the output port in the header of the cell. SE1、SE2はそのビットマップ情報に基づいてセルを交換する。 SE1, SE2 to switch cells based on the bitmap information.
【0394】 [0394]
次に、入力バッファIBについて説明する。 It will now be described an input buffer IB.
【0395】 [0395]
図29に、カゴスイッチの入力バッファIBの構成例を示す。 Figure 29 shows the configuration of an input buffer IB of the car switch.
【0396】 [0396]
IBに入力した高優先セルは、ユニキャスト、マルチキャストとも優先的にSE1へ出力する。 High priority cells entered in IB and outputs to the unicast, multicast also preferentially SE1. そのため高優先セルのセル遅延揺らぎは非常に小さい。 Therefore cell delay variation of the high priority cells is very small. またIBに高優先セル用のバッファは存在しない。 The buffer for the high-priority cell does not exist in the IB.
【0397】 [0397]
本発明の特徴は低優先セルの処理方法にある。 Feature of the present invention is the processing method of the low priority cells. 以降、低優先セルについてのみ説明する。 Later, it will be described only for the low-priority cell.
【0398】 [0398]
図29において、入力バッファIBは、主に、入力したユニキャストセルを一時的にそのセルの出力ポート毎に蓄積する複数の出力ポート毎ユニキャストセル管理部430と、入力したマルチキャストセルを一時的に蓄積するマルチキャストセル管理部431、およびこれらの管理部のセルを選択して入力バッファから出力する出力ポート選択スケジューラ432を持つ。 29, the input buffer IB is mainly a plurality of output ports each unicast cell management unit 430 for storing the output for each port temporarily the cell unicast cell type, temporarily entered multicast cells storing multicast cell management unit 431, and select the cell of the management unit to have an output port selection scheduler 432 to be output from the input buffer.
【0399】 [0399]
出力ポート毎ユニキャストセル管理部430は、入力したセルを一時的にそのセルのクラス毎に蓄積する複数のクラス毎ユニキャストセル管理部433と、そのクラス毎ユニキャストセル管理部433から出力したセルを多重化するクラス多重化FIFO434を持つ。 Output ports for each unicast cell management unit 430 includes a plurality of classes each unicast cell management unit 433 for storing for each class of temporarily its cell inputted cell, output from the class each unicast cell management unit 433 with a class multiplexing FIFO434 for multiplexing cells.
【0400】 [0400]
マルチキャストセル管理部431は、入力したセルを一時的にそのセルのクラス毎に蓄積する複数のクラス毎マルチキャストセル管理部435と、そのクラス毎マルチキャストセル管理部435から出力したセルを多重化するクラス多重化FIFO436を持つ。 Multicast cell management unit 431, a class that multiplexes a plurality of classes each multicast cell management unit 435, a cell output from the class each multicast cell management unit 435 for storing for each class of temporarily its cell inputted cell with a multiplexing FIFO436.
【0401】 [0401]
出力ポート毎ユニキャストセル管理部430、マルチキャストセル管理部431のそれぞれのクラス多重化FIFO434、436より出力するセルは出力ポート選択スケジューラ432により選択され、入力バッファIBから出力される。 Output ports for each unicast cell management unit 430, each of the cells to be output from the class multiplexing FIFO434,436 multicast cell management unit 431 is selected by the output port selection scheduler 432, output from the input buffer IB.
【0402】 [0402]
出力ポート選択スケジューラ432は外部からの低優先セル用バックプレッシャ信号、低優先セル非常用バックプレッシャ信号を考慮してセルを選択する。 Output port selection scheduler 432 back pressure signal for low priority cell from the outside, to select a cell in consideration of the low priority cells emergency back pressure signal.
【0403】 [0403]
クラス毎ユニキャストセル管理部433は、蓄積されているセルのうち、カゴ管理部KMから出力を許可されたセルの集合を管理するカゴと呼ばれるキュー (カゴ440)と、それ以外のセルを管理する前カゴと呼ばれるキュー(前カゴ441)を持つ。 Class each unicast cell management unit 433, the management of the stored electrical cell, as the queue (basket 440) called basket for managing the set of cells are allowed to output from the basket management unit KM, the other cells called the basket before you have a queue (before the car 441).
【0404】 [0404]
前カゴ441に入ったセルは単位カゴという単位で管理される。 Cell went before the cage 441 is managed in units of unit basket. 図29において前カゴ441、カゴ440内の縦一列が単位カゴを示す。 Before basket 441 in FIG. 29 shows one column is a unit basket in basket 440. 入力したセルは単位カゴ毎にVC(CG)間で公平に管理される。 Inputted cell is fairly managed between VC (CG) for each unit basket. 前カゴ441のセルはカゴ管理部KMの指示により、単位カゴを単位としてカゴ440に転送される。 Cells prior to basket 441 by instruction of the basket management unit KM, is transferred to the basket 440 units basket units.
【0405】 [0405]
カゴ440のセルはカゴ管理部KMの指示により、セルを単位として転送されクラス多重化FIFO434で多重化される。 The cells instruction basket management unit KM basket 440, is multiplexed in the transferred class multiplexed FIFO434 cell units.
【0406】 [0406]
クラス毎マルチキャストセル管理部435の動作は後述する。 Class behavior each multicast cell management unit 435 will be described later.
【0407】 [0407]
IBの全ての出力ポート、全てのクラスのキューでセルバッファを共有することにより、有限のバッファ量を有効に活用することが可能である。 All output ports of the IB, by sharing the cell buffer queue of all classes, it is possible to effectively utilize the buffer amount of the finite.
【0408】 [0408]
IBに到着したセルがIBから出力されるためには、セルが到着したことをIBからKMへ通知し、KMがIBからの出力を指示することが必要である。 For cells arriving in IB is output from the IB notifies that the cell has arrived from the IB to the KM, it is necessary KM instructs the output from IB. 従ってIBとKMの間の情報伝送に遅延がある場合はその遅延時間だけIBからのセルの出力が遅延する。 Therefore, the output of the cell from IB only the delay time if there is a delay in information transmission between IB and KM is delayed. しかし遅延時間の大きさは数セル周期程度と考えられるため、トラヒック特性に及ぼす影響は少ないと考えられる。 However, since the amount of delay time is considered to few cell cycles, influence on the traffic characteristics is considered to be small.
【0409】 [0409]
ユニキャストセルを出力ポート毎に優先制御するために、IBには出力ポート毎に、クラス毎ユニキャストセル管理部433とクラス多重化FIFO434がある。 To priority control a unicast cell for each output port, the IB for each output port, there is a class for each unicast cell management unit 433 and the class multiplexing FIFO434. 図1のセル多重化装置で説明した優先制御と基本的に同じ方法を使用する。 Using the priority control essentially the same method described in the cell multiplexing device of Fig.
【0410】 [0410]
図1はセル多重化装置であるが、カゴスイッチはセルスイッチでありIBはセルスイッチの入力バッファである。 Figure 1 is a cell multiplexing device, the car switch is a cell switch IB is an input buffer of the cell switch. そのためクラス多重化FIFOはひとつのIBに全ての出力ポートに対応して複数存在し、そのセルは出力ポート選択スケジューラ434により選択されSE1へ出力される。 Therefore class multiplexing FIFO is compatible with all the output ports to one of IB and plurality of, that cell is output to SE1 is selected by the output port selection scheduler 434.
【0411】 [0411]
図1のセル多重化装置のクラス毎セル蓄積部13は、図29のIBのクラス毎ユニキャストセル管理部433に相当し、図1のセル多重化装置のクラス多重化FIFO14は、図29のIBのクラス多重化FIFO434に相当する。 Class per cell storage unit 13 of the cell multiplexing device of Fig. 1 corresponds to the class for each unicast cell management unit 433 of the IB of Figure 29, the class multiplexing FIFO14 the cell multiplexing device of Figure 1, in Figure 29 It corresponds to the IB of the class multiplexing FIFO434.
【0412】 [0412]
図1のセル多重化装置のクラス管理部12は、図25のKMに対応する。 Class management unit 12 of the cell multiplexing device of Fig. 1 corresponds to the KM in Fig. 25. クラス毎ユニキャストセル管理部433からクラス多重化FIFO434へのセルの転送をカゴ管理部KMが指示することにより優先制御を行なうことができる。 Basket management unit KM to transfer cells from the class each unicast cell management unit 433 to the class multiplexing FIFO434 can perform priority control by instructing.
【0413】 [0413]
マルチキャストセルの優先制御は後述する。 Priority control of a multicast cell will be described later.
【0414】 [0414]
ユニキャストセルをクラス毎にVC間公平キューイングするために、クラス毎ユニキャストセル管理部433に前カゴ441とカゴ440がある。 To VC between fair queuing a unicast cell for each class, the class for each unicast cell management unit 433 is a previous basket 441 and basket 440. 図6のセル多重化装置で説明したVC間公平キューイングと基本的に同じ方法を使用する。 Using the VC between fair queuing essentially the same method described in the cell multiplexing device of Fig.
【0415】 [0415]
図6はセル多重化装置であり、かつクラスも存在しないが、IBはセルスイッチの入力バッファでありクラスも存在する。 Figure 6 is a cell multiplexing device, and class does not exist, IB is also present and class an input buffer of the cell switch. 前カゴ441、カゴ440は各IBについて、全ての出力ポート、全てのクラスに対応して存在し、そのセルはクラス多重化FIFO434により多重化された後、出力ポート選択スケジューラ432により選択されSE1へ出力される。 Before basket 441, basket 440 for each IB, all output ports, and exists corresponding to all classes, after the cell is multiplexed by the class multiplexing FIFO434, to SE1 is selected by the output port selection scheduler 432 is output.
【0416】 [0416]
図6のセル多重化装置のカゴ213は、図29のIBのカゴ440に相当し、図6のセル多重化装置の同一の時刻までに出力すべきセル集合214が、図29のIBの単位カゴに相当する。 Basket 213 cell multiplexing device of FIG. 6 corresponds to the car 440 in IB of FIG. 29, cell set 214 to be output to up to the same time of the cell multiplexing device of FIG. 6, a unit of IB 29 corresponding to the basket. 図6のセル多重化装置のカゴ管理部12は、図25のカゴ管理部KMに相当する。 Basket management unit 12 of the cell multiplexing device of FIG. 6 corresponds to the basket management unit KM in Figure 25. 図29の前カゴ441からカゴ440への単位カゴの転送をカゴ管理部KMが指示することによりVC間公平キューイングを行なうことができる。 It is possible to perform fair queuing between VC by instructions basket management unit KM transfer unit basket from the previous basket 441 to basket 440 in FIG. 29.
【0417】 [0417]
マルチキャストセルのVC間公平キューイングは後述する。 VC between fair queuing multicast cell will be described later.
【0418】 [0418]
ユニキャストセルをIB内でVC間公平キューイングするために、クラス毎ユニキャストセル管理部433に前カゴ441とカゴ440がある。 The unicast cell to fair queuing between VC in IB, the class for each unicast cell management unit 433 is a previous basket 441 and basket 440. 図10のセルグループFIFO232aのポインタチェーンによるデータ構造例で説明した方法と基本的に同じ方法を使用する。 Using the method essentially the same method described in example data structure according to the pointer chain for the cell group FIFO232a in FIG.
【0419】 [0419]
図10のセルグループFIFO232aが、図29のIBの前カゴ441に相当し、図10の出力待ちセルグループFIFO232bが、図29のIBのカゴ440に相当する。 Cell group FIFO232a in FIG. 10, it corresponds to the previous basket 441 of IB 29, the output waiting cell group FIFO232b in FIG 10 corresponds to the basket 440 of IB of Fig. 29. また、図10のセルグループは図29のIBの単位カゴに相当する。 The cell group in FIG. 10 corresponds to a unit basket IB of FIG. 29.
【0420】 [0420]
次に、図30を参照して、入力バッファIBのキューイング処理について説明する。 Next, referring to FIG. 30, a description will be given queuing processing of the input buffer IB.
【0421】 [0421]
セルは、まず前カゴ441に蓄積され、その後単位カゴを単位としてカゴ440に転送される。 Cells are first accumulated in front basket 441, it is then transferred to the basket 440 units basket units. カゴ440のセルはセルを単位としてカゴ440から出力される。 Cells of basket 440 is output from the cage 440 a per cell basis. それぞれのきっかけについてはカゴ管理部KMが指示を行なう。 Basket management unit KM for each of opportunity to perform the instructions.
【0422】 [0422]
この構成例では、全てのVCは、あるコネクショングループ(CG)に所属する。 In this configuration example, all the VC, belonging to a connection group (CG). コネクショングループの概念を持つことにより複数のVCにひとつのリソース(帯域やセルバッファ)を共有させることが可能となる。 It is possible to share a single resource (bandwidth and the cell buffer) to a plurality of VC by having the concept of connection groups. 例えば、離れたふたりのユーザ間の通信に対して1本のVC分の課金しか行なわないときに、そのふたりのユーザ間に複数のVCを設定する自由度を与えることが可能となる。 For example, when not performed only one VC content of charging for the communication between users of distant Futari, it is possible to provide a degree of freedom for setting a plurality of VC between users of the Futari. もしくは、VC数に応じて公平な帯域の割当を行なう網において、あるふたりのユーザが多数のVCを設定して不当に大きな帯域を得ようとすることを防止することが可能となる。 Or, in the network for performing allocation of a fair band in accordance with the VC number, it is possible to prevent to be obtained a large bandwidth unduly with user there they came to set the number of VC.
【0423】 [0423]
前カゴ441においてセルをどの単位カゴにいれるかを決定するためにVCテーブルとCGテーブルを使用する。 Using the VC table and CG table to determine which have a cell to which unit basket before basket 441.
【0424】 [0424]
VCテーブルを用いて入力したセルのコネクション識別子(例えばVC4)からコネクショングループ識別子(例えばCG5)を知ることができる。 From the connection identifier of the cell in which input using the VC table (e.g. VC4) can know the connection group identifier (e.g., CG5). CGテーブルを用いてコネクションクループ識別子からCG毎に定められた値を知ることができる。 It is possible to know the value determined for each CG from the connection croup identifier using CG table. この構成例におけるCG毎の値はNx 、Nc 、Ptr、Qlen 、Cnt1、Cnt2、Cnt3、BPIDt である。 The value of each CG in this configuration example Nx, Nc, Ptr, is Qlen, Cnt1, Cnt2, Cnt3, BPIDt.
【0425】 [0425]
Nx 、Nc 、Ptr、Qlen は、図10のセルグループFIFOのポインタチェーンによるデータ構造例で説明した。 Nx, Nc, Ptr, Qlen has been described in a data structure example according to the pointer chain for cell group FIFO of FIG. Nx はそのCGの重み、Nc は作業変数、Qlen はそのCGの蓄積セル数、PtrはそのCGのセルが蓄積されている単位カゴの末尾へのポインタである。 Nx is the weight of the CG, Nc work variables, Qlen the number of accumulated cells in the CG, Ptr is a pointer to the end of the unit basket cells in the CG are accumulated.
【0426】 [0426]
一方、Qlen 、Cnt1、Cnt2、Cnt3、BPIDt は、図15および図16のバックプレッシャ考慮キュー監視部を持つセルバッファ装置で説明した。 On the other hand, Qlen, Cnt1, Cnt2, Cnt3, BPIDt has been described in cell buffer device having a backpressure consideration queue monitoring unit of FIG. 15 and FIG. 16.
【0427】 [0427]
Qlen はそのCGの蓄積セル数、Cnt1は廃棄すべきセル数、BPIDt は最後のセル入力時のバックプレッシャ識別子である。 Qlen the number of storage cells that CG, Cnt1 is the number of cells to be discarded, BPIDt is backpressure identifier at the time of the last cell input. よりきめの細かいキュー監視を行なうためCnt1と同じ機能を持つ変数Cnt2、Cnt3が存在する。 Variable Cnt2, Cnt3 exists that has the same function as the Cnt1 for more fine-grained queue monitoring. それぞれキュー長監視のしきい値が異なる。 Each threshold of the queue length monitor are different. Cnt2はセルヘッダ内にあるCLP(Cell Loss Priority:セル廃棄優先)ビットが低優先(CLP=1)であるセル用の廃棄すべきセル数、Cnt3はこのキュー長監視において輻輳かどうかを判定するために使用する値である。 Cnt2 is CLP in cell header (Cell Loss Priority: Cell Loss Priority) bit is low priority (CLP = 1) the number of cells to be discarded in the cell is, Cnt3 is to determine whether congestion in the queue length monitor is the value to be used for. 輻輳かどうかの情報は、例えばセルヘッダ内にあるEFCIをマークするかどうかや、RMセルの輻輳表示ビットをマークするかどうかを決定するために用いる。 Congestion information whether, for example as whether to mark the EFCI in the cell header is used to determine whether to mark a congestion indication bit in the RM cell.
【0428】 [0428]
あるクラスでVC間公平キューイングを行なわない設定をすることも可能である。 It is also possible to set not to perform fair queuing between VC in a class. その場合は、そのVCが所属するCGのNx を十分大きな値に設定すればよい。 In that case, the Nx of CG that VC belongs may be set to a sufficiently large value.
【0429】 [0429]
さて、図25に示すバックプレッシャ付きセルスイッチは、IBからOBまでのセル伝送の遅延時間が大きいことなどの影響により、低優先セル用バックプレッシャ信号が出力可能と出力禁止を繰り返す周期が比較的大きい。 Now, back pressure with the cell switch shown in FIG. 25, the influence of the delay time of cell transmission from IB to OB is large, the period of back pressure signal for the low priority cells is repeatedly possible output disabled output is relatively large. 従ってIBのCG毎のキュー長Qlen を観測すると、主に低優先セルバックプレッシャ信号に同期して図14の様に振動を繰り返す。 Therefore, when observing the queue length Qlen per CG of IB, mainly in synchronization with the low priority cells backpressure signal repeated vibrations as in FIG. この様に、バックプレッシャ信号により振動するキュー長の監視には、図15、図16で説明したバックプレッシャ考慮キュー長監視アルゴリズムが適している。 Thus, the monitoring of the queue length which vibrates by back pressure signal, 15, is suitable backpressure consideration queue length monitor algorithm described in FIG. 16.
【0430】 [0430]
前カゴ441のとカゴ440に蓄積されているセルのクラス全体の合計セル数についてもバックプレッシャ考慮キュー長監視により入力セルの廃棄やEFCIのマークなどを行なって、一部のクラスがIBのバッファ領域の大半を独占することを防ぐことが可能である。 Such as by performing a mark of waste and EFCI input cell by well backpressure considered queue length monitor the total number of cells of the entire class of cells accumulated before basket 441 Noto basket 440, the buffer portion of the class of IB it is possible to prevent monopolizing most of the area.
【0431】 [0431]
図31に、カゴスイッチに用いる入力バッファIBのカゴ管理部KMとのインタフェースの一例を示す。 Figure 31 shows an example of an interface between the basket management unit KM of the input buffer IB for use in basket switch.
【0432】 [0432]
KMから各出力ポートのそれぞれに対し、以下に示すような各出力ポート毎の情報が入力される。 For each of the output ports from the KM, the information for each output port as shown below are input.
【0433】 [0433]
−ABR入力セル数−指示クラス−前カゴからカゴへ単位カゴの転送指示(図31の転送指示T1) -ABR input cell number - instruction class - transfer instruction unit basket before basket to basket (transfer instruction T1 in FIG. 31)
−カゴからクラス多重化FIFOへセルの転送指示(図31の転送指示T2)ABR入力セル数はABR処理部450へ転送される。 - transfer instruction of the cell from the basket to the class multiplexing FIFO (transfer instruction T2 in FIG. 31) ABR number of input cells are transferred to the ABR processing unit 450. ABR処理部450は、ABR入力セル数を知ることによりそのIBとペアの出力ポートに流入するトラヒックをモニタすることができる。 ABR processing unit 450 may monitor the traffic flowing into the output port of the IB paired by knowing the number of ABR input cells. その情報を用いてIBを通過するRMセルのペイロードの書き換えなどを行なう。 Performing such rewriting of the payload of the RM cell passing through the IB using the information.
【0434】 [0434]
カゴ440からクラス多重化FIFO434へセルの転送をKMから指示されると、IBは指示クラスのユニキャストのカゴ440からセルをひとつ取りだしクラス多重化FIFO434に転送する。 When the transfer of the cells from the basket 440 to the class multiplexing FIFO434 instructed from KM, IB is transferred to the class multiplexing FIFO434 taken out one cell from the basket 440 unicast instructions class. また前カゴ441からカゴ440へ単位カゴの転送指示があると、IBは指示クラスのユニキャストの前カゴ441から単位カゴをひとつ取りだしカゴ440に転送するとともに、カゴ440からセルをひとつ取りだしクラス多重化FIFO434に転送する。 Further, when there is a transfer instruction unit basket to basket 440 from the previous basket 441, IB is thereby transferred to the basket 440 is taken out of the unit basket one unicast before basket 441 instruction class, the class multiplexing removed one cell from the basket 440 and transfers it to the reduction FIFO434.
【0435】 [0435]
単位カゴの転送指示をそのクラスのセルの転送指示を行なう時のみに限定することにより、転送指示の情報量を減らし、より容易に実装することができる。 The transfer instruction unit basket by limiting only when performing transfer instruction of the cell of that class, reduce the amount of information transfer instruction can be more easily implemented.
【0436】 [0436]
IB内で前カゴ441、カゴ440、クラス多重化FIFO434のセル数が変化するのは、IBへセルが入力した時、KMが転送指示を行なった時、IBからセルが出力した時である。 Before basket 441 in IB, cage 440, the number of cells in class multiplexing FIFO434 changes, when the input cell to IB, when KM makes a transfer instruction is when the cell is output from the IB. 従って、それに応じてセル数情報をKMへ出力する。 Therefore, it outputs the cell number information to KM accordingly. ひとつのIBがKMへ出力する情報は、以下のものである。 Information that one of the IB is output to KM are the following.
【0437】 [0437]
各出力ポート毎に、入力したセルについて(ユニキャストの場合はひとつの出力ポートについてのみ出力)、 For each output port, the inputted cell (output only for unicast single output port in the case of)
−入力セルの有無とクラス各出力ポート毎に、転送の指示クラスについて、 - for each presence and classes each output port of the input cell, the instruction class of the transfer,
−(転送後の)前カゴセル数(図31のCE1) - (after transfer) before Kagoseru number (CE1 of Fig. 31)
−(転送後の)カゴセル数(図31のCE2) - (Transfer after) Kagoseru number (CE2 in Fig. 31)
−クラス多重化FIFOへの転送セル数(図31のCE3) - Transfer the number of cells in the class multiplexing FIFO (CE3 of Figure 31)
各出力ポート毎に、ユニキャストのみの、 For each output port, unicast only,
−クラス多重化FIFOセル数(図31のCE4) - class multiplexing number FIFO cell (CE4 in Fig. 31)
図31を用いて説明する。 It will be described with reference to FIG. 31. 入力したセルの情報はIBからKMへ入力セルの有無とクラスとして伝送される。 Information inputted cell is transmitted as the presence or absence and the class of the input cell from the IB to the KM. また、ユニキャストとマルチキャストの前カゴセル数が加算され、クラス選択部L5により転送の指示クラスで選択されたものが前カゴセル数として伝送される。 Further, the addition number before Kagoseru unicast and multicast, those selected by the instruction class of the transfer by the class selecting unit L5 is transmitted as before Kagoseru number. さらに、ユニキャストとマルチキャストのカゴセル数が加算され、クラス選択部L6において指示クラスで選択されたものがカゴセル数となり伝送される。 Furthermore, the addition is unicast and Kagoseru number of multicast, those selected by the instruction class in the class selecting unit L6 is transmitted becomes Kagoseru number. そして転送指示によりカゴからクラス多重化FIFO434へ移動したセル数はユニキャストとマルチキャストとが加算され、クラス選択部L7において指示クラスで選択されて伝送される。 The number of cells moved from the car by the transfer instruction to the class multiplexing FIFO434 are added and unicast and multicast is transmitted is selected by the instruction class the class selection unit L7. クラス多重化FIFOセル数はユニキャストについてのみKMへ伝送される。 Class multiplexing number FIFO cell is transmitted to KM only unicast. マルチキャストのクラス多重化FIFOセル数は、クラス毎マルチキャストセル管理部435からのセルの出力を制御するためのバックプレッシャ信号として使用する。 Class multiplexing number FIFO cell of the multicast is used as back pressure signal for controlling the output of the cell from the class each multicast cell management unit 435.
【0438】 [0438]
マルチキャストのクラス多重化FIFO436は複数の出力バッファOBからのバックプレッシャ信号により出力が制御されていることなどから、クラス多重化FIFOセル数がゼロでなくともセルスイッチの出力ポートがアンダフローする可能性がある。 Multicast class multiplexing FIFO436 from such that the output is controlled by a back pressure signal from the plurality of output buffers OB, a possibility that the output ports of the cell switch underflows even class multiplexing number FIFO cell is not zero there is. ユニキャストセルがその影響を受けてアンダフローしないように、この構成例ではユニキャストのクラス多重化FIFOセル数とは加算していない。 To prevent underflow unicast cell is affected, not by adding the class multiplexing number FIFO cells unicast in this configuration example.
【0439】 [0439]
ここで、マルチキャストセルの優先制御およびVC間公平キューイングについて説明する。 Here, a description will be given priority control and VC between fair queuing multicast cells.
【0440】 [0440]
マルチキャストVCをスループットの視点で考える。 Given the multicast VC from the viewpoint of throughput. 一般的に、ある時点のセルスイッチの状態を考えると、その複数の出力ポートには、輻輳している出力ポートもあれば、負荷が低い出力ポートもある。 Generally, given the state of the cell switch at a certain time, the the plurality of output ports, some output ports that are congested, there is also a low load output port. つまり、VCが使用できるスループットは出力ポートによって異なることになる。 In other words, throughput VC is available will differ by the output port. マルチキャストVCは、ひとつの入力ポートから複数の出力ポートへ同じスループットが同時に出力されるから、そのマルチキャストVCが得ることのできるスループットは出力先の中で最も輻輳している出力ポートのスループットになるのがよい。 Multicast VC, since the same throughput from one input port to multiple output ports are simultaneously outputted, the throughput is the throughput of the output ports that are most congested in the output destination can be the multicast VC is obtained good. 従って、IBからマルチキャストセルを出力する場合は、最も輻輳している出力ポートのスループットで出力することが望ましい。 Therefore, when outputting a multicast cell from the IB, it is desirable to output throughput of output ports that are most congested.
【0441】 [0441]
ある出力ポートのあるクラスに与えられるVC(CG)あたりのスループットを、IBは前カゴ441からカゴ440への単位カゴの転送指示の頻度より知ることができる。 The throughput per VC (CG) given to a class of certain output port, IB can know from the frequency of the transfer instruction unit basket from the previous basket 441 to basket 440. また、ある出力ポートのあるクラスに与えられるスループットを、IBはカゴ440からクラス多重化FIFO434へのセルの転送指示の頻度より知ることができる。 Also, the throughput given to a class of certain output port, IB can know from the frequency of the transfer instruction of the cells from the basket 440 to the class multiplexing FIFO434. さらにある出力ポートに与えられるスループットを、IBは低優先セル用バックプレッシャ信号の頻度より知ることができる。 The throughput given to further certain output port, IB can know from the frequency of the back pressure signal for low priority cells. これらの転送指示やバックプレッシャ信号は出力ポート毎に与えられる。 These transfer instructions and backpressure signal is provided for each output port.
【0442】 [0442]
最も輻輳している出力ポートのスループットで出力するためには、マルチキャストセルを、そのセルの出力ポートの全てに関してこれらの信号が指示または許可した時点で転送すればよい。 The most congested to output throughput of the output port and the multicast cells, these signals for all output ports of the cell may be transferred when instructed or allowed. 複数の出力ポートへの指示または許可は同時である必要はない。 Instructions or permission to the plurality of output ports need not be simultaneous.
【0443】 [0443]
IBにおいて、低優先マルチキャストVCを管理する場合、本来そのクラス毎かつ出力ポートパターン毎に管理することが望ましいのであるが、一般的にはその組合せの数は大きく、また通信中にその出力ポート数が増減する可能性があるため、その様な実装は現実的ではない。 In IB, when managing low priority multicast VC, although the it is desirable to manage inherent in each class and for each output port pattern, in general the number of combinations is large, also the number of the output ports in communication there because it may increase or decrease, such implementation is not realistic. 図25に示すようなカゴスイッチでは全てのマルチキャストコネクションをクラス毎にのみ管理し、出力ポートパターン毎での管理はしない。 Only manages all multicast connections in the car switch as shown in Figure 25 for each class, it is not managed in each output port pattern. ある程度のHOL(Head Of Line)ブロッキングが発生することになる。 So that a certain amount of HOL (Head Of Line) blocking occurs.
【0444】 [0444]
図32は、クラス毎マルチキャストセル管理部435を説明するための図である。 Figure 32 is a diagram for explaining the class for each multicast cell management unit 435. この管理部は、出力ポート表、VC間公平キュー、単位カゴセル数、カゴセル数、出力許可済みセル数を保持し、管理するものである。 The management unit, the output port table, VC between fair queue unit Kagoseru number, hold Kagoseru number, the number of output permitted cell, and manages.
【0445】 [0445]
クラス毎ユニキャストセル管理部433が前カゴとカゴでセルを管理していたのに対して、クラス毎マルチキャストセル管理部435は前カゴに相当するVC間公平キュー460のみによりセルを管理する。 Whereas class each unicast cell management unit 433 manages a cell in front basket and basket, the class for each multicast cell management unit 435 manages the cell only by VC between fair queue 460 corresponding to the front basket. ただ本発明のクラス毎マルチキャストセル管理部435は、管理の計算上では前カゴ、カゴの概念を用いてユニキャストと同様のセル管理を行なう。 Just class each multicast cell management unit 435 of the present invention performs the same cell management unicast using previously on the management of computational basket, the concept of the car.
【0446】 [0446]
クラス毎マルチキャストセル管理部435は、出力ポート毎に次の情報を入力する。 Class each multicast cell management unit 435 inputs the following information for each output port.
【0447】 [0447]
・前カゴからカゴへの単位カゴ転送指示・カゴからクラス多重化FIFOへのセル転送指示また出力ポート毎に次の情報を出力する。 · Outputs the following information to the cell transfer instruction also each output port from the unit basket transfer instruction-basket to basket before basket to the class multiplexing FIFO.
【0448】 [0448]
・前カゴセル数・カゴセル数・転送セル数VC間公平キュー460は単位カゴのFIFOである。 - before Kagoseru number-Kagoseru number and transfer the number of cells VC between the fair queue 460 is a FIFO unit basket. VC間公平キュー460に入力したセルは、各VC(CG)についてひとつの単位カゴに予め定められた数までしか入力できない。 Cell entered in the VC between fair queue 460 can only be entered to the predetermined number in a unit basket for each VC (CG). この構成は図30で説明したユニキャストの前カゴの構成と同様である。 This configuration is similar to that of the front basket unicast described in FIG 30. クラス多重化FIFO436からバックプレッシャ信号が入力しており、状況によってVC間公平キュー460からのセル出力を禁止する。 Back pressure signal from the class multiplexing FIFO436 has input, inhibits the cell output from the VC between fair queue 460 depending on the situation.
【0449】 [0449]
出力ポート表は、出力ポート別に、前カゴセル数と先頭単位カゴへのポインタを記憶する。 Output port table for each output port, for storing a pointer to the previous Kagoseru number and head units car. 前カゴセル数は単位カゴセル数の合計、先頭単位カゴは計算上の前カゴの先頭の単位カゴへのポインタである。 The sum of the previous Kagoseru number of units Kagoseru number, the head unit basket is a pointer to the top of the unit basket before the basket on the calculation.
【0450】 [0450]
単位カゴセル数はVC間公平キュー460の単位カゴに対応して出力ポート毎のデータを記憶する。 Unit Kagoseru number stores data for each output port in response to a unit basket VC between fair queue 460. 基本的には対応する単位カゴに蓄積しているマルチキャストセルの出力ポート毎のセル数を記憶する。 Basically stores the number of cells in each output port of the multicast cells which have accumulated in the corresponding unit basket. 例えば、図32のVC間公平キュー460の先頭の単位カゴには5セル蓄積されている。 For example, it has been 5 cells accumulated in the head unit basket of VC between fair queue 460 in FIG. 32. そのうち、ポート#1とポート#Nに出力するセルが3セル、ポート#1とポート#2に出力するセルが2セルあるので、単位カゴセル数のポート#1には5、ポート#2には2、ポート#Nには3が記憶される。 Among them, the cell 3 cell output to port # 1 and port #N, since the cell to be output to port # 1 and port # 2 is two cells, the port # 1 of the unit Kagoseru number 5, to the port # 2 2, the port #N 3 are stored.
【0451】 [0451]
カゴセル数は計算上のカゴのセル数である。 Kagoseru number is the number of cells in the basket on the calculation. また、出力許可済みセル数は計算上の出力を許可されたセル数である。 Further, the output permitted cell number is the number of cells which are allowed to output the calculated.
【0452】 [0452]
ある出力ポートに対して単位カゴ転送を指示された場合、その出力ポートの先頭単位カゴの単位カゴセル数をカゴセル数に加算し、単位カゴセル数をゼロにする。 If instructed unit basket transfer to certain output ports, adds the unit Kagoseru number of head units cage of its output ports to Kagoseru number to the number of units Kagoseru to zero. さらにその出力ポートのカゴセル数から1を減算して出力許可済みセル数に1を加算する。 Further adds 1 to the output permitted cell number by subtracting 1 from Kagoseru number of the output ports. そして出力ポート表の先頭単位カゴのポインタをVC間公平キュー460の次の単位カゴへひとつ進める。 And advance one pointer to the first unit basket of output port table to the next unit basket of VC between the fair queue 460. このときの転送セル数は1セルである。 Transfer the number of cells at this time is 1 cells.
【0453】 [0453]
先頭単位カゴのポインタを進めることにより、ポインタはVC間公平キュー460の先頭の単位カゴから離れていく。 By advancing the pointer to the first unit basket, the pointer moves away from the head unit basket of the VC between the fair queue 460. この距離に上限を設け、ある距離になったら単位カゴ転送指示を無視してポインタを進めないように制御する。 An upper limit is provided to the distance, it is controlled so as not advance the pointer ignoring unit basket transfer instruction When it at a distance. これは、単位カゴの転送が指示された時刻と実際にセルを出力する時刻との差を大きくしないようにする効果がある。 This has the effect to not increase the difference between the time that actually outputs the cell to the time that the unit basket transfer has been instructed.
【0454】 [0454]
ある出力ポートに対してKMからセル転送が指示された場合、その出力ポートのカゴセル数から1を減算して出力許可済みセル数に1を加算する。 When it is instructed cell transfer from KM against certain output port, 1 is added to the output permitted cell number by subtracting 1 from Kagoseru number of the output ports. このときの転送セル数は1セルである。 Transfer the number of cells at this time is 1 cells.
【0455】 [0455]
クラス多重化FIFO436からのバックプレッシャ信号が出力を許可している時、セルをVC間公平キュー460から出力することができる。 When the back pressure signal from the class multiplexing FIFO436 has allowed output, it is possible to output a cell from VC between fair queue 460. その際、そのセルの全ての出力ポートについて出力許可済みセル数を1ずつ減算する。 At that time, it subtracts the number of output permitted cell for all the output ports of the cell by one. 出力許可済みセル数がゼロの出力ポートが存在する場合は減算できないので、そのセルはまだ出力できない。 Since the output authorized number of cells can not be subtracted case the zero output port exists, the cell is not yet output.
【0456】 [0456]
出力許可済みセル数は単位カゴ転送指示およびセル転送指示により増加する。 Output permitted number of cells is increased by a unit basket transfer instruction and the cell transfer command. ある出力ポートの出力許可済みセル数がある値以上になった場合には、その出力ポートについて、クラス毎マルチキャストセル管理部435から出力する前カゴセル数とカゴセル数をゼロとし、単位カゴ転送指示とセル転送指示を無視する。 If it becomes more than a certain value output authorized number of cells of a certain output port for the output port, the Kagoseru number and Kagoseru number before output from the class each multicast cell management unit 435 is zero, the unit basket transfer instruction and to ignore the cell transfer instruction. これは実際のセルの転送スループット以上の転送指示を無視する効果がある。 This has the effect of ignoring the transfer command over the transfer throughput of actual cell.
【0457】 [0457]
次に、図33〜図39を参照して、クラス毎マルチキャストセル管理部の動作について説明する。 Next, with reference to FIGS. 33 to 39, the operation of the class for each multicast cell management unit.
【0458】 [0458]
図32の状態から、出力ポート#1に対して単位カゴの転送をKMから指示された場合の動作を図33に示す。 From the state of FIG. 32, FIG. 33 the operation when the transfer unit basket to the output port # 1 is instructed from KM. ポート#1の先頭単位カゴの単位カゴセル数をカゴセル数に加算し、単位カゴセル数ゼロにする。 Units Kagoseru number of head units car port # 1 is added to Kagoseru number, to the unit Kagoseru number zero. さらにポート#1のカゴセル数から1を減算して出力許可済みセル数に1を加算する。 Further adds 1 from Kagoseru number of port # 1 to the output permitted cell number by subtracting 1. KMへの転送セル数は出力ポート#1に関して1セルである。 Transfer the number of cells to KM is one cell with respect to the output port # 1.
【0459】 [0459]
出力ポート表の先頭単位カゴのポインタをVC間公平キュー460の次の単位カゴへひとつ進める。 Advance one pointer to the first unit basket of output port table to the next unit basket of VC between the fair queue 460.
【0460】 [0460]
さらに、出力ポート#1に対してセルの転送をKMから指示された場合の動作を図34に示す。 Further, it is shown in FIG. 34 the operation when the transfer of the cell to the output port # 1 is instructed from KM. ポート#1のカゴセル数から1を減算して出力許可済みセル数に1を加算する。 Port # 1 is subtracted from Kagoseru number 1 adds 1 to the output permitted cell number. KMへの転送セル数は出力ポート#1に関して1セルである。 Transfer the number of cells to KM is one cell with respect to the output port # 1.
【0461】 [0461]
図34のVC間公平キュー460の先頭のセルの出力ポートは#1と#Nである。 Output port of the first cell in VC between fair queue 460 in FIG. 34 is # 1 and #N. 出力許可済みセル数は出力ポート#1に関してはゼロでない(=2)が、出力ポート#Nに関してはゼロであるのでまだセルを出力することはできない。 Output permitted number of cells is not zero with respect to the output port # 1 (= 2), but can not still outputting the cell because it is zero with respect to the output port #N.
【0462】 [0462]
セルが到着した時の動作を図35に示す。 Illustrating the operation of when the cell arrives in FIG. 35. 到着したセルの出力ポートは#1と#Nである。 Output port of the arriving cell is the # 1 and #N. またこのセルは今までにVC間公平キュー460に蓄積していなかったVCのセルであるとする。 Also this cell is the cell of VC was not accumulated in VC between fair queue 460 before. この場合セルはVC間公平キュー460の先頭の単位カゴに入力される。 In this case the cell is inputted to the head unit basket of VC between fair queue 460.
【0463】 [0463]
セルを入力したとき、そのセルの全ての出力ポートの単位カゴセル数を1ずつ加算する。 When you enter the cells, adds a unit Kagoseru number of all output ports of the cell by one. 加算する単位カゴは出力ポート毎に決定する。 Unit basket to be added is determined for each output port. 基本的にはセルを入力した単位カゴに1を加えるが、出力ポート表の先頭単位カゴがセルを入力した単位カゴよりも後ろにある場合は出力ポート表の先頭単位カゴが指している単位カゴセル数に1を加える。 Unit basically adding 1 to the unit basket entered the cell, but if the head unit car output port table is behind than the unit car entered the cell is pointed to the top unit basket output port table Kagoseru 1 is added to the number. 従って、図35では出力ポート#1については先頭単位カゴが指している2番目の単位カゴの単位カゴセル数に1を加算する。 Therefore, 1 is added to the unit Kagoseru number of second unit basket top unit basket is pointing about 35 in the output port # 1. 出力ポート#Nについてはセルを入力した単位カゴである1番目の単位カゴの単位カゴセル数に1を加算する。 1 is added to the unit Kagoseru number of the first unit basket is a unit basket entered the cell the output port #N.
【0464】 [0464]
さらに、またセルが到着した時の動作を図36に示す。 Furthermore, also showing the operation when the cell arrives in Figure 36. 新たに到着したセルの出力ポートは#1と#2である。 Output port of the newly arrived cell is the # 1 and # 2. またこのセルは現在VC間公平キュー460にセルが蓄積しているVCのセルであるとする。 Also this cell is the cell of VC which the cell current VC between fair queue 460 has accumulated. 図36の場合このセルはVC間公平キュー460の末尾に新たに単位カゴを設け、その単位カゴに入力した。 This cell case of FIG. 36 is newly provided a unit basket at the end of the VC between fair queue 460, and input to the unit basket.
【0465】 [0465]
さらに、図37に出力ポート#Nに対して単位カゴの転送をKMから指示された場合の動作を示す。 Furthermore, it shows the operation when the transfer unit basket is instructed from KM to the output port #N in FIG. 37. ポート#Nの先頭単位カゴの単位カゴセル数をカゴセル数に加算し、単位カゴセル数ゼロにする。 The unit Kagoseru number of top unit basket of port #N is added to the Kagoseru number, to unit Kagoseru the number zero. さらにポート#Nのカゴセル数から1を減算して出力許可済みセル数に1を加算する。 Further adds 1 to the output permitted cell number by subtracting 1 from Kagoseru number of ports #N. KMへの転送セル数は出力ポート#Nに関して1である。 Transfer the number of cells to the KM is 1 for output port #N. 出力ポート表の先頭単位カゴのポインタをVC間公平キュー460の次の単位カゴへひとつ進める。 Advance one pointer to the first unit basket of output port table to the next unit basket of VC between the fair queue 460.
【0466】 [0466]
VC間公平キュー460の先頭のセルの出力ポートが#1と#Nであり、その#1と#Nの出力許可済みセル数がそれぞれ1以上(具体的には2と1)になったため、クラス多重化FIFO436が許可すればそのセルを出力できる。 Output port of the first cell in VC between fair queue 460 is the # 1 and #N, for the # 1 and output authorized number of cells #N becomes equal to or greater than 1 (specifically, 2 and 1), if the class multiplexing FIFO436 permission can output its cells.
【0467】 [0467]
図38にセルを出力した場合の状態を示す。 It shows the state when outputting the cell in Figure 38. 出力セルの出力ポートに対応する出力許可済みセル数を1ずつ減算する。 The output permitted number of cells corresponding to the output port of the output cell, one is subtracted.
【0468】 [0468]
図39に、以上のようにして連続して単位カゴ、カゴの転送が指示され、合計6セル出力したときの状態を示す。 Figure 39, above manner units continuously basket, basket transfer is instructed, showing a state in which the six cell output. VC間公平キュー460の先頭の単位カゴはこの時点で空になり、その単位カゴおよび単位カゴセル数は消滅する。 Top unit basket of the VC between the fair queue 460 is empty at this point, the unit basket and the unit Kagoseru number disappears. 必然的に出力ポート表の先頭単位カゴがこの消失した単位カゴを指していることはない。 Never head unit basket inevitably output port table points to the unit basket that this loss. 次に、図40を参照して、出力ポート選択スケジューラ432について説明する。 Next, referring to FIG. 40, a description will be given output port selection scheduler 432.
【0469】 [0469]
出力ポート選択スケジューラ432に入力する、出力ポート毎のユニキャスト出力待ちセルとマルチキャスト出力待ちセルをセル選択部470が選択して出力ポート選択スケジューラ432から出力する。 Input to the output port selection scheduler 432, cell selector 470 Unicast output queuing cell and the multicast output queue cells for each output port is outputted from the output port selection scheduler 432 selects. セル選択部470の選択の候補となるセルは、出力待ちセルのうち許可されたセルである。 Candidate to become cells of the selected cell selection unit 470 is a authorized cell among output queuing cell.
【0470】 [0470]
ユニキャストセルは、ユニキャストセル出力許可信号生成部471が出力するユニキャストセル出力許可信号により出力が許可される。 Unicast cell, output is enabled by the unicast cell output permission signal output by the unicast cell output permission signal generator 471.
【0471】 [0471]
ユニキャストセル出力許可信号生成部471には、バックプレッシャ信号と非常用バックプレッシャ信号が入力する。 The unicast cell output permission signal generation unit 471, back pressure signal for emergency and back pressure signal is inputted.
【0472】 [0472]
バックプレッシャ信号は出力ポート毎である。 Back pressure signal is for each output port. また非常用バックプレッシャ信号は対応するバックプレッシャ信号が予め定まっている。 Emergency back pressure signal is also back pressure signal the corresponding is determined in advance. 図25の場合は、非常用バックプレッシャ信号はSE2から出力しており、そのSE2の出力リンクに接続する出力バッファOBからのバックプレッシャ信号に対応している。 In the case of FIG. 25, emergency back pressure signal is output from the SE2, corresponds to the back pressure signal from the output buffer OB connected to the output link of the SE2.
【0473】 [0473]
バックプレッシャ信号が出力禁止を示している時、ユニキャストセル出力許可信号はその出力ポートのセルの出力を許可しない。 When the back pressure signal indicates the output prohibition, unicast cell output permission signal does not allow output of the cell of the output ports. 非常用バックプレッシャ信号が出力禁止を示している場合は、その非常用バックプレッシャ信号に対応するバックプレッシャ信号が全て出力禁止を示しているものと見なして出力を許可しない。 If emergency back pressure signal indicates the output prohibition, back pressure signal corresponding to the emergency back pressure signal it does not allow the output assumes that shows all output prohibited.
【0474】 [0474]
マルチキャストセルは、マルチキャストセル出力許可信号生成部472が出力するマルチキャストセル出力許可信号により出力が許可される。 Multicast cell, output is enabled by a multicast cell output permission signal multicast cell output permission signal generation unit 472 outputs.
【0475】 [0475]
マルチキャストセル出力許可信号生成部472には、ユニキャストセル出力許可信号とマルチキャストセル用クラス多重化FIFO436の先頭のセルの出力ポート情報が入力する。 The multicast cell output permission signal generation unit 472, the output port information of the unicast cell output permission signal and the first cell of the multicast cells for class multiplexing FIFO436 inputs.
【0476】 [0476]
マルチキャストセル出力許可信号生成部472は、マルチキャストセルの出力ポートが全て(同時にでなくてもよい)許可されたかどうかを監視する。 Multicast cell output permission signal generation unit 472, an output port all the multicast cells (not necessarily simultaneously) monitors whether permitted. どれかの出力ポートが許可されていない場合はマルチキャストセル出力許可信号を出力禁止とする。 Any case where the output port is not permitted to output disabled multicast cell output permission signal. マルチキャストセルの全ての出力ポートが許可された時、最後に許可された出力ポートのユニキャストセル出力許可信号が出力可能を示している時間はマルチキャストセルの出力を許可する。 When all of the output ports of the multicast cell is allowed, the time unicast cell output permission signal indicates possible output of the last authorized output port to enable the output of the multicast cells. その時間内にそのマルチキャストセルがセル選択部470により選択されなかった場合、およびマルチキャストセルがセル選択部470により選択され出力して新しいマルチキャストセルの出力ポート情報が到着した場合は、再び最初から出力ポートが全て許可されたかどうかを監視する。 If the multicast cell is not selected by the cell selection unit 470 in that time, and multicast cell is selected by the cell selection unit 470 when the output port information of the output to a new multicast cell arrives, the output again from the beginning port to monitor whether they have been permitted all.
【0477】 [0477]
セル選択部470は、こうして出力が許可された出力待ちセルを公平に選択する。 Cell selection unit 470 is thus fairly selects enabling output waiting cell output.
【0478】 [0478]
上述したように、マルチキャストセルはその出力ポートの全てのバックプレッシャ信号が同時に出力を許可していなくても出力される。 As mentioned above, multicast cells to all back pressure signal of the output port is outputted even if no enable output at the same time. すなわち、そのマルチキャストセルの出力時には、そのセルの出力ポートのバックプレッシャ信号のいくつかが出力禁止を示している可能性がある。 That is, when the output of the multicast cell, there is a possibility that some of the back pressure signal output port of that cell indicates the output inhibit. この様な状況においてもSE2のバッファが溢れないように低優先セル非常用バックプレッシャ信号が有効に作用する。 Low priority cells emergency back pressure signal also to prevent overflow buffer SE2 in such circumstances acts effectively.
【0479】 [0479]
上述の構成においては、低優先セル非常用バックプレッシャ信号は出力禁止を示した場合、対応する出力ポート行きのユニキャストセルおよびマルチキャストセルの両方の出力を禁止する。 In the above configuration, the low priority cells emergency backpressure signal when showing the output inhibit, to prohibit the output of both unicast cells and multicast cells in the corresponding output ports bound. 他の構成としては、マルチキャストセル出力許可信号生成部472において、ある出力ポートが一度許可されても低優先セル非常用バックプレッシャ信号が出力禁止を指示した時に許可を取り消す処理を行うなどとしてもよい。 Other configurations, in a multicast cell output permission signal generator 472 may be such as also allowed a certain output port once performs processing to cancel the authorization when the low priority cell emergency back pressure signal instructs the output disable . また、簡単には、低優先非常用バックプレッシャ信号が出力禁止と指示した場合は、全ての低優先マルチキャストセルの出力を禁止する構成でもよい。 Further, Briefly, if the low priority emergency back pressure signal instructs output disabled, it may be configured to prohibit the output of all the low-priority multicast cells.
【0480】 [0480]
本発明の入力バッファIBは、図15で説明したバックプレッシャ考慮キュー監視を行なう。 Input buffer IB of the present invention performs backpressure considered queue monitoring described in Figure 15. この監視は、バックプレッシャ信号によりバックプレッシャ識別子を更新し、その値に基づいて動作する。 This monitoring updates the backpressure identifier by back pressure signal, operates based on that value. ユニキャストセルの出力ポート毎のバックプレッシャ識別子は出力ポート選択スケジューラ432のユニキャストセル出力許可信号により更新し、マルチキャストセルのバックプレッシャ識別子は出力ポート選択スケジューラ432のマルチキャストセル出力許可信号により更新する。 Backpressure identifier for each output port of the unicast cell is updated by the unicast cell output permission signal output port selection scheduler 432, backpressure identifier of the multicast cell is updated by the multicast cell output permission signal output port selection scheduler 432.
【0481】 [0481]
次に、図41を参照して、図25に示したカゴスイッチに用いるカゴ管理部KMについて説明する。 Next, referring to FIG. 41, the basket management unit KM be described for use in basket switch shown in FIG. 25.
【0482】 [0482]
図41は、カゴ管理部KMの構成例を示したものである。 Figure 41 is a diagram showing a configuration example of a basket management unit KM.
【0483】 [0483]
KMは出力ポート毎に、 KM is for each output port,
・ABR入力セル数合計。 · ABR number of input cells total.
【0484】 [0484]
・クラス毎に、前カゴセル数合計、カゴセル数合計、転送セル数。 - for each class, before Kagoseru the total number, the total Kagoseru number, the number of transfer cell.
【0485】 [0485]
・クラス多重化FIFOセル数合計。 Class multiplexing number of FIFO cells total.
【0486】 [0486]
といった情報を保持し、さらに、出力ポート毎に、転送指示履歴管理部480、クラス選択スケジューラ481を具備している。 It holds information such further for each output port, and includes transfer instruction history management unit 480, the class selection scheduler 481.
【0487】 [0487]
ABR入力セル数合計は、ABRクラスについて各出力ポート行きの全IBの合計入力セル数である。 ABR number of input cell total is the total number of input cells of the entire IB of each output port bound for the ABR class. 一定時間内で積算し、その周期毎にその出力ポートとペアとなるIBへ伝送する。 Integrated within a predetermined time, and transmits the IB to the output port paired for respective periods. 所定の一定時間に達する前にABR入力セル数合計があるしきい値以上になった場合は割り込み的にIBへその旨を通知する構成でもかまわない。 When it becomes more than a certain threshold number of ABR input cell total before reaching the predetermined constant time it may be configured to notifies the interrupt to IB navel.
【0488】 [0488]
前カゴセル数合計は、IBへ入力したセルの有無とクラスの情報より、前カゴに入力したセルの合計を加算する。 Before Kagoseru total number, from the information of the presence and classes of cells entered into IB, it adds the sum of the cell previously entered basket. またKMが転送を指示したクラスの前カゴセル数を全てのIBについて合計したもので更新する。 The KM is updated with the sum for all of the IB the number before Kagoseru of the class who instructed the transfer. そのクラスはKMの転送指示履歴管理部480が記憶している。 The class transfer instruction history managing unit 480 of KM is stored.
【0489】 [0489]
カゴセル数合計は、KMが転送を指示したクラスのカゴセル数を全てのIBについて合計したもので更新する。 Kagoseru number sum, KM is updated with the sum for all IB the Kagoseru number of classes has instructed the transfer. 転送を指示したクラスはKMの転送指示履歴管理部480が記憶している。 Class who instructed the transfer transfer instruction history managing unit 480 of KM is stored.
【0490】 [0490]
転送セル数は、KMが転送を指示したクラスのクラス多重化FIFOへの転送セル数を全てのIBについて合計したもので更新する。 The number of transfer cells, KM is updated with the sum for all IB the number of transfer cells to the class multiplexing FIFO class who instructed the transfer. 転送を指示したクラスはKMの転送指示履歴管理部480が記憶している。 Class who instructed the transfer transfer instruction history managing unit 480 of KM is stored.
【0491】 [0491]
クラス多重化FIFOセル数合計は、クラス多重化FIFOセル数を全てのIBについて合計したもので更新する。 Class multiplexing number FIFO cell total is updated with the sum for all IB class multiplexing number FIFO cells.
【0492】 [0492]
クラス選択スケジューラ381は、前カゴセル数合計、カゴセル数合計、転送セル数合計、クラス多重化FIFOセル数合計などの情報よりIBに転送指示を行なう。 Class selection scheduler 381, before Kagoseru Total, Kagoseru Total, the number of transfer cells total, transfers instructions to IB from the information such as the total class multiplexing number FIFO cells. 過去の転送指示の履歴は転送指示履歴管理部480が記憶し、またクラス選択スケジューラ481はその履歴を利用して上記のセル数情報を修正する。 The history of past transfer instruction stores the transfer instruction history management unit 480, also class selection scheduler 481 modifies the cell number information of the utilizing the history.
【0493】 [0493]
図42、図43、図44に、カゴ管理部KMのクラス選択スケジューラ481で実行するスケジューリングアルゴリズムの一例を示す。 Figure 42, Figure 43, Figure 44 shows an example of a scheduling algorithm to be executed by the class selection scheduler 481 of the basket management unit KM. このアルゴリズムは、クラスの最大帯域を制限し最小帯域を保証しつつ優先度による優先制御を行なうものである。 This algorithm is for while ensuring the minimum bandwidth limits the maximum bandwidth class performing priority control by priority.
【0494】 [0494]
グローバルな変数として、現在時刻を示す変数nowがある。 As a global variable, there is a variable now indicating the current time. 各クラスiについて、最小帯域1/Di 、出力義務時刻Tdi 、Tdi の上限を与えるパラメタDxi 、および最大帯域1/Ui 、出力禁止時刻Tui 、Tui の下限を与えるパラメタUxi を設定する(図42のステップS100)。 For each class i, the minimum bandwidth 1 / Di, output duty time Tdi, parameter gives an upper bound of Tdi Dxi, and maximum bandwidth 1 / Ui, output disable time Tui, sets parameters Uxi giving the lower limit of Tui (in FIG. 42 step S100).
【0495】 [0495]
各クラスiについて、出力すべき場合は現在時刻nowがTdi nowである時であり、出力が禁止される場合は現在時刻nowがnow<Tui である時である。 For each class i, when to output is when the current time now is Tdi <now, if the output is inhibited is when the current time now is now <Tui. また優先順位に従って出力すべき場合は現在時刻nowがTui now<Tdi である時である。 In the case to be output in accordance with the priority order is when the current time now is Tui <now <Tdi. Tdi はその上限値を定められており、Tdi now+Dxi である。 Tdi is determined the upper limit value, a Tdi <now + Dxi. またTui はその下限値を定められており、now−Uxi Tui である。 The Tui is determined the lower limit value, a now-Uxi <Tui. ただしUxi 0、Dxi Di である。 However Uxi> is 0, Dxi> Di.
【0496】 [0496]
初期設定は、nowをゼロに設定し、各クラスiに対してTdi をDi −Ui とし、Tui をnowつまりゼロにする(図42のステップS101)。 Initialization sets the now zero, the Tdi for each class i and Di - Ui, the Tui to now, that zero (step S101 in FIG. 42).
【0497】 [0497]
このアルゴリズムはセル周期毎に次の処理を行なう。 The algorithm performs the following process for each cell cycle.
【0498】 [0498]
まず、クラスがアクティブになった時の処理を行なう。 First, the processing when the class becomes active. 具体的にはセルが無かったクラスiにセルが到着したとき、Tdi をnowとTdi の大きい方に更新し、Tui をnowとTui の大きい方に更新する(図43のステップS102)。 When a cell arrives specifically to the class i cells was not, and updates the larger of now and Tdi the Tdi, updates to the larger of now and Tui the Tui (step S102 in FIG. 43).
【0499】 [0499]
次にセルを転送してもよいかどうかを判定して(図43のステップS103)、もしそうであれば転送クラス選択および転送クラス指示を行なう(図43のステップS104)。 Then it is judged whether may transfer the cell (step S103 in FIG. 43), if performing the transfer class selection and transfer class instructions If so (step S104 in FIG. 43).
【0500】 [0500]
転送クラス選択は次のような処理である。 Transfer class selection is the following process.
【0501】 [0501]
転送すべきセルがある各クラスiの中で、 Within each class i that there is a cell to be transferred,
1. 1. Tdi nowとなっているクラスがあれば、その中で最もnow−Tdi の大きいクラスを選択する(同じ値の場合は優先度で判断)。 Tdi <If the classes has become now, most now-tdi selecting a large class (if the same value is determined by priority) therein.
【0502】 [0502]
2. 2. Tdi nowとなっているクラスがなければ、Tui now<Tdi を満足するクラスの中から優先度の最も高いクラスを選択する。 Without tdi <class has become now selects the highest class of priority among the classes that satisfy Tui <now <Tdi.
【0503】 [0503]
選択されたクラスをjとすると、図44のステップS105に進み、次のような転送クラス指示の処理を行なう。 When the selected class and j, the process proceeds to step S105 of FIG. 44 to process the following transfer class instructions.
【0504】 [0504]
1. 1. クラスjの転送指示を行なう。 Carry out the transfer instruction of class j.
【0505】 [0505]
2. 2. Tuj をmax(Tuj 、now−Uxj )と更新。 Tuj the max (Tuj, now-Uxj) and updates.
【0506】 [0506]
3. 3. Tdj をTdj +Dj と更新。 Update and Tdj + Dj the Tdj.
【0507】 [0507]
4. 4. Tuj をTuj +Uj と更新。 Update and Tuj + Uj the Tuj.
【0508】 [0508]
5. 5. Tdj をmin(Tdj 、now+Dxj )と更新。 Tdj the min (Tdj, now + Dxj) and updates.
【0509】 [0509]
最後に、転送セル流量モニタの処理を行なった後(図44のステップS106)、nowをインクリメントして(図44のステップS107)、セル周期毎の処理を終了する。 Finally, after performing the process of transferring the cell flow monitor (step S106 in FIG. 44), (step S107 of FIG. 44) is incremented now, the process ends for each cell cycle.
【0510】 [0510]
図44のステップS106の転送セル流量モニタの処理は、クラスjの転送セル数がxj の時、クラスjに関して次の処理を行なう。 Processing the transfer cell flow monitor in step S106 of FIG. 44, when the number of transfer cells of class j is xj, with respect to the class j performs the following processing.
【0511】 [0511]
1. 1. Tuj をmax(Tuj 、now−Uxj )と更新。 Tuj the max (Tuj, now-Uxj) and updates.
【0512】 [0512]
2. 2. Tdj をTdj +(xj −1)Dj と更新。 Update and Tdj + (xj -1) Dj the Tdj.
【0513】 [0513]
3. 3. Tuj をTuj +(xj −1)Uj と更新。 Update and Tuj + (xj -1) Uj the Tuj.
【0514】 [0514]
4. 4. Tdj をmin(Tdj 、now+Dxj )と更新。 Tdj the min (Tdj, now + Dxj) and updates.
【0515】 [0515]
図43のステップS103のセルを転送指示してもよいかどうかの判定は、クラス多重化FIFOセル数合計が、あるしきい値以下かどうかで行なう。 Determination of whether the cell may be transferred instructions to step S103 in FIG. 43, the class multiplexing number FIFO cells total, performed in whether the threshold or less. あるしきい値とは通常は「1」である。 It is that there is a threshold usually is "1". このクラス多重化FIFOセル数合計は転送指示履歴管理部480の転送指示履歴により修正された値である。 This class multiplexing number FIFO cell total is modified values ​​by transfer instruction history transfer instruction history management unit 480.
【0516】 [0516]
図43のステップS104における、クラスに転送すべきセルがあるかどうかの判定は、前カゴセル数合計またはカゴセル数合計のどちらか一方がゼロでないことを判定して行なう。 In step S104 of FIG. 43, the determination of whether there is a cell to be transferred to the class, before either the Kagoseru Total or Kagoseru Total is performed by determining that it is not zero. この前カゴセル数合計とカゴセル数合計は転送指示履歴管理部480の転送指示履歴により修正された値である。 The pre Kagoseru Total and Kagoseru Total is modified values ​​by transfer instruction history transfer instruction history management unit 480.
【0517】 [0517]
転送指示はカゴ440からクラス多重化FIFO434へのセルの転送指示 (図31の転送指示T2)である。 Transfer instruction is a transfer instruction of a cell from the basket 440 to the class multiplexing FIFO434 (transfer instruction T2 in FIG. 31). その際に前カゴからカゴへの単位カゴの転送指示を同時に行なうかどうかの判定は、前カゴセル数合計がゼロでなく、かつ、カゴセル数合計があるしきい値以下かどうかを判定して行なう。 Determination of whether or not to perform the time the transfer instruction unit basket to basket from front basket at the same time, before Kagoseru total number is not zero, and carried out to determine whether the following threshold there is total Kagoseru number . あるしきい値とは通常は1である。 It is a certain threshold but it is usually 1. この前カゴセル数合計とカゴセル数合計は転送指示履歴管理部480の転送指示履歴により修正された値である。 The pre Kagoseru Total and Kagoseru Total is modified values ​​by transfer instruction history transfer instruction history management unit 480.
【0518】 [0518]
本アルゴリズムは、Di を大きな数に設定することにより、最小保証帯域をゼロに近付けることができる。 This algorithm, by setting Di to a large number, it is possible to bring the minimum guaranteed bandwidth to zero. 例えば全てのクラスのDi を大きな数に設定すれば全てのクラスを完全優先で優先制御することができる。 For example all classes by setting the Di of all classes in a large number can be preferentially controlled with strict priority.
【0519】 [0519]
また、クラスのひとつを、優先度は最も低いが最小保証帯域を持つIC (Idle Cell)クラスとすることにより、出力ポートの使用率を制御することができる。 Further, one class, priority by the lowest but IC having the minimum guaranteed bandwidth (Idle Cell) classes, it is possible to control the utilization of the output ports. IBはICクラスの転送指示があった場合にアイドルセルをクラス多重化FIFOへ挿入する(このIBはひとつだけでよい)。 IB inserts idle cells to the class multiplexing FIFO when there is a transfer instruction of IC class (this IB need only one).
【0520】 [0520]
アイドルセルは他のセルと同様にセルスイッチの出力ポートに向けて交換され、そこでUnassigned Cellに置き換えられる。 Idle cells are replaced toward the output port of the cell switch as well as other cells, where it is replaced by the Unassigned Cell. KMは、ICクラスはいつも転送すべきセルがある状態と考えスケジューリングを行なえば良い。 KM is, IC class is always may be carried out state and thinking scheduling there is a cell to be transferred.
【0521】 [0521]
ところで、図42〜図44に示したアルゴリズムでは説明を簡単にするために、変数now、Tdi 、Tui といった時刻を示す変数は、表現できる値が上限を持たないとしている。 Incidentally, in the algorithm shown in FIGS. 42 44 in order to simplify the explanation, the variable now, Tdi, the variable indicating the time such Tui, is a value that can be expressed has no upper limit. 実装時にはこれらの変数は有限のビット長を持つレジスタなどで表現するため長時間経過すると同じ時刻が循環して現われる。 These variables during implementation appears same time circulated when a long time elapses to represent like register having the bit length of the finite. アルゴリズムを正常に動作させるためには次のようなことを行なえば良い。 For successful operation the algorithm may be performed that as follows. これらの周期をMaxとする。 These period and Max. Maxは十分大きい必要がある。 Max is there is a large enough need.
【0522】 [0522]
このとき、x:=f(x)などの計算は、 In this case, x: = calculations, such as f (x) is,
x:=f(x ) mod Max x: = f (x) mod Max
と置き換える。 Replace with. つまりMaxでモジュロをとる。 In other words it takes a modulo with Max. また、y zの比較演算は、 The comparison operation of y <z is
(z y−Max/2)or((y z)and(z y+Max/2)) (Z <y-Max / 2 ) or ((y <z) and (z <y + Max / 2))
に置き換え比較する。 Replaced by the comparison.
【0523】 [0523]
例えば、now:=now+1という計算は、 For example, now: = calculation that now + 1 is,
now:=(now+1) mod Max now: = (now + 1) mod Max
と置き換える。 Replace with. Tdi nowという比較演算は、 Tdi <comparison operators that now is,
(now Tdi −Max/2) or ((Tdi now) and (now Tdi +Max/2)) に置き換え比較すれば良い。 (Now <Tdi -Max / 2) or it may be compared replaced by ((Tdi <now) and ( now <Tdi + Max / 2)).
【0524】 [0524]
時刻の変数は周期的に監視し、必要に応じてnowからMax/2以上離れ過ぎないように調整を行なうことが必要であるが、Maxを大きくとることによって監視の周期を長くとることができ、実装が容易となる。 Time variables periodically monitored, it is necessary to perform adjustment so as not too far from now Max / 2 or more as needed, it is possible to obtain a longer period of monitoring by a large Max , implementation is facilitated.
【0525】 [0525]
さらに、他のクラス選択スケジューリングとしては次のようなものを有効である。 In addition, other classes selective scheduling is enabled as follows.
【0526】 [0526]
すでに説明したように、CG毎(VC毎)に設定された重みに従ってVC間公平キューイングを行ったセルバッファ装置は、入力バッファIBのCGテーブル(図30)またはVCテーブルのNx に重みを書き込む。 As already explained, the cell buffer device performing the fair queuing between VC according to the weights set for each CG (per VC) writes the weights Nx of CG table (FIG. 30) or VC table of the input buffer IB .
【0527】 [0527]
ここでは、クラス選択スケジューリングを併用することによって、そのクラスに設定されているVC毎の重みを係数倍できることを説明する。 Here, in conjunction with class selection scheduling it is described to be able to factor times the weight of each VC that is set in the class.
【0528】 [0528]
クラスA、クラスBがあり、クラスAに設定されているあるVCの重みNxaとし、クラスBに設定されているあるVCの重みをNxbとする。 Class A, there are class B, and the weight Nxa of a VC set in the class A, the weight of a certain VC set in the class B and Nxb. このとき双方のクラスに出力待ちセルが存在するときにクラス選択スケジューリングにより単位カゴの転送指示回数をクラスXとクラスYでRa 対Rb の比になるようにスケジューリングすることにより、それぞれの重みを Nxa×Ra 、Nxb×Rb と係数倍することが可能である。 By scheduling such that the ratio of Ra to-Rb forwarding instructions number of unit basket in class X and class Y by class selective scheduling when there is output queue cells in both classes this time, NXa respective weights × Ra, it is possible to factor multiplication and Nxb × Rb. 3クラス以上の場合も同様である。 For more than three classes it is the same. 所望の比になるように、スケジューリングを行うアルゴリズムとして例えば、SCFQ(Self−Clocked Fair Queueing)などが知られている。 So that the desired ratio, for example, as an algorithm for scheduling, such as SCFQ (Self-Clocked Fair Queueing) is known.
【0529】 [0529]
具体的な例で説明する。 Described in specific examples. 例えば、VC1からVC7の7本のVCに重みをそれぞれ1.24、3.72、2.18、934、562、1370、4360に設定したいとする。 For example, the wish to set a weight to each 1.24,3.72,2.18,934,562,1370,4360 the seven VC from VC1 VC7. クラスAにVC1、2を設定し、Nx をそれぞれ1.24、3.72とする。 Set VC1,2 in class A, and the Nx, respectively 1.24,3.72. クラスBにVC3を設定し、Nx を2.18とする。 Set the VC3 to class B, and 2.18 the Nx. クラスCにVC4、5を設定し、Nx をそれぞれ9.34、5.62とする。 Set VC4,5 the class C, and the Nx, respectively 9.34,5.62. クラスDにVC6、7を設定し、Nx をそれぞれ1.37、4.36とする。 Set VC6,7 class D, and the the Nx respectively 1.37,4.36. 単位カゴの転送指示回数を出力待ちセルが存在するクラス間でクラスA:クラスB:クラスC:クラスD=1:1:100:1000の比になるようにクラス選択スケジューリングを行えば、目的の重み1.24:3.72:2.18:934:562:1370:4360でセルが出力ポートに多重化される。 Classes between class output wait cell transfer command number of unit basket is present A: Class B: Class C: Class D = 1: 1: 100: By performing the class selection scheduling to be the 1000 ratio, the desired weight 1.24: 3.72: 2.18: 934: 562: 1370: cells are multiplexed to the output port 4360. この方法はNx の値として大きな数値を設定するとVC間公平キューイングのセル遅延揺らぎが増大してしまうという現象を回避する効果がある。 This method is effective to avoid the phenomenon that the cell delay variation of setting the large numerical VC between fair queuing increases as the value of Nx.
【0530】 [0530]
図42〜図44に示したようなクラス選択スケジューリングのアルゴリズムでは、各クラスの転送セル流量をモニタしていた。 In the algorithm of the class selected scheduling as shown in FIGS. 42 44, it has been monitoring the transfer cell flow of each class. これを利用して階層的なクラス選択スケジューリングを行うことが可能である。 It is possible to perform hierarchical class selective scheduling by using this.
【0531】 [0531]
クラスA1、A2、A3、…からなるクラス群Ga と、別のクラスB1、B2、B3、…からなるクラス群Gb とがあるとき、出力待ちセルが存在するクラス群間で転送セル流量の比をRa 対Rb と設定してクラス選択スケジューリングを行う。 Class A1, A2, A3, and class groups Ga consisting ..., another class B1, B2, B3, when there is a class group Gb consisting ..., the ratio of the transfer cell flow between classes that output wait cell exists the performing class selection scheduling is set to Ra versus Rb. クラス群が3以上の場合も同様である。 Classes is the same when 3 or more. 各クラス群内のクラス選択スケジューリングと、クラス群間の選択スケジューリングとは独立である。 And class selection scheduling within each class group is independent of the selected scheduling between classes.
【0532】 [0532]
これにより、あるクラス群間の剰余帯域は、そのクラス群内のクラスのみが使用することになり、別のクラス群が使用できることを防止できる。 Accordingly, the remainder bandwidth between a class group, will be only classes within the classes are used, different classes can be prevented can be used. 別のクラス群がこの剰余帯域を使用できるのは、あるクラス群の出力待ちセルが一つも存在しない場合だけである。 The different classes can use this surplus bandwidth is only when the output waiting cell of a class group does not exist one. この様な階層的なクラス選択スケジューリングは。 Such hierarchical class selection scheduling. 例えば、企業毎にクラス群を割り当てるなどの応用が考えられる。 For example, conceivable applications such assign classes for each company.
【0533】 [0533]
5.2 優先制御およびVC間公平キューイングを行うセルスイッチのセル数修正方法次に、優先制御およびVC間公平キューイングを行うセルスイッチ(カゴスイッチ)(図25、図29、図31)のカゴ管理部KMにおけるセル数の修正方法を図45を参照して説明する。 5.2 the cell number correction method next cell switch for fair queuing between priority control and VC, the cell switch (basket switch) to perform a fair queuing between priority control and VC (Fig. 25, 29, 31) the cell number of the correction method in the basket management unit KM be described with reference to FIG. 45.
【0534】 [0534]
修正の原理は、図19、図20などを用いて説明したカゴスイッチの場合も同じ方法でセル数を修正することにより優先制御の性能や出力ポートのスループットの向上などを実現することができる。 The principle of the modification, FIG. 19, it is possible to realize such improvement of the throughput of the priority control performance and output ports by the case of car switch described to correct the number of cells in the same manner by using an FIG.
【0535】 [0535]
本発明のセル数修正方法の一応用例として、図45に示すカゴスイッチに適用する。 As one application of the cell number correction method of the present invention is applied to a car switch shown in FIG. 45. カゴスイッチでは、管理部301がクラスiの前カゴ(Bpi)へ転送を指示すると、そのクラスの前カゴのセルがカゴ(Bki)へ転送されるとともに、その一部がクラス多重化FIFO(Bm )へ転送される。 The cage switch, the management unit 301 instructs the transfer to the front basket of the class i (Bpi), with cells prior basket of the class is transferred to the basket (Bk i), a part of the class multiplexing FIFO (Bm ) is transferred to. 管理部301がクラスiのカゴからクラス多重化FIFOへ転送を指示すると、そのクラスのカゴのセルがクラス多重化FIFOへ転送される。 When the management unit 301 instructs the transfer from basket class i to the class multiplexing FIFO, cells basket that class is transferred to the class multiplexing FIFO.
【0536】 [0536]
図45の様に各セルバッファのセル数情報および遅延時間を定める。 As in Figure 45 defines the cell number information and the delay time of each cell buffer.
【0537】 [0537]
Hpiは転送指示Ipiにより前カゴからカゴへ転送されるHOL数、Hpmi は同じく転送指示Ipiにより前カゴからクラス多重化FIFOへ転送されるHOLセル数である。 Hpi is HOL number to be transferred to the car from the front basket by transfer instruction Ipi, Hpmi is likewise number HOL cell transferred from the front basket to the class multiplexing FIFO with transfer instruction Ipi.
【0538】 [0538]
ここで一例として、各遅延時間の値が等しい場合について考える。 Here, as an example, consider the case where the value of the delay time are equal. つまり、DOp =DIk =DOk =DIm =Dipm=D、および、DTpm=DTkmとする。 That, DOp = DIk = DOk = DIm = Dipm = D, and the DTpm = DTkm. またp=[−D、0)とする。 The p = [- D, 0) to. このとき、クラスiの前カゴとカゴの修正されたセル数(N′pi、N′ki)、およびクラス多重化FIFOの修正されたセル数 (N′m )は次のように計算できる。 At this time, the number of cells that have been modified before basket and basket class i (N'pi, N'ki), and modified number of cells in class multiplexing FIFO (N'm) can be calculated as follows.
【0539】 [0539]
【数7】 [Equation 7]
【0540】 [0540]
5.3 第10の実施形態に係るセルスイッチの説明の続き図46に、カゴスイッチの入力バッファIBとカゴ管理部KMとの接続例を示す。 5.3 Continued Figure 46 the description of the cell switch according to the tenth embodiment, showing a connection example of an input buffer IB and the basket management unit KM basket switch.
【0541】 [0541]
ここでは、例えば、クラス数を62クラス、セルスイッチサイズを16入力16出力とする。 Here, for example, and the number of classes 62 classes, 16 input 16 output cell switch size.
【0542】 [0542]
クラス番号は、{0、1、2、…、60、61、UC、IC}と6ビットにコーディングする。 Class number is coded {0,1,2, ..., 60,61, UC, IC} and the 6 bits.
【0543】 [0543]
クラスUCは非割り当てセル(Unassigned Cell)、ICはアイドルセル(Idle Cell)を示し、これらの使い方は以下に記述する。 Class UC is unassigned cells (Unassigned Cell), IC represents an idle cell (Idle Cell), these usage is described below.
【0544】 [0544]
前カゴセル数、カゴセル数、クラス多重化FIFOセル数は、{0、1、2、…、13、14、15以上}と4ビットにコーディングする。 Before Kagoseru number, Kagoseru, number of class multiplexing FIFO cell, {0,1,2, ..., 13, 14, 15 or more} coded in 4 bits.
【0545】 [0545]
入力バッファIBからカゴ管理部KMへの転送情報を以下に示す。 Transfer information from the input buffer IB to the basket management unit KM below.
【0546】 [0546]
(1)入力セル 出力ポート毎に、入力したセルについて(ユニキャストの場合はひとつの出力ポートについてのみ出力する)、 (1) for each input cell output port, the inputted cell (in the case of unicast outputs only one output port),
・入力セルの有無とクラス…6ビット(入力セルがない場合はクラスUCを送信する) - presence or absence of an input cell and class ... 6-bit (when there is no input cell transmits the class UC)
(3)転送指示クラス 出力ポート毎に転送の指示クラスについて、 (3) for instructions class of transfer in each transfer instruction class output port,
・転送後の前カゴセル数…4ビット・転送後のカゴセル数…4ビット・クラス多重化FIFOへの転送セル数…2ビット(最大でユニキャストとマルチキャストの2セルが転送される) · Transfer after prior Kagoseru number ... 4 bit Kagoseru number ... 4-bit class number of transfer cells to multiplexed FIFO ... 2 bits after the transfer (up to two cells of unicast and multicast are transferred)
(4)クラス多重化FIFO 出力ポート毎にユニキャストのみの、 (4) unicast only for each class multiplexing FIFO output port,
・クラス多重化FIFOセル数…4ビット合計すると、ひとつの出力ポートに関する情報は20ビットである。 - a class multiplexing number FIFO cells ... 4 bits total, the information on one of the output ports is 20 bits.
【0547】 [0547]
カゴ管理部KMから全ての入力バッファIBへ同報する転送情報を以下に示す。 Forwarding information broadcast from the basket management unit KM to all input buffers IB below.
【0548】 [0548]
(2)出力ポート毎に、 (2) for each output port,
・前カゴからカゴへ単位カゴの転送指示(下記のクラスについて)…1ビット・カゴからクラス多重化FIFOへセルの転送指示と、指示クラス…6ビット(転送指示をしない場合はUCクラスを指定。ICクラスが指定された場合はIBはアイドルセルを転送(挿入)する。アイドルセルは他のクラスのセルと同様に出力ポートへ交換転送され、セルスイッチからの出力時にUnassigned Cellに置き換えられるスループット調整用のセルである。) · Before basket to basket unit basket transfer instruction (for the following classes) ... transfer instruction and the cells from 1 bit basket to the class multiplexing FIFO, when the instruction class ... 6 bits (not the transfer instruction specifying the UC class If .IC class is designated IB transfer idle cells to (inserted). throughput idle cells are exchanged transferred to the cell as well as the output port of the other classes, are replaced when the output from the cell switch to the Unassigned cell it is a cell for adjustment.)
合計すると、ひとつの出力ポートに関する情報は7ビットである。 In total, information relating to one of the output port is a 7-bit.
【0549】 [0549]
KMは、ABRトラヒック制御のため出力ポート毎に、対応するIBへ次の信号を送信する。 KM, for each output port for ABR traffic control, to the corresponding IB transmits the next signal.
【0550】 [0550]
(5)全IBの入力セルのうち、各出力ポート行きのABR入力セル数…5ビット(16入力16出力のセルスイッチの場合) (5) of the input cells of the entire IB, (if the cell switch 16 Input 16 Output) ABR number of input cells ... 5 bits of each output port bound
ひとつの出力ポートに関する情報は5ビットである。 Information relating to one of the output port is a 5-bit.
【0551】 [0551]
図46は、カゴ管理部KMをふたつのLSIにて実現する構成例を示したものである。 Figure 46 is a diagram showing a configuration example of realizing the basket management unit KM at two LSI. ふたつのLSIのうち一方は出力ポート#1から#8を管理し、もう一方は出力ポート#9から#16を管理する。 One of the two LSI manages # 8 from the output port # 1, and the other manages the # 16 from the output port # 9.
【0552】 [0552]
IBからKMへの転送情報(前述の(1)(3)(4))は、1出力ポートあたり20ビットであるから、8ポート分で160ビットである。 Transfer information from the IB to KM (the aforementioned (1) (3) (4)), since a 20 bits per output port, a 160-bit by 8-port component. 高速差動伝送を2ペア用いてパラレル伝送を行なえば1セル周期に80ビットの伝送速度でよい。 High-speed differential transmission a good transmission rate of 80 bits in one cell cycle by performing parallel transmission using two pairs.
【0553】 [0553]
KMからIBへの同報情報(前述の(2))は、1出力ポートあたり7ビットであるから、8ポート分で56ビットである。 Broadcast information from KM to IB (described above (2)), since a 7-bit per output port, a 56-bit by 8-port component. 通常の伝送ドライバを用いて、8本のパラレル伝送を行なえば1セル周期に7ビットの伝送速度でよい。 Using conventional transmission driver may be a transmission rate of 7 bits per cell cycle by performing parallel transmission of eight.
【0554】 [0554]
KMからIBへのABRトラヒック制御のための情報(前述の(5))は、1出力ポートあたり5ビットである。 Information for ABR traffic control from KM to IB (described above (5)) is 5 bits per output port.
【0555】 [0555]
セル伝送速度が622Mbpsであるセルスイッチを考えても、これらの伝送速度は現在の技術において十分実現可能である。 Be considered a cell switch cell rate is 622Mbps, these transmission rates can be sufficiently achieved in the current art.
【0556】 [0556]
IBはKMへセル数情報をLSB(最下位桁)から伝送することにより、セル数の加算の回路規模を少なくすることができる。 IB is by transmitting a number of cells information to the KM from LSB (least significant digit), it is possible to reduce the circuit scale of the addition of the number of cells. 加算回路は全てのIBから伝送されてくるセル数情報を(出力ポート毎クラス毎に)下位桁から順に加算することができるためである。 Summing circuit cell number information transmitted from all IB (per output port per class) it is because it is possible to add the lower digit in the order. より具体的には、加算回路は入力した桁の数字とそれまでに計算した下位桁からの桁上がりの和を計算して、加算結果のその桁の値を得ることができる。 More specifically, adder circuit can calculate the sum of the carry from the lower digit calculated so far and the digit entered digits, obtain the digit value of the addition result. 加えて次の桁の計算のための桁上がりを保持する。 In addition to holding a carry for the next digit calculation.
【0557】 [0557]
IBからKMへの信号の中にクラス多重化FIFOセル数がある。 A class multiplexing number FIFO cells in the signal from the IB to the KM. バックプレッシャ付きセルスイッチが出力ポート毎の蓄積セル数(図25の出力バッファOBのセル数)を出力できる場合には、KMは、クラス多重化FIFOセル数の代わりにこの出力ポート毎蓄積セル数を用いても良い。 Back pressure with the cell switch is the number of stored cells for each output port to be able to output (number of cells in the output buffer OB of Fig. 25) is, KM is the number of each storage cell output port instead of the number of class multiplexing FIFO cell it may also be used.
【0558】 [0558]
これは、図2のクラス間の優先制御を行なうセル多重化装置や、図7のVC間公平キューイングを行なうセル多重化装置と同じ効果を持つ。 This has the same effect between classes of priority control cell multiplexing device and performing in Figure 2, the cell multiplexing apparatus for performing a fair queuing between VC in FIG.
【0559】 [0559]
図47に、ABRサービスを実現するための情報の経路を示す。 Figure 47 shows the path information for realizing the ABR service.
【0560】 [0560]
図47は、ポート#1からポート#Nに入力するABRクラスのセルが、バックプレッシャ付きセルスイッチ400によりポート#iに交換多重化される部分について特に抜き出して示してある。 Figure 47 is a cell of ABR class input from port # 1 to port #N is is shown in particular extracting the portion to be exchanged multiplexed port #i Back pressure with the cell switch 400. 実際は全ての出力ポートに関して、この図の#iと同じ構成になっている。 In fact for all output ports, it has the same configuration as #i in FIG.
【0561】 [0561]
ABRサービスは、セルスイッチの出力ポートに使用可能な帯域があれば、その帯域をABRクラスのVCで公平に分配して使用するサービスクラスである。 ABR service, if there is bandwidth available to an output port of the cell switch is a service class used to fairly distribute the bandwidth VC of ABR class. トラヒック制御には受信端末から送信端末へ伝送されるRMセルを用いる。 The traffic control using RM cells transmitted from the receiving terminal to the transmitting terminal.
【0562】 [0562]
セルスイッチ400は、出力ポート#iにおいてABRが使用可能な帯域を知っており、それと現在のABRの入力トラヒックとの比(または差)を知ることにより、送信端末に対してトラヒック制御を行なうことができる。 Cell switch 400 knows the band ABR which is available at the output port #i, therewith knowing the ratio between the input traffic of the current ABR (or difference), to perform traffic control on the transmission terminal can. 現在のABRトラヒックは図47に示したポート#i行きの入力セル数の一定周期毎の合計から知ることができる。 Current ABR traffic can be known from the sum of the predetermined cycle of the number of input cells in the ports #i bound shown in FIG. 47. 入力セル数から入力帯域を求め、これが出力ポートにおいてABRが使用可能な帯域を越えていれば過負荷であるから、ポート#iに入力するRMセルにVCの帯域を減らす指示を書き込めばよい。 Prompts band from the number of input cells, since ABR is overloaded if beyond the available bandwidth in which the output port, the RM cell input port #i may be written instructions to reduce the bandwidth of the VC. 逆に、ポート#i行きの入力セル数から求めた入力帯域が、出力ポートにおいてABRが使用可能な帯域を下回っていれば、低負荷であるから、ポート#iに入力するRMセルにVCの帯域を増やす指示を書き込めばよい。 Conversely, input bandwidth determined from the number of input cells port #i bound is, if less than the bandwidth available ABR is at the output port, since a low load, the VC to the RM cell input port #i it may be written instructions to increase the bandwidth. 入力帯域と出力帯域の比または差を知ることにより、過負荷、低負荷の程度を知ることができ、細やかな制御を行なうことが可能である。 Knowing the ratio or difference between the input band and output bandwidth, overload, it is possible to know the extent of low load, it is possible to perform delicate control.
【0563】 [0563]
この処理により輻輳に陥る確率は少なくなるが、さらにIBにおいてキュー長を監視して輻輳を検出した場合はEFCIをマークしたり、RMセルを書き換えたりすることにより、より安全にトラヒックを制御することが可能である。 Although the probability is reduced to fall into congestion by this process, if the further detects a congestion monitoring the queue length in IB or mark the EFCI, by rewriting or an RM cell, to control more safely the traffic that it is possible. 特にマルチキャストの場合は、入力帯域が出力帯域より小さくとも過負荷となる可能性があり、その場合はキュー長監視によるトラヒック制御が重要になる。 Especially in the case of multicast, there is a possibility that both the input bandwidth is less than the output bandwidth becomes overloaded, that case is the traffic control by the queue length monitor is important.
【0564】 [0564]
このように、第10の実施形態に係るカゴスイッチは、VC間公平キューイングを行なうため、キュー長監視によるトラヒック制御においてもVC間で公平な帯域分配を実現することが可能である。 Thus, the car switch according to the tenth embodiment, to perform fair queuing between VC, it is also possible to achieve a fair bandwidth allocation between VC in traffic control according to the queue length monitor.
【0565】 [0565]
【発明の効果】 【Effect of the invention】
以上説明したように、本発明のクラス間の優先制御を行なうパケット転送装置(第1、第2の実施形態(請求項1、2、3、4、))によれば、制御部(クラス管理部)が複数の入力バッファ全体の状況を把握して(少なくとも全体の状況を把握していればよいが、個々の入力バッファ毎に把握していても構わない)指示を出すため、各入力バッファのクラス毎の蓄積状況の違いによりクラス間の優先関係が崩れてしまうことが生じず、また、入力ポートの数すなわち入力バッファの数が増えても容易にクラス間の優先制御を実現できる。 As described above, the packet transfer apparatus for performing priority control among classes according to the invention (first and second embodiments (claims 1, 2, 3, 4,)) in accordance, the control unit (Class Management portion) is to grasp the plurality of the entire input buffer status (it is enough to know the least overall situation, it may also be grasped for each individual input buffer) for issuing an instruction, each input buffer that does not occur that the difference in storage state for each class precedence relationships between classes collapses, also possible to realize priority control to easily class increasing number that is the number of input buffers of the input ports.
【0566】 [0566]
また、複数の入力バッファにまたがってVC(フロー)間公平キューイングをするために、例えば、制御手段が全ての入力バッファの全てのVC(フロー)について、その入力ポート番号とVC番号、パケットの到着状況、出力状況等を把握してパケットの出力順序を制御するのでは、装置構成が複雑になり、スループットの向上が難しい。 In order to make the VC (flow) Kohei Hazama queuing across multiple input buffers, for example, all the control means of all the input buffers for VC (flow), the input port number and the VC number, the packet arrival situation, to understand the output state or the like than controlling the output order of packets, device configuration becomes complicated, it is difficult improvement in throughput. そこで、本発明のパケット転送装置(第3、第4、第5の実施形態(請求項5、6))によれば、あるフェーズ(その時間的長さは不定)内で出力されるべきパケット集合(カゴ)という概念を導入し、このパケット集合に入れるパケットの選択と、このパケット集合に入っているパケットのみを出力する(その他のパケットは出力が許可されない)という処理を各入力バッファが分担し、パケット集合に新たなパケットを入れるタイミングを指示する処理をカゴ管理部が分担することにより、例えば、入力バッファ方式のセルスイッチにおいて、VC(フロー)間公平キューイングを容易に実現できる。 Therefore, the packet transfer apparatus of the present invention according to the (third, fourth, fifth embodiment (claim 5,6)), is phase (temporal length undefined) to be output by the packet introduces the concept of a set (basket), and selection of packets included in this packet set, the entered packet set only to output the packet are (other packets is not allowed output) the input buffer processing that is shared and, by the basket management unit processing for instructing the timing to put the new packet to the packet set is shared, for example, in the cell switch of the input buffer method, VC (the flow) Kohei Hazama queuing can be easily realized.
【0567】 [0567]
また、本発明のパケット転送装置(第6、第7の実施形態(請求項7、8))によれば、制御手段(バッファポインタ管理部)がパケットが入力されたときに複数の集合への振り分けが行われており、パケットを出力するときには1つの集合に属するポインタを出すだけで済むので、例えば設定すべきVC数が増えても高速にVC(フロー)間公平キューイングのための出力すべきパケットの選択が実現できる。 The packet forwarding device of the present invention according to the (sixth and seventh embodiments (claims 7,8)), the control means of the plurality of sets when (buffer pointer management unit) is input packet sorting has been performed, since only needs issues a pointer belonging to one set when outputting a packet, the output to for fair queuing between VC (flow) at high speed even if the number is VC number for example to be set selection of the packet can be realized should.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
【図1】本発明の第1の実施形態に係るクラス間の優先制御を行なうセル多重化装置の構成例を示した図。 Diagram showing a configuration example of a cell multiplexing apparatus for performing priority control among classes according to the first embodiment of the present invention; FIG.
【図2】本発明の第2の実施形態に係るクラス間の優先制御を行なうセル多重化装置の他の構成例を示した図。 FIG. 2 is a diagram showing another configuration example of a cell multiplexing apparatus for performing priority control among classes according to the second embodiment of the present invention.
【図3】出力バッファの他の構成例を示した図。 FIG. 3 is a diagram showing another configuration example of the output buffer.
【図4】出力バッファのさらに他の構成例を示した図。 Figure 4 is a diagram showing a still another example of the configuration of the output buffer.
【図5】本発明の第3の実施形態に係るVC毎FIFOを備えた出力バッファ型セル多重化装置の構成例を示した図。 [5] Figure 3 shows a configuration example of an output buffer type cell multiplexing device having a per-VC FIFO according to an embodiment of the present invention.
【図6】本発明の第4の実施形態に係る:VC間公平キューイングを行なうセル多重化装置の構成例を示した図。 [6] according to a fourth embodiment of the present invention: diagram showing a configuration example of a cell multiplexing device for performing fair queuing between VC.
【図7】本発明の第5の実施形態に係るVC間公平キューイングを行なうセル多重化装置の構成例を示した図。 7 is a diagram showing a configuration example of a cell multiplexing device for performing fair queuing between VC according to the fifth embodiment of the present invention.
【図8】本発明の第6の実施形態に係るセルグループFIFOを用いるセルバッファ装置の構成例を示した図。 Diagram showing a configuration example of a cell buffer device using the sixth cell group FIFO according to the embodiment of the invention; FIG.
【図9】本発明の第7の実施形態に係るセルグループFIFOを用いるセルバッファ装置の構成例を示した図。 [Figure 9] Figure 7 shows an example of the configuration of a cell buffer device using cell group FIFO according to an embodiment of the present invention.
【図10】第6の実施形態に係るセルグループFIFOのポインタチェーンによるデータ構造例を説明するための図。 [Figure 10] Figure 6 for explaining a data structure example according to the pointer chain for the cell group FIFO according to the embodiment of.
【図11】第6の実施形態に係るセルグループFIFOのポインタチェーンによるデータ構造例を説明するための図で、空きセルグループチェーンの構成を示している。 [11] a view for explaining an example data structure according to the pointer chain for the cell group FIFO according to the sixth embodiment, showing the configuration of the idle cell group chain.
【図12】第7の実施形態に係るセルグループFIFOのポインタチェーンによるデータ構造例を説明するための図。 Figure 12 is a diagram for illustrating a data structure example according to the pointer chain for the cell group FIFO according to the seventh embodiment.
【図13】第7の実施形態に係るセルグループFIFOのポインタチェーンによるデータ構造例を説明するための図で、空きセルグループチェーンの構成を示している。 [13] a view for explaining an example data structure according to the pointer chain for the cell group FIFO according to the seventh embodiment, showing the configuration of the idle cell group chain.
【図14】パケットグループを用いたフロー間公平キューイングを説明するための図。 Figure 14 is a diagram illustrating the flow between fair queuing using packet group.
【図15】パケットグループを用いたフロー間公平キューイングを用いたパケットバッファ装置の動作を説明するための図。 Figure 15 is a diagram for explaining the operation of the packet buffer device which uses a fair queuing between flows using packet group.
【図16】本発明の第8の実施形態にかかるバックプレッシャ考慮キュー監視を説明する図である。 16 is a diagram for explaining such a backpressure considered queue monitoring to an eighth embodiment of the present invention.
【図17】第8の実施形態に係るバックプレッシャ考慮キュー監視部を持つセルバッファ装置の構成例を示した図。 Figure 17 is a diagram showing a configuration example of a cell buffer device with a backpressure consideration queue monitoring unit according to the eighth embodiment.
【図18】第8の実施形態に係るバックプレッシャ考慮キュー監視アルゴリズムを示したフローチャート。 Figure 18 is a flowchart showing the backpressure consideration queue monitoring algorithm according to the eighth embodiment.
【図19】本発明の第9の実施形態に係る遅延を考慮したセルバッファ装置の構成例を示した図。 [Figure 19] Figure 9 shows an exemplary configuration of a cell buffer device of which the delay according to an embodiment of the present invention.
【図20】遅延を考慮したセル数情報の修正方法の基本原理を説明するための図。 Figure 20 is a diagram illustrating the basic principle of the modified method of cell number information of which the delay.
【図21】セル数修正方法の他の基本原理を説明するための図。 Figure 21 is a diagram for explaining another basic principle of the number of cells correction method.
【図22】図21のセル数修正方法に用いる基本的な関数f()を説明するための図。 Figure 22 is a diagram for explaining the basic function f () used in cell number correction method of FIG. 21.
【図23】図21のセル数修正方法に用いる基本的な関数g()を説明するための図。 Figure 23 is a diagram for explaining the basic function g () to be used in cell number correction method of FIG. 21.
【図24】図21のセル数修正方法に用いる基本的な関数Sc()を説明するための図。 Figure 24 is a diagram for explaining the basic function Sc () used in cell number correction method of FIG. 21.
【図25】本発明の第10の実施形態に係るカゴスイッチの全体の構成例を示した図。 10 shows a configuration example of the entire basket switch according to the embodiment of the FIG. 25 the present invention.
【図26】図25の出力バッファの構成例を示した図。 Figure 26 is a diagram showing a configuration example of the output buffer of FIG. 25.
【図27】図25の1段目単位スイッチの構成例を示した図。 Figure 27 is a diagram showing a configuration example of a first stage unit switch of FIG. 25.
【図28】図25の2段目単位スイッチの構成例を示した図。 Figure 28 is a diagram showing a configuration example of a second-stage unit switch of FIG. 25.
【図29】図25の入力バッファの構成例を示した図。 Figure 29 is a diagram showing a configuration of an input buffer of Figure 25.
【図30】入力バッファのキューイング処理を説明するための図。 Figure 30 is a diagram for explaining a queuing processing of the input buffer.
【図31】図25の入力バッファのカゴ管理部とのインタフェースを示した図。 Figure 31 is a diagram showing the interface between the basket management unit of the input buffer of Figure 25.
【図32】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 32 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図33】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 33 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図34】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 34 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図35】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 35 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図36】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 36 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図37】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 37 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図38】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 38 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図39】図29のクラス毎マルチキャストセル管理部の動作を説明するための図。 Figure 39 is a diagram for explaining the operation of the class for each multicast cell management unit of FIG. 29.
【図40】図29の出力ポート選択スケジューラの構成例を示した図。 Figure 40 is a diagram showing a configuration example of an output port selection scheduler of Figure 29.
【図41】図25のカゴ管理部の構成例を示した図。 Figure 41 is a diagram showing a configuration example of a basket management unit of FIG. 25.
【図42】図41のカゴ管理部のクラス選択スケジューラで実行する、最大帯域を制限し最小帯域を保証するスケジューリングアルゴリズムの具体例を示したフローチャート。 [Figure 42] run on class selection scheduler basket management unit of FIG. 41, a flowchart showing a specific example of a scheduling algorithm which guarantees minimum bandwidth limit the maximum bandwidth.
【図43】図41のカゴ管理部のクラス選択スケジューラで実行する、最大帯域を制限し最小帯域を保証するスケジューリングアルゴリズムの具体例を示したフローチャート。 [Figure 43] run on class selection scheduler basket management unit of FIG. 41, a flowchart showing a specific example of a scheduling algorithm which guarantees minimum bandwidth limit the maximum bandwidth.
【図44】図41のカゴ管理部のクラス選択スケジューラで実行する、最大帯域を制限し最小帯域を保証するスケジューリングアルゴリズムの具体例を示したフローチャート。 [Figure 44] run on class selection scheduler basket management unit of FIG. 41, a flowchart showing a specific example of a scheduling algorithm which guarantees minimum bandwidth limit the maximum bandwidth.
【図45】セル数情報の修正方法の応用例であるカゴスイッチの動作を説明するための図。 Diagram for explaining the operation of the car switch an application example of the correction method of Figure 45 the number of cells information.
【図46】図25の入力バッファとカゴ管理部との接続の具体例を示した図。 Figure 46 is a diagram showing a specific example of a connection between the input buffer and the basket management unit of FIG. 25.
【図47】ABRサービスのための情報の経路の具体例を示した図。 Figure 47 is a diagram showing a specific example of the route information for the ABR service.
【図48】従来のUBRサービスにおける不公平な帯域割り当てについて説明するための図。 Figure 48 is a diagram for explaining unfair bandwidth allocation in a conventional UBR service.
【図49】従来のクラス間の優先制御を行うセル多重化装置の構成を説明するための図。 Figure 49 is a diagram illustrating the configuration of a cell multiplexing apparatus for performing priority control to traditional classes.
【図50】従来の入力バッファを持つセル多重化装置の構成を説明するための図。 Figure 50 is a diagram illustrating the configuration of a conventional cell multiplexing device having an input buffer.
【図51】従来のVCテーブルの検索が必要なセルバッファ装置の構成を説明するための図。 Figure 51 is a diagram illustrating the configuration of a conventional search cell buffer device in need of the VC table.
【図52】図50に示すような従来の入力バッファを持つセル多重化装置における入力バッファのキュー長の変化について説明するための図。 Figure 52 is a diagram for explaining changes in the queue length in the input buffer in the cell multiplexing device having a conventional input buffer as shown in FIG. 50.
【図53】従来の優先制御を行うセル多重化装置の構成を説明するための図。 Figure 53 is a diagram illustrating the configuration of a cell multiplexing device for performing conventional priority control.
【符号の説明】 DESCRIPTION OF SYMBOLS
10…入力バッファ、11…出力バッファ、12…クラス管理部、212、222…カゴ管理部、230、240…バッファポインタ管理部、282…キュー監視部、302…転送指示履歴、KM…カゴ管理部、400…バックプレッシャ付きセルスイッチ。 10 ... input buffer, 11 ... output buffer, 12 ... class management unit, 212, 222 ... basket management unit, 230, 240 ... buffer pointer management unit, 282 ... queue monitoring unit, 302 ... transfer instruction history, KM ... basket management unit , 400 ... back pressure with a cell switch.

Claims (8)

  1. 入力されたパケットを一時的に蓄積する複数の入力バッファと、これら入力バッファを制御する制御手段と、前記各入力バッファから出力されるパケットを転送する少なくとも1つの出力ポートを具備したパケット転送装置であって、 A plurality of input buffers for temporarily storing the input packet, and control means for controlling the input buffer, the packet transfer device including at least one output port for transferring packets outputted from each input buffer there,
    前記各入力バッファは、入力したパケットを一時的にクラス毎に蓄積するクラス毎の蓄積手段と、 Wherein each input buffer has a storage means for each class stored in each temporary class was input packet,
    前記制御手段から指示されたクラスのパケットを前記蓄積手段から前記出力ポートへ向けて出力する出力手段とを具備し、 And an output means for outputting toward said output port from said storage means the packet of class instructed from the control unit,
    前記制御手段は、 Wherein,
    前記蓄積手段の複数の入力バッファ全体における蓄積状況をクラス毎に把握し、この蓄積状況に基づいてパケットを出力すべきクラスを決定し、この決定したクラスの指定を含む指示を前記複数の入力バッファに送信することを特徴とするパケット転送装置。 Wherein the plurality of storage situation in the entire input buffer of the storage means to understand for each class, and determines the class to be outputted packets based on the storage state, the plurality of input buffer instruction including the specification of the determined class packet transfer apparatus and transmits to.
  2. 前記出力ポートは、前記入力バッファから出力されたパケットを一時的に蓄積する出力バッファを具備し、 Said output port includes an output buffer for temporarily storing a packet output from the input buffer,
    前記出力手段は、前記出力バッファ内部のパケットの蓄積状況に応じてパケットを前記出力ポートへ向けて出力することを特徴とすることを特徴とする請求項1記載のパケット転送装置。 And the output means, the packet transfer apparatus according to claim 1, characterized in that and outputs toward the packet to the output port in response to the accumulation status of the output buffer internal packet.
  3. 前記出力手段は、前記蓄積手段から出力されたパケットを多重化し、この多重化されたパケットを前記出力ポートに出力する多重化手段を具備し、 And the output means, the packets output from said storage means multiplexes, comprising a multiplexing means for outputting the multiplexed packet to the output port,
    前記制御手段は、前記蓄積状況に加えて、前記多重化手段の複数の入力バッファ全体における多重化状況を把握し、前記蓄積状況および前記多重化状況に基づいてパケットを出力すべきクラスを決定することを特徴とする請求項1記載のパケット転送装置。 Wherein, in addition to the storage conditions, to grasp the multiplexing status of the plurality of input entire buffer of said multiplexing means, for determining a class to be outputted packets based on the storage state and the multiplexed status packet transfer apparatus according to claim 1, wherein a.
  4. 前記入力バッファは、複数の入力バッファにまたがる同一クラス内で、各パケットの属する各仮想コネクション間でパケットの転送が公平になるように前記蓄積手段から出力するパケットを選択することを特徴とする請求項1記載のパケット転送装置。 Said input buffer, wherein, characterized in that within the same class that spans multiple input buffers, selecting a packet to be output from said storage means as the transfer of packets is fairly among virtual connection belongs each packet packet transfer apparatus of claim 1, wherein.
  5. 入力されたパケットを一時的に蓄積する複数の入力バッファと、これら入力バッファを制御する制御手段と、前記各入力バッファから出力されるパケットを転送する少なくとも1つの出力ポートを具備したパケット転送装置であって、 A plurality of input buffers for temporarily storing the input packet, and control means for controlling the input buffer, the packet transfer device including at least one output port for transferring packets outputted from each input buffer there,
    前記各入力バッファは、 Wherein each input buffer,
    入力したパケットを一時的に蓄積する蓄積手段と、 A storage means for temporarily storing the input packet,
    前記制御手段からの指示を受けて、次のフェーズで前記蓄積手段から前記出力ポートへ向けて出力すべきパケットを選択する選択手段と、 Upon receiving an instruction from said control means, and selection means for selecting a packet to be outputted to said output port from said storage means in the next phase,
    この選択手段で選択されたパケットを前記出力ポートに向けて出力する出力手段とを具備し、 The packets selected by the selecting means and an output means for outputting toward the output port,
    前記制御手段は、 Wherein,
    前記複数の入力バッファ全体における前記選択手段で選択されたパケットの出力状況を把握し、この出力状況に基づいて新たなパケットを選択するよう前記複数の入力バッファに指示することを特徴とするパケット転送装置。 Grasp the output status of the packets selected by the selecting means in the whole of the plurality of input buffers, packet transfer, characterized by instructing the plurality of input buffers to select a new packet on the basis of the output state apparatus.
  6. 前記各入力バッファの選択手段は、それぞれ、 The selection means of each input buffer, respectively,
    各パケットの属する各仮想コネクション間でパケットの転送が公平になるように前記蓄積手段から出力するパケットを選択することを特徴とする請求項5記載のパケット転送装置。 Each virtual connection between the packet transfer apparatus according to claim 5, wherein the transfer of the packet to select a packet to be output from said storage means to be fair in the Field of each packet.
  7. 入力したパケットを一時的に蓄積するバッファと、このバッファを制御する制御手段と、前記バッファから出力されたパケットを転送する少なくとも1つの出力ポートを具備したパケット転送装置であって、 A buffer for temporarily storing entered packets, a control means for controlling the buffer, the packet transfer apparatus having at least one output port for transferring packets outputted from the buffer,
    前記制御手段は、 Wherein,
    前記バッファ内に蓄積されたパケットを複数の集合に分けて管理する管理手段と、 Management means for managing separately accumulated packets in said buffer into a plurality of sets,
    前記バッファに入力したパケットを各パケットの属するフロー間で公平になるように前記複数の集合のいずれか1つに振り分ける振り分け手段と、 And distributing means for distributing packets inputted to the buffer to the one of the plurality of sets to be fair among the flows belonging of each packet,
    前記管理手段で管理されている前記複数の集合のうちの1つの集合に属するパケットを前記出力ポートに向けて出力するよう前記バッファに対し指示する指示手段と、 And instruction means for instructing to said buffer to output to the packets belonging to one set of the plurality of sets that are managed by the management means to said output port,
    を具備したことを特徴とするパケット転送装置。 Packet transfer apparatus characterized by comprising a.
  8. 前記振り分け手段は、前記バッファに入力したパケットを、そのパケットの属するフローの識別情報と、各フローに対して定められた重み及び入力したパケットの長さの少なくとも一方とに基づいて前記複数の集合のいずれか1つに振り分けることを特徴とする請求項7記載のパケット転送装置。 It said distributing means includes a packet input to the buffer, and the identity of the flow which the packet belongs, wherein the plurality of sets based on the length of at least one of the weights and the input packet that is determined for each flow packet transfer apparatus according to claim 7, wherein the allocation to one of the.
JP21356996A 1995-09-18 1996-08-13 Packet transfer device Expired - Fee Related JP3673025B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP23886795 1995-09-18
JP7-238867 1995-09-18
JP21356996A JP3673025B2 (en) 1995-09-18 1996-08-13 Packet transfer device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21356996A JP3673025B2 (en) 1995-09-18 1996-08-13 Packet transfer device
US10190577 US6934296B2 (en) 1995-09-18 2002-07-09 Packet transfer device and packet transfer method adaptive to a large number of input ports

Publications (2)

Publication Number Publication Date
JPH09149051A true JPH09149051A (en) 1997-06-06
JP3673025B2 true JP3673025B2 (en) 2005-07-20

Family

ID=26519867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21356996A Expired - Fee Related JP3673025B2 (en) 1995-09-18 1996-08-13 Packet transfer device

Country Status (1)

Country Link
JP (1) JP3673025B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3439373B2 (en) 1999-05-12 2003-08-25 日本電気通信システム株式会社 Competing priority control circuit
JP2003511909A (en) * 1999-10-06 2003-03-25 テノー ネットワークス, インコーポレイテッド Packet buffering system and method output hierarchically is queue
JP3584859B2 (en) 2000-06-29 2004-11-04 日本電気株式会社 Packet scheduling apparatus
JPWO2003098883A1 (en) * 2002-05-15 2005-09-22 三菱電機株式会社 Packet Scheduling and packet scheduling method
WO2003103234A1 (en) * 2002-05-30 2003-12-11 松下電器産業株式会社 Packet transfer circuit and packet transfer method
JP4234134B2 (en) * 2003-07-10 2009-03-04 三菱電機株式会社 Hierarchical Scheduling device
WO2005060185A1 (en) * 2003-12-17 2005-06-30 Mitsubishi Denki Kabushiki Kaisha Data transferring apparatus, cell multiplexing apparatus, and cell switch
JP4499042B2 (en) * 2004-02-18 2010-07-07 三菱電機株式会社 Switch device
JP4557911B2 (en) * 2006-03-07 2010-10-06 株式会社東芝 A communication apparatus and communication method
US7916626B2 (en) * 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
JP4574600B2 (en) * 2006-08-25 2010-11-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 Gateway device, data collection device, data collection system, data transmission method, and a program
JP4582180B2 (en) * 2008-04-03 2010-11-17 パナソニック株式会社 Data transmission device
WO2011049019A1 (en) 2009-10-19 2011-04-28 日本電気株式会社 Communication system, flow control apparatus, flow table updating method and program

Also Published As

Publication number Publication date Type
JPH09149051A (en) 1997-06-06 application

Similar Documents

Publication Publication Date Title
US6721273B1 (en) Method and apparatus for traffic flow control in data switches
US6092115A (en) Method for supporting per-connection queuing for feedback-controlled traffic
US6424624B1 (en) Method and system for implementing congestion detection and flow control in high speed digital network
US5768258A (en) Selective congestion control mechanism for information networks
US5768257A (en) Input buffering/output control for a digital traffic switch
US6188698B1 (en) Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6018527A (en) Queue service interval based cell scheduler with hierarchical queuing configurations
US6625159B1 (en) Nonblocking and fair queuing switching method and shared memory packet switch
US6122279A (en) Asynchronous transfer mode switch
US7023841B2 (en) Three-stage switch fabric with buffered crossbar devices
US5983278A (en) Low-loss, fair bandwidth allocation flow control in a packet switch
US5633867A (en) Local memory buffers management for an ATM adapter implementing credit based flow control
US7161906B2 (en) Three-stage switch fabric with input device features
US5864540A (en) Method for integrated traffic shaping in a packet-switched network
US6067298A (en) ATM switching system which separates services classes and uses a code switching section and back pressure signals
US5953336A (en) Method and apparatus for source rate pacing in an ATM network
US6683872B1 (en) Variable rate digital switching system
US5528591A (en) End-to-end credit-based flow control system in a digital communication network
US6046983A (en) Dynamic rate control system
US5999534A (en) Method and apparatus for scheduling cells for use in a static priority scheduler
US6064677A (en) Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
US6064650A (en) Rate shaping in per-flow output queued routing mechanisms having output links servicing multiple physical layers
US6141322A (en) Method and apparatus for precedence and preemption in ATM connection admission control
US6526060B1 (en) Dynamic rate-based, weighted fair scheduler with explicit rate feedback option

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050421

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees