(57)【特許請求の範囲】
【請求項１】
フロー検出を制御する方法であり、複数のフロー検出モジュールを含むネットワークに適用される方法であって、
コントローラにより、前記ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得するステップであり、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応するステップと、
前記コントローラにより、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出される前記フローを調整するステップと、
前記コントローラにより、前記調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するステップと
を有し、
前記コントローラにより、前記ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得するステップは、
前記コントローラにより、格納されたフロー転送ルールを参照するステップであり、前記フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、前記フロー識別子は、前記フローの送信元アドレス及び宛先アドレスを含み、前記送信経路は、前記フローが前記送信元アドレスから前記宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含むステップと、
前記フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、前記同じスイッチングデバイスの前記デバイス識別子に対応する前記フローが前記スイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するステップと
を有する方法。
【請求項２】
前記コントローラにより、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出される前記フローを調整するステップは、
前記コントローラにより、各フロー検出モジュールにより検出されるフローの数が前記調整後に一致するように、各フロー検出モジュールにより検出される前記フローを調整するための加重平均ポリシーを呼び出すことである、請求項１に記載の方法。
【請求項３】
フロー検出を制御するシステムであり、コントローラと、複数のスイッチングデバイスと、複数のフロー検出モジュールとを含み、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応するシステムであって、
前記スイッチングデバイスのそれぞれは、ネットワークのフローを転送するように構成され、
前記コントローラは、前記ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出される前記フローを調整し、前記調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成され、
前記フロー検出モジュールのそれぞれは、前記コントローラにより配信された前記検出命令に含まれる前記フロー識別子に対応するフローを検出するように構成され、
前記コントローラは、格納されたフロー転送ルールを参照し、前記フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、前記フロー識別子は、前記フローの送信元アドレス及び宛先アドレスを含み、前記送信経路は、前記フローが前記送信元アドレスから前記宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、前記フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、前記同じスイッチングデバイスの前記デバイス識別子に対応する前記フローが前記スイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように構成されるシステム。
【請求項４】
前記フロー検出モジュールは、対応するスイッチングデバイスに配置される、或いは、前記フロー検出モジュールは、対応するスイッチングデバイスに接続された検出デバイスに配置される、請求項３に記載のシステム。
【請求項５】
フロー検出を制御する装置であり、複数のフロー検出モジュールを含むネットワークに適用される装置であって、
前記ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得するように構成された取得ユニットであり、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応する取得モジュールと、
設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整するように構成された調整ユニットと、
前記調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成された制御ユニットと
を有し、
前記取得ユニットは、
格納されたフロー転送ルールを参照するように構成されたルール参照サブユニットであり、前記フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、前記フロー識別子は、前記フローの送信元アドレス及び宛先アドレスを含み、前記送信経路は、前記フローが前記送信元アドレスから前記宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含むルール参照サブユニットと、
前記フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、前記同じスイッチングデバイスの前記デバイス識別子に対応する前記フローが前記スイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように構成された識別子取得サブユニットと
を有する装置。
【請求項６】
前記調整ユニットは、各フロー検出モジュールにより検出されるフローの数が前記調整後に一致するように、各フロー検出モジュールにより検出される前記フローを調整するための加重平均ポリシーを呼び出すように構成される、請求項５に記載の装置。
【請求項７】
制御する前記装置は、前記ネットワークのコントローラに配置される、請求項５又は６に記載の装置。
【請求項８】
複数のフロー検出モジュールを含むネットワークに適用されるコントローラであり、バスと、前記バスを用いて接続されたネットワークインタフェース、メモリ及びプロセッサとを含むコントローラであって、
前記ネットワークインタフェースは、前記ネットワークの複数のスイッチングデバイスに接続するように構成され、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応し、
前記メモリは、設定された負荷バランシングポリシーを格納するように構成され、
前記プロセッサは、前記ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、前記負荷バランシングポリシーに従って、各フロー検出モジュールにより検出される前記フローを調整し、前記調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成され、
前記メモリは、前記ネットワークのフロー転送ルールを格納するように更に構成され、
前記プロセッサは、前記格納されたフロー転送ルールを参照し、前記フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、前記フロー識別子は、前記フローの送信元アドレス及び宛先アドレスを含み、前記送信経路は、前記フローが前記送信元アドレスから前記宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、前記フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、前記同じスイッチングデバイスの前記デバイス識別子に対応する前記フローが前記スイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように構成されるコントローラ。
【請求項９】
前記メモリは、設定された加重平均ポリシーを格納するように構成され、
前記プロセッサは、各フロー検出モジュールにより検出されるフローの数が前記調整後に一致するように、各フロー検出モジュールにより検出される前記フローを調整するために前記加重平均ポリシーを呼び出すように構成される、請求項８に記載のコントローラ。
【請求項１０】
機械により請求項１又は２に記載の方法を実行可能にする命令のプログラムを格納した過渡的でないコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、2012年12月18日に“METHOD,  SYSTEM,  AND  APPARATUS  FOR  CONTROLLING  FLOW  DETECTION,  CONTROLLER  AND  DETECTION  DEVICE”という題で中国専利局に出願された中国特許出願第201210551811.1号の優先権を主張し、この全内容を援用する。
【０００２】
本発明は、ネットワーク通信技術の分野に関し、特に、フロー検出を制御する方法、システム及び装置、コントローラ並びに検出デバイスに関する。
【背景技術】
【０００３】
従来のネットワークアーキテクチャは、一般的に複数のルーティングスイッチング（ルーティング切り替え）デバイスを含み、各ルーティングスイッチデバイスは、複数のホストデバイスに接続されることがある。全てのルーティングスイッチングデバイスは、直接的又は間接的にゲートウェイデバイスに接続され、ゲートウェイデバイスを用いて外部ネットワークに接続される。従来技術では、フロー検出デバイスは、ネットワークの重要な経路に配置されることがある。例えば、ローカルエリアネットワーク又は企業ネットワークでは、フロー検出デバイスは、ローカルエリアネットワーク又は企業ネットワークの全体フローを検出するために、ゲートウェイデバイスと外部ネットワークとの接続経路に配置されることがある。しかし、ネットワークにおける重要な経路にフロー検出デバイスを配置することは、ネットワークの全体フローを検出することしかできないため、ネットワークにおけるスイッチングデバイスの間で送信されるフローを検出することは困難である。従って、既存の方法では、フロー検出デバイスはネットワークに配置され、全てのスイッチングデバイスはフロー検出デバイスに接続され、フロー検出デバイスはネットワークにおけるスイッチングデバイスの間で送信されるフローを検出する。
【０００４】
従来技術における研究の間に、発明者は、ネットワークにおけるスイッチングデバイスの間で送信されるフローはネットワークにおいてフロー検出デバイスを配置することにより検出可能であるが、ネットワークにおいて多数のスイッチングデバイスが存在する場合、フロー検出デバイスにより検出される必要があるフローの数が大きくなるため、フロー検出デバイスが負荷の不均衡になり故障しやすくなることを発見した。
【発明の概要】
【０００５】
本発明の実施例は、フロー検出の負荷が不均衡になり、ネットワークのフロー検出デバイスが故障しやすくなるという従来技術の問題を解決するための、フロー検出を制御する方法、システム及び装置、コントローラ並びに検出デバイスを提供する。
【０００６】
前述の技術的課題を解決するために、本発明の実施例は、以下の技術的対策を開示する。
【０００７】
第１の態様によれば、フロー検出を制御する方法が提供される。この方法は、複数のフロー検出モジュールを含むネットワークに適用され、この方法は、コントローラにより、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応し、コントローラにより、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、コントローラにより、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信することを含む。
【０００８】
第１の態様を参照して第１の態様の第１の可能な実装方法では、コントローラにより、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得することは、コントローラにより、格納されたフロー転送ルールを参照し、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定することを含む。
【０００９】
第１の態様又は第１の態様の第１の可能な実装方法を参照して、第１の態様の第２の可能な実装方法では、コントローラにより、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整することは、特に、コントローラにより、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出すことである。
【００１０】
第２の態様によれば、フロー検出を制御する方法が提供される。この方法は、複数のフロー検出モジュールを含むネットワークの各フロー検出モジュールに適用され、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応し、この方法は、フロー検出モジュールにより、ネットワークのコントローラにより配信された検出命令を受信し、検出命令は、各フロー検出モジュールにより検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出モジュールにより検出されるフローのフロー識別子を含み、フロー検出モジュールにより、検出命令に含まれるフロー識別子に対応するフローを検出することを含む。
【００１１】
第２の態様を参照して第２の態様の第１の可能な実装方法では、フロー検出モジュールは、対応するスイッチングデバイスに配置される、或いは、フロー検出モジュールは、対応するスイッチングデバイスに接続された検出デバイスに配置される。
【００１２】
第３の態様によれば、フロー検出を制御するシステムが提供され、このシステムは、コントローラと、複数のスイッチングデバイスと、複数のフロー検出モジュールとを含み、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応し、スイッチングデバイスのそれぞれは、ネットワークのフローを転送するように構成され、コントローラは、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成され、フロー検出モジュールのそれぞれは、コントローラにより配信された検出命令に含まれるフロー識別子に対応するフローを検出するように構成される。
【００１３】
第３の態様を参照して第３の態様の第１の可能な実装方法では、コントローラは、格納されたフロー転送ルールを参照し、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように特に構成される。
【００１４】
第３の態様又は第３の態様の第１の可能な実装方法を参照して、第３の態様の第２の可能な実装方法では、フロー検出モジュールは、対応するスイッチングデバイスに配置される、或いは、フロー検出モジュールは、対応するスイッチングデバイスに接続された検出デバイスに配置される。
【００１５】
第４の態様によれば、フロー検出を制御する装置が提供される。この装置は、複数のフロー検出モジュールを含むネットワークに適用され、この装置は、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得するように構成された取得ユニットであり、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応する取得モジュールと、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整するように構成された調整ユニットと、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成された制御ユニットとを含む。
【００１６】
第４の態様を参照して第４の態様の第１の可能な実装方法では、取得ユニットは、格納されたフロー転送ルールを参照するように構成されたルール参照サブユニットであり、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含むルール参照サブユニットと、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように構成された識別子取得サブユニットとを含む。
【００１７】
第４の態様又は第４の態様の第１の可能な実装方法を参照して、第４の態様の第２の可能な実装方法では、調整ユニットは、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出すように特に構成される。
【００１８】
第４の態様又は第４の態様の第１の可能な実装方法若しくは第４の態様の第２の可能な実装方法を参照して、第４の態様の第３の可能な実装方法では、制御する装置は、ネットワークのコントローラに配置される。
【００１９】
第５の態様によれば、コントローラが提供される。コントローラは、複数のフロー検出モジュールを含むネットワークに適用され、コントローラは、バスと、バスを用いて接続されたネットワークインタフェース、メモリ及びプロセッサとを含む。ネットワークインタフェースは、ネットワークの複数のスイッチングデバイスに接続するように構成され、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応し、メモリは、設定された負荷バランシングポリシーを格納するように構成され、プロセッサは、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成される。
【００２０】
第５の態様を参照して、第５の態様の第１の可能な実装方法では、メモリは、ネットワークのフロー転送ルールを格納するように更に構成され、プロセッサは、格納されたフロー転送ルールを参照し、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように特に構成される。
【００２１】
第５の態様又は第５の態様の第１の可能な実装方法を参照して、第５の態様の第２の可能な実装方法では、メモリは、設定された加重平均ポリシーを格納するように特に構成され、プロセッサは、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出すように特に構成される。
【００２２】
第６の態様によれば、フロー検出装置が提供される。この装置は、複数のフロー検出装置を含むネットワークに適用され、フロー検出装置のそれぞれは、少なくとも１つのスイッチングデバイスに対応し、この装置は、ネットワークのコントローラにより配信された検出命令を受信するように構成された受信ユニットであり、検出命令は、各フロー検出モジュールにより検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出モジュールにより検出されるフローのフロー識別子を含む受信ユニットと、検出命令に含まれるフロー識別子に対応するフローを検出するように構成された検出ユニットとを含む。
【００２３】
第６の態様を参照して第６の態様の第１の可能な実装方法では、フロー検出装置は、対応するスイッチングデバイスに配置される、或いは、フロー検出装置は、対応するスイッチングデバイスに接続された検出デバイスに配置される。
【００２４】
第７の態様によれば、検出デバイスが提供される。検出デバイスは、複数の検出デバイスを含むネットワークに適用され、検出デバイスのそれぞれは、少なくとも１つのスイッチングデバイスに対応し、検出デバイスは、バスと、バスを用いて接続されたネットワークインタフェース及びプロセッサとを含む。ネットワークインタフェースは、ネットワークのコントローラ及び検出デバイスに対応するスイッチングデバイスに接続するように構成され、プロセッサは、コントローラにより配信された検出命令を受信し、検出命令は、各フロー検出モジュールにより検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出モジュールにより検出されるフローのフロー識別子を含み、検出命令に含まれるフロー識別子に対応するフローを検出するように構成される。
【００２５】
本発明の実施例では、コントローラは、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信する。本発明の実施例では、複数のフロー検出モジュールが分散された方式でネットワークに配置されるため、ネットワークに含まれる多数のスイッチングデバイスが存在する場合、ネットワークで送信されるフローができるだけフロー検出モジュールに均等に分散されることが可能になるように、これらのスイッチングデバイスの間で送信されるフローの検出のために負荷バランシングが実行可能になり、これにより、単一のフロー検出モジュールにより検出されるフローの数を減少させ、ネットワークの通常のフロー検出を確保する。
【００２６】
本発明の実施例又は従来技術の技術的対策を明確に説明するために、以下では、実施例又は従来技術を説明するために必要な添付図面を簡単に紹介する。明らかに、当業者は、創造的取り組みを行うことなく、これらの添付図面から他の図面を依然として導き得る。
【図面の簡単な説明】
【００２７】
【図１】本発明に従ってフロー検出を制御する方法の実施例のフローチャート
【図２】本発明に従ってフロー検出を制御する方法の他の実施例のフローチャート
【図３】本発明の実施例で適用されるネットワークアーキテクチャの概略図
【図４】本発明に従ってフロー検出を制御するシステムの実施例のブロック図
【図５】本発明に従ってフロー検出を制御する装置の実施例のブロック図
【図６】本発明によるコントローラの実施例のブロック図
【図７】本発明によるフロー検出装置の実施例のブロック図
【図８】本発明による検出デバイスの実施例のブロック図
【発明を実施するための形態】
【００２８】
本発明の以下の実施例は、フロー検出のための制御方法、システム及び装置、コントローラ並びに検出デバイスを提供する。
【００２９】
当業者が本発明の実施例の技術的対策をより良く理解することを可能し、本発明の実施例の前述の目的、特徴及び利点を明確に且つ分かりやすくするため、以下では、添付図面を参照して本発明の実施例の技術的対策を詳細に説明する。
【００３０】
本発明の実施例は、ソフトウェア定義によるネットワーク（SDN：Software  Defined  Network）に適用されてもよい。SDNネットワークは、ネットワークフローが柔軟に制御可能になるように、ネットワークデバイスの制御プレーンをネットワークデバイスのデータ転送プレーンから分離する。制御プレーンの機能は、コントローラ（Controller）により実施され、コントローラは、主にフロー転送ポリシーを配信する役目を行い、本発明の実施例では、コントローラは、ネットワークフロー検出を制御する機能を更に有する。データ転送プレーンの機能は、スイッチ（Switch、略してSW）により実施され、スイッチは、主に、コントローラにより配信されたフロー転送ポリシーを受信し、転送ポリシーに従ってフローを転送するように構成される。一般的にSDNネットワークでは、コントローラは、各スイッチに別々に接続され、スイッチの間のフロー転送は、相互接続により実施される。本発明の実施例では、複数のフロー検出モジュールがSDNネットワークに配置されてもよく、各フロー検出モジュールが１つのスイッチに接続され、スイッチを流れるネットワークトラヒックを検出するように構成されてもよい。フロー検出モジュールは、スイッチに統合されてもよく、また、スイッチと独立したデバイスに配置されてもよい。例えば、フロー検出モジュールは、ファイヤウォール（FW：Firewall）デバイス、侵入防止システム（IPS：Intrusion  Prevention  System）デバイス、侵入検出システム（IDS：Intrusion  Detection  System）デバイス等に配置されてもよい。この場合、デバイスは、対応するスイッチに接続される。
【００３１】
図１を参照すると、図１は、本発明の実施例に従ってフロー検出を制御する方法の実施例のフローチャートであり、この実施例は、ネットワークのコントローラ側においてフロー検出を制御する処理を記載している。
【００３２】
ステップ101：コントローラは、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得する。
【００３３】
この実施例では、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応する。
【００３４】
コントローラは、各スイッチングデバイスに接続され、コントローラは、ネットワークの全てのフローのフロー転送ルールを格納する。フロー転送ルールは、各フローのフロー識別子及び送信経路を含む。フロー識別子は、フローの送信元アドレス及び宛先アドレスを含んでもよく、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含んでもよい。コントローラが各フロー検出モジュールにより検出されるフローのフロー識別子を取得する必要がある場合、コントローラは、格納されたフロー転送ルールを参照し、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定してもよい。
【００３５】
ステップ102：コントローラは、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整する。
【００３６】
この実施例では、コントローラは、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出してもよい。フロー検出モジュールにより検出されるフローが負荷バランシングポリシーを使用することにより均衡することができる限り、従来技術の如何なる負荷バランシングポリシーが本発明のこの実施例で使用されてもよい点に留意すべきであり、これは本発明のこの実施例では限定されない。
【００３７】
ステップ103：コントローラは、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信する。
【００３８】
元々は各スイッチングデバイスを流れるトラヒックはネットワーク内で異なるため、ネットワークフロー検出モジュールにより検出されるフローの数も異なる。特に、送信経路の少なくとも２つのスイッチングデバイスに配置されたフロー検出モジュールのフローについて、フローが負荷バランシングを用いてフロー検出モジュールの１つのみにより検出されることが行われてもよい。
【００３９】
前述の実施例から、複数のフロー検出モジュールが分散された方式でネットワークに配置されるため、ネットワークに含まれる多数のスイッチングデバイスが存在する場合、ネットワークで送信されるフローができるだけフロー検出モジュールに均等に分散されることが可能になるように、これらのスイッチングデバイスの間で送信されるフローの検出のために負荷バランシングが実行可能になり、これにより、単一のフロー検出モジュールにより検出されるフローの数を減少させ、ネットワークの通常のフロー検出を確保することが分かる。
【００４０】
図２を参照すると、図２は、本発明に従ってフロー検出を制御する方法の他の実施例のフローチャートであり、この実施例は、ネットワークのいずれかのフロー検出モジュール側においてフロー検出を制御する処理を記載している。
【００４１】
ステップ201：フロー検出モジュールは、ネットワークのコントローラにより配信された検出命令を受信する。検出命令は、各フロー検出モジュールにより検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出モジュールにより検出されるフローのフロー識別子を含む。
【００４２】
この実施例では、フロー検出モジュールは、対応するスイッチングデバイスに配置されてもよく、フロー検出モジュールは、対応するスイッチングデバイスに接続された検出デバイスに配置されてもよい。
【００４３】
この実施例では、各コントローラは複数のフロー検出モジュールに接続されるため、ネットワークの全てのフローの検出のために負荷バランシングを実行した後に、コントローラは、検出命令を各フロー検出モジュールに配信する。検出命令は、フロー検出モジュールにより検出されるフローのフロー識別子のみを含んでもよく、検出命令はまた、全てのフロー検出モジュールの各フロー検出モジュールにより検出されるフローのフロー識別子を含んでもよい。いずれかのフロー検出モジュールは、自身のモジュール識別子に従って、検出されるフローのフロー識別子を取得してもよい。
【００４４】
ステップ202：フロー検出モジュールは、検出命令に含まれるフロー識別子に対応するフローを検出する。
【００４５】
フロー検出モジュールが検出命令を受信した後に、フロー検出が更新されたフロー識別子に従って実行されるように、検出モジュールに含まれるフロー識別子は、フロー検出モジュールにより検出されるフローの元々格納されたフロー識別子を更新するために使用されてもよい。
【００４６】
前述の実施例から、複数のフロー検出モジュールが分散された方式でネットワークに配置されるため、ネットワークに含まれる多数のスイッチングデバイスが存在する場合、ネットワークで送信されるフローができるだけフロー検出モジュールに均等に分散されることが可能になるように、これらのスイッチングデバイスの間で送信されるフローの検出のために負荷バランシングが実行可能になり、これにより、単一のフロー検出モジュールにより検出されるフローの数を減少させ、ネットワークの通常のフロー検出を確保することが分かる。
【００４７】
図３を参照すると、図３は、本発明の前述の実施例の方法に適用されるネットワークアーキテクチャの概略図である。
【００４８】
図３のネットワークアーキテクチャは、特にSDNネットワークに基づくアーキテクチャでもよく、一例として、ネットワークアーキテクチャは内部ネットワークと外部ネットワークとに分割される。内部ネットワークは、コントローラと、それぞれSW1、SW2及びSW3である３つのスイッチと、それぞれSW1に対応するフロー検出モジュール1、SW2に対応するフロー検出モジュール2及びSW3に対応するフロー検出モジュール3である３つのフロー検出モジュールとを含む。前述のコントローラ及び３つのスイッチは、全てゲートウェイGWに接続され、ゲートウェイGWを用いて外部ネットワークNetworkに接続される。SW1に接続されたホストデバイスA及びホストデバイス1、SW2に接続されたホストデバイスB及びホストデバイス2、並びにSW3に接続されたホストデバイスC及びホストデバイス3を含み、各スイッチは、２つのホストデバイスに接続される。コントローラは、各スイッチに相互に接続され、各スイッチのフロー検出モジュールはまた、コントローラと別々に通信してもよい。各スイッチのフロー検出モジュールの機能は、スイッチに統合されてもよく、スイッチに接続された検出デバイスに構成されてもよい。すなわち、１つの検出デバイスはスイッチ毎に構成されてもよく、これは本発明の実施例では限定されない。
【００４９】
以下では、図３に示すネットワークアーキテクチャを参照して、本発明のこの実施例に記載のフロー検出を制御する処理について説明する。
【００５０】
まず、コントローラは、格納されたフロー転送ルールから各フローのフロー識別子及び送信経路を取得し、フロー識別子及び送信経路に従って、各フローを検出するフロー検出モジュールを取得してもよい。結果は、以下の表１に示されている。
【００５１】
【表１】
0006002853.tif 000002
前述の表１において、A<->Nであるフロー識別子が一例として使用されており、“A”は送信元アドレスとして使用されるホストAのアドレスを示し、“N”は宛先アドレスとして使用されるNetworkのアドレスを示す。“SW1,GW1”である送信経路が一例として使用されており、これは、フロー“A<->N”がホストAからNetworkへの送信の処理においてスイッチングデバイスSW1及びGWを通過する必要があることを示す。フロー検出モジュール1はSW1について構成されているため、フロー“A<->N”は、フロー検出のために負荷バランシングが実行される前にフロー検出モジュール1により検出される。
【００５２】
前述の表１によれば、負荷バランシングの前に、元々フロー検出モジュール1により検出される必要のあるフローは、A<->N、A<->1、A<->C及びB<->1であり、元々フロー検出モジュール2により検出される必要のあるフローは、B<->N、B<->2、B<->1及び2<->3であり、元々フロー検出モジュール3により検出される必要のあるフローは、A<->C、C<->N、C<->3及び2<->3である。フローの検出のための負荷バランシングを実行するためにどのポリシーが特に採用されるかは、本発明のこの実施例では限定されないため、任意選択のポリシーの例では、前述のフローの負荷バランシングを実行するために加重平均ポリシーが採用されることが想定される。そして、次の負荷バランシングの結果が取得されてもよい。フロー検出モジュール1は、フローA<->N、A<->1、A<->Cを検出し、フロー検出モジュール2は、フローB<->N、B<->2、B<->1を検出し、フロー検出モジュール3は、C<->N、C<->3、2<->3を検出する。
【００５３】
コントローラが前述の負荷バランシングポリシーを実行した後に、各フロー検出モジュールは、３つのフローを検出することが確保され得る。この場合、コントローラは、フロー識別子A<->N、A<->1及びA<->Cを含む検出命令をフロー検出モジュール1に配信し、フロー識別子B<->N、B<->2及びB<->1を含む検出命令をフロー検出モジュール2に配信し、フロー識別子C<->N、C<->3及び2<->3を含む検出命令をフロー検出モジュール3に配信する。フロー検出モジュール1が一例として使用される。フロー検出モジュール1は、A<->N、A<->1及びA<->Cのフロー識別子を有するフローのみを検出し、もはやB<->1のフロー識別子を有するフローを検出しない。
【００５４】
前述の実施例から、複数のフロー検出モジュールが分散された方式でネットワークに配置されるため、ネットワークに含まれる多数のスイッチングデバイスが存在する場合、ネットワークで送信されるフローができるだけフロー検出モジュールに均等に分散されることが可能になるように、これらのスイッチングデバイスの間で送信されるフローの検出のために負荷バランシングが実行可能になり、これにより、単一のフロー検出モジュールにより検出されるフローの数を減少させ、ネットワークの通常のフロー検出を確保することが分かる。
【００５５】
本発明に従ってフロー検出を制御する方法の実施例に対応して、フロー検出を制御するシステム及び装置、コントローラ並びに検出デバイスの実施例が本発明において更に提供される。
【００５６】
図４を参照すると、図４は、本発明に従ってフロー検出を制御するシステムの実施例のブロック図である。
【００５７】
システムは、コントローラ410と、複数のスイッチングデバイス420と、複数のフロー検出モジュール430とを含む。各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応してもよい。図４の例示を簡略化するため、３つのスイッチングデバイスが示されており、フロー検出モジュールが各スイッチングデバイスに配置される。各フロー検出モジュールはまた、スイッチングデバイスと独立しておりスイッチングデバイスに接続された検出デバイスに配置されてもよい。これは本発明のこの実施例では限定されない。
【００５８】
スイッチングデバイス420のそれぞれは、ネットワークのフローを転送するように構成される。
【００５９】
コントローラ410は、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成される。
【００６０】
フロー検出モジュール430のそれぞれは、コントローラにより配信された検出命令に含まれるフロー識別子に対応するフローを検出するように構成される。
【００６１】
任意選択で、コントローラ410は、格納されたフロー転送ルールを参照し、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように特に構成される。
【００６２】
図５を参照すると、図５は、本発明に従ってフロー検出を制御する装置の実施例のブロック図である。この装置は、前述の図４に示すシステムに適用されてもよく、例えば、この装置は、前述の図４に示すネットワークのコントローラに配置されてもよい。
【００６３】
制御する装置は、取得ユニット510と、調整ユニット520と、制御ユニット530とを含む。取得ユニット510は、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得するように構成され、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応する。調整ユニット520は、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整するように構成される。制御ユニット530は、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成される。
【００６４】
任意選択で、取得ユニット510は、格納されたフロー転送ルールを参照するように構成されたルール参照サブユニットであり、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含むルール参照サブユニットと、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように構成された識別子取得サブユニットとを更に含んでもよい（図５に図示せず）。
【００６５】
任意選択で、調整ユニット520は、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出すように特に構成されてもよい。
【００６６】
図６を参照すると、図６は、本発明によるコントローラの実施例のブロック図である。コントローラは、複数のフロー検出モジュールを含む前述の図４に示すネットワークに適用されてもよい。
【００６７】
コントローラは、バス610と、バス610を用いて接続されたネットワークインタフェース620、メモリ630及びプロセッサ640とを含む。ネットワークインタフェース620は、ネットワークの複数のスイッチングデバイスに接続するように構成され、各フロー検出モジュールは、少なくとも１つのスイッチングデバイスに対応する。メモリ630は、設定された負荷バランシングポリシーを格納するように構成される。プロセッサ640は、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信するように構成される。
【００６８】
任意選択で、メモリ630は、ネットワークのフロー転送ルールを格納するように更に構成され、プロセッサ640は、格納されたフロー転送ルールを参照し、フロー転送ルールは、各フローのフロー識別子及び送信経路を含み、フロー識別子は、フローの送信元アドレス及び宛先アドレスを含み、送信経路は、フローが送信元アドレスから宛先アドレスに送信されるときのスイッチングデバイスのデバイス識別子を含み、フロー転送ルールから、同じスイッチングデバイスのデバイス識別子に対応するフローのフロー識別子を取得し、同じスイッチングデバイスのデバイス識別子に対応するフローがスイッチングデバイスに対応するフロー検出モジュールにより検出されるフローであることを決定するように特に構成される。
【００６９】
任意選択で、メモリ630は、設定された加重平均ポリシーを格納するように特に構成され、プロセッサ640は、各フロー検出モジュールにより検出されるフローの数が調整後に一致するように、各フロー検出モジュールにより検出されるフローを調整するための加重平均ポリシーを呼び出すように特に構成される。
【００７０】
図７を参照すると、図７は、本発明によるフロー検出装置の実施例のブロック図である。フロー検出装置は、前述の図４に示すシステムに適用されてもよい。フロー検出装置は、フロー検出モジュールの機能を有し、少なくとも１つの対応するスイッチングデバイスに配置されてもよく、スイッチングデバイスと独立しておりスイッチングデバイスに接続された検出デバイスに配置されてもよい。
【００７１】
フロー検出装置は、受信ユニット710と、検出ユニット720とを含む。受信ユニット710は、ネットワークのコントローラにより配信された検出命令を受信するように構成される。検出命令は、各フロー検出装置より検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出装置により検出されるフローのフロー識別子を含む。検出ユニット720は、検出命令に含まれるフロー識別子に対応するフローを検出するように構成される。
【００７２】
図８を参照すると、図８は、本発明による検出デバイスの実施例のブロック図である。フロー検出デバイスは、前述の図４に示すシステムに適用されてもよい。検出デバイスは、フロー検出モジュールの機能を含み、検出デバイスは、少なくとも１つのスイッチングデバイスに対応し、少なくとも１つのスイッチングデバイスに接続される。
【００７３】
検出デバイスは、バス810と、バス810を用いて接続されたネットワークインタフェース820及びプロセッサ830とを含む。ネットワークインタフェース820は、ネットワークのコントローラ及び検出デバイスに対応するスイッチングデバイスに接続するように構成される。プロセッサ830は、コントローラにより配信された検出命令を受信し、検出命令は、各フロー検出モジュールにより検出されるフローのフロー識別子を取得した後に、設定された負荷バランシングポリシーに従ってコントローラにより実行される調整後のネットワークのフロー検出モジュールにより検出されるフローのフロー識別子を含み、検出命令に含まれるフロー識別子に対応するフローを検出するように構成される。
【００７４】
前述の実施例から、コントローラは、ネットワークの各フロー検出モジュールにより検出されるフローのフロー識別子を取得し、設定された負荷バランシングポリシーに従って、各フロー検出モジュールにより検出されるフローを調整し、調整後に各フロー検出モジュールにより検出されるフローのフロー識別子を含む検出命令を各フロー検出モジュールに配信することが分かる。本発明の実施例では、複数のフロー検出モジュールが分散された方式でネットワークに配置されるため、ネットワークに含まれる多数のスイッチングデバイスが存在する場合、ネットワークで送信されるフローができるだけフロー検出モジュールに均等に分散されることが可能になるように、これらのスイッチングデバイスの間で送信されるフローの検出のために負荷バランシングが実行可能になり、これにより、単一のフロー検出モジュールにより検出されるフローの数を減少させ、ネットワークの通常のフロー検出を確保する。
【００７５】
当業者は、本発明の実施例の技術がソフトウェアと必要な汎用ハードウェアプラットフォームとを通じて実施され得ることを明確に理解する。このような理解に基づいて、本質的に本発明の技術的対策又は従来技術に寄与する部分は、ソフトウェアプロダクトの形式で実装されてもよい。ソフトウェアプロダクトは、ROM/RAM、ハードディスク又は光ディスクのような記憶媒体に格納され、コンピュータデバイス（パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい）に対して本発明の実施例又は実施例のいくつかの部分に記載の方法を実行させるように命令する複数の命令を含む。
【００７６】
この明細書の実施例は、全て累進的に記載されており、実施例の同じ部分又は同様の部分について、これらの実施例に参照が行われてもよい。各実施例は、他の実施例との差に焦点を当てている。特に、システムの実施例は基本的に方法の実施例と同様であるため、簡潔に記載されている。関係する部分については、方法の実施例の部分の記載に参照が行われてもよい。
【００７７】
前述の説明は、本発明の実装方法であるが、本発明の保護範囲を限定することを意図するものではない。本発明の要旨及び原理から逸脱することなく行われる如何なる変更、等価置換及び改良も、本発明の保護範囲内に入るものとする。
【図１】
0006002853.tif 000003
【図２】
0006002853.tif 000004
【図４】
0006002853.tif 000005
【図５】
0006002853.tif 000006
【図６】
0006002853.tif 000007
【図７】
0006002853.tif 000008
【図８】
0006002853.tif 000009
【図３】
0006002853.tif 000010