(57)【要約】【課題】制御装置と各転送ノードとを含む集中制御型ネットワークにおいて、特定の転送ノードに、処理規則が集中して設定されないようにする。【解決手段】通信システムは、設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中して設定されないよう、前記複数の転送ノードの中から、処理規則を設定する転送ノードを選択する制御装置と、を含む。【選択図】図１
2014516215.tif 000002
【特許請求の範囲】
【請求項１】
設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと、
前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択する制御装置と、
を含む通信システム。
【請求項２】
前記制御装置は、前記ユーザ端末から近くに接続されている転送ノード、または、設定されている処理規則の数が最も少ない転送ノードを優先して前記処理規則の設定先に選択する請求項１の通信システム。
【請求項３】
前記制御装置は、設定されている処理規則の数が所定のしきい値以上である転送ノードを、前記処理規則の設定先から除外する請求項１または２の通信システム。
【請求項４】
前記転送ノード毎に、前記所定のしきい値を設定可能である請求項３の通信システム。
【請求項５】
前記制御装置は、前記処理規則の設定先候補となる転送ノードが複数ある場合、前記複数の転送ノードのうち、処理規則を設定できる余力が最も大きい転送ノードに、前記処理規則を設定する請求項１から４いずれか一の通信システム。
【請求項６】
前記制御装置は、前記ユーザ端末から近くに接続されている転送ノードのうち、設定されている処理規則の数が最も少ない転送ノードを優先して前記処理規則の設定先に選択する請求項１、３、４、５いずれか一の通信システム。
【請求項７】
前記制御装置は、さらに、前記各転送ノードの負荷状況を把握する手段を備え、負荷の高い転送ノードを前記処理規則の設定先から除外する請求項１から６いずれか一の通信システム。
【請求項８】
前記制御装置は、さらに、前記各転送ノードの負荷状況を把握する手段を備え、
負荷が低い転送ノードを優先して前記処理規則の設定先に選択する請求項１から６いずれか一の通信システム。
【請求項９】
前記制御装置は、さらに、前記各転送ノードに設定されている処理規則の数の平均値を算出し、該平均値より少ない処理規則の数が設定されている転送ノードを選択して処理規則を設定する請求項１から８いずれか一の通信システム。
【請求項１０】
前記制御装置は、さらに、前記各転送ノードに設定されている処理規則の数の平均値を算出し、該平均値より多い処理規則の数が設定されている転送ノードの処理規則を、該平均値より少ない処理規則の数が設定されている転送ノードへ移す請求項１から９いずれか一の通信システム。
【請求項１１】
さらに、通信ポリシを管理し、制御装置に対して、認証に成功したユーザに対応する通信ポリシを通知するポリシ管理装置を含み、
前記制御装置は、前記ポリシ管理装置から通知された通信ポリシに基づいて、
前記ユーザの端末と前記ユーザがアクセス可能な資源との間の最短経路上のいずれかの転送ノード、前記最短経路上の複数の転送ノード、または、前記最短経路上のすべての転送ノードに処理規則を設定する請求項１から１０いずれか一の通信システム。
【請求項１２】
前記制御装置は、さらに、前記最短経路上の転送ノードであって、前記ユーザの端末から最も近く、かつ、設定されている処理規則の数が所定のしきい値未満である転送ノードに、前記ユーザの端末から送出されたアクセス禁止先へのパケットを破棄する処理規則を設定する請求項１１の通信システム。
【請求項１３】
前記制御装置は、ユーザから指定された前記処理規則の設定先の選択規則に基づいて、前記処理規則を設定する転送ノードを選択する請求項１から１２いずれか一の通信システム。
【請求項１４】
設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続され、
前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択する制御装置。
【請求項１５】
設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続された制御装置が、
前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数を確認するステップと、
前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択し、該転送ノードに前記処理規則を設定するステップと、
を含む処理規則設定方法。
【請求項１６】
設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続された制御装置を構成するコンピュータに、
前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数を確認する処理と、
前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択し、該転送ノードに前記処理規則を設定する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１１−１２５９５４号（２０１１年６月６日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、処理規則設定方法およびプログラムに関し、特に、制御装置がネットワークに配置された転送ノードを集中制御する通信システム、制御装置、処理規則設定方法およびプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（特許文献１、非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、制御装置と位置付けられるオープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチングルール（ヘッダフィールド）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、の組が定義される（図１３参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルール（図１３のヘッダフィールド参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２３（２０１１）年５月２６日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［平成２３（２０１１）年５月２６日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。特許文献１に記載のオープンフローコントローラは、新規フロー発生時にポリシーファイルを参照してパーミッションチェックを行い、その後に、経路を計算することによりアクセス制御を行っている（特許文献１の［００５２］）。
【０００７】
特許文献１の構成の場合、オープンフロースイッチ等の数十台〜数百台の転送ノードで構成される比較的規模の大きなネットワークに、数千のユーザ端末やサーバ、データベースが接続されていることを想定すると、これらのユーザ端末と各種資源との間の通信を実現する大量のフローエントリ（処理規則）が必要となる。このとき、一部の転送ノードに設定されるフローエントリ（処理規則）の数が、当該転送ノードの許容量を超えてしまう可能性がある。また、特許文献１の構成の場合、個々の転送ノードの処理負荷が高くなってしまい、ネットワークの稼働に支障をきたす可能性もある。
【０００８】
すなわち、特許文献１の構成では、フローエントリ（処理規則）の設定先の管理ができていないという問題点がある。また、ネットワーク管理者などが人手で、これら大量のフローエントリ（処理規則）を転送ノードへ設定することは、非常に時間がかかり困難である。
【０００９】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、個々の転送ノードに処理規則が過度に集中しないよう、適切な転送ノードにフローエントリ（処理規則）を設定する通信システム、方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと、前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択する制御装置と、を含む通信システムが提供される。
【００１１】
本発明の第２の視点によれば、設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続され、前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択する制御装置が提供される。
【００１２】
本発明の第３の視点によれば、設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続された制御装置が、前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数を確認するステップと、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択し、該転送ノードに前記処理規則を設定するステップと、を含む処理規則設定方法が提供される。本方法は、転送ノードを制御する制御装置という、特定の機械に結びつけられている。
【００１３】
本発明の第４の視点によれば、設定された処理規則に従って、ユーザの端末から送信されたパケットを処理する複数の転送ノードと接続された制御装置を構成するコンピュータに、前記複数の転送ノードのうちのいずれかに設定可能な処理規則を設定する際に、前記各転送ノードに設定されている処理規則の数を確認する処理と、前記各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないよう、前記複数の転送ノードの中から、前記処理規則を設定する転送ノードを選択し、該転送ノードに前記処理規則を設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、複数の転送ノードのうちの特定の転送ノードに、処理規則が集中しないようにすることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】本発明の第１の実施形態の処理規則管理システムの構成を表した図である。
【図３】本発明の第１の実施形態の認証装置に保持される認証情報の一例である。
【図４】本発明の第１の実施形態の通信ポリシ記憶部に格納される通信ポリシ情報の一例である。
【図５】本発明の第１の実施形態のリソース情報記憶部に格納されるリソース情報の一例である。
【図６】本発明の第１の実施形態のポリシ管理装置から制御装置に通知される通信ポリシの一例である。
【図７】本発明の第１の実施形態の制御装置の詳細構成を表したブロック図である。
【図８】本発明の第１の実施形態の一連の動作を表したシーケンス図である。
【図９】本発明の第１の実施形態の制御装置による、処理規則の設定先の選択処理を説明するための図である。
【図１０】図９の各転送ノードについて設定されたしきい値の例である。
【図１１】本発明の第１の実施形態の制御装置による、処理規則の設定先の選択処理の流れを表わしたフローチャートである。
【図１２】本発明の第２の実施形態の制御装置による処理規則の設定先転送ノードの選択処理を説明するための図である。
【図１３】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。本発明は、図１に示したように、制御装置４００から設定された処理規則にしたがって、ユーザ端末１００から送信されたパケットを処理する転送ノード群２００と、通信ポリシを管理し、認証に成功したユーザに付与した通信ポリシを前記制御装置に通知するポリシ管理装置３００と、前記ポリシ管理装置３００から通知された通信ポリシに基づいて、ユーザ端末１００とアクセス先の機器（ネットワーク資源５００）までのアクセス可否を実現する処理規則を作成し、転送ノード群２００に該処理規則を設定する制御装置４００と、を含む構成にて実現できる。
【００１７】
より具体的には、制御装置４００は、ポリシ管理装置３００からの通信ポリシの受信をトリガとして、ユーザ端末１００とアクセス先の機器（ネットワーク資源５００）までのアクセス可否を実現する処理規則を作成する経路制御部４１０と、経路制御部４１０が作成した処理規則のうち、転送ノード群２００の複数の転送ノードに設定可能な処理規則について、各転送ノードに設定されている処理規則の数に基づいて特定の転送ノードに処理規則が集中しないよう設定先とする転送ノードを選択し、該転送ノードに前記処理規則を設定する転送ノード選択部４２０とを備える。
【００１８】
例えば、制御装置４００は、ポリシ管理装置３００から通知された通信ポリシに基づいて、ユーザ端末１００からネットワーク資源５００へのアクセスを禁止する場合、転送ノードＡと転送ノードＤのうち設定されている処理規則が少ない方の転送ノードに、ユーザ端末１００からネットワーク資源５００宛てのパケットを破棄する処理規則を、設定する。
【００１９】
同様に例えば、制御装置４００は、ポリシ管理装置３００から通知された通信ポリシに基づいて、ユーザ端末１００からネットワーク資源５００へのアクセスを許可する場合、転送ノードＢと転送ノードＣのうち、設定されている処理規則が少ない方の転送ノードを経由するパケット転送経路を設定し、該経路上の転送ノードに、ユーザ端末１００からネットワーク資源５００宛てのパケットを転送させる処理規則を設定する。
【００２０】
以上により、処理規則の設定先が一箇所のノードに偏らないよう処理規則の設定することができる。
【００２１】
なお、図１の例では、制御装置４００は、ポリシ管理装置３００からの通信ポリシの受信を契機として、処理規則を設定しているが、ユーザ端末１００からパケットを受信した転送ノードＡ２０１などからの処理規則の設定要求を契機として、処理規則の作成、設定を行うようにしてもよい。また、その際に、制御装置４００が、ポリシ管理装置３００に対し、該当ユーザの通信ポリシを要求する構成とすることも可能である。
【００２２】
また、処理規則には、有効期限を設け、転送ノード２０１〜２０４に設定されてから、または、最後に照合規則に適合するパケットを受信してから前記有効期限が経過した場合に、当該処理規則を削除するようにしてもよい。
【００２３】
［第１の実施形態］
続いて、本発明の第１の実施形態について、図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の処理規則管理システムの構成を表した図である。図２を参照すると、複数の転送ノード２０１〜２０４と、これら転送ノードに処理規則を設定する制御装置４００と、制御装置４００に通信ポリシを通知するポリシ管理装置３００と、ポリシ管理装置３００に認証結果を示す認証情報を提供する認証装置３３０と、を含んだ構成が示されている。
【００２４】
転送ノード２０１〜２０４は、受信パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理内容とを対応付けた処理規則にしたがって、受信パケットを処理するスイッチング装置である。このような転送ノード２０１〜２０４としては、図１３に示すフローエントリを処理規則として用いて動作する非特許文献２のオープンフロースイッチを用いることもできる。
【００２５】
また、転送ノード２０４には、ネットワーク資源５００Ａ、５００Ｂが接続されており、ユーザ端末１００は、転送ノード２０１〜２０４を介して、ネットワーク資源５００Ａ、５００Ｂと通信可能となっている。以下の実施形態では、ネットワーク資源５００Ａとネットワーク資源５００Ｂとはそれぞれ異なるリソースグループに属し、それぞれリソースグループＩＤとしてｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１、ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００２が付与されているものとする。
【００２６】
認証装置３３０は、パスワードや生体認証情報等を用いてユーザ端末１００とユーザ認証手続を行なう認証サーバ等である。認証装置３３０は、ポリシ管理装置３００にユーザ端末１００とのユーザ認証手続の結果を示す認証情報を送信する。
【００２７】
図３は、本実施形態の認証装置３３０に保持される認証情報の一例である。例えば、ユーザＩＤがｕｓｅｒ１であるユーザの認証に成功した場合、認証装置３３０は、ポリシ管理装置３００に対し、ｕｓｅｒ１、ＩＰアドレス：１９２．１６８．１００．１、ＭＡＣアドレス：００−００−００−４４−５５−６６という属性、ロールＩＤ：ｒｏｌｅ＿０００１、ｒｏｌｅ＿０００２というｕｓｅｒ１のエントリを認証情報として送信する。同様に、ユーザＩＤがｕｓｅｒ２であるユーザの認証に成功した場合、ポリシ管理装置３００に対し、ｕｓｅｒ２、ＩＰアドレス：１９２．１６８．１００．２、ＭＡＣアドレス：００−００−００−７７−８８−９９という属性、ロールＩＤ：ｒｏｌｅ＿０００２というｕｓｅｒ２のエントリを認証情報として送信する。
【００２８】
なお、前記認証情報は、ポリシ管理装置３００が該当ユーザに付与されている通信ポリシを決定可能な情報であればよく、図３の例に限定するものではない。例えば、認証に成功したユーザのユーザＩＤや当該ユーザＩＤから導出したロールＩＤ、ＭＡＣアドレス等のアクセスＩＤ、ユーザ端末１００の位置情報、あるいは、これらの組み合わせを認証情報として用いることができる。また、認証装置３３０が、認証情報として、認証に失敗したユーザの情報をポリシ管理装置３００に送信し、ポリシ管理装置３００が当該ユーザからのアクセスを制限する通信ポリシを制御装置４００に送信するようにしてもよい。
【００２９】
ポリシ管理装置３００は、通信ポリシ記憶部３１０、リソース情報記憶部３２０と接続され、認証装置３３０から受信した認証情報に対応する通信ポリシを決定し、制御装置４００に送信する装置である。
【００３０】
図４は、通信ポリシ記憶部３１０に格納される通信ポリシ情報の一例である。図４の例では、ロールＩＤにて識別されるロール毎に、リソースのグループに与えられたリソースグループＩＤと、アクセス権限を設定した通信ポリシ情報が示されている。例えば、ロールＩＤ：ｒｏｌｅ＿０００１を持つユーザは、リソースグループＩＤ：ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１、ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００２の双方へのアクセスが許可されている。他方、ロールＩＤ：ｒｏｌｅ＿０００２のユーザは、リソースグループＩＤ：ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１へのアクセスは禁止され、ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００２へのアクセスが許可されている。
【００３１】
図５は、リソース情報記憶部３２０に格納されるリソース情報の一例である。図５の例では、上記したリソースグループＩＤに属するリソースのリソースＩＤやその詳細属性を対応付けた内容となっている。例えば、リソースグループＩＤ：ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１で特定されるグループには、ｒｅｓｏｕｒｃｅ＿０００１、ｒｅｓｏｕｒｃｅ＿０００２、ｒｅｓｏｕｒｃｅ＿０００３を持つリソースが含まれ、それぞれのＩＰアドレスやＭＡＣアドレスやサービスに利用するポート番号などを特定できるようになっている。上記のような通信ポリシ情報およびリソース情報を参照して、ポリシ管理装置３００は、認証装置３３０にて認証を受けたユーザの通信ポリシを決定し、制御装置４００に通知する。例えば、ポリシ管理装置３００は、認証装置３３０から受信した認証情報に含まれるロールＩＤにて、図４のポリシ情報から該当するロールＩＤに紐付けられたリソースグループＩＤとそのアクセス権限の内容を特定する。そして、ポリシ管理装置３００は、図５のリソース情報からリソースグループＩＤに属するリソースの情報を用いて通信ポリシを作成する。
【００３２】
図６は、図３、図４、図５に示した情報から作成されるユーザＩＤ：ｕｓｅｒ１を持つユーザの通信ポリシである。図６の送信元フィールドには、図３の認証情報のユーザＩＤ：ｕｓｅｒ１の属性情報の値が設定されている。また、宛先フィールドには、図４のポリシ情報のロールＩＤ：ｒｏｌｅ＿０００１の内容を元に図５のリソース情報から抽出したリソース属性が設定されている。また、アクセス権限フィールドには、図４のポリシ情報のロールＩＤ：ｒｏｌｅ＿０００１のアクセス権限と同じ値が設定されている。また、条件（オプション）フィールドには、図５のリソース情報のリソース属性フィールドに設定されていたサービスとポート番号が設定されている。
【００３３】
制御装置４００は、ポリシ管理装置３００から送信される上記のような通信ポリシを用いて、ユーザに付与されたアクセス権限に対応するアクセス範囲を実現する処理規則を作成し、転送ノードに処理規則を設定する。
【００３４】
図７は、本実施形態の制御装置４００の詳細構成を表したブロック図である。図７を参照すると、制御装置４００は、転送ノード２０１〜２０４との通信を行うノード通信部１１と、制御メッセージ処理部１２と、処理規則管理部１３と、処理規則記憶部１４と、転送ノード管理部１５と、経路・アクション計算部１６と、トポロジ管理部１７と、端末位置管理部１８と、通信ポリシ管理部１９と、通信ポリシ記憶部２０と、を備えて構成される。これらはそれぞれ次のように動作する。
【００３５】
制御メッセージ処理部１２は、転送ノードから受信した制御メッセージを解析して、制御装置４００内の該当する処理手段に制御メッセージ情報を引き渡す。
【００３６】
処理規則管理部１３は、どの転送ノードにどのような処理規則が設定されているかを管理する。具体的には、経路・アクション計算部１６にて作成された処理規則を処理規則記憶部１４に登録し、転送ノードに設定すると共に、転送ノードからの処理規則削除通知などにより、転送ノードにて設定された処理規則に変更が生じた場合にも対応して処理規則記憶部１４の登録情報をアップデートする。
【００３７】
転送ノード管理部１５は、制御装置４００によって制御されている転送ノードの能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。また、転送ノード管理部１５には、各転送ノード毎について設定された処理規則の設定先選択用しきい値が保持される。
【００３８】
経路・アクション計算部１６は、上記した経路制御部４１０として動作し、通信ポリシ管理部１９から通信ポリシを受信すると、まず、当該通信ポリシに従い、トポロジ管理部１７に保持されているネットワークトポロジを参照し、当該ユーザがアクセス可能な範囲のネットワーク資源への経路を作成し、当該経路に従ったパケット転送を実現する処理規則を作成する。そして、経路・アクション計算部１６は、処理規則管理部１３を介して、前記作成した処理規則を、前記経路上の転送ノードに設定する。
【００３９】
具体的には、経路・アクション計算部１６は、端末位置管理部１８にて管理されているユーザ端末の位置情報とトポロジ管理部１７にて構築されたネットワークトポロジ情報に基づいて、パケットの転送経路を計算する。次に、経路・アクション計算部１６は、転送ノード管理部１５から、前記転送経路上の転送ノードのポート情報等を取得して、前記計算した転送経路を実現するために経路上の転送ノードに実行させるアクションと、当該アクションを適用するフローを特定するための照合規則を求める。なお、前記照合規則は、図６の通信ポリシの送信元ＩＰアドレス、宛先ＩＰアドレス、条件（オプション）等を用いて作成することができる。従って、図６の通信ポリシの１番目のエントリの場合、送信元ＩＰアドレス１９２．１６８．１００．１から宛先ＩＰアドレス１９２．１６８．０．１に宛てられたパケットを、次ホップとなる転送ノードやネットワーク資源５００Ａ、５００Ｂが接続されたポートから転送させるアクションを定めた各処理規則が作成される。なお、上記処理規則の設定の前に、制御装置４００への処理規則の設定要求を許可する処理規則だけを設定し、その後に、ユーザ端末がアクセス権を有しているリソースへのパケット転送を実現する処理規則を作成するようにしてもよい。
【００４０】
さらに、本実施形態の経路・アクション計算部１６は、上記した転送ノード選択部４２０として動作し、前記作成した処理規則のうち特定の転送ノードに設定することを要しない処理規則、即ち、複数の転送ノードに設定可能な処理規則について、当該処理規則の設定先を選択する。具体的には、経路・アクション計算部１６は、ユーザ端末との距離や各転送ノードに設定されている処理規則の数に基づいて、特定の転送ノードに処理規則が集中しないように、処理規則を設定する転送ノードを選択し、前記選択した転送ノードに、処理規則管理部１３を介して前記処理規則を設定する。その具体例は、後に図９〜図１１を参照して説明する。
【００４１】
トポロジ管理部１７は、ノード通信部１１を介して収集された転送ノード２０１〜２０４の接続関係に基づいてネットワークトポロジ情報を構築する。
【００４２】
端末位置管理部１８は、通信システムに接続しているユーザ端末の位置を特定するための情報を管理する。本実施形態では、ユーザ端末を識別する情報としてＩＰアドレスを、ユーザ端末の位置を特定するための情報として、ユーザ端末が接続している転送ノードの転送ノード識別子とそのポートの情報を使用するものとして説明する。もちろん、これらの情報に代えて、例えば、認証装置３３０からもたらされる情報等を用いて、端末とその位置を特定するものとしても良い。
【００４３】
通信ポリシ管理部１９は、ポリシ管理装置３００から通信ポリシ情報を受信すると、通信ポリシ記憶部２０に格納するとともに、経路・アクション計算部１６に送信する。
【００４４】
以上のような制御装置４００は、非特許文献１、２のオープンフローコントローラをベースに、上記した通信ポリシの受信を契機とした処理規則（フローエントリ）の作成機能および処理規則の設定先（転送ノード）の選択機能を追加することでも実現できる。
【００４５】
なお、図７に示した制御装置４００の各部（処理手段）は、制御装置４００を構成するコンピュータに、そのハードウェアを用いて、上記した各情報を記憶し、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図８は、本実施形態の一連の動作を表したシーケンス図である。図８を参照すると、まず、ユーザ端末が、認証装置３３０にログイン要求すると、認証装置３３０へのパケット転送が行われる（図８のＳ１０１）。認証装置３３０はユーザ認証を行い（図８のＳ１０２）、ユーザ端末の認証情報をポリシ管理装置３００へ送信する（図８のＳ１０３）。
【００４７】
ポリシ管理装置３００は、受信した認証情報に基づいて通信ポリシ記憶部３１０と、リソース情報記憶部３２０とを参照して通信ポリシを決定し（図８のＳ１０４）、その結果を制御装置４００へ送信する（図８のＳ１０５）。制御装置４００は、ポリシ管理装置３００から通知された、ユーザ端末の通信ポリシに基づいてユーザ端末とネットワーク資源との間の経路と処理規則を作成する（図８のＳ１０６）。
【００４８】
さらに、制御装置４００は、前記生成した処理規則のうち、複数の転送ノードに設定可能なものについて、設定先の転送ノードを選択し（図８のＳ１０７）、該転送ノードへ処理規則を設定する（図８のＳ１０８）。
【００４９】
その後、ユーザ端末１００が前記処理規則が設定された転送ノードへパケットを送出すると、各転送ノードは制御装置４００によって設定された処理規則に従ってパケット転送の判定を行う。ネットワーク資源へのアクセスを許可する場合、転送ノードは該当するネットワーク資源へパケットを転送する。一方、転送ノードは設定された処理規則に従ってネットワーク資源へのアクセスを拒否する場合、該当するパケットを破棄する（図８には図示せず）。
【００５０】
ここで、上記ステップＳ１０７における処理規則の設定先の転送ノードの選択処理について図面を参照して詳細に説明する。また、以下の説明では、ポリシ管理装置３００から通知された通信ポリシに基づいて、図９に示すように接続された転送ノードＡ〜転送ノードＥの中から、ユーザ端末１００からのパケットを破棄する処理規則の設定先を選択する例を挙げて説明する。
【００５１】
図１０は、転送ノード管理部１５に保持された各転送ノード毎の処理規則の設定先選択用しきい値の例である。図１０を参照すると、転送ノードＡには、しきい値として「１０，０００」が設定されている。この場合、転送ノードＡが保持する処理規則の数が１００００以上である場合、当該転送ノードＡは、処理規則の設定先から除外される。また、前記各しきい値は、各転送ノードの仕様上の最大処理規則数や推奨される処理規則数を基準に設定してもよいし、転送ノードの負荷に応じて動的に変更されるようにしてもよい。さらに、前記各転送ノードに設定されるしきい値やその決定方法は、ユーザが任意のタイミングで自由に設定できる仕組みであってもよい。
【００５２】
続いて、転送ノード選択部４２０として動作する経路・アクション計算部１６が、図９に示す転送ノードＡ〜転送ノードＥの中から、処理規則の設定先を選択し、処理規則を選択するまでの処理の流れを説明する。
【００５３】
図１１は、経路・アクション計算部１６によって、あるユーザ端末１００からあるネットワーク資源へのパケットを破棄する処理規則が設定されるまでの流れを示すフローチャートである。
【００５４】
図１１を参照すると、経路・アクション計算部１６は、あるユーザ端末１００からあるネットワーク資源へのパケットを破棄する処理規則を生成すると、当該処理規則の設定先として、まず、当該ユーザ端末１００から最も近い転送ノードを選択する（図１１のＳ００１）。例えば、図９の例では、転送ノードＡ〜転送ノードＥの中から、ユーザ端末１００から最も近い転送ノードＡが選択される。ここで、「近い」とは、ユーザ端末１００からその転送ノードへの距離が、他の転送ノードとの距離や所定のしきい値と比較して短い（ホップ数が少ない）ことを指すものとするが、その他、各リンクの帯域やトラヒック状態等を考慮するようにしてもよい。
【００５５】
次に、経路・アクション計算部１６は、選択した転送ノードに現在設定されている処理規則の数が、当該転送ノードについて定められたしきい値以上であるか否かを確認する（図１１のＳ００２）。ここで、当該転送ノードに現在設定されている処理規則の数が前記しきい値未満である場合（図１１のＳ００２のいいえ）、当該転送ノードＡに処理規則が設定される（図１１のＳ００６）。
【００５６】
一方、前記選択した転送ノードに現在設定されている処理規則の数が前記しきい値以上である場合（図１１のＳ００２のはい）、経路・アクション計算部１６は、選択した転送ノードの次に、ユーザ端末１００から近い転送ノードを検索し（図１１のＳ００３）、それらの転送ノードが２個以上あるか否かを確認する（図１１のＳ００４）。例えば、図９の例では、転送ノードＡに現在設定されている処理規則の数は「１５，０００」であり、図１０の転送ノードＡのしきい値１０，０００以上である。この場合、ユーザ端末１００から次に近い転送ノードとして転送ノードＢ〜Ｄが、次位の処理規則の設定先候補として抽出される。
【００５７】
前記検索にて抽出された転送ノードが１つであった場合、経路・アクション計算部１６は、ステップＳ００２に戻って、当該転送ノードに現在設定されている処理規則の数と、当該転送ノードのしきい値とを比較する（ステップＳ００４のいいえ）。
【００５８】
一方、前記検索にて抽出された転送ノードが２以上ある場合（ステップＳ００４のはい）、経路・アクション計算部１６は、現在設定されている処理規則の数が少ない方の転送ノードを選択し（ステップＳ００５）、ステップＳ００２に戻って、当該転送ノードに現在設定されている処理規則の数と、当該転送ノードのしきい値とを比較する（ステップＳ００２へ）。
【００５９】
例えば、図９の例では、転送ノードＡの次に、ユーザ端末１００から近い転送ノードとして転送ノードＢ〜Ｄが検索される。この中で、現在設定されている処理規則の数が最も少ない転送ノードは転送ノードＢであるため、ステップＳ００５において転送ノードＢが選択される。そして、２回目のステップＳ００２では、転送ノードＢに現在設定されている処理規則の数６，０００と、図１０の転送ノードＢのしきい値５，０００との比較が行われる。
【００６０】
しかしながら、転送ノードＢも、図１０のしきい値以上の処理規則が設定されているため、ステップＳ００３に進み、転送ノードＢの次に、ユーザ端末１００から近い転送ノードとして転送ノードＣ、Ｄが検索される。転送ノードＣ、Ｄのうち、現在設定されている処理規則の数が最も少ない転送ノードは転送ノードＣであるため、ステップＳ００５において転送ノードＣが選択される。そして、３回目のステップＳ００２では、転送ノードＣに現在設定されている処理規則の数７，０００と、図１０の転送ノードＣのしきい値８，０００との比較が行われる。
【００６１】
前記比較の結果、転送ノードＣに設定されている処理規則の数は、図１０のしきい値未満であるため（ステップＳ００２のいいえ）、転送ノードＣが処理規則の設定先として選択され、ステップＳ００６にて処理規則が設定される。
【００６２】
以上のように、経路・アクション計算部１６は、各ユーザの通信ポリシが通知される度に、当該通信ポリシを実現する処理規則を作成し、そのうちの当該ユーザからのパケットを破棄する処理規則の設定先を選択する。これにより、例えば、図９のような複数の転送ノードの中から、ユーザ端末に最も近く、かつ、設定されている処理規則の数が所定のしきい値未満である転送ノード（例えば、図９の転送ノードＣ）に処理規則を配置することが可能となる。
【００６３】
このように本実施形態によれば、処理規則が特定の転送ノードに集中して設定されることを防ぐことができる。これによって、特定の転送ノードの処理負荷が過大となってしまうなどの問題も防ぐことができるようになる。
【００６４】
また、図１１のフローチャートのステップＳ００５では、設定されている処理規則の数が少ない方の転送ノードを選択するものとして説明したが、処理規則を設定できる余力が大きい転送ノードを選択するようにしてもよい。処理規則を設定できる余力は、例えば、当該転送ノードに設定可能な処理規則の数の最大値と、実際に設定されている処理規則の数の差から求めることができる。
【００６５】
［第２の実施形態］
続いて、各転送ノードに設定されている処理規則の数だけでなく、負荷も考慮して処理規則の設定先を選択するようにした本発明の第２の実施形態について説明する。以下、本発明の第２の実施形態は、上記した第１の実施形態と略同様の構成にて実現できるので、以下、その相違点を中心に説明する。
【００６６】
本実施形態の制御装置の転送ノード管理部１５には、各転送ノードから報告された負荷状態が保持されており、経路・アクション計算部１６は、これら各転送ノードの負荷状態も参照して、処理規則の設定先を選択する。なお、各転送ノードの負荷状態は、各転送ノードに、負荷状態計測部を設け、所定の時間間隔で報告させるようにしてもよいし、あるいは、制御装置４００が、各転送ノードの能力や、各転送ノードに流れるトラヒック量などから、推定するようにしてもよい。
【００６７】
例えば、図１２のように、転送ノードＡ〜Ｅに現在設定されている処理規則の数と、負荷状態（処理負荷率）とが得られている場合を考える。上記第１の実施形態では、経路・アクション計算部１６は、転送ノードＡ、Ｂ、Ｃの順に選択していき、最終的に転送ノードＣを処理規則の設定先として選択した。しかしながら、図１２のように、転送ノードＣの処理負荷率が９０％と（所定のしきい値と比較して）高い場合、経路・アクション計算部１６が、設定されている処理規則の数が図１０のしきい値未満（９，０００＜しきい値１０，０００）であり、かつ、（所定のしきい値と比較して）処理負荷率の低い（３０％）転送ノードＤを処理規則の設定先として選択するようにしてもよい。
【００６８】
このようにすることで、単純に設定されている処理規則の数だけではなく、個々の転送ノードの負荷状態も考慮して、処理規則の設定先を選択することが可能となる。
【００６９】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、制御装置４００、認証装置３３０、ポリシ管理装置３００、通信ポリシ記憶部３１０、リソース情報記憶部３２０をそれぞれ独立して設けるものとして説明したが、これらを適宜統合した構成も採用可能である。
【００７０】
また、上記した実施形態では、図３〜図６を示してユーザにロールＩＤを付与してアクセス制御を行うものとして説明したが、ユーザ毎に付与されているユーザＩＤや、ＭＡＣアドレス等のアクセスＩＤ、ユーザ端末１００の位置情報などを用いてアクセス制御を行うことも可能である。
【００７１】
また、上記した実施形態では、ユーザ端末１００が、転送ノード２００を介して、認証装置３３０と認証手続を行うものとして説明したが、ユーザ端末１００が直接認証装置３３０と通信し、認証手続を実施する構成も採用可能である。この場合、ユーザ端末１００からパケットを受信した転送ノード２０１などからの処理規則の設定要求を契機として、処理規則の作成、設定を行うようにすればよい。また、その際に、制御装置４００が、ポリシ管理装置３００に対し、該当ユーザの通信ポリシを要求する構成とすることも可能である。
【００７２】
また、上記した各実施形態では、転送ノード管理部１５に処理規則の設定先選択用しきい値が保持されているものとして説明したが、別の装置（例えば、設定情報記憶装置など）に、処理規則の設定先選択用しきい値を記憶させておき、制御装置４００が、この設定情報記憶装置から前記処理規則の設定先選択用しきい値を受け取り、それに基づき転送先ノードを選択するように構成してもよい。
【００７３】
また、上記した各実施形態では、転送ノード毎にしきい値を設けるものとして説明したが、各転送ノードの能力のバラツキが小さいなどの事情があれば、すべての転送ノードに共通のしきい値を適用するものとしてもよい。
【００７４】
また、上記した各実施形態では、まず、制御装置４００が、ユーザ端末１００から最も近い転送ノードを優先して処理規則を設定するものとして説明したが、設定されている処理規則の数が最も少ない転送ノードを優先して処理規則の設定先とする設定先選択ルールや、負荷の最も少ない転送ノードを優先して処理規則の設定先とする設定先選択ルールを採用することもできる。例えば、図９の例では、処理規則数が最も少ない転送ノードＥを処理規則の設定先に選択するようにしてもよい。同様に、図１２の例において、処理負荷率が最も低い転送ノードＥを処理規則の設定先に選択するようにしてもよい。また、転送ノードの処理負荷率は、刻一刻と変化するものであるため、制御装置４００が、常時、各転送ノードの処理負荷率を監視し、処理規則の設定先の転送ノードの選択の必要が生じた時点で、最も低い処理負荷率の転送ノードに処理規則を設定してもよい。さらに、制御装置４００が、処理規則数と処理負荷率の双方を考慮して処理規則の設定先を選択するようにしてもよい。
【００７５】
また、上記した実施形態では、前記選択した転送ノードに、あるユーザ端末１００からあるネットワーク資源へのパケットを破棄する処理規則を設定するものとして説明したが、その他ユーザ端末１００が接続する可能性のある転送ノードにも、同様の処理規則を設定してもよい。
【００７６】
また、制御装置４００が各転送ノードに設定されている処理規則の数が平準化されるように処理規則の設定先を選択するような設定先選択ルールを採用してもよい。例えば、図９の例では、各転送ノードに設定されている処理規則数の平均値は、１５，０００＋６，０００＋７，０００＋９，０００＋１，０００／５≒７，６００と算出される。処理規則の設定先として、前記平均値より少ない処理規則数が設定されている転送ノードＢ、Ｃまたは転送ノードＥを選択するようにしてもよい。
【００７７】
また、制御装置４００が、現在設定されている処理規則数が、前記平均値よりも多い転送ノードＡ、Ｄに登録されている処理規則の一部を転送ノードＢ、Ｃ、Ｅに移動させるようにしてもよい。これにより、各転送ノードに保持される処理規則の数を平準化させることができる。
【００７８】
また例えば、制御装置４００が前記処理規則の設定先として、ユーザ端末とアクセス先の機器との間の最短経路上にある転送ノードを優先的に選択する設定先選択ルールを採用してもよい。例えば、図９の例では、ユーザ端末とネットワーク資源との間の最短経路は、「ユーザ端末→転送ノードＡ→転送ノードＢ→ネットワーク資源」であり、転送ノードＡまたは転送ノードＢのいずれかに対して、処理規則が優先的に設定されるようにする。
【００７９】
また、制御装置４００が、上記最短経路上の転送ノードＡと転送ノードＢの両方に対してアクセスを拒否する処理規則（ユーザ端末からネットワーク資源へのパケットを廃棄する処理規則）を設定するようにしてもよい。このように、ユーザ端末とネットワーク資源との間で経由する複数の転送ノードに対してアクセスを拒否する処理規則を設定することで、より厳格なアクセス制御を実現できる。
【００８０】
また例えば、制御装置４００が、ユーザの端末とネットワーク資源との間の最短経路上にあるいずれかの転送ノードから最も近く、かつ、設定されている処理規則の数が最も少ない転送ノードに処理規則を設定する設定先選択ルールを採用してもよい。例えば、図９の例では、ユーザ端末とネットワーク資源との間の最短経路は、「ユーザ端末→転送ノードＡ→転送ノードＢ→ネットワーク資源」であり、該最短経路のいずれかの転送ノードから最も近くに存在する転送ノードは、転送ノードＣと転送ノードＤである。そして、転送ノードＣと転送ノードＤのうち、設定されている処理規則数が最も少ない転送ノードは、転送ノードＣ（処理規則数は７，０００）である。この場合、制御装置４００は、転送ノードＣに処理規則を設定する。このようにすることで、ユーザの端末とネットワーク資源との間の最短経路において何らかの障害が発生した場合、その迂回経路となる転送ノードにおいてもアクセスを拒否する制御が実現され、より強固なセキュリティ対策を実現できる。
【００８１】
また、ユーザが、上記の様々な処理規則の設定先選択ルールを自由に選択、または、組み合わせ、制御装置４００に指示できるようにしてもよい。
【００８２】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８３】
１１    ノード通信部
１２    制御メッセージ処理部
１３    処理規則管理部
１４    処理規則記憶部
１５    転送ノード管理部
１６    経路・アクション計算部
１７    トポロジ管理部
１８    端末位置管理部
１９    通信ポリシ管理部
２０    通信ポリシ記憶部
１００  ユーザ端末
２００、２０１、２０２、２０３、２０４  転送ノード
３００  ポリシ管理装置
３１０  通信ポリシ記憶部
３２０  リソース情報記憶部
３３０  認証装置
４００  制御装置
４１０  経路制御部
４２０  転送ノード選択部
５００、５００Ａ、５００Ｂ  ネットワーク資源
【図１】
2014516215.tif 000003
【図２】
2014516215.tif 000004
【図３】
2014516215.tif 000005
【図４】
2014516215.tif 000006
【図５】
2014516215.tif 000007
【図６】
2014516215.tif 000008
【図７】
2014516215.tif 000009
【図８】
2014516215.tif 000010
【図９】
2014516215.tif 000011
【図１０】
2014516215.tif 000012
【図１１】
2014516215.tif 000013
【図１２】
2014516215.tif 000014
【図１３】
2014516215.tif 000015
【国際調査報告】
2014516215.tif 000016
2014516215.tif 000017