(57)【要約】      （修正有）【課題】多段接続時の通信装置毎の出力帯域の公平性を確保できる通信装置、通信システム及び通信方法を提供する。【解決手段】通信装置は、受信部５１と、制御部５２と、更新部５３と、送信部５４とを有する。受信部５１は、接続する第１の通信装置から制御信号を受信する。制御部５２は、受信した制御信号内の重み値に基づき、当該通信装置の出力帯域を制御する。更新部５３は、受信した制御信号内の重み値を更新する。送信部５４は、更新した重み値を含む制御信号を、接続する第２の通信装置に送信する。【選択図】図４
2017163270.tif 000002
【特許請求の範囲】
【請求項１】
接続する第１の通信装置から制御信号を受信する受信部と、
前記受信した前記制御信号内の重み値に基づき、当該通信装置の出力帯域を制御する制御部と、
前記受信した前記制御信号内の重み値を更新する更新部と、
前記更新した前記重み値を含む前記制御信号を、接続する第２の通信装置に送信する送信部と
を有することを特徴とする通信装置。
【請求項２】
前記制御信号は、
前記第１の通信装置配下の下位の通信装置から当該第１の通信装置までのスタック段数を含み、
前記制御部は、
前記制御信号内の前記スタック段数に基づき、当該通信装置の出力帯域を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御信号は、
前記第１の通信装置及び、前記第１の通信装置配下の下位の通信装置の各割当帯域量を含み、
前記制御部は、
前記制御信号内の前記各割当帯域量と、当該通信装置内の割当帯域量とに基づき、当該通信装置の出力帯域を制御することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
第１の通信装置と、第２の通信装置と、前記第１の通信装置からの信号を受信し、受信した信号を前記第２の通信装置に転送する通信装置とを有する通信システムであって、
前記通信装置は、
前記第１の通信装置から制御信号を受信する受信部と、
前記受信した前記制御信号内の重み値に基づき、当該通信装置の出力帯域を制御する制御部と、
前記受信した前記制御信号内の重み値を更新する更新部と、
前記更新した前記重み値を含む前記制御信号を前記第２の通信装置に送信する送信部と
を有することを特徴とする通信システム。
【請求項５】
第１の通信装置からの信号を受信し、受信した信号を第２の通信装置に転送する通信装置の通信方法であって、
前記通信装置は、
前記第１の通信装置から制御信号を受信し、
前記受信した前記制御信号内の重み値に基づき、当該通信装置の出力帯域を制御し、
前記受信した前記制御信号内の重み値を更新し、
前記更新した前記重み値を含む前記制御信号を前記第２の通信装置に送信する
処理を実行させることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム及び通信方法に関する。
【背景技術】
【０００２】
ネットワーク内の複数の通信装置をスタック（多段）に接続する通信システムがある。下位側の通信装置は、上位側の通信装置にデータを送信する場合、自装置と接続する上位の通信装置を通じて宛先の上位側の通信装置にデータを送信できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−９７５０７号公報
【特許文献２】特開２００１−３２０４２０号公報
【特許文献３】特開２００６−１０１５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、下位側の通信装置から上位側の通信装置へのアップリンク方向に対する帯域制御を特に設定せずにスタック接続構成を実施した場合、下位になるに連れて、上位側の通信装置に送信できるデータ量の比率が低下する。図１７は、通信システム内の通信装置毎の転送レート比率の設定内容の一例を示す説明図である。
【０００５】
図１７に示す通信システム２００は、＃０〜＃３の通信装置２０１を有する。通信システム２００では、上位の＃０の通信装置２０１の配下に＃１の通信装置２０１を接続し、＃１の通信装置２０１の配下に＃２の通信装置２０１を接続し、＃２の通信装置２０１の配下に＃３の通信装置２０１を接続している。＃１の通信装置２０１は、複数の端末２０２を含む＃１の端末群２０３を収容して接続する。更に、＃２の通信装置２０１は、複数の端末２０２を含む＃２の端末群２０３を収容して接続する。更に、＃３の通信装置２０１は、複数の端末２０２を含む＃３の端末群２０３を収容して接続する。
【０００６】
最下位の＃３の通信装置２０１は、＃０の通信装置２０１に対してデータを送信する場合、そのデータを上段の＃２の通信装置２０１に転送する。更に、＃２の通信装置２０１は、＃０の通信装置２０１に対してデータを送信する場合、そのデータを上段の＃１の通信装置２０１に転送する。そして、＃１の通信装置２０１は、＃０の通信装置２０１に対してデータを送信する。
【０００７】
通信システム２００は、各通信装置２０１のアップリンク方向への帯域制御をベストエフォート型とし、フレームを先着順で送信するものとする。そして、各通信装置２０１は、アップリンク方向の帯域量＜ダウンリンク方向の帯域量で統計多重されるものとする。
【０００８】
この場合、＃２の通信装置２０１は、＃０の通信装置２０１宛の＃３及び＃２の端末群２０３のデータを＃１の通信装置２０１に転送する場合、その転送レート比率として、端末群＃２：端末群＃３＝１：１となる。この際、＃２の端末群２０３と＃３の端末群２０３の転送レート比率は１：１であるため、出力帯域の公平性が確保できる。更に、＃１の通信装置２０１は、＃０の通信装置２０１宛の＃３及び＃２の端末群２０３のデータの他に、＃０の通信装置２０１宛の＃１の端末群２０３のデータを＃０の通信装置２０１に転送する場合、その転送レート比率として、端末群＃１：端末群＃２:端末群＃３＝２：１：１となる。
【０００９】
つまり、＃１の端末群２０３の転送レート比率は５０％であるのに対し、＃２及び＃３の端末群２０３の転送レート比率が夫々２５％となるため、下位になるに連れて、アップリンク方向に送信できるデータ量の比率が低下する。その結果、通信システム２００内の通信装置２０１毎の出力帯域の公平性が確保できなくなる。
【００１０】
そこで、通信装置２０１毎の出力帯域の公平性を確保するために、通信システム２００の保守者が、通信装置２０１のスタック構成を意識した帯域制御を実行する必要がある。その結果、保守者の作業負担が大となる。
【００１１】
一つの側面では、多段接続時の通信装置毎の出力帯域の公平性を確保できる通信装置、通信システム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
一つの態様の通信装置は、受信部と、制御部と、更新部と、送信部とを有する。受信部は、接続する第１の通信装置から制御信号を受信する。制御部は、前記受信した前記制御信号内の重み値に基づき、当該通信装置の出力帯域を制御する。更新部は、前記受信した前記制御信号内の重み値を更新する。送信部は、前記更新した前記重み値を含む前記制御信号を、接続する第２の通信装置に送信する。
【発明の効果】
【００１３】
一つの側面として、多段接続時の通信装置毎の出力帯域の公平性を確保できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１の通信システムの一例を示す説明図である。
【図２】図２は、実施例１の通信装置内のカード構成の一例を示すブロック図である。
【図３】図３は、通信装置内の構成の一例を示すブロック図である。
【図４】図４は、ＳＷカード内の機能構成の一例を示す説明図である。
【図５Ａ】図５Ａは、ＶＬＡＮタグ無しフレームのフォーマット構成の一例を示す説明図である。
【図５Ｂ】図５Ｂは、ＶＬＡＮタグフレームのフォーマット構成の一例を示す説明図である。
【図６】図６は、ＢＣフレームのフォーマット構成の一例を示す説明図である。
【図７】図７は、通信システム内の通信装置毎の転送レート比率の設定内容の一例を示す説明図である。
【図８】図８は、段数更新処理に関わる＃０、＃１及び＃２の通信装置の処理動作の一例を示すシーケンス図である。
【図９】図９は、段数更新処理に関わる＃０、＃１及び＃２の通信装置の処理動作の一例を示すシーケンス図である。
【図１０】図１０は、受信処理に関わる通信装置内の受信処理部の処理動作の一例を示すフローチャートである。
【図１１】図１１は、第１の設定処理に関わる通信装置内のＦＰＧＡの処理動作の一例を示すフローチャートである。
【図１２】図１２は、読出処理に関わる通信装置内のＦＰＧＡの処理動作の一例を示すフローチャートである。
【図１３】図１３は、実施例２の通信装置内のＳＷカード内の機能構成の一例を示す説明図である。
【図１４】図１４は、実施例２の通信システム内の通信装置毎の転送レート比率の設定内容の一例を示す説明図である。
【図１５】図１５は、第２の設定処理に関わる通信装置内のＦＰＧＡの処理動作の一例を示すフローチャートである。
【図１６】図１６は、通信プログラムを実行する通信装置の一例を示す説明図である。
【図１７】図１７は、通信システム内の通信装置毎の転送レート比率の設定内容の一例を示す説明図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて、本願の開示する通信装置、通信システム及び通信方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１６】
図１は、実施例１の通信システム１の一例を示す説明図である。図１に示す通信システム１は、複数の通信装置２をスタック接続することで構成する。例えば、上位の＃０の通信装置２の配下に＃１の通信装置２を接続し、＃１の通信装置２の配下に＃２の通信装置２を接続し、＃２の通信装置２の配下に＃３の通信装置２を接続する。通信装置２は、例えば、Ｌ２スイッチである。尚、説明の便宜上、＃０の通信装置２から＃１及び＃２の通信装置２を経由して＃３の通信装置２へのデータ方向をダウンリンク方向、＃３の通信装置２から＃２及び＃１の通信装置２を経由して＃０の通信装置２へのデータ方向をアップリンク方向とする。
【００１７】
＃０の通信装置２は、例えば、クラウド３やサーバ群４に接続するものとする。尚、＃０の通信装置２は、クラウド３は勿論のこと、インターネットに接続しても良い。＃１の通信装置２は、複数の端末５を含む＃１の端末群６を収容して接続する。尚、端末５は、例えば、クライアント端末である。更に、＃２の通信装置２は、複数の端末５を含む＃２の端末群６を収容して接続する。更に、＃３の通信装置２は、複数の端末５を含む＃３の端末群６を収容して接続する。
【００１８】
例えば、最下位の＃３の通信装置２は、上位の＃０の通信装置２に対してデータを送信する場合、そのデータをアップリンク方向にある上段の＃２の通信装置２に転送する。更に、＃２の通信装置２は、そのデータをアップリンク方向にある上段の＃１の通信装置２に転送する。そして、＃１の通信装置２は、上位の＃０の通信装置２に対してデータを転送する。そして、＃０の通信装置２は、＃２及び＃１の通信装置２を経由して最下位の＃３の通信装置２からのデータを受信できる。
【００１９】
図２は、実施例１の通信装置２内のカード構成の一例を示すブロック図である。図３は、通信装置２内の構成の一例を示すブロック図である。図２に示す通信装置２は、複数の回線ＩＦカード１１と、ＳＷカード１２と、制御カード１３とを実装している。各回線ＩＦカード１１は、複数のポート＃１〜＃Ｎや＃１Ａ〜＃ＮＡを収容し、例えば、端末群６内の各端末５と回線接続するＩＦカードである。各回線ＩＦカード１１は、フレームの受信処理を実行する受信部２０と、フレームの送信処理を実行する送信部３０とを有する。
【００２０】
ＳＷカード１２は、複数の回線ＩＦカード１１間を切替接続することで、回線ＩＦカード１１間でデータ信号を転送するスイッチ機能を内蔵したカードである。制御カード１３は、通信装置２全体を制御すると共に、通信装置２内の各カードの各種設定、アラームや統計情報の収集を司るカードである。尚、制御カード１３は、制御端末７と接続し、制御端末７からの設定操作に応じて通信装置２内の各種カードの内容を設定変更できる。更に、制御端末７は、制御カード１３を通じてアラームや統計情報を収集できる。
【００２１】
回線ＩＦカード１１、ＳＷカード１２及び制御カード１３は、通信装置２内のスロットに対して着脱可能なカードである。尚、説明の便宜上、通信装置２内の回線ＩＦカード１１、ＳＷカード１２及び制御カード１３は、通信装置２内のスロットに対して着脱可能にしたが、通信装置２に固定的に実装しても良い。
【００２２】
図３に示す回線ＩＦカード１１内の受信部２０は、受信処理部２１と、複数の宛先キュー２２とを有する。受信処理部２１は、ポート＃１〜＃Ｎからの受信フレームを識別する処理部である。受信処理部２１は、受信フレーム内の宛先情報、例えば、ＭＡＣアドレスやＩＰアドレス等に基づき、受信フレームを転送する処理部である。
【００２３】
宛先キュー２２は、宛先ポート毎に配置し、宛先ポート対応の受信フレームを格納するキューである。尚、受信処理部２１は、受信フレーム内の宛先情報に基づき、受信フレーム内の宛先ポートを特定し、特定した宛先ポートに対応する宛先キュー２２に受信フレームを格納する。回線ＩＦカード１１内の送信部３０は、複数の送信キュー３１を有する。送信キュー３１は、宛先ポート毎に備え、宛先ポート毎の転送フレームを格納するキューである。送信キュー３１は、格納したフレームを、先に到着した順に宛先ポートから順次出力する。
【００２４】
ＳＷカード１２は、ＳＷ処理部４１と、ＦＰＧＡ（Field  Programmable  Gate  Array）４２と、記憶部４３とを有する。ＳＷ処理部４１は、宛先キュー２２と送信キュー３１との間を切替接続する処理部である。ＦＰＧＡ４２は、ＳＷカード１２全体を制御する。記憶部４３は、各種情報を記憶する格納領域である。
【００２５】
図４は、ＳＷカード１２内の機能構成の一例を示す説明図である。図４に示すＦＰＧＡ４２は、機能構成として、受信部５１と、第１の制御部５２と、第１の更新部５３と、第１の送信部５４と、読出制御部５５とを有する。
【００２６】
受信部５１は、受信処理部２１から帯域制御（ＢＣ:Band  Control）フレーム内のスタック段数情報を取得する。尚、ＢＣフレームは、スタック段数情報を格納している。スタック段数情報は、配下の通信装置２のスタック段数を上位の通信装置２に報知する情報である。第１の制御部５２は、スタック段数情報に基づき、出力帯域を制御する。第１の制御部５２は、スタック段数情報に基づき、配下の端末群６毎の転送レート比率を算出する。更に、第１の制御部５２は、算出した端末群６毎の転送レート比率に基づき、端末群６毎の割当帯域量を算出する。そして、第１の制御部５２は、端末群６毎の転送レート比率及び割当帯域量に基づき、端末群６毎の出力帯域を制御する。
【００２７】
第１の更新部５３は、自装置に上位の通信装置２が存在する場合、ＢＣフレームから取得したスタック段数に＋１インクリメントする。尚、例えば、自装置が＃１の通信装置２とした場合、上位の通信装置２は＃０の通信装置２となる。また、自装置が＃２の通信装置２とした場合、上位の通信装置２は＃１の通信装置２となる。第１の送信部５４は、＋１インクリメント後のスタック段数をＢＣフレーム内に格納し、格納したＢＣフレームを上位の通信装置２に送信する。また、第１の送信部５４は、所定周期、例えば、１秒周期で上位の通信装置２に対してスタック段数“１”を格納したＢＣフレームを上位の通信装置２に送信する。尚、第１の送信部５４は、例えば、１秒周期で、スタック段数“１”のＢＣフレームを上位の通信装置２に送信する。更に、第１の送信部５４は、下位の通信装置２からのＢＣフレームの受信後のタイミングで、ＢＣフレーム内のスタック段数に＋１インクリメント後のスタック段数を含むＢＣフレームを上位の通信装置２に送信する。
【００２８】
読出制御部５５は、設定中の端末群６毎の転送レート比率に基づき、端末群６毎の宛先キュー２２のフレームの読み出しを制御する。読出制御部５５は、端末群６毎の転送レート比率に基づき、宛先キュー２２毎に格納した受信フレームを読み出し、読み出した受信フレームを、宛先キュー２２対応の宛先ポートに対応する送信キュー３１に転送して格納する。
【００２９】
記憶部４３は、段数メモリ６１と、比率メモリ６２と、割当メモリ６３とを有する。段数メモリ６１は、通信システム１内の自装置配下のスタック段数を格納する領域である。比率メモリ６２は、端末群６毎の転送レート比率を格納する領域である。割当メモリ６３は、端末群６毎の割当帯域量を格納する領域である。
【００３０】
第１の制御部５２は、受信部５１にてスタック段数を取得した場合、取得したスタック段数に基づき、自装置配下の端末群６のスタック段数を認識できる。更に、第１の制御部５２は、スタック段数を取得した場合、取得したスタック段数と段数メモリ６１に格納中のスタック段数とを比較する。そして、第１の制御部５２は、取得したスタック段数と段数メモリ６１に格納中のスタック段数とが異なる場合、取得したスタック段数を保持しながら、計測タイマを起動する。尚、計測タイマは、例えば、所定周期の３倍、すなわち３秒とする。第１の制御部５２は、受信部５１にて計測タイマ期間中に保持中のスタック段数と同じスタック段数を取得した場合、保持中のスタック段数を段数メモリ６１に記憶更新する。尚、第１の制御部５２は、複数のスタック段数を取得した場合、複数のスタック段数の内、最大のスタック段数を保持するものとする。
【００３１】
そして、第１の更新部５３は、段数メモリ６１内にスタック段数を更新した場合、受信したＢＣフレーム内のスタック段数を＋１インクリメントする。そして、第１の送信部５４は、＋１インクリメント後のスタック段数をＢＣフレーム内に格納し、そのＢＣフレームを上位の通信装置２に送信する。
【００３２】
図５Ａは、ＶＬＡＮタグ無しフレームのフォーマット構成の一例を示す説明図、図５Ｂは、ＶＬＡＮタグフレームのフォーマット構成の一例を示す説明図である。図５Ａに示すＶＬＡＮタグ無しフレーム７０は、宛先ＭＡＣ(Media  Access  Control)７１と、送信元ＭＡＣ７２と、Ｅ−ＴＹＰＥ７３と、ＰＤＵ(Protocol  Data  Unit)７４と、ＦＣＳ(Frame  Check  Sequence)７５とを有する。宛先ＭＡＣ７１は、当該フレームの宛先のＭＡＣアドレスを格納する４８ビットの領域である。送信元ＭＡＣ７２は、当該フレームの送信元アドレスを格納する４８ビットの領域である。Ｅ−ＴＹＰＥ７３は、フレームのタイプ種別を識別する１６ビットの領域である。ＰＤＵ７４は、例えば、ヘッダ部及びペイロード部を含む可変長のビット領域である。ＦＣＳ７５は、誤り検出及び訂正のチェックサム符号を格納する３２ビットの領域である。
【００３３】
図５Ｂに示すＶＬＡＮタグフレーム７０Ａは、宛先ＭＡＣ７１、送信元ＭＡＣ７２、Ｅ−ＴＹＰＥ７３、ＰＤＵ７４及びＦＣＳ７５の他に、ＶＬＡＮ(Virtual  Local  Area  Network)タグ７６を有する。ＶＬＡＮタグ７６は、ＴＰＩＤ(Tag  Protocol  Identifier)７６Ａと、ＰＣＩ（Priority  Code  Indicator）７６Ｂと、ＤＥＩ(Drop  Eligible  Indicator)７６Ｃと、ＶＬＡＮＩＤ７６Ｄとを有する。ＴＰＩＤ７６Ａは、ＶＬＡＮタグ付きのフレームを識別する識別子を格納する１６ビットの領域である。ＰＣＩ７６Ｂは、フレームの８クラスの優先度を識別する識別子を格納する３ビットの領域である。ＤＥＩ７６Ｃは、輻輳時に当該フレームを優先的に廃棄する廃棄優先度の識別子を格納する１ビットの領域である。ＶＬＡＮＩＤ７６Ｄは、ＶＬＡＮユーザを識別する識別子を格納する１２ビットの領域である。尚、ＴＰＩＤ７６Ａ及びＶＬＡＮＩＤ７６Ｄは、ＶＬＡＮタグと呼び、複数のＶＬＡＮを連続してスタック可能である。
【００３４】
図６は、ＢＣフレーム７０Ｂのフォーマット構成の一例を示す説明図である。図６に示すＢＣフレーム７０は、宛先ＭＡＣ７１、送信元ＭＡＣ７２、Ｅ−ＴＹＰＥ７３、ＰＤＵ７４及びＦＣＳ７５を有する。ＰＤＵ７４には、スタック段数情報等の制御情報を格納しているものとする。更に、Ｅ−ＴＹＰＥ７３には、本フレームがＢＣフレームを識別する任意のタイプ種別を格納しているものとする。
【００３５】
受信処理部２１は、受信フレーム内の宛先ＭＡＣ７１に基づき、宛先ポートを特定すると共に、受信フレーム内のＥ−ＴＹＰＥ７３に基づき、ＢＣフレームを識別する。更に、受信処理部２１は、本フレームがＢＣフレームであると識別した場合、ＰＤＵ７４内のスタック段数情報を識別する。
【００３６】
図７は、通信システム１内の通信装置２毎の転送レート比率の設定内容の一例を示す説明図である。＃３の通信装置２は、＃３の端末群６の＃０の通信装置２宛のデータを送信する場合、＃３の端末群６のデータを＃２の通信装置２に送信する。
【００３７】
＃２の通信装置２は、＃３の端末群６の＃０の通信装置２宛のデータの他に、＃２の端末群６の＃０の通信装置２宛のデータを＃１の通信装置２に送信する。この際、＃２の通信装置２は、＃２及び＃３の端末群６のデータを＃１の通信装置２に均等に転送すべく、端末群＃２：端末群＃３＝１：１の転送レート比率を設定する。その結果、＃２の通信装置２は、転送レート比率に基づき、＃２及び＃３の端末群６のデータを均等に＃１の通信装置２に転送できる。
【００３８】
更に、＃１の通信装置２は、＃３及び＃２の端末群６の＃０の通信装置２宛のデータの他に、＃１の端末群６の＃０の通信装置２宛のデータを＃０の通信装置２に送信する。この際、＃１の通信装置２は、＃１、＃２及び＃３の端末群６のデータを＃０の通信装置２に均等に転送すべく、端末群＃１：端末群＃２：端末群＃３＝１：１：１の転送レート比率を設定する。その結果、＃１の通信装置２は、転送レート比率に基づき、＃１、＃２及び＃３の端末群６のデータを均等に＃０の通信装置２に転送できる。
【００３９】
次に実施例１の通信システム１の動作について説明する。図８及び図９は、段数更新処理に関わる＃０、＃１及び＃２の通信装置２の処理動作の一例を示すシーケンス図である。尚、説明の便宜上、図８及び図９の例では、＃０の通信装置２配下にある＃１の通信装置２と＃０の通信装置２との接続中に、＃１の通信装置２配下に＃２の通信装置２を追加接続し、その後、＃２の通信装置２の追加接続を削除した場合の一連の処理動作を示している。
【００４０】
図８に示す＃１の通信装置２は、スタック段数“１”のＢＣフレームを生成し、生成したＢＣフレームを＃０の通信装置２に送信する（ステップＳ１１）。＃０の通信装置２は、配下の＃１の通信装置２からのＢＣフレームを受信した場合、ＢＣフレーム内のスタック段数“１”を段数メモリ６１内に更新する（ステップＳ１２）。＃１の通信装置２は、例えば、１秒周期で、スタック段数“１”のＢＣフレームを＃０の通信装置２に順次送信する（ステップＳ１１Ａ）。そして、＃０の通信装置２は、＃１の通信装置２からのＢＣフレームを順次受信した場合、ＢＣフレーム内のスタック段数“１”を段数メモリ６１内に順次維持する（ステップＳ１３Ａ）。尚、スタック段数の維持とは、段数メモリ６１内に格納中のスタック段数を維持するという意味である。
【００４１】
その後、＃２の通信装置２は、＃１の通信装置２の配下に追加接続されたものとする（ステップＳ１４）。＃２の通信装置２は、スタック段数“１”のＢＣフレームを生成し、生成したＢＣフレームを＃１の通信装置２に送信する（ステップＳ１５）。＃１の通信装置２は、配下の＃２の通信装置２からのＢＣフレームを受信した場合、ＢＣフレーム内のスタック段数“１”を＋１インクリメントし、スタック段数“２”を含むＢＣフレームを＃０の通信装置２に送信する（ステップＳ１６）。＃０の通信装置２は、＃１の通信装置２からスタック段数“２”のＢＣフレームを受信した場合、取得したスタック段数“２”と段数メモリ６１に格納中のスタック段数“１”とを比較する。そして、＃０の通信装置２は、取得した最大のスタック段数“２”を保持すると共に、計測タイマを起動する（ステップＳ１７）。尚、計測タイマのタイマ時間は、例えば、３秒とする。スタック段数の保持とは、段数メモリ６１内にスタック段数を格納するのではなく、格納前に、取得したスタック段数を保持するという意味である。
【００４２】
＃２の通信装置２は、１秒周期で、スタック段数“１”のＢＣフレームを＃１の通信装置２に順次送信する（ステップＳ１５Ａ）。更に、＃１の通信装置２は、＃２の通信装置２のＢＣフレームの受信の都度、スタック段数“２”のＢＣフレームを＃０の通信装置２に順次送信する（ステップＳ１６Ａ）。＃０の通信装置２は、スタック段数“２”のＢＣフレームを受信した場合、スタック段数“２”を保持する（ステップＳ１８Ａ）。
【００４３】
そして、＃０の通信装置２は、計測タイマのタイマ期間内に複数回のスタック段数“２”のＢＣフレームを受信した場合、スタック段数“２”を段数メモリ６１に更新する（ステップＳ１９）。その結果、＃０の通信装置２の段数メモリ６１は、スタック段数“１”からスタック段数“２”に更新されたことになる。
【００４４】
図９に示す＃０の通信装置２は、段数メモリ６１内にスタック段数“２”を更新した場合、計測タイマを再開する（ステップＳ１７Ａ）。＃０の通信装置２は、計測タイマのタイマ期間中にスタック段数“２”のＢＣフレームの受信を監視する。更に、＃０の通信装置２は、計測タイマがタイムアップするまでにスタック段数“２”のＢＣフレームの受信監視を継続する。更に、＃０の通信装置２は、計測タイマ期間中にスタック段数“２”のＢＣフレームを受信しながら、計測タイマがタイムアップした場合、その計測タイマを再起動する。スタック段数“２”のＢＣフレームの受信監視を継続する。
【００４５】
その後、＃２の通信装置２が＃１の通信装置２の配下から削除されたとする（ステップＳ１８）。この場合、＃０の通信装置２は、＃１の通信装置２からスタック段数“２”のＢＣフレームを受信できなくなるため、スタック段数“１”のＢＣフレームを受信し、スタック段数“１”を保持する（ステップＳ１３Ｂ）。そして、＃０の通信装置２は、ステップＳ１７Ａで再開した計測タイマのタイマ期間中にスタック段数“２”のＢＣフレームを受信できず、スタック段数“１”のＢＣフレームを受信し、スタック段数“１”を保持する（ステップＳ１３Ｂ）。
【００４６】
その結果、＃０の通信装置２は、計測タイマの計測タイマ期間中にスタック段数“２”のＢＣフレームを受信できなかった場合、保持中のスタック段数“１”を段数メモリ６１内に更新する（ステップＳ１９Ａ）。尚、段数メモリ６１は、スタック段数“２”からスタック段数“１”に更新されることになる。その後、＃０の通信装置２は、スタック段数“１”のＢＣフレームを受信する都度、そのスタック段数“１”を段数メモリ６１内に維持する（ステップＳ１３Ｃ）。
【００４７】
段数更新処理を実行する通信装置２は、下位の通信装置２からスタック段数を取得し、取得したスタック段数と段数メモリ６１内のスタック段数とを比較し、取得したスタック段数を保持し、計測タイマを起動する。そして、通信装置２は、計測タイマの計測タイマ期間中に保持中のスタック段数と同じスタック段数を取得した場合に、その保持中のスタック段数を段数メモリ６１内に更新する。その結果、通信装置２は、配下のスタック段数を認識できる。
【００４８】
通信装置２は、配下の通信装置２からスタック段数を取得するため、配下の通信装置２の追加接続若しくは接続削除が生じた場合でも、配下のスタック段数を認識できる。
【００４９】
図１０は、受信処理に関わる通信装置２内の受信処理部２１の処理動作の一例を示すフローチャートである。図１０に示す受信処理は、受信フレーム内の宛先情報に基づき、宛先ポートに対応した宛先キュー２２内に受信フレームを格納する処理である。
【００５０】
図１０において受信処理部２１は、受信ポートを通じて受信フレームを受信したか否かを判定する（ステップＳ３１）。受信処理部２１は、受信フレームを受信した場合（ステップＳ３１肯定）、受信フレーム内の宛先ＭＡＣ等の宛先情報を取得する（ステップＳ３２）。
【００５１】
受信処理部２１は、宛先情報に基づき、受信フレームの宛先カード及び宛先ポートを特定する（ステップＳ３３）。受信処理部２１は、特定された宛先ポートに対応した宛先キュー２２に受信フレームを格納し（ステップＳ３４）、受信フレーム情報をＦＰＧＡ４２に通知し（ステップＳ３５）、図１０に示す処理動作を終了する。受信処理部２１は、受信フレームを受信しなかった場合（ステップＳ３１否定）、図１０に示す処理動作を終了する。
【００５２】
図１０に示す受信処理は、受信フレーム内の宛先情報に基づき、宛先カード及び宛先ポートを特定し、特定された宛先カード及び宛先ポートに対応した宛先キュー２２内に受信フレームを格納する。その結果、通信装置２は、受信フレームを宛先に対応した宛先キュー２２内に格納できる。
【００５３】
図１１は、第１の設定処理に関わる通信装置２内のＦＰＧＡ４２の処理動作の一例を示すフローチャートである。図１１に示す第１の設定処理は、配下の通信装置２から取得したスタック段数に基づき、端末群６毎の転送レート比率及び割当帯域量を設定する処理である。
【００５４】
図１１においてＦＰＧＡ４２内の受信部５１は、ＢＣフレームを受信したか否かを判定する（ステップＳ４１）。受信部５１は、ＢＣフレームを受信した場合（ステップＳ４１肯定）、ＢＣフレーム内のスタック段数を取得する（ステップＳ４２）。
【００５５】
ＦＰＧＡ４２内の第１の制御部５２は、取得したスタック段数に基づき、端末群６毎の転送レート比率を算出し（ステップＳ４３）、算出した転送レート比率を設定する（ステップＳ４４）。尚、第１の制御部５２は、各端末群６の転送レートが均等になるように転送レート比率を算出し、算出した端末群６毎の転送レート比率を比率メモリ６２内に格納する。第１の制御部５２は、格納中の転送レート比率に基づき、端末群６毎の割当帯域量を算出し（ステップＳ４５）、端末群６毎の割当帯域量を割当メモリ６３内に格納し（ステップＳ４６）、図１１に示す処理動作を終了する。受信部５１は、ＢＣフレームを受信しなかった場合（ステップＳ４１否定）、図１１に示す処理動作を終了する。
【００５６】
第１の設定処理を実行する第１の制御部５２は、配下の通信装置２から取得したスタック段数に基づき、端末群６毎の転送レート比率を算出し、算出した転送レート比率を設定する。その結果、第１の制御部５２は、設定中の転送レート比率に対応した端末群６毎の割当帯域量を設定できる。
【００５７】
図１２は、読出処理に関わる通信装置２内のＦＰＧＡ４２の処理動作の一例を示すフローチャートである。図１２に示す読出処理は、設定中の転送レート比率に基づき、端末群６毎の出力帯域を制御する処理である。
【００５８】
図１２においてＦＰＧＡ４２内の読出制御部５５は、宛先キュー２２内にフレームがあるか否かを判定する（ステップＳ５１）。読出制御部５５は、宛先キュー２２内にフレームがある場合（ステップＳ５１肯定）、フレーム内の送信元ＭＡＣ等の送信元情報を取得する（ステップＳ５２）。
【００５９】
読出制御部５５は、取得した送信元情報に対応した端末群６の割当帯域量を取得し（ステップＳ５３）、当該フレームの帯域量が当該フレームの端末群６の割当帯域量以内にあるか否かを判定する（ステップＳ５４）。
【００６０】
読出制御部５５は、当該フレームの帯域量が当該フレームの端末群６の割当帯域量以内にある場合（ステップＳ５４肯定）、当該フレームを宛先キュー２２から読出出力する（ステップＳ５５）。読出制御部５５は、割当メモリ６３内の該当端末群６の割当帯域量から読出出力分の帯域量を減算し（ステップＳ５６）、割当メモリ６３内の端末群６毎の割当帯域量を更新し（ステップＳ５７）、図１２に示す処理動作を終了する。
【００６１】
読出制御部５５は、宛先キュー２２内にフレームがない場合（ステップＳ５１否定）、図１２に示す処理動作を終了する。読出制御部５５は、当該フレームの帯域量が当該フレームの端末群６の割当帯域量以内にない場合（ステップＳ５４否定）、図１２に示す処理動作を終了する。
【００６２】
読出制御部５５は、宛先キュー２２内に受信フレームがある場合、受信フレーム内の送信元情報に対応した端末群６の割当帯域量を取得し、受信フレームの帯域量が該当端末群６の割当帯域量以内の場合に宛先キュー２２内の受信フレームを出力する。その結果、通信装置２は、端末群６毎の割当帯域量に基づき、端末群６毎の出力帯域を制御できる。
【００６３】
実施例１の通信装置２は、配下の通信装置２からのスタック段数に基づき、端末群６毎の転送レートが均等になるように転送レート比率を算出し、算出した転送レート比率に基づき、端末群６毎の出力帯域量を制御する。その結果、通信装置２をスタック接続した場合でも、端末群６毎の出力帯域の公平性を確保できる。
【００６４】
通信装置２は、配下の通信装置２からスタック段数を含むＢＣフレームを受信するため、配下の通信装置２のスタック段数を認識できる。通信装置２は、配下の通信装置２のスタック段数を認識しているため、通信装置２の追加、削除若しくは障害の場合でも、自律的に出力帯域を制御できる。その結果、通信装置２の保守者の作業負担を軽減できる。
【００６５】
尚、上記実施例１の通信装置２は、配下の通信装置２からのスタック段数に基づき、端末群６毎の出力帯域量を制御した。しかしながら、スタック段数に限定されるものではなく、端末群毎の最大レート量を採用しても良く、その実施の形態につき、実施例２として以下に説明する。
【実施例２】
【００６６】
図１３は、実施例２の通信装置２内のＳＷカード１２内の機能構成の一例を示す説明図である。尚、実施例１の通信装置２と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【００６７】
図１３に示すＳＷカード１２内のＦＰＧＡ４２Ａは、第１の制御部５２の代わりに第２の制御部５２Ａ、第１の更新部５３の代わりに第２の更新部５６、第１の送信部５４の代わりに第２の送信部５４Ａを有する。更に、記憶部４３Ａは、段数メモリ６１の代わりに、端末群６毎の最大レート量を格納する最大レート量メモリ６４を有する。
【００６８】
第２の制御部５２Ａは、端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率を算出する。第２の制御部５２Ａは、算出した端末群６毎の転送レート比率を比率メモリ６２内に格納する。更に、第２の制御部５２Ａは、端末群６毎の転送レート比率に基づき、端末群６毎の出力帯域量を制御する。第２の制御部５２Ａは、端末群６毎の転送レート比率に基づき、端末群６毎の割当帯域量を算出する。第２の制御部５２Ａは、端末群６毎の割当帯域量を割当メモリ６３に格納する。
【００６９】
第２の更新部５６は、自装置に上位の通信装置２が存在する場合、ＢＣフレームから取得した端末群６の最大レート量の他に、自装置が収容する端末群６の最大レート量を付加する。第２の送信部５４Ａは、自装置が収容する端末群６の最大レート量を付加し、端末群６毎の最大レート量をＢＣフレーム内に格納し、格納したＢＣフレームを上位の通信装置２に送信する。第２の送信部５４Ａは、例えば、下位の通信装置２からの端末群６の最大レート量の他に、自装置が収容する端末群６の最大レート量を含むＢＣフレームを上位の通信装置２に送信する。
【００７０】
最大レート量メモリ６４は、自装置が収容する端末群６の最大レート量の他に、ＢＣフレーム内に格納された端末群６毎の最大レート量を格納する領域である。
【００７１】
図１４は、実施例２の通信システム１内の通信装置２毎の転送レート比率の設定内容の一例を示す説明図である。＃３の端末群６の最大レート量を５００Ｍｂｐｓ、その重み値を５とする。＃２の端末群６の最大レート量を７００Ｍｂｐｓ、その重み値を７とする。＃１の端末群６の最大レート量を３００Ｍｂｐｓ、その重み値を３とする。
【００７２】
＃３の通信装置２は、＃２の通信装置２に対して＃３の端末群６の最大レート量が５００Ｍｂｐｓの帯域量を割り当てる。＃２の通信装置２は、＃１の通信装置２の割当帯域量に対して、＃２の端末群６の最大レート量（７００Ｍｂｐｓ）と＃３の端末群６の最大レート量（５００Ｍｂｐｓ）との比率（７：５）を転送レート比率として設定する。
【００７３】
＃１の通信装置２は、＃０の通信装置２に対して＃１の端末群６の最大レート量（３００Ｍｂｐｓ）、＃２の端末群６の最大レート量（７００Ｍｂｐｓ）及び＃３の端末群６の最大レート量（５００Ｍｂｐｓ）の比率（３：７：５）を転送レート比率として設定する。＃１の通信装置２は、端末群＃１：端末群＃２：端末群＃３＝３：７：５の転送レート比率に基づき、＃１、＃２及び＃３の端末群６のデータを需要に応じて＃０の通信装置２に効率良く転送できる。
【００７４】
図１５は、第２の設定処理に関わる通信装置２内のＦＰＧＡ４２Ａの処理動作の一例を示すフローチャートである。図１５に示す第２の設定処理は、配下の通信装置２から取得した端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率及び割当帯域量を設定する処理である。
【００７５】
図１５においてＦＰＧＡ４２Ａ内の受信部５１は、ＢＣフレームを受信したか否かを判定する（ステップＳ６１）。受信部５１は、ＢＣフレームを受信した場合（ステップＳ６１肯定）、ＢＣフレーム内の端末群６毎の最大レート量を取得する（ステップＳ６２）。
【００７６】
ＦＰＧＡ４２Ａ内の第２の制御部５２Ａは、取得した端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率を算出し（ステップＳ６３）、算出した転送レート比率を設定する（ステップＳ６４）。第２の制御部５２Ａは、転送レート比率に基づき、端末群６毎の割当帯域量を算出し（ステップＳ６５）、端末群６毎の割当帯域量を割当メモリ６３内に格納し（ステップＳ６６）、図１５に示す処理動作を終了する。受信部５１は、ＢＣフレームを受信しなかった場合（ステップＳ６１否定）、図１５に示す処理動作を終了する。
【００７７】
第２の設定処理を実行する第２の制御部５２Ａは、配下の通信装置２から取得した端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率を算出し、算出した転送レート比率を設定する。その結果、第２の制御部５２Ａは、設定中の転送レート比率に対応した端末群６毎の割当帯域量を設定できる。
【００７８】
実施例２の通信装置２では、配下の通信装置２からの端末群６毎の最大レート量に基づき、最大レート量を反映した端末群６毎の転送レート比率を算出し、算出した転送レート比率に基づき、端末群６毎の出力帯域量を制御する。その結果、通信装置２をスタック接続した場合でも、端末群６毎の出力帯域の公平性を確保しながら、出力帯域の資源を有効活用できる。
【００７９】
尚、図６に示すフレーム７０Ｂでは、Ｅ−ＴＹＰＥ７３の内、任意のＥ−ＴＹＰＥに、本フレームがＢＣフレーム７０Ｂであることを示す識別子を定義した。しかしながら、Ｅ−ＴＹＰＥではなく、フレーム内のＶＬＡＮＩＤの内、任意のＶＬＡＮＩＤに、本フレームがＢＣフレームであることを示す識別子を定義しても良い。また、フレーム内の宛先ＭＡＣの内、任意の宛先ＭＡＣに本フレームがＢＣフレームであることを示す識別子を定義しても良い。
【００８０】
本実施例は、通信システム１内を転送するフレームとしてＥｔｈｅｒフレームを例示したが、ＩＰ（Internet  Protocol）フレームやＭＰＬＳ(Multi-Protocol  Label  Switching)フレーム等やパケット等にも適用可能である。
【００８１】
読出制御部５５は、ステップＳ５４にてフレームの帯域量が端末群６の割当帯域量以内でない場合、図１２に示す処理動作を終了したが、端末群６間で割当帯域量を調整するようにしても良い。
【００８２】
上記実施例の通信装置２では、収容接続する端末群６を１個としたが、複数個の端末群６でも良く、通信装置２は、端末群６毎の転送レート比率を設定できる。通信装置２では、端末群６毎の転送レート比率を設定したが、通信装置２毎の転送レート比率を設定しても良い。通信システム１は、通信装置２を直列に接続する構成を例示したが、例えば、複数の通信装置２を接続するメッシュ構成としても良い。
【００８３】
上記実施例１の通信装置２では、スタック段数に基づき、端末群６毎の転送レート比率を算出し、上記実施例２の通信装置２では、端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率を算出した。しかしながら、通信装置２は、スタック段数及び端末群６毎の最大レート量に基づき、端末群６毎の転送レート比率を算出しても良い。例えば、通信装置２は、スタック段数に基づき、端末群６毎の転送レート比率を算出し、更に、端末群６毎の最大レート量に基づき、算出した端末群６毎の転送レート比率を動的に調整するようにしても良い。
【００８４】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００８５】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）やＦＰＧＡ（Field  Programmable  Gate  Array）等上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ等で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良い。
【００８６】
各種情報を記憶する領域は、例えば、ＲＯＭ（Read  Only  Memory）や、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）やＮＶＲＡＭ（Non-Volatile  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）で構成しても良い。
【００８７】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを通信装置内のＦＰＧＡ等で実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する通信装置の一例を説明する。図１６は、通信プログラムを実行する通信装置１００の一例を示す説明図である。
【００８８】
図１６に示す通信プログラムを実行する通信装置１００は、通信ＩＦ１１０と、ＲＯＭ１２０と、ＦＰＧＡ１３０と、バス１４０とを有する。通信ＩＦ１１０、ＲＯＭ１２０及びＦＰＧＡ１３０は、バス１４０を介して接続される。通信ＩＦ１１０は、通信網内の他の通信装置と通信する。
【００８９】
そして、ＲＯＭ１２０には、上記実施例と同様の機能を発揮する通信プログラムが予め記憶されている。ＲＯＭ１２０は、通信プログラムとして受信プログラム１２０Ａ、制御プログラム１２０Ｂ、更新プログラム１２０Ｃ及び送信プログラム１２０Ｄが記憶されている。尚、ＲＯＭ１２０ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に通信プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
【００９０】
そして、ＦＰＧＡ１３０は、受信プログラム１２０ＡをＲＯＭ１２０から読み出し、受信プロセス１３０Ａとして機能する。更に、ＦＰＧＡ１３０は、制御プログラム１２０ＢをＲＯＭ１２０から読み出し、制御プロセス１３０Ｂとして機能する。ＦＰＧＡ１３０は、更新プログラム１２０ＣをＲＯＭ１２０から読み出し、更新プロセス１３０Ｃとして機能する。ＦＰＧＡ１３０は、送信プログラム１２０ＤをＲＯＭ１２０から読み出し、送信プロセス１３０Ｄとして機能する。
【００９１】
ＦＰＧＡ１３０は、接続する第１の通信装置から制御信号を受信する。ＦＰＧＡ１３０は、受信した制御信号内の重み値に基づき、当該通信装置の出力帯域を制御する。ＦＰＧＡ１３０は、受信した制御信号内の重み値を更新する。ＦＰＧＡ１３０は、更新した前記重み値を含む制御信号を、接続する第２の通信装置に送信する。その結果、多段接続時の通信装置毎の出力帯域の公平性を確保できる。
【符号の説明】
【００９２】
１  通信システム
２  通信装置
４２  ＦＰＧＡ
５１  受信部
５２  第１の制御部
５２Ａ  第２の制御部
５３  第１の更新部
５６  第２の更新部
５４  第１の送信部
５４Ａ  第２の送信部
【図１】
2017163270.tif 000003
【図２】
2017163270.tif 000004
【図３】
2017163270.tif 000005
【図４】
2017163270.tif 000006
【図５Ａ】
2017163270.tif 000007
【図５Ｂ】
2017163270.tif 000008
【図６】
2017163270.tif 000009
【図７】
2017163270.tif 000010
【図８】
2017163270.tif 000011
【図９】
2017163270.tif 000012
【図１０】
2017163270.tif 000013
【図１１】
2017163270.tif 000014
【図１２】
2017163270.tif 000015
【図１３】
2017163270.tif 000016
【図１４】
2017163270.tif 000017
【図１５】
2017163270.tif 000018
【図１６】
2017163270.tif 000019
【図１７】
2017163270.tif 000020