(57)【要約】【課題】Ｌ２ネットワークにおいてネットワーク全体としての公平性を損なうことなくシェーピングすること。【解決手段】通信制御装置は、レイヤー２スイッチにおいて観測された、キューごとの入力データレートを示す観測データレートを取得する観測データレート取得部と、所定の閾値を前記キューごとに記憶する閾値記憶部と、前記観測データレート取得部によって取得された観測データレートに基づく観測データと、前記閾値記憶部に記憶された閾値とに基づいて、前記キューごとのシェーピングレートを決定するシェーピングレート決定部と、前記シェーピングレート決定部によって決定された前記キューごとの前記シェーピングレートを前記レイヤー２スイッチに対して設定するシェーピングレート設定部と、を備える。【選択図】図６
2020005145.tif 000002
【特許請求の範囲】
【請求項１】
レイヤー２スイッチにおいて観測された、キューごとの入力データレートを示す観測データレートを取得する観測データレート取得部と、
所定の閾値を前記キューごとに記憶する閾値記憶部と、
前記観測データレート取得部によって取得された観測データレートに基づく観測データと、前記閾値記憶部に記憶された閾値とに基づいて、前記キューごとのシェーピングレートを決定するシェーピングレート決定部と、
前記シェーピングレート決定部によって決定された前記キューごとの前記シェーピングレートを前記レイヤー２スイッチに対して設定するシェーピングレート設定部と、
を備える通信制御装置。
【請求項２】
前記閾値は前記キューごとの所定の入力データレートを示す登録データレートであり、
前記シェーピングレート決定部は、前記観測データレートが前記登録データレートを超過した場合、前記観測データレートが前記登録データレートを超過させる原因となるフローを示す異常フローを特定する
請求項１に記載の通信制御装置。
【請求項３】
前記シェーピングレート決定部は、前記観測データレートが前記登録データレートを超過した前記キューに割り当てられた複数のフローを、それぞれ複数のキューに個別に割り当てるように割り当てを変更し、変更された前記割り当てにおいて前記観測データレートが前記登録データレートを超過するキューに割り当てられたフローを、前記異常フローとして特定する
請求項２に記載の通信制御装置。
【請求項４】
前記閾値は前記キューごとの入力データレートの所定の増加量を示すデータレート増加量であり、
前記シェーピングレート決定部は、前記観測データレートの増加量が前記データレート増加量を超過した場合、前記観測データレートの増加量が前記データレート増加量を超過させる原因となるフローを特定する
請求項１に記載の通信制御装置。
【請求項５】
レイヤー２スイッチにおいて観測された、キューごとの入力データレートを示す観測データレートを取得する観測データレート取得ステップと、
所定の閾値を前記キューごとに記憶する閾値記憶ステップと、
前記観測データレート取得ステップによって取得された観測データレートに基づく観測データと、前記閾値記憶ステップによって記憶された閾値とに基づいて、前記キューごとのシェーピングレートを決定するシェーピングレート決定ステップと、
前記シェーピングレート決定ステップによって決定された前記キューごとの前記シェーピングレートを前記レイヤー２スイッチに対して設定するシェーピングレート設定ステップと、
を有する通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイヤー２（以下「Ｌ２」という。）のネットワークの技術に関する。
【背景技術】
【０００２】
近年、増加するモバイルトラヒックを効率的に収容するため、Ｃ−ＲＡＮ（Centralized Radio Access Network）構成が検討されている（非特許文献１参照）。Ｃ−ＲＡＮでは、多数のＲＥ（Radio Equipment）が高密度で配置され、集約配置されたＲＥＣｓ（Radio Equipment Controls）に接続される。また、ＩＥＥＥ  ８０２．１ＣＭにおいて、フロントホールのトラヒックをＬ２ネットワークに収容する検討が進められている（非特許文献２参照）。一方、ＩｏＴ（Internet of Things）の一部に代表される、遅延を許容するトラヒック（遅延許容トラヒック）をアクセスネットワークに収容する検討も進められている。これらを鑑みて、フロントホール、バックホールに加え、遅延許容トラヒックを同一のＬ２ネットワークに収容したマルチサービス収容アクセスネットワーク（マルチサービスネットワーク）を検討した報告がなされている（非特許文献３参照）。
【０００３】
マルチサービスネットワークを流れるサービスにおいては、多数の端末がネットワーク上のアプリケーションサーバに同時に接続することがある。これによってデータフロー（以下「フロー」という。）が増加し、接続先サーバ及びＬ２ネットワークに負荷がかかることがある。
これに対し各Ｌ２スイッチは、一般に、サーバ及びＬ２ネットワークに想定外の負荷がかからないように、Ｌ２スイッチを流れるフローをシェーピングする。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ドコモ５Ｇホワイトペーパー， https://www.nttdocomo.co.jp/corporate/technology/whitepaper_5g/
【非特許文献２】Craig Gunther, "What's New in the World of IEEE 802.1 TSN", Standards News, IEEE Communications Magazine, Communications Standards Supplement, September 2016
【非特許文献３】久保尊広  他，「マルチサービスを収容したＬ２ネットワークにおける遅延の評価」，2016年電子情報通信学会通信ソサイエティ大会  通信講演論文集２  B-8-25，p.155，2016年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、Ｌ２スイッチによって転送される複数のフローに対してキュー及びシェーパーをそれぞれ個別に割り当てた場合、例えば、特定のフローが、通常想定される入力データレートよりも極めて高いデータレートで入力された場合であっても、当該特定のフローのみをシェーピングすることができる。このように、問題が生じたフローのみに対してシェーピングを行うことができるため、ネットワーク全体としての公平性が高くなる。
しかしながら、実際のＬ２スイッチにおいては、転送されるフローの数よりも、キュー及びシェーパーの数のほうが少ない場合がある。この場合、複数のフローが集約され、集約されたフローが１つのキュー又はシェーパーに入力される。
【０００６】
このような場合において、例えば、集約されたフローの中に含まれる１つのフローが、通常想定される入力データレートよりも極めて高いデータレートで入力されると、集約されたフロー全体が、通常想定される入力データレートよりも高いデータレートとなることがある。
【０００７】
シェーパーは、集約されたフローの中から、入力データレートを上昇させる原因となっているフロー（通常想定される入力データレートよりも極めて高いデータレートで入力されたフロー）を選別することはできない。そのため、シェーパーは、集約されたフロー全体に対してシェーピングを行う。その結果として、入力データレートを上昇させる原因となっているフロー以外のフローもまとめて、通常想定される入力データレートよりも高いデータレートに応じたシェーピングレートでシェーピングされてしまう。これにより、ネットワーク全体としての公平性が損なわれるという課題がある。
【０００８】
上記事情に鑑み、本発明は、Ｌ２ネットワークにおいてネットワーク全体としての公平性を損なうことなくシェーピングすることができる技術の提供を目的としている。
【課題を解決するための手段】
【０００９】
本発明の一態様は、レイヤー２スイッチにおいて観測された、キューごとの入力データレートを示す観測データレートを取得する観測データレート取得部と、所定の閾値を前記キューごとに記憶する閾値記憶部と、前記観測データレート取得部によって取得された観測データレートに基づく観測データと、前記閾値記憶部に記憶された閾値とに基づいて、前記キューごとのシェーピングレートを決定するシェーピングレート決定部と、前記シェーピングレート決定部によって決定された前記キューごとの前記シェーピングレートを前記レイヤー２スイッチに対して設定するシェーピングレート設定部と、を備える通信制御装置である。
【００１０】
また、本発明の一態様は、上記の通信制御装置であって、前記閾値は前記キューごとの所定の入力データレートを示す登録データレートであり、前記シェーピングレート決定部は、前記観測データレートが前記登録データレートを超過した場合、前記観測データレートが前記登録データレートを超過させる原因となるフローを示す異常フローを特定する。
【００１１】
また、本発明の一態様は、上記の通信制御装置であって、前記シェーピングレート決定部は、前記観測データレートが前記登録データレートを超過した前記キューに割り当てられた複数のフローを、それぞれ複数のキューに個別に割り当てるように割り当てを変更し、変更された前記割り当てにおいて前記観測データレートが前記登録データレートを超過するキューに割り当てられたフローを、前記異常フローとして特定する。
【００１２】
また、本発明の一態様は、上記の通信制御装置であって、前記閾値は前記キューごとの入力データレートの所定の増加量を示すデータレート増加量であり、前記シェーピングレート決定部は、前記観測データレートの増加量が前記データレート増加量を超過した場合、前記観測データレートの増加量が前記データレート増加量を超過させる原因となるフローを特定する。
【００１３】
また、本発明の一態様は、レイヤー２スイッチにおいて観測された、キューごとの入力データレートを示す観測データレートを取得する観測データレート取得ステップと、所定の閾値を前記キューごとに記憶する閾値記憶ステップと、前記観測データレート取得ステップによって取得された観測データレートに基づく観測データと、前記閾値記憶ステップによって記憶された閾値とに基づいて、前記キューごとのシェーピングレートを決定するシェーピングレート決定ステップと、前記シェーピングレート決定ステップによって決定された前記キューごとの前記シェーピングレートを前記レイヤー２スイッチに対して設定するシェーピングレート設定ステップと、を有する通信制御方法である。
【発明の効果】
【００１４】
本発明により、Ｌ２ネットワークにおいてネットワーク全体としての公平性を損なうことなくシェーピングすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係るネットワークコントローラ１１を用いたネットワークシステムの構成を示す図である。
【図２】本発明の第１の実施形態に係るネットワークコントローラ１１が記憶する登録データリストＬｓ１の構成を示す図である。
【図３】本発明の第１の実施形態に係るネットワークコントローラ１１が生成する観測データリストＬｓ２の構成を示す図である。
【図４】本発明の第１の実施形態に係るネットワークコントローラ１１による異常フローの選別処理を説明するための模式図である。
【図５】本発明の第１の実施形態に係るネットワークコントローラ１１の動作を示すフローチャートである。
【図６】本発明の第１の実施形態に係るネットワークコントローラ１１の機能構成を示すブロック図である。
【図７】本発明の第２の実施形態に係るネットワークコントローラ１１が生成する観測データリストＬｓ２’の構成を示す図である。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
【００１７】
［ネットワークシステムの構成］
以下、ネットワークコントローラ１１を用いたネットワークシステムの構成の一例について説明する。
図１は、本発明の第１の実施形態に係るネットワークコントローラ１１を用いたネットワークシステムの構成を示す図である。図１に示すように、ネットワークシステムは、Ｌ２ネットワーク１と、３０台の端末（端末２０−１、端末２０−２、・・・、及び端末２０−３０）と、アプリケーションサーバ３０と、を含んで構成される。
【００１８】
なお、端末２０−１、端末２０−２、・・・、及び端末２０−３０には、それぞれ識別番号が与えられている。端末２０−１、端末２０−２、・・・、及び端末２０−３０の識別番号は、それぞれ「＃１」、「＃２」、・・・、及び「＃３０」である。
なお、以下の説明において、端末２０−１、端末２０−２、・・・、及び端末２０−３０をそれぞれ区別する必要がない場合には、単に「端末２０」ということがある。
【００１９】
図１に示すように、端末２０とアプリケーションサーバ３０とは、Ｌ２ネットワーク１及び転送装置（図示せず）を介して接続されている。なお、図１に示すネットワークシステムにおいては、Ｌ２ネットワーク１とアプリケーションサーバ３０とが直接接続されているが、これらの間に複数の転送装置が介在している構成であってもよい。
【００２０】
Ｌ２ネットワーク１は、マルチサービスネットワークとして構成されている。
図１に示すように、Ｌ２ネットワーク１は、４つのＬ２スイッチ（Ｌ２スイッチ１０−１、Ｌ２スイッチ１０−２、・・・、及びＬ２スイッチ１０−４）と、ネットワークコントローラ１１と、から構成される。
【００２１】
なお、Ｌ２スイッチ１０−１、Ｌ２スイッチ１０−２、・・・、及びＬ２スイッチ１０−４には、それぞれ識別番号が与えられている。Ｌ２スイッチ１０−１、Ｌ２スイッチ１０−２、・・・、及びＬ２スイッチ１０−４の識別番号は、それぞれ「＃１」、「＃２」、・・・、及び「＃４」である。
なお、以下の説明において、Ｌ２スイッチ１０−１、Ｌ２スイッチ１０−２、・・・、及びＬ２スイッチ１０−４をそれぞれ区別する必要がない場合には、単に「Ｌ２スイッチ１０」ということがある。
なお、ネットワークコントローラ１１は、転送装置（図示せず）と同一の筐体に納められている構成であってもよい。
【００２２】
図１に示すように、Ｌ２スイッチ１０−１、Ｌ２スイッチ１０−２、・・・、及びＬ２スイッチ１０−４と、ネットワークコントローラ１１とは、それぞれ接続している。
【００２３】
図１に示すように、Ｌ２スイッチ１０−１は、Ｌ２スイッチ１０−２及びＬ２スイッチ１０−３と接続している。また、Ｌ２スイッチ１０−２は、Ｌ２スイッチ１０−１及びＬ２スイッチ１０−４と接続している。また、Ｌ２スイッチ１０−３は、Ｌ２スイッチ１０−１及びＬ２スイッチ１０−４と接続している。また、Ｌ２スイッチ１０−４は、Ｌ２スイッチ１０−２及びＬ２スイッチ１０−３と接続している。
【００２４】
図１に示すように、端末２０−１、端末２０−２．・・・、及び端末２０−１０は、Ｌ２スイッチ１０−１と通信接続する。また、端末２０−１１、端末２０−１２．・・・、及び端末２０−２０は、Ｌ２スイッチ１０−３と通信接続する。また、端末２０−２１、端末２０−２２．・・・、及び端末２０−３０は、Ｌ２スイッチ１０−４と通信接続する。
【００２５】
なお、端末２０の台数は３０台に限られるものではない。また、Ｌ２スイッチ１０の台数は４台に限られるものではない。また、各Ｌ２スイッチ１０に通信接続する端末２０の台数についても、図１に示したネットワークシステムの構成による台数に限られるものではない。
なお、各Ｌ２スイッチ１０がそれぞれ接続するその他のＬ２スイッチ１０は、図１に示したＬ２ネットワーク１の構成によるＬ２スイッチ１０に限られるものではない。
【００２６】
Ｌ２スイッチ１０は、入力されたフレームを、隣接する他のＬ２スイッチ１０へ出力する。これにより、Ｌ２ネットワーク１は、端末２０から入力されるフレーム（転送対象となるフレーム）を中継し、Ｌ２ネットワーク１に接続された上位ネットワーク（コアネットワーク）にあるサーバを介して、他の端末２０へフレームを出力することができる。なお、例えば、エッジノードから下の端末同士が接続するモバイルエッジコンピューティングにおいては、Ｌ２ネットワーク１は、転送対象となるフレームを中継し、フレームの宛先に近いエッジから他の端末２０へフレームを出力することができる。
【００２７】
ネットワークコントローラ１１は、各Ｌ２スイッチ１０に入力されるフローを識別する識別番号と、入力データレートと、が対応付けられた登録データのリストである登録データリストＬｓ１を予め記憶している。この登録データが示す入力データレート（以下「登録データレート」という。）の値は、後に詳しく説明する閾値として用いられる。
【００２８】
なお、入力データレートとは、例えば、一定時間の間にキューに流入するパケット量の総和を示すものである。入力データレートの単位は、例えば、Ｂ／ｓ（byte per second；バイト毎秒）である。
【００２９】
ネットワークコントローラ１１は、例えばアプリケーションサーバ３０から取得する情報に基づいて、登録データリストＬｓ１を予め生成し、記憶する。あるいは、ネットワークコントローラ１１は、例えばアプリケーションサーバ３０から登録データリストＬｓ１を予め取得し、記憶する。
【００３０】
また、ネットワークコントローラ１１は、各Ｌ２スイッチ１０の全てのキューを監視する。具体的には、ネットワークコントローラ１１は、各Ｌ２スイッチ１０から定期的に、各キューの入力データレートの値を取得する。ネットワークコントローラ１１は、取得した情報に基づいて、各Ｌ２スイッチ１０に入力されるフローを識別する識別番号と、取得した入力データレート（以下「観測データレート」という。）と、が対応付けられた観測データのリストである観測データリストＬｓ２を生成する。
【００３１】
また、ネットワークコントローラ１１は、観測データレートと、閾値である登録データレートとを比較する。そして、ネットワークコントローラ１１は、比較結果に基づいて、入力データレートを上昇させる原因となるフロー（以下「異常フロー」という。）を選別する。異常フローを選別する選別処理については、後に詳しく説明する。
【００３２】
［登録データリストの構成］
以下、登録データリストＬｓ１の構成の一例について説明する。
図２は、本発明の第１の実施形態に係るネットワークコントローラ１１が記憶する登録データリストＬｓ１の構成を示す図である。
【００３３】
図２に示すように、登録データリストＬｓ１は、各Ｌ２スイッチ１０に入力されるフローの識別番号（「＃１」、「＃２」、・・・、及び「＃ｍ」）と、各Ｌ２スイッチ１０の識別番号（「＃１」、「＃２」、・・・、及び「＃ｓ」）と、登録データレートと、が対応付けられたリスト形式のデータである。
【００３４】
なお、図２に示す登録データリストＬｓ１においては、登録データレートの値として、Ｄ１及びＤ２等が記載されているが、実際には、登録データレートの具体的な設定値が登録されている。
【００３５】
このように、登録データリストＬｓ１において、登録データレートはフローごとに識別され、フィールドとして管理されている。
【００３６】
［観測データリストの構成］
以下、観測データリストＬｓ２の構成の一例について説明する。
図３は、本発明の第１の実施形態に係るネットワークコントローラ１１が生成する観測データリストＬｓ２の構成を示す図である。
【００３７】
図３に示すように、観測データリストＬｓ２は、各Ｌ２スイッチ１０に入力されるフローの識別番号（「＃１」、「＃２」、・・・、及び「＃ｎ」）と、各Ｌ２スイッチ１０の識別番号（「＃１」、「＃２」、・・・、及び「＃ｓ」）と、観測データレートと、が対応付けられたリスト形式のデータである。
ここで、観測データリストＬｓ２における識別番号が示すフローは、複数のフローが集約されたフローである場合がある。
【００３８】
なお、図３に示す観測データリストＬｓ２においては、観測データレートの値として、Ｄ１’及びＤ２’等が記載されているが、実際には、観測データレートの具体的な実測値が登録されている。
【００３９】
なお、図２に例示した登録データリストＬｓ１、及び図３に例示した観測データリストＬｓ２の構成は、複数のＬ２スイッチ１０から入力される同一フローについても管理をすることができる構成にはなっていないが、これに限られるものではない。登録データリストＬｓ１及び観測データリストＬｓ２の構成を、複数のＬ２スイッチ１０から入力される同一フローについても管理をすることができるような構成にしてもよい。
【００４０】
［異常フローの選別処理］
以下、ネットワークコントローラ１１による、異常フローの選別処理の一例について説明する。
図４は、本発明の第１の実施形態に係るネットワークコントローラ１１による異常フローの選別処理を説明するための模式図である。
【００４１】
図４（Ａ）に示すように、あるＬ２スイッチ１０には６つのフロー（フロー＃１、フロー＃２、・・・、及びフロー＃６）が入力される。そして、ネットワークコントローラ１１は、入力された６つのフローを、キューの数に相当する３つに集約する。ネットワークコントローラ１１は、集約された３つのフローを、それぞれ３つのキュー（キュー＃１、キュー＃２、及びキュー＃３）に割り当てる。各キューに割り当てられた３つのフローは、３つのキューにそれぞれ対応する３つのシェーパー（１０１−１、シェーパー１０１−２、及びシェーパー１０１−３）によってそれぞれシェーピングされる。
【００４２】
ネットワークコントローラ１１は、各キューについて、登録データデータレートと観測データレートとを比較する。なお、ここで、図４（Ａ）に示す例のように、一つのキューに対して複数のフローが集約されたフローが入力されている場合がある。この場合、ネットワークコントローラ１１は、複数のフローに含まれるそれぞれのフローに対応する登録データレートの和と、観測データレートの和と、を比較する。
【００４３】
比較の結果、あるキューにおいて、観測データデータレートが、予め設定した閾値（すなわち、登録データレート）を超過している場合、ネットワークコントローラ１１は、異常フローの選別を開始する。
【００４４】
例えば、図４（Ａ）に示すように、ネットワークコントローラ１１は、入力された６つのフロー（フロー＃１、フロー＃２、・・・、及びフロー＃６）のうち、フロー＃１及びフロー＃２をキュー＃１に割り当てる。また、ネットワークコントローラ１１は、フロー＃３及びフロー＃５をキュー＃２に割り当てる。また、ネットワークコントローラ１１は、フロー＃４及びフロー＃６をキュー＃３に割り当てる。
【００４５】
ここで、キュー＃３において観測データレートが閾値を超過した場合を考える。すなわち、キュー＃３の観測データレートが、フロー＃４及びフロー＃６の登録データレートの和を超過した場合である。
【００４６】
この場合、図４（Ｂ）に示すように、ネットワークコントローラ１１は、観測データレートが閾値を超過したキュー＃３に割り当てられたフロー＃４及びフロー＃６を分離し、それぞれ個別にキュー＃２及びキュー＃３に、再度、割り当てを行う。また、ネットワークコントローラ１１は、観測データレートが閾値を超過していないキュー（すなわち、キュー＃２及びキュー＃３）に割り当てられたフロー（すなわち、フロー＃１、フロー＃２、フロー＃３、及びフロー＃５）を、残りのキュー（すなわち、キュー＃１）に、再度、割り当てを行う。
【００４７】
このように、ネットワークコントローラ１１は、閾値を超過したキューに割り当てられたフローを個別のフローに分離して、分離したフローをそれぞれ個別のキューに、再度、割り当てを行う。そして、ネットワークコントローラ１１は、再度、観測データレートが閾値を超過するキューを特定する。ここで、特定されたキューに割り当てられたフローが、複数のフローが集約されたフローである場合には、ネットワークコントローラ１１は、再度、フローを個別のフローに分離して、分離したフローをそれぞれ個別のキューに割り当てる処理を繰り返す。観測データレートが閾値を超過するキューに割り当てられたフローが、複数のフローが集約されたフローではなくなるまで上記の処理を繰り返すことにより、ネットワークコントローラ１１は、異常フローを一意に選別することができる。
【００４８】
［ネットワークコントローラの動作］
以下、異常フローの選別処理における、ネットワークコントローラ１１の動作の一例について説明する。
図５は、本発明の第１の実施形態に係るネットワークコントローラ１１の動作を示すフローチャートである。なお、図５のフローチャートが示す異常フローの選別処理は定期的に実行される。
【００４９】
ネットワークコントローラ１１は、監視するキューごとの観測データレートを、各Ｌ２スイッチ１０からそれぞれ取得する。ネットワークコントローラ１１は、取得したキューごとの観測データレートと、当該キューに割り当てられたフローの登録データレート（複数フローが集約されたフローである場合には、登録データレートの和）と、を比較する（ステップＳ１０１）。
【００５０】
ネットワークコントローラ１１は、監視するキューそれぞれについて、以下の判定処理を行う。
【００５１】
観測データレートと登録データレートとを比較した結果、観測データレートが登録データレートを超過していない場合（ステップＳ１０２・Ｎｏ）、ネットワークコントローラ１１は、次のキューについての判定処理に進む。あるいは、判定処理の対象としている全てのキューについての判定処理が終了した場合には、図５のフローチャートが示す異常フローの選別処理が終了する。
【００５２】
観測データレートと登録データレートとを比較した結果、観測データレートが登録データレートを超過している場合（ステップＳ１０２・Ｙｅｓ）、ネットワークコントローラ１１は、判定処理の対象としているキュー（キューｊ）に複数のフローが収容されているか否か（すなわち、複数のフローが集約されたフローが割り当てられているか否か）を確認する（ステップＳ１０３）。
【００５３】
判定処理の対象としているキュー（キューｊ）に複数のフローが収容されていない場合（ステップＳ１０３・Ｎｏ）、ネットワークコントローラ１１は、当該キュー（キューｊ）に収容されているフローを異常フローとして特定する（ステップＳ１０５）。
そして、ネットワークコントローラ１１は、次のキューについての判定処理に進む。あるいは、判定処理の対象としている全てのキューについての判定処理が終了した場合には、図５のフローチャートが示す異常フローの選別処理が終了する。
【００５４】
判定処理の対象としているキュー（キューｊ）に複数のフローが収容されている場合（ステップＳ１０３・Ｙｅｓ）、ネットワークコントローラ１１は、経過時間が、予め設定された設定値以下であるか否かを確認する（ステップＳ１０４）。
【００５５】
経過時間が、予め設定された設定値以下ではない場合（ステップＳ１０４・Ｎｏ）（すなわち、経過時間が所定の時間を超過した場合）、ネットワークコントローラ１１は、当該キュー（キューｊ）に収容されているフローを異常フローとして特定する（ステップＳ１０５）。なお、この場合、特定された異常フローは、複数のフローが集約されたフローである場合がある。
そして、ネットワークコントローラ１１は、次のキューについての判定処理に進む。あるいは、判定処理の対象としている全てのキューについての判定処理が終了した場合には、図５のフローチャートが示す異常フローの選別処理が終了する。
【００５６】
経過時間が、予め設定された設定値以下である場合（ステップＳ１０４・Ｙｅｓ）、ネットワークコントローラ１１は、判定処理の対象としているキュー（キューｊ）に収容されたフローを２つのフローに分離して、それぞれ２つのキュー（キューｊ１及びキューｊ２）に割り当てる。そして、ネットワークコントローラ１１は、２つのキュー（キューｊ１及びキューｊ２）をそれぞれ監視する（ステップＳ１０６）。
【００５７】
ネットワークコントローラ１１は、２つのキュー（キューｊ１及びキューｊ２）をそれぞれ監視した結果、キューｊ１及びキューｊ２のうちいずれか一方のみ、観測データレートが登録データレートを超過している場合（ステップＳ１０７・Ｙｅｓ）、上記ステップＳ１０３に戻り、観測データレートが登録データレートを超過しているキュー（キューｊ１又はキューｊ２）に複数のフローが収容されているか否か（すなわち、複数のフローが集約されたフローが割り当てられているか否か）を確認する。
【００５８】
ネットワークコントローラ１１は、２つのキュー（キューｊ１及びキューｊ２）をそれぞれ監視した結果、キューｊ１及びキューｊ２の双方が、観測データレートが登録データレートを超過している場合（ステップＳ１０７・Ｎｏ）、キューｊ１及びキューｊ２に収容するフローの組み合わせを変更する（ステップＳ１０８）。
そして、上記ステップＳ１０３に戻り、ネットワークコントローラ１１は、観測データレートが登録データレートを超過しているキュー（キューｊ１及びキューｊ２）に複数のフローが収容されているか否か（すなわち、複数のフローが集約されたフローが割り当てられているか否か）を、それぞれ確認する。
【００５９】
このように、ネットワークコントローラ１１は、異常フローを特定するための判定処理行う対象のキューに、一つのフローしか収容されていない状態となった場合（ステップＳ１０３・Ｎｏ）、又は、異常フローの選別処理を開始してから所定の時間が経過した場合（ステップＳ１０４・Ｎｏ）に、異常フローの選別処理を終了する。
前者は、異常フローが一つしか存在せず、かつ、異常フローを特定できた場合の終了条件である。一方、後者は、所定の時間内に異常フローを一意に特定することができずにタイムアップとなった場合の終了条件である。
【００６０】
なお、異常フローの選別処理を開始してからの経過時間に基づいて判定を行う代わりに、例えば、キューへのフローの割り当てから入力データレートの観測までの処理を１サイクルとして、このサイクルの数に基づいて判定を行う構成にしてもよい。
【００６１】
なお、ステップＳ１０８に示した、キューｊ１及びキューｊ２に収容するフローの組み合わせを変更する処理において、例えば、２つのキューに対して複数のフローを割り当て可能な全ての組み合わせについて、順に試行していくようにしてもよい。
【００６２】
このように、上述した異常フローの選別処理により、キューに１つのフローしか収容されていない状態になった場合には、当該フローを異常フローとして一意に選別することができ、当該異常フローを隔離することができる。また、上述した異常フローの選別処理を定期的に繰り返すことによって、異常フローの選別及び隔離を、常時、継続的に行うことができる。
【００６３】
［ネットワークコントローラの機能構成］
以下、ネットワークコントローラ１１の機能構成について説明する。
図６は、本発明の第１の実施形態に係るネットワークコントローラ１１の機能構成を示すブロック図である。図６に示すように、ネットワークコントローラ１１（通信制御装置）は、観測データレート取得部１１１と、登録データ記憶部１１２と、シェーピングレート決定部１１３と、シェーピングレート設定部１１４と、を含んで構成される。
【００６４】
観測データレート取得部１１１は、Ｌ２スイッチ１０において観測された、キューごとの観測データレートを、各Ｌ２スイッチ１０から定期的に取得する。
【００６５】
登録データ記憶部１１２（閾値記憶部）は、キューごとの所定の閾値である登録データレートを含む登録データリストＬｓ１を記憶する。なお、登録データレート又は登録データリストＬｓ１は、アプリケーションサーバ３０から取得される。
なお、登録データ記憶部１１２は、例えば、半導体メモリ又は磁気ディスク装置等の記憶媒体を含んで構成される。
【００６６】
シェーピングレート決定部１１３は、観測データレート取得部１１１によって取得された観測データレートと、登録データ記憶部１１２に記憶された登録データレートとに基づいて、キューごとのシェーピングレートを決定する。
【００６７】
シェーピングレート設定部１１４は、シェーピングレート決定部１１３によって決定されたキューごとのシェーピングレートを各Ｌ２スイッチ１０へ送信することによって、各Ｌ２スイッチ１０に対して当該キューごとのシェーピングレートを設定する。
【００６８】
＜第２の実施形態＞
以下、第２の実施形態について説明する。
上述した第１の実施形態では、ネットワークコントローラ１１は、入力データレート（観測データレート）を観測データとして、閾値（登録データレート）と比較することによって、異常フローの選別を行う構成であった。
一方、第２の実施形態では、ネットワークコントローラ１１は、入力データレートの代わりに入力データレートの増加量を観測データとして、異常フローの選別を行う構成である。
【００６９】
なお、入力データレートの増加量（以下「データレート増加量」という。）は、例えば、現在観測された観測データレートから、１サイクル前に観測された観測データレートを減算することによって算出される。
【００７０】
［観測データリストの構成］
以下、観測データリストＬｓ２’の構成の一例について説明する。
図７は、本発明の第２の実施形態に係るネットワークコントローラ１１が生成する観測データリストＬｓ２’の構成を示す図である。
【００７１】
図７に示すように、観測データリストＬｓ２は、各Ｌ２スイッチ１０に入力されるキューの識別番号（「＃１」、「＃２」、及び「＃３」）と、各キューに割り当てられたフローの識別番号（「＃１」及び「＃２」等）と、データレート増加量とが対応付けられた、リスト形式のデータである。
【００７２】
なお、図７に示す観測データリストＬｓ２’においては、データレート増価量の値としてＲ１及びＲ２等が記載されているが、実際には、データレート増加量の具体的な実測値が登録されている。
【００７３】
このように、第２の実施形態に係るネットワークコントローラ１１は、観測データレートが登録データレートを超過していない場合であっても、データレート増加量が予め設定された閾値を超過したことに基づいて、異常フローを選別することができる。これにより、第２の実施形態に係るネットワークコントローラ１１によれば、観測データレートが登録データレートを超過する前に異常フローを特定することができるため、より早いタイミングで適切なシェーピングを行うことが可能になる。
【００７４】
以上説明したように、Ｌ２ネットワークは、一般に、設定可能なキュー数よりも多い数のフローを収容することがある。従来のＬ２スイッチは、設定可能なキュー数よりも多い数のフローが流入する場合には、複数のフローをまとめて１つのキュー又はシェーパーに入力する。
【００７５】
そのため、従来のＬ２スイッチは、想定される入力データレートよりも高い入力データレートである場合に、入力データレートを上昇させる原因となっているフロー（異常フロー）を識別することができない。そのため、従来のＬ２スイッチは、複数フローが集約されたフロー全体に対してシェーピングを行ってしまう。これにより、異常フロー以外のフローもシェーピングされてしまうため、ネットワーク全体としての公平性が損なわれるという課題があった。
【００７６】
一方、上述した各実施形態におけるＬ２ネットワーク１のネットワークコントローラ１１は、複数のＬ２スイッチ１０から定期的に入力データレートを取得する。そして、観測データレートが登録データレート（予め登録されたデータレートの閾値）を超過した場合、ネットワークコントローラ１１は、異常フローの特定を行う。具体的には、ネットワークコントローラ１１は、上述したように、閾値を超過したキューに流入した複数のフローをそれぞれ個別のキューに入力し、観測データレートと登録データレートとをそれぞれ比較することによって、入力データレートを上昇させる原因となっている異常フローを選別することができる。
【００７７】
上述した各実施形態におけるＬ２ネットワーク１は、上記の構成を備えることにより、異常フロー以外のフローを低遅延化させ、ネットワーク全体としての公平性を損なうことなくシェーピングすることができる。
【００７８】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【００７９】
上述した実施形態におけるネットワークコントローラ１１をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【符号の説明】
【００８０】
１…Ｌ２ネットワーク、１０…Ｌ２スイッチ、１１…ネットワークコントローラ、２０…端末、３０…アプリケーションサーバ、１０１−１〜１０１−３…シェーパー
【図１】
2020005145.tif 000003
【図２】
2020005145.tif 000004
【図３】
2020005145.tif 000005
【図４】
2020005145.tif 000006
【図５】
2020005145.tif 000007
【図６】
2020005145.tif 000008
【図７】
2020005145.tif 000009