(57)【特許請求の範囲】
【請求項１】
コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している場合に、前記コントローラが前記コントローラとスイッチ装置との間のオープンフローＯｐｅｎｆｌｏｗ接続を検出することと、
前記Ｏｐｅｎｆｌｏｗ接続の状態が変化したと検出する場合に、前記コントローラが前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信することと、
所定の時間内に前記セッション情報を取得していない場合に、前記コントローラが、前記ＮＥＴＣＯＮＦセッションが異常であると確定することと、
所定の時間内に前記セッション情報を取得した場合に、前記コントローラが、前記ＮＥＴＣＯＮＦセッションが正常であると確定することと、
前記Ｏｐｅｎｆｌｏｗ接続が正常状態から異常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記コントローラが、前記スイッチ装置が非アクティブ状態にあると確定することと、
を含むことを特徴とするネットワーク構成ＮＥＴＣＯＮＦセッション状態の検出方法。
【請求項２】
前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合に、前記コントローラが、前記スイッチ装置が非アクティブ状態にあると確定することを更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記Ｏｐｅｎｆｌｏｗ接続が異常状態から正常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記コントローラが、前記スイッチ装置がアクティブ状態にあると確定することを更に含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記Ｏｐｅｎｆｌｏｗ接続が異常状態から正常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合、前記コントローラが、前記ＮＥＴＣＯＮＦセッションを閉じることを更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記Ｏｐｅｎｆｌｏｗ接続が正常状態から異常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記コントローラが、前記ＮＥＴＣＯＮＦセッションを閉じることを更に含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信することは、
前記コントローラが前記ＮＥＴＣＯＮＦセッションの確立時に取得された認証トークンをＮＥＴＣＯＮＦパケットに含ませることと、
前記コントローラが前記ＮＥＴＣＯＮＦパケットをシンプル・オブジェクト・アクセス・プロトコルＳＯＡＰパケットに含ませることと、
前記コントローラが本コントローラと前記スイッチ装置との間にＨＴＴＰＳ接続を確立することと、
前記コントローラが前記ＨＴＴＰＳ接続によって前記ＳＯＡＰパケットを前記スイッチ装置に送信することと、
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
コントローラに適用されるネットワーク構成ＮＥＴＣＯＮＦセッション状態の検出装置であって、
プロセッサと、
コンピュータに実行可能な命令を記憶しているコンピュータ読取可能な記録媒体と、を備え、
前記コンピュータに実行可能な命令を実行することにより、前記プロセッサに、
コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している場合に、前記コントローラとスイッチ装置との間のオープンフローＯｐｅｎｆｌｏｗ接続を検出することと、
前記Ｏｐｅｎｆｌｏｗ接続の状態が変化したと検出する場合に、前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信することと、
所定の時間内に前記セッション情報を取得していない場合に、前記ＮＥＴＣＯＮＦセッションが異常であると確定することと、
所定の時間内に前記セッション情報を取得した場合に、前記ＮＥＴＣＯＮＦセッションが正常であると確定することと、
前記Ｏｐｅｎｆｌｏｗ接続が正常状態から異常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置が非アクティブ状態にあると確定することと、
を実行させることを特徴とするネットワーク構成ＮＥＴＣＯＮＦセッション状態の検出装置。
【請求項８】
前記コンピュータに実行可能な命令によって、前記プロセッサに、更に、
前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合に、更に前記スイッチ装置が非アクティブ状態にあると確定すること、
を実行させることを特徴とする請求項７に記載の装置。
【請求項９】
前記コンピュータに実行可能な命令によって、前記プロセッサに、更に、
前記Ｏｐｅｎｆｌｏｗ接続が異常状態から正常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置がアクティブ状態にあると確定すること、
を実行させることを特徴とする請求項７に記載の装置。
【請求項１０】
前記コンピュータに実行可能な命令によって、前記プロセッサに、更に、
前記Ｏｐｅｎｆｌｏｗ接続が異常状態から正常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合、前記ＮＥＴＣＯＮＦセッションを閉じること、
を実行させることを特徴とする請求項７に記載の装置。
【請求項１１】
前記コンピュータに実行可能な命令によって、前記プロセッサに、更に、
前記Ｏｐｅｎｆｌｏｗ接続が正常状態から異常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記ＮＥＴＣＯＮＦセッションを閉じること、
を実行させることを特徴とする請求項７に記載の装置。
【請求項１２】
前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信するとき、前記コンピュータに実行可能な命令によって、前記プロセッサに、
前記ＮＥＴＣＯＮＦセッションの確立時に取得された認証トークンをＮＥＴＣＯＮＦパケットに含ませることと、
前記ＮＥＴＣＯＮＦパケットをシンプル・オブジェクト・アクセス・プロトコルＳＯＡＰパケットに含ませることと、
前記コントローラと前記スイッチ装置との間にＨＴＴＰＳ接続を確立することと、
前記ＨＴＴＰＳ接続によって前記ＳＯＡＰパケットを前記スイッチ装置に送信することと、
を実行させることを特徴とする請求項７に記載の装置。
【請求項１３】
コンピュータに実行可能な命令を記録しているコンピュータ読取可能な記録媒体であって、
前記コンピュータに実行可能な命令を実行することにより、コントローラに、
前記コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している場合に、前記コントローラとスイッチ装置との間のオープンフローＯｐｅｎｆｌｏｗ接続を検出することと、
前記Ｏｐｅｎｆｌｏｗ接続の状態が変化したと検出する場合に、前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信することと、
所定の時間内に前記セッション情報を取得していない場合に、前記ＮＥＴＣＯＮＦセッションが異常であると確定することと、
所定の時間内に前記セッション情報を取得した場合に、前記ＮＥＴＣＯＮＦセッションが正常であると確定することと、
前記Ｏｐｅｎｆｌｏｗ接続が正常状態から異常状態に変化したと検出し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置が非アクティブ状態にあると確定すること
を実行させることを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１７年５月２６日に提出された出願番号が２０１７１０３８３８９３．６であり、発明の名称が「ＮＥＴＣＯＮＦセッション状態の検出方法及び装置」である中国特許出願に基づく優先権を主張し、該出願の全内容が本願の一部として援用される。
【０００２】
本願はネットワーク構成（ＮＥＴＣＯＮＦ：Ｎｅｔｗｏｒｋ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ）セッションの状態検出に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＮＥＴＣＯＮＦは拡張可能なマークアップ言語（ＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に基づく構成プロトコルである。
【０００４】
本発明は、ネットワーク構成セッションの状態検出の技術分野において、ネットワーク管理者の構成操作を簡略化し、より柔軟かつ便利なネットワーク構成を実現することを目的とする。
【課題を解決するための手段】
【０００５】
コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している場合において、コントローラが、ＮＥＴＣＯＮＦセッションに基づいてスイッチ装置へＮＥＴＣＯＮＦメッセージを送信することによりスイッチ装置に対してネットワーク構成を行う。これにより、ネットワーク管理者の構成操作を簡略化し、より柔軟且つ便利なネットワーク構成が実現する。
【図面の簡単な説明】
【０００６】
【図１】図１は本願に係るＮＥＴＣＯＮＦセッション状態の検出方法の模式的なフローチャートである。
【図１Ａ】図１Ａは図１に示される方法におけるコントローラとスイッチ装置との間のＯｐｅｎｆｌｏｗ接続状態を検出する模式的なフローチャートである。
【図１Ｂ】図１Ｂは図１に示される方法におけるＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式でスイッチ装置へパケットを送信することによりＮＥＴＣＯＮＦセッション情報を取得する模式的なフローチャートである。
【図２】図２は図１に示される方法の応用ネットワークの模式図である。
【図３】図３は本願の実施例に係る第１フローチャートである。
【図４】図４は本願の実施例に係る第２フローチャートである。
【図５】図５は本願に係る装置の構造図である。
【図６】図６は本願に係る装置のハードウェア構造図である。
【発明を実施するための形態】
【０００７】
ＮＥＴＣＯＮＦは拡張可能なマークアップ言語（ＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に基づく構成プロトコルである。コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している後、コントローラはＮＥＴＣＯＮＦセッションに基づいてスイッチ装置へＮＥＴＣＯＮＦメッセージを送信することによりスイッチ装置に対してネットワーク構成を行うことができる。それによりネットワーク管理者の構成操作を簡略化し、より柔軟で便利なネットワーク構成を実現する。しかしながら、リンク障害や、スイッチ装置故障等の理由で、コントローラとスイッチ装置との間のＮＥＴＣＯＮＦセッションが異常になる可能性があるため、コントローラはスイッチ装置へネットワーク構成を送信することができない。
【０００８】
ＮＥＴＣＯＮＦプロトコルにおいて、セキュア・ソケット・レイヤ（ＳＳＬ：Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）のハイパーテキスト・トランスファー・プロトコル・セキュア（ＨＴＴＰＳ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）に基づく短時間のコネクション方式を用いてもよい。例えば、ＮＥＴＣＯＮＦがシンプル・オブジェクト・アクセス・プロトコルＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）ｏｖｅｒ  ＨＴＴＰＳのようなＨＴＴＰＳに基づく短時間のコネクション方式を用いてもよい。そして、ＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳによるＮＥＴＣＯＮＦ接続は、定期的なハートビート検出の方式によってキープアライブメカニズムを実現するが、以下に定期的なハートビート検出と略称される。
【０００９】
定期的なハートビート検出は、具体的に以下のような方法である。コントローラは、認証トークン（ＮＥＴＣＯＮＦセッションの確立時に取得されたもの）を用いて、一定の時間周期でスイッチ装置からＮＥＴＣＯＮＦセッション情報を取得する。ＮＥＴＣＯＮＦセッション情報の取得に成功したと、コントローラとスイッチ装置との間のＮＥＴＣＯＮＦセッションが正常であると見なされ、スイッチ装置がアクティブ状態にあると確定する。一方、ＮＥＴＣＯＮＦセッション情報の取得に失敗し、且つ今までＮＥＴＣＯＮＦセッション情報の取得にＮ回（例えば、Ｎの値が３である）連続して失敗したと、コントローラとスイッチ装置との間のＮＥＴＣＯＮＦセッションが異常であると見なされ、スイッチ装置が非アクティブ状態にあると確定する。コントローラは、スイッチ装置がアクティブ状態にあると確定した後、前記スイッチ装置へネットワーク構成を送信することができる一方、スイッチ装置が非アクティブ状態にあると確定した後、前記スイッチ装置へネットワーク構成を送信することを禁止することができる。
【００１０】
上記コントローラがスイッチ装置からＮＥＴＣＯＮＦセッション情報を定時的に取得する方法において、コントローラが少量のスイッチ装置を管理する場合に良好に動作でき、信頼性のあるデバイス接続情報を提供することができる。
【００１１】
ところが、コントローラによって管理されるスイッチ装置の数が多くなることに伴い、スイッチ装置からＮＥＴＣＯＮＦセッション情報を定時的に取得する方法によるオーバーヘッド及び性能への要求がますます高くなり、ひいては通常のサービス実行に影響を与える可能性がある。その理由は、以下の通りである。スイッチ装置からＮＥＴＣＯＮＦセッション情報を定時的に取得することはＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式で実行されており、スイッチ装置からＮＥＴＣＯＮＦセッション情報を毎回取得する前にコントローラとスイッチ装置との間にＨＴＴＰＳ接続を確立する必要があるが、ＨＴＴＰＳ接続を頻繁に確立すると、コントローラのオペレーティングシステムのポート番号がすぐに使い果たされる可能性があり、更に割り当て続けられることができない。
【００１２】
上記問題を解決するために、本願は、Ｏｐｅｎｆｌｏｗの補助によってＮＥＴＣＯＮＦセッション検出を実現するＮＥＴＣＯＮＦセッション状態の検出方法を提供する。Ｏｐｅｎｆｌｏｗはソフトウェア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）アーキテクチャにおいて定義されたコントローラと転送層との間の通信インターフェース規格である。ＯｐｅｎＦｌｏｗは、コントローラがスイッチ装置の転送プレーンに直接にアクセス及び操作を行うことを許容する。このようなスイッチ装置は物理的なものであってもよいし、仮想的なものであってもよい。ＯｐｅｎＦｌｏｗの発想は、制御プレーンとデータプレーンとを分離することであり、データプレーンがフロー形式で転送され、データプレーンと制御プレーンとの間に標準的なプロトコルを用いて通信する。
【００１３】
以下、本願に係るＯｐｅｎｆｌｏｗの補助によるＮＥＴＣＯＮＦセッション状態の検出方法を説明する。
【００１４】
図１に示すように、図１は本願に係るＮＥＴＣＯＮＦセッション状態の検出方法の模式的なフローチャートである。図１に示すように、該プロセスはコントローラに適用される。コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している。一実施例として、コントローラとスイッチ装置との間のＮＥＴＣＯＮＦセッションはＮＥＴＣＯＮＦプロトコルで定義された接続方式に従って確立され、且つ確立の過程は、コントローラ（ＮＥＴＣＯＮＦクライアントとして）がスイッチ装置（ＮＥＴＣＯＮＦサービス側として）へＮＥＴＣＯＮＦプロトコルにおけるｈｅｌｌｏパケットを送信し、ｈｅｌｌｏパケットにユーザー名とパスワードとを含んでいることと、該スイッチ装置が該ｈｅｌｌｏパケットを受信した後、該ｈｅｌｌｏパケットに含まれるユーザー名とパスワードを認証することと、認証に成功すると、該コントローラと該スイッチ装置との間のＮＥＴＣＯＮＦセッションの確立に成功したことを意味し、該スイッチ装置は認証トークンを該コントローラに返すことと、を大体含んでもよい。その後、該コントローラから該スイッチ装置へ送信するＮＥＴＣＯＮＦプロトコルにおけるいかなるパケットに、いずれも、その身元を示すように該認証トークンを含む。逆に、認証に失敗すると、該コントローラは、ＮＥＴＣＯＮＦプロトコルにおけるｈｅｌｌｏパケットを定時的に再送信することによりＮＥＴＣＯＮＦセッションを確立するように要求する。
【００１５】
図１に示すように、本願の実施例に係るＮＥＴＣＯＮＦセッション状態の検出方法は以下のステップを含んでもよい。
【００１６】
ステップ１０１において、コントローラは、本コントローラとスイッチ装置との間のＯｐｅｎｆｌｏｗ接続を検出する。
【００１７】
一実施例として、ステップ１０１におけるＯｐｅｎｆｌｏｗ接続は、以下の方法に基づいて確立されてもよい。コントローラが、Ｏｐｅｎｆｌｏｗ構成を持っているＮＥＴＣＯＮＦメッセージをスイッチ装置に送信することにより、該スイッチ装置が該Ｏｐｅｎｆｌｏｗ構成を利用して該コントローラにＯｐｅｎｆｌｏｗ接続要求を開始することが可能になる一方、該コントローラは、該スイッチ装置によって開始されたＯｐｅｎｆｌｏｗ接続要求を受信し、該Ｏｐｅｎｆｌｏｗ接続要求に応じて本コントローラと該スイッチ装置との間にＯｐｅｎｆｌｏｗ接続を確立する。一実施例として、Ｏｐｅｎｆｌｏｗ構成はコントローラのＩＰアドレス等を含んでもよい。
【００１８】
本実施例では、コントローラとスイッチ装置との間に複数のＮＥＴＣＯＮＦセッションが確立しているが、１つのＮＥＴＣＯＮＦセッションに対してセッション状態の検出を行うしかできない。ステップ１０２〜ステップ１０３において説明されたＮＥＴＣＯＮＦセッションとはセッション状態を検出するＮＥＴＣＯＮＦセッションを指す。該ＮＥＴＣＯＮＦセッションが異常であると確認する場合、コントローラとスイッチ装置との間に確立された複数のＮＥＴＣＯＮＦセッションがいずれも異常になると見なされる。該ＮＥＴＣＯＮＦセッション及びＯｐｅｎｆｌｏｗ接続が同じ物理リンクで実行される。
【００１９】
一実施例として、コントローラはＯｐｅｎｆｌｏｗプロトコルによって提供されるＴＣＰに基づくハートビートキープアライブメカニズムに基づき、本コントローラとスイッチ装置との間のＯｐｅｎｆｌｏｗ接続を検出することができる。ＴＣＰに基づくハートビートキープアライブメカニズムは長時間のコネクションに基づくハートビートキープアライブメカニズムであると見なされ、短時間のコネクションに基づくＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳの定期的なハートビート検出の方式に比べて、ＨＴＴＰＳ接続の確立の過程を省き、データを直接に交換することができ、それにより性能オーバーヘッドを効果的に節約することができる。
【００２０】
具体的に、図１Ａに示すように、ＴＣＰに基づくハートビートキープアライブメカニズムによって、上記コントローラとスイッチ装置との間のＯｐｅｎｆｌｏｗ接続を検出することは、以下のことを含んでもよい。
【００２１】
ステップ１０１ａ１において、Ｏｐｅｎｆｌｏｗ接続によってＯｐｅｎｆｌｏｗ接続検出パケットを送信する。
【００２２】
一実施例として、Ｏｐｅｎｆｌｏｗ接続検出パケットがＯｐｅｎｆｌｏｗプロトコルにおけるｅｃｈｏ要求（Ｒｅｑｕｅｓｔ）パケットである。
【００２３】
ステップ１０１ａ２において、前記Ｏｐｅｎｆｌｏｗ接続検出パケットを送信した後の設定時間内に前記Ｏｐｅｎｆｌｏｗ接続検出パケットに対する応答パケットを受信した場合、前記Ｏｐｅｎｆｌｏｗ接続が正常であると確定し、そうでない場合、前記Ｏｐｅｎｆｌｏｗ接続が異常であると確定する。
【００２４】
一実施例として、Ｏｐｅｎｆｌｏｗ接続検出パケットがＯｐｅｎｆｌｏｗプロトコルにおけるｅｃｈｏ  Ｒｅｑｕｅｓｔパケットである場合、対応する応答パケットがｅｃｈｏ  Ｒｅｐｌｙパケットである。
【００２５】
ステップ１０１ａ２においてＯｐｅｎｆｌｏｗ接続が正常であると確定する場合に、以前に記録されたＯｐｅｎｆｌｏｗ接続が異常であると、Ｏｐｅｎｆｌｏｗ接続の状態が異常から正常に変化したことを意味する。Ｏｐｅｎｆｌｏｗ接続の異常から正常に変化したことは、Ｏｐｅｎｆｌｏｗ接続アクティブ（ＤＡＴＡＰＡＴＨ＿ＣＯＮＮＥＣＴ）イベントとして記されてもよい。
【００２６】
ステップ１０１ａ２においてＯｐｅｎｆｌｏｗ接続が異常であると確定する場合に、以前に記録されたＯｐｅｎｆｌｏｗ接続が正常であると、Ｏｐｅｎｆｌｏｗ接続の状態が正常から異常に変化したことを意味する。Ｏｐｅｎｆｌｏｗ接続の正常から異常に変化したことは、Ｏｐｅｎｆｌｏｗ接続切断（ＤＡＴＡＰＡＴＨ＿ＤＩＳＣＯＮＮＥＣＴ）イベントとして記されてもよい。
【００２７】
ステップ１０２において、Ｏｐｅｎｆｌｏｗ接続の状態が変化したと検出する場合、コントローラが前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信する。
【００２８】
一実施例として、ステップ１０２においてコントローラが前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信することは、コントローラがＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式で前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信することにより、ＮＥＴＣＯＮＦセッションのセッション情報を取得することを含む。
【００２９】
一実施例として、図１Ｂに示すように、上記コントローラがＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式で前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信することは、以下のステップを含んでもよい。
【００３０】
ステップ１０２ｂ１において、ＮＥＴＣＯＮＦセッションの確立時に取得された認証トークンをＮＥＴＣＯＮＦパケットに含ませる。
【００３１】
一実施例として、ここでのＮＥＴＣＯＮＦパケットがＮＥＴＣＯＮＦプロトコルにおけるセッション（get-sessions）取得メッセージであってもよい。ｇｅｔ−ｓｅｓｓｉｏｎｓメッセージはＮＥＴＣＯＮＦセッションが正常であるかどうかを確定するためのものである。ｇｅｔ−ｓｅｓｓｉｏｎｓメッセージを選択する理由は、ＮＥＴＣＯＮＦプロトコルにおける他のメッセージに比べて、ｇｅｔ−ｓｅｓｓｉｏｎｓメッセージの内容がより少ないためである。当業者が必要に応じてＮＥＴＣＯＮＦプロトコルにおける他のメッセージを選択してもよい。
【００３２】
ステップ１０２ｂ２において、ＮＥＴＣＯＮＦパケットをＳＯＡＰパケットに含ませる。
【００３３】
ステップ１０２ｂ３において、本コントローラと前記スイッチ装置との間にＨＴＴＰＳ接続を確立し、ＨＴＴＰＳ接続によってＳＯＡＰパケットをスイッチ装置に送信することにより、前記スイッチ装置が前記認証トークンに基づいて前記ＮＥＴＣＯＮＦセッションのセッション情報をコントローラに返すようにトリガーする。
【００３４】
ステップ１０２ｂ１〜ステップ１０２ｂ３によって、ＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式でスイッチ装置へＮＥＴＣＯＮＦパケットを送信することができる。
【００３５】
以上のステップ１０１及びステップ１０２の説明によれば、ＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳ方式でＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信することは、Ｏｐｅｎｆｌｏｗ接続の状態の変化によりトリガーされる。それは、ＮＥＴＣＯＮＦセッション状態の検出がＯｐｅｎｆｌｏｗ接続の変化に起因することに相当する。且つ、以上のように、Ｏｐｅｎｆｌｏｗ接続が長時間のコネクションであり、短時間のコネクションに基づくＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰＳの定期的なハートビート検出方式に比べて、Ｏｐｅｎｆｌｏｗ接続状態の変化に基づくハートビートキープアライブメカニズムは接続を確立する過程を省き、データを直接に交換することができ、それにより性能オーバーヘッドを効果的に節約することができる。
【００３６】
ステップ１０３において、所定時間内に前記セッション情報を取得していない場合、コントローラは前記ＮＥＴＣＯＮＦセッションが異常であると確定する一方、所定時間内に前記セッション情報を取得した場合、コントローラは前記ＮＥＴＣＯＮＦセッションが正常であると確定する。
【００３７】
ここで、図１に示すプロセスを完了する。
【００３８】
一実施例として、ＮＥＴＣＯＮＦセッションが異常であると確定する場合、更にスイッチ装置が非アクティブ状態にあると確定することができる。
【００３９】
一実施例として、前記Ｏｐｅｎｆｌｏｗ接続が異常から正常に変化し、前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、スイッチ装置がアクティブ状態にあると確定することができる。
【００４０】
一実施例として、前記Ｏｐｅｎｆｌｏｗ接続が正常から異常に変化し、前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置が非アクティブ状態にあると確定することができる。通常の状況では、スイッチ装置とコントローラとの間のＯｐｅｎｆｌｏｗ接続と、ＮＥＴＣＯＮＦセッションの状態とが一致すべきであるため、一致しない状況が発生することがない。エラー構成を防止するために、Ｏｐｅｎｆｌｏｗ接続と、ＮＥＴＣＯＮＦセッションの状態とが一致しない状況に対して、スイッチ装置が非アクティブ状態にあると初期設定される。これに基づき、本例では前記ＮＥＴＣＯＮＦセッションが正常であると確定するが、Ｏｐｅｎｆｌｏｗ接続が異常であり、即ちスイッチ装置とコントローラとの間のＯｐｅｎｆｌｏｗ接続とＮＥＴＣＯＮＦセッションの状態とが一致しないため、前記スイッチ装置が非アクティブ状態にあると確定する。
【００４１】
以上のように、通常の状況では、スイッチ装置とコントローラとの間のＯｐｅｎｆｌｏｗ接続と、ＮＥＴＣＯＮＦセッションの状態とが一致すべきである。これに基づき、Ｏｐｅｎｆｌｏｗ接続とＮＥＴＣＯＮＦセッションの状態とが一致しない場合に、例えばＯｐｅｎｆｌｏｗ接続が異常から正常に変化し、前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合、又は、前記Ｏｐｅｎｆｌｏｗ接続が正常から異常に変化し、前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合に、ＮＥＴＣＯＮＦセッションを再確立するように前記ＮＥＴＣＯＮＦセッションを閉じることができ、それによりＯｐｅｎｆｌｏｗ接続とＮＥＴＣＯＮＦセッションの状態をできる限り一致することができる。
【００４２】
Ｏｐｅｎｆｌｏｗ接続異常は物理リンク異常、又はＯｐｅｎｆｌｏｗ接続のエンドデバイス異常等であってもよいが、本願では具体的に制限しない。ここでの物理リンクは、Ｏｐｅｎｆｌｏｗ接続と、ＮＥＴＣＯＮＦセッション状態の検出を実行するためのＮＥＴＣＯＮＦセッションとを実行することができる。
【００４３】
一実施例として、スイッチ装置が非アクティブ状態にあると確定する場合、前記スイッチ装置に構成を送信することを禁止することができる。
【００４４】
一実施例として、前記スイッチ装置がアクティブ状態にあると確定する場合、前記スイッチ装置に構成を送信することができる。
【００４５】
以下、１つの具体的な実施例によって図１に示されるプロセスを説明する。
【００４６】
図２に示すように、図２は本願に係る図１に示される方法の応用ネットワークの模式図である。図２に示されるネットワークはコントローラ２１０及びスイッチ２２０を備える。コントローラ２１０及びスイッチ２２０がいずれもＯｐｅｎｆｌｏｗをサポートする。コントローラ２１０がスイッチ２２０を制御および管理することに用いられる。図２に、例として１つのスイッチ２２０のみを示す。
【００４７】
図２に示すように、コントローラ２１０がＮＥＴＣＯＮＦクライアントとしてスイッチ２２０（ＮＥＴＣＯＮＦサービス側とする）にＮＥＴＣＯＮＦプロトコルにおけるｈｅｌｌｏパケットを送信し、ｈｅｌｌｏパケットにユーザー名とパスワードを含む。
【００４８】
スイッチ２２０は、ｈｅｌｌｏパケットを受信した後、ｈｅｌｌｏパケットに含まれるユーザー名とパスワードを認証する。認証に成功した場合、コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションの確立に成功したことを意味し、スイッチ２２０が認証トークンをコントローラ２１０に返す。
【００４９】
コントローラ２１０は、スイッチ２２０によって返された認証トークンを受信して保存し、Ｏｐｅｎｆｌｏｗ構成をＮＥＴＣＯＮＦメッセージに含ませて、スイッチ２２０に送信する。
【００５０】
スイッチ２２０は、受信されたＮＥＴＣＯＮＦメッセージにおけるＯｐｅｎｆｌｏｗ構成に基づいてローカルでＯｐｅｎｆｌｏｗインスタンスを確立し、Ｏｐｅｎｆｌｏｗ構成に含まれるコントローラ２１０のＩＰアドレスに基づいてコントローラ２１０にＯｐｅｎｆｌｏｗプロトコルにおけるｈｅｌｌｏパケットを送信する。スイッチ２２０によって送信されたｈｅｌｌｏパケットに、スイッチ２２０によってサポートされるＯｐｅｎｆｌｏｗプロトコルバージョンを含む。
【００５１】
コントローラ２１０がスイッチ２２０によって送信されたｈｅｌｌｏパケットを受信すると、本コントローラ２１０によってサポートされるＯｐｅｎｆｌｏｗプロトコルバージョンが該ｈｅｌｌｏパケットに含まれるスイッチ２２０によってサポートされるＯｐｅｎｆｌｏｗプロトコルバージョンとマッチング（同じ又は互換）すれば、コントローラ２１０及びスイッチ２２０によってサポートされるＯｐｅｎｆｌｏｗプロトコルバージョンの交渉に成功したことを意味し、このような場合に、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が確立しており、通常に実行できる。
【００５２】
コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が確立しており、通常に実行できる場合、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が未使用状態から通常使用状態に変化したと見なされる。
【００５３】
コントローラ２１０とスイッチ２２０との間にＯｐｅｎｆｌｏｗ接続が確立している後、ＴＣＰのハートビート保護メカニズムに基づいてコントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続を検出することができ、具体的には以下のとおりである。
【００５４】
最初のＯｐｅｎｆｌｏｗ接続検出周期において、コントローラ２１０はスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続によってスイッチ２２０へＯｐｅｎｆｌｏｗプロトコルにおけるｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを送信することができる。スイッチ２２０は該ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを受信した後、コントローラ２１０との間のＯｐｅｎｆｌｏｗ接続によってコントローラ２１０へｅｃｈｏ  Ｒｅｐｌｙパケットを返すことができる。コントローラ２１０が設定時間内にスイッチ２２０によって返されたｅｃｈｏ  Ｒｅｐｌｙパケットを受信したと、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常であると確定する。このような場合、この前にＯｐｅｎｆｌｏｗ接続を確立することはＯｐｅｎｆｌｏｗ接続が正常であることに相当するため、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常を維持し、つまり、状態が変化しないと確定することができる。
【００５５】
逆に、最初のＯｐｅｎｆｌｏｗ接続検出周期において、コントローラ２１０が設定時間内にスイッチ２２０によって返されたｅｃｈｏ  Ｒｅｐｌｙパケットを受信していないと、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常であると確定する。このような場合、この前にＯｐｅｎｆｌｏｗ接続を確立することはＯｐｅｎｆｌｏｗ接続が正常であることに相当するため、この時、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常であると確定する場合、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常から異常に変化したと確定することに相当し、以下の図４に示されるプロセスを実行することができる。
【００５６】
最初以外のＯｐｅｎｆｌｏｗ接続検出周期において、コントローラ２１０はスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続によってスイッチ２２０へＯｐｅｎｆｌｏｗプロトコルにおけるｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを送信することができる。スイッチ２２０は該ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを受信した後、コントローラ２１０との間のＯｐｅｎｆｌｏｗ接続によってコントローラ２１０へｅｃｈｏ  Ｒｅｐｌｙパケットを返すことができる。コントローラ２１０が設定時間内にスイッチ２２０によって返されたｅｃｈｏ  Ｒｅｐｌｙパケットを受信したと、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常であると確定する。このような場合、この前のＯｐｅｎｆｌｏｗ接続検出周期において本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常であると検出したと、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常を維持し、つまり、状態が変化しないと確定することができる。一方、この前のＯｐｅｎｆｌｏｗ接続検出周期において本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常であると検出したと、この時、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常から正常に変化したと確定することができる。
【００５７】
逆に、最初以外のＯｐｅｎｆｌｏｗ接続検出周期において、コントローラ２１０が設定時間内にスイッチ２２０によって返されたｅｃｈｏ  Ｒｅｐｌｙパケットを受信していないと、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常であると確定する。このような場合、この前のＯｐｅｎｆｌｏｗ接続検出周期において本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常であると検出したと、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常を維持し、つまり、状態が変化しないと確定することができる。一方、この前のＯｐｅｎｆｌｏｗ接続検出周期において本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常であると検出したと、この時、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常から異常に変化したと確定することができる。
【００５８】
コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常から正常に変化したと確定する場合、以下の図３に示されるプロセスを実行することができる。一方、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常から異常に変化したと確定する場合、以下の図４に示されるプロセスを実行することができる。
【００５９】
図３に示されるプロセスは、コントローラ２１０が、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が異常から正常に変化したと確定する際に実行されるものであり、具体的には以下のとおりである。
【００６０】
ステップ３０１では、コントローラ２１０とスイッチ２２０との間にＨＴＴＰＳ接続を確立する。
【００６１】
ステップ３０２では、コントローラ２１０は、ＮＥＴＣＯＮＦセッションの確立時に取得された記憶された認証トークンをＮＥＴＣＯＮＦプロトコルにおけるｇｅｔ−ｓｅｓｓｉｏｎｓメッセージに含ませ、ＨＴＴＰＳ接続によってｇｅｔ−ｓｅｓｓｉｏｎｓメッセージをＳＯＡＰパケットのＢＯＤＹ要素として送信する。
【００６２】
ステップ３０３では、スイッチ２２０は、ＳＯＡＰパケットを受信した後、ＳＯＡＰパケットにおけるｇｅｔ−ｓｅｓｓｉｏｎｓメッセージに含まれる認証トークンを認証する。認証に成功した場合、スイッチ２２０は、上記ＨＴＴＰＳ接続によって、本スイッチ２２０とコントローラ２１０との間のＮＥＴＣＯＮＦセッションが現在正常であることに関するＮＥＴＣＯＮＦセッション情報をコントローラ２１０に返す。
【００６３】
一実施例として、上記ステップ３０３では、ＨＴＴＰＳ接続によって、本スイッチ２２０とコントローラ２１０との間のＮＥＴＣＯＮＦセッションが現在正常であることに関するＮＥＴＣＯＮＦセッション情報をコントローラ２１０に返すことは、具体的に、スイッチ２２０がＮＥＴＣＯＮＦセッション情報をＮＥＴＣＯＮＦプロトコルにおける応答（ｒｐｃ−ｒｅｐｌｙ）メッセージに含ませ、ＨＴＴＰＳ接続によってｒｐｃ−ｒｅｐｌｙメッセージをＳＯＡＰパケットのＢＯＤＹ要素としてコントローラ２１０に送信することであってもよい。
【００６４】
コントローラ２１０に返されるＮＥＴＣＯＮＦセッション情報の具体的なコンテンツは、本願では制限されないが、当業者が実際の必要に応じて設定してもよい。
【００６５】
ステップ３０４では、コントローラ２１０は、所定の時間内にスイッチ２２０によって返されたＮＥＴＣＯＮＦセッション情報を受信したと、本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが正常であると確定する。このような場合、スイッチ２２０がアクティブ状態にあると確定することができる。
【００６６】
ステップ３０５では、コントローラ２１０は、所定時間内にスイッチ２２０によって返されたＮＥＴＣＯＮＦセッション情報を受信していないと、本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが異常であると確定する。このような場合、スイッチ２２０が非アクティブ状態にあると確定することができる。
【００６７】
以上の説明によれば、図３に示されるプロセスはＯｐｅｎｆｌｏｗ接続が異常から正常に変化する際に実行されるものであり、このように、ステップ３０５では、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが異常であると確定する場合、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続の状態と、ＮＥＴＣＯＮＦセッションの状態とが一致しないことを意味する。該一致しない状況に対して、以上のように、ＮＥＴＣＯＮＦセッションを閉じることにより、ＮＥＴＣＯＮＦセッションを再確立することができる。
【００６８】
ここで、図３に示されるプロセスを完了する。
【００６９】
図４に示されるプロセスは、コントローラ２１０が、本コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続が正常から異常に変化したと確定する際に実行されるものであり、具体的に以下を含んでもよい。
【００７０】
ステップ４０１では、コントローラ２１０とスイッチ２２０との間にＨＴＴＰＳ接続を確立する。
【００７１】
ステップ４０２では、コントローラ２１０は、ＮＥＴＣＯＮＦセッションの確立時に取得された記憶された認証トークンをＮＥＴＣＯＮＦプロトコルにおけるｇｅｔ−ｓｅｓｓｉｏｎｓメッセージに含ませ、ＨＴＴＰＳ接続によってｇｅｔ−ｓｅｓｓｉｏｎｓメッセージをＳＯＡＰパケットのＢＯＤＹ要素として送信する。
【００７２】
ステップ４０３では、スイッチ２２０はＳＯＡＰパケットを受信した後、ＳＯＡＰパケットにおけるｇｅｔ−ｓｅｓｓｉｏｎｓメッセージに含まれる認証トークンを認証する。認証に成功した場合、上記ＨＴＴＰＳ接続によって本スイッチ２２０とコントローラ２１０との間のＮＥＴＣＯＮＦセッションが現在正常であることに関するＮＥＴＣＯＮＦセッション情報をコントローラ２１０に返す。
【００７３】
一実施例として、上記ステップ４０３では、ＨＴＴＰＳ接続によって本スイッチ２２０とコントローラ２１０との間のＮＥＴＣＯＮＦセッションが現在正常であることに関するＮＥＴＣＯＮＦセッション情報をコントローラ２１０に返すことは、具体的に、スイッチ２２０がＮＥＴＣＯＮＦセッション情報をＮＥＴＣＯＮＦプロトコルにおけるＲｐｃ−ｒｅｐｌｙメッセージに含ませ、ＨＴＴＰＳ接続によってＲｐｃ−ｒｅｐｌｙメッセージをＳＯＡＰパケットのＢＯＤＹ要素としてコントローラ２１０に送信することであってもよい。
【００７４】
コントローラに返されたＮＥＴＣＯＮＦセッション情報の具体的なコンテンツは、本願では制限されないが、当業者が実際の必要に応じて設定してもよい。
【００７５】
ステップ４０４では、コントローラ２１０は、設定時間内にスイッチ２２０によって返されたＮＥＴＣＯＮＦセッション情報を受信したと、本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが正常であると確定する。このような場合、スイッチ２２０が非アクティブ状態にあると確定することができる。
【００７６】
ステップ４０５では、コントローラ２１０は、設定時間内にスイッチ２２０によって返されたＮＥＴＣＯＮＦセッション情報を受信していないと、本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが異常であると確定する。このような場合、スイッチ２２０が非アクティブ状態にあると確定することができる。
【００７７】
図４に示されるプロセスはＯｐｅｎｆｌｏｗ接続が正常から異常に変化する際に実行されるものであるため、このように、ステップ４０４では、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが正常であると確定する場合、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続の状態と、ＮＥＴＣＯＮＦセッションの状態が一致しないことを意味する。従って、該一致しない状況に対して、ＮＥＴＣＯＮＦセッションを閉じることにより、ＮＥＴＣＯＮＦセッションの再確立の操作を実行することができる。
【００７８】
以上の説明によれば、図４に示されるプロセスはＯｐｅｎｆｌｏｗ接続が正常から異常に変化する際に実行されるものであり、このように、ステップ４０５では、コントローラ２１０は本コントローラ２１０とスイッチ２２０との間のＮＥＴＣＯＮＦセッションが異常であると確定する場合、コントローラ２１０とスイッチ２２０との間のＯｐｅｎｆｌｏｗ接続の状態と、ＮＥＴＣＯＮＦセッションの状態が一致することを意味する。該一致する状況に対して、Ｏｐｅｎｆｌｏｗ接続を検出し続けて、前記Ｏｐｅｎｆｌｏｗ接続が異常から正常に変化すると検出した場合、上記の図３に示されるプロセスを実行する。
【００７９】
ここで、図４に示されるプロセスを完了する。
【００８０】
図５に示すように、図５は本願に係る装置の構造図である。該装置はＯｐｅｎｆｌｏｗをサポートするコントローラに適用される。該装置はコントローラに適用されるとき、前記コントローラとスイッチ装置との間にＮＥＴＣＯＮＦセッションが確立している。図５に示すように、該装置はＯｐｅｎｆｌｏｗモジュール５０１及びＮＥＴＣＯＮＦモジュール５０２を備える。
【００８１】
Ｏｐｅｎｆｌｏｗモジュール５０１は、前記コントローラと前記スイッチ装置との間のオープンフローＯｐｅｎｆｌｏｗ接続を検出し、前記Ｏｐｅｎｆｌｏｗ接続の状態が変化したと検出する場合、通知をＮＥＴＣＯＮＦモジュール５０２に送信するためのものである。
【００８２】
ＮＥＴＣＯＮＦモジュール５０２は、Ｏｐｅｎｆｌｏｗモジュール５０１から受信した通知に応答して、前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットを前記スイッチ装置に送信するためのものである。そして、所定の時間内に前記セッション情報を取得していない場合、ＮＥＴＣＯＮＦモジュール５０２は前記ＮＥＴＣＯＮＦセッションが異常であると確定するが、所定の時間内に前記セッション情報を取得した場合、ＮＥＴＣＯＮＦモジュール５０２は前記ＮＥＴＣＯＮＦセッションが正常であると確定する。
【００８３】
一実施例として、前記ＮＥＴＣＯＮＦモジュール５０２は前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合、前記スイッチ装置が非アクティブ状態にあると確定する。
【００８４】
一実施例として、前記ＮＥＴＣＯＮＦモジュール５０２は前記Ｏｐｅｎｆｌｏｗ接続が異常から正常に変化し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置がアクティブ状態にあると確定する一方、前記Ｏｐｅｎｆｌｏｗ接続が正常から異常に変化し、且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記スイッチ装置が非アクティブ状態にあると確定する。
【００８５】
一実施例として、前記ＮＥＴＣＯＮＦモジュール５０２は前記Ｏｐｅｎｆｌｏｗ接続が異常から正常に変化し且つ前記ＮＥＴＣＯＮＦセッションが異常であると確定する場合、又は、前記Ｏｐｅｎｆｌｏｗ接続が正常から異常に変化し且つ前記ＮＥＴＣＯＮＦセッションが正常であると確定する場合、前記ＮＥＴＣＯＮＦセッションを閉じることにより、ＮＥＴＣＯＮＦセッションを再確立する。
【００８６】
一実施例として、前記ＮＥＴＣＯＮＦモジュール５０２が前記ＮＥＴＣＯＮＦセッションのセッション情報を取得するためのパケットをスイッチ装置に送信することは、前記ＮＥＴＣＯＮＦモジュール５０２が前記ＮＥＴＣＯＮＦセッションの確立時に取得された認証トークンをＮＥＴＣＯＮＦパケットに含ませ、前記ＮＥＴＣＯＮＦパケットをシンプル・オブジェクト・アクセス・プロトコルＳＯＡＰパケットに含ませることと、本コントローラと前記スイッチ装置との間にＨＴＴＰＳ接続を確立し、ＨＴＴＰＳ接続によって前記ＳＯＡＰパケットを前記スイッチ装置に送信することにより、前記スイッチ装置が前記認証トークンに基づいて前記ＮＥＴＣＯＮＦセッションのセッション情報を前記コントローラに返すようにトリガーすることとを含む。
【００８７】
ここで、図５に示される装置の説明を完了する。
【００８８】
それに対応して、本願は図５に示される装置のハードウェア構造図を更に提供する。図６に示すように、該ハードウェア構造はプロセッサ６０１と、機械実行可能な命令を記憶している機械読取可能な記憶媒体６０２とを備える。プロセッサ６０１及び機械読取可能な記憶媒体６０２がシステムバス６０３を介して通信できる。そして、プロセッサ６０１は、機械読取可能な記憶媒体６０２におけるＮＥＴＣＯＮＦセッション状態検出ロジックに対応する機械実行可能な命令を読み取って実行することにより、以上に説明されたＮＥＴＣＯＮＦセッション状態の検出方法を実行することができる。
【００８９】
本明細書に言及した機械読取可能な記憶媒体６０２は例えば実行可能な命令やデータ等の情報を包含又は記憶できるいかなる電子、磁気、光又は他の物理記憶装置であってもよい。例えば、機械読取可能な記憶媒体はＲＡＭ（Ｒａｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えば、ハードディスクドライブ）、ソリッドステートドライブ、いかなるタイプのメモリディスク（例えば、光ディスクやＤＶＤ等）、又は類似する記憶媒体、又はそれらの組み合わせであってもよい。
【００９０】
ここで、図６に示されるハードウェア構造の説明を完了する。
【００９１】
本願では、もうひとつの実施形態として、例えば図６における機械読取可能な記憶媒体６０２のようなコンピュータに実行可能な命令を含むコンピュータ読取可能な記録媒体を更に提供される。この実施形態によれば、前記コンピュータに実行可能な命令がＮＥＴＣＯＮＦセッション状態の検出装置におけるプロセッサ６０１によって実行されることにより、以上に説明されたＮＥＴＣＯＮＦセッション状態の検出方法が実現する。
【００９２】
具体的に、コンピュータに読取可能な記録媒体におけるＮＥＴＣＯＮＦセッション状態検出ロジックに対応するコンピュータに実行可能な命令を呼び出して実行することにより、プロセッサ６０１は以上のＮＥＴＣＯＮＦセッション状態の検出方法における操作を実行する。
【００９３】
以上の説明は本願の実施例であって、本願を制限するためのものではなく、本願の趣旨及び原則内になされたいかなる修正、等価代替、改良等は、いずれも本願の保護範囲内に含まれるべきである。
【図１】
0006931781.tif 000002
【図１Ａ】
0006931781.tif 000003
【図１Ｂ】
0006931781.tif 000004
【図２】
0006931781.tif 000005
【図３】
0006931781.tif 000006
【図４】
0006931781.tif 000007
【図５】
0006931781.tif 000008
【図６】
0006931781.tif 000009