(57)【特許請求の範囲】
【請求項１】
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する制御情報生成部と、
前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定する制御部と、を備え、
前記通信装置に、前記制御情報毎に予め設定した変更条件が成立した場合、前記通信装置に、前記複数の制御情報の優先順位を書き換えさせ、前記複数の制御情報のうちの最上位の制御情報を変更させることにより、通信ポリシーの切替を実施すること、
を特徴とする制御装置。
【請求項２】
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する制御情報生成部と、
前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定する制御部と、を備え、
前記通信装置に、前記制御情報毎に予め設定した変更条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更させることにより、通信ポリシーの切替を実施する制御装置であって、
所定のホスト間の通信の発生後、所定の時間が経過したときに、パケットの転送先を変更するとの通信ポリシーに従い、
前記制御情報生成部は、
前記所定の時間を有効期限とし、前記ホスト間のパケットを転送する第１の制御情報と、
前記第１の制御情報より優先順位が低く、前記所定の時間の経過後に、別の転送先を宛先としたパケットを前記別の転送先に転送する第２の制御情報と、を生成する制御装置。
【請求項３】
さらに、前記別の転送先以外を宛先とするパケットを廃棄する第３の制御情報を生成する請求項２の制御装置。
【請求項４】
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する制御情報生成部と、
前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定する制御部と、を備え、
前記通信装置に、前記制御情報毎に予め設定した変更条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更させることにより、通信ポリシーの切替を実施する制御装置であって、
所定のホスト間の通信について、トラフィック量に応じて、帯域制限を掛けるとの通信ポリシーに従い、
前記制御情報生成部は、
前記トラフィック量が第１のしきい値未満である間、パケットを宛先に転送させる第１の制御情報と、
前記トラフィック量が第１のしきい値以上となったときに、所定の帯域制限を適用してパケットを宛先に転送させる第２の制御情報と、
を生成する制御装置。
【請求項５】
複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理するパケット処理部と、
予め制御装置から指示された条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更することにより、通信ポリシーの切替を実施する制御情報管理部とを備えた通信装置であって、
前記制御情報管理部は、前記制御装置から制御情報毎に指示された条件が成立した場合、前記複数の制御情報の優先順位を書き換え、前記複数の制御情報のうちの最上位の制御情報を変更することにより、前記通信ポリシーの切替を実施する通信装置。
【請求項６】
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成するステップと、
前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定するステップと、
前記通信装置に対し、予め、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更するための条件を指示するステップと、を含む通信方法であって、
所定のホスト間の通信の発生後、所定の時間が経過したときに、パケットの転送先を変更するとの通信ポリシーに従い、
前記制御情報を生成するステップにおいて、前記所定の時間を有効期限とし、前記ホスト間のパケットを転送する第１の制御情報と、
前記第１の制御情報より優先順位が低く、前記所定の時間の経過後に、別の転送先を宛先としたパケットを前記別の転送先に転送する第２の制御情報と、を生成する通信方法。
【請求項７】
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成するステップと、
前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定するステップと、
前記通信装置に対し、予め、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更するための条件を指示するステップと、を含む通信方法であって、
所定のホスト間の通信について、トラフィック量に応じて、帯域制限を掛けるとの通信ポリシーに従い、
前記制御情報を生成するステップにおいて、
前記トラフィック量が第１のしきい値未満である間、パケットを宛先に転送させる第１の制御情報と、
前記トラフィック量が第１のしきい値以上となったときに、所定の帯域制限を適用してパケットを宛先に転送させる第２の制御情報と、
を生成する通信方法。
【請求項８】
複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置を制御する制御装置に搭載されたコンピュータに、
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する処理と、
前記通信装置に対し、前記複数の制御情報を設定する処理と、
前記通信装置に対し、予め、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更する条件を指示する処理と、を実行させることにより、通信ポリシーの切替機能を実現するプログラムであって、
所定のホスト間の通信の発生後、所定の時間が経過したときに、パケットの転送先を変更するとの通信ポリシーに従い、
前記制御情報を生成する処理において、前記所定の時間を有効期限とし、前記ホスト間のパケットを転送する第１の制御情報と、
前記第１の制御情報より優先順位が低く、前記所定の時間の経過後に、別の転送先を宛先としたパケットを前記別の転送先に転送する第２の制御情報と、を生成する処理を前記コンピュータに実行させるプログラム。
【請求項９】
複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置を制御する制御装置に搭載されたコンピュータに、
マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する処理と、
前記通信装置に対し、前記複数の制御情報を設定する処理と、
前記通信装置に対し、予め、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更する条件を指示する処理と、を実行させることにより、通信ポリシーの切替機能を実現するプログラムであって、
所定のホスト間の通信について、トラフィック量に応じて、帯域制限を掛けるとの通信ポリシーに従い、
前記制御情報を生成するステップにおいて、
前記トラフィック量が第１のしきい値未満である間、パケットを宛先に転送させる第１の制御情報と、
前記トラフィック量が第１のしきい値以上となったときに、所定の帯域制限を適用してパケットを宛先に転送させる第２の制御情報と、
を生成する処理を前記コンピュータに実行させるプログラム。
【請求項１０】
複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理するパケット処理部を備えた通信装置に搭載されたコンピュータに、
制御装置から受信した前記複数の制御情報を記憶する処理と、
前記制御装置から予め指示された条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更する処理と、を実行させるプログラムであって、
前記複数の制御情報のうちの優先順位の最も高い制御情報を変更する処理において、前記制御装置から制御情報毎に指示された条件が成立した場合、前記複数の制御情報の優先順位を書き換え、前記複数の制御情報のうちの最上位の制御情報を変更する処理を実行させることにより、通信ポリシーの切替を実施するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−０８１６５４号（２０１２年３月３０日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信装置、通信方法及びプログラムに関し、特に、配下の通信装置を集中制御する制御装置、この制御装置から制御を受ける通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）というネットワークが注目を浴びている（特許文献１、非特許文献１、２参照）。オープンフローは、オープンフローコントローラと呼ばれる制御装置が、オープンフロースイッチと呼ばれるスイッチの振る舞いを制御する集中制御型のネットワークアーキテクチャを採用している。オープンフローによれば、ネットワーク全体の状況に合わせ、仮想ネットワークを構成するスイッチの振る舞いを柔軟に変更することができる。このため、オープンフローを用いることで、柔軟性の高い仮想ネットワークを構築することが容易になっている。【０００３】
その他、ネットワークシステムにおいて、セキュリティやサービス品質などを一元管理するために、ネットワーク管理システム（ＮＭＳ）やポリシーサーバが用いられている。【０００４】
特許文献２には、クライアント認証実行をするか否かを自動で設定しないスイッチやポート等を定めた設定ポリシー及びネットワーク構成情報に基づいて、スイッチに備わる各ポートがクライアント認証機能を実行するか否かの情報を定めたポート設定情報を生成する管理計算機が開示されている（段落００４３〜００４４、００６２参照）。さらに、この管理計算機は、ポート設定情報１１４０に基づいて、構成定義を生成し、必要なスイッチに反映すると記載されている（段落００２９、００６３参照）。【０００５】
特許文献３には、ネットワークを監視するポーリング手段及びトラップ手段、必要に応じてポリシーを修正していくポリシー適用指示手段とを備えたポリシー運用方式が開示されている。また、特許文献４には、セキュリティチェックを進めながら段階的にアクセスできる範囲を広げていく検疫ネットワークシステムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７０７１８号公報
【特許文献２】特開２００８−０６０６９２号公報
【特許文献３】特開２００４−２３６０３０号公報
【特許文献４】特開２０１０−２８７９３２号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。特許文献１、非特許文献１、２の集中制御型の通信システムにおいて、特許文献３、４のように、ある事象の発生を契機として、個別に機器のふるまいを変更するといった動的な制御を行う場合、これらの機器の状態監視やその結果に応じた個別制御（特許文献１の例で言えば、「フローエントリ」の変更）を行う必要がある。【０００９】
このため、制御対象機器が増えてしまうと、これらの機器を集中制御する制御装置（特許文献１のコントローラや特許文献２の管理計算機に相当）の負荷も増大してしまうという問題点がある。また、これらの機器の状態監視の頻度なども負荷増大の一因となりうる。このとき、監視頻度を下げたり、制御内容を画一なものにしてしまえば、制御装置の負荷増大を抑えることができるが、きめ細かな制御をなしうる特許文献１に代表される通信システムの長所が喪われてしまう。【００１０】
本発明は、上記した制御対象機器の数等の制約を受けることなく、制御対象機器のきめ細かな個別制御の実現に貢献できるようにした制御装置、通信装置、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する制御情報生成部と、前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定する制御部と、を備え、前記通信装置に、前記制御情報毎に予め設定した変更条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更させることにより、通信ポリシーの切替を実施する制御装置であって、所定のホスト間の通信の発生後、所定の時間が経過したときに、パケットの転送先を変更するとの通信ポリシーに従い、前記制御情報生成部は、前記所定の時間を有効期限とし、前記ホスト間のパケットを転送する第１の制御情報と、前記第１の制御情報より優先順位が低く、前記所定の時間の経過後に、別の転送先を宛先としたパケットを前記別の転送先に転送する第２の制御情報と、を生成する制御装置が提供される。
【００１２】
第２の視点によれば、複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理するパケット処理部と、予め制御装置から指示された条件に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更することにより、通信ポリシーの切替を実施する制御情報管理部とを備えた通信装置であって、前記制御情報管理部は、前記制御装置から制御情報毎に指示された条件が成立した場合、前記複数の制御情報の優先順位を書き換え、前記複数の制御情報のうちの最上位の制御情報を変更することにより、前記通信ポリシーの切替を実施する通信装置が提供される。
【００１３】
第３の視点によれば、マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成するステップと、前記複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて、受信パケットを処理する通信装置に対し、前記複数の制御情報を設定するステップと、前記通信装置に対し、予め、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更するための条件を指示するステップと、を含む通信方法であって、所定のホスト間の通信の発生後、所定の時間が経過したときに、パケットの転送先を変更するとの通信ポリシーに従い、前記制御情報を生成するステップにおいて、前記所定の時間を有効期限とし、前記ホスト間のパケットを転送する第１の制御情報と、前記第１の制御情報より優先順位が低く、前記所定の時間の経過後に、別の転送先を宛先としたパケットを前記別の転送先に転送する第２の制御情報と、を生成する通信方法が提供される。本方法は、配下の通信装置を集中制御する制御装置という、特定の機械に結びつけられている。
【００１４】
第４の視点によれば、上記した制御装置及び通信装置の各機能を実現するためのプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、制御対象機器の数や監視頻度等の制約を受けることなく、制御対象機器のきめ細かな個別制御の実現に貢献することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の全体構成を示す図である。
【図３】本発明の第１の実施形態の各装置の詳細構成を示すブロック図である。
【図４】本発明の第１の実施形態のスイッチのフローテーブルの概略構成を示す図である。
【図５】本発明の第１の実施形態の動作を表したシーケンス図である。
【図６】本発明の第１の実施形態のスイッチに保持されるフローテーブル（初期状態）を示す図である。
【図７】本発明の第１の実施形態のスイッチに保持されるフローテーブル（条件付きフローエントリ設定後）を示す図である。
【図８】本発明の第１の実施形態のスイッチに保持されるフローテーブル（条件付きフローエントリ削除後）を示す図である。
【図９】本発明の第１の実施形態のスイッチに保持されるフローテーブル（第２の条件付きフローエントリ設定後）を示す図である。
【図１０】本発明の第２の実施形態の全体構成を示す図である。
【図１１】本発明の第２の実施形態のスイッチに保持されるフローテーブル（初期状態）を示す図である。
【図１２】本発明の第２の実施形態のスイッチに保持されるフローテーブル（条件付きフローエントリ設定後）を示す図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明は、その一実施形態において、図１に示すように、複数の制御情報の中から、受信パケットに適合し、かつ、優先順位の最も高いマッチ条件を持つ制御情報を選択し、該選択した制御情報に基づいて受信パケットを処理する通信装置１０Ａと、この通信装置１０Ａに前記制御情報を設定する制御装置２０Ａとを含む構成にて実現できる。
【００１９】
より具体的には、制御装置２０Ａは、通信装置１０Ａに対し、前記複数の制御情報を設定する制御部２１Ａと、マッチ条件の少なくとも一部が重複し、かつ、優先順位と処理内容がそれぞれ異なる複数の制御情報を生成する制御情報生成部２２Ａと、を備える。そして、前記通信装置１０Ａは、前記制御情報毎に予め設定された変更条件（例えば、フローエントリの設定時や前回フローエントリ実行時を起点とする所定時間経過によるタイムアウト）に基づいて、前記複数の制御情報のうちの優先順位の最も高い制御情報を変更する。これにより、制御装置２０Ａが通信装置１０Ａの監視等を行うことなく、通信ポリシーの切替が実施される。
【００２０】
なお、前記複数の制御情報のうちの優先順位の最も高い制御情報の変更は、優先順位が上位の制御情報の削除や、優先順位そのものの書き換え、フローエントリの格納位置の変更（格納位置が優先順位を示している場合）等によって実現できる。
【００２１】
また、前記変更条件は、制御装置２０Ａが個々の制御情報に対応付けて設定することとしてもよいし、通信装置１０Ａ側のフローエントリのエージング処理機能などを利用する形態（制御装置２０Ａが、通信装置１０Ａのさらに上流側の通信装置にフローエントリを設定してヘッダ書換えを指示し、前記優先順位の最も高い制御情報にヒットしない状態を作り出して、エージングを発生させる等も含む。）も採用可能である。
【００２２】
［第１の実施形態］
続いて、本発明をアクセス制御システムにおけるポリシー切替に適用する第１の実施形態について説明する。図２は、本発明の第１の実施形態の全体構成を示す図である。図２を参照すると、上述した通信装置に相当するスイッチ１０を介して、クライアント１００−１、１００−２と、検疫システム３０と、ファイヤーウォール４０と、が接続された構成が示されている。
【００２３】
また、スイッチ１０及び検疫システム３０は、それぞれ図中破線で示す制御用のネットワークを介して、上述した制御装置に相当するコントローラ２０と接続されている。コントローラ２０とスイッチ１０間、検疫システム３０とコントローラ２０間は、それぞれ制御情報を送受信可能となっている。
【００２４】
クライアント１００−１、１００−２は、同一のセグメントに属し互いに通信可能なパーソナルコンピュータ、タブレット型端末、携帯端末等の機器である。
【００２５】
なお、以下の説明では、図２の構成を用いることとするが、本発明は、図２に示したクライアント１００−１、１００−２、スイッチ１０の台数等に限定されない。
【００２６】
続いて、図２に示した各装置の詳細構成について説明する。図３は、スイッチ１０、コントローラ２０、検疫システム３０の機能の構成を示す図である。
【００２７】
スイッチ１０は、スイッチ処理部１１と、フローテーブル１２と、コントローラ用インターフェース１３と、フローエントリ削除管理部１４とを備えて構成される。
【００２８】
コントローラ用インターフェース１３は、コントローラ２０と制御用のネットワークで接続され、コントローラ２０と制御情報を授受する。例えば、コントローラ用インターフェース１３は、コントローラ２０からの指示により、フローテーブル１２に対してフローエントリの追加・変更・削除等の操作を行う。
【００２９】
スイッチ処理部１１は、外部からパケットを受信すると、フローテーブル１２から、入力パケットのヘッダ情報に適合するマッチ条件を持つフローエントリを検索し、検索したフローエントリに定められた処理を実行する。前記処理としては、例えば、入力パケットのヘッダの特定フィールドを書き換える処理や、特定ポートへの出力等が実行される。
【００３０】
フローテーブル１２には、パケットの入力ポート番号とパケットのヘッダから得られる情報（ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ポート番号等）の組み合わせによって指定されるマッチ条件、および、このマッチ条件により識別されたフローに対して実行する処理内容（アクション）を記述したフローエントリが格納される。アクションとしては、上述した、パケットのヘッダ書き換え、特定ポートへの出力のほか、スイッチ処理部１１における処理の優先度の変更、帯域制限の実施、パケットの廃棄等も指定できる。また、フローテーブル１２には複数のフローエントリを保持することができる。
【００３１】
図４は、フローテーブル１２の概略構成を示す図である。非特許文献１、２のフローエントリと異なる点は、各々のフローエントリにフローエントリ削除条件が設定されている点である。
【００３２】
スイッチ１０は、図４のようなフローテーブル１２を複数保持することができ、フローエントリにマッチした場合のアクションとして別のフローテーブルに制御を移すことも可能である（非特許文献２の「４．１．１  Ｐｉｐｅｌｉｎｅ  Ｐｒｏｃｅｓｓｉｎｇ」参照）。また、入力されたパケットにマッチするフローエントリがフローテーブルに存在しない場合、スイッチ１０は、当該パケットを廃棄するか、当該パケットをコントローラ２０に転送することができる。いずれの動作もコントローラ２０からの指示によりスイッチに設定される。本実施形態では、図６〜図９に示すように２つのフローテーブルがあり、第１のフローテーブルにマッチするフローエントリがなかった場合、スイッチ１０は、当該パケットをコントローラ２０に転送するよう設定されている。  
【００３３】
また、各々のフローエントリには優先度が設定される。複数のフローエントリがフローにマッチした場合は、より優先度の高いものが適用される。以下の説明では、フローテーブルの上位に登録されているフローエントリほど、優先度が高いものとして説明する。
【００３４】
フローエントリ削除管理部１４は、各フローエントリについてフローエントリ削除条件が満たされているかを調べ、満たされていれば当該フローエントリを削除する。
【００３５】
なお、上記したスイッチ１０は、例えば非特許文献１、２のオープンフロースイッチに、上記したフローエントリ削除管理部１４に相当する機能を追加することにより実現できる。
【００３６】
コントローラ２０は、スイッチ制御部２１と、フローエントリ情報変換部２２と、ポリシー管理部２３と、トポロジー管理部２４と、検疫システム制御部２５とを備えて構成される。
【００３７】
スイッチ制御部２１は、上記した制御部２１Ａに相当し、スイッチ１０に対して、フローテーブル１２へのフローエントリの追加・変更・削除の指示を出す。また、スイッチ制御部２１は、また、スイッチ１０において受信パケットに適合するマッチ条件を持つフローエントリが見つからなかった場合にコントローラに転送されたパケットを受け取る通信インターフェースとしても機能する。
【００３８】
フローエントリ情報変換部２２は、上記した制御情報生成部２２Ａに相当し、スイッチ制御部２１にスイッチ１０から入力されたパケットのヘッダ情報と、ポリシー管理部２３のもつポリシー情報と、トポロジー管理部２４のもつトポロジー情報に基づいて、スイッチ１０に設定するためのフローエントリを作成する。
【００３９】
ポリシー管理部２３には、システムで適用する通信ポリシー情報を格納する。本実施形態では、ポリシー管理部２３には、ネットワーク管理者により次のような通信ポリシーが格納されているものとして説明する。
（１）検疫を受けていないクライアントからのトラフィックはファイヤーウォールに転送してセキュリティチェックを実施した上で、ファイヤーウォールで廃棄されなかった場合には他のクライアントとの通信を許可する。
（２）ただし、検疫を受けないまま一定時間（Ｔ１時間とする）を経過したクライアントに対しては、検疫システム以外との通信を禁止するように変更する。
（３）また、検疫を受けたクライアントは一定時間（Ｔ２時間とする）他のクライアントと直接の通信を許可し、規定時間経過後は検疫を受けていないクライアントと同様に扱う。
【００４０】
トポロジー管理部２４には、システムに存在するクライアント、スイッチ、検疫システムおよびそれらのアドレス情報、接続関係の情報が格納されている。
【００４１】
検疫システム制御部２５は、検疫システム３０からクライアントに対する検疫処理が完了したことの通知を受ける。
【００４２】
上記したコントローラ２０は、例えば非特許文献１、２のオープンフローコントローラに、削除条件付きのフローエントリの生成機能を追加する構成にて実現できる。また、コントローラ２０とスイッチ１０間の制御情報の授受は、例えば、非特許文献１、２のオープンフロープロトコルを利用することができる。
【００４３】
検疫システム３０は、検疫処理部３１と、コントローラ用インターフェース３２とを備えて構成されている。
【００４４】
検疫処理部３１は、クライアント１００−１、１００−２上でセキュリティチェックを行う検疫プログラムと通信することでアクセス可否を判断する機能を持つ。検疫処理部３１は従来より一般的に知られたシステムの要素であり詳細な記述は省く。
【００４５】
コントローラ用インターフェース３２は、クライアントが検疫を通過した旨をコントローラ２０に通知する。
【００４６】
なお、図３に示した各装置の各部（処理手段）は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４７】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、クライアント１００−１に対して通信制御ポリシー（１）〜（３）を適用する場合を例に説明する。
【００４８】
図５は、本発明の第１の実施形態の動作を表したシーケンス図である。まず、クライアント１００−１がクライアント１００−２に対してパケットを送信する（ステップＳ００１）。クライアント１００−１から送信されたパケットは、送信元ＭＡＣアドレスがクライアント１００−１、宛先ＭＡＣアドレスがクライアント１００−２となっている。このパケットはスイッチ１０で受信されると、スイッチ１０のスイッチ処理部１１はパケットからヘッダ情報を抽出し、フローテーブル１２からこのヘッダ情報に適合するマッチ条件を持つフローエントリを検索し、転送先を決定する。
【００４９】
図６は、この時点のスイッチ１０に保持されているフローテーブル１２−１、１２−２を示す図である。第１のフローテーブルであるフローテーブル１２−１には、ファイヤーウォール出口からのパケットを受信した場合にフローテーブルにジャンプするフローエントリｆ０しか登録されていない。第２のフローテーブルであるフローテーブル１２−２には、宛先ＭＡＣアドレスに応じてパケットを転送するフローエントリｆ０１〜ｆ０３が登録されている。なお、図６〜図９においてアスタリスク（＊）は任意（ワイルドカード）であることを表している。
【００５０】
クライアント１００−１からの最初のパケットを受信したスイッチ１０は、図６のフローテーブル１２−１に、クライアント１００−１からのパケットに適合するマッチ条件を持つフローエントリが存在しないため、コントローラ２０に対して、クライアント１００−１から受信したパケットを転送する（ステップＳ００２）。
【００５１】
コントローラ２０は、フローエントリ情報変換部２２において、スイッチ１０から転送されてきたパケットのヘッダに含まれる送信元ＭＡＣアドレス情報およびポリシー管理部２３の情報に基づいて、スイッチ１０に設定すべきフローエントリを作成する（ステップＳ００３）。
【００５２】
コントローラ２０は、スイッチ制御部２１より前記作成したフローエントリをスイッチに送信してフローテーブル１２−１に追加するよう指示を出す（Ｓ００４）。
【００５３】
図７は、コントローラ２０によるフローエントリ追加後のフローテーブル１２−１、１２−２を示す図である。図７の例では、マッチ条件の送信元ＭＡＣアドレスにクライアント１００−１のＭＡＣアドレスが設定されたフローエントリｆ１〜ｆ３が追加されている。また、このうち、フローエントリｆ１は、Ｔ１時間経過したら、このフローエントリを削除する、との削除条件が設定されている。
【００５４】
前記フローエントリｆ１〜ｆ３が設定されると、以降、クライアント１００−１からのパケットは、フローエントリｆ１にマッチしてファイヤーウォール４０に転送され、ファイヤーウォール４０にてセキュリティチェックが行われる（ステップＳ００５、Ｓ００６）。ファイヤーウォール４０を通過したパケットがスイッチ１０に転送されると（ステップＳ００７）、図７のフローテーブル１２−１のフローエントリｆ０にマッチし、第２のフローテーブルであるフローテーブル１２−２へと制御が移動する。スイッチ１０はフローテーブル１２−２を参照して、ファイヤーウォール４０にてセキュリティチェック済みのパケットを処理する。この結果、当該パケットは、クライアント１００−２へと転送される（ステップＳ００８）。以上により、通信ポリシー（１）が適用されたことになる。
【００５５】
スイッチ１０は、フローテーブル１２−１、１２−２に基づく転送処理を継続する。前記動作中のフローエントリ削除管理部１４は、各フローテーブルの各フローエントリについて、削除条件が満たされているかを確認し、満たされていれば当該フローエントリを削除する。この確認処理は、ある決まった周期で、全フローエントリを順に走査するタスクを動作させることで実現できるが、その方法は、これに限定されるものではない。本実施形態では、前述のポリシー（２）に対応するフローエントリｆ１の削除条件に従い、フローエントリ削除管理部１４は、時間Ｔ１の経過を確認すると、フローエントリｆ１を削除する（ステップＳ００９）。なお、フローエントリ削除管理部１４による各フローエントリの削除条件（時間）の確認処理は、非特許文献２に仕様化されている各フローエントリに設定できるタイムアウト値（Ｈａｒｄ  Ｔｉｍｅｏｕｔ）を用いて実現することもできる。またここで、スイッチ１０が、当該エントリを削除した旨をコントローラ２０に通知するステップを実行してもよい。
【００５６】
図８は、フローエントリｆ１が削除された状態のフローテーブル１２−１、１２−２を示す図である。フローエントリｆ１の削除が完了すると、スイッチ１０は、クライアント１００−１からのパケットのうち、検疫システムを宛先とするものについては、フローエントリｆ２に従い、検疫システムに転送し、それ以外を宛先とするものはフローエントリｆ３に従い、廃棄する。
【００５７】
このようにして、コントローラ２０が、個別のクライアントに対するポリシー適用状況を管理したりスイッチを監視したりせずに、スイッチ内の処理のみでクライアント１００−１に適用される通信ポリシーを（２）に変更することができる。
【００５８】
検疫システム以外と通信できない状態となったクライアント１００−１は、検疫プログラムを実行し検疫システムとの通信を行って、検疫が完了したことを検疫システム３０に通知する（ステップＳ０１０〜Ｓ０１１）。検疫システム３０は、クライアント１００−１に対する検疫が完了したことを確認し、コントローラ用インターフェース３２よりコントローラ２０に通知する（ステップＳ０１２〜Ｓ０１３）。
【００５９】
コントローラ２０は、検疫システム制御部２５において前記通知を受けると、フローエントリ情報変換部２２で、ポリシー（３）に対応するフローエントリｆ４を生成する。そして、コントローラ２０は、スイッチ１０に対し、フローエントリｆ２、ｆ３を削除し、代わりにフローエントリｆ４を追加するよう指示を出す（ステップＳ０１４〜Ｓ０１５）。
【００６０】
図９は、フローエントリｆ４が追加された状態のフローテーブル１２−１、１２−２を示す図である。以後クライアント１００−１からのパケットはスイッチ１０においてフローエントリｆ４にマッチし、フローテーブル１２−２へ制御が移動するため、クライアント１００−２への転送が許可される（ステップＳ０１６〜Ｓ０１７）。
【００６１】
フローエントリ削除管理部１４は、時間Ｔ２の経過を確認すると、フローエントリｆ４を削除する。これによりフローテーブルは図６の状態に戻り、規定時間Ｔ２経過後の通信が禁止され、通信ポリシー（３）が実現される。
【００６２】
なお、本実施形態では既存の検疫システム３０にコントローラ用インターフェース３２を付加することで検疫システム３０と連動したアクセス制御を実現したが、検疫処理部３１をコントローラ２０内に組み込んでしまうことも可能である。
【００６３】
以上のように、本実施形態によれば、コントローラ２０が個々のスイッチの状態を監視しなくとも、個々のスイッチに、事前にフローエントリを設定しておくことで、ポリシーの切り替えと同等の動作を行わせることができる。換言すれば、コントローラの監視処理が、スイッチ側に分散されていることになるため、コントローラの監視負荷及び処理負荷を軽減する。またこれにより、システムのスケーラビリティを向上させることができる。
【００６４】
［第２の実施形態］
続いて、本発明を帯域制御システムにおけるトラフィックコントロールに適用した第２の実施形態について説明する。図１０は、本発明の第２の実施形態の全体構成を示す図である。図１０を参照すると、スイッチ１０を介して、クライアント１００−１、１００−２と、ゲートウェイ５０と、が接続された構成が示されている。以下、第１の実施形態と相違する点を中心に説明する。
【００６５】
クライアント１００−１、１００−２は、ゲートウェイ５０を通じて外部ネットワークとの通信を行う。
【００６６】
また、コントローラ２０はスイッチ１０と、破線で示す制御用のネットワークで接続している。コントローラ２０とスイッチ１０間は、前記制御用のネットワークを介して、制御情報を送受信可能となっている。
【００６７】
なお、以下の説明では、図１０の構成を用いることとするが、本発明は、図１０示したクライアント１００−１、１００−２、スイッチ１０の台数等に限定されない。
【００６８】
スイッチ１０の構成は、第１の実施形態と同様であるため説明を省略する。但し、本実施形態では、スイッチ１０が保持するフローテーブルは、１つである（図１１、図１２参照）。
【００６９】
コントローラ２０の構成についても、本実施形態では、検疫システム３０は存在しないため検疫システム制御部２５が不要となることを除き第１の実施形態と同様である。即ち、本実施形態のコントローラ２０は、スイッチ制御部２１、フローエントリ情報変換部２２、ポリシー管理部２３及びトポロジー管理部２４を備えている。
【００７０】
本実施形態では、コントローラ２０のポリシー管理部２３には、ネットワーク管理者により次のような帯域制御通信ポリシーが格納されているものとして説明する。
（２−１）クライアント１００−１は、外部ネットワークへの単位期間あたり累積通信量が一定量（Ｂ１バイトとする）までは無制限で利用できる。
（２−２）それ以後、クライアント１００−１から外部ネットワークへの単位期間あたり累積通信量がＢ１バイトを超えＢ２バイトまでは、利用できる最大の帯域に制限を設ける（Ｓ１  ｂｐｓとする。）。
（２−３）さらに、クライアント１００−１から外部ネットワークへの単位期間あたり累積通信量がＢ２バイトを超えた場合、一定時間（Ｔ３時間とする）を経過するまで利用できる最大の帯域をさらに制限（Ｓ２  ｂｐｓとする。但し、Ｓ１＞Ｓ２）した上で、スイッチ処理における処理優先度を通常より低くする。
（２−４）クライアント１００−２は、上記（２−１）〜（２−３）の制限を受けず自由に外部ネットワークと通信可能とする。
【００７１】
続いて、本実施形態の動作について図面を参照して説明する。図１０において、クライアント１００−２がゲートウェイ５０に対して通信要求を行った場合、クライアント１００−２から送信されたパケットの送信元ＭＡＣアドレスはクライアント１００−２、宛先ＭＡＣアドレスはゲートウェイ５０となっている。
【００７２】
図１１は、この時点のスイッチ１０に保持されているフローテーブル１２を示す図である。図１１の例では、クライアント１００−１、１００−２間やゲートウェイ５０からクライアント１００−１、１００−２方向の通信を許可するフローエントリｆ１１、ｆ１２と、クライアント１００−２からゲートウェイ５０宛ての通信を許可するフローエントリｆ１３が設定されている。なお、図１１、図１２においてもアスタリスク（＊）は任意（ワイルドカード）であることを表している。
【００７３】
従って、スイッチ１０は、クライアント１００−２からゲートウェイ５０宛てのパケットを、フローテーブル１２のフローエントリｆ１３に従い、ゲートウェイ５０に転送する。この動作は、上述した、通信ポリシー（２−４）に相当する。
【００７４】
一方、クライアント１００−１がゲートウェイ５０に対して通信要求を行った場合について説明する。クライアント１００−１から送信されたパケットは、送信元ＭＡＣアドレスがクライアント１００−１、宛先ＭＡＣアドレスがゲートウェイ５０となっている。フローテーブル１２には、このパケットに適合するマッチ条件を持つフローエントリがないため、スイッチ１０は前記パケットをコントローラ２０に転送する。
【００７５】
コントローラ２０は、フローエントリ情報変換部２２において、スイッチ１０から転送されてきたパケットのヘッダに含まれる送信元ＭＡＣアドレス情報およびポリシー管理部２３の情報に基づいてフローエントリを生成する。
【００７６】
図１２は、クライアント１００−２からゲートウェイ５０宛てのパケットのヘッダ情報と、上記した通信ポリシー（２−１）〜（２−３）に基づいて生成されたフローエントリｆ５〜ｆ７が追加された状態を示している。フローエントリｆ５は、上記（２−１）の外部ネットワークへの単位期間あたり累積通信量が一定量（Ｂ１バイトとする）までは無制限で利用できる、との通信ポリシーに対応するものである。フローエントリｆ６は、上記（２−２）の外部ネットワークへの単位期間あたり累積通信量がＢ１バイトを超えＢ２バイトまでは、帯域制限Ｓ１ｂｐｓで通信を許可する、との通信ポリシーに対応するものである。フローエントリｆ７は、上記（２−３）の外部ネットワークへの単位期間あたり累積通信量がＢ２バイトを超えると、一定時間（Ｔ３時間とする）に限り、帯域制限Ｓ２ｂｐｓで通信を許可する、との通信ポリシーに対応するものである。なお、本実施形態においても、フローテーブルの上位に登録されたフローエントリほど、優先的に適用されるものとする。
【００７７】
図１２に示すフローエントリｆ５〜ｆ７が設定された後、スイッチ１０は、クライアント１００−１からゲートウェイ５０宛てのパケットは、同じマッチ条件のフローエントリのうち優先順位が最も高いフローエントリｆ５にマッチしてゲートウェイ５０に転送されるようになる。これは、通信ポリシー（２−１）に従った動作である。
【００７８】
第１の実施形態と同様に、スイッチ１０は、フローテーブルに基づく転送処理を行っている間も並行して、フローエントリ削除管理部１４においてフローテーブルの各フローエントリについて、削除条件が満たされているかを確認する。確認の結果、削除条件が満たされているフローエントリが存在すれば、フローエントリ削除管理部１４は、当該フローエントリを削除する。本実施形態では、フローエントリｆ５にマッチしたパケットの累計バイト数がＢ１バイトに達した時点で、フローエントリ削除管理部１４はフローエントリｆ５を削除する。なお、フローエントリ削除管理部１４による各フローエントリの累計バイト数の確認処理は、非特許文献２に仕様化されている各フローエントリに対応付けて記録されるフロー統計情報（Ｃｏｕｎｔｅｒｓ）を参照することで実現できる。またここで、スイッチ１０が、当該エントリを削除した旨をコントローラに通知するステップを実行してもよい。
【００７９】
フローエントリｆ５の削除が完了すると、クライアント１００−１からゲートウェイ５０宛てのパケットは、同じマッチ条件のフローエントリのうち、優先順位が最も高くなったフローエントリｆ６にマッチするようになる。このため、スイッチ１０は、スイッチ処理部１１においてＳ１  ｂｐｓまでの帯域制限を適用した上で、ゲートウェイ５０に転送する。
【００８０】
その後、フローエントリｆ６にマッチしたパケットの累計バイト数がＢ２バイトに達した時点で、フローエントリｆ６が削除される。
【００８１】
フローエントリｆ６の削除が完了すると、クライアント１００−１からゲートウェイ５０宛てのパケットは、同じマッチ条件のフローエントリのうち、優先順位が最も高くなったフローエントリｆ７にマッチするようになる。このため、スイッチ１０は、スイッチ処理部においてＳ２  ｂｐｓまでの帯域制限を適用した上で、ゲートウェイ５０に転送する。また、スイッチ１０は、スイッチ処理部１１におけるスイッチ処理の優先度を通常よりも低くした上で転送を行う。このようにしてスイッチ１０内で、通信ポリシー（２−１）から、通信ポリシー（２−２）、通信ポリシー（２−３）への切り替えが実現される。
【００８２】
フローエントリｆ７は、初めてマッチ条件に適合するパケットを受信した時点から時間Ｔ３が経過すると削除されることが指定されている。最終的に、フローエントリｆ７が削除されると、フローテーブル１２は図１１に示す初期状態と同じ状態に戻る。
【００８３】
以上のように、本発明は、第１の実施形態に示したようなアクセス制限を規定した通信ポリシーの切替のみならず、帯域制限等を規定した通信ポリシーの動的切替にも適用することができる。
【００８４】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第１の実施形態と第２の実施形態とを組み合わせ、アクセス制限と、帯域制限との双方を動的に切り替える制御にも適用することが可能である。
【００８５】
また上記した実施形態では、フローエントリの削除により、最も優先順位の高いフローエントリの変更を実現しているが、その他、フローエントリの格納順序を変更することでもよい（例えば、図７のフローエントリｆ１の末尾への移動は、フローエントリｆ１の削除と同様となる）。その他、フローエントリに明示的に優先度情報が付与されている場合には、この優先度情報を書き換える方法も採用可能である。
【００８６】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。なお本書において、単数形で記載された用語は、当然に複数をも代表するものとする。日本語は単複同形であることに留意されたい。
【符号の説明】
【００８７】
１０  スイッチ
１０Ａ〜１０Ｃ  通信装置
１１  スイッチ処理部
１２、１２−１、１２−２  フローテーブル
１３  コントローラ用インターフェース
１４  フローエントリ削除管理部
２０  コントローラ
２０Ａ  制御装置
２１  スイッチ制御部
２１Ａ  制御部
２２  フローエントリ情報変換部
２２Ａ  制御情報生成部
２３  ポリシー管理部
２４  トポロジー管理部
２５  検疫システム制御部
３０  検疫システム
３１  検疫処理部
３２  コントローラ用インターフェース
４０  ファイヤーウォール
５０  ゲートウェイ
１００−１、１００−２  クライアント
ｆ０〜ｆ７、ｆ０１〜ｆ１３  フローエントリ
【図１】
0005987901.tif 000002
【図２】
0005987901.tif 000003
【図３】
0005987901.tif 000004
【図４】
0005987901.tif 000005
【図５】
0005987901.tif 000006
【図６】
0005987901.tif 000007
【図７】
0005987901.tif 000008
【図８】
0005987901.tif 000009
【図９】
0005987901.tif 000010
【図１０】
0005987901.tif 000011
【図１１】
0005987901.tif 000012
【図１２】
0005987901.tif 000013