(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される送受信用の複数のポートを持ちネットワーク間でフローの中継を行う中継装置において、
一または複数のポートに接続され前記一または複数のポートからのフローを優先度の異なる複数のキューにエンキューし、また、デキューするキュー制御を行う複数のキュー制御部と、
前記複数のキュー制御部からデキューされたフローをスイッチングして前記送受信用の複数のポートから送出する装置内スイッチとを有し、
前記複数のキュー制御部間で相互に制御信号を送受信し複数のキュー制御部間でキュー制御部内の任意のキューに対するキュー制御を行い、
任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しキュー優先制御を変更するための内容を含むことを特徴とする中継装置。
【請求項２】
請求項１記載の中継装置において、
任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しデキューする帯域の設定を変更するための内容を含むことを特徴とする中継装置。
【請求項３】
請求項１記載の中継装置において、
前記複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し、各キューのキュー長が予め設定されているキュー長閾値を上回ったか、下回ったとき前記制御信号を送信することを特徴とする中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、中継装置に関し、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続される複数の送受信ポートを持つ中継装置に関する。
【０００２】
【従来の技術】
ＬＡＮやＷＡＮに接続される複数の送受信ポートを持つ中継装置においては、中継される複数のフローに対して優先制御を行うものがあり、送受信ポート数が多い大規模な中継装置や精密な優先制御を行う中継装置が要求されている。なお、本明細書中で「ポート」とは、ある物理回線に接続されている送受信口、もしくは物理回線上に設定された論理回線に接続されている送受信口のことであり、また、「フロー」とは、特定の端末間／特定のネットワーク間で行われている通信や、特定のアプリケーションにおける端末間の通信など、特定通信の一連の流れを指す。
【０００３】
従来のキュー制御による優先制御を中継装置に実装する場合、中継装置自体の規模が小さい場合は、図１に示すように、複数のポート１０ａ〜１０ｘに対して、１つのキュー制御部１２を持ち、ポート１０ａ〜１０ｘから中継装置に入る全てのフローに対する優先制御をキュー制御部１２で行っている。なお、キュー制御部１２から出力されるフローは装置内スイッチ１４で宛先別にスイッチ制御され、ポート１０ａ〜１０ｘのいずれかから送出される。
【０００４】
また、大規模な中継装置や、非常に高速な回線を収容する中継装置では、１つのキュー制御部だけでは速度や規模に対応できない。そのため、図２に示すように、中継装置内の１つのポート１０ａ〜１０ｘ（または複数のポートをひとまとめとしたもの）に対して１つずつキュー制御部１２ａ〜１２ｘを設ける構成を取っている。
【０００５】
【発明が解決しようとする課題】
しかし、図２に示すように、中継装置内に複数のキュー制御部１２ａ〜１２ｘが存在する場合、優先制御はそれぞれのキュー制御部１２ａ〜１２ｘ内でのみ行われ、中継装置全体として優先制御を行っているわけではない。例えばキュー制御部１２ａには特定宛先への優先度の低いフローがキューイングされ、キュー制御部１２ｂには同じ特定宛先への優先度の高いフローがキューイングされ、他のフローが存在しない場合、キュー制御部１２ａからは優先度の低いフローが順次デキューされて装置内スイッチ１４に送られ、キュー制御部１２ｂからは優先度の高いフローが順次デキューされて装置内スイッチ１４に送られる。
【０００６】
このため、装置内スイッチ１４は上記２つのフローを同じ割合でスイッチングする。その結果、優先度の低いフローと優先度の高いフローが同じ優先度で処理され、中継装置全体としての優先制御が実現されないという問題があった。
【０００７】
また、帯域制御においても、デキュー帯域の設定された複数のフローが１つの宛先に集中して物理回線速度以上となった場合は、それぞれのフローの優先度に関係なく同一の割合でデキューされる帯域が減ってしまい、結果として中継装置の優先度が無視されるという問題があった。
【０００８】
本発明は、上記の点に鑑みなされたものであり、装置内に複数のキュー制御部を持っていても、全体として優先制御及び帯域制御を行うことのできる中継装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
請求項１に記載の発明は、一または複数のポートに接続され前記一または複数のポートからのフローを優先度の異なる複数のキューにエンキューし、また、デキューするキュー制御を行う複数のキュー制御部と、
前記複数のキュー制御部からデキューされたフローをスイッチングして前記送受信用の複数のポートから送出する装置内スイッチとを有し、
前記複数のキュー制御部間で相互に制御信号を送受信し複数のキュー制御部間でキュー制御部内の任意のキューに対するキュー制御を行い、
任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しキュー優先制御を変更するための内容を含むことにより、
複数のキュー制御部間で優先制御の調整を行うことができ、中継装置全体として優先制御を行うことができる。
【００１２】
請求項２に記載の発明では、任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しデキューする帯域の設定を変更するための内容を含むことにより、
複数のキュー制御部間で帯域制御の調整を行うことができ、中継装置全体として帯域制御を行うことができる。
【００１３】
請求項３に記載の発明では、複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し、各キューのキュー長が予め設定されているキュー長閾値を上回ったか、下回ったとき前記制御信号を送信し、また、付記６に記載の発明では、キュー長閾値は、キュー毎に複数を設定することにより、
きめ細かな優先制御を行うことが可能となる。
【００１４】
付記７に記載の発明では、複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し帯域計算を行ってデキューを促す帯域計算部を有し、
設定された帯域でデキューができなくなったときの誤差が予め設定されている帯域誤差閾値を上回ったか、下回ったとき前記制御信号を送信し、付記８に記載の発明では、帯域誤差閾値は、キュー毎に複数を設定することにより、
きめ細かな優先制御を行うことが可能となる。
【００１５】
付記９に記載の発明では、キュー優先制御を変更するための内容は、所定時間後に解除されることにより、
キュー優先制御の変更を一時的に行うことができ、その後は通常のキュー優先制御に戻ることができる。
【００１６】
付記１０に記載の発明では、帯域の設定を変更するための内容は、所定時間後に解除されることにより、
帯域制御における帯域設定の変更を一時的に行うことができ、その後は通常の帯域設定に戻ることができる。
【発明の実施の形態】
図３は、本発明の中継装置の一実施例のブロック構成図を示す。同図中、複数のポート２０ａ〜２０ｘはＬＡＮやＷＡＮ等の物理回線に接続されている。ポート２０ａ〜２０ｘそれぞれで受信されたフローはフロー識別部２２ａ〜２２ｘに供給され、ここで各フローのヘッダから各フローの優先度が識別され、その識別情報は対応するフローに付加されてキュー制御部２４ａ〜２４ｘに供給される。なお、この実施例ではポート２０ａ〜２０ｘに対応してキュー制御部２４ａ〜２４ｘが設けられているが、ポート２０ａ〜２０ｘを数個毎にグループ化して各グループに１つのキュー制御部を設ける構成であっても良い。
【００１７】
キュー制御部２４ａ〜２４ｘそれぞれは、自らのキュー状態に応じて制御信号を生成し、この制御信号を制御信号用スイッチ２６を介して他の全てのキュー制御部２４ａ〜２４ｘに供給する。そして、キュー制御部２４ａ〜２４ｘそれぞれは、自らのキュー状態と他の全てのキュー制御部からの制御信号に従って自らのキュー制御を行う。キュー制御部２４ａ〜２４ｘそれぞれからデキューされたフローは装置内スイッチ２８でスイッチングされて各ポート２０ａ〜２０ｘに供給され、各ポート２０ａ〜２０ｘから接続先の物理回線に送出される。
【００１８】
このように、複数のキュー制御部２４ａ〜２４ｘ間で制御信号をやりとりできるため、例えば、あるキュー制御部に優先するフローが溜って来た場合、他のキュー制御部における優先度の低いフローのデキューを止めると行った制御を行うことで、中継装置として統一された優先制御機構を実現することができる。
【００１９】
また、複数のキュー制御部２４ａ〜２４ｘからのフローが特定の宛先に集中し、あるキュー制御部において設定された帯域でのデキューが出来なくなった場合、他のキュー制御部の優先度の低いキューからのデキュー帯域を一時的に減らすことで、優先度の高いフローの帯域制御を優先することが可能となり、中継装置全体として統一された優先制御機構を実現することができる。
【００２０】
図４は、キュー制御部２４ａ〜２４ｘの一実施例の詳細ブロック図を示す。同図中、エンキュー部３０は、前段のフロー識別部からの識別情報に基づいて、対応するフローをキュー３１−１〜３１−ｎのうちフローの優先度に応じたキューにエンキューする。キュー３１−１〜３１−ｎは、キューの機能を有すると共に、エンキュー／デキューによって変化するキュー長を逐一キュー長／閾値管理部３２に通知する。また、スケジューラ部６１からのデキュー要求が来たときは、デキューを行い、デキューしたデータ（フロー）を帯域計算部４１−１〜４１−ｎに送る。なお、本構成の例では、１つのキュー制御部においてキューの数をｎ個持ち、宛先の方路がｍ本あるものとする。
【００２１】
各キューに溜まっているデータ量を表すキュー長をキュー長閾値（以下、単に「閾値」という）と比較し、その状態に応じて制御信号を送出する機構は、キュー長／閾値管理部３２とデキュー制御信号送出部３３で実現している。
【００２２】
キュー長／閾値管理部３２では、各キュー３１−１〜３１−ｎから逐次受け取るキュー長を各キュー毎に管理し、各キューに設定された閾値を格納した閾値テーブル３２Ａと比較し、閾値を越えた、または、下回ったことを検出したとき、その情報（閾値情報）をデキュー制御信号送出部３３に伝える。
【００２３】
図５に閾値テーブル３２Ａの内容の一実施例を示す。閾値テーブル３２Ａは、キュー毎に複数（α個）の閾値（キュー長閾値）が閾値番号と共に登録されている。キュー長／閾値管理部３２では、各キューのキュー長を各キュー毎に設定された複数の閾値と比較し、どの閾値番号の閾値を上回ったか、または、下回ったかをデキュー制御信号送出部３３に伝えている。
【００２４】
図５では、全てのキューに閾値をα個設定している場合の内容を示しているが、閾値は一部のキューにのみ設定できる形態（一部のキューには閾値の設定がない形態）でもよい。また、各キュー毎に設定できる閾値の個数が違っていたり、閾値の個数を適宜変更できる形態でもよい。また、閾値テーブルの内容はユーザが設定できる形態でもよいし、はじめから固定的に割り当てられている形態でもよい。
【００２５】
デキュー制御信号送出部３３では、キュー長／閾値管理部３２から受け取った閾値情報を基に、デキュー制御信号とデキュー廃棄制御信号を生成する。図６は、デキュー制御信号送出部３３の一実施例の詳細ブロック図を示す。同図中、デキュー制御信号格納部７１−１〜７１−ｎそれぞれでは、キュー３１−１〜３１−ｎそれぞれからの閾値情報を受け取り、それに対応するデキュー制御信号（ｎビット）とデキュー制御信号タイマ値をデキュー制御信号テーブル３３Ａから取り出し、デキュー制御信号をデキュー制御信号生成部７３に伝える。また、内部にタイマを内蔵し、デキュー制御信号を取り出した時点からタイマを作動させ、タイマ値がデキュー制御信号タイマ値を越えたら、受け取ったデキュー制御信号を消し（全ビット０にする）、それを新たなデキュー制御信号としてデキュー制御信号生成部７３に伝える。
【００２６】
また、デキュー廃棄制御信号格納部７２−１〜７２−ｎそれぞれでは、キュー３１−１〜３１−ｎそれぞれからの閾値情報を受け取り、それに対応するデキュー廃棄制御信号（ｎビット）とデキュー廃棄制御信号タイマ値をデキュー制御信号テーブル３３Ａから取り出し、デキュー廃棄制御信号生成部７４に伝える。また、内部にタイマを内蔵し、デキュー廃棄制御信号を取り出した時点からタイマを作動させ、タイマ値がデキュー廃棄制御信号タイマ値を越えたら、受け取ったデキュー廃棄制御信号を消し（全ビット０にする）、それを新たなデキュー廃棄制御信号としてデキュー廃棄制御信号生成部７４に伝える。
【００２７】
図７に、デキュー制御信号テーブル３３Ａの一実施例の内容を示す。ここでは、全てのキューにα個の閾値が設定されている上述の形態を示している。図中のデキュー制御信号ＤＱｐ−ｑ−ｒは、０または１の値（１ビット）を取り、キューｐの閾値番号ｑを越えたとき１ならば、他のキュー制御部のキューｒからのデキューを止めることを意味する（０ならばデキューを止めない）。
【００２８】
また、デキュー廃棄制御信号ＤＤｐ−ｑ−ｒは、０または１の値（１ビット）を取り、キューｐの閾値番号ｑを越えたとき１ならば、他のキュー制御部のキューｒからのデキューの際に装置内スイッチ側からのＳＴＯＰ信号を受信していればデキューされたデータを廃棄をすることを意味する（０なら廃棄しない）。ＴＱｐ−ｑ，ＴＤｐ−ｑは、取り出すデキュー制御信号、デキュー廃棄制御信号を有効とするタイマ値を表す。
【００２９】
次に、図６に示すデキュー制御信号生成部７３では、各キューの状態によって得られたデキュー制御信号をデキュー制御信号格納部７１−１〜７１−ｎから受け取り、そのｎ種類の制御信号の各ビットを取り出して、同一位置のビットの論理和を取り、最終的に得られたｎビットをデキュー制御信号として送出する。上記の論理和を取ることで、それぞれのキューの状態によって設定されるデキュー制御情報を全て反映することができる。
【００３０】
また、デキュー廃棄制御信号生成部７４では、各キューの状態によって得られたデキュー廃棄制御信号をデキュー廃棄制御信号格納部７２−１〜７２−ｎから受け取り、それらｎ種類の制御信号の各ビットを取り出して、同一位置のビットの論理和を取り、最終的に得られたｎビットをデキュー廃棄制御信号として送出する。上記の論理和を取ることで、それぞれのキューの状態によって設定されるデキュー廃棄制御情報を全て反映することができる。
【００３１】
本実施例では、キュー長と閾値との比較から、デキュー制御信号とデキュー廃棄制御信号の２種類の制御信号を生成しているが、後述の帯域制御信号の内容もテーブルに追加し、帯域制御信号も送出できるようにしても良い。また、これら３種類のうちの一部分のみ設定できる形態でも構わない。
【００３２】
上記では、デキュー制御信号とデキュー廃棄信号の内容が、各キューからのデキュー許可または禁止や、デキュー時の廃棄または非廃棄をテーブル内に直接指定しているが、受信するキュー制御部にデキュー制御信号やデキュー廃棄信号の内容を別途テーブルに持ち、送信する側としてはそのテーブルのどの項目を参照するといった間接的な情報を送信するといった形態でもよい。
【００３３】
図４において、送出帯域誤差の状態から制御信号を送出する機構は、帯域計算部４１−１〜４１−ｎと帯域管理部４３と帯域制御信号送出部４４より実現している。
【００３４】
帯域計算部４１−１〜４１−ｎでは、帯域設定部４２から送られた設定帯域を持ち、キュー３１−１〜３１−ｎから各キューにデータが入っていることを示すＥＸＩＳＴ信号を受けているときに、実際にキューからデキューしている状況を基に帯域計算をし、送出タイミングになったらＥＸＩＳＴ信号をスケジューラ部６１に伝える。また、計算した帯域と設定されている帯域を逐次比較し、その誤差を逐一、帯域管理部４３に伝える。
【００３５】
帯域管理部４３では、その受け取った帯域誤差を全てのキュー３１−１〜３１−ｎに対して管理し、帯域誤差テーブル４３Ａと受け取った帯域誤差を比較し、帯域誤差テーブル４３Ａに設定されている複数の帯域誤差閾値のどれを上回ったか、または、下回ったかを判別し、その帯域誤差情報を帯域制御信号送出部４４に送る。
【００３６】
図８に、帯域誤差テーブル４３Ａの一実施例を示す。帯域誤差テーブル４３Ａは、キュー毎に複数（α個）の帯域誤差閾値が帯域誤差番号と共に登録されている。帯域管理部４３では、各キューの帯域誤差を各キュー毎に設定された複数の帯域誤差閾値を比較し、どの帯域誤差番号を上回った／下回ったかを帯域制御信号送出部４４に伝えている。
【００３７】
図８では、全てのキューに帯域誤差閾値をｂ個設定している場合の内容を示しているが、帯域誤差は一部のキューにのみ設定できる形態（一部のキューには帯域誤差閾値の設定がない形態）でもよい。また、各キュー毎に設定できる帯域誤差閾値の個数が違っていたり、適宜変更できる形態でもよい。また、帯域誤差テーブルの内容はユーザが設定できる形態でもよいし、はじめから固定的に割り当てられている形態でもよい。
【００３８】
帯域制御信号送出部４４では、帯域管理部４３から受け取った帯域誤差情報を基に、帯域制御信号を生成する。図９は帯域制御信号送出部４４の一実施例の詳細ブロック図を示す。同図中、帯域制御信号格納部８１−１〜８１−ｎそれぞれでは、キュー３１−１〜３１−ｎそれぞれからの帯域誤差情報を受け取り、それに対応する帯域制御信号と帯域制御信号タイマ値を帯域制御信号テーブル４４Ａから取り出し、帯域制御信号を帯域制御信号生成部８２に伝える。また、内部にタイマを内蔵し、帯域制御信号を取り出した時点からタイマを作動させ、タイマ値が帯域制御信号タイマ値を越えたら、受け取った帯域制御信号を消し（全ビット０にする）、それを新たな帯域制御信号として帯域制御信号生成部８２に伝える。
【００３９】
図１０に帯域制御信号テーブル４４Ａの一実施例の内容を示す。ここでは、全てのキューに帯域誤差がｂ個設定されている上述の形態を示している。図中のＢＣｐ−ｑ−ｒは、キューｐの帯域誤差番号ｑを越えたとき他のキュー制御部のキューｒに設定する帯域の値を示す。また、ＴＣｐ−ｑは、取り出す帯域制御信号が有効であるタイマ値を表す。
【００４０】
次に、図９に示す帯域制御信号生成部８２では、各キューの帯域誤差状況によって得られた帯域制御信号を帯域制御信号格納部８１−１〜８１−ｎから受け取り、そのｎ種類の制御信号のｋ番目（１≦ｋ≦ｎ）の信号を取り出し、その中でもっとも帯域値の小さいものを、他のキューｋの帯域制御信号として送出する。最も小さい帯域値を取ることで、それぞれのキューの状態によって設定される帯域制御情報を全て反映することができる。
【００４１】
本実施例では、帯域誤差と帯域誤差の設定値である帯域誤差閾値との比較から、帯域制御信号を生成しているが、前述のデキュー制御信号やデキュー廃棄制御信号の内容もテーブルに追加し、これらの制御信号も送出できるようにしても良い。また、これら３種類のうちの１部分のみ設定できる形態でも構わない。
【００４２】
上記では、帯域制御信号が各キューに設定する帯域をテーブル内に直接指定しているが、帯域制御信号を受信するキュー制御部に、帯域誤差と設定する帯域の対を別途テーブルに持ち、送信する側としてはそのテーブルのどの項目を参照するといった間接的な情報を送信するといった形態でもよい。
【００４３】
図４において、送出された制御信号（デキュー制御信号、デキュー廃棄制御信号、帯域制御信号）を受信し、その制御信号を基に優先制御、帯域制御の変更を実現する部分が帯域設定部４２、デキュー廃棄部５１、スケジューラ部６１である。
【００４４】
帯域設定部４２においては、受信した帯域制御信号（キュー３１−１〜３１−ｎのｎ種類）を受け取り、対応する帯域計算部４１−１〜４１−ｎに送る。また、帯域制御信号を何も受けていないときは、最初に設定されている帯域を送る。これにより、受信した帯域制御信号を基に帯域制御を変更することが可能となる。なお、最初に設定されている帯域はユーザから設定できてもよいし、最初から固定的に割り当てられていてもよい。
【００４５】
デキュー廃棄部５１−１〜５１−ｎそれぞれにおいては、デキュー廃棄信号のｋビット目（１≦ｋ≦ｎ）を受け取り、デキューされてきたデータの宛先を見て、その宛先からのＳＴＯＰ信号（ＳＴＯＰ信号は装置内スイッチから来ている信号）を受信しているときで、かつ、デキュー廃棄信号のｋビット目が値１ならば当該データを破棄し、破棄したことをスケジューラ部６１に伝える。また、デキュー廃棄信号のｋビット目が値０であるときは、ＳＴＯＰ信号が解除されるまで待ち、解除後に当該データをそのままスケジューラ部６１に伝送する。なお、当該データを送り出す宛先からのＳＴＯＰ信号を受信していないときは、デキュー廃棄信号の内容に関わらず、そのまま当該データをスケジューラ部６１に伝送する。これにより、受信したデキュー廃棄制御信号を基に、デキューの際に廃棄する、または、廃棄しないを変更することが可能となる。
【００４６】
スケジューラ部６１では、自らのキュー制御部がもつスケジューリングアルゴリズムに従い、デキューするキューに対してデキュー要求をだし、データを受け取って装置内スイッチに送る。このとき、受信したデキュー制御信号のｋビット目（１≦ｋ≦ｎ）が値１であると、キュー３１−ｋに対してスケジューリング処理を行わない（キュー３１−ｋをスケジューリングの対象から外す）。これにより、デキュー制御信号の内容を基に、各キュー毎にデキューを行うか、行わないかを変更することが可能となる。
【００４７】
次に、図３の制御信号用スイッチ２６の構成であるが、デキュー制御信号、デキュー廃棄制御信号（それぞれｍ種類）は、各ビット毎に論理和を取り、全てのキュー制御部２４ａ〜２４ｘに送られる。これによって、複数のキュー制御部間で、設定された複数の制御情報を全て反映することができる。
【００４８】
また、キュー３１−ｋ（１≦ｋ≦ｎ）の帯域制御信号（ｍ種類）は、それぞれにおいて値を比較し、最も小さい値の帯域をキュー３１−ｋの帯域制御信号として全てのキュー制御部２４ａ〜２４ｘに送られる。これによって、キュー制御部間で、設定された複数の制御情報を全て反映することができる。
【００４９】
なお、上記説明では、制御信号を常に受け取り、他のキュー制御部に逐一その情報が反映される形態となっているが、キュー制御部で制御情報が変更になった時のみ、新たな制御信号情報をパケットのようなひとまとめのデータとして送信し、それらを別のキュー制御部にスイッチングする形態を取ってもよい。また、キュー制御部間に制御信号用スイッチ２６を介さず、直接、キュー制御部間を接続する形態でもよい。
【００５０】
図１１は、本発明の中継装置を適用したネットワークシステムの一実施例のシステム構成図を示す。図１１において、中継装置１００には３つの部署Ａ，Ｂ，Ｃのネットワーク１１０，１２０，１３０と、全体で管理しているｆｔｐサーバ１４０と、ｆｔｐサーバを遠隔から管理する端末１５０とがつながっているものとする。また、各部には部内で１台ずつｈｔｔｐサーバ１１１，１２１，１３１を立ち上げているものとする。
【００５１】
このとき、中継装置１００は内部に１ポート毎に１つのキュー制御部をもち、それらキュー制御部には以下のような設定がなされているものとする。
（フロートキューの割り振り）
１．ｆｔｐサーバ管理用の端末１５０からのフローは全て高優先のキューに割り当てる
２．ｆｔｐのフローは中優先のキューに割り当てる
３．ｈｔｔｐや他のフローは低優先のキューに割り当てる
（各キューの帯域設定）
１．中優先のキューの帯域は５０Ｍｂｐｓ
２．低優先キューの帯域は１００Ｍｂｐｓ
３．高優先キューの帯域は特に設定しない
（閾値の設定）
１．高優先のキューには２つのキュー長の閾値１，２を設定、閾値１を越えたときは中優先または低優先のキューからのデキューを少しの間止め（閾値を下回ったときは解除）、閾値２を越えたときは閾値２を下回るまで中優先または低優先のフローを止める
２．中優先のキューには帯域誤差の２つの閾値を設定、閾値１を越えたとき中優先の帯域を４０Ｍｂｐｓ、低優先の帯域を５０Ｍｂｐｓとし、閾値２を越えたとき中優先の帯域を３０Ｍｂｐｓ、低優先の帯域を１０Ｍｂｐｓ（閾値２を下回ったときは閾値１越えの設定となり、閾値１を下回ったときは当初の設定に戻る）とする
３．低優先のキューはキュー長閾値を１つ設定、閾値を越えたときに低優先からのデキュー廃棄を設定する（閾値を下回ったときは解除）
以上のような設定をした場合、部署Ａ，Ｂ，Ｃからのｆｔｐサーバヘのアクセス量が多いとき、ｆｔｐサーバ１４０を管理する端末１５０からの通信が滞る（高優先キューにデータが溜まる）ような状態のとき、中継装置１００では他のキュー制御部の中優先または低優先フローを止めることで、ｆｔｐ通信が多い時でも遠隔からｆｔｐサーバ管理を滞りなく行うことができる。
【００５２】
また、サーバ管理用に流すデータはそれほど多くないので、キューに溜まるような状況は一時的である。そのため、中優先または低優先のキューからのデキューを少しの間だけ止めることで、高優先キューの閾値を下回るよりも早く中優先または低優先のキューからのデキューを再開することができる。これは、高優先に溜まるフローが一時的なので、中優先または低優先のキューからのデキューを再開させても高優先に再びフローが溜まるといった状況はほとんど起こらないからである。そのため、デキューを止めることによる通信停止状態を最小限に抑えることができる。
【００５３】
なお、キュー長閾値を２段階に設定することで、閾値１を越えたとき一時的に中優先／低優先のキューからのデキューを止めてもキュー長の増加を抑えられないといった状況が発生した場合、閾値２を越えたとき中優先または低優先のフローをずっと止めることとなり、結果としてｆｔｐサーバ管理のフローがキュー溢れで廃棄されてしまうといった状況を回避できる。
【００５４】
次に、部署Ａ，Ｂ，Ｃからｆｔｐサーバ１４０ヘのｆｔｐ通信が集中している場合を考える。このとき、ｆｔｐ通信の速度は５０Ｍｂｐｓ設定なので、ｆｔｐサーバ宛の負荷合計は最大１５０Ｍｂｐｓになるが、図１１に示したようにｆｔｐサーバ１４０ヘの回線速度は１００Ｍｂｐｓなので、負荷が大きいときは中優先のキューから５０Ｍｂｐｓの帯域を守れなくなる。また、他のキュー制御部からの低優先のフロー（ｈｔｔｐやその他の通信）によっても、ｆｔｐ通信の帯域に影響を及ぼす。そのため、帯域誤差が大きくなったときに、段階的に（ここでは２段階）帯域を減らすことで、ｆｔｐサーバ１４０ヘの合計負荷を滅らしている。
【００５５】
なお、複数の段階で帯域を減らすことによって、その時の負荷状況に応じた最適に近い帯域での通信が可能となり、回線を有効に使用することができる。また、この処理は送出の帯域のみ変更しており、特定キューのデキューを止めるといった処理とは独立に変更できるので、帯域の変更に伴って特定フローのデキューまで止まるといった不都合は発生しない。
【００５６】
部署Ａ，Ｂ，Ｃからｆｔｐサーバ１４０ヘのｆｔｐ通信が集中している状態では、設定帯域の変更（帯域制御信号の送信）が、中継装置１００の部署Ａ，Ｂ，Ｃにつながっているキュー制御部それぞれから出力される。ここで、最も最近出された帯域制御信号の内容が、そのまま全てのキュー制御部に設定されるような場合では、部署Ａからのｆｔｐ通信だけが一時的に少なくなり、帯域を元に戻す帯域制御信号を送出したとした場合、部署Ｂ，Ｃからのｆｔｐ通信が多くてキューが溜っている状況であるにも拘わらず、帯域が元に戻されてしまうといった不都合が発生する。しかし、本発明の構成では、複数の制御信号を一つにまとめて、最も帯域の少ない設定の制御信号の内容に従う方法を採用しているため、このような不都合は発生しない。
【００５７】
次に、部署Ａからは１００Ｍｂｐｓの帯域全てが部署Ｃのｈｔｔｐサーバヘのアクセスであり、部署Ｂからは部署Ｃへのｈｔｔｐアクセスが９０Ｍｂｐｓで、部署Ａへのｈｔｔｐアクセスが１０Ｍｂｐｓであった場合、部署Ｃのｈｔｔｐサーバ１３１ヘは合計１９０Ｍｂｐｓのアクセスが集中することになるため、部署Ｃ宛の通信は滞ることになる。ここで、中継装置１００の部署Ｂのネットワークにつながっているキュー制御部では、同一のキューに２種類のフローが入っているため、このキューのデキューを止めたり帯域を小さくした場合、部署Ａ宛の通信までキュー溢れによって破棄されることになる。そのため、低優先のキューに設定された閾値を越えたときにデキュー廃棄の設定をすれば、低優先のキューからのデキューはフル性能でデキューできるため、キュー溢れはなくなる。つまり、キュー溢れによって部署Ａ宛の通信まで廃棄されることがなくなる。また、部署Ｃ宛は中継装置内でＳＴＯＰ信号がかかるので、デキュー廃棄設定により廃棄されることもあるが、部署Ａ宛の通信は、回線に余裕があるので破棄されずに通信を行うことが可能となる。
【００５８】
このように、本発明においては、複数のキュー制御部を持たなければキュー制御を行うことが現実的に不可能であるような大規模な中継装置であっても、単一のキュー制御部を持つ装置と同等の優先制御を行うことが可能である。また、キュー制御部間での制御信号に帯域設定に関する内容も入れることで、キュー制御部間での動的な帯域制御も行うことが可能となる。
【００５９】
なお、同様のことを他の方法で行うには、中継装置内のキュー制御部を１つにする必要があるため、大容量の中継装置の場合、装置全体の中継性能を上げられず、大容量をカバーするには複数の機器を用意する必要がある。その場合でも、それら装置間にまたがる通信を行うには、さらに大規模な中継機器を導入する必要があり、その大規模な中継機器を経由するフローに関しては、本発明で示したような優先制御はできない。そのため、コストや唯一性の面で非常に効果的である。
【００６０】
（付記１）  ネットワークに接続される送受信用の複数のポートを持ちネットワーク間でフローの中継を行う中継装置のキュー制御方法において、
一または複数のポートに接続された複数のキュー制御部で前記一または複数のポートからのフローを優先度の異なる複数のキューにエンキューし、また、デキューするキュー制御を行い、
前記複数のキュー制御部からデキューされたフローを装置内スイッチでスイッチングして前記送受信用の複数のポートから送出し、
前記複数のキュー制御部間で相互に制御信号を送受信しキュー制御部間でキュー制御部内の任意のキューに対するキュー制御を行うことを特徴とするキュー制御方法。
【００６１】
（付記２）  ネットワークに接続される送受信用の複数のポートを持ちネットワーク間でフローの中継を行う中継装置において、
一または複数のポートに接続され前記一または複数のポートからのフローを優先度の異なる複数のキューにエンキューし、また、デキューするキュー制御を行う複数のキュー制御部と、
前記複数のキュー制御部からデキューされたフローをスイッチングして前記送受信用の複数のポートから送出する装置内スイッチとを有し、
前記複数のキュー制御部間で相互に制御信号を送受信し複数のキュー制御部間でキュー制御部内の任意のキューに対するキュー制御を行うことを特徴とする中継装置。
【００６２】
（付記３）  付記２記載の中継装置において、
任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しキュー優先制御を変更するための内容を含むことを特徴とする中継装置。
【００６３】
（付記４）  付記２または３記載の中継装置において、
任意のキュー制御部から他のキュー制御部に送信する制御信号は、前記他のキュー制御部内のキューの一部または全部に対しデキューする帯域の設定を変更するための内容を含むことを特徴とする中継装置。
【００６４】
（付記５）  付記３記載の中継装置において、
前記複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し、各キューのキュー長が予め設定されているキュー長閾値を上回ったか、下回ったとき前記制御信号を送信することを特徴とする中継装置。
【００６５】
（付記６）  付記５記載の中継装置において、
前記キュー長閾値は、キュー毎に複数を設定することを特徴とする中継装置。
【００６６】
（付記７）  付記４記載の中継装置において、
前記複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し帯域計算を行ってデキューを促す帯域計算部を有し、
設定された帯域でデキューができなくなったときの誤差が予め設定されている帯域誤差閾値を上回ったか、下回ったとき前記制御信号を送信することを特徴とする中継装置。
【００６７】
（付記８）  付記７記載の中継装置において、
前記帯域誤差閾値は、キュー毎に複数を設定することを特徴とする中継装置。
【００６８】
（付記９）  付記３記載の中継装置において、
前記キュー優先制御を変更するための内容は、所定時間後に解除されることを特徴とする中継装置。
【００６９】
（付記１０）  付記４記載の中継装置において、
前記帯域の設定を変更するための内容は、所定時間後に解除されることを特徴とする中継装置。
【００７０】
（付記１１）  付記３記載の中継装置において、
各キュー制御部は、複数の他のキュー制御部から受信した制御信号の論理演算結果に従って前記キュー優先制御を変更することを特徴とする中継装置。
【００７１】
（付記１２）  付記４記載の中継装置において、
各キュー制御部は、複数の他のキュー制御部から受信した制御信号の論理演算結果に従って前記デキューする帯域の設定を変更することを特徴とする中継装置。
【００７２】
（付記１３）  付記３記載の中継装置において、
前記キュー優先制御を変更するための内容は、前記制御信号を受信したキュー制御部内の各キューのデキューを止める、または、止めないの指示であることを特徴とする中継装置。
【００７３】
（付記１４）  付記３記載の中継装置において、
前記キュー優先制御を変更するための内容は、前記制御信号を受信したキュー制御部内の各キューからのデキューを廃棄する、または、廃棄しないの指示であることを特徴とする中継装置。
【００７４】
【発明の効果】
上述の如く、請求項１に記載の発明は、一または複数のポートに接続され一または複数のポートからのフローを優先度の異なる複数のキューにエンキューし、また、デキューするキュー制御を行う複数のキュー制御部と、複数のキュー制御部からデキューされたフローをスイッチングして送受信用の複数のポートから送出する装置内スイッチとを有し、複数のキュー制御部間で相互に制御信号を送受信し複数のキュー制御部間でキュー制御部内の任意のキューに対するキュー制御を行い、任意のキュー制御部から他のキュー制御部に送信する制御信号は、他のキュー制御部内のキューの一部または全部に対しキュー優先制御を変更するための内容を含むことにより、複数のキュー制御部間で優先制御の調整を行うことができ、中継装置全体として優先制御を行うことができる。
【００７７】
請求項２に記載の発明では、任意のキュー制御部から他のキュー制御部に送信する制御信号は、他のキュー制御部内のキューの一部または全部に対しデキューする帯域の設定を変更するための内容を含むことにより、複数のキュー制御部間で帯域制御の調整を行うことができ、中継装置全体として帯域制御を行うことができる。
【００７８】
請求項３に記載の発明では、複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し、各キューのキュー長が予め設定されているキュー長閾値を上回ったか、下回ったとき制御信号を送信し、また、付記６に記載の発明では、キュー長閾値は、キュー毎に複数を設定することにより、きめ細かな優先制御を行うことが可能となる。
【００７９】
付記７に記載の発明では、複数のキュー制御部は、それぞれのキュー制御部内の一部または全部のキューに対し帯域計算を行ってデキューを促す帯域計算部を有し、設定された帯域でデキューができなくなったときの誤差が予め設定されている帯域誤差閾値を上回ったか、下回ったとき制御信号を送信し、付記８に記載の発明では、帯域誤差閾値は、キュー毎に複数を設定することにより、きめ細かな優先制御を行うことが可能となる。
【００８０】
付記９に記載の発明では、キュー優先制御を変更するための内容は、所定時間後に解除されることにより、キュー優先制御の変更を一時的に行うことができ、その後は通常のキュー優先制御に戻ることができる。
【００８１】
付記１０に記載の発明では、帯域の設定を変更するための内容は、所定時間後に解除されることにより、帯域制御における帯域設定の変更を一時的に行うことができ、その後は通常の帯域設定に戻ることができる。
【図面の簡単な説明】
【図１】従来の中継装置の一例のブロック構成図である。
【図２】従来の中継装置の他の一例のブロック構成図である。
【図３】本発明の中継装置の一実施例のブロック構成図である。
【図４】キュー制御部の一実施例の詳細ブロック図である。
【図５】閾値テーブルの内容の一実施例を示す図である。
【図６】デキュー制御信号送出部の一実施例の詳細ブロック図である。
【図７】デキュー制御信号テーブルの一実施例の内容を示す図である。
【図８】帯域誤差テーブルの一実施例を示す図である。
【図９】帯域制御信号送出部の一実施例の詳細ブロック図である。
【図１０】帯域制御信号テーブルの一実施例の内容を示す図である。
【図１１】本発明の中継装置を適用したネットワークシステムの一実施例のシステム構成図である。
【符号の説明】
１０ａ〜１０ｘ，２０ａ〜２０ｘ  ポート
１２，１２ａ〜１２ｘ，２４ａ〜２４ｘ  キュー制御部
１４  装置内スイッチ
２２ａ〜２２ｘ  フロー識別部
２６  制御信号用スイッチ
２８  装置内スイッチ
３０  エンキュー部
３１−１〜３１−ｎ  キュー
３２  キュー長／閾値管理部
３２Ａ  閾値テーブル
３３  デキュー制御信号送出部
３３Ａ  デキュー制御信号テーブル
４１−１〜４１−ｎ  帯域計算部
４２  帯域設定部
４３  帯域管理部
４３Ａ  帯域誤差テーブル
４４  帯域制御信号送出部
４４Ａ  帯域制御信号テーブル
５１−１〜５１−ｎ  デキュー廃棄部
６１  スケジューラ部
７１−１〜７１−ｎ  デキュー制御信号格納部
７２−１〜７２−ｎ  デキュー廃棄制御信号格納部
７３  デキュー制御信号生成部
８１−１〜８１−ｎ  帯域制御信号格納部
８２  帯域制御信号生成部
【図１】
0003798644.tif 000002
【図２】
0003798644.tif 000003
【図３】
0003798644.tif 000004
【図４】
0003798644.tif 000005
【図５】
0003798644.tif 000006
【図６】
0003798644.tif 000007
【図７】
0003798644.tif 000008
【図８】
0003798644.tif 000009
【図９】
0003798644.tif 000010
【図１０】
0003798644.tif 000011
【図１１】
0003798644.tif 000012