(57)【要約】 【課題】通信装置を集中制御する制御装置の負荷を軽減し、または、制御装置と通信装置間のセキュアチャネルの一時的な切断に対応する。【解決手段】通信装置は、制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える。【選択図】図１
2015509670.tif 000002
【特許請求の範囲】
【請求項１】
制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部と、
所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、
前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置。
【請求項２】
さらに、前記制御装置との間のチャネルの状態を検出するチャネル状態検出部を備え、
前記エミュレーション部は、前記制御装置との間のチャネルが切断状態になっている間に、前記処理規則の作成と設定を実行する請求項１の通信装置。
【請求項３】
前記エミュレーション部は、前記制御装置からの指示に従って、前記処理規則の作成と設定を実行する請求項１または２の通信装置。
【請求項４】
前記エミュレーション部は、前記制御装置に代わって、フロー毎に接続先の通信網を切り替える処理規則を作成する請求項１から３いずれか一の通信装置。
【請求項５】
前記エミュレーション部は、前記制御装置に代わって、所定のアクセスポリシに従って、接続先の通信網を切り替える処理規則を作成する請求項１から４いずれか一の通信装置。
【請求項６】
前記所定のアクセスポリシとして、前記制御装置から受信したアクセスポリシを用いる請求項５の通信装置。
【請求項７】
前記所定のアクセスポリシは、前記通信装置の累積通信量に応じて、接続先を移動体通信網から無線ＬＡＮへと段階的に切り替えていくアクセスポリシである請求項５または６の通信装置。
【請求項８】
前記エミュレーション部は、所定のサーバからインストールされたアプリケーションプログラムが前記通信装置上で動作することによって構成される請求項１から７いずれか一の通信装置。
【請求項９】
設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置に対し、処理規則を設定する処理規則設定部と、
前記通信装置から受信した前記エミュレーション部の処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期する同期部とを備える制御装置。
【請求項１０】
前記同期部は、前記通信装置に対して、前記処理規則の作成を指示する請求項９の制御装置。
【請求項１１】
さらに、前記通信装置が接続している網の状態を監視する網状態監視部または自装置の負荷状態を測定する負荷状態測定部を備え、
前記同期部は、前記通信装置が接続している網のトラヒックが所定の水準を超えた場合または自装置の負荷状態が所定の水準を超えた場合に、前記通信装置部に対して、前記処理規則の作成を指示する請求項１０の制御装置。
【請求項１２】
前記通信装置のエミュレーション部に対して、接続先の通信網を切り替える処理規則を作成するためのアクセスポリシを送信する請求項９から１１いずれか一の制御装置。
【請求項１３】
前記アクセスポリシは、前記通信装置の累積通信量に応じて、接続先を移動体通信網から無線ＬＡＮへと段階的に切り替えていくアクセスポリシである請求項１２の制御装置。
【請求項１４】
設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置と、
前記通信装置に対し、処理規則を設定する処理規則設定部と、前記通信装置の同期制御部から受信した処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期する同期部とを備える制御装置と、を含む通信システム。
【請求項１５】
制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部を備える通信装置が、
所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定するステップと、
前記制御装置に対し、前記制御装置に代わって動作していた期間におけるエミュレーション部の処理内容を通知するステップとを含むパケット処理方法。
【請求項１６】
設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置に対し、処理規則を設定する処理規則設定部を備えた制御装置が、
前記通信装置のエミュレーション部に対して、前記処理規則を作成を指示するステップと、
前記通信装置の同期制御部から受信した処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期するステップとを含む通信装置の制御方法。
【請求項１７】
制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部を備える通信装置に搭載されたコンピュータに、
所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定する処理と、
前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する処理とを実行させるプログラム。
【請求項１８】
設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置に対し、処理規則を設定する処理規則設定部を備えた制御装置に搭載されたコンピュータに、
前記通信装置のエミュレーション部に対して、前記処理規則を作成を指示する処理と、
前記通信装置から受信した前記エミュレーション部の処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−０４９３９３号（２０１２年３月６日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信装置、制御装置、通信システム、パケット処理方法、通信装置の制御方法及びプログラムに関し、特に、通信装置を集中制御する制御装置と連携して動作する通信装置、制御装置、通信システム、パケット処理方法、通信装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチング条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチング条件を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。
以下の分析は、本発明によって与えられたものである。非特許文献１、２のオープンフロースイッチに相当する機能を、所謂スマートフォン、携帯電話やモバイルルータ等の通信端末側に配置することが検討されている。このような構成によれば、非特許文献１、２のオープンフローコントローラに相当する制御装置から、フロー毎にアクセス網を切り替える、フロー毎にヘッダを書き換えるといったきめ細かな制御を行うことが可能となる。
【０００６】
しかしながら、上記構成の場合、オープンフローコントローラが、多数の通信端末（通信装置）を制御しなければならなくなるため、負荷が増大してしまうという問題点がある。また、上記スマートフォン、携帯電話やモバイルルータと制御装置の間には、無線区間が含まれるため、両者の間のセキュアチャネルが一時的に切断状態になってしまうことも考慮する必要がある。
【０００７】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、スマートフォン、携帯電話やモバイルルータ等の通信端末（通信装置）側に、非特許文献１、２のオープンフロースイッチに相当する機能を配置した場合の制御装置の負荷を軽減し、または、セキュアチャネルの一時的な切断に対応できる通信装置、制御装置、通信システム、パケット処理方法、通信装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置が提供される。
【０００９】
本発明の第２の視点によれば、上記した通信装置に対し、処理規則を設定する処理規則設定部と、前記通信装置から受信した、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期する同期部とを備える制御装置が提供される。
【００１０】
本発明の第３の視点によれば、上記した通信装置と、上記した制御装置と、を含む通信システムが提供される。
【００１１】
本発明の第４の視点によれば、制御装置から設定された処理規則に基づいてパケットを処理するパケット処理部を備える通信装置が、所定の契機で、前記制御装置に代わって前記処理規則を作成して自装置に設定するステップと、前記制御装置に対し、前記制御装置に代わって動作していた期間におけるエミュレーション部の処理内容を通知するステップとを含むパケット処理方法が提供される。本方法は、制御装置から設定された処理規則に基づいてパケットを処理する通信装置という、特定の機械に結びつけられている。
【００１２】
本発明の第５の視点によれば、設定された処理規則に基づいてパケットを処理するパケット処理部と、所定の契機で、制御装置に代わって前記処理規則を作成して自装置に設定するエミュレーション部と、前記制御装置に対し、前記制御装置に代わって動作していた期間における前記エミュレーション部の処理内容を通知する同期制御部とを備える通信装置に対し、処理規則を設定する処理規則設定部を備えた制御装置が、前記通信装置のエミュレーション部に対して、前記処理規則の作成を指示するステップと、前記通信装置の同期制御部から受信した処理内容に基づいて、前記通信装置に設定されている処理規則と、自装置側で管理している通信装置の処理規則とを同期するステップとを含む通信装置の制御方法が提供される。本方法は、通信装置を制御する制御装置という、特定の機械に結びつけられている。
【００１３】
本発明の第６の視点によれば、上記した通信装置および上記した制御装置にそれぞれ実行させるコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、通信端末（通信装置）側に、非特許文献１、２のオープンフロースイッチに相当する機能を配置した場合の制御装置の負荷を軽減し、または、セキュアチャネルの一時的な切断に対応することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信装置と制御装置の構成を示す図である。
【図３】本発明の第１の実施形態の通信装置に設定されるフローエントリの例である。
【図４】図３のフローテーブルの操作を行う際に参照されるアクセスポリシ（通信ポリシ）の一例である。
【図５】図４のアクセスポリシ（通信ポリシ）により書き換えられたフローエントリの例である。
【図６】本発明の第１の実施形態の動作（コントローラによる制御）を説明するためのシーケンス図である。
【図７】本発明の第１の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。
【図８】本発明の第１の実施形態の動作（通信装置による自律制御開始〜復帰）を説明するためのシーケンス図である。
【図９】本発明の第２の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。
【図１０】本発明の第３の実施形態の通信装置と制御装置（コントローラ）の構成を示す図である。
【図１１】本発明の第３の実施形態の動作（通信装置による自律制御開始〜復帰）を説明するためのシーケンス図である。
【図１２】本発明の第４の実施形態の通信装置と制御装置（コントローラ）の構成を示す図である。
【図１３】本発明の第５の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。
【図１４】本発明の第５の実施形態の通信装置のパケット送信先の変化を示す図である。
【図１５】本発明の第５の実施形態の通信装置のパケット送信先の変化を示す別の図である。
【発明を実施するための形態】
【００１６】
好ましい態様として、以下の説明は、より良い具体例のために明らかにされる。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
本発明は、その一実施形態において、図１に示すように、制御装置２０Ａから設定された処理規則に基づいてパケットを処理するパケット処理部１３Ａと、エミュレーション部１２Ａと、同期制御部１１Ａとを備える通信装置１０Ａにて実現できる。ここで、「処理規則」とは、例えば、非特許文献１、２のフローエントリのように、パケットを識別する情報と、そのパケットに適用する処理内容を対応付けた制御情報である。
【００１８】
この通信装置１０Ａは、制御装置２０Ａとの間のチャネルの切断、制御装置からの指示、ユーザの操作といった所定の契機で、エミュレーション部１２Ａを起動し、制御装置２０Ａに代わって前記処理規則を作成して自装置に設定する処理を開始する。これにより、通信装置１０Ａは、制御装置２０Ａに頼ることなく、パケットの送信先の切替（移動体通信網または無線ＬＡＮ等）を切り替える自律動作を開始する。
【００１９】
その後、制御装置２０Ａとの間のチャネルの再接続、制御装置からの指示、ユーザの操作といった所定の終了条件が成立すると、この通信装置１０Ａは、制御装置２０Ａに対し、制御装置２０Ａに代わって動作していた期間におけるエミュレーション部１２Ａの処理内容を通知する。これにより、制御装置２０Ａで把握している通信装置１０Ａに設定されている処理規則の内容と、実際に通信装置１０Ａに設定されている処理規則の内容の同期が保たれる。
【００２０】
上記のように、通信装置１０Ａが自律的に動作している期間は、制御装置２０Ａにおける負荷が軽減されることになる。また、通信装置１０Ａと制御装置２０Ａ間のチャネルの一時的な切断にも対応することが可能となる。
【００２１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信装置と制御装置の構成を示す図である。図２を参照すると、コントローラ２０と、コントローラ２０によって制御される通信装置１０とが接続された構成が示されている。
【００２２】
コントローラ２０は、通信装置制御部２１と、同期部２２と、を備え、通信装置１０を含む他の通信装置を集中制御する装置（上述した「制御装置」に相当）である。このようなコントローラ２０は、非特許文献１、２のオープンフローコントローラに同期部２２を追加した構成にて実現することができる。
【００２３】
通信装置制御部２１は、通信装置１０のパケット処理部１３からフローエントリの設定要求（例えば、非特許文献２のＰａｃｋｅｔ−Ｉｎメッセージ）を受信すると、通信装置１０に適用されるべきアクセスポリシ（通信ポリシ）や通信装置１０の位置情報（３Ｇ網や無線ＬＡＮへの接続位置（接続可否））に基づいて、フローテーブル１４の操作（フローエントリの追加、更新、削除）を行う。このような通信装置制御部２１の動作は、図２に示したように、フローエントリの設定要求に含まれる情報、通信装置１０に適用されるべきアクセスポリシ（通信ポリシ）や通信装置１０の位置情報（３Ｇ網や無線ＬＡＮへの接続位置（接続可否））を入力として、出力（フローエントリの生成、更新、削除）を行ういくつかの関数（機能Ａ〜機能Ｃ）として表すことができる。以下、本実施形態では、「機能Ｂ」、「機能Ｃ」は、１または複数のコンピュータプログラムにて構成されており、通信装置１０側にコピーして動作させることで、通信装置１０側においても、コントローラ２０の「機能Ｂ」、「機能Ｃ」と同等の機能を持たせることができるものとする。
【００２４】
同期部２２は、通信装置１０がコントローラ２０に代わって動作していた期間におけるフローテーブル１４への操作内容（フローエントリの追加、更新、削除の履歴）を受信し、通信装置１０に設定されているフローエントリ群と、通信装置制御部２１で管理している通信装置１０のフローエントリ群とを同期する動作を行う。また、本実施形態の同期部２２は、所定の条件が成立すると、通信装置制御部２１の各機能に対応するコンピュータプログラムを通信装置１０側に送信する動作を行う。
【００２５】
通信装置１０は、同期制御部１１と、エミュレーション部１２と、パケット処理部１３と、フローテーブル１４と、を備える通信機器である。通信装置１０の例としては、例えば、携帯電話端末、スマートフォン、タブレット端末、パーソナルコンピュータ、ゲーム機器、モバイルルータなどが挙げられる。もちろん、非特許文献１、２に記載されているオープンフロースイッチであってもよい。
【００２６】
フローテーブル１４は、図３に示すように、受信パケットのパケットヘッダ等と照合するマッチング条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）と、カウンタと、処理内容を定義したインストラクションとを対応付けたフローエントリを格納するテーブルである。
【００２７】
パケット処理部１３は、外部または通信装置１０内部のアプリケーションプログラム（図２では省略）等からパケットを受信すると、上記フローテーブル１４から、受信パケットに適合するマッチング条件を持つフローエントリを検索する。前記検索の結果、受信パケットに適合するマッチング条件を持つフローエントリが見つかった場合、パケット処理部１３は、カウンタフィールドの値を更新するとともに、インストラクションフィールドに定められた処理内容を実行する。例えば、図３の例では、映像コンテンツ関連パケットを受信した場合、パケット処理部１３は、無線ＬＡＮ  ＡＰ（アクセスポイント）接続ポートに当該パケットを転送する処理を行なう。一方、ミニブログ関連パケットを受信した場合、パケット処理部１３は、３Ｇ網接続ポートに当該パケットを転送する処理を行なう。
【００２８】
一方、前記検索の結果、受信パケットに適合するマッチング条件を持つフローエントリが見つからなかった場合、パケット処理部１３は、同期制御部１１に対して、フローエントリの設定要求を送信する。
【００２９】
同期制御部１１は、内部に保持するチャネル状態検出部１１２の状態に基づき、フローエントリの設定要求をコントローラ２０またはエミュレーション部１２へ中継する。
【００３０】
エミュレーション部１２は、同期制御部１１またはコントローラ２０からの指示に応じて起動し、コントローラ２０の通信装置制御部２１の全部または一部に代わって、フローテーブル１４の操作（フローエントリの追加、更新、削除）を行う。本実施形態では、コントローラ２０の通信装置制御部２１内の機能Ｂ、機能Ｃで表される機能がエミュレートされるものとする。また、エミュレーション部１２によるフローテーブル１４への操作内容（フローエントリの追加、更新、削除の履歴）は、同期制御部１１の処理内容記憶部１１１に登録される。
【００３１】
図４は、コントローラ２０の通信装置制御部２１がフローテーブル１４の操作を行う際に参照するアクセスポリシ（通信ポリシ）の一例である。例えば、通信装置１０のある期間（月、週、日等）の累積送受信パケット量が所定値（例えば、図４の「ＡＡＡ」）未満の場合には、デフォルトの設定が適用され、累積送受信パケット量が所定値以上となると、設定１が適用されるようになっている。図４の例では、デフォルト設定は、通信装置が無線ＬＡＮ接続可能ならば、無線ＬＡＮ経由で映像関連パケットを転送という内容になっている。一方、設定１は、映像関連パケット以外も無線ＬＡＮ経由で転送する内容となっている。なお、コントローラ２０またはエミュレーション部１２は、フローテーブル１４のカウンタを参照することで通信装置１０の累積送受信パケット量を把握することができる。
【００３２】
図５は、通信装置１０の累積送受信パケット量が所定値ＡＡＡ以上となった場合に、コントローラ２０またはエミュレーション部１２によって書き換えられたフローエントリの例である。図５の例では、図４のアクセスポリシ（通信ポリシ）に従って、ミニブログ関連パケットも、パケット処理部１３は、無線ＬＡＮ  ＡＰ接続ポートに転送するよう書き換えられている。このようにコントローラ２０またはエミュレーション部１２は、通信装置１０の位置や契約状態、さらには、３Ｇ網の輻輳状況などに応じて、通信装置１０が利用する網を切り替えることが可能となっている。
【００３３】
同期制御部１１は、エミュレーション部１２によるフローテーブル１４への操作内容（フローエントリの追加、更新、削除の履歴）を記憶する処理内容記憶部１１１と、コントローラ２０と通信装置１０間のチャネルの状態を検出するチャネル状態検出部１１２とを備える。同期制御部１１は、コントローラ２０と通信装置１０間のチャネルの切断が検出されたときに、エミュレーション部１２を起動させる。また、同期制御部１１は、コントローラ２０と通信装置１０間のチャネルが再接続されると、処理内容記憶部１１１に蓄積された情報をコントローラ２０の同期部２２に送信する動作を行う。
【００３４】
なお、図２に示した通信装置１０、コントローラ２０の各部（処理手段）は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３５】
続いて、本実施形態の動作について図面を参照して詳細に説明する。はじめに、図６を参照して、通信装置１０とコントローラ間の基本動作（コントローラによる制御）について説明する。
【００３６】
まず、通信装置１０のパケット処理部１３にパケットが到達すると、フローテーブル１４の検索が行われる（図６の左下「パケット到達」）。フローテーブル１４に受信パケットに適合するマッチング条件を持つフローエントリが存在した場合、フローテーブル検索成功となり、パケット処理部１３は、そのインストラクションフィールドに内容に従い処理（図６の「パケット送出」）を行う。
【００３７】
図６において２回目に受信したパケットはフローテーブル１４に適合するマッチング条件を持つフローエントリが存在しなかったため、フローテーブル検索失敗となっている。この場合、パケット処理部１３は、同期制御部１１経由でコントローラ２０に対するフローエントリの作成要求を送信する。
【００３８】
前記フローエントリの作成要求を受けたコントローラ２０の通信装置制御部２１は、フローエントリ設定要求の内容や、上述した通信装置１０の位置やアクセスポリシ（通信ポリシ）等に基づいて、フローエントリを作成する。そして、コントローラ２０の通信装置制御部２１は、同期制御部１１経由でフローテーブル１４にフローエントリを設定する。
【００３９】
前記フローエントリの設定を受けた通信装置１０は、設定されたフローエントリまたはコントローラからの指示（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）に従って、パケットを処理（パケット送出）する。その後、後続パケットを受信した場合（図６の３回目のパケット到達）、上記のようにフローエントリが設定されているため、フローテーブル検索成功となり、そのインストラクションフィールドに内容に従った処理（図６の「パケット送出」）が行われる。
【００４０】
続いて、エミュレーション部１２を動作させる場合の準備について説明する。図７は、本発明の第１の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。図６の２回のパケット到達時の処理との相違点は、フローエントリ作成要求受信時に、コントローラ２０の同期部２２が、通信端末制御部２１にて動作している機能モジュールを確認し（ステップＳ００１）、通信装置１０のエミュレーション部１２に機能モジュールをインストールする（ステップＳ００２）点である。これにより、通信装置１０は、コントローラ２０に代わってフローエントリを自律的に作成できる状態になる。
【００４１】
図８は、本発明の第１の実施形態の動作（通信装置による自律制御開始〜復帰）を説明するためのシーケンス図である。その後、通信装置１０のチャネル状態検出部１１２が、コントローラ２０と通信装置１０間のチャネル切断を検出する（ステップＳ００３）と、通信装置１０は、エミュレーション部１２を起動し、自律制御を開始する。
【００４２】
その後、パケットが到達し、フローテーブル１４の検索に失敗すると、パケット処理部１３は、同期制御部１１経由でコントローラ２０に対するフローエントリの作成要求を送信する。
【００４３】
前記フローエントリの作成要求を受けた同期制御部１１は、エミュレーション部１２が起動しているため、前記フローエントリの作成要求をエミュレーション部１２に入力する。エミュレーション部１２は、フローエントリ設定要求の内容や、上述した通信装置１０の位置やアクセスポリシ（通信ポリシ）等に基づいて、フローエントリを作成する。そして、エミュレーション部１２は、フローテーブル１４にフローエントリを設定するとともに、その内容を処理内容記憶部１１１に登録する（ステップＳ００４）。
【００４４】
前記フローエントリの設定を受けた通信装置１０は、設定されたフローエントリまたはエミュレーション部１２からの指示に従って、パケットを処理（パケット送出）する。このように、本実施形態によれば、コントローラ２０と通信装置１０間のチャネルが切断状態にあっても、コントローラ２０からの制御を受けている状態と同等に通信装置１０を動作させることができる。
【００４５】
その後、通信装置１０のチャネル状態検出部１１２が、コントローラ２０と通信装置１０間のチャネル再接続を検出すると（ステップＳ００５）、通信装置１０は、エミュレーション部１２を休止させて、自律制御を終了する。通信装置１０の同期制御部１１は、処理内容記憶部１１１に蓄積されたフローテーブル１４の操作内容をコントローラ２０の同期部２２に通知する（ステップＳ００６）。
【００４６】
コントローラ２０の同期部２２は、コントローラ２０と通信装置１０間のチャネルが切断状態となっていた期間におけるフローテーブル１４の操作内容を参照して、現在通信装置１０に設定されているフローエントリ群と、コントローラの通信装置制御部２１で把握しているフローエントリ群との同期を実行する（ステップＳ００７）。これにより、以後コントローラ２０は、適切に通信装置１０の制御を再開することができる。
【００４７】
以上のように本実施形態によれば、コントローラ２０と通信装置１０間のチャネルが、頻繁に切断されてしまうような通信装置１０についても、コントローラ２０による制御を受けているとの同様に振舞わせることができる。
【００４８】
［第２の実施形態］
続いて、上記エミュレーション部１２の準備について変更を加えた本発明の第２の実施形態について図面を参照して詳細に説明する。本実施形態は、上記第１の実施形態と同様の構成にて実現できるので、以下、その動作上の相違点を説明する。
【００４９】
図９は、本発明の第２の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。図７に示した第１の実施形態におけるエミュレーション部準備との相違点は、エミュレーション部の準備が、フローエントリの設定要求の受信ではなく、コントローラ２０の同期部２２から自発的に行われている点である。
【００５０】
具体的には、図９の例では、コントローラ２０側にて、ネットワーク（例えば、３Ｇ網）の輻輳が検出されたタイミングで（ステップＳ１０１）、通信装置１０のエミュレーション部１２への機能モジュールのインストールが行われている（ステップＳ１０２）。前記ネットワークの輻輳は、コントローラ２０が、当該ネットワークに配置されているオープンフロースイッチ等から、フロー統計情報（図３のカウンタフィールドに相当）を読み出したり、障害を検出することによって把握することができる。
【００５１】
以上のように、通信装置１０のエミュレーション部１２の準備は、任意のタイミングで行うことができる。もちろん、通信装置１０に予め機能モジュールをインストールしておく形態も採用することが可能である。
【００５２】
［第３の実施形態］
続いて、上記エミュレーション部１２の起動タイミングに変更を加えた本発明の第３の実施形態について図面を参照して詳細に説明する。
【００５３】
図１０は、本発明の第３の実施形態の通信装置と制御装置（コントローラ）の構成を示す図である。図２に示した第１の実施形態の構成との相違点は、通信装置１０Ｂの同期制御部１１Ｂから、チャネル状態検出部が省略されている点と、コントローラ２０Ｂの同期部２２Ｂがフローエントリの作成開始、終了を指示する機能を備えている点である。その他、各部の構成および基本動作は、第１、第２の実施形態と同様であるので説明を省略する。
【００５４】
図１１は、本発明の第３の実施形態の動作（通信装置による自律制御開始〜復帰）を説明するためのシーケンス図である。図１１を参照すると、コントローラ２０Ｂと通信装置１０Ｂ間のチャネル切断検出ではなく、コントローラ２０Ｂが自発的に通信装置１０Ｂに対し、フローエントリの作成開始を指示している（ステップＳ２０１）。コントローラ２０Ｂが、通信装置１０Ｂに、フローエントリの作成開始を指示するタイミングは、自身の負荷増大や、ネットワークの輻輳発生などの任意のタイミングでよい。
【００５５】
その後は、第１の実施形態の動作と同様であり、通信装置１０Ｂは、エミュレーション部１２を起動し、自律制御を開始する。その後、パケットが到達し、フローテーブル１４の検索に失敗すると、パケット処理部１３は、同期制御部１１Ｂ経由でコントローラ２０Ｂに対するフローエントリの作成要求を送信する。
【００５６】
前記フローエントリの作成要求を受けた同期制御部１１Ｂは、エミュレーション部１２が起動しているため、前記フローエントリの作成要求をエミュレーション部１２に入力する。エミュレーション部１２は、フローエントリ設定要求の内容や、上述した通信装置１０Ｂの位置やアクセスポリシ（通信ポリシ）等に基づいて、フローエントリを作成する。そして、エミュレーション部１２は、フローテーブル１４にフローエントリを設定するとともに、その内容を処理内容記憶部１１１に登録する（ステップＳ２０２）。
【００５７】
前記フローエントリの設定を受けた通信装置１０Ｂは、設定されたフローエントリまたはエミュレーション部１２からの指示に従って、パケットを処理（パケット送出）する。このように、本実施形態によれば、コントローラ２０Ｂの負荷増大や、ネットワークの輻輳発生などの任意のタイミングで、通信装置１０のエミュレーション部１２を起動させ、フローエントリの作成を指示することができる。
【００５８】
その後、コントローラ２０Ｂが、通信装置１０に対し、復帰指示を送信すると（ステップＳ２０３）、通信装置１０は、エミュレーション部１２を休止させて、自律制御を終了する。通信装置１０Ｂの同期制御部１１Ｂは、処理内容記憶部１１１に蓄積されたフローテーブル１４の操作内容をコントローラ２０Ｂの同期部２２Ｂに通知する（ステップＳ２０４）。
【００５９】
コントローラ２０Ｂの同期部２２Ｂは、自律制御動作していた期間におけるフローテーブル１４の操作内容を参照して、現在通信装置１０Ｂに設定されているフローエントリ群と、コントローラの通信装置制御部２１で把握しているフローエントリ群との同期を実行する（ステップＳ２０５）。これにより、以後コントローラ２０Ｂは、適切に通信装置１０Ｂの制御を再開することができる。
【００６０】
以上のように、任意のタイミングで、通信装置１０Ｂを、コントローラ２０Ｂによる制御を受けているのと同様に振舞わせることもできる。この場合も、その間のフローエントリの同期を取ることで、コントローラ２０Ｂは、速やかに通信装置１０Ｂの制御を再開することができる。
【００６１】
また例えば、コントローラ２０Ｂに、通信装置１０Ｂが接続している網の状態を監視する網状態監視部や自身の負荷状態を測定する負荷状態測定部を備え、前記同期部２２Ｂに対し通信装置１０が接続している網の状態や自身の負荷状態を通知することも好ましい。
【００６２】
［第４の実施形態］
続いて、通信装置１０の内部構成に変更を加えた本発明の第４の実施形態について図面を参照して詳細に説明する。
【００６３】
図１２は、本発明の第４の実施形態の通信装置と制御装置の構成を示す図である。図２に示した第１の実施形態の構成との相違点は、通信装置１０Ｃの同期制御部１１Ｃが、コントローラ２０と通信装置１０Ｃ間のチャネルを中継しない構成となっている点である。以下、その相違点を中心に説明する。
【００６４】
コントローラ２０と通信装置１０Ｃ間のチャネル切断が検出されると、エミュレーション部１２が起動される点は第１の実施形態と同様である。第１の実施形態と異なるのは、本実施形態のパケット処理部１３Ｃが、コントローラ２０と通信装置１０間のチャネル切断が検出されると、コントローラ２０の代わりに、エミュレーション部１２Ｃとの間にチャネルを張り、フローエントリの設定要求を行う点である。本実施形態の一連の動作は、図６〜図８を用いて説明した第１の実施形態の動作と同様である。
【００６５】
以上のように、本発明は、同期制御部１１Ｃが、コントローラ２０と通信装置１０Ｃ間を中継しない構成でも実現することができる。
【００６６】
［第５の実施形態］
続いて、上記エミュレーション部１２の準備について変更を加えた本発明の第５の実施形態について図面を参照して詳細に説明する。本実施形態は、上記第１、第２の実施形態と同様の構成にて実現できるので、以下、その動作上の相違点を説明する。
【００６７】
図１３は、本発明の第５の実施形態の動作（エミュレーション部準備）を説明するためのシーケンス図である。図９に示した第２の実施形態におけるエミュレーション部準備との相違点は、エミュレーション部の準備が、間欠的ないし段階的に行われている点である。
【００６８】
具体的には、図１２の例では、コントローラ２０側にて、ユーザの契約状態と累積送受信パケット量を参照して、通信装置（端末）１０Ｃに機能モジュールをインストールするか否かの判定が行われる（ステップＳ５０１）。図１２の例では、前記判定の結果、ユーザの契約に基づき、累積送受信パケット量による制御が必要であると判断されて、機能モジュールＢのインストールが行われている（ステップＳ５０２）。
【００６９】
その後、通信装置１０Ｃは、上記したコントローラ２０と通信装置１０Ｃ間のチャネル切断やコントローラ２０からの指示によりエミュレーション部１２Ｃを起動して、自律制御を開始する。例えば、通信装置１０Ｃは、図１４の「デフォルト設定によるフロー振り分け」で示された区間のように、送信パケットのうち、一定割合を３Ｇ網を用いて送信し、その他を無線ＬＡＮ経由で送信するといったネットワーク切替を行う。
【００７０】
コントローラ２０は、所定の時間経過すると、再度ユーザの契約状態と累積送受信パケット量を参照して、通信端末１０Ｃにインストールした機能モジュールを更新するか否かを判定する（ステップＳ５０３）。図１２の例では、前記判定の結果、ユーザの契約に基づき、累積送受信パケット量が所定のしきい値Ｔｈを超えたため、機能モジュールＢが参照するアクセスポリシ（通信ポリシ）の更新が行われている（ステップＳ５０４）。
【００７１】
前記アクセスポリシ（通信ポリシ）の更新により、例えば、通信装置１０Ｃは、図１４の「設定１によるフロー振り分け」で示された区間のように、原則３Ｇ網へのパケット送出が禁止される。
【００７２】
以上のように、本実施形態によれば、通信装置１０Ｃに、ユーザの契約状態と累積送受信パケット量を考慮した、きめ細かい制御を行わせることができる。なお、図１４の例では、累積送受信パケット量が所定のしきい値Ｔｈを超えた場合に、３Ｇ網へのパケット送出が禁止する例を挙げて説明したが、例えば、図１５に示すように、複数のしきい値Ｔｈ１、Ｔｈ２を設けて、累積送受信パケット量が増えるに従い、段階的に３Ｇ網へのパケット送出が抑制されるような制御を行わせてもよい。
【００７３】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した各実施形態では、１台のコントローラ２０に１台の通信装置１０が接続されている例を挙げて説明したが、コントローラ２０及び通信装置１０がそれぞれ複数接続されている構成においても同様に動作させることが可能である。
【００７４】
また、上記した実施形態では、エミュレーション部１２を構成する各機能モジュールは、コントローラ２０からインストールされるものとして説明したが、所定のアプリケーションサーバ等から、エミュレーション部１２を構成する各機能モジュールをダウンロードできるようにしてもよい。
【００７５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信装置参照）
［第２の形態］
前記通信装置において、
さらに、前記制御装置との間のチャネルの状態を検出するチャネル状態検出部を備え、
前記エミュレーション部は、前記制御装置との間のチャネルが切断状態になっている間に、前記処理規則の作成と設定を実行する通信装置。
［第３の形態］
前記通信装置において、
前記エミュレーション部は、前記制御装置からの指示に従って、前記処理規則の作成と設定を実行する通信装置。
［第４の形態］
前記通信装置において、
前記エミュレーション部は、前記制御装置に代わって、フロー毎に接続先の通信網を切り替える処理規則を作成する通信装置。
［第５の形態］
前記通信装置において、
前記エミュレーション部は、前記制御装置に代わって、所定のアクセスポリシに従って、接続先の通信網を切り替える処理規則を作成する通信装置。
［第６の形態］
前記通信装置において、
前記所定のアクセスポリシとして、前記制御装置から受信したアクセスポリシを用いる通信装置。
［第７の形態］
前記通信装置において、
前記所定のアクセスポリシは、前記通信装置の累積通信量に応じて、接続先を移動体通信網から無線ＬＡＮへと段階的に切り替えていくアクセスポリシである通信装置。
［第８の形態］
前記通信装置において、
前記エミュレーション部は、所定のサーバからインストールされたアプリケーションプログラムが前記通信装置上で動作することによって構成される通信装置。
［第９の形態］
（上記第２の視点による制御装置参照）
［第１０の形態］
前記制御装置において、
前記同期部は、前記通信装置に対して、前記処理規則の作成を指示する制御装置。
［第１１の形態］
前記制御装置において、
さらに、前記通信装置が接続している網の状態を監視する網状態監視部または自装置の負荷状態を測定する負荷状態測定部を備え、
前記同期部は、前記通信装置が接続している網のトラヒックが所定の水準を超えた場合または自装置の負荷状態が所定の水準を超えた場合に、前記通信装置部に対して、前記処理規則の作成を指示する制御装置。
［第１２の形態］
前記制御装置において、
前記通信装置のエミュレーション部に対して、接続先の通信網を切り替える処理規則を作成するためのアクセスポリシを送信する制御装置。
［第１３の形態］
前記制御装置において、
前記アクセスポリシは、前記通信装置の累積通信量に応じて、接続先を移動体通信網から無線ＬＡＮへと段階的に切り替えていくアクセスポリシである制御装置。
［第１４の形態］
（上記第３の視点による通信システム参照）
［第１５の形態］
（上記第４の視点によるパケット処理方法参照）
［第１６の形態］
（上記第５の視点による通信装置の制御方法参照）
［第１７の形態］
（上記第６の視点によるコンピュータプログラム参照）
【００７６】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７７】
１０、１０Ａ、１０Ｂ、１０Ｃ  通信装置
１１、１１Ａ、１１Ｂ、１１Ｃ  同期制御部
１２、１２Ａ、１２Ｃ  エミュレーション部
１３、１３Ａ、１３Ｃ  パケット処理部
１４  フローテーブル
２０、２０Ａ、２０Ｂ  制御装置（コントローラ）
２１  通信装置制御部
２２、２２Ｂ  同期部
１１１  処理内容記憶部
１１２  チャネル状態検出部
【図１】
2015509670.tif 000003
【図２】
2015509670.tif 000004
【図３】
2015509670.tif 000005
【図４】
2015509670.tif 000006
【図５】
2015509670.tif 000007
【図６】
2015509670.tif 000008
【図７】
2015509670.tif 000009
【図８】
2015509670.tif 000010
【図９】
2015509670.tif 000011
【図１０】
2015509670.tif 000012
【図１１】
2015509670.tif 000013
【図１２】
2015509670.tif 000014
【図１３】
2015509670.tif 000015
【図１４】
2015509670.tif 000016
【図１５】
2015509670.tif 000017
【国際調査報告】
2015509670.tif 000018
2015509670.tif 000019