(57)【要約】【課題】ＩＳＰにおいては、他社が提供する回線を借用して、最終顧客にインターネット接続サービスを提供する形態を取るケースがある。借用している他社網内の装置にて輻輳が発生した場合、無差別にパケットデータが破棄されることで、ＩＳＰが最終顧客に提供するインターネット接続サービス品質が悪化する。【解決手段】パケット破棄などが起きているセグメント単位のＩＰアドレス群を特定し、輻輳しているルータを通過するフロー群を推定する。輻輳制御を行うべく当該のＩＰアドレスの経路を輻輳制御サーバ経由となるようにサーバに指示を行う。指示されたサーバは経路変更を行い、輻輳フローを輻輳制御サーバ経由とするように経路設定の変更を行う。【選択図】図１
2016076833.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、トラヒック集計サーバと、輻輳制御サーバと、を備える輻輳検知制御システムであって、
前記サーバは、ＩＰアドレス単位のパケット破棄量を検出、収集し、前記トラヒック集計サーバの指示に従い、指示されたＩＰアドレスからのデータダウンロード要求に対するトラヒックを前記輻輳制御サーバ向けに経路を変更し、
前記トラヒック集計サーバは、前記サーバが検出し通知してきたパケット破棄量をＩＰアドレス群単位に集計し、
前記輻輳制御サーバは、前記トラヒック集計サーバからの指示に従い、流入するトラヒックの帯域を適切に制御し、
前記トラヒック集計サーバで集計したＩＰアドレス群のパケット破棄量が閾値を超過したとき、トラヒック集計サーバは、前記ＩＰアドレス群の中で上位Ｎ個のＩＰアドレスのトラヒックを前記輻輳制御サーバ経由とするように前記サーバに指示し、
前記輻輳制御サーバは、輻輳制御を行い、
前記ＩＰアドレス群内のユーザＰＣへの帯域圧迫を回避することを特徴とする輻輳検知制御システム。
【請求項２】
請求項１に記載の輻輳検知制御システムであって、
前記トラヒック集計サーバは、ＩＰアドレス群単位のパケット破棄量が閾値を超過したかを定期的に監視し、テーブルに閾値超過有無を登録することを特徴とする輻輳検知制御システム。
【請求項３】
請求項２に記載の輻輳検知制御システムであって、
前記トラヒック集計サーバは、閾値を超過したＩＰアドレス群について、前記テーブルにおけるパケット量を比較することにより、ＩＰアドレス群内で使用量トップＮ個のＩＰアドレスを抽出し、帯域規制対象に設定することを特徴とする輻輳検知制御システム。
【請求項４】
請求項１に記載の輻輳検知制御システムであって、
前記トラヒック集計サーバは、前記サーバが通知してきたパケット破棄量をＩＰアドレス群単位に定期的に集計し、前記輻輳制御サーバが輻輳制御を行っているとき、輻輳制御によるパケット破棄数がある一定時間の間ある個数を下回った場合、該当ＩＰグループに対する帯域規制の解除指示を行うことを特徴とする輻輳検知制御システム。
【請求項５】
サーバと、トラヒック集計サーバと、輻輳制御サーバと、を備える輻輳検知制御システムにおける輻輳検知制御方法であって、
前記サーバおける
ＩＰアドレス単位のパケット破棄量を検出・収集煤ステップと、
前記トラヒック集計サーバの指示に従い、指示されたＩＰアドレスからのデータダウンロード要求に対するトラヒックを前記輻輳制御サーバ向けに経路を変更するステップと、
前記トラヒック集計サーバにおける前記サーバが検出し通知してきたパケット破棄量をＩＰアドレス群単位に集計するステップと、
前記輻輳制御サーバにおける前記トラヒック集計サーバからの指示に従い、流入するトラヒックの帯域を適切に制御するステップと、
トラヒック集計サーバにおける前記トラヒック集計サーバで集計したＩＰアドレス群のパケット破棄量が閾値を超過したとき、前記ＩＰアドレス群の中で上位Ｎ個のＩＰアドレスのトラヒックを前記輻輳制御サーバ経由とするように前記サーバに指示するステップと、
前記輻輳制御サーバにおける輻輳制御を行うステップと、
を含み、
前記ＩＰアドレス群内のユーザＰＣへの帯域圧迫を回避することを特徴とする輻輳検知制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他社が提供する網内の装置の輻輳を監視することにより、特定ユーザ群に対し輻輳制御を行う輻輳検知制御システムおよび輻輳検知制御方法に関する。
【背景技術】
【０００２】
インターネットサービスプロバイダ（Internet Service Provider：ＩＳＰ）において、他社が提供する回線を借用して、最終顧客にインターネット接続サービスを提供するケースがある。借用している他社網内の装置にて輻輳が発生した場合、無差別にパケットデータが破棄されることで、ＩＳＰが最終顧客に提供するインターネット接続サービス品質が悪化する。
【０００３】
このようなケースでは、ＩＳＰから借用先の他社に対して輻輳の解消を要求し、借用先の他社が装置を増設する、装置あたりの収容数を減らす、または他社の網内で輻輳制御システムを構築することなどにより輻輳を解消する必要があった。
【０００４】
このような、自社が管理・制御できない網を経由して拠点間通信を行う場合において、ＷＡＮ内で輻輳が生じることにより拠点間で必要な帯域が得られない場合、ＷＡＮと接続する端点の中継装置において輻輳を検出し、輻輳制御を行う方法が提案されている（特許文献１参照）。しかし、この方法は、宛先アドレスおよび送信元アドレスで特定される経路での輻輳を検知することにより、当該経路を帯域制御するとともに他経路の帯域を拡大することによる輻輳回避方式である。したがって、借用している他社網に対して経路制御を行うことはできない。
【０００５】
また、輻輳制御の技術としては、拠点間の複数フローを優先フローと非優先フローに分け、帯域が圧迫された際は非優先フローのトラヒック量を制限することにより全体の帯域を制御する方法などが提案されている（特許文献２参照）。この方法も非優先フローを制限するだけでは輻輳を抑えることができないケースが想定される。
【０００６】
さらに輻輳制御を行うにあたって、コンピューターゲーム端末およびデータ端末を含むメディア端末の利用時間が、想定される平均的な利用時間よりも多い利用者による帯域圧迫の問題が顕在化している。このような特定ユーザを指定した帯域制限は、技術的には可能である。しかし、特定ユーザを指定した帯域制限は、電気通信事業法が定める通信の公平性の観点から実施できない。したがって、輻輳制御は、通信の公平性を考慮したものでなくてはならない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１５１４９０号公報
【特許文献２】特開２０１１−１７６６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＩＳＰにおいて、他社が提供する回線を借用して、最終顧客にインターネット接続サービスを提供するケースがある。借用している他社網内の装置にて輻輳が発生した場合、無差別にパケットデータが破棄されることで、ＩＳＰが最終顧客に提供するインターネット接続サービス品質が悪化する。
【０００９】
このようなケースでは、ＩＳＰから他社に対して対策を要求することになるため、一定の時間がかかり、輻輳を即時に解消することは困難である。また、単にＩＳＰからの要求で借用先の他社が装置を増設する、または輻輳制御システムを新たに構築することはコスト面からも少ない。よって、ＩＳＰが自網内の装置にて借用先の他社網内の装置の輻輳を検知し、帯域制御することが望ましい。
また、ＩＳＰが、他社網内の装置の輻輳制御を行う場合でも、通信の公平性を考慮した輻輳制御を行う必要がある。
【課題を解決するための手段】
【００１０】
上述した課題は、サーバと、トラヒック集計サーバと、輻輳制御サーバと、を備える輻輳検知制御システムであって、サーバは、ＩＰアドレス単位のパケット破棄量を検出、収集し、トラヒック集計サーバの指示に従い、指示されたＩＰアドレスからのデータダウンロード要求に対するトラヒックを輻輳制御サーバ向けに経路を変更し、トラヒック集計サーバは、サーバが検出し通知してきたパケット破棄量をＩＰアドレス群単位に集計し、輻輳制御サーバは、トラヒック集計サーバからの指示に従い、流入するトラヒックの帯域を適切に制御し、トラヒック集計サーバで集計したＩＰアドレス群のパケット破棄量が閾値を超過したとき、トラヒック集計サーバは、ＩＰアドレス群の中で上位Ｎ個のＩＰアドレスのトラヒックを輻輳制御サーバ経由とするようにサーバに指示し、輻輳制御サーバは、輻輳制御を行い、ＩＰアドレス群内のユーザＰＣへの帯域圧迫を回避する輻輳検知制御システムにより、達成できる。
また、同様な処理ステップを含む輻輳検知制御方法により、達成できる。
【発明の効果】
【００１１】
上述した課題は、ＩＳＰが自網内の装置にて借用先の他社網内の装置の輻輳を検知し帯域制御を行うことで解決できる。また、ＩＳＰから他社網内の装置の輻輳制御を行う場合、特定のユーザに絞らず、セグメント単位のＩＰアドレス群の中でトラヒック使用量トップＮ個のＩＰアドレスに対して輻輳制御を行うことで通信の公平性を保つことができる。
【図面の簡単な説明】
【００１２】
【図１】ネットワークシステムを説明するブロック図である。
【図２】サーバの構成を説明するブロック図である。
【図３】トラヒック集計サーバの構成を説明するブロック図である。
【図４】輻輳制御サーバの構成を説明するブロック図である。
【図５】全体のシーケンス図である。
【図６】ＩＰアドレス単位各種情報テーブルの構成を説明する図である。
【図７】サーバとトラヒック集計サーバとの間のデータフォーマットである。
【図８】トラヒック集計テーブルの構成を説明する図である。
【図９】パケット破棄量検出による輻輳装置判定処理のシーケンス図である。
【図１０】遅延時間検出による輻輳装置判定処理のシーケンス図である。
【図１１】徐々にパケット破棄が発生しているアドレスレンジを絞り込むアルゴリズムを説明するフローチャートである。
【図１２】使用量トップＮ個のＩＰアドレス抽出による帯域規制判定処理のシーケンス図である。
【図１３】使用量トップＮ個のアプリケーション抽出による帯域規制判定処理のシーケンス図である。
【図１４】帯域制御指示、解除指示のデータフォーマットである。
【図１５】輻輳制御を行う処理のシーケンス図である。
【図１６】輻輳制御解除判定処理のシーケンス図である。
【図１７】他の全体のシーケンス図である。
【図１８】他のサーバの構成を説明するブロック図である。
【図１９】他の全体のシーケンス図である。
【図２０】他の全体のシーケンス図である。
【図２１】他の全体のシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、実施例を用い、図面を参照しながら詳細に説明する。なお、実施例では、ＩＳＰがデータセンタを運用し、他社が運用するアクセス網およびルータを介して、ユーザにインターネット接続サービスを提供する実施形態において、ＩＳＰが自網内の装置にて他社アクセス網ルータの輻輳を検知し帯域制御を行う実施形態を説明する。しかし、発明は、以下の実施例に限定されるものではない。
【実施例１】
【００１４】
図１を参照して、ネットワークシステムを説明する。図１において、ネットワークシステム１０００は、データセンタ５００と、アクセス網１５０と、ルータ１６０と、ユーザＰＣ１７０と、を含んで構成されている。また、データセンタ５００は、ルータ１００と、Ｌ２（Layer two）スイッチ１１０と、サーバ２００と、トラヒック集計サーバ３００と、輻輳制御サーバ４００と、を含んで構成されている。
【００１５】
ＩＳＰが運用するデータセンタ５００は、他社のアクセス網１５０とルータ１６０とを介して、複数のユーザＰＣ１７０と接続されている。ユーザＰＣ１７０が送信するデータパケットについて、他社が運用するルータ１６０は、アクセス網１５０を経由し、データセンタ５００のルータ１００へ送信する。さらに、そのデータパケットについて、ルータ１００は、Ｌ２スイッチ１１０を経由し、サーバ２００へ送信する。
【００１６】
また、サーバ２００から送信されたデータについて、Ｌ２スイッチ１１０は、ルータ１００を経由し、他社が運用するアクセス網１５０とルータ１６０とを経由して、ユーザＰＣ１７０へ送信する。
【００１７】
この構成において、ルータ１６０配下の複数ユーザＰＣ１７０宛てにサーバ群２００から大量のパケットデータの転送が行われると、ルータ１６０において、処理能力以上パケットデータを受信することにより、無差別にパケットデータの破棄が発生する輻輳状態となる。
【００１８】
サーバ２００は、サーバ２００がユーザＰＣ１７０と送受信するパケットに関して、送受信パケット数、送受信パケットデータ量、およびパケット破棄量を計測する。サーバ２００は、トラヒック集計サーバ３００へ計測情報を通知する。
【００１９】
トラヒック集計サーバ３００は、複数のサーバ２００から受信した計測情報を集計する。トラヒック集計サーバ３００は、集計した計測情報からルータ群１６０の中から、輻輳しているルータを検出する。輻輳しているルータを検出すると、トラヒック集計サーバ３００は、サーバ２００に対して、輻輳しているルータを経由しているパケットデータを輻輳制御サーバ４００へ転送指示する。
輻輳制御サーバ４００は、輻輳しているルータを経由しているパケットデータに対して輻輳制御を行う。
【００２０】
図２を参照して、サーバの構成について説明する。図２において、サーバ２００は、メモリ２１０と、ＣＰＵ２２０と、トラヒック集計サーバ向けネットワークインタフェース部２３０と、ユーザＰＣ向けネットワークインタフェース部２４０と、から構成されている。
【００２１】
ユーザＰＣ向けネットワークインタフェース部２４０は、ユーザＰＣとのインタフェース部であり、隣接スイッチとのインタフェース部となる。ユーザＰＣ向けネットワークインタフェース部２４０は、ＩＰアドレス単位にパケット量、パケット破棄量、遅延量、使用しているアプリケーション種別を採取する。なお、各種データを採取する機能は、ＣＰＵ２２０上に実装することも可能である。ユーザＰＣ向けネットワークインタフェース部２４０は、検出した各種データをＣＰＵ２２０経由でメモリ２１０のテーブルに登録する。
【００２２】
ＣＰＵ２２０は、定期的にトラヒック集計サーバ向けネットワークインタフェース部２３０を通じて、トラヒック集計サーバに対してメモリ２１０の各種データを通知する。
ユーザＰＣ向けネットワークインタフェース部２４０とトラヒック集計サーバ向けネットワークインタフェース部２３０は、同一のネットワークインタフェース部でもよい。
【００２３】
図３を参照して、トラヒック集計サーバの構成について、説明する。図３において、トラヒック集計サーバ３００は、ストレージ３１０と、ＣＰＵ３２０と、輻輳制御サーバ向けインタフェース部３３０と、サーバ向けネットワークインタフェース部３４０と、から構成される。
【００２４】
サーバ向けネットワークインタフェース部３４０は、サーバ２００とのインタフェース部である。ストレージ３１０は、後述するトラヒック集計テーブル６００を所持する。ＣＰＵ３２０は、サーバ向けネットワークインタフェース部３４０を経由して、サーバ２００からのＩＰアドレス単位の各種データを受信する。ＣＰＵ３２０は、各種データについて、ＩＰアドレスのセグメント単位にデータを集計し、ストレージ３１０のトラヒック集計テーブル６００に登録を行う。輻輳制御サーバ向けインタフェース部３３０は、輻輳制御サーバ４００とのインタフェース部である。
【００２５】
図４を参照して、輻輳制御サーバの構成について説明する。図４において、輻輳制御サーバ４００は、輻輳制御部４１０と、メモリ４２０と、ＣＰＵ４３０と、トラヒック集計サーバ向けネットワークインタフェース部４４０と、Ｌ２スイッチ向けネットワークインタフェース部４５０と、から構成される。
【００２６】
Ｌ２スイッチ向けネットワークインタフェース部４５０は、Ｌ２スイッチ１１０とのインタフェース部である。輻輳制御部４１０は、Ｌ２スイッチ向けネットワークインタフェース部４５０からのトラヒックについて、ＣＰＵ４３０経由でメモリ４２０に予め設定された設定値を元に輻輳制御を行う。なお、輻輳制御部４１０は、単独でハードウェアを保持してもよいし、ネットワークインタフェース上で実装してもよいし、ＣＰＵ上で実現してもよい。
【００２７】
トラヒック集計サーバ向けネットワークインタフェース部４４０は、トラヒック集計サーバ３００とのインタフェース部であり、トラヒック集計サーバ３００からＩＰアドレス群単位の各種集計データを受け取る。
【００２８】
図５を参照して、ユーザＰＣとサーバとトラヒック集計サーバと輻輳制御サーバとの間の輻輳制御のシーケンスを説明する。図５において、ユーザＰＣ１７０は、サーバ２００からデータをダウンロードする際は、ルータ１６０、アクセス網１５０、Ｌ２スイッチ１１０を介して行う。
【００２９】
サーバ２００は、定期的に各ユーザＰＣ１７０に付与されているＩＰアドレス単位に各種データ計測する（Ｓ２０１）。サーバ２００は、定期的にトラヒック集計サーバ３００に対し各ＩＰアドレス単位に計測した各種データを通知する（Ｓ２０２）。
【００３０】
トラヒック集計サーバ３００は、受信した各種データから輻輳装置判定処理を実施する（Ｓ２０３）。輻輳制御が必要と判定したとき、トラヒック集計サーバ３００は、帯域規制対象判定処理を行う（Ｓ２０４）。なお、輻輳装置判定処理、帯域規制対象判定処理の詳細については、図１２を用いて後述する。
【００３１】
輻輳制御が必要と判定したとき、トラヒック集計サーバ３００は、サーバ２００宛に経路切替指示を行う（Ｓ２０５）。トラヒック集計サーバ３００は、輻輳制御サーバ４００に対し、輻輳制御指示を行う（Ｓ２０９）。この一連の動作により、当該トップＮ個のＩＰアドレスに該当するユーザＰＣ１７０へのデータダウンロードについて、サーバ２００は、輻輳制御サーバ４００へ送信する（Ｓ２１１）。
【００３２】
輻輳制御サーバ４００は、輻輳制御を実施する（Ｓ２０６）。輻輳制御サーバ４００は、輻輳制御されたダウンロードデータをユーザＰＣ宛に送信する（Ｓ２１２）。輻輳制御処理の内容については、図１３を用いて後述する。
【００３３】
トラヒック集計サーバ（３００）は、サーバから定期的に通知されるＩＰアドレス単位に計測したパケット破棄量を基に（Ｓ２０２）、輻輳制御解除判定処理を行う（Ｓ２０７）。輻輳制御解除を決定したとき、トラヒック集計サーバ３００は、サーバ２００に対し、輻輳制御解除指示を行う（Ｓ２０８）。その後、輻輳制御対象としていたＩＰアドレスに該当していたユーザＰＣ１７０へのダウンロードデータについて、サーバ２００は、ユーザＰＣ１７０宛に送信する（Ｓ２１０）。
【００３４】
なお、トラヒック集計サーバ３００は、ｐｏｌｉｃｙ  ｂａｓｅｄ  ｒｏｕｔｉｎｇまたはｓｅｒｖｉｃｅ  ｃｈａｉｎｉｎｇにより、サーバ２００に対し経路切替指示を行う。
【００３５】
図６を参照して、トラヒック集計サーバが保持するＩＰアドレス単位各種情報テーブルを説明する。図６において、図６（ａ）は、サーバ２００−Ａ（サーバＡ）用のＩＰアドレス単位各種情報テーブル６００−Ａである。図６（ｂ）は、サーバ２００−Ｂ用のＩＰアドレス単位各種情報テーブル６００−Ｂである。図６（ｃ）は、サーバ２００−Ｃ用のＩＰアドレス単位各種情報テーブル６００−Ｃである。
【００３６】
ＩＰアドレス単位各種情報テーブル６００は、ＩＰアドレス６０１単位のパケット量６０２、パケット破棄量（パケットロス量）６０３、遅延量（パケット９遅延時間）６０４、使用しているアプリケーション種別６０５を含む各種データが書き込まれている。なお、ＩＰアドレス６０１に記載された／２４は、セグメントであり、２５５ユーザを収容できることを意味する。同様に／１６は、２５５＾２（＾：べき乗）ユーザを収容できる。
【００３７】
図７を参照して、図５のステップ２０２において、サーバ２００がトラヒック集計サーバ３００に対して送信する各ＩＰアドレス単位に計測した各種データの通知メッセージフォーマットを説明する。図７に示す通り、通知メッセージ６１０は、ユーザＰＣ１７０のＩＰアドレス５００ごとにサーバ２００にて集計した計測情報が含まれる。計測情報は、ユーザＰＣ１７０とサーバ２００間で転送された通信パケット量６１２と、ユーザＰＣ１７０が行っている通信の経路上で発生したパケット破棄量６１３と、遅延時間６１４と、アプリ種別６１５と、が含まれる。
【００３８】
トラヒック集計サーバ３００は、各ＩＰアドレス単位に計測した各種データを通知（Ｓ２０２）を受けたあと、トラヒック集計テーブルにて各種データの集計を行う。
図８を参照して、トラヒック集計サーバが保持するトラヒック集計テーブルを説明する。図８において、トラヒック集計テーブル６２０は、ＩＰアドレスのネットワーク部６２１単位に区切られている。通常、ネットワーク部毎（ＩＰアドレス群単位）に帯域は、予め契約などで取り決められている。これから、トラヒック集計テーブル６２０は、ＩＰアドレス群単位帯域６２２を設定する欄を設けている。トラヒック集計テーブル６２０は、ＩＰアドレスのネットワーク部６２１配下のホスト部６２３毎に、各サーバ２００から定期的に通知されるＩＰアドレス毎のパケット量６２４、パケット破棄量６２５、遅延時間６２８、使用しているアプリケーション種別６２Ａを含む各種データを管理する。
【００３９】
トラヒック集計サーバ３００は、パケット破棄量６２５からＩＰアドレス群単位の合計パケット破棄量６２６を算出・管理する。また、トラヒック集計サーバ３００は、ＩＰアドレス単位の遅延時間６２８からＩＰアドレス群単位の合計遅延時間６２９を算出する。トラヒック集計テーブル６２０のパケット破棄量閾値６２７は、合計パケット破棄量６２６との比較値として使用する。トラヒック集計テーブル６２０の規制対象６２Ｂは、帯域規制対象判定処理に遷移するかどうかの判定に使用する。
【００４０】
トラヒック集計サーバにおける輻輳装置判定処理を図９、図１０を用いて説明する。図９において、トラヒック集計サーバ３００は、セグメント単位を含むＩＰアドレス群単位にパケット破棄量を集計する（Ｓ７００）。トラヒック集計サーバ３００は、ＩＰアドレス群単位のパケット破棄量が予め図８のトラヒック集計テーブル６２０のパケット破棄量閾値６２７にて設定されている閾値を超過したか判定する（Ｓ７０１）。閾値以下である場合（Ｎｏ）、トラヒック集計サーバ３００は、特に何も実施せずステップ７００遷移して、定期的な監視を継続する。合計パケット破棄量６０６がパケット破棄量閾値６２７を上回った場合（Ｙｅｓ）、トラヒック集計サーバ３００は、当該ＩＰアドレス群に相当する装置が輻輳していると判断する。トラヒック集計サーバ３００は、規制対象フラグ６２Ｂに、対象ビット１を設定し、帯域規制対象判定処理に遷移する。
【００４１】
なお、輻輳装置判定処理については、他にも判定する方法が考えられ、図１０を用いて説明する。
図１０において、トラヒック集計サーバ３００は、セグメント単位を含むＩＰアドレス群単位に遅延時間を集計する（Ｓ７１０）。トラヒック集計サーバ３００は、ＩＰアドレス群単位の遅延時間が予め設定されている閾値を超過したか判定する（Ｓ７１１）。閾値以下である場合（Ｎｏ）、トラヒック集計サーバ３００は、特に何も実施せずステップ７１０に遷移して、定期的な監視を継続する。ステップ７１１において、合計遅延時間６０６が遅延時間閾値を上回った場合（Ｙｅｓ）、トラヒック集計サーバ３００は、当該ＩＰアドレス群に相当する装置が輻輳していると判断する。トラヒック集計サーバ３００は、し、規制対象フラグ６０９に対象ビット１を設定し、帯域規制対象判定処理に遷移する。
【００４２】
なお、ここでは、ネットワーク部が固定として、説明しているが、ネットワーク部のネットマスク長を可変とすることもできる。ネットマスク長を可変とすれば、徐々にパケット破棄が発生しているアドレスレンジを絞り込むアルゴリズムを追加することができる。  図１１を参照して、そのアルゴリズムを説明する。図１１において、トラヒック集計サーバ３００は、予め設定済みのネットマスク長に従ったＩＰアドレス群単位でパケット量とパケット破棄量からパケット破棄率を計算する（Ｓ６１２）。トラヒック集計サーバ３００は、ネットマスク長を１ビット増加する（Ｓ６１３）。これにより、対応するホスト数を減少させる。トラヒック集計サーバ３００は、それらのＩＰアドレス群単位で再度パケット破棄率を計算する（Ｓ６１４）。トラヒック集計サーバ３００は、パケット破棄率についてネットマスク長を１ビット増加させる前と後で比較する（Ｓ６１５）。後の方が増加していた場合（Ｙｅｓ）、トラヒック集計サーバ３００は、パケット破棄が発生しているアドレスレンジを絞り込めたと判断し、更にステップ６１３の処理に戻り絞り込みを継続する。ステップ６１５増加していなかった場合、トラヒック集計サーバ３００は、アドレスレンジを絞り込みが完了したと判断し処理を終了し、このアドレスレンジに相当する装置が輻輳していると判断する。
【００４３】
図１２と図１３を参照して、帯域規制対象判定処理を説明する。図１２において、トラヒック集計サーバ３００は、当該のＩＰアドレス群内で使用量トップＮ個のＩＰアドレスを抽出する（Ｓ７２０）。トラヒック集計サーバ３００は、帯域規制対象に設定する（Ｓ７２１。ステップ７２０において、トラヒック集計サーバ３００は、トラヒック集計テーブル６２０における規制対象フラグ６２Ｂで規制対象と判定されたＩＰアドレス群内の各ホスト部毎のパケット量を比較し、パケット量が多い使用量トップＮ個のＩＰアドレスを抽出する。
【００４４】
図１３は、帯域規制対象判定処理の他の方法である。図１３において、トラヒック集計サーバ３００は、当該のＩＰアドレス群内で使用しているアプリケーションのうち、使用量トップＮ個のアプリケーションを抽出する（Ｓ７３０）。トラヒック集計サーバ３００は、帯域規制対象に設定する（Ｓ７３１）。ステップ７３０において、トラヒック集計サーバ３００は、所持するテーブルにおけるパケット量を比較することにより、使用量トップＮ個のアプリケーションを抽出する。
【００４５】
図１４を参照して、サーバへの経路切替指示フォーマット、輻輳制御サーバへの輻輳制御指示フォーマットと輻輳制御指示解除指示フォーマット、を説明する。ここで、図１４（ａ）は、サーバへの経路切替指示フォーマットである。図１４（ｂ）は、輻輳制御サーバへの輻輳制御指示フォーマットである。図１４（ｃ）は、輻輳制御サーバへの輻輳制御指示解除指示フォーマットである。
【００４６】
図１４（ａ）において、経路切替指示フォーマット８００は、経路切替指示命令コード８０１と、対象ＩＰアドレス１  ８０２と、対象ＩＰアドレス２  ８０３と、対象ＩＰアドレス８０４と、を含む。図１４（ｂ）において、輻輳制御サーバへの輻輳制御指示フォーマット８１０は、輻輳制御指示命令コード８１１と、対象ＩＰアドレス１  ８１２と、対象ＩＰアドレス２  ８１３と、対象ＩＰアドレス８１４と、を含む。図１４（ｃ）において、輻輳制御サーバへの輻輳制御指示解除指示フォーマット８２０は、解除指示命令コード８２１と、対象ＩＰアドレス１  ８２２と、対象ＩＰアドレス２  ８２３と、対象ＩＰアドレス８２４と、を含む。
【００４７】
図１５を参照して、輻輳制御のアルゴリズムを説明する。図１５において、輻輳制御は、帯域規制対象となったＩＰアドレスの帯域を絞ることで、ＩＰアドレス群単位の帯域を目標帯域以下に制御すること、および輻輳制御の結果として、絞りすぎて帯域が余ってしまうことがなく目標帯域付近での帯域使用量となるように行う。
【００４８】
輻輳制御サーバ４００は、単位時間あたりパケット量が最大のＩＰアドレスの値を帯域制限値Ｍに設定する（Ｓ７４０）。輻輳制御サーバ４００は、帯域制限対象のＩＰアドレスについて設定帯域を超えた場合、帯域制限を行う（Ｓ７４１）。輻輳制御サーバ４００は、ＩＰアドレス群全体のパケット破棄量はパケット破棄量閾値を下回ったか判定する（Ｓ７４２）。下回らない場合（Ｎｏ）、まだ帯域制限が不足しているので、輻輳制御サーバ４００は、帯域制限値ＭをＡ％削減する。ここでＡ％は適当な値に予め設定しておく。Ａ％削減後、再度、ステップ７４０の処理に戻り、ＩＰアドレス群全体のパケット破棄量がパケット破棄量閾値を下回るまで処理を繰り返す。
【００４９】
ステップ７４２でＩＰアドレス群全体のパケット破棄量がパケット破棄量閾値を下回った場合（Ｙｅｓ）、輻輳制御サーバ４００は、帯域制限値をＡ％の半分増加させる（Ｓ７４４）。この値をＢ％とする。帯域制限対象のＩＰアドレスについて設定帯域を超えた場合、輻輳制御サーバ４００は、帯域制限を行う（Ｓ７４５）。輻輳制御サーバ４００は、ＩＰアドレス群全体のパケット破棄量はパケット破棄量閾値を上回ったか？確認を行う（Ｓ７４６）。上回らない場合（Ｎｏ）、輻輳制御サーバ４００は、ステップ７４４の処理に戻り、ＩＰアドレス群全体のパケット破棄量がパケット破棄量閾値を上回るまで繰り返す。
【００５０】
ステップＩＰ７４６でアドレス群全体のパケット破棄量がパケット破棄量閾値を上回った場合（Ｙｅｓ）、輻輳制御サーバ４００は、ＩＰアドレス群全体のパケット破棄量と閾値の差分が最低差分値Ｐを下回ったか？判定を行う（Ｓ７４７）。ここで閾値Ｐについても予め輻輳制御サーバ４００に対して設定しておく最低差分値である。この最低差分値を帯域が余ることの無い程度の値に予め設定する必要がある。ＩＰアドレス群全体のパケット破棄量と閾値の差分が最低差分値Ｐを上回っている場合（Ｎｏ）、輻輳制御サーバ４００は、帯域制限値ＭをＢ％の半分削減する。輻輳制御サーバ４００は、この値をＡ％に設定し、ステップ７４０からやり直す。
【００５１】
ステップ７４７において、ＩＰアドレス群全体のパケット破棄量と閾値の差分が最低差分値Ｐを下回った場合（Ｙｅｓ）、ＩＰアドレス群単位の帯域が目標帯域以下に制御すること、および輻輳制御の結果として、絞りすぎて帯域が余ってしまうことがなく目標帯域付近での帯域使用量に設定されたこととなる。このため、輻輳制御サーバ４００は、処理を終了する。
【００５２】
図１６を参照して、輻輳制御解除判定処理を説明する。図１６において、輻輳制御を実施している間もトラヒック集計サーバ３００は、破棄数の監視を継続する。トラヒック集計サーバ３００は、輻輳制御によるパケット破棄数がＴｅｎｄ［ｓ］の間Ｐｄｒｏｐ［個］を下回ったか判定する（Ｓ７５０）。下回ったとき、トラヒック集計サーバ３００は、該当ＩＰグループに対する帯域規制は解除して（Ｓ７５１）、終了する。ステップ７５０でＮｏのとき、トラヒック集計サーバ３００は、ステップ７５０に遷移する。
【００５３】
なお、実施例１では、サーバ２００からユーザＰＣ１７０方向の輻輳制御を説明した。逆方向となるユーザＰＣ１７０からサーバ２００方向のデータアップロードに対する輻輳制御についても、サーバからＬ２スイッチへの経路変更指示の内容が異なるのみで、同じ手順で実施できる。
【実施例２】
【００５４】
実施例１では、帯域規制対象となったＩＰアドレスのトラヒックを輻輳制御サーバ４００に集め制御する例を説明した。しかし、各サーバが輻輳制御機能をそれぞれ実装することにより帯域規制対象となったＩＰアドレスのトラヒックを輻輳制御することも可能である。実施例２は、サーバによる、輻輳制御を説明する。
【００５５】
図１７において、ユーザＰＣ１７０は、データセンタのサーバ２００Ａからデータをダウンロードする際に、ルータ１６０、アクセス網１５０、Ｌ２スイッチ１１０を介して実行する。
【００５６】
サーバ２００Ａは、ユーザＰＣ１７０宛にダウンロードデータを送信する（Ｓ２００）。サーバ２００Ａは、定期的に各ユーザＰＣ１７０のＩＰアドレス単位にパケット破棄量の計測を行う（Ｓ２０１）。サーバ２００Ａは、定期的にトラヒック集計サーバ３００に対し各ＩＰアドレス単位に計測したパケット破棄量を通知する（Ｓ２０２）。
【００５７】
トラヒック集計サーバ３００は、輻輳装置判定処理を実行する（Ｓ２０３）。トラヒック集計サーバ３００は、帯域規制対象判定処理を行う（Ｓ２０４）。トラヒック集計サーバ３００は、判定結果に基づいて、サーバ２００Ａ宛に経路切替指示を行う（Ｓ２２０）。
【００５８】
サーバ２００Ａは、輻輳制御を実施して（Ｓ２０６）、ユーザＰＣ１７０宛にダウンロードデータを送信する（Ｓ２２１）。輻輳制御のアルゴリズムは、具体的には、予め設定した帯域制限値をサーバ２００Ａの台数分で割った値を各サーバを通過する対象のＩＰアドレスの帯域から減算することにより各サーバにて輻輳制御を行う。
【００５９】
サーバ２００Ａは、定期的にトラヒック集計サーバ３００に対し各ＩＰアドレス単位に計測したパケット破棄量を通知する（Ｓ２０２）。輻輳制御を実施している間もトラヒック集計サーバ３００は、輻輳制御解除判定処理を行う（Ｓ２０７）。輻輳制御解除を決定した場合、トラヒック集計サーバ３００は、サーバ２００Ａ宛に輻輳制御解除指示を送信する（Ｓ２２２）。サーバ２００Ａは、指示に従い輻輳制御を解除して（Ｓ２２３）、ユーザＰＣ１７０宛にダウンロードデータを送信する（Ｓ２２４）。
【００６０】
図１８を参照して、実施例２のサーバの構成を説明する。図１８において、サーバ２００Ａは、図２で説明したブロックに加えて、Ｌ２スイッチ向けネットワークインタフェース部２５０と、輻輳制御部２６０と、を備える。Ｌ２スイッチ向けネットワークインタフェース部２５０と輻輳制御部２６０とは、それぞれ輻輳制御サーバのＬ２スイッチ向けネットワークインタフェース部４５０と輻輳制御部４１０とに該当する。
【実施例３】
【００６１】
実施例１では、輻輳制御の詳細アルゴリズムについて、帯域規制対象となったＩＰアドレスに対し帯域制限値Ｍを設定帯域から加算・減算を繰り返すことにより、次第にＩＰアドレス群単位の帯域を目標帯域以下に制御すること、および輻輳制御の結果として、絞りすぎて帯域が余ってしまうことがなく目標帯域付近での帯域使用量となるように制御した。
【００６２】
実施例３の輻輳制御の詳細アルゴリズムは、制御前の単位時間あたりのパケット破棄量の総和から輻輳制御を行う。
図１９を参照して、実施例３の輻輳制御を説明する。図１９において、図５のシーケンス２００から２０６までは同一であるため省略している。
【００６３】
トラヒック集計サーバ３００は、輻輳制御サーバ４００に対し、単位時間あたりのパケット破棄量を通知する（Ｓ２３１）。サーバ２００は、輻輳制御サーバ４００宛にダウンロードデータを送信する（Ｓ２３２）。輻輳制御サーバ４００は、受け取った単位時間あたりのパケット破棄量をＮ分割する（Ｓ２３３）。ここでＮは、輻輳制御対象である上位Ｎ個のＩＰアドレスのＮのことを指し示す。
【００６４】
輻輳制御サーバ４００は、上位Ｎ個のＩＰアドレスのトラヒックに対して、Ｎ分割した値を輻輳制御値として適用する（Ｓ２３４）。具体的には、各ＩＰアドレス毎の設定帯域からＮ分割した値を減算することにより、それを各ＩＰアドレス毎の新たな設定帯域とする。これにより、上位Ｎ個のＩＰアドレスのトラヒックはＮ分割した値分、帯域が制限される。
【００６５】
以降、シーケンス２０７以降のシーケンスについては図５のシーケンスと同様であるため、説明は割愛する。
【００６６】
実施例３は、実施例１のように帯域を微調整しながら調整していくアルゴリズムよりもおおよその調整となるが１回で制限すべき帯域を決定可能であり、また変動するパケット破棄量に対し追従することが容易である。
【実施例４】
【００６７】
実施例１では、データ転送量トップＮ個のＩＰアドレスの経路を輻輳制御サーバ４００経由とすることで輻輳制御を行なった。実施例１では、輻輳制御を実施するには、定期的にサーバ２００から通知される計測情報を元にトラヒック集計サーバが輻輳制御要否判断を行うため、輻輳制御のリアルタイム性に課題がある。
【００６８】
実施例３は、リアルタイム性を改善した実施例である。
【００６９】
図２０において、シーケンス２０１〜２０３までは、図５と同じであるため説明を割愛する。シーケンス２０３の後、トラヒック集計サーバ３００は、サーバ２００に対して、データ転送量トップＮ個のＩＰアドレスではなく、輻輳装置判定処理２０３により輻輳サーバを通過していると判断されたＩＰアドレス群全ての経路を輻輳制御サーバ経由とするように経路切替指示を行う（Ｓ２４０）。トラヒック集計サーバ３００は、輻輳制御サーバに対し輻輳制御指示を行う（Ｓ２０９）。
【００７０】
サーバ２００は、輻輳制御サーバ４００にダウンロードデータを送信する（Ｓ２４１）。輻輳制御サーバ４００は、トラヒック集計サーバ３００から通知された輻輳装置を通過していると判断されたＩＰアドレスと自装置で計測したパケット量の情報を元に、実施例１でトラヒック制御サーバが実施していた帯域規制対象判定処理を行い（Ｓ２０４）、帯域規制対象となったＩＰアドレスを抽出する。その後、輻輳制御サーバ４００は、実施例１の図５のシーケンスと同様に輻輳制御を実施する（Ｓ２０６）。輻輳制御サーバ４００は、ユーザＰＣ１７０に輻輳制御されたダウンロードデータを送信する（Ｓ２４２）。
【００７１】
トラヒック集計サーバ３００で輻輳制御解除を決定した場合、トラヒック集計サーバ３００はサーバ２００に対し、輻輳制御解除指示を行う（Ｓ２４３）。
【００７２】
以上のシーケンスにより、輻輳制御サーバ４００が輻輳制御処理を自律で行うことが可能となるため、帯域制御のリアルタイム性の向上が期待できる。
【実施例５】
【００７３】
実施例１では、図１５で説明した通り、加減算する帯域制限値の割合を半減していくことで、絞りすぎて帯域が余ってしまうことがなく目標帯域付近での帯域使用量となるように輻輳制御を説明した。加減算する帯域制限値の割合を半減していく方法以外にも方法が考えられるので、図２１を用いて実施例５を説明する。
実施例５のアルゴリズムは、帯域規制対象となったＩＰアドレス群全体のパケット量を、そのパケット量に対し目標とする帯域制限値の比率を計算し近づけていく方法である。
【００７４】
図２１において、輻輳制御サーバ４００は、帯域規制対象となったＩＰアドレス群全体のパケット量を計算する（Ｓ７６０）。輻輳制御サーバ４００は、ＩＰアドレス群全体のパケット量に対する帯域制限値Ｍの比率を計算する（Ｓ７６１）。輻輳制御サーバ４００は、帯域制限値Ｍの比率をパケット量トップＮ個のＩＰアドレスの各パケット量に乗じ、その値にそれぞれの帯域を規制する（Ｓ７６２）。輻輳制御サーバ４００は、帯域規制対象となったＩＰアドレス群全体のパケット量を再度計算する（Ｓ７６３）。輻輳制御サーバ４００は、ＩＰアドレス群全体のパケット量と帯域制限値Ｍの差分が最低差分値Ｐを下回ったか判定する（Ｓ７６４）。下回らなかった場合（Ｎｏ）、輻輳制御サーバ４００は、再度、ステップ７６０からやり直す。これにより、輻輳制御サーバ４００は、最終的に帯域規制対象となったＩＰアドレス群全体のパケット量を目標とする帯域制限値に近づける。ステップ７６４でＹｅｓのとき、輻輳制御サーバ４００は、終了する。
【符号の説明】
【００７５】
１００…自社ルータ、１１０…Ｌ２スイッチ、１５０…アクセス網、１６０…他社ルータ、１７０…ユーザＰＣ、２００…サーバ、２１０…メモリ、２２０…ＣＰＵ、２３０…トラヒック集計サーバ向けネットワークインタフェース部、２４０…ユーザＰＣ向けネットワークインタフェース部、３００…トラヒック集計サーバ、３１０…ストレージ、３２０…ＣＰＵ、３３０…輻輳制御サーバ向けネットワークインタフェース部、３４０…サーバ向けネットワークインタフェース部、４００…輻輳制御サーバ、４１０…輻輳制御部、４２０…メモリ、４３０…ＣＰＵ、４４０…トラヒック集計サーバ向けネットワークインタフェース部、４５０…Ｌ２スイッチ向けネットワークインタフェース部、５００…データセンタ、１０００…ネットワークシステム。
【図１】
2016076833.tif 000003
【図２】
2016076833.tif 000004
【図３】
2016076833.tif 000005
【図４】
2016076833.tif 000006
【図５】
2016076833.tif 000007
【図６】
2016076833.tif 000008
【図７】
2016076833.tif 000009
【図８】
2016076833.tif 000010
【図９】
2016076833.tif 000011
【図１０】
2016076833.tif 000012
【図１１】
2016076833.tif 000013
【図１２】
2016076833.tif 000014
【図１３】
2016076833.tif 000015
【図１４】
2016076833.tif 000016
【図１５】
2016076833.tif 000017
【図１６】
2016076833.tif 000018
【図１７】
2016076833.tif 000019
【図１８】
2016076833.tif 000020
【図１９】
2016076833.tif 000021
【図２０】
2016076833.tif 000022
【図２１】
2016076833.tif 000023