(57)【特許請求の範囲】
【請求項１】
異なる優先クラスが割当てられた複数のキューを備える中継装置間をレイヤ２ネットワークによって接続してデータフレームを転送する通信システムのフロー制御方法であって、
前記データフレームの受信側の中継装置は、
前記レイヤ２ネットワークによるリンク確立後に、優先クラスの数を要求する制御フレームを前記データフレームの送信側の中継装置に送信し、前記優先クラスの数を要求する制御フレームに対する応答フレームに含まれる優先クラスの数に基づいて、前記データフレームの送信側の中継装置が有する優先クラスと、自装置が有する各キューに割当てられている優先クラスとを対応付けた優先クラス対応情報を生成し、この優先クラス対応情報に基づいてフロー制御メッセージ内の優先クラス情報に優先クラスを設定し、また、各キュー毎に当該キューに蓄積されたデータフレームのデータ量が予め定められた停止閾値を超えているか否かを判定し、前記データ量が前記停止閾値を超えていると判定した場合には、データ量が停止閾値を超えたキューに割当てられている優先クラスを示す優先クラス情報および停止時間を含むデータフレームの送信停止を通知するフロー制御メッセージを送信し、
前記データフレームの送信側の中継装置は、
前記優先クラスの数を要求する制御フレームを受信した場合には、自装置が有するキューに割当てられている優先クラスの数を含む応答フレームを前記データフレームの受信側の中継装置に送信し、また、前記データフレームの送信停止を通知するフロー制御メッセージを受信するまでは、前記複数のキューに蓄積されているデータフレームを予め定められた優先制御に基づいて前記データフレームの受信側の中継装置に送信し、前記データフレームの送信停止を通知するフロー制御メッセージを受信した場合には、前記データフレームの送信停止を通知するフロー制御メッセージを受信してから当該フロー制御メッセージに含まれる停止時間が経過するまでの間、フロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキューに蓄積されているデータフレームの読み出しを停止すること、
を特徴とするフロー制御方法。
【請求項２】
前記データフレームの受信側の中継装置は、
各キュー毎に当該キューに蓄積されたデータフレームのデータ量が予め定められた再開閾値より小さいか否かを判定し、前記データ量が前記再開閾値より小さいと判定した場合には、データ量が再開閾値より小さいキューに割当てられている優先クラスを示す優先クラス情報を含むデータフレームの送信再開を通知するフロー制御メッセージを前記データフレームの送信側の中継装置に送信し、
前記データフレームの送信側の中継装置は、
前記データフレームの送信再開を通知するフロー制御メッセージを受信した場合には、前記データフレームの送信再開を通知するフロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキューに蓄積されているデータフレームの読み出しを再開すること、
を特徴とする請求項１に記載のフロー制御方法。
【請求項３】
異なる優先クラスが割当てられた複数のキューを備える中継装置において、
前記レイヤ２ネットワークによる送信側装置とのリンク確立後に、優先クラスの数を要求する制御フレームを前記送信側装置に送信し、前記優先クラスの数を要求する制御フレームに対する応答フレームに含まれる優先クラスの数に基づいて、前記送信側装置が有する優先クラスと、自装置が有する各キューに割当てられている優先クラスとを対応付けた優先クラス対応情報を生成し、この優先クラス対応情報に基づいてフロー制御メッセージ内の優先クラス情報に優先クラスを設定し、また、各キュー毎に当該キューに蓄積されたデータフレームのデータ量が予め定められた停止閾値を超えているか否かを判定し、前記データ量が前記停止閾値を超えていると判定した場合には、データ量が停止閾値を超えたキューに割当てられている優先クラスを示す優先クラス情報および停止時間を含むデータフレームの送信停止を通知するフロー制御メッセージを自装置にデータフレームを送信する送信側装置に送信するキュー書込制御部と、
前記受信側装置から優先クラスの数を要求する制御フレームを受信した場合には、自装置が有するキューに割当てられている優先クラスの数を含む応答フレームを前記データフレームの受信側装置に送信し、自装置が送信したデータフレームを受信する受信側装置からデータフレームの送信停止を通知するフロー制御メッセージを受信するまでは、前記複数のキューに蓄積されているデータフレームを予め定められた優先制御に基づいて前記受信側装置に送信し、前記データフレームの送信停止を通知するフロー制御メッセージを受信した場合には、前記データフレームの送信停止を通知するフロー制御メッセージを受信してから当該フロー制御メッセージに含まれる停止時間が経過するまでの間、フロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキューに蓄積されているデータフレームの読み出しを停止するキュー読出制御部と、
を備えることを特徴とする中継装置。
【請求項４】
前記キュー書込制御部は、
各キュー毎に当該キューに蓄積されたデータフレームのデータ量が予め定められた再開閾値より小さいか否かを判定し、前記データ量が前記再開閾値より小さいと判定した場合には、データ量が再開閾値より小さいキューに割当てられている優先クラスを示す優先クラス情報を含むデータフレームの送信再開を通知するフロー制御メッセージを前記送信側装置に送信し、
前記キュー読出制御部は、
前記受信側装置からデータフレームの送信再開を通知するフロー制御メッセージを受信した場合には、前記データフレームの送信再開を通知するフロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキューに蓄積されているデータフレームの読み出しを再開すること、
を特徴とする請求項３に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイヤ２ネットワークによって接続される中継装置のフロー制御方法に関するものであり、特に、中継装置が有する複数のキューに割当てられている優先クラス毎のフロー制御方法に関するものである。
【背景技術】
【０００２】
従来から、中継装置間をイーサネット（登録商標）によって接続した場合のフロー制御に関する種々の技術が考えられている。たとえば、非特許文献１には、ＰＡＵＳＥフレームと呼ばれる制御メッセージを用いたフロー制御に関する技術が開示されている。
【０００３】
具体的には、受信側の中継装置は、受信したフレームを一時保持するバッファに蓄積されたフレームの量を監視し、蓄積されたフレームの量が所定の値を超えた場合に、送信側の中継装置にフレームの送信停止時間を含むＰＡＵＳＥフレームを送信し、送信停止時間の間、送信側の中継装置にフレームの送信を停止させることでバッファ溢れを回避するようにしている。
【０００４】
また、特許文献１には、優先度が異なる複数のキューを有するイーサネット（登録商標）スイッチが、ＰＡＵＳＥフレーム（制御メッセージ）を階層的に解釈することによって、優先度毎にフレームの送信を停止させる技術が開示されている。
【０００５】
具体的には、受信側のスイッチ（中継装置）は、バッファの閾値等により輻輳を検出すると送信停止時間を含む制御メッセージを送信側の中継装置に送信する。ＰＡＵＳＥタイム中（送信停止中）以外の時に制御メッセージを受信した場合、送信側の中継装置は、優先度の最も低いキューからのフレームの送信を停止する。ＰＡＵＳＥタイム中に制御メッセージを受信した場合、送信側の中継装置は、すでに送信を停止しているキューを除くキューの中で最も優先度の低いキューからのフレームの送信を停止する。すなわち、中継装置は、ＰＵＡＳＥフレームを受信する毎に、フレームの送信対象となっているキューの中で優先度の最も低いキューからのフレームの送信を停止する。
【０００６】
【特許文献１】特開２００４−１０４４２７号公報
【非特許文献１】IEEE802.3-2002 Annex 31B MAC Control PAUSE operation
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、インターネットの基本は、ネットワークがすべてのパケットを公平に扱うベスト・エフォート型、すなわちサービスの品質を保証しない通信サービスである。しかしながら、インターネットの普及にともない、インターネットを使用したビジネスが展開され、音楽、映像コンテンツのダウンロードやリアルタイム配信などが行なわれており、ブロードバンド化が進んでいる。たとえば、電話機やパーソナルコンピュータなどの端末装置が接続されるゲートウェイと、ＰＯＮ（Passive Optical Network）システムに用いるＯＮＵ（Optical Network Unit）とをイーサネット（登録商標）によって接続し、ＶｏＩＰ（Voice over Internet Protocol）やインターネットなどの各種サービスを提供する通信システムが普及し始めている。
【０００８】
このような通信システムにおいて、ＯＮＵおよびゲートウェイは、データフレームを一時保持するバッファ内に優先度の異なるキューを複数備えており、データフレーム内の優先度を示す情報（優先度情報）に基づいて音声や映像のようにトラフィック量は少ないがリアルタイム性（低遅延）を要求されるデータフレームを優先度の高い高優先キューに蓄積し、インターネットアクセスやファイル転送のようにトラヒック量は多いがリアルタイム性を要求されない遅延の許容範囲の大きいデータフレームを優先度の低い低優先キューに蓄積する。そして、予め定められた優先制御によって、高優先キューに蓄積されているデータフレームを優先して送信することで、優先度の高いデータフレームを低遅延で転送可能にしている。
【０００９】
このような通信システムの上位プロトコルにＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などを用いた場合、データの損失はスループットの大幅な低下を招いてしまうため、フロー制御が行なわれている。
【００１０】
ここで、上記通信システムに、上記非特許文献１に記載のＰＡＵＳＥフレームを用いたフロー制御を適用したとする。この場合、ＯＮＵは、高優先キューおよび低優先キューに蓄積されたデータフレームの量を監視し、蓄積されたデータフレームの量が所定の値（停止閾値）を超えた場合に、ゲートウェイにデータフレームの送信停止時間を含むＰＡＵＳＥフレームを送信し、送信停止間の間ゲートウェイにデータフレームの送信を停止させる。
【００１１】
しかしながら、ＰＡＵＳＥフレームは物理ポート単位で送信されるため、ゲートウェイは優先度別の高優先キューおよび低優先キューの両方のキューからのデータフレームの読出しを停止してしまい、通信品質を劣化させてしまうという問題があった。
【００１２】
上記通信システムにおいて、ゲートウェイの高優先キューにはトラヒック量は少ないが低遅延が要求されるデータフレーム（たとえば、音声データ）が蓄積され、低優先キューにはトラヒック量は多いが遅延は共用するデータが蓄積される場合、ゲートウェイは優先制御によって高優先キューに蓄積されるデータフレームを優先的にＯＮＵに送信する。ＯＮＵも、優先度別に高優先キューおよび低優先キューを有しており、高優先キューに蓄積されるデータフレームを優先的に送信することで、２つの装置（ゲートウェイおよびＯＮＵ）を経由しても優先度の高いデータフレーム（この場合は音声データ）を低遅延で送信可能にしている。
【００１３】
しかしながら、ＰＡＵＳＥフレームを受信すると、ゲートウェイは高優先キューおよび低優先キューからのデータフレームの読出しを停止してしまう。すなわち、ゲートウェイはＰＡＵＳＥフレームを受信してからＰＡＵＳＥフレームに含まれる送信停止時間が経過するまで、またはＯＮＵから送信再開を通知するＰＡＵＳＥフレーム（送信停止時間が「０」のＰＡＵＳＥフレーム）を受信するまで、ＯＮＵに対する全てのデータフレームの送信を停止してしまう。そのため、高優先キューに蓄積されているデータフレームがゲートウェイに滞留されて遅延揺らぎとなり、通信品質を劣化させてしまう。
【００１４】
ゲートウェイの高優先キューに蓄積されているデータフレームの滞留は、ＯＮＵの停止閾値と、送信再開を決定する再開閾値との差を小さくすることで回避することはできる。しかしながら、ＯＮＵの停止閾値と、送信再開を決定する再開閾値との差を小さくすると、ゲートウェイへのＰＡＵＳＥフレームの送信頻度が高くなり、ＯＮＵからゲートウェイへの帯域を浪費してしまうという問題が生じる。
【００１５】
また、上記通信システムに、ＰＡＵＳＥフレームを階層的に解釈することによって、優先度毎に送信を停止させる上記特許文献１に記載のフロー制御を適用したとする。この場合、ゲートウェイは、ＰＡＵＳＥフレームを受信すると低優先キューに蓄積されているデータフレームの読出しを停止し、ＰＡＵＳＥ時間中に、さらにＰＡＵＳＥフレームを受信すると高優先キューに蓄積されているデータフレームの読出しを停止して、キュー毎（優先クラス毎）のフロー制御を行うことができる。
【００１６】
しかしながら、上記特許文献１に記載のフロー制御は、最も低い優先度のキューから順にデータフレームの読出しを停止するものであり、任意の優先度のキューからのデータフレームの読出しを停止することはできない。そのため、キューの読出し規則が完全優先制御ではない場合にキューのトラヒックに偏りが発生すると、所望の通信品質を満たすことはできないという問題があった。
【００１７】
本発明は、上記に鑑みてなされたものであって、異なる優先クラスが割当てられた複数のキューに対して優先クラス毎のフロー制御を行い、サービス毎の通信品質を満たすことができるフロー制御方法、および中継装置を得ることを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するために、本発明は、異なる優先クラスが割当てられた複数のキューを備える中継装置間をレイヤ２ネットワークによって接続してデータフレームを転送する通信システムのフロー制御方法であって、前記データフレームの受信側の中継装置は、各キュー毎に当該キューに蓄積されたデータフレームのデータ量が予め定められた停止閾値を超えているか否かを判定し、前記データ量が前記停止閾値を超えていると判定した場合には、データ量が停止閾値を超えたキューに割当てられている優先クラスを示す優先クラス情報および停止時間を含むデータフレームの送信停止を通知するフロー制御メッセージを送信し、前記データフレームの送信側の中継装置は、前記データフレームの送信停止を通知するフロー制御メッセージを受信するまでは、前記複数のキューに蓄積されているデータフレームを予め定められた優先制御に基づいて前記データフレームの受信側の中継装置に送信し、前記データフレームの送信停止を通知するフロー制御メッセージを受信した場合には、前記データフレームの送信停止を通知するフロー制御メッセージを受信してから当該フロー制御メッセージに含まれる停止時間が経過するまでの間、フロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキューに蓄積されているデータフレームの読み出しを停止すること、を特徴とする。
【発明の効果】
【００１９】
この発明によれば、データフレームの受信側の中継装置は、優先クラスを示す優先クラス情報を含めたデータフレームの送信停止を通知するフロー制御メッセージをデータフレームの送信側の中継装置に送信し、データフレームの送信側の中継装置は、フロー制御メッセージ内の優先クラス情報が示す優先クラスが割当てられているキューからのデータフレームの読出しを停止することで優先クラス毎にフロー制御を行なうようにしているため、サービス毎に異なる通信品質の要求を満たすことができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明にかかるフロー制御方法、および中継装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。ここでは、レイヤ２ネットワークがイーサネット（登録商標）である場合について説明する。なお、本発明は、以下の記述により限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００２１】
実施の形態１．
図１〜図７を用いてこの発明の実施の形態１を説明する。図１は、この発明におけるフロー制御方法が適用される通信システムの一例を示す構成図である。図１において、通信システムは、通信端末３−１，３−２を収容するゲートウェイ（ＧＷ）２と、加入者線終端装置（ＯＮＵ：Optical Network Unit）１とを備えている。ＯＮＵ１は、レイヤ２ネットワーク４によってＧＷ２と接続されるとともに、加入者線５に接続されている。加入者線５は、ＰＯＮ（Passive Optical Network）であり、図示していない他の加入者のネットワークの使用状況によって帯域が変化する。図１においては、加入者側の通信端末３−１は電話機であり、通信端末３−２はパーソナルコンピュータであり、ＧＷ２およびＯＮＵ１については、通信端末３−１，３−２からのデータフレームを加入者線５に送信する機能に関わる構成要素のみを示している。なお、ＧＷ２およびＯＮＵ１が特許請求の範囲でいうところの中継装置である。
【００２２】
ＧＷ２は、ユーザインタフェース（ＵＮＩ）２４−１，２４−２、異なる優先クラスが割当てられているキュー２３１−１，２３１−２を有するバッファ部２３、キュー書込制御部２２、キュー読出制御部２１、およびネットワークインタフェース（ＮＮＩ）２６を備えている。
【００２３】
ＵＮＩ２４−１，２４−２は、通信端末３−１，３−１とのインタフェース機能を有している。図１においては、ＵＮＩ２４−１は、データ転送に低遅延が要求される通信端末３−１を収容し、ＮＵＩ２４−２はデータ転送の遅延を許容する通信端末３−２を収容している。ＵＮＩ２４−１，２４−２は、自身が収容する通信端末３−１，３−２からのデータフレームを対応するキュー２３１−１，２３１−２に出力する。
【００２４】
キュー２３１−１は優先クラス１（高優先）が割当てられており、ＵＮＩ２４−１を介して通信端末３−１からのデータフレームを蓄積する。キュー２３１−２は優先クラス２（低優先）が割当てられており、通信端末３−２からのデータフレームを蓄積する。ここでは、ＵＮＩ２４−１がキュー２３１−１に対応し、ＵＮＩ２４−２がキュー２３１−２に対応しており、データ転送に低遅延が要求される通信端末３−１からのデータフレームが高優先のキュー２３１−１に蓄積され、データ転送の遅延を許容する通信端末３−２からのデータフレームが低優先のキュー２３１−２に蓄積される。
【００２５】
キュー書込制御部２２は、キュー２３１−１，２３１−２に蓄積されているデータフレームの量（データ量）を監視する。キュー書込制御部２２は、予め定められた停止閾値とキュー２３１−１，２３１−２のデータ量とを比較して、キュー２３１−１，２３１−２のデータ量が停止閾値を超えた場合には当該キューのバッファ溢れを避けるためにデータフレームの送信を停止すべき優先クラスの情報を含むフロー制御用メッセージを生成する。キュー書込制御部２２は、当該キュー２３１−１，２３１−２に対応するＵＮＩ２４−１，２４−２を介して、生成したフロー制御用メッセージを通信端末３−１，３−２に送信する。
【００２６】
また、キュー書込制御部２２は、予め定められた再開閾値とキュー２３１−１，２３１−２のデータ量とを比較して、キュー２３１−１，２３１−２のデータ量が再開閾値をより小さい値になった場合にはデータフレームの送信を再開すべき優先クラスの情報を含むフロー制御用メッセージを生成する。キュー書込制御部２２は、当該キュー２３１−１，２３１−２に対応するＵＮＩ２４−１，２４−２を介して、生成したフロー制御用メッセージを通信端末３−１，３−２に送信する。
【００２７】
図２は、キュー書込制御部２２が生成するフロー制御用メッセージのフォーマットの一例を示す図である。図２に示したフロー制御用メッセージは、ＩＥＥＥ８０２．３によって定義されるＰＡＵＳＥフレームの未使用領域にデータフレームの送信を停止すべき優先クラス、またはデータフレームの送信を再開すべき優先クラスを設定している。
【００２８】
図２において、フロー制御用メッセージは、宛先アドレス（ＤＡ）、送信元アドレス（ＳＡ）、タイプ（Ｔｙｐｅ）、オペレーションコード（ＯｐＣｄ）、中断時間（Ｐｒｍ）、キュー指定（Ｑｕｅｕｅ）、および未使用領域（Ｒｅｓｅｒｖｅ)で構成される。宛先アドレスにはＰＡＵＳＥフレーム用に予約されているマルチキャスト・アドレス「０１−８０−ｃ２−００−００−０１」が設定され、送信元アドレスには自身に割当てられているＭＡＣアドレスが設定され、タイプには「００−０１」が設定され、中断時間にはデータフレームの送信の停止時間が設定され、キュー指定にはデータフレームの送信を停止すべき優先クラス、またはデータフレームの送信を再開すべき優先クラスが設定される。キュー指定は、ビットマップ形式であり、図２においては、８つの優先クラスが設定可能であり、１ビット目のＢ０が優先クラス１に対応し、２ビット目のＢ１が優先クラス２に対応し、３ビット目のＢ２が優先クラス３に対応し、…、７ビット目のＢ６が優先クラス７に対応し、８ビット目のＢ７が優先クラス８に対応している。ここでは、優先クラス１が最も優先度が高く、優先クラス２が優先クラス１の次に優先度が高く、…、優先クラス８が最も優先度が低いものとする。
【００２９】
図１に戻って、キュー読出制御部２１は、低優先のキュー２３１−２に蓄積されているデータフレームより優先して高優先のキュー２３１−１に蓄積されているデータフレームを読み出し、読み出したデータフレームをＮＮＩ２６に出力する。また、キュー読出制御部２１は、フロー制御メッセージに基づいて対象となるキュー２３１−１，２３１−２からのデータフレームの読出しを停止、または再開する。
【００３０】
ＮＮＩ２６は、レイヤ２ネットワーク４のインタフェース機能を有しており、キュー読出制御部２１によってキュー２３１−１，２３１−２から読み出されたデータフレームをレイヤ２ネットワーク４を介してＯＮＵ１に送信する。また、フロー制御メッセージを受信した場合、ＮＮＩ２６は、受信したフロー制御メッセージをキュー読出制御部２１に出力する。
【００３１】
ＯＮＵ１は、異なる優先クラスが割当てられているキュー１３１−１，１３１−２を有するバッファ部１３、ユーザインタフェース（ＵＮＩ）１５、キュー書込制御部１２、キュー読出制御部１１、およびネットワークインタフェース（ＮＮＩ）１４を備えている。
【００３２】
キュー１３１−１は優先クラス１（高優先）が割当てられており、優先クラス１のデータフレームを蓄積する。キュー１３１−２は優先クラス２（低優先）が割当てられており、優先クラス２のデータフレームを蓄積する。
【００３３】
ＵＮＩ１５は、レイヤ２ネットワーク４のインタフェース機能を有しており、レイヤ２ネットワーク４を介して受信したＧＷ２からのデータフレームをバッファ部１３に出力する。
【００３４】
キュー書込制御部１２は、バッファ部１３に出力されたデータフレーム内の優先クラス情報に基づいてキュー１３１−１，１３１−２にデータフレームを振り分ける。また、キュー書込制御部１２は、キュー１３１−１，１３１−２に蓄積されているデータ量を監視して、ＧＷ２からのデータフレームの送信を制御するフロー制御メッセージを送信する。キュー書込制御部１２は、予め定められた停止時間とキュー１３１−１，１３１−２のデータ量とを比較して、キュー１３１−１，１３１−２のデータ量が停止閾値を超えた場合には当該キュー１３１−１，１３１−２のバッファ溢れを避けるためにデータフレームの送信を停止すべき優先クラスの情報を含むフロー制御用メッセージ（図２参照）を生成する。キュー書込制御部２２は、ＵＮＩ１５を介して、生成したフロー制御用メッセージをＧＷ２に送信する。
【００３５】
また、キュー書込制御部１２は、データフレームの送信を停止するフロー制御メッセージを送信した後には、予め定められた再開閾値と当該キュー１３１−１，１３１−２のデータ量とを比較して、当該キュー１３１−１，１３１−２のデータ量が再開閾値をより小さい値になった場合にはデータフレームの送信を再開すべき優先クラスの情報を含むフロー制御用メッセージを生成する。キュー書込制御部１２は、ＵＮＩ１５を介して、生成したフロー制御用メッセージをＧＷ２に送信する。
【００３６】
キュー読出制御部１１は、低優先のキュー１３１−２に蓄積されているデータフレームよりも優先して高優先のキュー１３１−１に蓄積されているデータフレームを読み出し、読み出したデータフレームをＮＮＩ１４に出力する。ＮＮＩ１４は、加入者線５のインタフェース機能を有しており、キュー読出制御部１１によってキュー１３１−１，１３１−２から読み出されたデータフレームを加入者線５に送信する。
【００３７】
つぎに、図１〜図５を参照して、この実施の形態１の通信システムの動作を説明する。通信端末３−１，３−２は、それぞれデータフレームをＧＷ２に送信する。ＧＷ２のキュー読出制御部２１は、低優先のキュー２３１−２に蓄積されたデータフレームよりも優先して高優先のキュー２３１−１に蓄積されたデータフレームを読出し、読み出したデータフレームをＮＮＩ２６を介してＯＮＵ１に送信する。キュー２３１−１，２３１−２に蓄積されたデータフレームを読み出す際に、ＧＷ２のキュー読出制御部２１は、詳細には後述するが、ＯＮＵ１が送信するフロー制御メッセージに基づいてデータフレームの読出しの停止、または再開するデータフレーム送信側のフロー制御処理を実行する。また、ＧＷ２のキュー読出制御部２１は、キュー２３１−１，２３１−２から読み出したデータフレームに優先クラスの情報が含まれている場合には読み出したデータフレームをそのまま出力し、キュー２３１−１，２３１−２から読み出したデータフレームに優先クラスの情報が含まれていない場合には優先クラスの情報を付加したデータフレームを出力する。
【００３８】
ＯＮＵ１のキュー書込制御部１２は、ＵＮＩ１５を介してＧＷ２から受信したデータフレーム内の優先クラスの情報に基づいてキュー１３１−１，１３１−２に割り振る。ここでは、キュー書込制御部１２は、優先クラスの情報が優先クラス１のデータフレームを高優先のキュー１３１−１に割り振り、優先クラスの情報が優先クラス２にデータフレームを低優先のキュー１３１−２に割り振る。これにより、ＧＷ２の高優先のキュー２３１−１に蓄積されていたデータフレームはＯＮＵ１の高優先のキュー１３１−１に蓄積され、ＧＷ２の低優先のキュー２３１−２に蓄積されていたデータフレームはＯＮＵ１の低優先のキュー１３１−２に蓄積される。
【００３９】
ＯＮＵ１のキュー読出制御部１１は、低優先のキュー１３１−２に蓄積されたデータフレームよりも優先して高優先のキュー１３１−１に蓄積されたデータフレームを読み出し、読み出したデータフレームをＮＮＩ１４を介して加入者線５に送信する。
【００４０】
一方、ＯＮＵ１のキュー書込制御部１２は、キュー１３１−１，１３１−２に蓄積されているデータ量を監視して、バッファ溢れを避けるためのデータフレーム受信側のフロー制御処理を実行する。図３のフローチャートを参照して、データフレーム受信側のフロー制御処理の動作を詳細に説明する。
【００４１】
キュー書込制御部１２は、処理対象となる処理対象キューを選択する（ステップＳ１００）。たとえば、優先クラスの中で優先度の高い順に処理対象キューを選択する場合、キュー書込制御部１２は、まず、優先クラス１の高優先のキュー１３１−１を処理対象キューとして選択する。キュー書込制御部１２は、処理対象キューに蓄積されているデータ量を読み出す（ステップＳ１０１）。
【００４２】
キュー書込制御部１２は、ＯＮＵ１の計時機能を用いてフロー制御メッセージを送信してから、当該フロー制御メッセージの中断時間（図２参照）に設定した停止時間の経過を計測するタイマをキュー１３１−１，１３１−２毎に備えている。キュー書込制御部１２は、処理対象キューに対応するタイマが停止時間を計測中であるか否かを判定する（ステップＳ１０２）。
【００４３】
処理対象キューに対応するタイマが停止時間を計測中ではない（停止している）と判定した場合、キュー書込制御部１２は、読み出したデータ量と停止閾値とを比較する（ステップＳ１０３）。読み出したデータ量が停止閾値を超えている場合、キュー書込制御部１２は、処理対象キューに蓄積するデータフレームの送信を停止させるフロー制御メッセージを生成する（ステップＳ１０４）。
【００４４】
具体的には、キュー書込制御部１２は、先の図２に示したフロー制御用メッセージの宛先アドレスに「０１−８０−ｃ２−００−００−０１」を設定し、送信元アドレスには自身に割当てられているＭＡＣアドレスを設定し、タイプには「００−０１」を設定し、中断時間には予め定められたデータフレームの送信の停止時間を設定し、キュー指定のビットの内、処理対象キューの優先クラスに対応するビットにオン（たとえば、「１」）を設定する。ここでは、処理対処キューとして優先クラス１の高優先のキュー１３１−１が選択されているので、キュー書込制御部１２は、キュー指定の１ビット目のＢ０に「１」を設定する。
【００４５】
キュー書込制御部１２は、生成したフロー制御メッセージをＵＮＩ１５に出力し、ＵＮＩ１５は、フロー制御メッセージをレイヤ２ネットワーク４に送信する（ステップＳ１０５）。キュー書込制御部１２は、停止時間の計測開始を処理対象キューに対応するタイマに通知し、処理対象キューに対応するタイマは停止時間の計測を開始する（ステップＳ１０６）。
【００４６】
一方、処理対象キューに対応するタイマが停止時間を計測中の場合、キュー書込制御部１２は、読み出したデータ量と再開閾値とを比較する（ステップＳ１０７）。読み出したデータ量が再開閾値よりも小さい場合、キュー書込制御部１２は、処理対象キューに対応するタイマを停止させるフロー制御メッセージを生成する（ステップＳ１０８）。
【００４７】
具体的には、キュー書込制御部１２は、先の図２に示したフロー制御用メッセージの宛先アドレスに「０１−８０−ｃ２−００−００−０１」を設定し、送信元アドレスには自身に割当てられているＭＡＣアドレスを設定し、タイプには「００−０１」を設定し、中断時間には「０」を設定し、キュー指定のビットの内、処理対象キューの優先クラスに対応するビットにオン（たとえば、「１」）を設定する。ここでは、処理対処キューとして優先クラス１の高優先のキュー１３１−１が選択されているので、キュー書込制御部１２は、キュー指定の１ビット目のＢ０に「１」を設定する。
【００４８】
キュー書込制御部１２は、生成したフロー制御メッセージをＵＮＩ１５に出力し、ＵＮＩ１５は、フロー制御メッセージをレイヤ２ネットワーク４に送信する（ステップＳ１０９）。キュー書込制御部１２は、停止時間の計測停止を処理対象キューに対応するタイマに通知し、処理対象キューに対応するタイマは停止時間の計測を停止する（ステップＳ１１０）。
【００４９】
読み出したデータ量が停止閾値以下であると判定した後、読み出したデータ量が再開閾値以上であると判定した後、処理対象キューに対応するタイマに停止時間の計測開始を通知した後、または処理対象キューに対応するタイマに停止時間の計測停止を通知した後に、キュー書込制御部１２は、新たな処理対象キューを選択し、選択した処理対象キューのデータ量を読み出して上述したステップＳ１０１〜Ｓ１１０の処理を繰り返す。ここでは、優先クラスの優先度の高い順から処理対象キューを選択するようにしているので、キュー書込制御部１２は、優先クラス１のキュー１３１−１、優先クラス２のキュー１３１−２の順に処理対象キューを選択する。キュー書込制御部１２は、優先クラスの優先度が最も低いキュー（この場合はキュー１３１−２）を処理対象キューとして処理した後は、優先クラスの優先度が最も高いキュー（この場合はキュー１３１−１）を処理対象キューとして選択することで、常にキュー１３１−１，１３１−２のデータ量を監視する。
【００５０】
つぎに、図４のフローチャートを参照して、データフレーム送信側（ＧＷ２）のフロー制御処理の動作を詳細に説明する。ＮＮＩ２６は、レイヤ２ネットワークを介してＯＮＵ１からのフロー制御メッセージを受信した場合、受信したフロー制御メッセージをキュー読出制御部２１に出力する。
【００５１】
キュー読出制御部２１は、フロー制御メッセージを受信すると、受信したフロー制御メッセージが送信停止を通知するフロー制御メッセージであるか否かを判定する（ステップＳ２００，Ｓ２０１）。上述したように、ＯＮＵ１のキュー書込制御部１２は、データフレームの送信を停止させる場合には、先の図２に示したフロー制御メッセージ内の中断時間に停止時間を設定し、データフレームの送信を再開させる場合には中断時間に「０」を設定している。ＧＷ２のキュー読出制御部２１は、フロー制御メッセージ内の中断時間が「０」であるか否かによって、受信したフロー制御メッセージが送信停止を通知するものであるのか、送信再開を通知するものであるのかを判定する。
【００５２】
受信したフロー制御メッセージがデータフレームの送信の停止を通知するフロー制御メッセージであると判定した場合、キュー読出制御部２１は、フロー制御メッセージ内のキュー指定に基づいて対象キューを選択し、選択した対象キューの停止時間の計測を開始する（ステップＳ２０２）。具体的には、キュー読出制御部２１は、ＧＷ２の計時機能を用いてキュー指定による優先クラスのキュー毎に停止時間の経過を計測するタイマを備えている。キュー読出制御部２１は、キュー指定で指定されたキューに対応するタイマに中断時間に設定されている停止時間の計測の開始を通知して、停止時間の計測を開始させる。
【００５３】
受信したフロー制御メッセージがデータフレームの送信の再開を通知するフロー制御メッセージであると判定した場合、キュー読出制御部２１は、フロー制御メッセージ内のキュー指定に基づいて対象キューを選択し、選択した対象キューの停止時間の計測を中止する（ステップＳ２０３）。具体的には、キュー読出制御部２１は、キュー指定で指定されたキューに対応するタイマに計測の停止を通知して、停止時間の計測を中止させる。
【００５４】
フロー制御メッセージを受信していない場合、対象キューの停止時間の計測を開始させた後、または対象キューの停止時間の計測を中止させた後に、キュー読出制御部２１は、予め定められた優先制御に基づいて読出対象キューを選択する（ステップＳ２０４）。ここでは、高優先のキュー２３１−１に蓄積されているデータフレームを低優先のキュー２３１−２に蓄積されているデータフレームよりも優先して読み出すような優先制御であり、キュー読出制御部２１は、キュー２３１−１にデータフレームが蓄積されている場合には読出対象キューとしてキュー２３１−１を選択し、キュー２３１−１にデータフレームが蓄積されていない場合には読出対象キューとしてキュー１３１−２を選択する。
【００５５】
キュー読出制御部２１は、読出対象キューに対応するタイマが停止時間を計測中であるか否かを判定する（ステップＳ２０５）。読出対象キューに対応するタイマが停止時間を計測中ではない（タイマが停止している）と判定した場合、キュー読出制御部２１は、読み出し対象キューからデータフレームを読み出してＮＮＩ２６に出力し、ＮＮＩ２６は、レイヤ２ネットワーク４を介してデータフレームをＯＮＵ１に送信する（ステップＳ２０６）。
【００５６】
読出対象キューに対応するタイマが停止時間を計測中であると判定した場合、またはデータフレームを送信した後に、キュー読出制御部２１は、ステップＳ２００のフロー制御メッセージの受信があるか否かの判定に戻ってステップＳ２００〜Ｓ２０６の動作を繰り返す。
【００５７】
図５は、ＧＷ２の高優先のキュー２３１−１と低優先のキュー２３１−２のトラヒックの時間的変化を示す図である。図５において、時刻ｔ０から、ＧＷ２の高優先のキュー２３１−１には通信端末３−１から低遅延が要求されるデータフレームが蓄積され、ＧＷ２の低優先のキュー２３１−２には通信端末３−２から遅延を許容する（低遅延が要求されない）データフレームが蓄積される。ＧＷ２のキュー読出制御部２１は、ＯＵＮ２からのフロー制御メッセージを受信していないため、優先制御に基づいて高優先のキュー２３１−１に蓄積されているデータフレームを低優先のキュー２３１−２に蓄積されているデータフレームよりも優先的に読み出してＮＮＩ２６を介してＯＮＵ１に送信する。
【００５８】
ＯＮＵ１のキュー書込制御部１２は、データフレーム内の優先クラスの情報に基づいて優先クラス１（高優先）のデータフレームを高優先のキュー１３１−１に、優先クラス２（低優先）のデータフレームを低優先のキュー１３１−２に振り分け、キュー１３１−１は高優先のデータフレームを蓄積し、キュー１３１−２は低優先のデータフレームを蓄積する。
【００５９】
ＯＮＵ１のキュー読出制御部１１は、予め定められた優先制御に基づいて、キュー１３１−２に蓄積されている低優先のデータフレームよりも優先してキュー１３１−１に蓄積に蓄積されている高優先のデータフレームを読み出し、ＮＮＩ１４を介して読み出した高優先のデータフレームを加入者線５に送信する。これにより、ＧＷ２のＵＮＩ２４−１に収容される通信端末３−１からのデータ（この場合は、通信端末３−１は電話機であるので音声データ）は、遅延揺らぎ無く加入者線５に送信される。
【００６０】
図５において、時刻ｔ０から時刻ｔ３までの間にＧＷ２の低優先のキュー２３１−２に蓄積されるデータフレームのトラフィックは、ＯＮＵ１の出力である加入者線５であるＰＯＮの帯域を上回っている。そのため、時刻ｔ１において、ＯＮＵ１の低優先キュー１３１−２に蓄積されるデータフレームのデータ量が停止閾値を超える。ＯＮＵ１のキュー書込制御部１２は、低優先キュー１３１−２に蓄積されるデータフレームのデータ量が停止閾値を超えたことを検出して、低優先キュー１３１−２に蓄積されるデータフレーム、すなわち優先クラス２のデータフレームの送信を停止させるフロー制御メッセージをＧＷ２に送信する。
【００６１】
優先クラス２のデータフレームの送信を停止させるフロー制御メッセージを受信すると、ＧＷ２のキュー読出制御部２１は、優先クラス２、すなわちキュー２３１−２からのデータフレームの読出しを停止し、キュー２３１−１からのデータフレームのみを読み出してＯＮＵ１に送信する。これにより、ＧＷ２のキュー２３１−２には、通信端末３−２から受信した低優先のデータフレームが蓄積され、キュー２３１−１に蓄積される通信端末３−１からの高優先のデータフレームのみがＯＮＵ１に到達する。
【００６２】
ＯＮＵ１のキュー書込制御部１２は、ＧＷ２から受信した高優先のデータフレームをキュー１３１−１に出力し、キュー１３１−１は高優先のデータフレームを蓄積する。ＯＮＵ１のキュー読出制御部１１は、予め定められた優先制御に基づいて、低優先のキュー１３１−２に蓄積されているデータフレームより優先して高優先のキュー１３１−１に蓄積されているデータフレームを読み出し、読み出したデータフレームを加入者線５に送信する。これにより、ＧＷ２のＵＮＩ２４−２が収容する通信端末３−２から過大入力がある場合においても、遅延揺らぎ無く通信端末３−１からのデータフレームを加入者線５に送信することができる。
【００６３】
ＯＮＵ１のキュー読出制御部２１は、時刻ｔ１においてＯＮＵ１から優先クラス２の送信を停止させるフロー制御メッセージを受信してから、優先クラス２である低優先のキュー１３１−２に蓄積されているデータフレームの送信を停止している。そのため、ＯＮＵ１の低優先のキュー１３１−２には時刻ｔ１以降、新たなデータフレームが蓄積されることはなくデータフレームの読出しだけが行なわれており、キュー１３１−２のデータ量は減少していく。
【００６４】
時刻ｔ３において、ＯＮＵ１のキュー書込制御部１２は、低優先のキュー１３１−２のデータ量が再開閾値より小さくなったことを検出し、低優先キュー１３１−２に蓄積されるデータフレーム、すなわち優先クラス２のデータフレームの送信を再開させるフロー制御メッセージをＧＷ２に送信する。
【００６５】
優先クラス２のデータフレームの送信を再開させるフロー制御メッセージを受信すると、ＧＷ２のキュー読出制御部２１は、優先クラス２、すなわちキュー２３１−２からのデータフレームの読出しを再開する。すなわち、ＧＷ２のキュー読出制御部２１は、優先制御に基づいて高優先のキュー２３１−１に蓄積されているデータフレームを低優先のキュー２３１−２に蓄積されているデータフレームよりも優先的に読み出してＮＮＩ２６を介してＯＮＵ１に送信する。これにより、時刻ｔ１から時刻ｔ２の間にキュー２３１−２に蓄積されたデータフレームがＯＮＵ１に送信される。
【００６６】
ＯＮＵ１のキュー書込制御部１２は、ＧＷ２から受信した高優先のデータフレームをキュー１３１−１に出力し、キュー１３１−１は高優先のデータフレームを蓄積する。ＯＮＵ１のキュー読出制御部１１は、予め定められた優先制御に基づいて、低優先のキュー１３１−２に蓄積されているデータフレームより優先して高優先のキュー１３１−１に蓄積されているデータフレームを読み出し、読み出したデータフレームを加入者線５に送信する。
【００６７】
このようにこの実施の形態１においては、ＯＮＵ１のキュー書込制御部１２は、キュー１３１−１，１３１−２毎に、それぞれのキュー１３１−１，１３１−２に蓄積されたデータフレームのデータ量が予め定められた停止閾値を超えているか否かを判定し、データ量が停止閾値を超えていると判定した場合には、データ量が停止閾値を超えたキュー１３１−１，１３１−２に割当てられている優先クラス１，２を優先クラス情報としてキュー指定に設定し、中断時間に停止時間を設定したデータフレームの送信停止を通知するフロー制御メッセージをＧＷ２に送信し、ＧＷ２のキュー読出制御部２１は、データフレームの送信停止を通知するフロー制御メッセージを受信するまでは、キュー２３１−１，２３１−２に蓄積されているデータフレームを予め定められた優先制御に基づいてＯＮＵ１に送信し、データフレームの送信停止を通知するフロー制御メッセージを受信した場合には、データフレームの送信停止を通知するフロー制御メッセージを受信してから当該フロー制御メッセージに含まれる停止時間が経過するまでの間、フロー制御メッセージに含まれる優先クラス情報が示す優先クラスが割当てられているキュー２３１−１，２３１−２に蓄積されているデータフレームの読み出しを停止するようにしている。
【００６８】
また、ＯＮＵ１のキュー書込制御部１２は、キュー１３１−１，１３１−２毎に、それぞれのキュー１３１−１，１３１−２に蓄積されたデータフレームのデータ量が予め定められた再開閾値より小さいか否かを判定し、データ量が再開閾値より小さいと判定した場合には、データ量が停止閾値を超えたキュー１３１−１，１３１−２に割当てられている優先クラス１，２を優先クラス情報としてキュー指定に設定し、中断時間に「０」を設定したデータフレームの送信再開を通知するフロー制御メッセージをＧＷ２に送信し、ＧＷ２のキュー読出制御部２１は、データフレームの送信再開を通知するフロー制御メッセージを受信した場合には、データフレームの送信再開を通知するフロー制御メッセージ含まれる優先クラス情報が示す優先クラスが割当てられているキュー２３１−１，２３１−２に蓄積されているデータフレームの読み出しを再開するようにしている。
【００６９】
すなわち、この実施の形態１においては、ＯＮＵ１のキュー書込制御部１２は、優先クラスを示す優先クラス情報を含めたデータフレームの送信停止または送信再開を通知するフロー制御メッセージをＧＷ２に送信し、ＧＷ２のキュー読出制御部２１は、フロー制御メッセージ内の優先クラス情報が示す優先クラスが割当てられているキューからのデータフレームの読出しを停止または再開して優先クラス毎にフロー制御を行なうようにしているため、使用状況によって帯域が変化するネットワークにおいて使用帯域が減少した場合でも、低遅延での転送が要求されるデータフレームの遅延を保証し、かつ遅延を許容するがデータ損失がスループットに影響を及ぼすデータフレームの転送を保証して、サービス毎に異なる通信品質の要求を満たすことができる。
【００７０】
なお、この実施の形態１においては、優先クラス１，２の高優先のキューと低優先のキューの場合を例に挙げて説明したが、優先クラスの数はこれに限るものではなく、ｎ（１＜ｎ，ｎは自然数）つの優先クラスの優先度においても本発明は適用可能である。
【００７１】
図６に、ｎ＝４の場合の通信システムの構成を示す。図６に示した通信システムは、先の図１に示した通信システムのＧＷ２のバッファ部２３内のキューとＵＮＩ２４、およびＯＮＵ１のバッファ部１３内のキューの数が異なっている。先の図１に示した通信システムと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００７２】
ＧＷ２のキュー２３１−１は優先クラス１が割当てられており、ＵＮＩ２４−１が収容する電話機である通信端末３−１からの音声のデータフレーム、すなわち低遅延が要求されるアプリケーションのデータフレームを蓄積する。キュー２３１−２〜２３１−４は優先クラス２〜４が割当てられており、ＵＮＩ２４−２〜２４−４が収容するパーソナルコンピュータである通信端末３−２〜３−４からの遅延は許容するがデータ損失がパフォーマンスを低下させるアプリケーションのデータフレームを蓄積する。
【００７３】
ＯＮＵ１のキュー１３１−１〜１３１−４は、優先クラス１〜４が割当てられており、優先クラス１〜４のデータフレームを蓄積する。ここで、優先クラス１が最も優先度が高く、優先クラス２、優先クラス３、優先クラス４の順に優先度が低くなっている。
【００７４】
このような場合、ＯＮＵ１のキュー読出制御部１１およびＧＷ２のキュー読出制御部２１は、低優先の優先クラス２〜３に対して送信機会がなくなることを避けるため、優先クラス２〜４に対して重み付けを行い、その重み付けに応じて最低限の送信機会を優先クラス２〜４のキュー２３１−２〜２３１−４に蓄積されるデータフレームに対して保証するようなキュー読出しの優先制御を行なう。
【００７５】
ＯＮＵ１のキュー書込制御部１２は、上述したように、キュー１３１−１〜１３１−４毎に蓄積されたデータ量と停止閾値とを比較して、データ量が停止閾値を越えた場合に当該キューが蓄積する優先クラスのデータフレームの送信を停止させるフロー制御メッセージをＧＷ２に送信して、優先クラス毎のフロー制御を行なうため、優先クラス毎に最低帯域を保証し、かつデータ損失を避けることが可能となる。
【００７６】
また、この実施の形態１においては、ＧＷ２ではＵＮＩ２４−１，２４−２にキュー１３１−１，１３１−２を対応付けるようにしたが、ＵＮＩ２４−１，２４−２が収容する通信端末３−１，３−２が、優先クラスの異なるデータフレームを送信する場合も考えられる。このような場合は、キュー書込制御部２２が、通信端末３−１、３−２から受信したデータフレーム内の優先クラスを示す情報に基づいて、優先クラス１のデータフレームを高優先のキュー２３１−１に割り振り、優先クラス２のデータフレームを低優先のキュー２３１−２に割り振る。そして、キュー２３１−１，２３１−２のデータ量を監視し、データ量が停止閾値を越えた場合に当該キューが蓄積する優先クラスのデータフレームの送信を停止させるフロー制御メッセージをＵＮＩ２４−１，２４−２を介して通信端末３−１，３−２に送信するようにすればよい。
【００７７】
また、この実施の形態１においては、先の図２に示したようにデータフレームの送信の停止または再開する優先クラスをビットマップ形式によって指定するフロー制御メッセージを用いるようにしたが、図６に示す構成のフロー制御メッセージを用いるようにしても良い。図６は、フロー制御メッセージは、宛先アドレス（ＤＡ）、送信元アドレス（ＳＡ）、タイプ（Ｔｙｐｅ）、オペレーションコード（ＯｐＣｄ）、優先クラス毎の中断時間（Ｐｒｍ１〜Ｐｒｍ３）、および未使用領域（Ｒｅｓｅｒｖｅ)で構成される。
【００７８】
宛先アドレスにはＰＡＵＳＥフレーム用に予約されているマルチキャスト・アドレス「０１−８０−ｃ２−００−００−０１」が設定され、送信元アドレスには自身に割当てられているＭＡＣアドレスが設定され、タイプには「００−０１」が設定され、中断時間Ｐｒｍ１には優先クラス１のデータフレームの送信の停止時間が設定され、中断時間Ｐｒｍ２には優先クラス２のキューのデータフレームの送信の停止時間が設定され、中断時間Ｐｒｍ３には優先クラス３のデータフレームの送信の停止時間が設定される。なお、図６は、３つの優先クラス１〜３の中断時間を設定する場合を示しているが、中断時間Ｐｒｍの数をｎ個にすることで優先クラス１〜ｎまでに対応可能であることはいうまでもない。
【００７９】
また、この実施の形態１においては、停止閾値および再開閾値を１つとしたが、キュー毎、すなわち優先クラス毎に異なる停止閾値および再開閾値を用いるようにしてもかまわない。
【００８０】
実施の形態２．
図８および図９を参照してこの発明の実施の形態２を説明する。先の実施の形態１においては、ＯＮＵ１とＧＷ２との優先クラスが一致している場合について説明した。この実施の形態２では、ＯＮＵ１とＧＷ２との優先クラスが異なる（たとえば、マルチベンダ環境などに適用される）場合について説明する。
【００８１】
図８は、この発明における中継装置を用いた通信システムの実施の形態２の構成の一例を示す構成図である。図８に示した通信システムは、通信端末３−１〜３−４を収容する中継装置であるゲートウェイ（ＧＷ）２ａと、中継装置である加入者回線終端装置（ＯＮＵ）１ａとを備えている。加入者線５は、ＰＯＮ（Passive Optical Network）であり、図示していない他の加入者のネットワークの使用状況によって帯域が変化する。図８においては、加入者側の通信端末３−１は電話機であり、通信端末３−２〜３−４はパーソナルコンピュータであり、ＧＷ２ａおよびＯＮＵ１ａについては、通信端末３−１〜３−４からのデータフレームを加入者線５に送信する機能に関わる構成要素のみを示している。
【００８２】
ＯＮＵ１ａは、先の図１に示した実施の形態１のＯＮＵ１のキュー書込制御部１２の代わりにキュー書込制御部１２ａを備えている。先の図１に示したＯＮＵ１と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００８３】
キュー書込制御部１２ａは、先の図１に示した実施の形態１のキュー書込制御部１２の機能に加えて、リンク確立後に対向装置であるＧＷ２ａに対して、優先クラスの数を要求する制御フレームを送信するとともに、この制御フレームに対する応答フレームに基づいて、自装置のキュー１３１−１，１３１−２に割当てられている優先クラスとＧＷ２ａのキュー２３１−１〜２３１−４に割当てられている優先クラスとを対応付けた優先クラス対応情報を生成する。キュー書込制御部１２ａは、この優先クラス対応情報に基づいてデータフレーム受信側のフロー制御処理を実行する。
【００８４】
ＧＷ２ａは、先の図１に示した実施の形態１のＧＷ２のキュー読出制御部２１の代わりにキュー読出制御部２１ａを備え、通信端末３−３，３−４を収容するＵＮＩ２４−３，ＵＮＩ２４−４と、ＵＮＩ２４−３，２４−４からのデータフレームを蓄積するキュー２３１−３，２３１−４が追加されている。ＵＮＩ２４−３，２４−４は、図１に示したＵＮＩ２４−１，２４−２と同じ機能を備えており、先の図１に示したＧＷ２と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００８５】
キュー読出制御部２１ａは、先の図１に示した実施の形態１のキュー読出制御部２１の機能に加えて、リンク確立後に対向装置であるＯＮＵ１ａからの優先クラスの数を要求する制御フレームを受けた場合、自装置が有するキュー２３１−１〜２３１−４に割当てられている優先クラスの情報を含む応答フレームを送信する機能を備えている。
【００８６】
つぎに、図８、および図９のシーケンス図を参照して、この実施の形態２の通信システムの動作を説明する。ＧＷ２ａとＯＮＵ１ａとがレイヤ２ネットワーク４によって接続されると（ステップＳ３００）、ＧＷ２ａおよびＯＮＵ１ａは、あらかじめ定められたレイヤ２ネットワーク（たとえば、イーサネット（登録商標））のリンク確立手順にしたがって、装置間のリンクを確立する（ステップＳ３０１）。
【００８７】
リンク確立後、ＯＮＵ１ａは、対向装置であるＧＷ２の優先クラス数を読み出して、自装置のキューの優先クラスとＧＷ２の優先クラスとの対応付けるネゴシエーションを実行する（ステップＳ３０２）。
【００８８】
具体的には、ＯＮＵ１ａのキュー書込制御部１２ａは、優先クラスの数を要求する制御フレームを生成し、ＮＵＩ１５を介して生成した制御フレームをＧＷ２ａに送信する。ＧＷ２ａのキュー読出制御部２１ａは、ＮＮＩ２６を介して優先クラスの数を要求する制御フレームを受信すると、自装置のキュー２３１−１〜２３１−４に割当てられている優先クラスの情報を含む応答フレームを生成する。
【００８９】
ここでは、キュー２３１−１に優先クラス１が割当てられ、キュー２３１−２に優先クラス２が割当てられ、キュー２３１−３に優先クラス３が割当てられ、キュー２３１−４に優先クラス４が割当てられている。したがって、キュー読出制御部２１ａは、自装置が４つの優先クラスを有していること示す情報（たとえば、優先クラスの数「４」）を含む応答フレームを生成する。ＧＷ２ａのキュー読出制御部２１ａは、ＮＮＩ２６を介して生成した応答フレームをＯＮＵ１ａに送信する。
【００９０】
ＯＮＵ１ａのキュー書込制御部１２ａは、ＧＷ２ａからの応答フレームを受信して、ＧＷ２ａが有する優先クラスの数を認識する。キュー書込制御部１２ａは、認識した優先クラスの数に基づいて、自装置が有する優先クラスとＧＷ２ａが有する優先クラスとを対応付けた優先クラス対応情報を生成する。ここでは、ＯＮＵ１ａは優先クラス１のキュー１３１−１と優先クラス２のキュー１３１−２とを備えており、ＧＷ２ａからは優先クラスの数が４つであることが通知されている。ＯＮＵ１ａのキュー書込制御部１２ａは、自装置の優先クラス１とＧＷ２ａの優先クラス１とを対応付け、自装置の優先クラス２とＧＷ２ａの優先クラス２〜４とを対応付けた優先クラス対応情報を生成する。
【００９１】
その後、ＧＷ２ａおよびＯＮＵ１ａは、先の実施の形態１と同様に、通信装置３−１〜３−４からのデータフレームを加入者線５に送信する動作を開始する。このとき、ＧＷ２ａのキュー読出制御部２１ａは、低優先の優先クラス２〜３に対して送信機会がなくなることを避けるため、優先クラス２〜４に対して重み付けを行い、その重み付けに応じて最低限の送信機会を優先クラス２〜４のキュー２３１−２〜２３１−４に蓄積されるデータフレームに対して保証するようなキュー読出しの優先制御を行なう。
【００９２】
ＯＮＵ１ａのキュー書込制御部１２ａは、ＧＷ２ａから受信したデータフレーム内の優先クラスを示す情報および優先クラス対応情報に基づいて、優先クラス１のデータフレームをキュー１３１−１に振り分け、優先クラス２〜４のデータフレームをキュー１３１−２に振り分ける。
【００９３】
ＯＮＵ１ａのキュー書込制御部１２ａは、高優先のキュー１３１−１に蓄積されるデータフレームのデータ量が停止閾値を超えた場合には、優先クラス対応情報に基づいて優先クラス１のデータフレームの送信を停止させるフロー制御メッセージを生成する。すなわち、先の図２に示したフロー制御メッセージのキュー指定の優先クラス１に対応するＢ０に「１」を設定し、中断時間に停止時間を設定する。
【００９４】
ＯＮＵ１ａのキュー書込制御部１２ａは、低優先のキュー１３１−２に蓄積されているデータフレームのデータ量が停止閾値を超えた場合には、優先クラス対応情報に基づいて優先クラス２〜４のデータフレームの送信を停止させるフロー制御メッセージを生成する。すなわち、先の図２に示したフロー制御メッセージのキュー指定の優先クラス２〜４に対応するＢ１〜Ｂ３に「１」を設定し、中断時間に停止時間を設定する。キュー書込制御部１２ａは、ＵＮＩ１５を介して生成したフロー制御メッセージをＧＷ２ａに送信する。
【００９５】
ＧＷ２ａのキュー読出制御部２１ａは、ＮＮＩ２６を介してフロー制御メッセージを受信し、受信したフロー制御メッセージに基づいてデータフレーム受信側のフロー制御を行なう。具体的には、キュー読出制御部２１ａは、優先クラス１の送信を停止させるフロー制御メッセージを受信した場合には優先クラス１のキュー２３１−１からのデータフレームの読出しを停止し、優先クラス２〜４の送信を停止させるフロー制御メッセージを受信した場合には、優先クラス２〜４のキュー２３１−２〜２３１−４からのデータフレームの読出しを停止する。
【００９６】
ＯＮＵ１ａのキュー書込制御部１２ａは、データフレームの送信を停止させるフロー制御メッセージを送信した後、送信を停止させたデータフレームを蓄積する優先クラスのキューに蓄積されるデータ量と再開閾値とを比較し、データ量が再開閾値より小さくなった場合にデータフレームの送信を再開させるフロー制御メッセージを生成する。
【００９７】
具体的には、優先クラス１のデータフレームの送信を停止させるフロー制御メッセージを送信した後、ＯＮＵ１ａのキュー書込制御部１２ａは、高優先のキュー１３１−１に蓄積されるデータフレームのデータ量が再開閾値より小さくなった場合、優先クラス対応情報に基づいて優先クラス１のデータフレームの送信を再開させるフロー制御メッセージを生成する。すなわち、先の図２に示したフロー制御メッセージのキュー指定の優先クラス１に対応するＢ０に「１」を設定し、中断時間に「０」を設定する。
【００９８】
ＯＮＵ１ａのキュー書込制御部１２ａは、優先クラス２〜４のデータフレームの送信を停止させるフロー制御メッセージを送信した後、低優先のキュー１３１−２に蓄積されているデータフレームのデータ量が再開閾値より小さくなった場合、優先クラス対応情報に基づいて優先クラス２〜４のデータフレームの送信を再開させるフロー制御メッセージを生成する。すなわち、先の図２に示したフロー制御メッセージのキュー指定の優先クラス２〜４に対応するＢ１〜Ｂ３に「１」を設定し、中断時間に「０」を設定する。キュー書込制御部１２ａは、ＵＮＩ１５を介して生成したフロー制御メッセージをＧＷ２ａに送信する。
【００９９】
ＧＷ２ａのキュー読出制御部２１ａは、ＮＮＩ２６を介してフロー制御メッセージを受信し、受信したフロー制御メッセージに基づいてデータフレーム受信側のフロー制御を行なう。具体的には、キュー読出制御部２１ａは、優先クラス１の送信を再開させるフロー制御メッセージを受信した場合には優先クラス１のキュー２３１−１からのデータフレームの読出しを再開し、優先クラス２〜４の送信を再開させるフロー制御メッセージを受信した場合には、優先クラス２〜４のキュー２３１−２〜２３１−４からのデータフレームの読出しを再開する。
【０１００】
このようにこの実施の形態２においては、ＧＷ２ａとのリンク確立後に、ＯＮＵ１ａのキュー書込制御部１２ａが、優先クラスの数を要求する制御フレームをＧＷ２に送信し、ＧＷ２のキュー読出制御部２１ａが、制御フレームを受けると自身が有するキュー２３１−１〜２３１−４に割当てられている優先クラスの数を含む応答フレームをＯＮＵ１ａに送信し、ＯＮＵ１ａのキュー書込制御部１２ａは、応答フレームに含まれるＧＷ２の優先クラスの数に基づいて、ＧＷ２の優先クラスと自身のキュー１３１−１，１３１−２に割当てられている優先クラスとを対応付けた優先クラス対応情報を生成し、この優先クラス対応情報に基づいてフロー制御メッセージ内の優先クラス情報に優先クラスを設定するようにしている。
【０１０１】
すなわち、ＯＮＵ１ａおよびＧＷ２ａが、リンク確立後にフロー制御に用いる優先クラスの情報を収集するネゴシエーションによって優先クラスの数を読み出して自身が有するキューの優先クラスと対応付けるようにしているため、ＯＮＵ１ａとＧＷ２ａと優先クラスの数が異なるようなマルチベンダー環境においても、優先クラスに応じたフロー制御を行なうことができ、サービス毎に異なる通信品質の要求を満たすことができる。
【０１０２】
なお、この実施の形態２においては、ＧＷ２ａの優先クラス１とＯＮＵ１ａの優先クラス１とを対応付け、ＧＷ２ａの優先クラス２〜４とＯＮＵ１ａの優先クラス２とを対応付けた場合を例に挙げて説明したが、優先クラスの対応付けはこれに限るものではない。たとえば、ＧＷ２ａの優先クラス１、２とＯＮＵ１ａの優先クラス１とを対応付け、ＧＷ２ａの優先クラス３、４とＯＮＵ１ａの優先クラス２とを対応付けてもよいし、ＧＷ２ａの優先クラス１〜３とＯＮＵ１ａの優先クラス１とを対応付け、ＧＷ２ａの優先クラス４とＯＮＵ１ａの優先クラス２とを対応付けてもよい。すなわち、ＧＷ２ａの優先クラスとＯＮＵ１ａの優先クラスの対応付けは、ＧＷ２ａのＵＮＩ２４−１〜２４−４が収容する通信端末３−１〜３−４が送信するデータフレームが低遅延を要求するものであるのか、遅延を許容するものであるのかなどによって決定するようにすればよい。
【産業上の利用可能性】
【０１０３】
以上のように、本発明にかかるフロー制御方法は、レイヤ２ネットワークによって接続される中継装置に有用であり、特に、中継層置間を接続するレイヤ２ネットワークとは帯域が異なるネットワークにデータフレームを送信する通信システムに適している。
【図面の簡単な説明】
【０１０４】
【図１】この発明における実施の形態１のフロー制御方法が適用される通信システムの一例を示す構成図である。
【図２】図１に示したキュー書込制御部が生成するフロー制御用メッセージのフォーマットの一例を示す図である。
【図３】データフレーム受信側のフロー制御処理の動作を説明するためのフローチャートである。
【図４】データフレーム送信側のフロー制御処理の動作を説明するためのフローチャートである。
【図５】ＧＷ２の高優先のキューと低優先のキューのトラヒックの時間的変化を示す図である。
【図６】この発明における実施の形態１のフロー制御方法が適用される通信システムの一例を示す構成図である。
【図７】図１に示したキュー書込制御部が生成するフロー制御用メッセージのフォーマットの一例を示す図である。
【図８】この発明における実施の形態２のフロー制御方法が適用される通信システムの一例を示す構成図である。
【図９】この発明にかかる実施の形態２の通信システムの動作を説明するためのシーケンス図である。
【符号の説明】
【０１０５】
１，１ａ  ＯＮＵ
２，２ａ  ＧＷ
３−１，３−２，３−３，３−４  通信端末
４  レイヤ２ネットワーク
５  加入者線
１１，２１，２１ａ  キュー読出制御部
１２，１２ａ，２２  キュー書込制御部
１３，２３  バッファ部
１４，２５  ＮＮＩ
１５，２４−１，２４−２，２４−３，２４−４  ＵＮＩ
１３１−１，１３１−２，２３１−１，２３１−２，２３１−３，２３１−４  キュー
【図１】
0004606984.tif 000002
【図２】
0004606984.tif 000003
【図３】
0004606984.tif 000004
【図４】
0004606984.tif 000005
【図５】
0004606984.tif 000006
【図６】
0004606984.tif 000007
【図７】
0004606984.tif 000008
【図８】
0004606984.tif 000009
【図９】
0004606984.tif 000010