(57)【要約】【課題】  一部のフローに通信量が偏る事象に対して、輻輳を解消するようにトポロジを変更すること。【解決手段】  輻輳検知部２０が、輻輳を検知する輻輳検知手順と、通過装置特定部３０が、輻輳検知手順が検知した輻輳について、パスの通信量から輻輳に関する悪性フローの通過装置を特定する通過装置特定手順と、悪性フロー特定部４０が、通過装置特定手順が特定した通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、通信制御部７０が、悪性フロー特定手順により特定された悪性フローの通信制御を通信装置に対して実行する通信制御手順と、トポロジ変更部８０が、通信制御手順の後に制御対象ネットワークのトポロジを変更するトポロジ変更手順と、を実行する。【選択図】      図１
2006319749.tif 000002
【特許請求の範囲】
【請求項１】
コネクション型ネットワークであり、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御方法であって、
コンピュータが、輻輳検知部と、通過装置特定部と、悪性フロー特定部と、通信制御部と、トポロジ変更部とを有し、
前記輻輳検知部が、前記制御対象ネットワーク内で輻輳を検知する輻輳検知手順と、
前記通過装置特定部が、前記輻輳検知手順が検知した輻輳について、前記制御対象ネットワークの論理トポロジを参照して、パスの通信量から輻輳に関する悪性フローの通過装置を特定する通過装置特定手順と、
前記悪性フロー特定部が、前記通過装置特定手順が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、
前記通信制御部が、前記悪性フロー特定手順により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御手順と、
前記トポロジ変更部が、前記通信制御手順の後に前記制御対象ネットワークの論理トポロジを変更するトポロジ変更手順と、
を実行することを特徴とする輻輳制御方法。
【請求項２】
前記悪性フロー特定手順が複数の悪性フローを特定した場合、前記通信制御手順が制御する悪性フローの順序を特定する制御順序特定手順を、コンピュータがさらに実行することを特徴とする請求項１に記載の輻輳制御方法。
【請求項３】
前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、前記通信制御手順、および、前記トポロジ変更手順のうち、いずれか１つの手順を実行するコンピュータが、他の手順を実行するコンピュータとは異なるコンピュータであることを特徴とする請求項１または請求項２に記載の輻輳制御方法。
【請求項４】
前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、前記通信制御手順、および、前記トポロジ変更手順のうち、少なくとも１つの手順を実行するコンピュータが、前記通信装置であることを特徴とする請求項１または請求項２に記載の輻輳制御方法。
【請求項５】
前記通過装置特定手順は、ＬＳＰ（Label Switched Path）両端の前記通信装置のフロー通信総量の差分が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項６】
前記通過装置特定手順は、（ＬＳＰ内フロー通信総量／ＬＳＰ内フロー数）の商が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項７】
前記悪性フロー特定手順は、パラメータが閾値以上のフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項８】
前記悪性フロー特定手順は、パラメータが閾値以上かつ輻輳の発生した装置を通過するフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項９】
前記悪性フロー特定手順は、パラメータが閾値以上かつ輻輳の発生した装置のパケットと前記通過装置のパケットとを照合してアドレスが一致するフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１０】
前記制御順序特定手順が決定した順序に従って、輻輳が緩和されるまで、順番に悪性フローを通信制御する輻輳緩和検出手順を、コンピュータがさらに実行することを特徴とする請求項２ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１１】
前記輻輳緩和検出手順を実行する前に、前記悪性フロー特定手順が特定した複数の悪性フローを一括して通信制御することを特徴とする請求項１０に記載の輻輳制御方法。
【請求項１２】
前記通信制御は、輻輳および悪性フローの情報をもとに算出したフローレートで通信制御を行うことを特徴とする請求項１０または請求項１１に記載の輻輳制御方法。
【請求項１３】
前記輻輳および悪性フローの情報は、前記通過装置から送信するモニタリングパケットをもとに収集することを特徴とする請求項１２に記載の輻輳制御方法。
【請求項１４】
前記輻輳および悪性フローの情報は、輻輳の発生した装置のパケット損失率とすることを特徴とする請求項１２に記載の輻輳制御方法。
【請求項１５】
コネクション型ネットワークであり、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御装置であって、
前記制御対象ネットワーク内で輻輳を検知する輻輳検知部と、
前記輻輳検知部が検知した輻輳について、前記制御対象ネットワークの論理トポロジを参照して、パスの通信量から輻輳に関する悪性フローの通過装置を特定する通過装置特定部と、
前記通過装置特定部が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定部と、
前記悪性フロー特定部により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御部と、
前記通信制御部の後に前記制御対象ネットワークの論理トポロジを変更するトポロジ変更部と、
を有することを特徴とする輻輳制御装置。
【請求項１６】
前記悪性フロー特定部が複数の悪性フローを特定した場合、前記通信制御部が制御する悪性フローの順序を特定する制御順序特定部を、さらに有することを特徴とする請求項１５に記載の輻輳制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輻輳制御方法および輻輳制御装置に関する。
【背景技術】
【０００２】
ＡＴＭ（Asynchronous Transfer Mode)網や、ＭＰＬＳ（Multi Protocol Label Switching）などのコネクション型網で輻輳が起きた場合の従来の輻輳制御方法は、専用サーバが網端の全通信装置からトラヒック情報を収集して網全体のトラヒックマトリクスを作成し、その時のトラヒックマトリクスに合ったトポロジにするためのパス再配置を行うというトラヒックエンジニアリング（非特許文献１参照）（図１１）や、ＯＳＰＦ（Open Shortest Path First）のメトリックを変更することで経路変更を行うものであった（非特許文献２参照）。なお、メトリックとは、送信元から宛先までの距離のことである。距離ベクトル型のルーティングプロトコルでは送信者が宛先にＩＰパケットを送り、到着するまでにいくつのルータを経由したかを示すホップ数をメトリックにしている。
【非特許文献１】K. Sato, N. Yamanaka, Y. Takigawa, M. Koga, S. Okamoto, K. Shiomoto, E. Oki, W. Imajuku著、“GMPLS-based photonic multilayer router (Hikari router) architecture: an overview of traffic engineering and signaling technology”、IEEE Communications Magazine volume 40,Issue 3, pp. 96-101,March 2002.
【非特許文献２】B. Fortz and M. Thorup著、“Optimizing OSPF/IS-IS Weights in a Changing World”、IEEE Journal on Selected Areas in Communications,volume 20,Issue 4,pp. 756-767,May 2002
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の輻輳制御方法は、輻輳を発生させる要因となる悪性フローと、大多数の一般ユーザのフローとを区別することなく、網全体の情報を用いて、網全体のトラヒックエンジニアリングやＯＳＰＦのメトリック変更を行っていた。
【０００４】
なお、利用可能な帯域を可能な限り使用するようなアプリケーションが普及している。これらのアプリケーションにより発生する悪性フローの数は、全体に占めるフロー数は僅かにも関わらず、悪性フローの帯域占有率は大きい為、輻輳を起こして大多数のユーザのフローに影響を与える。
【０００５】
このような悪性フローを制御するには、従来の輻輳制御方法では不十分である。従来の輻輳制御方法は、一部のフローに通信量が偏るような事象は、想定されていない。そのため、従来の輻輳制御方法によってトポロジを変更しても、しばらくすると悪性フローに帯域を再び占有され、大多数のユーザのスループットが上がらない、という問題があった。
【０００６】
そこで、本発明は、前記した問題を解決し、一部のフローに通信量が偏る事象に対して、輻輳を解消するようにトポロジを変更することを主な目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は、コネクション型ネットワークであり、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御方法であって、コンピュータが、輻輳検知部と、通過装置特定部と、悪性フロー特定部と、通信制御部と、トポロジ変更部とを有し、前記輻輳検知部が、前記制御対象ネットワーク内で輻輳を検知する輻輳検知手順と、前記通過装置特定部が、前記輻輳検知手順が検知した輻輳について、前記制御対象ネットワークの論理トポロジを参照して、パスの通信量から輻輳に関する悪性フローの通過装置を特定する通過装置特定手順と、前記悪性フロー特定部が、前記通過装置特定手順が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、前記通信制御部が、前記悪性フロー特定手順により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御手順と、前記トポロジ変更部が、前記通信制御手順の後に前記制御対象ネットワークの論理トポロジを変更するトポロジ変更手順と、を実行することを特徴とする。
【０００８】
これにより、公平に帯域を利用しているユーザまで規制してしまうことなく、悪性フローの特徴的なフロー情報から帯域制御対象を特定し、必要以上に帯域を制御してユーザのスループットを低下させずに最適な制御度合いで帯域制御を行うことができる。
【０００９】
本発明は、前記悪性フロー特定手順が複数の悪性フローを特定した場合、前記通信制御手順が制御する悪性フローの順序を特定する制御順序特定手順を、コンピュータがさらに実行することを特徴とする。
【００１０】
これにより、輻輳に影響を与えている度合いの高い悪性フローを優先的に制御することで、輻輳を回復するまでの時間が短縮化する。
【００１１】
本発明は、前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、前記通信制御手順、および、前記トポロジ変更手順のうち、いずれか１つの手順を実行するコンピュータが、他の手順を実行するコンピュータとは異なるコンピュータであることを特徴とする。
【００１２】
これにより、輻輳発生を判断するためのフロー情報が一箇所にまとまるため、広範囲の網の状況が一度に分かり、ネットワークの管理者にとって管理がしやすいという利点がある。
【００１３】
本発明は、前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、前記通信制御手順、および、前記トポロジ変更手順のうち、少なくとも１つの手順を実行するコンピュータが、前記通信装置であることを特徴とする。
【００１４】
これにより、輻輳発生を判断するためのフロー情報が分散されるため、部分的な障害に強いという利点がある。
【００１５】
本発明は、前記通過装置特定手順が、ＬＳＰ（Label Switched Path）両端の前記通信装置のフロー通信総量の差分が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする。
【００１６】
これにより、多くの情報を収集統計することなく、少ない情報から簡単に輻輳、および、悪性フローの通過装置を特定することができる。
【００１７】
本発明は、前記通過装置特定手順が、（ＬＳＰ内フロー通信総量／ＬＳＰ内フロー数）の商が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする。
【００１８】
これにより、悪性フローを含むＬＳＰを特定することができるため、より簡易な方法で悪性フローの通過箇所を正確に特定することができる。
【００１９】
本発明は、前記悪性フロー特定手順が、パラメータが閾値以上のフローを悪性フローと特定することを特徴とする。
【００２０】
これにより、悪性フロー特定部は、フローを計測した通信装置とのやり取りだけで悪性フローを特定できるため、悪性フローを短時間で特定することができる。
【００２１】
本発明は、前記悪性フロー特定手順が、パラメータが閾値以上かつ輻輳の発生した装置を通過するフローを悪性フローと特定することを特徴とする。
【００２２】
これにより、悪性フローの候補が輻輳の発生した通信装置を通過しているか否かを確認するため、明確に悪性フローを特定することができる。
【００２３】
本発明は、前記悪性フロー特定手順が、パラメータが閾値以上かつ輻輳の発生した装置のパケットと前記通過装置のパケットとを照合してアドレスが一致するフローを悪性フローと特定することを特徴とする。
【００２４】
これにより、悪性フローの候補が輻輳の発生した通信装置を通過しているか否かを確認するため、明確に悪性フローを特定することができる。
【００２５】
本発明は、前記制御順序特定手順が決定した順序に従って、輻輳が緩和されるまで、順番に悪性フローを通信制御する輻輳緩和検出手順を、コンピュータがさらに実行することを特徴とする。
【００２６】
これにより、フローを順番に通信制御する過程で輻輳の発生した通信装置の輻輳状態を確認することで、輻輳原因のフローを特定できると同時に、無関係なフローの通信制御を避けることができる。
【００２７】
本発明は、前記輻輳緩和検出手順を実行する前に、前記悪性フロー特定手順が特定した複数の悪性フローを一括して通信制御することを特徴とする。
【００２８】
これにより、Ｎ個のフロー全てを所定量分絞ることで、素早く輻輳を緩和することができる。
【００２９】
本発明は、前記通信制御が、輻輳および悪性フローの情報をもとに算出したフローレートで通信制御を行うことを特徴とする。
【００３０】
これにより、輻輳状態を確認しながらフローレート決めることが可能なため、必要以上に通信制御することを防ぎ、ユーザのスループットを最大限高く保持しておくことができる。
【００３１】
本発明は、前記輻輳および悪性フローの情報が、前記通過装置から送信するモニタリングパケットをもとに収集することを特徴とする。
【００３２】
これにより、輻輳を緩和するのに適したフローレートＸ［ｂｐｓ］が分かり、その結果、輻輳緩和に必要な最低限の通信制御だけを行い悪性フローの帯域を絞りすぎてしまうのを避け、ユーザのスループットを最大限高く保持しておくことができる。
【００３３】
本発明は、前記輻輳および悪性フローの情報が、輻輳の発生した装置のパケット損失率とすることを特徴とする。
【００３４】
これにより、輻輳を緩和するのに適したフローレートが分かり、その結果、輻輳緩和に必要な最低限の通信制御だけを行い悪性フローの帯域を絞りすぎてしまうのを避け、ユーザのスループットを最大限高く保持しておくことができる。
【００３５】
本発明は、コネクション型ネットワークであり、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御装置であって、前記制御対象ネットワーク内で輻輳を検知する輻輳検知部と、前記輻輳検知部が検知した輻輳について、前記制御対象ネットワークの論理トポロジを参照して、パスの通信量から輻輳に関する悪性フローの通過装置を特定する通過装置特定部と、前記通過装置特定部が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定部と、前記悪性フロー特定部により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御部と、前記通信制御部の後に前記制御対象ネットワークの論理トポロジを変更するトポロジ変更部と、を有することを特徴とする。
【００３６】
これにより、公平に帯域を利用しているユーザまで規制してしまうことなく、悪性フローの特徴的なフロー情報から帯域制御対象を特定し、必要以上に帯域を制御してユーザのスループットを低下させずに最適な制御度合いで帯域制御を行うことができる。
【００３７】
本発明は、前記悪性フロー特定部が複数の悪性フローを特定した場合、前記通信制御部が制御する悪性フローの順序を特定する制御順序特定部を、さらに有することを特徴とする。
【００３８】
これにより、輻輳に影響を与えている度合いの高い悪性フローを優先的に制御することで、輻輳を回復するまでの時間が短縮化する。
【発明の効果】
【００３９】
本発明では、各パスにおける平均フローサイズを求めることで悪性フローが通るパスを特定し、パスの始点までさかのぼり、輻輳に関わるフローだけを的確に帯域制御することで、一部のフローに通信量が偏る事象に対して、輻輳を解消するようにトポロジを変更することができる。
【発明を実施するための最良の形態】
【００４０】
以下に、本発明が適用される輻輳制御システムの一実施形態について、図面を参照して詳細に説明する。まず、本実施形態の輻輳制御システムの構成について、図１から図５を参照して説明する。
【００４１】
図１は、制御対象ネットワーク１０を示す構成図である。制御対象ネットワーク１０は、輻輳を制御する通信網であり、輻輳制御装置１、および、通信装置１２（制御対象ネットワーク１０の外部とは接続しないコアルータ１４、制御対象ネットワーク１０の外部との接続回線を有するエッジルータ１６）を接続する。そして、ユーザ端末１８は、通信装置１２を介して通信を行う端末であり、フローを発生させる。なお、制御対象ネットワーク１０は、パス上でフローを通信するコネクション型ネットワークである。輻輳の発生した通信装置１２を輻輳装置とする。
【００４２】
エッジルータ１６は、制御対象ネットワーク内の通信装置１２であり、制御対象ネットワーク１０の外部との接続回線を有する。悪性フローが通過するエッジルータ１６を通過装置とし、通過装置は悪性フローを発生させるユーザ端末１８と輻輳装置とを結ぶ経路上に位置する。エッジルータ１６は、自装置を識別するタグを通過するフローに付ける。そして、エッジルータ１６は、輻輳が発生したら、パケットに付されたエッジルータ１６を識別するタグをカウントすることで、ＬＳＰ（Label‐Switched Path）または回線単位のフロー計測を行う。
【００４３】
図２は、制御対象ネットワーク１０で発生する輻輳を制御する輻輳制御装置１を示す構成図である。輻輳制御装置１は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成される。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
【００４４】
輻輳制御装置１は、輻輳検知部２０と、通過装置特定部３０と、悪性フロー特定部４０と、通信制御部７０と、トポロジ変更部８０とを有する。さらに、輻輳制御装置１は、制御順序特定部６０を有していてもよい。まず、輻輳検知部２０は、制御対象ネットワーク１０からデータ収集して輻輳を検知するものである。次に、通過装置特定部３０は、輻輳検知部２０が推定した輻輳から、輻輳に関する悪性フローの通過装置を特定するものである。そして、悪性フロー特定部４０は、通過装置特定部３０が特定した通過装置から悪性フローを特定するものである。さらに、制御順序特定部６０は、悪性フロー特定部４０によって特定された悪性フローに対して通信制御の順序を決定するものである。そして、通信制御部７０は、通信制御の指示に従い、悪性フローの通信制御を行うものである。さらに、トポロジ変更部８０は、悪性フローの通信制御が行われた後、制御対象ネットワーク１０のトポロジを変更するものである。以下、輻輳制御装置１の各構成要素を、具体的に説明する。
【００４５】
通過装置特定部３０は、タグと網内通信装置１２との対応データベースを持つ。データベースを参照して悪性フローを制御するための指示を出すべき悪性フロー特定部４０に通知する。悪性フローの通過装置の候補を推定し、輻輳発生を関係のある悪性フロー特定部４０に情報通知・指示を行う。
【００４６】
通信制御部７０は、悪性フローの通信制御を行う。通信制御は、例えば、悪性フローのフローレートを下げることである。なお、通信制御部７０は、通信制御が行われた旨の通知メッセージを、トポロジ変更部８０に通知する。通知メッセージには、悪性フローに関する情報を含めてもよい。
【００４７】
トポロジ変更部８０は、トラヒックエンジニアリング（非特許文献１参照）、ＯＳＰＦのメトリック変更（非特許文献２参照）などにより、制御対象ネットワーク１０のトポロジを変更する。トポロジの変更は、制御対象ネットワーク１０に発生した輻輳を緩和することを目的とする。本実施形態では、通信制御部７０が悪性フローを制御した後に、トポロジを変更することにより、従来のトポロジ変更手段が制御できなかった悪性フローが発生していても、効果的に輻輳の緩和を行うことができる。
【００４８】
なお、本明細書におけるトポロジとは、コネクション型網におけるパス（コネクション）のトポロジ（論理トポロジ）である。そして、トラヒックエンジニアリング、ＯＳＰＦのメトリック変更などによって実現されるトポロジの変更は、例えば、以下に示すパスへの操作として実現され、トポロジを最適化する。これにより、ネットワークリソースの節約やコスト削減が期待できる。
・既に稼働しているパスの経路を現在の場所から別の場所へと移動するパスの再配置
・パスの使用帯域などを変更するパスのパラメータ変更
・既に稼働しているパスをネットワークから取り除くパスの削除
・まだ稼働していないパスを新たにネットワーク上に生成するパスの新規作成
【００４９】
図３は、輻輳検知部２０を示す構成図である。輻輳検出情報管理部２２は、輻輳検出に必要なフロー情報を制御対象ネットワーク１０のコアルータ１４から定期的に収集して保持する。フロー情報は、例えば、コアルータ１４から定期的に収集した入力パケット情報、および、破棄パケット情報である。通過装置分析部２４は、輻輳検出情報管理部２２の情報を基にして通過装置を特定するアルゴリズムを備え、収集した情報を基に悪性フローの通過装置の候補を特定する。
【００５０】
通信装置管理部２６は、通信装置１２の装置ＩＤ（IDentifier）と悪性フロー特定部４０との対応データベースを持ち、通過装置分析部２４が分析した、悪性フローの通過装置の候補から、輻輳発生を通知すべき悪性フロー特定部４０を決定する。輻輳発生通知部２８は、通信装置管理部２６が決定した悪性フロー特定部４０に輻輳発生を通知する。制御インターフェース２９は、外部と情報を送受信するための制御インターフェースである。
【００５１】
なお、輻輳発生通知部２８は、悪性フロー特定部４０の他に、経路計算手段にも、輻輳発生を通知してもよい。経路計算手段は、ルーティングプロトコルなどを動作させて、通信装置１２がフローを中継する経路を示す経路表（ルーティングテーブル）を作成する。経路計算手段は、輻輳発生の通知を受けることにより、輻輳装置や輻輳が発生したネットワークを通過しないように、経路を計算する。経路計算手段は、輻輳が発生した網内にあってもよいし、別の事業者網にあってもよい。
【００５２】
図４は、悪性フロー特定部４０を示す構成図である。トリガ制御部４２は、悪性フローの通過装置の候補に関する情報の通知を通過装置特定部３０から受け、フロー計測開始トリガをエッジルータヘ通知する。フロー情報管理部４４は、エッジルータ１６から収集したフロー毎のパケットカウント情報を保持する。悪性フロー分析部４６は、フロー毎のパケットカウント情報を基にして悪性フローを特定するアルゴリズムを備え、収集したフロー情報から悪性フローを特定する。
【００５３】
分析アルゴリズム管理部４８は、悪性フロー分析部４６が悪性フローを特定する場合に使用するアルゴリズムを保持する。悪性フロー通知部５０は、特定した悪性フローを制御順序特定部６０、または、通信制御部７０に通知する。制御指示部５２は、悪性フロー制御を通信制御部７０に指示する。なお、悪性フローが複数検出されたときには、その悪性フローの制御順序は、制御順序分析部６４が決定した順序に従ってもよい。制御インターフェース５４は、外部と情報を送受信するための制御インターフェースである。
【００５４】
図５は、制御順序特定部６０を示す構成図である。悪性フロー情報管理部６２は、悪性フロー特定部４０から収集した悪性フロー情報を保持する。制御順序分析部６４は、悪性フロー情報管理部６２の悪性フロー情報を基にして、悪性フローを制御する順番と制御度合いを決定するアルゴリズムを備える。制御インターフェース６８は、外部と情報を送受信するための制御インターフェースである。
【００５５】
輻輳状態確認部６６は、輻輳検知部２０から輻輳状態の情報を収集する。輻輳状態の情報は、悪性フローの通信制御を行うか否か、行う場合には制御度合いなどを決定するために参照される。輻輳状況を確認して引き続き通信制御が必要だと判断した場合には、悪性フロー特定部４０が次の悪性フローを通信制御するよう指示する。
【００５６】
図６は、以上説明した輻輳制御装置１により行われる輻輳制御処理を示すフローチャートである。
【００５７】
まず、輻輳検知部２０は、パスの端点（始点、終点）のエッジルータ１６からフロー情報を定期的に収集して、輻輳が発生しているか否かを定期的にチェックする（Ｓ１２）。輻輳発生をチェックする方法としては、通信装置１２が持つフロー情報を収集してパケット損失率などを計算して輻輳か否かを判断するパッシブ方式、ｐｉｎｇなどの試験パケットを網内に流し、戻ってきた時の遅延や損失から輻輳か否かを判断するアクティブ方式、などがある。
【００５８】
そして、輻輳検知部２０は、制御対象ネットワーク１０内で輻輳発生を検出すると（Ｓ１４）、検出情報を通過装置特定部３０に通知する。
【００５９】
そして、通過装置特定部３０は、通知を受け、悪性フローの通過装置を特定するために、通過装置の特定情報を取得する（Ｓ１６）。通過装置の特定情報は、例えば、パケットに付されたタグを装置ＩＤごとにカウントした統計情報である。
【００６０】
さらに、通過装置特定部３０は、取得した通過装置の特定情報をもとに、通信装置管理部２６を参照して、悪性フローの通過装置の候補を特定する（Ｓ１８）。なお、通信装置１２の数が多いようなネットワーク構成では、悪性フロー特定部４０を複数設置し、各悪性フロー特定部４０に担当する通信装置１２を割り当てるような分散処理の構成をとることとしてもよい。そのときには、輻輳制御装置１は通信装置１２の装置ＩＤと、担当する悪性フロー特定部４０との対応をデータベースに格納する。そして、通過装置特定部３０は、Ｓ１８で特定した通過装置に対応する悪性フロー特定部４０を、データベースから取得する。データベースからの取得は、悪性フロー特定部４０と通信装置１２の数が多い場合などは、最終的に悪性フローを特定するためのフロー計測を行う通過装置までさかのぼるために、数回にわたって絞り込みを行ってもよい。
【００６１】
そして、通過装置特定部３０は、Ｓ１８で特定した悪性フロー特定部４０に、輻輳発生と、その輻輳の通過装置の情報を通知する。そして、悪性フロー特定部４０は、通知を受け、悪性フローの通過装置であるエッジルータ１６に、悪性フローを特定するためのフロー計測を開始させるトリガを出す（Ｓ２０）。さらに、エッジルータ１６は、トリガを受けてフロー計測を開始し、所定時間のフロー計測結果を悪性フロー特定部４０に渡す（Ｓ２２）。
【００６２】
そして、悪性フロー特定部４０は、フロー計測結果を受け取り、受け取った情報から悪性フローを特定する（Ｓ２４）。さらに、悪性フロー特定部４０は、悪性フローを特定したら、そのフローの特徴的な情報（悪性フローのレートや持続時間、アドレスなど）を制御順序特定部６０に通知して、制御する順番の決定を依頼する。
【００６３】
そして、図７に示すように、制御順序特定部６０は、通知された悪性フローについて、制御する順番を決める（Ｓ２６）。悪性フローを制御する順番は、例えば、悪性フロー特定部４０から受け取ったフロー情報でサイズが大きいフロー順、辞書列順（アドレスの番号の若い順、情報が到着した時間順など）、ラウンドロビンのアルゴリズムによって算出された順、制御順序特定部６０が収集した網情報から決める順、が挙げられる。
【００６４】
そして、悪性フロー特定部４０は、制御順序特定部６０が決めた順番に従って、通信制御部７０に特定した悪性フローを通信制御するように指示する（Ｓ２８）。そして、通信制御部７０は、悪性フローの通信（帯域など）を制御する（Ｓ３０）。さらに、トポロジ変更部８０は、通信制御部７０からの通知を受け、制御対象ネットワーク１０のトポロジを変更する（Ｓ３２）。
【００６５】
以下、悪性フローの通過装置の特定処理（Ｓ１８）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、通過装置を特定する。
【表１】
2006319749.tif 000003
【００６６】
まず、フローがＬＳＰ内を通過するようなコネクション型のネットワークにおいて、通過するフローが悪性フローであるか否かを判定するための特徴について説明する。ＬＳＰを流れる悪性フローの特徴として、全体のフロー数における悪性フロー数は少ないが、悪性フローの帯域占有率は大きいことが挙げられる。
【００６７】
キューを通過したパケットは、そのアドレス毎にあて先に向かうＬＳＰに振り分けられる。ある所定時間のＬＳＰを見ると、サイズが大きく悪性フローになりやすいフローを多く収容するＬＳＰ（図８（ａ）参照）、少数のサイズが大きいフローと数多くの通常フローとを収容するＬＳＰ（図８（ｂ）参照）、通常サイズのフローを収容するＬＳＰ（図８（ｃ）参照）など、様々なパターンのＬＳＰが存在する。
【００６８】
方式１−Ａでは、以下の特徴を活用する。パケットがキューに入りきらないなどして輻輳が起きると、パケットの優先度が全て等しい場合にはランダムにパケットが破棄される為、フローサイズが大きい程破棄されるパケット数が増える。そこで、破棄されたパケットの統計を取ればサイズが大きいフローを特定することができる。
【００６９】
そこで、図９に示す方式１−Ａは、ＬＳＰ両端の通信装置１２のフローの通信総量の差分が所定値より大きいＬＳＰから通過装置を特定する手法である。つまり、通過装置特定部３０が、予め保持している網のＬＳＰとその始終点通信装置データベースとを参考にして、該当網のＬＳＰ両端の始終点通信装置１２が持つＬＳＰ流入フローの通信総量とＬＳＰ流出フローの通信総量を収集してその差分を計算することで網内で損失したフローの通信総量を求め、値が閾値以上の場合にそのＬＳＰが経由する通信装置１２で輻輳が起きたと判断し、そのＬＳＰの始点通信装置１２を通過装置と特定する。
【００７０】
方式１−Ｂでは、以下の特徴を活用する。ある所定時間でノードから出力されるパケット数には限りがある為、輻輳原因となるフローを収容したＬＳＰは、平均フローサイズが大きい。なお、平均フローサイズは、（フローの通信総量／フロー数）の商である。
【００７１】
そこで、図１０に示す方式１−Ｂは、平均フローサイズが所定値より大きいＬＳＰから通過装置を特定する手法である。つまり、通過装置特定部３０が、予め保持している網のＬＳＰとその経路情報のデータベースを参考にして、輻輳が起きた通信装置１２を通過するＬＳＰを通るフローの通信総量とフロー数の情報とを、輻輳が起きた通信装置１２またはＬＳＰ端の通信装置１２から収集し、平均フローサイズが大きいＬＳＰの始点通信装置１２を通過装置と特定する。
【００７２】
なお、方式１−Ａまたは方式１−Ｂで特定した通過装置において、例えば、通信装置を識別するＩＤをパケットに予め付与してそのＩＤを参照したり、カプセリングした通信装置のアドレスを参照したり、ユーザ端末のアドレスを参照するなど、他の方式を併用して最終的に通過装置を特定してもよい。また、閾値と比較する値（フローの通信総量の差分、または、平均フローサイズ）の上位Ｘ本の始点を通過装置としてもよいし、閾値以上のＬＳＰ全ての始点を通過装置としてもよい。
【００７３】
以下、悪性フローの特定処理（Ｓ２４）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、悪性フローを特定する。
【表２】
2006319749.tif 000004
【００７４】
方式２−Ａは、パラメータが閾値以上のフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、悪性フローの通過装置の候補において測定されたフロー情報の中から、予め決めたパラメータが閾値以上のフロー全て、または閾値以上のフローの上位Ｘ個を、悪性フローと特定する。
【００７５】
方式２−Ｂは、パラメータが閾値以上かつ輻輳装置を通過するフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、悪性フローの通過装置の候補において測定したフロー情報の中から、予め決めたパラメータが閾値以上のフロー全て、または閾値以上のフローの上位Ｘ個を選択し、該当フローの経路情報を、ルーティングデータベースを持つ経路計算部が持つ経路情報を参照して、該当フローが輻輳装置を通過しているかを確認して、その結果から、予め決めたパラメータが閾値以上でかつ輻輳装置を通過しているフローを、悪性フローと特定する。
【００７６】
方式２−Ｃは、パラメータが閾値以上かつパケットのアドレスが一致するフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、輻輳発生の前後に輻輳装置のキューに溜まっていたパケットの情報を保持する手段からそのパケット情報を受け取り、その情報と、悪性フローの通過装置の候補から収集したフロー情報の中で予め決めたパラメータが閾値データベースに保持している閾値よりも大きいフロー全て、または上位Ｘ個のフローの情報とを照合する。
【００７７】
そして、方式２−Ｃでは、輻輳装置のパケット情報に含まれるパケットのアドレスと、通過装置の候補が計測したフロー情報に含まれるパケットのアドレスが一致した場合、悪性フローの候補が輻輳装置を通過していると判断し、予め決めたパラメータが閾値データベースに保持している閾値よりも大きく、かつ輻輳装置を通過しているフローを、悪性フローと特定する。
【００７８】
なお、方式２−Ａ〜方式２−Ｃにおいて、パラメータの例としては、あるＸ分間の間に到着するパケット数をサンプリング率ｆでカウントした値がある。ある所定時間の間にエッジルータ１６に到着するパケット数が多いフローは、帯域占有率が大きいと確率論的に推定して、パケットカウント値が閾値以上のフローを悪性フローと特定する。パラメータの他の例としては、バーストサイズや持続時間などがある。
【００７９】
以下、悪性フローの制御処理（Ｓ３０）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、悪性フローを制御する。
【表３】
2006319749.tif 000005
【００８０】
方式３−Ａは、通信制御部７０がＮ個の悪性フローを順番に制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０が、Ｎ個の悪性フローの情報を悪性フロー特定部４０から受け取り、通信制御する順番を決めて、その順番に従って悪性フロー特定部４０に指示を出し、悪性フロー特定部４０が対象の通信制御部７０に指示を出し、通信制御部７０が通信制御を行う。制御順序特定部６０はその間に輻輳検知部２０から輻輳状況に関する情報を受け取り、輻輳が緩和されるまで順番に通信制御を指示する。輻輳が緩和されなければ次の順番の通信制御部７０に対応する悪性フロー特定部４０に指示を出す。
【００８１】
方式３−Ｂは、通信制御部７０がＮ個の悪性フローを一括して制御した後、順番に制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０が、Ｎ個の悪性フローを通信制御する順番を決めて、始めにＮ個のフロー全てを所定量通信制御して、その後に方式３−Ａによって悪性フロー特定部４０に指示を出す。
【００８２】
方式３−Ｃは、通信制御部７０が輻輳緩和されるまで、フローレートの算出とそのフローレートでの制御を繰り返す手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０は、輻輳検知部２０が確認する輻輳状態の情報を制御順序特定部６０が参照して、その情報と、悪性フロー特定部４０から受け取る悪性フロー情報とをパラメータとして、フローレート計算アルゴリズムを用いて各悪性フローの制御後のフローレートを決定し、そのフローレートで通信制御するように悪性フロー特定部４０に指示を出し、そこからさらに悪性フロー特定部４０は通信制御部７０に指示を出す。
【００８３】
具体的には、通信制御部７０が通信制御を行う間に、輻輳状態確認部６６が輻輳装置から取得した最新の輻輳状態を確認しながら、輻輳状態が解消するまで、順番に通信制御の指示を通信制御部７０に出す。なお、フローレート計算アルゴリズムは、例えば、以下の数式１である。数式１の変数について、Ｒがフローレート［ｂｐｓ］、Ｄが受信したデータ量［ｂｉｔ］、Ｔがカウント時間［秒］である。
Ｒ＝Ｄ／Ｔ…（数式１）
【００８４】
方式３−Ｄは、通信制御部７０がモニタリングパケットで輻輳状態を監視し、輻輳状態に適したフローレートで制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、悪性フローの通過装置からｐｉｎｇなどのモニタリングパケットを飛ばして、悪性フロー特定部４０が網の輻輳状態を監視しながら輻輳緩和に適したフローレートを前記フローレート計算アルゴリズムを用いて計算して、悪性フローを通信制御する。
【００８５】
方式３−Ｅは、通信制御部７０がパケット損失率から算出したフローレートで制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、輻輳検知部２０が定期的に測定する輻輳装置のパケット損失率の情報を制御順序特定部６０が参照し、そこから前記フローレート計算アルゴリズムを用いて制御すべきフローレートＸ［ｂｐｓ］を算出することで、適切なフローレートで悪性フローを通信制御する。
【００８６】
なお、方式３−Ａ〜方式３−Ｅにおいて、複数の通信制御が並列に行われてもよいし、制御順序特定部６０が決めた順番に従って行われてもよい。
【００８７】
以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
【００８８】
例えば、フロー計測（Ｓ２２）は、トリガの発行（Ｓ２０）を契機に行うこととしたが、トリガの有無に関わらず、バックグラウンド処理として、事前にフロー計測を行っていてもよい。これにより、フロー計測に関するレスポンスが早くなり、輻輳制御によるネットワークの復旧にかかる時間を短縮できる。
【００８９】
また、悪性フローを制御するための順序決定処理（Ｓ２６）は、省略してもよい。省略することが必要な一例として、悪性フローが１つしか見つからない場合、悪性フローを１つずつ順に制御するだけの復旧時間もとれないほどの緊急の復旧を要する場合が挙げられる。そして、順序決定を省略したときには、複数の悪性フローに対して一斉に通信制御する（Ｓ３０）。これにより、輻輳制御によるネットワークの復旧にかかる時間を短縮できる。
【００９０】
さらに、図２の輻輳制御装置１は、各構成要素を１台の筐体に収容することとしたが、この構成はあくまで一例にすぎず、輻輳制御装置１を構成する筐体の台数を複数として構成し、各構成要素を分散して配置してもよい。そして、輻輳制御装置１の各構成要素は、同じネットワーク内にあっても、異なるネットワークにあってもいい。ネットワークが異なる場合、それらのネットワークは同一の事業者でも異なる事業者でもいい。異なる事業者のネットワークに各機能がある場合、その間にアドレス変換機能を持つエージェントがある。これにより、複数の輻輳制御装置１のＣＰＵがそれぞれ演算を行うので、負荷分散を実現することができる。
【００９１】
また、輻輳制御装置１の各構成要素と、別の機能を有する装置とを同じ筐体に収容してもよい。例えば、通信制御部７０を通信装置１２に内蔵し、通信制御処理（Ｓ３０）のメッセージパッシングを、筐体外のネットワーク回線ではなく筐体内の内部バス上で実現したり、通信制御部７０に加えて制御順序特定部６０も、通信装置１２に内蔵するようにしてもよい。同様に、悪性フロー特定部４０をエッジルータ１６に内蔵し、フロー計測（Ｓ２０、Ｓ２２）のメッセージパッシングを、筐体外のネットワーク回線ではなく筐体内の内部バス上で実現する。これにより、内部バスの高速通信およびネットワーク回線の負荷回避を実現できる。
【００９２】
なお、本明細書では、輻輳制御装置１が、コアルータで１４もなくエッジルータ１６でもない、第三の装置として、ネットワーク上に存在する図１のような構成を集中型と呼び、輻輳制御装置の少なくとも１つの構成要素が、通信装置（コアルータ１４またはエッジルータ１６）に内蔵されている構成を分散型と呼ぶことにする。
【００９３】
さらに、輻輳制御装置１の各構成要素は、ＣＰＵが各構成要素の専用装置に記憶されたプログラムを実行することで実現されるようになっていてもよいし、通信装置１２の機能ブロックに記憶されたプログラムを実行することで実現されるようになっていてもよい。
【００９４】
また、輻輳制御装置１の各構成要素は、プロセスを複数起動するなどして、複数存在することとしてもよい。複数の構成要素それぞれに、担当する通信装置１２を割り当てる。これにより、通信装置１２が多いときでも、複数の構成要素間でのデータ並列処理が実現でき、輻輳を抑制するのに要する時間を短縮化できるとともに、処理相手として通信を行う通信装置数が減るため、装置数に対するスケーラビリティが上がり、管理がしやすい、という利点がある。
【００９５】
ここで、輻輳制御装置１の各構成要素と、担当する通信装置１２との対応情報は、動的に作成してもよいし、静的に作成することとしてもよい。動的に作成する一例としては、同一機能を有する複数の構成要素のうち、他の構成要素よりも現在の計算負荷が小さい構成要素に、優先的に通信装置１２を割り当てる方式が挙げられる。一方、静的に作成する一例としては、管理者があらかじめ作成しておいた構成要素と通信装置１２との対応情報を格納するデータベースを参照する方式が挙げられる。
【００９６】
さらに、制御対象ネットワーク１０の形式（回線種別や通信プロトコルなど）は、特定のものに限定されることはない。例えば、制御対象ネットワーク１０は、ＴＤＭ（Time Division Multiplexing）やＷＤＭ（Wavelength Division Multiplexing）などの回線交換ネットワーク、またはＩＰ（Internet Protocol）やイーサネット（登録商標）、ＩＰのパケットにラベルをつけて転送するＭＰＬＳのネットワークとしてもよい。各通信装置同士はそのノードが存在するネットワークレイヤよりも相対的に下位に位置する下位レイヤのパスを設定することで提供される論理パスで接続される。この通信装置１２は、例えば、ＭＰＬＳ網のＭＰＬＳルータでも、パケット網のルータでもよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施形態に関する制御対象ネットワークを示す構成図である。
【図２】本発明の一実施形態に関する輻輳制御装置を示す構成図である。
【図３】本発明の一実施形態に関する輻輳検知部を示す構成図である。
【図４】本発明の一実施形態に関する悪性フロー特定部を示す構成図である。
【図５】本発明の一実施形態に関する制御順序特定部を示す構成図である。
【図６】本発明の一実施形態に関する輻輳制御処理を示すフローチャートである。
【図７】本発明の一実施形態に関する輻輳に対して順番に行う通信制御処理を示す説明図である。
【図８】本発明の一実施形態に関するＬＳＰが収容するフローを示す説明図である。
【図９】本発明の一実施形態に関するＬＳＰ両端におけるフローの通信総量の差分の算出を示す説明図である。
【図１０】本発明の一実施形態に関するＬＳＰ内のフローの評価を示す説明図である。
【図１１】本発明の一実施形態に関するトラヒックエンジニアリングを示す説明図である。
【符号の説明】
【００９８】
１      輻輳制御装置
１０    制御対象ネットワーク
１２    通信装置
２０    輻輳検知部
３０    通過装置特定部
４０    悪性フロー特定部
６０    制御順序特定部
７０    通信制御部
８０    トポロジ変更部
【図１】
2006319749.tif 000006
【図２】
2006319749.tif 000007
【図３】
2006319749.tif 000008
【図４】
2006319749.tif 000009
【図５】
2006319749.tif 000010
【図６】
2006319749.tif 000011
【図７】
2006319749.tif 000012
【図８】
2006319749.tif 000013
【図９】
2006319749.tif 000014
【図１０】
2006319749.tif 000015
【図１１】
2006319749.tif 000016