(57)【特許請求の範囲】
【請求項１】
ネットワーク制御方法であって、
転送プレーン・デバイスの要求メッセージを第1のネットワーク・コントローラによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、前記ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含み、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスの一次ネットワーク・コントローラである、ステップと、
前記第1のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信して、前記処理ポリシーを前記第1のネットワーク・コントローラに提供するように前記第2のネットワーク・コントローラに要求するステップであって、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行される、ステップと、
前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信し、受信した前記処理ポリシーを前記転送プレーン・デバイスに送信するステップと、を含む、
ネットワーク制御方法。
【請求項２】
前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップは、
前記要求メッセージを前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信するステップと、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより、前記要求メッセージを前記第2のネットワーク・コントローラに送信するステップとを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラの上位レベルのネットワーク・コントローラであるか、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである、請求項１に記載の方法。
【請求項３】
前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップの前に、
前記要求メッセージを前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信するステップと、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラによって送信される拒否メッセージを前記第1のネットワーク・コントローラによって受信して、前記処理ポリシーを前記第1のネットワーク・コントローラに送信することを拒否するステップとをさらに含み、
前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップは、
受信した前記拒否メッセージにしたがって、前記要求メッセージを前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある、請求項１に記載の方法。
【請求項４】
前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信するステップは、
前記第2のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定する場合に、受信した前記要求メッセージにしたがって、前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラである請求項１に記載の方法。
【請求項５】
転送プレーン・デバイスの要求メッセージを第1のネットワーク・コントローラによって受信するステップの前に、
前記転送プレーン・デバイスとの通信接続を前記第1のネットワーク・コントローラによって確立するステップと、
前記転送プレーン・デバイスの第1の属性情報を前記第1のネットワーク・コントローラによって取得し、前記転送プレーン・デバイスの前記第1の属性情報を前記第2のネットワーク・コントローラに送信し、それにより、前記転送プレーン・デバイスの前記第1の属性情報にしたがって、前記第2のネットワーク・コントローラが転送プレーン・デバイス・トポロジを構築し、前記転送プレーン・デバイス・トポロジを格納するステップとをさらに含む、請求項１又は４に記載の方法。
【請求項６】
前記転送プレーン・デバイスの前記第1の属性情報は、前記転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、前記リンク特徴は、前記転送プレーン・デバイスに接続されるピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む、請求項５に記載の方法。
【請求項７】
前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの対応するネットワーク・コントローラによってサポートされる前記専用ネットワーク機能を識別するための情報は、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの前記対応するネットワーク・コントローラにインストールされたアプリケーション・プログラムの識別子、及び、ユーザ定義ベンダ識別情報のうちの少なくとも1つを含み、前記処理ポリシーは、フローテーブル修正、フローテーブル追加、フローテーブル削除、サービス伝送路更新、転送プレーン・デバイスキャッシュ更新、及び、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの少なくとも一方によってサポートされる1つ又は複数のネットワーク機能に関する他のポリシーを含む、請求項１に記載の方法。
【請求項８】
ネットワーク制御方法であって、
第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを含み、前記ネットワーク・イベントの処理ポリシーを要求するのに使用され、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信されるか又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信され、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行される、ステップと、
前記第2のネットワーク・コントローラによって前記第1のネットワーク・コントローラに前記処理ポリシーを送信し、それにより、前記第1のネットワーク・コントローラは、前記処理ポリシーを前記転送プレーン・デバイスに送信するか、又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラに送信するステップと、を含む、
ネットワーク制御方法。
【請求項９】
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージが前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが処理ポリシーを提供できないと判定する場合に、前記要求メッセージが、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することによって前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、
第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップが、
前記第1のネットワーク・コントローラによって送信される前記要求メッセージを、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第2のネットワーク・コントローラによって受信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである、請求項８に記載の方法。
【請求項１０】
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定し、前記第1のネットワーク・コントローラに拒否メッセージを送信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある、請求項８に記載の方法。
【請求項１１】
前記第2のネットワーク・コントローラによって前記第1のネットワーク・コントローラに前記処理ポリシーを送信するステップの前に、
当該方法は、さらに、前記要求メッセージにしたがって前記第2のネットワーク・コントローラによって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラである、請求項９又は１０に記載の方法。
【請求項１２】
第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップの前に、当該方法は、さらに、
前記第1のネットワーク・コントローラとの通信接続を前記第2のネットワーク・コントローラによって確立するステップと、
前記第1のネットワーク・コントローラによって取得され送信される属性情報を前記第2のネットワーク・コントローラによって受信するステップと、
前記第1のネットワーク・コントローラによって取得されて受信された前記属性情報にしたがって前記第2のネットワーク・コントローラによって、第1のネットワーク・コントローラ・トポロジを構築し、前記第1のネットワーク・コントローラ・トポロジを格納するステップとを含み、
前記第1のネットワーク・コントローラによって取得された前記属性情報は、前記第1のネットワーク・コントローラの属性情報、又は前記第1のネットワーク・コントローラの属性情報及び前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの属性情報とを含む、請求項８又は１１に記載の方法。
【請求項１３】
前記第1のネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含み、
前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む、請求項１２に記載の方法。
【請求項１４】
前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの対応するネットワーク・コントローラによってサポートされる前記専用ネットワーク機能を識別するための情報は、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの前記対応するネットワーク・コントローラにインストールされたアプリケーション・プログラムの識別子、及び、ユーザ定義ベンダ識別情報のうちの少なくとも1つを含み、前記処理ポリシーは、フローテーブル修正、フローテーブル追加、フローテーブル削除、サービス伝送路更新、転送プレーン・デバイスキャッシュ更新、及び、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの少なくとも一方によってサポートされる1つ又は複数のネットワーク機能に関する他のポリシーを含む、請求項８に記載の方法。
【請求項１５】
ネットワーク制御装置であって、
転送プレーン・デバイスの要求メッセージを受信するように構成される受信モジュールであって、前記要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、前記ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含む、受信モジュールと、
第1のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージを第2のネットワーク・コントローラに送信して、前記処理ポリシーを前記第1のネットワーク・コントローラに提供することを前記第2のネットワーク・コントローラに要求するように構成されたる送信モジュールと、を含み、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスの一次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行され、
前記受信モジュールは、さらに、前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを受信するように構成され、
前記送信モジュールは、さらに、受信した前記処理ポリシーを前記転送プレーン・デバイスに送信するように構成される、
ネットワーク制御装置。
【請求項１６】
送信モジュールは、特に、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに前記要求メッセージを送信するように構成され、また、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第2のネットワーク・コントローラに前記要求メッセージを送信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラ前記の前記一次ネットワーク・コントローラの上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである、請求項１５に記載の装置。
【請求項１７】
前記送信モジュールは、さらに、
前記要求メッセージを前記第2のネットワーク・コントローラに送信する前に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラに前記要求メッセージを送信するように構成され、また、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラによって送信される拒否メッセージを受信して、前記第1のネットワーク・コントローラに前記処理ポリシーを送信することを拒否するように構成され、
送信モジュールは、特に、前記受信した拒否メッセージにしたがって前記第2のネットワーク・コントローラに前記要求メッセージを送信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある、請求項１５に記載の装置。
【請求項１８】
前記受信モジュールは、特に、前記第2のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定する場合に、受信した前記要求メッセージにしたがって前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを受信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラである、請求項１５に記載の装置。
【請求項１９】
前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの対応するネットワーク・コントローラによってサポートされる前記専用ネットワーク機能を識別するための情報は、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの前記対応するネットワーク・コントローラにインストールされたアプリケーション・プログラムの識別子、及び、ユーザ定義ベンダ識別情報のうちの少なくとも1つを含み、前記処理ポリシーは、フローテーブル修正、フローテーブル追加、フローテーブル削除、サービス伝送路更新、転送プレーン・デバイスキャッシュ更新、及び、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの少なくとも一方によってサポートされる1つ又は複数のネットワーク機能に関する他のポリシーを含む、請求項１５に記載の装置。
【請求項２０】
ネットワーク制御装置であって、
第1のネットワーク・コントローラによって送信される要求メッセージを受信するように構成される受信モジュールであって、前記要求メッセージは、ネットワーク・イベントを含み、前記ネットワーク・イベントの処理ポリシーを要求するのに使用され、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信されるか又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信され、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行される、受信モジュールと、
前記第1のネットワーク・コントローラに前記処理ポリシーを送信し、それにより、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスに又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラに前記処理ポリシーを送信する、ように構成される送信モジュールと、を含む、
ネットワーク制御装置。
【請求項２１】
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラであり、
前記受信モジュールは、特に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第1のネットワーク・コントローラによって送信される要求メッセージを受信するように構成される、請求項２０に記載の装置。
【請求項２２】
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラから前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定し、拒否メッセージを前記第1のネットワーク・コントローラに送信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある、請求項２０に記載の装置。
【請求項２３】
前記第2のネットワーク・コントローラが前記処理ポリシーを前記第1のネットワーク・コントローラに送信する前に、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定するように構成される処理モジュールをさらに含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラである、請求項２１又は２２に記載の装置。
【請求項２４】
前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの対応するネットワーク・コントローラによってサポートされる前記専用ネットワーク機能を識別するための情報は、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの前記対応するネットワーク・コントローラにインストールされたアプリケーション・プログラムの識別子、及び、ユーザ定義ベンダ識別情報のうちの少なくとも1つを含み、前記処理ポリシーは、フローテーブル修正、フローテーブル追加、フローテーブル削除、サービス伝送路更新、転送プレーン・デバイスキャッシュ更新、及び、前記第1のネットワーク・コントローラ及び前記第2のネットワーク・コントローラのうちの少なくとも一方によってサポートされる1つ又は複数のネットワーク機能に関する他のポリシーを含む、請求項２０に記載の装置。
【請求項２５】
プログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記プログラムは、請求項１乃至７のいずれか１項に記載の方法をコンピュータに実行させる、コンピュータ読み取り可能な記憶媒体。
【請求項２６】
プログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記プログラムは、請求項８乃至１４のいずれか１項に記載の方法をコンピュータに実行させる、コンピュータ読み取り可能な記憶媒体。
【請求項２７】
1つ又は複数のコンピュータ実行可能な命令を含むコンピュータ・プログラムであって、前記１つ又は複数のコンピュータ実行可能な命令は、受信モジュール及び送信モジュールを含むネットワーク制御装置のプロセッサで実行されると、前記ネットワーク制御装置にネットワーク制御方法を実行させ、前記ネットワーク制御方法は、
転送プレーン・デバイスの要求メッセージを前記受信モジュールによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、前記ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含む、ステップと、
第1のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージを前記送信モジュールによって第2のネットワーク・コントローラに送信して、前記処理ポリシーを前記第1のネットワーク・コントローラに提供することを前記第2のネットワーク・コントローラに要求するステップであって、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスの一次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行される、ステップと、
前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記受信モジュールによって受信するステップと、
受信した前記処理ポリシーを前記送信モジュールによって前記転送プレーン・デバイスに送信するステップと、を含む、
コンピュータ・プログラム。
【請求項２８】
1つ又は複数のコンピュータ実行可能な命令を含むコンピュータ・プログラムであって、前記1つ又は複数のコンピュータ実行可能な命令は、受信モジュール及び送信モジュールを含むネットワーク制御装置のプロセッサで実行されると、前記ネットワーク制御装置にネットワーク制御方法を実行させ、前記ネットワーク制御方法は、
第1のネットワーク・コントローラによって送信される要求メッセージを前記受信モジュールによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを含むとともに、前記ネットワーク・イベントの処理ポリシーを要求するのに使用され、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信されるか又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信され、前記第1のネットワーク・コントローラに配置される専用ネットワーク機能は、前記第2のネットワーク・コントローラに配置される専用ネットワーク機能とは異なっており、前記第1のネットワーク・コントローラが前記処理ポリシーを提供することが可能であるか否かに関する前記判定は、前記要求メッセージ及び前記第1のネットワーク・コントローラに配置される前記専用ネットワーク機能に基づいて実行される、ステップと、
前記送信モジュールによって前記第1のネットワーク・コントローラに前記処理ポリシーを送信し、それにより、前記第1のネットワーク・コントローラは、前記処理ポリシーを前記転送プレーン・デバイスに送信するか、又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラに送信するステップと、を含む、
コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信技術に関し、詳細には、ネットワーク制御方法及び装置に関する。
【背景技術】
【０００２】
ソフトウェア定義ネットワーキング（Software-Defined  Network，略してSDN）ネットワークは、ネットワークデバイスの制御とデータ転送を分離し、スイッチ又はルータのネットワーク機能が、コントローラに集約化され、転送プレーン・デバイスがデータ転送動作のみを行う。
【０００３】
SDNネットワークを大規模分散型ネットワークに配置する間、ネットワークは、通常、複数の異なるセグメントに分割される。各々のセグメントは、SDNドメインと呼ばれ、複数のSDNドメインが相互接続されて完全なSDNネットワークが形成される。SDNドメインは、SDNドメインコントローラ、ネットワーク・コントローラ、及び転送プレーン・デバイスを含む。SDNドメインコントローラは、ネットワーク・コントローラの一種である。転送プレーン・デバイスは、主に、データ転送を行うように構成される。ネットワーク・コントローラは、制御チャネルを使用して転送プレーン・デバイスの構成及び管理を行う。SDNドメインコントローラは、このドメインの中のネットワーク・コントローラ及び転送プレーン・デバイスを管理するように構成される。ネットワーク・コントローラの中のアプリケーション・プログラムが、ネットワークの挙動を複数の異なるシナリオの要件に適応するように修正する、例えば、仮想ネットワークサービスを提供するように修正するために使用され、それにより、複数の異なる論理機能が実現され、同一の物理的ネットワーク内で互いに分離されてもよい。
【０００４】
SDN領域においては、アプリケーション・プログラムをネットワーク・コントローラに集約してインストールすることによって、SDNドメインの中のネットワークデバイスは、ルーティング制御、トンネルカプセル化、ファイアウォール、セキュアアクセス、及びサービス制御の品質等の複雑なネットワーク機能を実現することができる。しかしながら、この方法は、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつ制御プレーンにおいてボトルネックを生じる。
【発明の概要】
【０００５】
本発明の実施形態は、従来技術の問題、すなわち、ネットワーク機能を実現できる過剰なアプリケーション・プログラムが、ネットワーク・コントローラに集約配置手法でインストールされ、その結果、ネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつ制御プレーンにおいてボトルネックを生じやすくなるという問題を解決するためのネットワーク制御方法及び装置を提供する。
【０００６】
第1の態様によれば、本発明の1つの実施形態は、ネットワーク制御方法を提供し、当該方法は、
転送プレーン・デバイスの要求メッセージを第1のネットワーク・コントローラによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、前記ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含み、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスの一次ネットワーク・コントローラである、ステップと、
前記第1のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信して、前記処理ポリシーを前記第1のネットワーク・コントローラに提供するように前記第2のネットワーク・コントローラに要求するステップと、
前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信し、受信した前記処理ポリシーを前記転送プレーン・デバイスに送信するステップとを含む。
【０００７】
第1の態様の第1の可能な実現手法において、前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップは、
前記要求メッセージを前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信するステップと、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより、前記要求メッセージを前記第2のネットワーク・コントローラに送信するステップとを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラの上位レベルのネットワーク・コントローラであるか、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【０００８】
第1の態様によれば、第2の可能な実現手法において、前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップの前に、当該方法は、さらに、
前記要求メッセージを前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信するステップと、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラによって送信される拒否メッセージを前記第1のネットワーク・コントローラによって受信して、前記処理ポリシーを前記第1のネットワーク・コントローラに送信することを拒否するステップとを含み、
前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップは、
受信した前記拒否メッセージにしたがって、前記要求メッセージを前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある。
【０００９】
第1の態様によれば、第3の可能な実現手法において、前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信するステップは、
前記第2のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定する場合に、受信した前記要求メッセージにしたがって、前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを前記第1のネットワーク・コントローラによって受信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【００１０】
第1の態様、又は第1の態様の第3の可能な実現手法によれば、第4の可能な実現手法において、転送プレーン・デバイスの要求メッセージを第1のネットワーク・コントローラによって受信するステップの前に、当該方法は、さらに、
前記転送プレーン・デバイスとの通信接続を前記第1のネットワーク・コントローラによって確立するステップと、
前記転送プレーン・デバイスの第1の属性情報を前記第1のネットワーク・コントローラによって取得し、前記転送プレーン・デバイスの前記第1の属性情報を前記第2のネットワーク・コントローラに送信し、それにより、前記転送プレーン・デバイスの前記第1の属性情報にしたがって、前記第2のネットワーク・コントローラが転送プレーン・デバイス・トポロジを構築し、前記転送プレーン・デバイス・トポロジを格納するステップとを含む。
【００１１】
第1の態様の第4の可能な実現手法によれば、第5の可能な実現手法において、
前記転送プレーン・デバイスの前記第1の属性情報は、前記転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、前記リンク特徴は、前記転送プレーン・デバイスに接続されるピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【００１２】
第1の態様のいずれか1つ、又は第1の態様の第3の可能な実現手法から第5の可能な実現手法によれば、第6の可能な実現手法において、当該方法は、さらに、
前記第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信し、それにより、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラによってサポートされる前記ネットワーク機能を識別するのに使用される前記情報を格納するステップを含む。
【００１３】
第1の態様の第4の可能な実現手法から第6の可能な実現手法のいずれか1つによれば、第7の可能な実現手法において、
当該方法は、さらに、
前記転送プレーン・デバイスの第2の属性情報を、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信し、それにより、前記第2のネットワーク・コントローラは、前記転送プレーン・デバイスの前記第2の属性情報を格納するステップを含み、前記第2の属性情報は、前記転送プレーン・デバイスのフローテーブル情報、複数の前記転送プレーン・デバイスの間のリンクの状態情報、又は前記転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【００１４】
第1の態様のいずれか、又は第1の態様の第1の可能な実現手法から第7の可能な実現手法によれば、第8の可能な実現手法において、前記要求メッセージを前記第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信するステップの前に、
当該方法は、さらに、
前記第2のネットワーク・コントローラとの通信接続を前記第1のネットワーク・コントローラによって確立するステップと、
前記第1のネットワーク・コントローラによって取得された属性情報を前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信し、それにより、前記第1のネットワーク・コントローラによって取得された前記属性情報にしたがって、前記第2のネットワーク・コントローラは、ネットワーク・コントローラ・トポロジを構築し、前記ネットワーク・コントローラ・トポロジを格納するステップとを含み、
前記第1のネットワーク・コントローラによって取得された前記属性情報は、前記第1のネットワーク・コントローラの属性情報、又は前記第1のネットワーク・コントローラの属性情報及び前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの属性情報を含む。
【００１５】
第1の態様の第8の可能な実現手法によれば、第9の可能な実現手法において、前記第1のネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含み、
前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【００１６】
第2の態様によれば、本発明の1つの実施形態は、ネットワーク制御方法を提供し、当該方法は、
第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップであって、前記要求メッセージは、ネットワーク・イベントを含み、前記ネットワーク・イベントの処理ポリシーを要求するのに使用され、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信される、ステップと、
前記第2のネットワーク・コントローラによって前記第1のネットワーク・コントローラに前記処理ポリシーを送信し、それにより、前記第1のネットワーク・コントローラは、前記処理ポリシーを前記転送プレーン・デバイスに送信するか、又は前記第1のネットワーク・コントローラのより低レベルの前記ネットワーク・コントローラに送信するステップとを含む。
【００１７】
第2の態様の第1の可能な実現手法では、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージが前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが処理ポリシーを提供できないと判定する場合に、前記要求メッセージが、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することによって前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、
第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップが、
前記第1のネットワーク・コントローラによって送信される前記要求メッセージを、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第2のネットワーク・コントローラによって受信するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【００１８】
第2の態様によれば、第2の可能な実現手法において、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定し、前記第1のネットワーク・コントローラに拒否メッセージを送信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラが、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラが、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある。
【００１９】
第2の態様のいずれか、又は第2の態様の第1の可能な実現手法又は第2の可能な実現手法によれば、第3の可能な実現手法において、前記第2のネットワーク・コントローラによって前記第1のネットワーク・コントローラに前記処理ポリシーを送信するステップの前に、
当該方法は、さらに、
前記要求メッセージにしたがって前記第2のネットワーク・コントローラによって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定するステップを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラである。
【００２０】
第2の態様、又は第2の態様の第3の可能な実現手法によれば、第4の可能な実現手法において、第1のネットワーク・コントローラによって送信される要求メッセージを第2のネットワーク・コントローラによって受信するステップの前に、当該方法は、さらに、
前記第1のネットワーク・コントローラとの通信接続を前記第2のネットワーク・コントローラによって確立するステップと、
前記第1のネットワーク・コントローラによって取得され送信される属性情報を前記第2のネットワーク・コントローラによって受信するステップと、
前記第1のネットワーク・コントローラによって取得されて受信された前記属性情報にしたがって前記第2のネットワーク・コントローラによって、第1のネットワーク・コントローラ・トポロジを構築し、前記第1のネットワーク・コントローラ・トポロジを格納するステップとを含み、
前記第1のネットワーク・コントローラによって取得された前記属性情報は、前記第1のネットワーク・コントローラの属性情報、又は前記第1のネットワーク・コントローラの属性情報及び前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの属性情報とを含む。
【００２１】
第2の態様の第4の可能な実現手法によれば、第5の可能な実現手法において、前記第1のネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含み、
前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【００２２】
第2の態様の第5の可能な実現手法によれば、第6の可能な実現手法において、前記第1のネットワーク・コントローラによって取得され受信された前記属性情報にしたがって前記第2のネットワーク・コントローラによって、第1のネットワーク・コントローラ・トポロジを構築し、第1のネットワーク・コントローラ・トポロジを格納するステップの後に、
当該方法は、さらに、
前記第1のネットワーク・コントローラによって送信される前記転送プレーン・デバイスの第1の属性情報を前記第2のネットワーク・コントローラによって受信するステップと、
前記転送プレーン・デバイスの前記第1の属性情報を前記第2のネットワーク・コントローラによって格納するステップとを含む。
【００２３】
第2の態様の第5の可能な実現手法又は第6の可能な実現手法によれば、第7の可能な実現手法では、前記転送プレーン・デバイスの前記第1の属性情報は、前記転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、前記リンク特徴は、前記転送プレーン・デバイスに接続されるピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【００２４】
第2の態様のいずれか1つ、又は第2の態様の第3の可能な実現手法、又は第2の態様の第6の可能な実現手法、又は第2の態様の第7の可能な実現手法によれば、第8の可能な実現手法において、この方法は、さらに、
前記第1のネットワーク・コントローラによって送信されるとともに前記第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を、前記第2のネットワーク・コントローラによって受信するステップと、
前記第1のネットワーク・コントローラによってサポートされる前記ネットワーク機能を識別するのに使用される前記情報を前記第2のネットワーク・コントローラによって格納するステップとを含む。
【００２５】
第2の態様の第4の可能な実現手法から第8の可能な実現手法のいずれか1つによれば、第9の可能な実現手法において、当該方法は、さらに、
前記第1のネットワーク・コントローラによって送信される前記転送プレーン・デバイスの第2の属性情報を前記第2のネットワーク・コントローラによって受信するステップと、
前記転送プレーン・デバイスの前記第2の属性情報を前記第2のネットワーク・コントローラによって格納するステップとを含む。
【００２６】
第2の態様の第9の可能な実現手法によれば、第10の可能な実現手法において、前記転送プレーン・デバイスの前記第2の属性情報は、前記転送プレーン・デバイスのフローテーブル情報、複数の前記転送プレーン・デバイスの間のリンクの状態情報、又は前記転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【００２８】
第3の態様によれば、本発明の1つの実施形態は、ネットワーク制御装置を提供し、当該ネットワーク制御装置は、
転送プレーン・デバイスの要求メッセージを受信するように構成される受信モジュールであって、前記要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、前記ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含む、受信モジュールと、
第1のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージを第2のネットワーク・コントローラに送信して、前記処理ポリシーを前記第1のネットワーク・コントローラに提供することを前記第2のネットワーク・コントローラに要求するように構成された送信モジュールとを含み、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスの一次ネットワーク・コントローラであり、
前記受信モジュールは、さらに、前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを受信するように構成され、
前記送信モジュールは、さらに、受信した前記処理ポリシーを前記転送プレーン・デバイスに送信するように構成される。
【００２９】
第3の態様の第1の可能な実現手法において、送信モジュールは、特に、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに前記要求メッセージを送信するように構成され、また、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第2のネットワーク・コントローラに前記要求メッセージを送信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラ前記の前記一次ネットワーク・コントローラの上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【００３０】
第3の態様によれば、第2の可能な実現手法において、前記第2の送信モジュールは、さらに、
前記要求メッセージを前記第2のネットワーク・コントローラに送信する前に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラに前記要求メッセージを送信するように構成され、また、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラによって送信される拒否メッセージを受信して、前記第1のネットワーク・コントローラに前記処理ポリシーを送信することを拒否するように構成され、
送信モジュールは、特に、前記受信した拒否メッセージにしたがって前記第2のネットワーク・コントローラに前記要求メッセージを送信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある。
【００３１】
第3の態様によれば、第3の可能な実現手法において、前記受信モジュールは、特に、前記第2のネットワーク・コントローラが、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定する場合に、受信した前記要求メッセージにしたがって前記第2のネットワーク・コントローラによって送信される前記処理ポリシーを受信するように構成され、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【００３２】
第3の態様、又は第3の態様の第3の可能な実現手法によれば、第4の可能な実現手法において、当該装置は、さらに、
前記第1のネットワーク・コントローラが前記転送プレーン・デバイスの前記要求メッセージを受信する前に、前記転送プレーン・デバイスとの通信接続を確立し、前記転送プレーン・デバイスの第1の属性情報を取得するように構成される処理モジュールを含み、
前記送信モジュールは、さらに、前記第2のネットワーク・コントローラに前記転送プレーン・デバイスの前記第1の属性情報を送信し、それにより、前記転送プレーン・デバイスの前記第1の属性情報にしたがって、前記第2のネットワーク・コントローラが、転送プレーン・デバイス・トポロジを構築し、前記転送プレーン・デバイス・トポロジを格納するように構成される。
【００３３】
第3の態様の第4の可能な実現手法によれば、第5の可能な実現手法において、前記転送プレーン・デバイスの前記第1の属性情報は、前記転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、前記リンク特徴は、前記転送プレーン・デバイスに接続されるピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【００３４】
第3の態様のいずれか1つ、又は第3の態様の第3の可能な実現手法から第5の可能な実現手法によれば、第6の可能な実現手法において、前記送信モジュールは、さらに、前記第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を前記第2のネットワーク・コントローラに送信し、それにより、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラによってサポートされる前記ネットワーク機能を識別するのに使用される前記情報を格納するように構成される。
【００３５】
第3の態様の第4の可能な実現手法から第6の可能な実現手法のいずれかによれば、第7の可能な実現手法において、前記送信モジュールは、さらに、前記転送プレーン・デバイスの第2の属性情報を前記第2のネットワーク・コントローラに送信し、それにより、前記第2のネットワーク・コントローラが前記転送プレーン・デバイスの前記第2の属性情報を格納する、ように構成され、前記第2の属性情報は、前記転送プレーン・デバイスのフローテーブル情報、複数の前記転送プレーン・デバイスの間のリンクの状態情報、又は前記転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【００３６】
第3の態様のいずれか、又は第3の態様の第1の可能な実現手法から第7の可能な実現手法によれば、第8の可能な実現手法において、前記処理モジュールは、さらに、前記第1のネットワーク・コントローラが前記第2のネットワーク・コントローラに前記要求メッセージを送信する前に、前記第2のネットワーク・コントローラとの通信接続を確立するように構成され、
前記送信モジュールは、前記第1のネットワーク・コントローラによって取得された属性情報を前記第2のネットワーク・コントローラに送信し、それにより、前記第1のネットワーク・コントローラによって取得された前記属性情報にしたがって、前記第2のネットワーク・コントローラが、ネットワーク・コントローラ・トポロジを構築し、前記ネットワーク・コントローラ・トポロジを格納する、ように構成され、
前記第1のネットワーク・コントローラによって取得される属性情報が、前記第1のネットワーク・コントローラの属性情報、又は前記第1のネットワーク・コントローラの属性情報及び前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの属性情報を含む。
【００３７】
第3の態様の第8の可能な実現手法によれば、第9の可能な実現手法において、前記第1のネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含み、
前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【００３８】
第4の態様によれば、本発明の1つの実施形態は、ネットワーク制御装置を提供し、当該装置は、
第1のネットワーク・コントローラによって送信される要求メッセージを受信するように構成される受信モジュールであって、前記要求メッセージは、ネットワーク・イベントを含み、前記ネットワーク・イベントの処理ポリシーを要求するのに使用され、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信される、受信モジュールと、
前記第1のネットワーク・コントローラに前記処理ポリシーを送信し、それにより、前記第1のネットワーク・コントローラは、前記転送プレーン・デバイスに又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラに前記処理ポリシーを送信する、ように構成された送信モジュールとを含む。
【００３９】
第4の態様の第1の可能な実現手法において、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、前記転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定する場合に、前記要求メッセージは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラのサブネットワーク・コントローラであり、
前記受信モジュールは、特に、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラを使用することにより前記第1のネットワーク・コントローラによって送信される要求メッセージを受信するように構成される。
【００４０】
第4の態様によれば、第2の可能な実現手法において、前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信し、かつ、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラが前記処理ポリシーを提供できないと判定した後に、前記要求メッセージは、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることが、
前記第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信される又は前記第1のネットワーク・コントローラの前記より低レベルのネットワーク・コントローラによって送信される前記要求メッセージを受信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラから前記第1のネットワーク・コントローラの一次ネットワーク・コントローラに送信されること、並びに、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが、前記要求メッセージにしたがって、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラが前記処理ポリシーを提供できないと判定し、拒否メッセージを前記第1のネットワーク・コントローラに送信した後に、前記要求メッセージが、前記第1のネットワーク・コントローラによって前記第2のネットワーク・コントローラに送信されることを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、前記第1のネットワーク・コントローラの前記二次ネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラと同一のレベルにある。
【００４１】
第4の態様のいずれか1つ、又は第4の態様の第1の可能な実現手法又は第2の可能な実現手法によれば、第3の可能な実現手法において、当該装置は、さらに、
前記第2のネットワーク・コントローラが前記処理ポリシーを前記第1のネットワーク・コントローラに送信する前に、前記要求メッセージにしたがって、前記第2のネットワーク・コントローラが前記処理ポリシーを提供できると判定するように構成される処理モジュールを含み、前記第2のネットワーク・コントローラは、前記第1のネットワーク・コントローラの前記一次ネットワーク・コントローラである。
【００４２】
第4の態様、又は第4の態様の第3の可能な実現手法によれば、第4の可能な実現手法において、前記処理モジュールは、さらに、前記第1のネットワーク・コントローラによって送信される前記要求メッセージが受信される前に、前記第1のネットワーク・コントローラとの通信接続を確立するように構成され、
前記受信モジュールは、さらに、前記第1のネットワーク・コントローラにより取得されて送信される属性情報を受信するように構成され、
前記処理モジュールは、さらに、前記第1のネットワーク・コントローラにより取得されて受信された前記属性情報にしたがって、第1のネットワーク・コントローラ・トポロジを構築し、前記第1のネットワーク・コントローラ・トポロジを格納するように構成され、
前記第1のネットワーク・コントローラによって取得される前記属性情報は、前記第1のネットワーク・コントローラの属性情報、又は前記第1のネットワーク・コントローラの属性情報及び前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの属性情報を含む。
【００４３】
第4の態様の第4の可能な実現手法によれば、第5の可能な実現手法において、前記第1のネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含み、
前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの前記属性情報は、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続されるネットワーク・コントローラの識別子、前記第1のネットワーク・コントローラと同一のレベルにあるとともに前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの役割を識別するのに使用される情報、又は前記第1のネットワーク・コントローラと通信可能に接続される前記ネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【００４４】
第4の態様の第5の可能な実現手法によれば、第6の可能な実現手法において、前記受信モジュールは、さらに、第1のネットワーク・コントローラ・トポロジが構築され、かつ前記第1のネットワーク・コントローラ・トポロジが前記第1のネットワーク・コントローラによって取得され受信された前記属性情報にしたがって格納された後に、前記第1のネットワーク・コントローラによって送信される前記転送プレーン・デバイスの第1の属性情報を受信し、また、前記転送プレーン・デバイスの前記第1の属性情報を格納するように構成される。
【００４５】
第4の態様の第6の可能な実現手法によれば、第7の可能な実現手法において、前記転送プレーン・デバイスの前記第1の属性情報は、前記転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、前記リンク特徴は、前記転送プレーン・デバイスに接続されるピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【００４６】
第4の態様のいずれか1つ、又は第4の態様の第3の可能な実現手法、又は第4の態様の第6の可能な実現手法、又は第4の態様の第7の可能な実現手法によれば、第8の可能な実現手法において、前記受信モジュールは、さらに、前記第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用されるとともに前記第1のネットワーク・コントローラによって送信される情報を受信し、また、前記第1のネットワーク・コントローラによってサポートされる前記ネットワーク機能を識別するのに使用される情報を格納するように構成される。
【００４７】
第4の態様の第4の可能な実現手法から第8の可能な実現手法の1つによれば、第9の可能な実現手法において、前記受信モジュールは、さらに、前記第1のネットワーク・コントローラによって送信される前記転送プレーン・デバイスの第2の属性情報を受信し、また、前記転送プレーン・デバイスの前記第2の属性情報を格納するように構成される。
【００４８】
第4の態様の第9の可能な実現手法によれば、第10の可能な実現手法において、前記転送プレーン・デバイスの前記第2の属性情報は、前記転送プレーン・デバイスのフローテーブル情報、複数の前記転送プレーン・デバイスの間のリンクの状態情報、又は前記転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【００４９】
本発明の実施形態で提供されるネットワーク制御方法及び装置によれば、複数の異なるネットワーク機能が複数の異なるネットワーク・コントローラに配置され、ネットワーク・コントローラが、転送プレーン・デバイスによって要求されるネットワーク・イベントの処理ポリシーを提供できない場合に、ネットワーク・コントローラは、ネットワーク・イベントの処理ポリシーを取得することを要求するために、処理ポリシーを提供できる別のネットワーク・コントローラに要求メッセージを送信してもよい。したがって、従来技術の問題、すなわち、ネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラに集約配置手法でインストールされ、その結果、ネットワーク・コントローラに対するランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が解決される。ネットワーク配置手法においては、複数の異なるネットワーク機能が、複数の異なるネットワーク・コントローラを使用することにより別々に引き受けられる。また、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これにより各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【００５０】
本発明の実施形態における、又は従来技術における技術的解決策をより明確に説明するために、以下では、実施形態又は従来技術を説明するために必要とされる添付図面を簡潔に説明する。明らかに、以下の説明の中で添付の図面は、本発明のいくつかの実施形態を示しているにすぎず、当業者であれば、なお、創造的な努力なくしてこれら添付の図面から別の図面を導き出すことが可能である。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態の基礎となるネットワークアーキテクチャの図である。
【図２】本発明の一実施形態によるネットワーク制御方法の流れ図である。
【図３】本発明の一実施形態による別のネットワーク制御方法の流れ図である。
【図４Ａ】本発明の一実施形態によるネットワーク制御方法の信号送信流れ図である。
【図４Ｂ】本発明の一実施形態によるネットワーク制御方法を実現するネットワーク・コントローラのトポロジの概略構成図である。
【図５】本発明の一実施形態によるネットワーク・コントローラ間の通信接続、及びネットワーク・コントローラと転送プレーン・デバイスの間の通信接続を確立する信号送信流れ図である。
【図６Ａ】本発明の一実施形態による、ネットワーク・コントローラの層が追加された後に得られるトポロジの概略構成図である。
【図６Ｂ】本発明の一実施形態によるネットワーク・コントローラ間の通信接続を確立する信号送信流れ図である。
【図７】本発明の一実施形態によるネットワーク制御装置700の概略構成図である。
【図８】本発明の一実施形態による別のネットワーク制御装置800の概略構成図である。
【発明を実施するための形態】
【００５２】
本発明の実施形態の目的、技術的解決策、及び利点を明確にするために、以下では本発明の実施形態における技術的解決策について、本発明の実施形態の添付図面を参照して明確かつ完全に説明する。明らかに、説明される実施形態は本発明の実施形態の一部であり、全部ではない。本発明の実施形態に基づいて、創造的な努力なしに当業者に得られる他のすべての実施形態は、本発明の保護範囲に入るものとする。
【００５３】
図1は、本発明の一実施形態の基礎となるネットワークアーキテクチャの図を示す。しかし、本発明はさらに、本発明のこの実施形態に限定されない別のネットワークアーキテクチャを基礎とすることもできる。
【００５４】
図1に示されるネットワーク制御ネットワーキングは、ネットワーク・コントローラ1、ネットワーク・コントローラ2、ネットワーク・コントローラ3、ネットワーク・コントローラ4、ネットワーク・コントローラ5、ネットワーク・コントローラ6、ネットワーク・コントローラ7、転送プレーン・デバイス1、転送プレーン・デバイス2、転送プレーン・デバイス3、転送プレーン・デバイス4、転送プレーン・デバイス5、転送プレーン・デバイス6、転送プレーン・デバイス7、転送プレーン・デバイス8、及び転送プレーン・デバイス9を含むことができる。異なるネットワーク機能は、異なるネットワーク・コントローラに別々に配置される。転送プレーン（Forwarding  Plane）デバイスは、データ転送を行うように構成することができ、たとえば、交換デバイス、ルーティングデバイス、又はゲートウェイとすることができ、或いはネットワーク交換モデル（OpenFlow）プロトコルをサポートするスイッチとすることができる。ネットワーク・コントローラ1及びネットワーク・コントローラ2は、ネットワーク・コントローラ5に「所有権を主張できるプロトコル（Proprietary  Protocol）」に基づいて別々に接続され、ネットワーク・コントローラ5のより低レベルのネットワーク・コントローラになり、或いはネットワーク・コントローラ1及びネットワーク・コントローラ2は、ネットワーク・コントローラ5のサブネットワーク・コントローラと呼ばれることもある。それにしたがって、ネットワーク・コントローラ5は、ネットワーク・コントローラ1及びネットワーク・コントローラ2の一次ネットワーク・コントローラとして使用することができる。構成をネットワーク・コントローラ1上で行って、ネットワーク・コントローラ5のIPアドレスをネットワーク・コントローラ1の一次ネットワーク・コントローラとして構成できること、及び、構成をネットワーク・コントローラ2上で行って、ネットワーク・コントローラ5のIPアドレスをネットワーク・コントローラ2の一次ネットワーク・コントローラとして構成できることに留意されたい。別法として、ネットワーク・コントローラ1の二次ネットワーク・コントローラの構成をネットワーク・コントローラ1上で行うこともできる。たとえば、別のネットワーク・コントローラがネットワーク・コントローラ5と同一のレベルに存在する場合、そのネットワーク・コントローラ5と同一のレベルの別のネットワーク・コントローラは、ネットワーク・コントローラ1の二次ネットワーク・コントローラとして構成することができる。ネットワーク・コントローラ3及びネットワーク・コントローラ4は、ネットワーク・コントローラ6に「proprietary  protocol」に基づいて別々に接続され、ネットワーク・コントローラ6のより低レベルのネットワーク・コントローラになり、或いはネットワーク・コントローラ3及びネットワーク・コントローラ4は、ネットワーク・コントローラ6のサブネットワーク・コントローラと呼ばれることもある。同様に、ネットワーク・コントローラ6は、ネットワーク・コントローラ3及びネットワーク・コントローラ4の一次ネットワーク・コントローラとして使用することができる。ネットワーク・コントローラ1、ネットワーク・コントローラ2、ネットワーク・コントローラ3、及びネ���トワーク・コントローラ4は同一のレベルにある。ネットワーク・コントローラ5及びネットワーク・コントローラ6は、ネットワーキングにおいて同一のレベルに置かれたデバイスであり、自己防衛型ネットワーク構想（Self-Defending  Network  Initiative，略してSDNI）プロトコルに基づいて接続を確立し、ネットワーク・コントローラ7のより低レベルのネットワーク・コントローラになる。ネットワーク・コントローラ5とネットワーク・コントローラ6は同一のレベルにある。図1に示されるように、楕円形の枠が、ネットワーク・コントローラ2及びネットワーク・コントローラ4を表示するのに使用されている。ネットワーク・コントローラ2及びネットワーク・コントローラ4は、転送プレーン・デバイスだけに接続することができる。長方形の枠は、ネットワーク・コントローラ1、ネットワーク・コントローラ3、ネットワーク・コントローラ5、ネットワーク・コントローラ6、及びネットワーク・コントローラ7を表示するのに使用されている。ネットワーク・コントローラ1、ネットワーク・コントローラ3、ネットワーク・コントローラ5、ネットワーク・コントローラ6、及びネットワーク・コントローラ7は、転送プレーン・デバイスだけでなく、他のネットワーク・コントローラに接続することもできる。たとえば、ネットワーク・コントローラ5は、転送プレーン・デバイス4だけでなく、ネットワーク・コントローラ1及びネットワーク・コントローラ2に接続することもできる。図1に示されたネットワーク制御ネットワーキングには、全部で3つのレベルがある。ネットワーク・コントローラ1、ネットワーク・コントローラ2、ネットワーク・コントローラ3、及びネットワーク・コントローラ4は、最低レベルのネットワーク・コントローラであり、あるレベル数のネットワーク制御ネットワーキングが、ネットワーク・コントローラ1、ネットワーク・コントローラ2、ネットワーク・コントローラ3、及びネットワーク・コントローラ4の上に構成される。各要求メッセージに対し構成されるカウンタがある。ネットワーク制御ネットワーキングのレベル数は、カウンタを使用して表示される。カウンタは、要求メッセージがネットワーク・コントローラの1つのレベルを通過するたびに1だけ減らされる。あるレベルのネットワーク・コントローラが要求メッセージを処理したときにカウンタの数がちょうど0である場合、ネットワーク・コントローラは、その要求メッセージを破棄し、さらなるアップロードは、たとえネットワーク・コントローラが要求メッセージを処理できなくても、行わない。たとえば、ネットワーク・コントローラ1が転送プレーン・デバイス4の一次ネットワーク・コントローラとして構成される場合、ネットワーク・コントローラ1によって構成されたネットワークコントロールネットワーキングレベルは3になり、ネットワーク・コントローラ1は、転送プレーン・デバイス4から送信された要求メッセージを受信し、カウンタがその要求メッセージに対して構成され3になる。ネットワーク・コントローラ1が処理ポリシーを提供できないと判定する場合、ネットワーク・コントローラ1はカウンタを1だけ減らす。より上位レベルのネットワーク・コントローラ5はネットワーク・コントローラ1に対して構成されるので��ネットワーク・コントローラ1は、要求情報をネットワーク・コントローラ5へ転送することができ、またネットワーク・コントローラ5は、ネットワーク・コントローラ5が処理ポリシーを提供できるかどうかを判定する。同様に、ネットワーク・コントローラ5が処理ポリシーを提供できない場合には、ネットワーク・コントローラ5はカウンタを1だけ減らす。より上位レベルのネットワーク・コントローラ7がネットワーク・コントローラ5に対して構成され、また要求メッセージ報告機構がネットワーク・コントローラ5に対して構成されるので、ネットワーク・コントローラ5は、要求メッセージをネットワーク・コントローラ7に報告し、ネットワーク・コントローラ7に、処理ポリシーを提供するように要求することができる。ネットワーク・コントローラ7が処理ポリシーを提供できない場合には、ネットワーク・コントローラ7がカウンタを1だけ減らした後にそれが0になり、さらなるアップロードは行われない。ネットワーク・コントローラが要求メッセージをネットワーク・コントローラのより上位レベルのネットワーク・コントローラに報告できるかどうかは、要求メッセージ報告機構がネットワーク・コントローラに対して構成されているかどうかと、そのネットワーク・コントローラがより上位レベルのネットワーク・コントローラを有するかどうかとによって決まることに留意されたい。一次ネットワーク・コントローラ及び二次ネットワーク・コントローラを有するネットワーク・コントローラに対しては、要求メッセージを受信した後に、ネットワーク・コントローラはまず、その要求メッセージをネットワーク・コントローラの一次ネットワーク・コントローラに報告する。たとえば、ネットワーク・コントローラ5はネットワーク・コントローラ1の一次ネットワーク・コントローラであるので、ネットワーク・コントローラ1が処理ポリシーを提供できない場合、ネットワーク・コントローラ1はまず、要求情報をネットワーク・コントローラ5へ転送する。
【００５５】
図1に示された本発明のこの実施形態のネットワークアーキテクチャの図に基づいて、階層的に配置されたネットワーク・コントローラによって形成されたネットワークアーキテクチャを使用して、異なるネットワーク機能が異なるネットワーク・コントローラに配置される。ネットワーク・コントローラ自体が処理ポリシーを提供できないときには、ネットワーク・コントローラは、その処理ポリシーをネットワーク・コントローラのより上位レベルのネットワーク・コントローラに、又はネットワーク・コントローラのサブネットワーク・コントローラに要求することができ、それにより、従来技術の問題、すなわち過剰なアプリケーション・プログラムがネットワーク・コントローラにインストールされ、その結果、ネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が回避され、各ネットワーク・コントローラの計算処理オーバヘッドが低減され、またネットワークスケーラビリティが改善される。
【００５６】
図2は、本発明の一実施形態によるネットワーク制御方法の流れ図である。この実施形態における方法は、異なるネットワーク機能が異なるネットワーク・コントローラに階層的ネットワーク配置手法で配置される場合に、過剰なアプリケーション・プログラムがネットワーク・コントローラにインストールされ、従来技術のネットワーク・コントローラのランニング・オーバヘッドが極めて高くなることを防止するように、また各ネットワーク・コントローラの計算処理オーバヘッドを簡素にするように、またネットワーク制御スケーラビリティを改善するように、適用することができる。その方法はネットワーク・コントローラによって実行され、装置は一般に、ハードウェア及び／又はソフトウェアの態様で実現される。この実施形態における方法には、以下のステップが含まれる。
【００５７】
ステップS210:  第1のネットワーク・コントローラが転送プレーン・デバイスの要求メッセージを受信し、この要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含み、第1のネットワーク・コントローラは、転送プレーン・デバイスの一次ネットワーク・コントローラである。
【００５８】
要求メッセージは、第1のネットワーク・コントローラに直に接続された転送プレーン・デバイスから送信することができ、或いは、要求メッセージを送信する転送プレーン・デバイスに直に接続された第1のネットワーク・コントローラのサブネットワーク・コントローラから送信することができる。ネットワーク・イベントは、フローテーブル要求メッセージとすることができ、たとえば、入ってくるパケット「packet＿in」パケットとすること、又はポート状態メッセージ又はリンク状態メッセージとすること、又はネットワーク・コントローラ若しくは転送プレーン・デバイスの機能に関する別のメッセージとすることができる。処理ポリシーは、フローテーブル修正、フローテーブル追加、フローテーブル削除、サービス伝送路更新、転送プレーン・デバイスキャッシュ更新、及びネットワーク・コントローラの機能に関する他のポリシーとすることができる。
【００５９】
ステップS220:  第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラが処理ポリシーを提供できないと判定する場合、第1のネットワーク・コントローラは、要求メッセージを第2のネットワーク・コントローラに送信して、処理ポリシーを第1のネットワーク・コントローラに提供するように、第2のネットワーク・コントローラに要求する。
【００６０】
従来技術では、各SDNドメイン中のSDNドメインコントローラの構成機能及び管理機能だけが、SDNドメイン内のネットワーク・コントローラ及び転送プレーン・デバイスに集中し、またSDNドメイン内のネットワーク・コントローラの構成機能及び管理機能だけが、SDNドメイン内の転送プレーン・デバイスに集中する。したがって、転送プレーン・デバイスが、ルーティング制御、トンネルカプセル化、ファイアウォール、セキュアアクセス、及びサービス制御の品質などの複雑なネットワーク機能を実現したい場合、上記の複雑なネットワーク機能を実現するためのアプリケーション・プログラムが、ネットワーク・コントローラ及びSDNドメインコントローラにインストールされる必要があり、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、制御ボトルネック問題が生じやすくなる。加えて、デバイス拡張又は機能拡大がネットワークに対して行われる必要があるときに、累積的な重ね書きの手法しか使用することができず、SDNドメインコントローラ及びネットワーク・コントローラには、ランニング安定性及び信頼性の問題を引き起こし得る、ますます余分なプログラムがあり得る。また、いくつかのネットワーク機能を実現するためのアプリケーション・プログラムが、SDNドメインコントローラ及びネットワーク・コントローラにインストールされていない場合には、受信された要求メッセージは単に破棄されるだけであり得る。
【００６１】
この実施形態に使用された階層的配置ネットワーク制御構造では、各層が複数のネットワーク・コントローラによって形成され、各ネットワーク・コントローラは、そのネットワーク・コントローラのより上位レベルのネットワーク・コントローラ（一次ネットワーク・コントローラ又は二次ネットワーク・コントローラ）のサブネットワーク・コントローラとすることができ、又はそのネットワーク・コントローラの下位レベルネットワーク・コントローラ（サブネットワーク・コントローラ）のより上位レベルのネットワーク・コントローラ（一次ネットワーク・コントローラ又は二次ネットワーク・コントローラ）とすることもできる。また、専用ネットワーク制御機能を各ネットワーク・コントローラに配置することができる。したがって、ネットワーク・コントローラがより上位レベルのネットワーク・コントローラを有し、かつネットワーク・コントローラが一次ネットワーク・コントローラである場合には、ネットワーク・コントローラは、ネットワーク・コントローラによって処理できない要求メッセージをネットワーク・コントローラのより上位レベルのネットワーク・コントローラに処理のために割り当て、又はその要求メッセージをネットワーク・コントローラのサブネットワーク・コントローラに処理のために引き渡して、ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又はネットワーク・コントローラのサブネットワーク・コントローラに、処理ポリシーをネットワーク・コントローラに提供するように要求することができる。ステップ220で、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラは、要求メッセージを第2のネットワーク・コントローラへ送信して、第2のネットワーク・コントローラに、処理ポリシーを第1のネットワーク・コントローラに提供するように要求することができる。第1のネットワーク・コントローラ自体が処理ポリシーを提供できない場合、第1のネットワーク・コントローラが処理ポリシーを別のネットワーク・コントローラに要求できるので、従来技術の問題、すなわち過剰なアプリケーション・プログラムがSDNドメインコントローラ及びネットワーク・コントローラにインストールされ、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなるという問題が回避され、各ネットワーク・コントローラの計算処理オーバヘッドが低減され、またネットワークスケーラビリティが改善される。
【００６２】
ステップS230:  第1のネットワーク・コントローラが第2のネットワーク・コントローラによって送信された処理ポリシーを受信し、受信した処理ポリシーを転送プレーン・デバイスに送信する。
【００６３】
詳細には、第1のネットワーク・コントローラは転送プレーン・デバイスの要求メッセージを受信し、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラは、その要求メッセージを第2のネットワーク・コントローラへ送信し、第2のネットワーク・コントローラから送信された処理ポリシーを受信し、この受信した処理ポリシーを転送プレーン・デバイスへ送信する。
【００６４】
この実施形態で提供されるネットワーク制御方法によれば、第1のネットワーク・コントローラが転送プレーン・デバイスの要求メッセージを受信する。第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラは、その要求メッセージを第2のネットワーク・コントローラへ送信し、第2のネットワーク・コントローラから送信された処理ポリシーを受信し、この受信した処理ポリシーを転送プレーン・デバイスへ送信する。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御において生じやすくなるという問題が解決される。階層的ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられる。またネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【００６５】
図3は、本発明の一実施形態による別のネットワーク制御方法の流れ図である。図3を参照すると、この実施形態の方法は、階層的ネットワーク配置手法が各ネットワーク・コントローラの計算処理オーバヘッドを簡略化するために、またネットワーク制御スケーラビリティを改善するのに使用される場合に適用可能である。この方法は、ネットワーク・コントローラによって実行され、また装置は、一般にハードウェア及び／又はソフトウェアの態様で実現される。本発明のこの実施形態で提供される方法は、図2の本発明の実施形態で提供される方法とともに使用することができる。この実施形態の方法には、以下のステップが含まれる。
【００６６】
ステップS310:第2のネットワーク・コントローラが、第1のネットワーク・コントローラによって送信される要求メッセージを受信し、この要求メッセージはネットワーク・イベントを含み、またネットワーク・イベントの処理ポリシーを要求するのに使用され、第1のネットワーク・コントローラが、転送プレーン・デバイスによって送信されるか、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラによって送信される要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラが処理を提供できないと判定した後に、要求メッセージは、第1のネットワーク・コントローラによって第2のネットワーク・コントローラに送信される
【００６７】
第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合、第1のネットワーク・コントローラは、その要求メッセージを第2のネットワーク・コントローラへ送信する。第2のネットワーク・コントローラは、第1のネットワーク・コントローラから送信された要求メッセージを受信し、それにより、第2のネットワーク・コントローラは、処理ポリシーを第1のネットワーク・コントローラに、要求メッセージにしたがって提供することができる。異なる機能が異なるネットワーク・コントローラに配置されるので、第1のネットワーク・コントローラ自体が処理ポリシーを提供できない場合、第1のネットワーク・コントローラが処理ポリシーを別のネットワーク・コントローラに要求することができ、それにより、従来技術の問題、すなわち過剰なアプリケーション・プログラムがSDNドメインコントローラ及びネットワーク・コントローラにインストールされ、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなるという問題が回避され、各ネットワーク・コントローラの計算処理オーバヘッドが低減され、またネットワークスケーラビリティが改善される。
【００６８】
ステップS320:第2のネットワーク・コントローラが処理ポリシーを第1のネットワーク・コントローラへ送信し、したがって、第1のネットワーク・コントローラは、その処理ポリシーを転送プレーン・デバイスへ、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラへ送信する
【００６９】
第2のネットワーク・コントローラが処理ポリシーを提供できるときには、第2のネットワーク・コントローラは、その処理ポリシーを第1のネットワーク・コントローラへ送信し、それにより、第1のネットワーク・コントローラは、処理ポリシーを転送プレーン・デバイスへ、又は第1のネットワーク・コントローラのサブネットワーク・コントローラへ送信することができる。第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラとすることができ、或いは第1のネットワーク・コントローラの別のサブネットワーク・コントローラとすることができる。
【００７０】
この実施形態で提供されるネットワーク制御方法によれば、複数の異なる機能が複数の異なるネットワーク・コントローラに配置され、第1のネットワーク・コントローラ自体が、処理ポリシーを提供できない場合、第1のネットワーク・コントローラが、処理ポリシーを別のネットワーク・コントローラに要求してもよい。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が解決される。ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これにより各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【００７１】
図2及び図3に示された方法の実施形態を詳細に説明するために、ネットワーク制御方法の一般的な手順について図4A及び図4Bを参照して説明する。図4Aは、本発明の一実施形態によるネットワーク制御方法の信号送信流れ図である。図4Bは、本発明の一実施形態によるネットワーク制御方法を実現するネットワーク・コントローラのトポロジの概略構成図である。図4Bは、図4Aのネットワーク・コントローラ間の関係を示す。図4Bを参照すると、ネットワーク・コントローラ1及びネットワーク・コントローラ4は、ネットワーク・コントローラ2のサブネットワーク・コントローラであり、ネットワーク・コントローラ2は、ネットワーク・コントローラ1及びネットワーク・コントローラ4の一次ネットワーク・コントローラであり、ネットワーク・コントローラ5は、ネットワーク・コントローラ1の二次ネットワーク・コントローラであり、ネットワーク・コントローラ2とネットワーク・コントローラ5は同一のレベルにあり、ネットワーク・コントローラ3は、ネットワーク・コントローラ2の一次ネットワーク・コントローラであり、ネットワーク・コントローラ6は、ネットワーク・コントローラ5の一次ネットワーク・コントローラであり、ネットワーク・コントローラ3とネットワーク・コントローラ6は同一のレベルにあり、ネットワーク・コントローラ3及びネットワーク・コントローラ6のより上位レベルのネットワーク・コントローラは、ネットワーク・コントローラ7である。図4Aを参照すると、この実施形態の方法には以下のステップが含まれる。
【００７２】
ステップS401:ネットワーク・コントローラ1が転送プレーン・デバイスの要求メッセージを受信し、この要求メッセージは、ネットワーク・イベントを示すのに使用される情報と、ネットワーク・イベントの処理ポリシーを要求することを指示するのに使用される情報とを含み、第1のネットワーク・コントローラは、転送プレーン・デバイスの一次ネットワーク・コントローラである。
【００７３】
ステップS402:ネットワーク・コントローラ1は、ネットワーク・コントローラ1が処理ポリシーを提供できるかどうかを判定する。ネットワーク・コントローラ1が処理ポリシーを提供できる場合には、ステップ413が実行され、或いは、ネットワーク・コントローラ1が処理ポリシーを提供できない場合には、ステップ403が実行される。
【００７４】
ステップS403:ネットワーク・コントローラ1が、要求メッセージをネットワーク・コントローラ2に送信する。
【００７５】
ネットワーク・コントローラ1は要求メッセージをネットワーク・コントローラ2へ送信し、それにより、ネットワーク・コントローラ2は、処理ポリシーを提供できるかどうかを判定することができる。
【００７６】
ネットワーク・コントローラ1は、ネットワーク・コントローラ2のサブネットワーク・コントローラとして使用されるが、要求メッセージ報告機構がネットワーク・コントローラ1に対して構成されていない場合には、ローカルデフォルト構成が使用されることに留意されたい。たとえば、要求メッセージは直接破棄される。
【００７７】
ステップS404:ネットワーク・コントローラ2は、ネットワーク・コントローラ2が処理ポリシーを提供できるかどうかを判定する。ネットワーク・コントローラ2が処理ポリシーを提供できる場合には、ステップ405が実行され、或いは、ネットワーク・コントローラ2が処理ポリシーを提供できない場合には、ステップ406が実行される。
【００７８】
ステップS405:ネットワーク・コントローラ2は、処理ポリシーをネットワーク・コントローラ1に送信する。次に、ステップ413が実行される。
【００７９】
ステップS406:ネットワーク・コントローラ2は、要求メッセージをネットワーク・コントローラ4に送信する。
【００８０】
ネットワーク・コントローラ2は、ネットワーク・コントローラ4によってサポートされるネットワーク機能を特定するのに使用される情報を格納することに留意されたい。したがって、ネットワーク・コントローラ2が、ネットワーク・コントローラ2自体は処理ポリシーを提供できないと判定する場合に、ネットワーク・コントローラ2が、ネットワーク・コントローラ4は処理ポリシーを提供できると確定すれば、ネットワーク・コントローラ2は要求メッセージをネットワーク・コントローラ4へ送信することができ、次に、ステップ407が実行される。ネットワーク・コントローラ4もネットワーク・コントローラ2の他のサブネットワーク・コントローラも処理ポリシーを提供できず、またより上位レベルのネットワーク・コントローラがネットワーク・コントローラ2に対して構成されている場合には、要求メッセージは、ネットワーク・コントローラ2のより上位レベルのネットワーク・コントローラにアップロードすることができる。たとえば、この実施形態では、ネットワーク・コントローラ3は、ネットワーク・コントローラ2のより上位レベルのネットワーク・コントローラであり、またネットワーク・コントローラ2の一次ネットワーク・コントローラである。ネットワーク・コントローラ2が、ネットワーク・コントローラ2自体もネットワーク・コントローラ2の各サブネットワーク・コントローラも処理ポリシーを提供できないと判定する場合に、ステップ408が実行される。
【００８１】
ステップS407:ネットワーク・コントローラ4は、処理ポリシーをネットワーク・コントローラ2に送信する。
【００８２】
ネットワーク・コントローラ4が処理ポリシーをネットワーク・コントローラ2へ送信した後に、ネットワーク・コントローラ2が処理ポリシーをネットワーク・コントローラ1へ送信し、次に、ステップ413が実行される。
【００８３】
ステップS408:ネットワーク・コントローラ2は、要求メッセージをネットワーク・コントローラ3に送信する。
【００８４】
ネットワーク・コントローラ2は要求メッセージをネットワーク・コントローラ3へ送信し、それにより、ネットワーク・コントローラ3は処理ポリシーをネットワーク・コントローラ2に提供する。ネットワーク・コントローラ3は、ネットワーク・コントローラ3自体が処理ポリシーを提供できるかどうかを判定する。ネットワーク・コントローラ3が処理ポリシーを提供できる場合には、ステップ409が実行され、或いは、ネットワーク・コントローラ3が処理ポリシーを提供できない場合には、ステップ410が実行される。
【００８５】
ステップS401〜ステップS408を使用することによって、ネットワーク・コントローラ自体が処理ポリシーを提供できないときには、ネットワーク・コントローラは、処理ポリシーをネットワーク・コントローラのより上位レベルのネットワーク・コントローラに、又はネットワーク・コントローラのサブネットワーク・コントローラに要求することができ、それにより、従来技術の問題、すなわち過剰なアプリケーション・プログラムがネットワーク・コントローラにインストールされ、その結果、ネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が回避され、各ネットワーク・コントローラの計算処理オーバヘッドが低減され、またネットワークスケーラビリティが改善される。
【００８６】
ステップS409:ネットワーク・コントローラ3は、処理ポリシーをネットワーク・コントローラ2に送信する。
【００８７】
ネットワーク・コントローラ3は、処理ポリシーをネットワーク・コントローラ2へ送信する。ネットワーク・コントローラ3から送信された処理ポリシーを受信した後、ネットワーク・コントローラ2は、その処理ポリシーをネットワーク・コントローラ1へ送信し、次に、ステップ413が実行される。
【００８８】
ステップS410:ネットワーク・コントローラ3は、拒否メッセージをネットワーク・コントローラ2に送信する。次に、ステップ411が実行される。
【００８９】
ステップS411:ネットワーク・コントローラ2は、拒否メッセージをネットワーク・コントローラ1に送信する。
【００９０】
ネットワーク・コントローラ2は、拒否メッセージをネットワーク・コントローラ1へ送信する。ネットワーク・コントローラ1が、ネットワーク・コントローラ2から送信された拒否メッセージを受信した後、ステップ412が実行される。
【００９１】
ステップS412:ネットワーク・コントローラ1は、要求メッセージをネットワーク・コントローラ5に送信する。
【００９２】
ネットワーク・コントローラ5は、ネットワーク・コントローラ5が処理ポリシーを提供できるかどうかを判定する。ネットワーク・コントローラ5が処理ポリシーを提供できる場合、ネットワーク・コントローラ5は、処理ポリシーをネットワーク・コントローラ1へ送信し、次に、ステップ413が実行される。ネットワーク・コントローラ5が処理ポリシーを提供できない場合には、ネットワーク・コントローラ5は、拒否メッセージをネットワーク・コントローラ1へ送信する。要求メッセージ報告機構がネットワーク・コントローラ5に対して構成されている場合に、ネットワーク・コントローラ5が処理ポリシーを提供できなければ、ネットワーク・コントローラ5は、要求メッセージをネットワーク・コントローラ6へ送信することができる。ネットワーク・コントローラ6の処理方法は、ネットワーク・コントローラ5のものと類似している。ネットワーク・コントローラ6が処理ポリシーを提供できない場合には、ネットワーク・コントローラ6は、要求メッセージをネットワーク・コントローラ7へ送信する。ネットワーク・コントローラ7が処理ポリシーを提供できず、またより上位レベルのネットワーク・コントローラがネットワーク・コントローラ7に対して構成されていない場合には、要求メッセージは破棄される。
【００９３】
ネットワーク・コントローラ1がさらに別の二次ネットワーク・コントローラを有する場合に、ネットワーク・コントローラ1が、ネットワーク・コントローラ5から送信された拒否メッセージを受信すれば、ネットワーク・コントローラ1はさらに、要求メッセージを別の二次ネットワーク・コントローラへ送信して、処理ポリシーを取得できることに留意されたい。
【００９４】
ステップS413:ネットワーク・コントローラ1は、処理ポリシーを転送プレーン・デバイスに送信する。
【００９５】
この実施形態で提供されるネットワーク制御方法によれば、ネットワーク・コントローラ自体が処理ポリシーを提供できない場合、ネットワーク・コントローラは、その処理ポリシーをネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又はネットワーク・コントローラのサブネットワーク・コントローラに要求することができる。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御において生じやすくなるという問題が解決される。階層的ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーをより上位レベルのネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【００９６】
図4Aに示された信号送信手順が実行される前に、ネットワーク・コントローラ間の通信接続、及びネットワーク・コントローラと転送プレーン・デバイスの間の通信接続が確立される必要がある。この実施形態で、ネットワーク・コントローラ間の通信接続、及びネットワーク・コントローラと転送プレーン・デバイスの間の通信接続を確立する過程を図5に関して説明する。図5は、本発明の一実施形態による、ネットワーク・コントローラ間の通信接続、及びネットワーク・コントローラと転送プレーン・デバイスの間の通信接続を確立する信号送信流れ図である。図5を参照すると、この実施形態における方法には以下のステップが含まれる。
【００９７】
ステップS501:ネットワーク・コントローラ2が、ネットワーク・コントローラ1との通信接続を確立する。
【００９８】
ネットワーク・コントローラ1とネットワーク・コントローラ2の間の通信接続を確立する過程において、確立される通信接続は単一接続とすることができる。すなわち、すべてのサービスが1つの伝送チャネルを使用して通信を行う。或いは、確立される通信接続は複数接続とすることができる。すなわち、異なるサービスが異なる伝送チャネルを使用して通信を行い、これら異なる伝送チャネルは、異なるデータサービスをネットワーク・コントローラ2とネットワーク・コントローラ1の間で別々に搬送する。
【００９９】
ステップS502:ネットワーク・コントローラ2が、ネットワーク・コントローラ1によって取得され及び送信された属性情報を受信する。
【０１００】
ネットワーク・コントローラ1によって取得される属性情報は、ネットワーク・コントローラ1の属性情報を含むか、又はネットワーク・コントローラ1の属性情報と、ネットワーク・コントローラ1と通信可能に接続されたネットワーク・コントローラの属性情報とを含む。ネットワーク・コントローラ1の属性情報は、ネットワーク・コントローラ1の識別子、ネットワーク・コントローラ1の役割を識別するのに使用される情報、又はネットワーク・コントローラ1の機能を識別するのに使用される情報のうちの少なくとも1つを含む。ネットワーク・コントローラ1の役割を識別するのに使用される情報は、このネットワーク・コントローラがサブコントローラを有するかどうかを識別するのに使用される情報とすることができ、或いは、転送プレーン・デバイスに対するネットワーク・コントローラ1の役割を識別する情報とすることができる。転送プレーン・デバイスに対するネットワーク・コントローラ1の役割は、転送プレーン・デバイスの一次ネットワーク・コントローラ、又は転送プレーン・デバイスの、分類による二次ネットワーク・コントローラとすることができる。ネットワーク・コントローラ1の特徴を識別するのに使用される情報は、ネットワーク・コントローラ1のIPアドレス、ネットワーク・コントローラ1のポート番号、又はネットワーク・コントローラ1のMACアドレスとすることができる。ネットワーク・コントローラ1と通信可能に接続されたネットワーク・コントローラの属性情報は、ネットワーク・コントローラ1と同一のレベルにありネットワーク・コントローラ1と通信可能に接続されたネットワーク・コントローラの識別子、ネットワーク・コントローラ1と同一のレベルにありネットワーク・コントローラ1と通信可能に接続されたネットワーク・コントローラの役割を識別するのに使用される情報、又はネットワーク・コントローラ1と通信可能に接続されたネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１０１】
ステップS503:ネットワーク・コントローラ1によって取得された受信属性情報にしたがって、ネットワーク・コントローラ2は、ネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを格納する。
【０１０２】
ステップS504:ネットワーク・コントローラ1が、転送プレーン・デバイスとの通信接続を確立する。
【０１０３】
ネットワーク・コントローラ1が転送プレーン・デバイスとの通信接続を確立した後、ネットワーク・コントローラ1は、転送プレーン・デバイスの第1の属性情報を取得することができる。
【０１０４】
ステップS505:ネットワーク・コントローラ1は、転送プレーン・デバイスの第1の属性情報をネットワーク・コントローラ2に送信する。
【０１０５】
ステップS506:転送プレーン・デバイスの第1の属性情報にしたがって、ネットワーク・コントローラ2が転送プレーン・デバイス・トポロジを構築し、この転送プレーン・デバイス・トポロジを格納する。
【０１０６】
ネットワーク・コントローラ2が、ネットワーク・コントローラ1から送信された転送プレーン・デバイスの第1の属性情報を受信することは、以下のようにして実施することができる。ネットワーク・コントローラ2は、転送プレーン・デバイスの第1の属性情報を要求するメッセージをネットワーク・コントローラ1へ送信することができ、ネットワーク・コントローラ1は、転送プレーン・デバイスの第1の属性情報をネットワーク・コントローラ2へ、そのメッセージを受信した後に送信し、或いはネットワーク・コントローラ1は、転送プレーン・デバイスの第1の属性情報をネットワーク・コントローラ2へ能動的に送信する。
【０１０７】
ネットワーク・コントローラ2が、ステップ505を使用して、転送プレーン・デバイスに対するコントローラの役割を示さない場合には、ネットワーク・コントローラ2は、ネットワーク・コントローラ1から送信された転送プレーン・デバイスの第1の属性情報を受信できることに留意されたい。ネットワーク・コントローラ1が新たに追加されたネットワーク・コントローラである場合には、ネットワーク・コントローラ1は、転送プレーン・デバイスとの通信接続を確立し、転送プレーン・デバイスの第1の属性情報を取得し、この転送プレーン・デバイスの第1の属性情報をネットワーク・コントローラ2へ送信することができる。ネットワーク・コントローラ2が転送プレーン・デバイスに対するコントローラの役割を示す場合には、ネットワーク・コントローラ2は、転送プレーン・デバイスとの通信接続を直接確立し、転送プレーン・デバイスの第1の属性情報を取得することができる。
【０１０８】
転送プレーン・デバイスの第1の属性情報は、転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御（Media  Access  Control，略してMAC）アドレス、ポート・インターネット・プロトコル（Internet  Protocol，略してIP）アドレス、仮想ローカル・エリア・ネットワーク（Virtual  Local  Area  Network，略してVLAN）、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含む。リンク特徴は、転送デバイスに接続されたピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【０１０９】
ステップS507:ネットワーク・コントローラ2は、ネットワーク・コントローラ1から送信されるとともにネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を受信する。
【０１１０】
ネットワーク・コントローラ2が、ネットワーク・コントローラ1から送信されるとともにネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される識別情報を受信することは、以下のようにして実施することができる。ネットワーク・コントローラ2は、ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を要求するメッセージを、ネットワーク・コントローラ1へ送信することができる。そのメッセージを受信した後、ネットワーク・コントローラ1は、ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を、ネットワーク・コントローラ2へ送信し、或いはネットワーク・コントローラ1は、ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を、ネットワーク・コントローラ2へ能動的に送信する。
【０１１１】
ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するための情報は、ネットワーク・コントローラ1にインストールされたアプリケーション・プログラムの識別子とすること、或いは、ネットワーク機能を識別するのに使用される他の情報、たとえばユーザ定義ベンダ識別情報とすることができる。
【０１１２】
ステップS508:ネットワーク・コントローラ2が、ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を格納する。
【０１１３】
ネットワーク・コントローラ2が、ネットワーク・コントローラ1によってサポートされるネットワーク機能についての情報を保存した後で、かつ要求メッセージを受信した後で、ネットワーク・コントローラ2が、ネットワーク・コントローラ1によってサポートされるネットワーク機能についての情報で、かつネットワーク・コントローラ2によって保存される情報にしたがって、ネットワーク・コントローラ2のサブネットワーク・コントローラ（ネットワーク・コントローラ1）が処理ポリシーを提供できるかどうかを確定できる場合に、ネットワーク・コントローラ2が、ネットワーク・コントローラ1は処理ポリシーを提供できると確定すれば、ネットワーク・コントローラ2は、要求メッセージをネットワーク・コントローラ1へ送信して処理ポリシーを要求することができる。
【０１１４】
ステップS509:ネットワーク・コントローラ2が、ネットワーク・コントローラ1から送信された転送プレーン・デバイスの第2の属性情報を受信する。
【０１１５】
ネットワーク・コントローラ2が、ネットワーク・コントローラ1から送信された転送プレーン・デバイスの第2の属性情報を受信することは、以下のようにして実施することができる。ネットワーク・コントローラ2は、転送プレーン・デバイスの第2の属性情報を要求するメッセージをネットワーク・コントローラ1へ送信することができ、ネットワーク・コントローラ1は、転送プレーン・デバイスの第2の属性情報をネットワーク・コントローラ2へ、そのメッセージを受信した後に送信し、或いはネットワーク・コントローラ1は、転送プレーン・デバイスの第2の属性情報をネットワーク・コントローラ2へ能動的に送信する。
【０１１６】
ネットワーク・コントローラ2が、ステップ509を使用して、転送プレーン・デバイスに対するコントローラの役割を示さない場合には、ネットワーク・コントローラ2は、ネットワーク・コントローラ1から送信された転送プレーン・デバイスの第1の属性情報を受信できることに留意されたい。ネットワーク・コントローラ1が新たに追加されたネットワーク・コントローラである場合には、ネットワーク・コントローラ1は、転送プレーン・デバイスとの通信接続を確立し、転送プレーン・デバイスの第1の属性情報を取得し、この転送プレーン・デバイスの第1の属性情報をネットワーク・コントローラ2へ送信することができる。ネットワーク・コントローラ2が転送プレーン・デバイスに対するコントローラの役割を示す場合には、ネットワーク・コントローラ2は、転送プレーン・デバイスとの通信接続を直接確立し、転送プレーン・デバイスの第2の属性情報を取得することができる。
【０１１７】
転送プレーン・デバイスの第2の属性情報は、転送プレーン・デバイスのフローテーブル情報、転送プレーン・デバイス間のリンクの状態情報、又は転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。転送プレーン・デバイス間のリンクの状態情報は、転送プレーン・デバイス間のリンクの輻輳状態、及び転送プレーン・デバイス間のリンクの接続状態（接続又は切断）を含むことができる。
【０１１８】
ステップS510:ネットワーク・コントローラ2が転送プレーン・デバイスの第2の属性情報を格納する。
【０１１９】
転送プレーン・デバイスの第2の属性情報を保存した後、ネットワーク・コントローラ2は、転送プレーン・デバイスの第2の属性情報にしたがって、接続状態にある、かつリンク負荷が軽い経路を選択して処理ポリシーを送信することができる。
【０１２０】
上記のステップ501〜510は、ネットワーク・コントローラ2と、ネットワーク・コントローラ1と、転送プレーン・デバイスとの間のデータ経路確立手順であり、ネットワーク・コントローラ2は、ネットワーク・コントローラ1の一次ネットワーク・コントローラであることに留意されたい。ネットワーク・コントローラ1と、ネットワーク・コントローラ5（ネットワーク・コントローラ5は、ネットワーク・コントローラ1の二次ネットワーク・コントローラである）と、転送プレーン・デバイスとの間のデータ経路確立過程は、上記の501〜510と同一のである。転送プレーン・デバイスの第1の属性情報にしたがって、ネットワーク・コントローラ5はまた、転送プレーン・デバイス・トポロジを構築する必要があり、また転送プレーン・デバイス・トポロジを格納する、転送プレーン・デバイス・トポロジを格納する、ネットワーク・コントローラ1によってサポートされるネットワーク機能を識別するのに使用される情報を格納する、かつ転送プレーン・デバイスの第2の属性情報を格納する必要がある。
【０１２１】
この実施形態で提供されるネットワーク制御方法によれば、ネットワーク・コントローラ1が要求メッセージを受信する前に、通信接続がまずネットワーク・コントローラ1と、ネットワーク・コントローラ2と、転送プレーン・デバイスとの間に確立される。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が解決される。階層的ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーをネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又はネットワーク・コントローラのサブネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０１２２】
ネットワーク内の既存のトポロジ構成が図4Bに示されている場合に、拡張がネットワーク制御アーキテクチャに対し行われる必要があり、ネットワーク・コントローラの新しい層が、図4Bに示されたアーキテクチャに追加されるならば、拡張トポロジ構成が図6Aに示される。図6Aは、本発明の一実施形態による、ネットワーク・コントローラの層が追加された後に得られるトポロジの概略構成図である。図6Aは、ネットワーク・コントローラ1、ネットワーク・コントローラ2、ネットワーク・コントローラ4、新たに追加されたネットワーク・コントローラ8、及び新たに追加されたネットワーク・コントローラ9からなる概略トポロジ図だけを示す。図6Aを参照すると、図6Aのネットワーク・コントローラ2は、ネットワーク・コントローラ8及びネットワーク・コントローラ4のより上位レベルのネットワーク・コントローラであり、ネットワーク・コントローラ8の下位レベルネットワーク・コントローラは、ネットワーク・コントローラ1及びネットワーク・コントローラ9である。ネットワーク・コントローラ8及びネットワーク・コントローラ9が新たに追加された後に、通信接続が別々に、ネットワーク・コントローラ8と、ネットワーク・コントローラ1、ネットワーク・コントローラ2及びネットワーク・コントローラ9との間に確立される必要がある。図6Bを参照すると、図6Bは、本発明の一実施形態によるネットワーク・コントローラ間の通信接続を確立する信号送信流れ図である。通信接続を別々に、ネットワーク・コントローラ8と、ネットワーク・コントローラ1、ネットワーク・コントローラ2及びネットワーク・コントローラ9との間に、また通信接続をネットワーク・コントローラ9と転送プレーン・デバイスの間に確立する具体的な実施過程には、以下のステップが含まれる。
【０１２３】
ステップS601:ネットワーク・コントローラ9が転送プレーン・デバイスとの通信接続を確立し、転送プレーン・デバイスの第1の属性情報を取得する。
【０１２４】
ステップS602:ネットワーク・コントローラ8がネットワーク・コントローラ9との通信接続を確立し、ネットワーク・コントローラ9から送信されたネットワーク・コントローラ9の属性情報を受信する。
【０１２５】
新たに追加されたネットワーク・コントローラ8もまた転送プレーン・デバイスに対するネットワーク・コントローラ役割を示す場合、ネットワーク・コントローラ8と転送プレーン・デバイスの間のセキュアチャネルが確立される必要があること、及びネットワーク・コントローラ8は、転送プレーン・デバイスの第1の属性情報を取得できることに留意されたい。新たに追加されたネットワーク・コントローラ8が、転送プレーン・デバイスに対するネットワーク・コントローラ役割を示さない場合には、転送プレーン・デバイスの第1の属性情報は、ネットワーク・コントローラ9が転送プレーン・デバイスの第1の属性情報を取得した後にネットワーク・コントローラ8へ送信することができる。
【０１２６】
ステップS603:ネットワーク・コントローラ8がネットワーク・コントローラ1との通信接続を確立し、ネットワーク・コントローラ1から送信されたネットワーク・コントローラ1の属性情報を受信する。
【０１２７】
ステップS604:ネットワーク・コントローラ8がネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを格納する。
【０１２８】
ネットワーク・コントローラ1の受信属性情報、及びネットワーク・コントローラ9の受信属性情報にしたがって、ネットワーク・コントローラ8は、ネットワーク・コントローラ8のネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを保存できることに留意されたい。
【０１２９】
ステップS605:ネットワーク・コントローラ8がネットワーク・コントローラ2との通信接続を確立し、ネットワーク・コントローラ8の属性情報をネットワーク・コントローラ2へ送信する。
【０１３０】
ステップS606:ネットワーク・コントローラ8の属性情報にしたがって、ネットワーク・コントローラ2がネットワーク・コントローラ2のネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを格納する。
【０１３１】
この実施形態で提供されるネットワーク制御方法によれば、ネットワーク・コントローラが既存のネットワークアーキテクチャに新たに追加され、通信接続が別々に、新たに追加されたネットワーク・コントローラと、既存のネットワークアーキテクチャ内のネットワーク・コントローラと、転送プレーン・デバイスとの間に確立される。新しいネットワーク機能を、新たに追加されたネットワーク・コントローラに配置することができる。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御において生じやすくなるという問題が解決される。階層的配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、それにより、新たに追加されたネットワーク・コントローラは、いくつかのネットワーク機能を引き受けることができ、それによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０１３２】
図7は、本発明の一実施形態によるネットワーク制御装置700の概略構成図である。この実施形態における装置は、階層的ネットワーク配置手法が各ネットワーク・コントローラの計算処理オーバヘッドを簡略化するために、またネットワーク制御スケーラビリティを改善するのに使用される場合に適用可能である。この装置は、一般にハードウェア及び／又はソフトウェアの態様で実現される。図7を参照すると、装置は次のモジュール、すなわち受信モジュール710及び送信モジュール720を含む。
【０１３３】
受信モジュール710は、転送プレーン・デバイスの要求メッセージを受信するように構成され、この要求メッセージは、ネットワーク・イベントを表示するのに使用される情報と、ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含む。送信モジュール720は、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージを第2のネットワーク・コントローラへ送信して、第2のネットワーク・コントローラに、処理ポリシーを第1のネットワーク・コントローラに提供することを要求するように構成され、第1のネットワーク・コントローラは、転送プレーン・デバイスの一次ネットワーク・コントローラである。受信モジュール710はさらに、第2のネットワーク・コントローラから送信された処理ポリシーを受信するように構成される。送信モジュール720はさらに、受信した処理ポリシーを転送プレーン・デバイスへ送信するように構成される。
【０１３４】
その上、送信モジュール720は特に、要求メッセージを第1のネットワーク・コントローラの一次ネットワーク・コントローラへ送信するように構成され、また、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージを第2のネットワーク・コントローラへ、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信するように構成され、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は第1のネットワーク・コントローラの一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【０１３５】
その上、送信モジュール720はさらに、要求メッセージを第1のネットワーク・コントローラの一次ネットワーク・コントローラへ、要求メッセージを第2のネットワーク・コントローラへ送信する前に送信するように構成され、また、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラの一次ネットワーク・コントローラから送信された拒否メッセージを受信して、処理ポリシーを第1のネットワーク・コントローラへ送信することを拒否するように構成される。
【０１３６】
送信モジュール720は特に、要求メッセージを第2のネットワーク・コントローラへ、受信した拒否メッセージにしたがって送信するように構成され、第2のネットワーク・コントローラは第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、第1のネットワーク・コントローラの二次ネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラと同一のレベルにある。
【０１３７】
さらに、受信モジュール710は特に、第2のネットワーク・コントローラが要求メッセージにしたがって、第2のネットワーク・コントローラは処理ポリシーを提供できると判定する場合に、受信した要求メッセージにしたがって第2のネットワーク・コントローラから送信された処理ポリシーを受信するように構成され、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【０１３８】
その上、装置はさらに、
第1のネットワーク・コントローラが転送プレーン・デバイスの要求メッセージを受信する前に、転送プレーン・デバイスとの通信接続を確立するように、また転送プレーン・デバイスの第1の属性情報を取得するように構成された処理モジュールを含む。
【０１３９】
送信モジュール720はさらに、転送プレーン・デバイスの第1の属性情報を第2のネットワーク・コントローラへ送信し、それにより、転送プレーン・デバイスの第1の属性情報にしたがって、第2のネットワーク・コントローラは転送プレーン・デバイス・トポロジを構築し、この転送プレーン・デバイス・トポロジを格納する、ように構成される。
【０１４０】
さらに、転送プレーン・デバイスの第1の属性情報は、転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、リンク特徴は、転送プレーン・デバイスに接続されたピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【０１４１】
その上、送信モジュール720はさらに、第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を第2のネットワーク・コントローラへ送信し、それにより、第2のネットワーク・コントローラが、第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を格納する、ように構成される。
【０１４２】
その上、送信モジュール720はさらに、転送プレーン・デバイスの第2の属性情報を第2のネットワーク・コントローラへ送信し、それにより、第2のネットワーク・コントローラが転送プレーン・デバイスの第2の属性情報を格納する、ように構成され、この第2の属性情報は、転送プレーン・デバイスのフローテーブル情報、転送プレーン・デバイス間のリンクの状態情報、又は転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【０１４３】
その上、処理モジュールはさらに、第1のネットワーク・コントローラが要求メッセージを第2のネットワーク・コントローラへ送信する前に、第2のネットワーク・コントローラとの通信接続を確立するように構成される。
【０１４４】
送信モジュール720は、第1のネットワーク・コントローラによって取得された属性情報を第2のネットワーク・コントローラへ送信し、それにより、第1のネットワーク・コントローラによって取得された属性情報にしたがって、第2のネットワーク・コントローラがネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを格納する、ように構成される。
【０１４５】
第1のネットワーク・コントローラによって取得された属性情報は、第1のネットワーク・コントローラの属性情報、又は第1のネットワーク・コントローラの属性情報と、第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報とを含む。
【０１４６】
さらに、第1のネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラの識別子、第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１４７】
第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの識別子、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１４８】
この実施形態で提供されるネットワーク制御装置によれば、転送プレーン・デバイスの要求メッセージが受信され、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラは、要求メッセージを第2のネットワーク・コントローラへ送信し、第2のネットワーク・コントローラから送信された処理ポリシーを受信し、受信した処理ポリシーを転送プレーン・デバイスへ送信する。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御において生じやすくなるという問題が解決される。階層的ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これにより、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０１４９】
図7を参照すると、この実施形態で提供されるネットワーク制御装置の概略構成図は図7と同一のものになる。この実施形態において、装置は、階層的ネットワーク配置手法が各ネットワーク・コントローラの計算処理オーバヘッドを簡略化するために、またネットワーク制御スケーラビリティを改善するのに使用される場合に適用可能である。この装置は、一般にハードウェア及び／又はソフトウェアの態様で実現される。
【０１５０】
受信モジュールが、第1のネットワーク・コントローラから送信された要求メッセージを受信するように構成され、この要求メッセージはネットワーク・イベントを含み、またネットワーク・イベントの処理ポリシーを要求するために使用され、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信される。送信モジュールが、処理ポリシーを第1のネットワーク・コントローラへ送信し、それにより、第1のネットワーク・コントローラが、その処理ポリシーを転送プレーン・デバイスへ、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラへ送信する、ように構成される。
【０１５１】
さらに、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることが、
第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する後に、要求メッセージが第1のネットワーク・コントローラの一次ネットワーク・コントローラへ第1のネットワーク・コントローラから送信されること、並びに、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージが第2のネットワーク・コントローラへ、第1のネットワーク・コントローラから、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信されることを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は第1のネットワーク・コントローラの一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【０１５２】
受信モジュールは特に、第1のネットワーク・コントローラから、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信された要求メッセージを受信するように構成される。
【０１５３】
さらに、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることが、
第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信した後に、要求メッセージが第1のネットワーク・コントローラの一次ネットワーク・コントローラへ第1のネットワーク・コントローラから送信されること、並びに、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと確定し、拒否メッセージを第1のネットワーク・コントローラへ送信した後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、第1のネットワーク・コントローラの二次ネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラと同一のレベルにある。
【０１５４】
その上、装置はさらに、
第2のネットワーク・コントローラが処理ポリシーを第1のネットワーク・コントローラへ送信する前に、要求メッセージにしたがって、第2のネットワーク・コントローラは処理ポリシーを提供できると判定するように構成された処理モジュールを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【０１５５】
その上、処理モジュールはさらに、第1のネットワーク・コントローラから送信された要求メッセージが受信される前に、第1のネットワーク・コントローラとの通信接続を確立するように構成される。
【０１５６】
受信モジュールはさらに、第1のネットワーク・コントローラにより取得され送信された属性情報を受信するように構成される。
【０１５７】
処理モジュールはさらに、第1のネットワーク・コントローラにより取得された受信属性情報にしたがって、ネットワーク・コントローラ・トポロジを構築し、ネットワーク・コントローラ・トポロジを格納するように構成される。
【０１５８】
第1のネットワーク・コントローラによって取得された属性情報は、第1のネットワーク・コントローラの属性情報、又は第1のネットワーク・コントローラの属性情報と、第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報とを含む。
【０１５９】
さらに、第1のネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラの識別子、第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１６０】
第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの識別子、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１６１】
その上、受信モジュールはさらに、第1のトポロジが構築され、かつ第1のトポロジが、第1のネットワーク・コントローラの受信した属性情報にしたがって保存された後に、第1のネットワーク・コントローラから送信された転送プレーン・デバイスの第1の属性情報を受信するように、また転送プレーン・デバイスの第1の属性情報を格納するように構成される。
【０１６２】
さらに、転送プレーン・デバイスの第1の属性情報は、転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、リンク特徴が、転送プレーン・デバイスに接続されたピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【０１６３】
その上、受信モジュールはさらに、第1のネットワーク・コントローラから送信される情報、かつ第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を受信するように、また第1のネットワーク・コントローラによりサポートされるネットワーク機能を識別するのに使用される情報を格納するように構成される。
【０１６４】
その上、受信モジュールはさらに、第1のネットワーク・コントローラから送信された転送プレーン・デバイスの第2の属性情報を受信するように、また転送プレーン・デバイスの第2の属性情報を格納するように構成される。
【０１６５】
さらに、転送プレーン・デバイスの第2の属性情報は、転送プレーン・デバイスのフローテーブル情報、転送プレーン・デバイス間のリンクの状態情報、又は転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【０１６６】
この実施形態で提供されるネットワーク制御装置によれば、異なる機能が異なるネットワーク・コントローラに配置され、第1のネットワーク・コントローラ自体が処理ポリシーを提供できない場合、第1のネットワーク・コントローラが処理ポリシーを別のネットワーク・コントローラに要求することができる。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が解決される。ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０１６７】
図8は、本発明の一実施形態による別のネットワーク制御装置800の概略構成図である。この実施形態における装置は、階層的ネットワーク配置手法が各ネットワーク・コントローラの計算処理オーバヘッドを簡略化するために、またネットワーク制御スケーラビリティを改善するのに使用される場合に適用可能である。この装置は、一般にハードウェア及び／又はソフトウェアの態様で実現される。図8を参照すると、装置は受信機810及び送信機820を含む。
【０１６８】
受信機810は、転送プレーン・デバイスの要求メッセージを受信するように構成され、この要求メッセージは、ネットワーク・イベントを表示するのに使用される情報と、ネットワーク・イベントの処理ポリシーを要求するように指示するのに使用される情報とを含む。送信機820は、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージを第2のネットワーク・コントローラへ送信して、第2のネットワーク・コントローラに、処理ポリシーを第1のネットワーク・コントローラに提供することを要求するように構成され、第1のネットワーク・コントローラは、転送プレーン・デバイスの一次ネットワーク・コントローラである。受信機810はさらに、第2のネットワーク・コントローラから送信された処理ポリシーを受信するように構成される。送信機820はさらに、受信した処理ポリシーを転送プレーン・デバイスへ送信するように構成される。
【０１６９】
その上、送信機820は特に、要求メッセージを第1のネットワーク・コントローラの一次ネットワーク・コントローラへ送信するように構成され、また、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージを第2のネットワーク・コントローラへ、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信するように構成され、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は第1のネットワーク・コントローラの一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【０１７０】
その上、送信機820はさらに、要求メッセージを第1のネットワーク・コントローラの一次ネットワーク・コントローラへ、要求メッセージを第2のネットワーク・コントローラへ送信する前に送信するように構成され、また、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラの一次ネットワーク・コントローラから送信された拒否メッセージを受信して、処理ポリシーを第1のネットワーク・コントローラへ送信することを拒否するように構成される。
【０１７１】
送信機820は特に、要求メッセージを第2のネットワーク・コントローラへ、受信した拒否メッセージにしたがって送信するように構成され、第2のネットワーク・コントローラは第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、第1のネットワーク・コントローラの二次ネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラと同一のレベルにある。
【０１７２】
さらに受信機810は特に、第2のネットワーク・コントローラが要求メッセージにしたがって、第2のネットワーク・コントローラは処理ポリシーを提供できると判定する場合に、受信した要求メッセージにしたがって第2のネットワーク・コントローラから送信された処理ポリシーを受信するように構成され、第2のネットワーク・コントローラは第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【０１７３】
その上、装置はさらに、
第1のネットワーク・コントローラが転送プレーン・デバイスの要求メッセージを受信する前に、転送プレーン・デバイスとの通信接続を確立するように、また転送プレーン・デバイスの第1の属性情報を取得するように構成されたプロセッサを含む。
【０１７４】
送信機820はさらに、転送プレーン・デバイスの第1の属性情報を第2のネットワーク・コントローラへ送信し、それにより、転送プレーン・デバイスの第1の属性情報にしたがって、第2のネットワーク・コントローラが転送プレーン・デバイス・トポロジを構築し、この転送プレーン・デバイス・トポロジを格納する、ように構成される。
【０１７５】
さらに、転送プレーン・デバイスの第1の属性情報は、転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、リンク特徴は、転送プレーン・デバイスに接続されたピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【０１７６】
その上、送信機820はさらに、第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を第2のネットワーク・コントローラへ送信し、それにより、第2のネットワーク・コントローラが、第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を格納する、ように構成される。
【０１７７】
その上、送信機820はさらに、転送プレーン・デバイスの第2の属性情報を第2のネットワーク・コントローラへ送信し、それにより、第2のネットワーク・コントローラが転送プレーン・デバイスの第2の属性情報を格納する、ように構成され、この第2の属性情報は、転送プレーン・デバイスのフローテーブル情報、転送プレーン・デバイス間のリンクの状態情報、又は転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【０１７８】
その上、プロセッサはさらに、第1のネットワーク・コントローラが要求メッセージを第2のネットワーク・コントローラへ送信する前に、第2のネットワーク・コントローラとの通信接続を確立するように構成される。
【０１７９】
送信機820は、第1のネットワーク・コントローラによって取得された属性情報を第2のネットワーク・コントローラへ送信し、それにより、第1のネットワーク・コントローラによって取得された属性情報にしたがって、第2のネットワーク・コントローラがネットワーク・コントローラ・トポロジを構築し、このネットワーク・コントローラ・トポロジを格納する、ように構成される。
【０１８０】
第1のネットワーク・コントローラによって取得された属性情報は、第1のネットワーク・コントローラの属性情報、又は第1のネットワーク・コントローラの属性情報と、第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報とを含む。
【０１８１】
さらに、第1のネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラの識別子、第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１８２】
第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの識別子、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１８３】
この実施形態で提供されるネットワーク制御装置によれば、転送プレーン・デバイスの要求メッセージが受信され、第1のネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、第1のネットワーク・コントローラは、要求メッセージを第2のネットワーク・コントローラへ送信し、第2のネットワーク・コントローラから送信された処理ポリシーを受信し、受信した処理ポリシーを転送プレーン・デバイスへ送信する。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御において生じやすくなるという問題が解決される。階層的ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０１８４】
この実施形態で提供されるネットワーク制御装置は、図2に示された方法実施形態の技術的解決策を実行するように構成できることに留意されたい。
【０１８５】
本発明のこの実施形態では、プロセッサは中央制御ユニット（Central  Processing  Unit，略して「CPU」）でよく、プロセッサはまた、他の汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）又は他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェア構成要素などでもよいことを理解されたい。汎用プロセッサはマイクロプロセッサでよく、或いはプロセッサはまた、任意の従来のプロセッサなどでもよい。
【０１８６】
実施過程において、上記のステップは、プロセッサ内のハードウェアの集積論理回路、又はソフトウェアの形の命令を使用して完了することができる。本発明の実施形態に関して開示された方法のステップは、ハードウェアプロセッサによって直接実行し完了することができ、或いはプロセッサ内のハードウェアとソフトウェアのモジュールの組合せを使用して実行し完了することができる。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、又はレジスタなどの、当分野で成熟した記憶媒体内に置くことができる。記憶媒体はメモリ内にあり、プロセッサがメモリ内の情報を読み出し、上記の方法のステップをプロセッサのハードウェアと合同で完了する。繰返しを避けるために、詳細をここで再び説明しない。
【０１８７】
図8を参照すると、この実施形態で提供されるネットワーク制御装置の概略構成図は図8と同一のものになる。この実施形態において、装置は、階層的ネットワーク配置手法が各ネットワーク・コントローラの計算処理オーバヘッドを簡略化するために、またネットワーク制御スケーラビリティを改善するのに使用される場合に適用可能である。この装置は、一般にハードウェア及び／又はソフトウェアの態様で実現される。
【０１８８】
受信機が、第1のネットワーク・コントローラから送信された要求メッセージを受信するように構成され、この要求メッセージはネットワーク・イベントを含み、またネットワーク・イベントの処理ポリシーを要求するために使用され、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定する後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信される。送信機が、処理ポリシーを第1のネットワーク・コントローラへ送信し、それにより、第1のネットワーク・コントローラが、その処理ポリシーを転送プレーン・デバイスへ、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラへ送信する、ように構成される。
【０１８９】
さらに、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定した後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることが、
第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定した後に、要求メッセージが第1のネットワーク・コントローラの一次ネットワーク・コントローラへ第1のネットワーク・コントローラから送信されること、並びに第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと判定する場合に、要求メッセージが第2のネットワーク・コントローラへ、第1のネットワーク・コントローラから、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信されることを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラのより上位レベルのネットワーク・コントローラ、又は第1のネットワーク・コントローラの一次ネットワーク・コントローラのサブネットワーク・コントローラである。
【０１９０】
受信機は特に、第1のネットワーク・コントローラから、第1のネットワーク・コントローラの一次ネットワーク・コントローラを使用して送信された要求メッセージを受信するように構成される。
【０１９１】
さらに、第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信し、かつ、要求メッセージにしたがって、第1のネットワーク・コントローラは処理ポリシーを提供できないと判定した後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることが、
第1のネットワーク・コントローラが、転送プレーン・デバイスから、又は第1のネットワーク・コントローラのより低レベルのネットワーク・コントローラから送信された要求メッセージを受信した後に、要求メッセージが第1のネットワーク・コントローラの一次ネットワーク・コントローラへ第1のネットワーク・コントローラから送信されること、並びに、第1のネットワーク・コントローラの一次ネットワーク・コントローラが、要求メッセージにしたがって、第1のネットワーク・コントローラの一次ネットワーク・コントローラは処理ポリシーを提供できないと確定し、拒否メッセージを第1のネットワーク・コントローラへ送信した後に、要求メッセージが第2のネットワーク・コントローラへ第1のネットワーク・コントローラから送信されることを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの二次ネットワーク・コントローラであり、第1のネットワーク・コントローラの二次ネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラと同一のレベルにある。
【０１９２】
その上、装置はさらに、
第2のネットワーク・コントローラが処理ポリシーを第1のネットワーク・コントローラへ送信する前に、要求メッセージにしたがって、第2のネットワーク・コントローラは処理ポリシーを提供できると判定するように構成されたプロセッサを含み、第2のネットワーク・コントローラは、第1のネットワーク・コントローラの一次ネットワーク・コントローラである。
【０１９３】
その上、プロセッサはさらに、第1のネットワーク・コントローラから送信された要求メッセージが受信される前に、第1のネットワーク・コントローラとの通信接続を確立するように構成される。
【０１９４】
受信機はさらに、第1のネットワーク・コントローラにより取得され送信された属性情報を受信するように構成される。
【０１９５】
プロセッサはさらに、第1のネットワーク・コントローラにより取得された受信属性情報にしたがって、ネットワーク・コントローラ・トポロジを構築し、ネットワーク・コントローラ・トポロジを格納するように構成される。
【０１９６】
第1のネットワーク・コントローラによって取得された属性情報は、第1のネットワーク・コントローラの属性情報、又は第1のネットワーク・コントローラの属性情報と、第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報とを含む。
【０１９７】
さらに、第1のネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラの識別子、第1のネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラの特徴を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１９８】
第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの属性情報は、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの識別子、第1のネットワーク・コントローラと同一のレベルにあるとともに第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの役割を識別するのに使用される情報、又は第1のネットワーク・コントローラと通信可能に接続されたネットワーク・コントローラの機能を識別するのに使用される情報のうちの少なくとも1つを含む。
【０１９９】
その上、受信機はさらに、第1のトポロジが構築され、かつ第1のトポロジが、第1のネットワーク・コントローラの受信した属性情報にしたがって保存された後に、第1のネットワーク・コントローラから送信された転送プレーン・デバイスの第1の属性情報を受信するように、また転送プレーン・デバイスの第1の属性情報を格納するように構成される。
【０２００】
さらに、転送プレーン・デバイスの第1の属性情報は、転送プレーン・デバイスの識別子、ポート番号、ポート・メディア・アクセス制御MACアドレス、ポート・インターネット・プロトコルIPアドレス、仮想ローカル・エリア・ネットワークVLAN、帯域幅、計算能力又はリンク特徴のうちの少なくとも1つを含み、リンク特徴が、転送プレーン・デバイスに接続されたピアデバイスのデバイス識別番号、ポート番号、MACアドレス又はIPアドレスのうちの少なくとも1つを含む。
【０２０１】
その上、受信機はさらに、第1のネットワーク・コントローラから送信される情報、かつ第1のネットワーク・コントローラによってサポートされるネットワーク機能を識別するのに使用される情報を受信するように、また第1のネットワーク・コントローラによりサポートされるネットワーク機能を識別するのに使用される情報を格納するように構成される。
【０２０２】
その上、受信機はさらに、第1のネットワーク・コントローラから送信された転送プレーン・デバイスの第2の属性情報を受信するように、また転送プレーン・デバイスの第2の属性情報を格納するように構成される。
【０２０３】
さらに、転送プレーン・デバイスの第2の属性情報は、転送プレーン・デバイスのフローテーブル情報、転送プレーン・デバイス間のリンクの状態情報、又は転送プレーン・デバイスのデータキャッシング情報のうちの少なくとも1つを含む。
【０２０４】
この実施形態で提供されるネットワーク制御装置によれば、異なる機能が異なるネットワーク・コントローラに配置され、第1のネットワーク・コントローラ自体が処理ポリシーを提供できない場合、第1のネットワーク・コントローラが処理ポリシーを別のネットワーク・コントローラに要求することができる。したがって、従来技術の問題、すなわちネットワーク機能を実現できる過剰なアプリケーション・プログラムがネットワーク・コントローラ及びSDNドメインコントローラに集約配置手法でインストールされ、その結果、SDNドメインコントローラ及びネットワーク・コントローラのランニング・オーバヘッドが極めて高くなり、かつボトルネックが制御プレーンにおいて生じやすくなるという問題が解決される。ネットワーク配置手法では、異なるネットワーク機能が、異なるネットワーク・コントローラを使用して別々に引き受けられ、ネットワーク・コントローラ自体が、ネットワーク・イベントを処理する処理ポリシーを提供できない場合には、ネットワーク・コントローラは、その処理ポリシーを別のネットワーク・コントローラに要求することができ、これによって、各々のネットワーク・コントローラの計算処理オーバヘッドを低減することができ、また、ネットワークスケーラビリティを改善することができる。
【０２０５】
この実施形態で提供されるネットワーク制御装置は、図3に示された方法実施形態の技法的解決策を実行するように構成できることに留意されたい。
【０２０６】
本発明のこの実施形態では、プロセッサは中央制御ユニット（Central  Processing  Unit，略して「CPU」）でよく、プロセッサはまた、他の汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）又は他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェア構成要素などでもよいことを理解されたい。汎用プロセッサはマイクロプロセッサでよく、或いはプロセッサはまた、任意の従来のプロセッサなどでもよい。
【０２０７】
実施過程において、上記のステップは、プロセッサ内のハードウェアの集積論理回路、又はソフトウェアの形の命令を使用して完了することができる。本発明の実施形態に関して開示された方法のステップは、ハードウェアプロセッサによって直接実行し完了することができ、或いはプロセッサ内のハードウェアとソフトウェアのモジュールの組合せを使用して実行し完了することもできる。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、又はレジスタなどの、当分野で成熟した記憶媒体内に置くことができる。記憶媒体はメモリ内にあり、プロセッサがメモリ内の情報を読み出し、上記の方法のステップをプロセッサのハードウェアと合同して完了する。繰返しを避けるために、詳細をここで再び説明しない。
【０２０８】
当業者には、本明細書に開示された実施形態で説明された例と合わせて、方法ステップ及びユニットが、電子的ハードウェア、コンピュータソフトウェア、又はこれらの組合せによって実現できることが知られていよう。ハードウェアとソフトウェアの間の交換可能性について明確に説明するために、上記では、機能に応じた各実施形態のステップ及び構成物について大まかに説明した。機能がハードウェアで実行されるかソフトウェアで実行されるかは、特定の用途と、技法的解決策の設計制約条件とによって決まる。当業者であれば、異なる方法を使用して上記の機能を特定の用途ごとに実施することができるが、その実施は、本発明の範囲を超えるとみなされるべきではない。
【０２０９】
当業者には、便利で簡潔な説明という目的のために、上記のシステム、装置、及びユニットの詳細な動作過程については、上記の方法実施形態の対応する処理を参照することができ、詳細については本明細書で再度説明されていないことが明確に理解されよう。
【０２１０】
本出願に提示されたいくつかの実施形態において、開示されたシステム、装置及び方法は他のやり方でも実施できることを理解されたい。たとえば、上記の装置実施形態は例示的なものにすぎない。たとえば、ユニット区分は単なる論理機能区分であり、実際の実施では他の区分とすることもできる。たとえば、複数のユニット又は構成要素を他のシステムと組み合わせること、又は一体化することができ、或いはいくつかの特徴を省略すること、又は実施しないことも可能である。加えて、示された、又は論じられた相互連結又は直接連結又は通信接続は、いくつかのインターフェースによって実施することができる。装置又はユニット間の間接的な連結又は通信接続は、電気的形式、機械的形式又は他の形式で実施することができる。
【０２１１】
別々の部分として記述されたユニットは、物理的に分離していてもいなくてもよく、ユニットとして示された部分は、物理的なユニットであってもなくてもよく、1つの場所に置かれていてもよく、或いは複数のネットワークユニット上に分散されていてもよい。ユニットの一部又は全部が、本発明の実施形態の解決策の目的を達成するために、実際の必要に応じて選択されてよい。
【０２１２】
加えて、本発明の実施形態における機能ユニットは、1つの処理ユニットに一体化することも、ユニットのそれぞれが単独で物理的に存在することもでき、或いは2つ以上のユニットが1つのユニットに一体化される。一体化ユニットは、ハードウェアの形で実施することも、ソフトウェア機能ユニットの形で実施することもできる。
【０２１３】
一体化ユニットがソフトウェア機能ユニットの形で実施され、単独製品として販売又は使用される場合、一体化ユニットは、コンピュータ可読記憶媒体内に収納することができる。このような理解に基づいて本発明の技法的解決策は、基本的には、又は従来技術に寄与する部分は、又は技法的解決策の全部若しくは一部は、ソフトウェア製品の形で実施することができる。ソフトウェア製品は、記憶媒体内に収納され、コンピュータデバイス（パーソナルコンピュータ、サーバ、又はネットワークデバイスであり得る）に指示して本発明の実施形態に関して説明された方法のステップの全部又は一部を実行するためのいくつかの命令を含む。上記の記憶媒体は、USBフラッシュドライブ、取外し可能ハードディスク、読み出し専用メモリ（Read-Only  Memory，ROM）、ランダムアクセスメモリ（Random  Access  Memory，RAM）、磁気ディスク、又は光ディスクなどの、プログラムコードを保存できる任意の媒体を含む。
【０２１４】
上記は、本発明の単なる特定の実施形態にすぎないが、本発明の保護範囲を限定するものではない。当業者によって容易に理解される、本発明で開示された技法的範囲内のいかなる修正又は置換も本発明の保護範囲に入るものである。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に準拠するものとする。
【図１】
0006532526.tif 000002
【図２】
0006532526.tif 000003
【図３】
0006532526.tif 000004
【図４Ａ】
0006532526.tif 000005
【図４Ｂ】
0006532526.tif 000006
【図５】
0006532526.tif 000007
【図６Ａ】
0006532526.tif 000008
【図６Ｂ】
0006532526.tif 000009
【図７】
0006532526.tif 000010
【図８】
0006532526.tif 000011