(57)【特許請求の範囲】
【請求項１】
入力データをキューイングする受信側キュー部及び出力データをキューイングする送信側キュー部を備えたキュー制御装置において、
該受信側キュー部の優先制御を行う受信側キュー制御部と、
該送信側キュー部の優先制御を行う送信側キュー制御部と、を有し、
該受信側キュー制御部と該送信側キュー制御部との連携制御として、該送信側キュー制御部が、該送信側キュー部に入力された特定のフローを検出した時、該受信側キュー制御部を制御し、又は該受信側キュー制御部が、該受信側キュー部に入力された特定のフローを検出した時、該送信側キュー制御部を制御することを特徴としたキュー制御装置。
【請求項２】
請求項１において、
該送信側キュー制御部が、該受信側キュー部から送出される該特定のデータフローを禁止するように制御することを特徴としたキュー制御装置。
【請求項３】
請求項１において、
該フローが、該入力データの送信元アドレス、宛先アドレス、送信先ポート番号、受信ポート番号、これらいずれかのプレフィックス、及びプロトコル種別のいずれかで識別されることを特徴としたキュー制御装置。
【請求項４】
請求項１において、
該受信側キュー部が、送信先ポート番号毎にキューイングし、
該送信側キュー部が、該送信先ポート番号毎に設けられていることを特徴としたキュー制御装置。
【請求項５】
請求項１において、
該受信側キュー制御部が、該入力データをフロー毎に優先制御し、
該送信側キュー制御部が、該受信側キュー制御部に対して特定のデータフローの制御を行うことを特徴としたキュー制御装置。
【請求項６】
請求項１において、
該入力データをフロー毎に識別し、該フローの識別子を該入力データに付加するフロー識別部を有し、
該送信側キュー部及び該受信側キュー部の少なくとも一方が、該フロー識別子に基づきキューイングすることを特徴としたキュー制御装置。
【請求項７】
請求項１において、
該制御が行われた後、該送信側キュー制御部及び該受信側キュー制御部のいずれかが、所定時間経過した時、該制御を解除することを特徴としたキュー制御装置。
【請求項８】
請求項１において、
現在の時刻を示す計時部、及び現在の時刻とその時刻に実行する制御との対応関係を示したテーブルをさらに有し、
該送信側キュー制御部及び該受信側キュー制御部の少なくとも一方が、該テーブルに基づいて該制御を行うことを特徴としたキュー制御装置。
【請求項９】
請求項１において、
該送信側キュー制御部及び該受信側キュー制御部の少なくとも一方は、該制御を行うことを指示する複数のトリガ信号を１つの制御信号にまとめて送出することを特徴としたキュー制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キュー制御装置に関し、特に入力データをキューイングする受信側キュー部及び出力データをキューイングする送信側キュー部を備えたキュー制御装置に関するものである。
【０００２】
近年、通信技術の発達に伴い、その情報は音声データや動画画像データ等の多様化及び大容量化された情報を、例えば要求された通信品質に応じて伝送する手段として、一時的にキュー部に情報をキューイング(エンキューイング及びデキューイングを含む）して出力する優先制御が必要になっている。
【０００３】
また、キューイングはデータの大容量化及び多様化に対応していることが要求されている。
【０００４】
【従来の技術】
図12は、従来のキュー制御装置10の構成例(1)を示している。同図には、キュー制御装置10の構成要素であるモジュール21が示されており、通常、大規模なキュー制御装置10は複数のモジュール21で構成され、これらのモジュール21同士がデータ用のバックプレーン81（図１参照）によって相互接続されている。また、各モジュール21には、送信/受信ポート20が接続されている。
【０００５】
この送信/受信ポート20は、物理的には異なる送信ポート20及び受信ポート20で構成されている。
モジュール21は、受信ポート20からの入力データ100をバックプレーン81に送出する入力部（図示せず）と、バックプレーン81からのデータ150を入力して送信ポート20に出力データ160を送出する送信側キュー部60とで構成されている。
【０００６】
受信ポート20からの入力データ100は、モジュール21を経由してバックプレーン81に送出された後、例えば、別のモジュール（図示せず）に入力される。
バックプレーン81からモジュール21に入力されたデータ150は、送信側キュー部60にフロー毎に分類されてエンキューされる。そして、エンキューされたデータ150は、キュー制御部（図示せず）による優先制御で優先順にデータ160としてデキューされ送信ポート20に与えられる。
【０００７】
このような送信側にキュー部60を設けたキュー制御装置においては、回線の状況に応じて優先度の高いフローを送出するという機能は実現できるが、送出する回線の状況が悪い時や、特定の送信ポート20に複数の受信ポート20からのデータが集中した時に、特定若しくは複数の受信ポート20から来る優先度の低いデータの送出を止めるといった精密な優先制御が実現できなかった。
【０００８】
なお、「ポート」というのは、ある物理回線に接続されている受信/送信口、若しくは物理回線上に設定された論理回線に接続されている受信/送信口のことを指し、「受信側ポート」とはポートから受発信する際の受信した側の方を指し、「送信側ポート」とはポートから受発信する際の送信する側の方を指す。
【０００９】
また、「フロー」とは、特定の端末間/特定のネットワーク間で行われている通信や、特定のアプリケーションにおける端末間の通信など、特定の通信（データ）の一連の流れのことを指す。
図13は、従来のキュー制御装置10の構成例(2)を示している。この例のモジュール21は、構成例(1)における送信側キュー部60の代わりに、バックプレーン81からデータ150を入力し送信ポート20にデータ160を与える出力部（図示せず）が設けられ、受信側に、前段にフロー識別部30を有する受信側キュー部34が設けられている。
【００１０】
上述したように、通常、キュー制御装置10はｍ個のモジュール21_1〜21_m（以後、符号21で総称することがある）で構成されている。
キュー部34は、各モジュール21宛毎に（すなわち、送信ポート20宛毎に）、各フローの優先制御するための受信側優先制御キュー部40_1〜40_m（符号40で総称することがある）で構成されている。
【００１１】
受信ポート20からの入力データ100は、フロー識別部30で送信ポート20及びフロー毎に識別されて、それぞれキュー部40の各フローに対応したキューにエンキューされる。
受信側キュー制御部（図示せず）は、各キュー部40からデータを優先順に出力して各送信ポート20（すなわち、各モジュール21）に対応するバックプレーン81に与える。各モジュール21の送信側は、バックプレーン81から自局宛のデータ150を受信し、データ160を送信ポート20に与える。
【００１２】
このような受信側キュー部34を設けたキュー制御装置においては、受信したデータに応じて優先度を判別し、それに応じて送信側にデータを送ることは可能である。
しかしながら、自局の受信ポート20からの入力データ100の優先制御であるため、異なるポート20間にまたがった優先制御を行うために、それぞれの出力ポート毎に優先制御を行うキュー部40_1〜40_mを用意する必要がある。
【００１３】
ここで、設定可能な優先度の数をｎ、送信ポート数をｍとした場合、必要なキューの本数はｎ×ｍとなり、精密な優先制御を行う場合(すなわち、ｎが大きい場合)や、キュー制御装置10が大規模になる場合(すなわち、ｍが大きい場合)は、キューの本数が非常に大きくなるため、実装上現実的ではない。
【００１４】
図14は、従来のキュー制御装置の構成例(3)を示している。この例では、構成例(2)における受信側キュー部34の代わりに、フローの優先制御を行う受信側優先制御キュー部40と、同一送信ポート宛のデータのみをキューイングして出力するキューを有する送信先ポート用キュー部50とが設けられている。
【００１５】
入力データ100は、フロー識別部30で識別され、キュー部40にフロー毎にエンキューされる。キュー制御部（図示せず）は優先順位に従ってキュー部40からデータをデキューしてキュー部50に与える。
キュー部50は、データを送信ポート20毎にエンキューした後、各送信ポート20に対応したバックプレーン81に出力する。
【００１６】
このようなキュー制御装置においては、優先制御を行うキュー部40と送信ポート毎にキューを備えたキュー部50を別々に設けたことにより、必要なキューの本数はｎ＋ｍとなり、精密な優先制御を行う場合や、装置が大規模になる場合においても実装上問題はない。
【００１７】
しかしながら、特定の送信ポートに送出能力以上の出力データが集中した時、該特定の送信ポートに対応するキューからデータがデキューされなくなるか、デキューされたとしても廃棄されることとなり、キュー部40で優先制御されたにも関わらず、キュー部50においてデータの高優先又は低優先が無視されてしまうことになる。
【００１８】
【発明が解決しようとする課題】
上述の如く従来のキュー制御装置の構成例(1)〜(3)においては、受信側若しくは送信側にキュー部を設けることで優先制御を実現していた。また、受信側及び送信側の双方にキュー部を設けた例はあるが、この場合においても、受信側及び送信側キュー制御部が各々独自に優先制御するだけであり、受信側及び送信側キュー部各々に存在する問題点を補完することはできない。
【００１９】
これを解決するために、特開平11-32055号公報においては、複数の方路からの受信データを一時的に記憶する各方路に共通な共通バファの記憶制御を行うバッファ制御装置において、該共通バッファ内に仮想的に受信データを方路別に記憶する。
【００２０】
そして、共通バッファに輻輳状態が発生した場合、各方路毎に受信データの共通バッファへの記憶処理を制限することにより、一部の方路の受信データが他の方路の受信データよりも極端に多く共通バッファに記憶されることを防止している。
【００２１】
しかしながら、一般に大規模なキュー制御装置においては、受信側及び送信側にそれぞれ分離してキュー部を設けることが一般的であり、共通バッファは適用できない。同様に、共通バッファ内の輻輳検出及び受信制御は、それぞれ送信側及び受信側に分離されるため適用できない。
【００２２】
また、この公知例では、技術分野が、特にATM通信における固定長データのバッファリング部に適用するものに限定されている。
従って本発明は、入力データをキューイングする受信側キュー部及び出力データをキューイングする送信側キュー部を備えたキュー制御装置において、送信側及び受信側キュー部全体を連携した優先制御を実現することを課題とする。
【００２３】
【課題を解決するための手段】
上記の課題を解決するため、請求項１に係る本発明のキュー制御装置は、受信側キュー部の優先制御を行う受信側キュー制御部と、送信側キュー部の優先制御を行う送信側キュー制御部とを有し、該受信側キュー制御部と該送信側キュー制御部との連携制御として、該送信側キュー制御部が、該送信側キュー部に入力された特定のフローを検出した時、該受信側キュー制御部を制御し、又は該受信側キュー制御部が、該受信側キュー部に入力された特定のフローを検出した時、該送信側キュー制御部を制御することを特徴としている。
【００２４】
すなわち、該受信側キュー制御部は、該受信側キュー部の優先制御を行い、送信側キュー制御部は送信側キュー部の優先制御を行うと共に、受信側及び送信側キュー制御部は、連携して優先制御を行う。
これにより、該受信側キュー制御部及び該送信側キュー制御部全体がそれぞれの制御に係る情報に基づいて連携して効率の良い優先制御を行うことが可能になり、例えば各キュー部のメモリを有効に用いるができ、以ってデータの廃棄を少なくすることができる。
そして、該送信側キュー制御部が、該送信側キュー部に入力された特定のフローを検出した時、該受信側キュー制御部を制御することにより、送信側で特定のフローとして、例えば、優先順位を変更したいフローを指定し、このフローに対する制御を該受信側キュー制御部に対して行うことができ、データフロー毎に、より精細な優先制御を行うことが可能となり、又は、該受信側キュー制御部が、特定のフローを検出した時、該送信側キュー制御部を制御することにより、該受信側キュー部に入力される特定のフローに対する制御を該受信側キュー制御部側から該送信側キュー制御部に対して行うことができる。
【００２５】
また、該送信側キュー制御部は、該送信側キュー部の所定のキューイング状態を検出した時、該受信側キュー制御部を制御することが可能である。
すなわち、該送信側キュー制御部は、該送信側キュー部のキューイング状態が所定の状態になったとき、該受信側キュー制御部を制御する。
【００２６】
これにより、例えば、該送信側キュー部の現在のキューイング状態が好ましくないとき、これを解消又はより良い状態にすることができる。
【００２８】
また、該受信側キュー制御部は、該受信側キュー部の所定のキューイング状態を検出した時、該送信側キュー制御部を制御することが可能である。
すなわち、該受信側キュー制御部は、該受信側キュー部のキューイング状態が所定の状態になったことを検出した時、該送信側キュー制御部を制御する。
【００２９】
これにより、例えば、該受信側キュー部の現在のキューイング状態を変更することができる。
【００３１】
また、該受信側キュー部及び該送信側キュー部は、それぞれ１つ以上であってもよい。
すなわち、それぞれ１つ以上の該受信側キュー部及び該送信側キュー部を含むことが可能である。また、該受信側キュー部及び該送信側キュー部の個数は同一である必要はない。
【００３２】
また、該送信側キュー制御部は、該所定のキューイング状態としてのデータ長と所定の閾値とを比較し、この比較結果に基づいて該受信側キュー制御部を制御することが可能である。
【００３３】
すなわち、該送信側キュー部が、該送信側キュー部にキューイングされたデータ全体の長さと予め設定された所定の閾値とを比較する。そして、例えばその長さが該閾値を越えた時、該送信側キュー制御部は、該受信側キュー部の優先制御を該長さが該閾値を超えないような優先制御を行うように該受信側キュー制御部を制御する。
【００３４】
これにより、該送信側キュー部が例えばオーバフローする前に、受信側キュー部からのデータ送出を抑止することが可能となる。
また、請求項２に係る本発明では、上記の請求項１に係る本発明において、該送信側キュー制御部は、該受信側キュー部から送出される該特定のデータフローを禁止するように制御することが可能である。
【００３５】
すなわち、該送信側キュー制御部は、該送信側キュー部に特定のフローデータに起因する例えばオーバフローが発生した時、該受信側キュー制御部に対して該特定のフローデータの送出を禁止するような制御を行う。
これにより、オーバフローの発生が解消される。
【００３６】
また、請求項３に係る本発明では、上記の請求項１に係る本発明において、該フローを該入力データの送信元アドレス、宛先アドレス、送信先ポート番号、受信ポート番号、これらいずれかのプレフィックス、及びプロトコル種別のいずれかで識別してもよい。
【００３７】
すなわち、該送信側キュー制御部又は該受信側キュー制御部は、フローを送信元アドレス、宛先アドレス、送信先ポート番号、受信ポート番号、これらのプレフィックス、プロトコル種別のいずれか毎に識別して行うことができる。
これにより、例えば、特定の端末間のフローや、LAN又はWANに送受信されるフロー、及び複数のフローの集まり等を指定することができる。
【００３８】
また、該送信側キュー制御部に複数の閾値を持たせることができる。
これにより、該制御を多段階に設定することが可能となり、より精細な制御が可能となる。
【００３９】
また、請求項４に係る本発明では、上記の請求項１に係る本発明において、該受信側キュー部が、送信先ポート番号毎にキューイングし、該送信側キュー部を該送信先ポート番号毎に設けることが可能である。
すなわち、該送信先ポート番号毎に設けられた送信側キュー部において、例えば、該番号の送信先ポートに輻輳が発生した場合、該送信側キュー制御部は、受信側キュー制御部に対して該受信側キュー部から当該送信先ポート番号に対応したデータフローを抑止する優先制御を行うように制御する。
【００４０】
これにより、送信ポート毎の優先制御を送信側及び受信側キュー制御部で連携して行うことが可能となり、該送信先ポート番号の送信ポートにおける輻輳の発生を無くすことができる。
また、請求項５に係る本発明では、上記の請求項１に係る本発明において、該受信側キュー制御部が、該入力データをフロー毎に優先制御し、該送信側キュー制御部が、該受信側キュー制御部に対して特定のフローの制御を行うことができる。
【００４１】
すなわち、該送信側キュー制御部は、該受信側キュー部からの該特定フローデータの送出を抑止するように該受信側キュー制御部を制御する。
これにより、該送信側キュー部で発生した例えば特定のフローデータのオーバフローを、受信側キュー制御部に対する制御により減少又は無くすことが可能となる。
【００４２】
また、請求項６に係る本発明では、上記の請求項１に係る本発明において、該入力データをフロー毎に識別し、該フローの識別子を該入力データに付加するフロー識別部を有し、該送信側キュー部及び該受信側キュー部の少なくとも一方は、該フロー識別子に基づきキューイングすることができる。
【００４３】
すなわち、該フロー識別部は、該入力データにそれが属するフローを識別する識別子を例えばヘッダとして付加する。該送信側キュー部及び該受信側キュー部の少なくとも一方は、該識別子に基づき該データをフロー毎に分類してキュー部の所定のキューにキューイングする。
【００４４】
これにより、データをフロー毎にキューイングすることが容易になる。
また、請求項７に係る本発明では、上記の請求項１に係る本発明において、該制御が行われた後、該送信側キュー制御部及び該受信側キュー制御部のいずれかが、所定時間経過した時、該制御を解除することが可能である。
【００４５】
すなわち、該送信側キュー制御部が、例えば特定のフローデータを抑止する制御を行うように該受信側キュー制御部を制御する。この後、所定の時間が経過した時、該送信側キュー制御部は、該受信側キュー制御部の制御を解除する。また、受信側キュー制御部は自律的に上記のように抑止していた優先制御を解除してもよい。
【００４６】
これにより、該特定の制御を解除するための時期を検出して制御を行う必要がなくなる。
また、請求項８に係る本発明では、上記の請求項１に係る本発明において、現在の時刻を示す計時部、及び現在の時刻とその時刻に実行する制御との対応関係を示したテーブルをさらに有し、該送信側キュー制御部及び該受信側キュー制御部の少なくとも一方は、該テーブルに基づいて該制御を行うことが可能である。
【００４７】
すなわち、該送信側キュー制御部又は該受信側キュー制御部において、現在の年、月、週、及び日等を含めた時刻に対応した制御を該テーブルに基づいて行う。
これにより、時刻に対応した詳細な制御が可能となる。
【００４８】
また、請求項９に係る本発明では、上記の請求項１に係る本発明において、該送信側キュー制御部及び該受信側キュー制御部の少なくとも一方は、該制御を行うことを指示する１つの制御信号にまとめて送出することができる。
すなわち、該送信側キュー制御部及び該受信側キュー制御部の少なくとも一方は、該制御を行うために複数のトリガ信号を１つの制御信号として該受信側キュー制御部に送出する。
【００４９】
これにより、最新のトリガ信号で古いトリガ信号を無効にすること無く複数の制御トリガ信号を含めた制御信号を送出することが可能になる。
また、該受信側キュー制御部が、該送信側キュー制御部からの制御信号を受けた時、該受信側キュー部の優先制御を行うことが可能である。
【００５０】
すなわち、該受信側キュー制御部は、該送信側キュー制御部からの制御信号を受信した時、該制御信号が指定する該受信側キュー部の優先制御を行うことができる。
また、該制御で優先制御方式を指定することが可能である。
【００５１】
これにより、該送信側キュー制御部は、該送信側キュー部の例えばキューイング状態によって、受信側の優先制御方式を変更することが容易になる。
また、該制御信号に該制御信号を送出した送信側キュー制御部を示す情報を含ませることができる。
【００５２】
これにより、例えば、該制御信号を送出した送信側キュー制御部に対応する送信側キュー部へのデータのみの送出の優先制御を行うことが可能になる。
さらに、該受信側キュー部が、データフローの優先制御を行う受信側優先制御キュー部及び送信先ポート番号毎にキューイングする送信先ポート用キュー部の少なくとも一方で構成され、該受信側キュー制御部を両キュー部をそれぞれ制御する制御部の少なくとも一方で構成することが可能である。
【００５３】
これにより、図14の構成例(3)で述べたように、キューの個数を少なくすることが可能となる。
【００５４】
【発明の実施の形態】
図１は、本発明に係るキュー制御装置の実施例(1)を示しており、この実施例では、送信/受信ポート20_1〜20_m（以後、符号20で総称することがある）にそれぞれ接続されたモジュール21_1〜21_mで構成されている。モジュール21は、制御信号用バックプレーン80及びデータ用バックプレーン81で共通に接続されている。
【００５５】
各モジュール21は、受信側及び送信側にキュー部を有しており、受信側の構成は図14に示した従来の構成例(3)と同じあり、送信側の構成は図12に示した従来の構成例(1)と同じである。
各モジュール21の送信先ポート用キュー部50に含まれる各キューの出力端子は、対応する送信ポート20の送信側キュー部60の入力端子にバックプレーン81を経由して接続されている。
【００５６】
また、送信側キュー制御部（図示せず）からの制御信号104は、バックプレーン80を経由して各モジュール21の受信側優先制御キュー部40及び送信先ポート用キュー部50をそれぞれ制御する受信側優先制御キュー制御部及び送信先ポート用キュー制御部（共に図示せず）に接続されている。
【００５７】
以下に、本実施例における概略的な動作を説明する。フロー識別部30は、受信ポート20からの入力データ100のフローを識別してフロー番号及び送信先ポート番号を入力データ100に付加する。
キュー部40は、ユーザが予め設定したフロー番号とキュー番号との対応テーブルを有し、データに付加されたフロー番号に対応するキュー番号のキューにデータを割り振ってエンキューする。以後、キュー部40で区別できる優先度、すなわち、キュー部40に存在するキューの本数はｎとする。
【００５８】
そして、キュー部40は、特定のポリシーに従って各キューからデータをデキューすることで優先制御を行う。なお、どのようなポリシーに従ってデキューするかは種々の従来技術を用いることができるので説明は省略する。
キュー部40からデキューされたデータは、キュー部50に格納される。キュー部50は、送信ポート20毎に対応するキューを1本持っており、例えば、送信ポート20_2へ送信すべきデータは全て送信ポート20_2に対応したキューにエンキューされる。このエンキューイングは、フロー識別部30でデータに設定された送信先ポート番号に基づいて行う。すなわち、送信先ポート番号＝ｋの場合、ｋ番目のキューにエンキューする。
【００５９】
以後、装置内の送信ポート数はｍ個であるとする。すなわち、キュー部50に存在するキューはｍ本とする。
キュー部50のｋ（＝１〜ｍ）番目のキューにエンキューされたデータは、バックプレーン81を介して送信先ポート番号ｋに対応したモジュール21_kに送られ、キュー部60にエンキューされる。
【００６０】
キュー部60は、受信側のキュー部40と同様に、ユーザから予め設定されたフロー番号とキュー番号との対応テーブルを有し、受信側のフロー識別部30で付加されたフロー番号に対応するキュー番号のキューにデータをエンキューする。以後、送信側キュー部60で区別できる優先度ｐであるとき、キュー部60に存在するキューの本数はｐである。
【００６１】
そして、割り振られたキューを特定のポリシーに従ってデキューすることで優先制御を行う。この優先制御には種々の従来技術があることは上述したとおりである。
次に、送信側キュー制御部が送出する制御信号104について述べる。制御信号104は、それぞれ受信側のキュー部40及び50を制御するため受信側キュー送信抑止信号105及び送信先ポート送信抑止信号106の2種類の信号を含んでいる。
【００６２】
送信先ポート送信抑止信号106はｍビットの信号であり、ビット１〜ｍは、それぞれ受信ポート20_1〜20_m（従って、モジュール21_1〜21_m）からのデータをキュー部50において抑止するための制御内容を含んでいる。すなわち、抑止信号106のｋ番目のビットが、モジュール21_kに送信される制御内容である。
【００６３】
例えば、抑止信号106のビット２＝“１”は、モジュール21_2からのデータ送出を抑止することを意味し、次に述べる受信側キュー送信抑止信号105の制御内容に従ってデータの送出抑止の制御が行われる。一方、ビット２＝“０”は、抑止信号105の制御内容に関わらずモジュール21_2からのデータ送出を許可することを意味する。
【００６４】
なお、各モジュール21に対応した制御内容を示すビットの数を複数個にして、データ送出の抑止制御をより精細に行ってもよい。
受信側キュー送信抑止信号105は、ｍ個の各ポート20（モジュール21）にそれぞれ対応したｎビットから成るｍ行×ｎ列の信号であり、この行列の各要素は１ビットである。
【００６５】
すなわち、ｋ行目のｎビットが、モジュール21_kに対する抑止信号105である。このｎビットの中のｊ番目のビットが、キュー部40に含まれるｎ個のキューの中のｊ番目のキューに対する制御内容を含んでいる。
例えば、抑止信号105におけるｋ＝２行目でｊ＝３列目のビットが“１”である場合、モジュール21_2の受信側キュー制御部は、抑止信号105の中から自局宛の２行目のｎ個のビットを受信し、このｎ個のビットの３番目のビットが“１”であることから、３番目のキューからのデータ送出を抑制（データの送出停止）する指示がなされていることを知る。
【００６６】
そして、上述した抑止信号106の２番目のビット＝“１”であるとき、３番目のキューからのデータ送出を停止する。一方、２番目のビット＝“０”であるときは、抑止信号106の制御内容に関わらずデータの送出を行う。
これにより、送信側キュー制御部が、受信側キュー制御部及び送信先ポート用キュー制御部に対して制御信号を送り、キュー部40及びキュー部50からのデータの送出を制御することを実現している。
【００６７】
なお、本実施例においては、抑止信号105の各要素のビット数を１としたが、これを複数ビットとすることにより、１つのキューに対して複数の制御内容を割り当ててもよく、例えば、各キューに複数の閾値を設け、該制御内容により閾値を選択することにより、より精細な制御を行うこともできる。
【００６８】
また、各モジュール21の受信側優先制御キュー部34に含まれるキューの個数は同数でなくてもよい。
また、本実施例では、モジュール化しているため、受信側優先制御キュー部40と送信先ポート用キュー部50で構成された受信側キュー部34と該送信側キュー部60との個数は同一であるが、受信側キュー部34及び送信側キュー部60の個数は、それぞれ１つ以上であれば、互いに異なった個数であってもよい。
【００６９】
また、本実施例では、受信側キュー部34として受信側優先制御キュー部40及び送信先ポート用キュー部50を設けたが、キュー部40及びキュー部50のいずれか一方のみであってもよい。
図２は、図１に示したフロー識別部30の動作例を示している。この識別部30は、データパケット（入力データ）100の送信元/宛先アドレスや受信ポート番号等の情報から、一意に割り当てられたフロー番号及び送信先のアドレスに基づいて割り出した送信先ポート番号を、ヘッダ部103に付加したデータパケット101を出力する。
【００７０】
ヘッダ部103はｍビットの廃棄用ビット103_1、送信先ポート番号103_2、及びフロー番号103_3の識別子を格納するフィールドを有している。識別部30は、ｍビットの廃棄用ビット103_1の情報が格納できるフィールドを確保するだけで、その内容には関与しない。
【００７１】
なお、フロー番号及び送信先ポート番号の割り出し方式は、種々の従来技術を用いることができる。
また、入力データ100は、ATMセルのような固定長データに限らず可変長であってもよい。
【００７２】
また、データに付加された識別子は、受信側及び送信側における識別部の少なくとも一方で用いることができる。
図３は、受信側優先制御キュー部40と受信側優先制御キュー制御部38の実施例を示している。キュー部40はｎ個のキュー42_1〜42_n（符号42で総称することがある）で構成されており、キュー制御部38は、識別部30（図１参照）からデータ101を受信しキュー部40に接続されたフロー番号/キュー番号識別部41、キュー部40に接続されたデキュー制御部43_1〜43_n（符号43で総称する）、これらのデキュー制御部43に接続されたデキュー部44及び廃棄用ビット生成部45で構成されている。
【００７３】
デキュー部44は、出力信号を送信先ポート用キュー制御部36に与え、廃棄用ビット生成部45は、モジュール21_1〜21_mからそれぞれ受信側キュー送信抑止信号105_1〜105_m（図１において、符号105で総称されたｍビットの信号）を受信する。
【００７４】
フロー番号/キュー番号識別部41は、ユーザが予め設定したフロー番号とキュー番号との対応テーブルを有し、データ101をフロー識別部30で付与されたフロー番号に対応した番号のキュー42へ割り振る。
デキュー制御部43は、デキュー部44からデキュー信号140を受け取ると、キュー42から1つデータ141をデキューして、デキュー部44に与える。その際、フロー識別部30で付与された廃棄用ビット103_1のフィールドに、廃棄用ビット生成部45から送られている廃棄用ビット信号107の内容を入れる。
【００７５】
ここで、デキュー部44は、実装された優先制御に基づいて、各キュー42からデキュー信号140を出力する。
なお、デキュー部44に複数の優先制御方式を実装しておき、送信側キュー制御部からの制御信号でその方式を選択してもよい。
【００７６】
図４は、廃棄用ビット103_1（図２参照）を生成する廃棄用ビット生成部45の実施例を示している。この生成部45は、各モジュール21から送られて来た抑止信号105_1〜105_mをそれぞれ受信する受信キュー送信抑止信号生成部47_1〜47_m（符号47で総称することがある）と、これらの受信キュー送信抑止信号生成部47からのビット信号を一時記憶してデキュー制御部43に出力するキュー廃棄用ビットレジスタ46_1〜46_n（符号46で総称することがある）とで構成されている。
【００７７】
動作において、信号生成部47_kは、モジュール21_kから送られて来た抑止信号105_kのjビット目の制御内容を、廃棄用ビットレジスタ46_jのビットkに格納する。これにより、モジュール21_kから送られて来た抑止信号105_kのnビット信号の各ビットが示す制御内容が、廃棄用ビットレジスタ46のkビット目に反映されたことになる。
【００７８】
すなわち、受信側優先制御キュー部40（図３参照）において、各モジュール21の送信側キュー部60からのそれぞれの抑止信号105に含まれる優先制御内容が、廃棄用ビット生成部45において、それぞれ送信先ポート用キュー部50に送られるデータの廃棄用ビット103_1の中に反映されるたことになる。
【００７９】
従って、抑止信号105をトリガ信号として、受信側優先制御キュー部の優先制御が実行されることになる。
図５は、送信先ポート用キュー部50及び送信先ポート用キュー制御部36の実施例を示している。
【００８０】
キュー制御部36は、キュー制御部38から信号を受信するフロー番号/キュー番号識別部51と、この識別部51に接続され、モジュール21から抑止信号106を受信するエンキュー制御部52_1〜52_m（符号52で総称することがある）とで構成されている。
【００８１】
キュー部50は、エンキュー制御部52_1〜52_mにそれぞれ接続され、バックプレーン81を介してそれぞれモジュール21_1〜21_mにデータを出力するキュー53_1〜53_m（符号53で総称することがある）で構成されている。
動作において、識別部51は、フロー識別部30で付与された送信先ポート番号103_2に基づいて対応するキュー53のエンキュー制御部52にデータを割り振る。すなわち、送信先ポート番号＝ｋの場合、エンキュー制御部52_kに割り振る。
【００８２】
エンキュー制御部52_kは、抑止信号106の中のモジュール21_kから送られて来たｋビット目を受信し、その情報に基づいてデータの廃棄の可否を判別する。
すなわち、エンキュー制御部52_kは、抑止信号106のビットｋ＝“０”の場合、廃棄用ビット103_1の値に関係なくキュー53_kにデータをエンキューし、“１”の場合、送られて来たデータに付加された廃棄用ビット103_1のｋビット目を参照し、“１”であれば当該データは破棄する。そうでない場合、キュー53_kにエンキューする。
【００８３】
従って、エンキュー制御部52_kは、廃棄用ビット103_1のｋビット目だけを見て廃棄するか否かの判断をするため、モジュール21_k以外から送られて来た受信側キュー送信抑止信号105の内容に影響されることなく、各モジュール21からの制御信号104(105)が独立に働き、それぞれの廃棄内容に従って適切なデータのみの廃棄が実行できる。
【００８４】
各エンキュー制御部52からキュー53にエンキューされたデータは、バックプレーン81からの送出要求に基づいてデキューされ、バックプレーン81を介してそれぞれの送信先のモジュール21へ送られる。
すなわち、抑止信号106に含まれる特定の送信側キュー制御部に対応するビットをトリガ信号として、送信先ポート用キュー部50の優先制御が実行されることになる。
【００８５】
図６は、送信側キュー部60及び送信側キュー制御部の実施例を示している。
送信側キュー部60は、優先度を区別するためのｐ本のキュー63_1〜63_p（符号63で総称することがある）で構成され、送信側キュー制御部は、概略的に言えば、キューイング制御部、キュー番号制御信号生成部、及びフロー番号制御信号生成部で構成されている。
【００８６】
この内キューイング制御部は、入力データをキュー部60にエンキューした後、所定の優先制御方式に基づいてデータのデキュー制御を行い、キュー番号制御信号生成部は、各キュー63に格納されたデータ長とその閾値との比較結果に基づいて受信側のキュー制御部36及び38に送る制御内容を生成し、フロー番号制御信号生成部は、入力データのフロー番号に基づいて受信側のキュー制御部38及び36に送る制御内容を生成するものである。
【００８７】
キューイング制御部は、フロー番号/キュー番号識別部61、エンキュー制御部62_1〜62_p（符号62で総称することがある）、デキュー制御部64_1〜64_p（符号64で総称することがある）、及びデキュー部65で構成されている。
キュー番号制御信号生成部は、閾値管理部66、閾値トリガイベント発生部67、閾値トリガイベントテーブル管理部68、キュー番号格納テーブル選択部70、及びキュー番号制御信号格納テーブル71で構成されている。この格納テーブル71はキュー制御内容メモリ72_1〜72_pを含んでいる。
【００８８】
フロー番号制御信号生成部は、フロー番号トリガイベント発生部74、フロー番号トリガイベントテーブル管理部75、タイマトリガイベント発生部76、フロー番号格納テーブル選択部77、及びフロー番号制御信号格納テーブル78で構成されている。この格納テーブル78はフロー番号制御内容メモリ79_1〜79_qを含んでいる。
【００８９】
また、両制御信号生成部に共通な構成要素として、時刻管理部69及び制御信号集約部73が設けられている。
次に、データの流れを詳細に説明する。識別部61は、ユーザが予め設定したフロー番号とキュー番号の対応テーブルを有し、フロー識別部30（図１参照）で付与されたフロー番号に基づいてエンキュー制御部62に割り振る。また、その際に読み出したフロー番号を信号122でイベント発生部74へ逐次通知する。
【００９０】
エンキュー制御部62は、データをキュー63にエンキューすると共に、そのキュー63にエンキューしたことを閾値管理部66に通知する。デキュー制御部64は、デキュー部65からデキュー信号142を受け取ると、キュー63から1つデータを取り出してデキューすると共に、そのキュー63からデキューしたことを閾値管理部67に通知する。
【００９１】
デキュー部65は、実装された優先制御方式に基づいて、それぞれのキュー63からデキューしたデータを送信ポート20（図１参照）へ送る。
次に、各種トリガに基づいて制御信号104（受信側キュー送信抑止信号105及び送信先ポート送信抑止信号106）を発生する制御部分の動作を説明する。
【００９２】
本発明のキュー制御装置における送信側キュー制御部の基本的動作は、フロー番号と各キューの閾値の情報に基づいてトリガを発生し、制御信号104を各モジュール21の受信側キュー制御部及び送信先ポート用キュー制御部に送信することである。
【００９３】
時刻管理部69は、内部に時計の機能を有しており、現在時刻が変化する度に現在時刻を信号117及び136でそれぞれテーブル管理部68及び75に通知する。
テーブル管理部75は、フロー番号と現在時刻の内容に基づいて、制御内容とその制御内容の有効時間(タイマ情報)を取り出せるテーブルを保持している。すなわち、現在時刻に応じた制御内容を設定することが可能になっている。
【００９４】
テーブル管理部75は、イベント発生部74からのフロー番号を受けると、そのフロー番号及び現在時刻に対応した制御内容を該テーブルから獲得し、信号124でイベント発生部74に送る。
なお、該テーブルは、ユーザが予め設定することが可能であり、ユーザが新たにフロー番号による制御内容やタイマ情報を設定又は削除したとき、テーブル管理部75は、そのフロー番号を信号126でイベント発生部74に通知する。
【００９５】
イベント発生部74は、トリガを発生させるフロー番号のテーブルを保持しており、テーブル管理部75からのトリガ発生フロー番号信号126で、そのフロー番号をテーブルに登録し、既に登録してあった場合、そのフロー番号を削除する。
イベント発生部74は、識別部61からフロー番号信号122を受信した時、該テーブルにフロー番号が登録されているか否かを検索し、登録されている場合、テーブル管理部75にそのフロー番号を信号123で渡す。
【００９６】
例えば、そのフロー番号がトリガ信号を発生させるものである場合、テーブル管理部75から制御内容信号124と、その制御信号内容が有効な時間を示すタイマ情報125とが返送されて来る。制御内容信号124の制御内容には、抑止信号105及び106のどのビットを“１”又は“０”にするかという情報が含まれている。
【００９７】
イベント発生部74は、フロー番号及び制御内容をそれぞれ信号129及び130でテーブル選択部77に渡し、フロー番号及びタイマ情報を信号127及び128でイベント発生部76に渡す。
イベント発生部76は、信号127及び128を受信した時内部のタイマのカウントを開始し、タイマ情報で与えられた時間までカウントし、その時間が経過した時、受け取ったフロー番号と制御内容をそれぞれ信号132及び133でテーブル選択部77に通知する。
【００９８】
ここで、テーブル選択部77に通知する制御内容は、全て“０”(全ポート/全受信側キューに対して送信を許可する)に設定した固定情報である。これにより、タイマ情報の時間だけ待った後、全モジュール21のキュー部宛てに送信抑止を解除する制御内容を含む信号の送出を指示したことになり、フロー番号による制御内容を送出するトリガ信号が発生した一定時間後に、その制御内容を解除するトリガ信号が送出されることとなる。
【００９９】
テーブル選択部77は、該制御内容を格納テーブル78に格納する。格納する場所は、フロー番号ｋの場合、メモリ79_kに格納する。
以上の動作により、識別部61からのフロー番号信号122に基づくトリガ信号（信号129及び130並びに信号132及び133）がイベント発生部74及び76から発生し、制御内容が格納テーブル78に格納されたことになる。
【０１００】
次に、各キュー63の閾値の情報に基づいて閾値制御のトリガを発生する動作を説明する。
まず、テーブル管理部68は、各キュー毎の閾値情報及び現在時刻に対応した制御内容のテーブルを保持している。すなわち、現在時刻に応じた制御内容を設定することが可能になっている。この制御内容には、抑止信号105及び106のどのビットを“１”又は“０”にするかの情報が含まれていることは制御内容信号124と同じである。
【０１０１】
閾値管理部66は、エンキュー制御部62からのエンキュー情報108とデキュー制御部64からのデキュー情報109に基づいて各キュー63に入っているデータの長さ(以後、キュー長と称する)を管理する。
閾値管理部66は、各キュー毎に多段の閾値が格納されたテーブルを保持しており(本テーブルはユーザから設定可能とする)、各キュー63中のデータ長の変化がある毎に、そのキューに設定されている閾値と比較し、各閾値毎にその閾値を越えたか否か又は下回ったか否かを判定する。
【０１０２】
該閾値を越えたことを判定した時、閾値情報（キュー番号、閾値、及び閾値を越えたこと）をそれぞれ信号111，110，及び112でイベント発生部67に送る。逆に下回った時、閾値情報（キュー番号、閾値，閾値を下回ったこと）をイベント発生部67に送る。
【０１０３】
イベント発生部67は、該閾値情報をそのまま信号115，113，及び114でテーブル管理部68へ送り、テーブル管理部68は、該閾値情報に対応する制御内容が存在するとき、それを信号116で返送する。イベント発生部67は、キュー番号及び制御内容をそれぞれ信号118及び119でテーブル選択部70に送る。
【０１０４】
テーブル選択部70は、イベント発生部67から信号119が送られて来た制御内容を格納テーブル71に格納する。格納する場所は、キュー番号ｋのとき、メモリ72_kに格納する。
以上の動作で、閾値情報に基づいた制御内容を格納テーブル71に格納したことになる。
【０１０５】
次に、フロー情報に基づいた制御内容及び閾値情報に基づいた制御内容から、各モジュール21の受信側キュー制御部に送信する制御信号104（抑止信号105及び106）を生成する動作を説明する。
格納テーブル71及び78に格納されている情報は、常に制御信号集約部73に送られる。この集約部73は、信号121_1〜121_p及び135_1〜135_qで送られて来た制御内容（抑止信号105及び106のどのビットを“１”又は“０”にするかを指定する情報）の論理和をとり、抑止信号105及び106として各モジュール21の受信側キュー制御部に送出する。
【０１０６】
すなわち、集約部73は、次の機能を有している。
(1)送信先ポート送信抑止信号106については、ｍビットの信号の各ビット毎に論理和をとる。
(2)受信側キュー送信抑止信号105については、各送信/受信ポート毎にｎビットの信号であり計ｍ×ｎビット信号の各ビット毎に論理和をとる。
【０１０７】
これらにより、キュー番号及びフロー番号毎に発生した制御内容が、それぞれ別々に格納テーブル71及び78に保存され、それらの制御内容は集約部73で包含されて受信側に送出されることになる。
なお、実施例(1)においては、送信側キュー制御部が、制御信号104を受信側キュー制御部及び送信先ポート用キュー制御部に送信して制御を行っている。
【０１０８】
これとは逆に、受信側キュー制御部及び送信先ポート用キュー制御部の少なくとも一方に該送信側キュー制御部と同様な機能を付加し、受信側キュー制御部又は送信先ポート用キュー制御部から制御信号を送信側キュー制御部に与えることも可能である。
【０１０９】
これにより、例えば、受信側キュー部で輻輳が発生した場合、例えば伝送容量の余裕のある送信側のキュー部で輻輳に関連するフローの優先順位を上げること、送信側のキュー部の閾値を変更して、関連するフローデータを記憶する送信側のキュー部の容量を一時的に増やすこと等の制御を行って、受信側の輻輳を緩和又は無くすことができる。
【０１１０】
図７は、本発明に係るキュー制御装置10の実施例(2)を示している。この実施例では、キュー制御装置10のポート20_1〜20_3にそれぞれハブ91_1〜91_3が接続され、これらのハブ91_1〜91_3にはそれぞれ部署90_1〜90_3に所属する端末装置が接続されて１つのネットワークが構成されている。
【０１１１】
ポート20_1の送信側キュー部60（図１参照）には1つの閾値が設定されており、その閾値を越えた時、ポート20_2からポート20_1に中継されるデータを全て抑止する制御信号104を出し、その閾値を下回った時、ポート20_1に中継される全てのデータ送信抑止を外す制御信号104を出すような設定がなされている。
【０１１２】
このような設定によれば、部署90_2から部署20_1へのデータの送出量が非常に増え、ポート20_1に設定された閾値を越えた場合、部署90_2から部署90_1へのデータ送出が抑制され、部署90_3から部署90_1へのデータが送出できなくなるといった問題が解消される。
【０１１３】
図８は、本発明に係るキュー制御装置10の実施例(3)を示している。この実施例では、キュー制御装置10のポート20にファイルサーバ92が接続され、その他のポートにはサーバ管理マシン及び部署90の端末装置が接続されて、１つのネットワークが構成されている。
【０１１４】
ポート20の送信側キュー部60には2つの閾値S1及びS2が設定されており、閾値S1＜閾値S2とする。ここで、閾値S2を越えた場合、部署90からファイルサーバ92へのデータ送出を抑止し、閾値S1を下回った場合、そのデータ送出抑止を解除するような制御信号104が設定されているものとする。
【０１１５】
また、サーバ管理マシン93は、ファイルサーバ92の管理を遠隔から行う端末であり、部署90からのファイルサーバ92に送出されるデータのフロー番号103_1＝“ａ”と、サーバ管理マシン93からファイルサーバ92に送出されるデータのフロー番号103_3＝“ｂ”を別々に設定している。ポート20の送信側キュー部は、フロー番号“ｂ”のデータが来た時に、部署90からのデータ送信を抑止する信号を送出し、一定時間後に解除されるような設定がなされている。
【０１１６】
このような設定によれば、サーバ管理マシン93から、ファイルサーバ92にメンテナンスのためのデータ（フロー番号“ｂ”）の送信を開始した時に、部署90からファイルサーバ92へのデータ送出は一定時間止められることになる。これによってサーバ管理マシン93からのデータが優先してサーバに送られることとなる。
【０１１７】
サーバ管理マシン93からのデータを優先するだけであれば、送信側キュー部60の優先制御機能だけでも可能であるが、部署90からファイルサーバ92へのデータ通信が非常に多い場合、サーバ92の負荷が上がるため、例えば、ファイルサーバメンテナンス用の通信が優先された場合においても、ファイルサーバ92のサーバ管理マシン93に対するレスポンスが非常に悪くなるか、さらには、サーバ管理マシン93がファイルサーバ92に受け付けられない場合が発生してメンテナンスができなくなる。
【０１１８】
これに対し、本発明のキュー制御装置によれば、フロー番号識別によって一定時間、部署90からの通信を遮断することにより、サーバ92のレスポンスも上がるためメンテナンスが非常に効率良く行える。また、送出抑止の時間をある程度短い時間に設定しておけば、メンテナンス終了後すぐに部署90からの通信も再開できる。
【０１１９】
図９は、本発明に係るキュー制御装置の実施例(4)を示している。この実施例では、キュー制御装置10のポート20にインターネット96が接続され、他のポートには全社WWWサーバ97及びファイアウオール94が接続され、ファイアウオール94には社内ネットワーク95が接続されて１つのネットワークを構成している。
【０１２０】
ポート20の送信側キュー部を通過するデータとして以下の４種類を想定する。
▲１▼社内ネットワーク95からインターネット96に送られる電子メール。
▲２▼社内ネットワーク95からインターネット96に送られるWWW(World Wide Web)通信データ。
【０１２１】
▲３▼社内ネットワーク95からインターネット96に送られるその他のデータ。
▲４▼全社WWWサーバ97からインターネット96に送られるWWWデータ(社外から全社WWWサーバ内のホームページをを閲覧した時のホームページ内容)。
ここで、ポート20の送信側キュー部には以下の4種類の閾値a，b，c，及びd(閾値a＜閾値b＜閾値c＜閾値dとする)が設定されている。
【０１２２】
・閾値a〜閾値b未満の場合、データ▲３▼の送出を抑止。
・閾値b〜閾値c未満の場合、データ▲３▼及び▲２▼の送出を抑止。
・閾値c〜閾値d未満の場合、データ▲３▼，▲２▼，及び▲１▼の送出を抑止。
・閾値d以上の場合、データ▲４▼，▲３▼，▲２▼，及び▲１▼の送出を抑止。
【０１２３】
ここで、WWW通信データ▲２▼は、時刻によって重要度が異なってくる。就業時間帯は、社外の情報収集等を行う部署が、その仕事を遂行する目的でWWW通信を行うため、重要度がある程度高く、かつ該当部署のみがの使用がほとんどである。
逆に、休憩時間(例えば昼の12:00〜13:00)などは、多くの社員が休憩時間を利用してWWWの通信を行うため、WWWの通信量が非常に増える。さらに、休憩時間のアクセスであるため、内容は業務とは関係の薄い場合が多い。
【０１２４】
もし、上記の制御方針によってのみ制御していた場合、就業時間や休憩時間に関係なく、閾値bを下回っている間はWWW通信が行われる。すなわち、休憩時間にWWW通信が集中するような場合、閾値bを下回るとすぐに通信量が増え、閾値aを下回ることがなくなる。それにより、たとえ優先度が低いとはいえ、その他データ▲３▼が全く送信されなくなってしまう。
【０１２５】
そこで、休憩時間は、閾値を以下のように設定する。
・閾値a〜閾値b未満の場合、データ▲２▼の送出を抑止。
・閾値b〜閾値c未満の場合、データ▲２▼及び▲３▼の送出を抑止。
・閾値c〜閾値d未満の場合、データ▲２▼，▲３▼，及び▲４▼の送出を抑止。
・閾値d以上の場合、データ▲２▼，▲３▼，▲４▼，及び▲１▼の送出を抑止。
【０１２６】
このように設定することで、休憩時間はWWWアクセスがまず制限されることとなり、その他のデータが全く送出されることがなくなるといった状態を回避することができる。
【０１２７】
図８の実施例(3)及び図９の実施例(4)において、
送信側キュー部が複数の制御信号104を送出し、受信側キュー部が複数の制御信号104を受信する。今、制御信号104の内容に関係ない制御を行った場合、上記の実施例(3)及び(4)で述べた機能が実現できない。
【０１２８】
例えば、実施例(4)において、閾値aを超えた時と閾値bを超えた時で異なった制御を行っているが、受信した制御信号の内容に従って、データ送出の優先制御内容を変更する機能がない場合、この制御自身ができなくなってしまう。
しかしながら、本発明のキュー制御装置においては、受信側キュー部は各制御信号104を受信した時、その制御信号104の内容に応じて制御内容を変更可能であり、実施例(3)及び(4)で述べた機能を実現することが可能である。
【０１２９】
図10は、本発明に係るキュー制御装置10の実施例(5)を示している。この実施例では、キュー制御装置10のポート20にファイルサーバ92が接続され、他のポートにはハブ91_1及び91_2が接続され、これらのハブ91_1及び91_2には、それぞれプロジェクト90_1及び90_2の端末が接続されて、１つのネットワークを構成している。
【０１３０】
ポート20の送信側キュー部40において、プロジェクト90_1からの通信はキュー42_1に、プロジェクト90_2からの通信はキュー42_2に格納されるものとし、キュー42_1とキュー42_2の間に優先順位はないものとする（図３参照)。
ここで、各キュー42_1及び42_2には閾値が設けられており、データ長がキュー42_1の閾値を越えた時はプロジェクト90_1からのデータ通信を抑止し、キュー42_2の閾値を越えた時はプロジェクト90_2からのデータ通信を抑止する。
【０１３１】
今、プロジェクト90_1とプロジェクト90_2の双方からファイルサーバへのデータ量が増え、キュー42_1の閾値をデータ長がオーバーした直後にキュー42_2の閾値もオーバーしたとする。
この時、2つの制御信号104がわずかな時間差で発生しているが、新しい制御信号によって古い制御信号の内容が無効になってしまう場合、キュー42_2の閾値をオーバーすることによってキュー42_1の閾値オーバーで送出した制御信号104が無効になってしまう。そのため、プロジェクト90_1からの通信を抑止しなければならないにも関わらず、プロジェクト90_1からの通信が再開されてしまい、不公平が生じてしまう。
【０１３２】
しかしながら、本発明のキュー制御装置では、複数の制御信号104が同時に発生した場合においても、それらをまとめた制御信号104を発生することが可能であり、上記の問題点は回避できる。
図11は、本発明に係るキュー制御装置10の実施例(6)を示している。この実施例では、キュー制御装置10のポート20_1，20_2，及び20_3に、それぞれハブ91、WWWサーバ97、及びファイルサーバ92が接続され、ハブ91にはさらに部署90に所属する端末が接続されて、１つのネットワークを構成している。
【０１３３】
部署90からWWWサーバ97へのアクセスが増えた時は、ポート20_2の送信側キュー部からポート20_1に対して送信抑止の制御信号104を送る設定がなされ、ファイルサーバ92へのアクセスが増えた時は、ポート20_3の送信側キュー部からポート20_1に対して送信抑止の制御信号104を送る設定がなされている。
【０１３４】
今、WWWサーバ97へのアクセスが集中したため、部署90からのアクセスを抑止する制御信号104が送出されたとする。ここで、送出された制御信号104はあくまでポート20_2へ送信されるデータのみに対して有効でなければならない。
従って、ポート単位で別々の送信抑止制御ができない場合、全送信側ポートに対して有効になってしまう。
【０１３５】
この結果、部署90は、WWWサーバ97へのアクセス集中により、ファイルサーバ92にもアクセスできなくなってしまう。また、逆に、ファイルサーバ92へのアクセス集中により、WWWサーバ97にもアクセスできなくなってしまう。
しかしながら、本発明のキュー制御装置においては、各送信側ポートから送られて来る制御信号104は、ポート単位に独立して働くため、上記の問題を回避することができる。
【０１３６】
なお、本ネットワーク構成ではサーバが２つしか無いため、従来の優先制御機構でも対処できるが、サーバの数が増えて来て優先制御できる数より多くなった場合には対処ができない。
【０１３７】
【発明の効果】
以上説明したように、本発明に係るキュー制御装置によれば、受信側キュー部の優先制御を行う受信側キュー制御部と送信側キュー部の優先制御を行う送信側キュー制御部とが連携して優先制御を行うように構成したので、多様化及び大容量化したデータの優先制御を効率良くキューイングすることが可能となる。
【０１３８】
また、該送信側キュー制御部及び該受信側キュー制御部の少なくともいずれか一方が、自局の所定のキューイング状態又は特定のフローを検出した時、それぞれ該受信側キュー制御部及び該送信側キュー制御部を制御することにより、例えば、キュー部におけるオバーフローを抑止することが可能である。
【０１３９】
また、本発明に係るキュー制御装置を用いた中継装置によれば、ポート毎に独立した制御信号を各ポートに対して別々に送信可能であるため、該中継装置に複数のサーバが接続された場合においても、そのサーバの持つ特徴に応じた優先制御が可能となる。サーバ毎に異なる優先制御を必要とする時は、サーバ毎に別の中継装置を用意しなければならない従来の場合と異なり、中継装置は1台で実現できるため、料金面や中継装置の設置スペースの面で非常に効率的である。
【図面の簡単な説明】
【図１】本発明に係るキュー制御装置の実施例(1)を示したブロック図である。
【図２】本発明に係るキュー制御装置におけるフロー識別部の出力データのフォーマット例を示した図である。
【図３】本発明に係るキュー制御装置における受信側優先制御キュー制御部の構成例を示したブロック図である。
【図４】本発明に係るキュー制御装置における廃棄用ビット生成部の構成例を示したブロック図である。
【図５】本発明に係るキュー制御装置における送信先ポート用キュー制御部の構成例を示したブロック図である。
【図６】本発明に係るキュー制御装置における主に送信側キュー制御部の構成例を示したブロック図である。
【図７】本発明に係るキュー制御装置を適用した実施例(2)を示したブロック図である。
【図８】本発明に係るキュー制御装置を適用した実施例(3)を示したブロック図である。
【図９】本発明に係るキュー制御装置を適用した実施例(4)を示したブロック図である。
【図１０】本発明に係るキュー制御装置を適用した実施例(5)を示したブロック図である。
【図１１】本発明に係るキュー制御装置を適用した実施例(6)を示したブロック図である。
【図１２】従来のキュー制御装置の構成例(1)を示したブロック図である。
【図１３】従来のキュー制御装置の構成例(2)を示したブロック図である。
【図１４】従来のキュー制御装置の構成例(3)を示したブロック図である。
【符号の説明】
10  キュー制御装置                20，20_1〜m  送信/受信ポート
21，21_1〜m  モジュール           30  フロー識別部
34  受信側キュー部                36  送信先ポート用キュー制御部
38  受信側優先制御キュー制御部    40  受信側優先制御キュー部
41  フロー番号/キュー番号識別部   42_1〜n  キュー
43，43_1〜n  デキュー制御部       44  デキュー部
45  廃棄用ビット生成部
46，46_1〜j〜n  廃棄用ビットレジスタ
47_1〜k〜m 受信キュー送信抑止信号生成部
50  送信先ポート用キュー部        51  フロー番号/キュー番号識別部
52_1〜m  エンキュー制御部         53_1〜k〜m  キュー
60  送信側キュー部                61  フロー番号/キュー番号識別部
62，62_1〜p  エンキュー制御部     63_1〜p  キュー
64，64_1〜p  デキュー制御部       65  デキュー部
66  閾値管理部                    67  閾値トリガイベント発生部
68  閾値トリガイベントテーブル管理部
69  時刻管理部                    70  キュー番号格納テーブル選択部
71  キュー番号制御信号格納テーブル
72_1〜p  キュー制御内容メモリ     73  制御信号集約部
74  フロー番号トリガイベント発生部
75  フロー番号トリガイベントテーブル管理部
76  タイマトリガイベント発生部    77  フロー番号格納テーブル選択部
78  フロー番号制御信号格納テーブル
79_1〜q  フロー番号制御内容メモリ
80  制御信号用バックプレーン      81  データ用バックプレーン
90，90_1〜90_3  部署、プロジェクト
91  91_1〜91_3  ハブ              92  ファイルサーバ
93  サーバ管理マシン              94  ファイアウオール
95  社内ネットワーク              96  インターネット
97  全社WWWサーバ、WWWサーバ      100  入力データ、データパケット
101  データ、データパケット       102  データ
103  ヘッダ部                     103_1  廃棄用ビット
103_2  送信先ポート番号           103_3  フロー番号
104  制御信号
105，105_1〜105_m  受信側キュー送信抑止信号
106，106_1〜106_m  送信先ポート送信抑止信号
107，107_1〜107_n  キュー廃棄用ビット信号
108  エンキュー情報               109  デキュー情報
110  閾値情報信号                 111  キュー番号信号
112  判定結果信号                 113  閾値情報信号
114  判定結果信号                 115  キュー番号信号
116  制御内容信号                 117，136  現在時刻信号
118  キュー番号信号               119  制御内容信号
120_1〜p  制御内容信号            121_1〜p  制御内容信号
122，123  フロー番号信号          124  制御内容信号
125  タイマ情報                   126  トリガ発生フロー番号信号
127  フロー番号信号               128  タイマ信号
129  フロー番号信号               130  制御内容信号
132  フロー番号信号               133  制御内容信号
134_1〜134_q  制御内容信号        135_1〜135_q  制御内容信号
140，142  デキュー信号            141，150  データ
160  出力データ
図中、同一符号は同一又は相当部分を示す。
【図１】
0004293703.tif 000002
【図２】
0004293703.tif 000003
【図３】
0004293703.tif 000004
【図４】
0004293703.tif 000005
【図５】
0004293703.tif 000006
【図６】
0004293703.tif 000007
【図７】
0004293703.tif 000008
【図８】
0004293703.tif 000009
【図９】
0004293703.tif 000010
【図１０】
0004293703.tif 000011
【図１１】
0004293703.tif 000012
【図１２】
0004293703.tif 000013
【図１３】
0004293703.tif 000014
【図１４】
0004293703.tif 000015