(57)【要約】  ユーザ等が意図しない通信の発生を防止することができる端末装置を提供する。通信制御手段９１は、パケットを送信するパケット転送手段を制御する。指示情報付与手段９２は、通信制御手段９１に対する指示を表す指示情報を通信制御手段９１に与える。通信制御手段９１は、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を指示情報付与手段９２に送る。指示情報付与手段９２は、そのフロー検出通知を受けるとフローの通信を許可するか否かを決定する。そして、指示情報付与手段９２は、通信を許可すると決定した場合に、フローのパケットを指示情報付与手段９２が指定するアクセス網を経路として送信することを指示する指示情報を通信制御手段９１に与える。
2015052866.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送信するパケット転送手段を制御する通信制御手段と、
前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与える指示情報付与手段とを備え、
前記通信制御手段は、
新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を前記指示情報付与手段に送り、
前記指示情報付与手段は、
前記フロー検出通知を受けると前記フローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、前記フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える
ことを特徴とする端末装置。
【請求項２】
通信制御手段は、
フローのパケットを指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を与えられた後に、当該フローのパケットを前記アクセス網に対応する通信インタフェース部から送信するようにパケット転送手段を制御する
請求項１に記載の端末装置。
【請求項３】
通信制御手段は、
フロー検出通知として、フローの送信元となるアプリケーションソフトウェアおよびフローの宛先の情報を指示情報付与手段に送る
請求項１または請求項２に記載の端末装置。
【請求項４】
指示情報付与手段は、
フロー検出通知の対象となるフローを指示する指示情報を通信制御手段に与え、
前記通信制御手段は、
前記指示情報で指示されたフローを新たに検出した場合に、フロー検出通知を前記指示情報付与手段に送る
請求項１から請求項３のうちのいずれか１項に記載の端末装置。
【請求項５】
指示情報付与手段は、
フローの送信元となるアプリケーションソフトウェアおよびフローの宛先のいずれか一方あるいは両方を指定することによってフロー検出通知の対象となるフローを指示する指示情報を通信制御手段に与える
請求項４に記載の端末装置。
【請求項６】
通信制御手段は、
オープンフローに従ってパケット転送手段を制御する
請求項１から請求項５のうちのいずれか１項に記載の端末装置。
【請求項７】
通信制御手段が、
パケットを送信するパケット転送手段を制御し、
指示情報付与手段が、
前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与え、
前記通信制御手段が、
新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を前記指示情報付与手段に送り、
前記指示情報付与手段が、
前記フロー検出通知を受けると前記フローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、前記フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える
ことを特徴とする端末装置制御方法。
【請求項８】
通信制御手段が、
フローのパケットを指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を与えられた後に、当該フローのパケットを前記アクセス網に対応する通信インタフェース部から送信するようにパケット転送手段を制御する
請求項７に記載の端末装置制御方法。
【請求項９】
パケットを送信するパケット転送手段を制御する通信制御手段と、前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与える指示情報付与手段とを備え、端末装置として用いられるコンピュータに搭載される端末装置制御プログラムであって、
前記コンピュータに、
前記通信制御手段が、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を前記指示情報付与手段に送るフロー検出通知処理、および、
前記指示情報付与手段が、前記フロー検出通知を受けると前記フローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、前記フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える指示情報付与処理
を実行させるための端末装置制御プログラム。
【請求項１０】
コンピュータに、
通信制御手段が、フローのパケットを指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を与えられた後に、当該フローのパケットを前記アクセス網に対応する通信インタフェース部から送信するようにパケット転送手段を制御する制御処理
を実行させる請求項９に記載の端末装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部と通信可能な端末装置、その端末装置を制御する端末装置制御方法、および、その端末装置を制御するための端末装置制御プログラムに関する。
【背景技術】
【０００２】
パケットを転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー（ＯｐｅｎＦｌｏｗ）が知られている。オープンフローは、非特許文献１で規定されている。【０００３】
オープンフローでは、制御装置がスイッチにフローエントリを設定する。そして、スイッチは、受信したパケットをそのフローエントリに従って処理する。フローエントリとは、パケットをどのように処理するか（例えば、転送、廃棄等）を規定した情報である。フローエントリは、パケットのフロー毎に設定される。スイッチがパケットを受信したときに、そのパケットのフローに対応するフローエントリが存在する場合、スイッチは、そのフローエントリに従ってそのパケットを処理する。一方、受信したパケットのフローに対応するフローエントリが存在しない場合、スイッチはその旨を制御装置に通知する。そして、制御装置は、そのパケットのフローに対応するフローエントリを決定し、スイッチに設定する。【０００４】
オープンフローにおいて、制御装置とスイッチとが送受信するメッセージの例として、“Packet_in ”，“Flow_mod”，“Packet_out”，“Flow_removed”等がある。【０００５】
“Packet_in ”は、スイッチから制御装置に送られるメッセージである。“Packet_in ”は、対応するフローエントリが存在しなかったパケットをスイッチから制御装置に送るために用いられる。【０００６】
“Flow_mod”は、制御装置からスイッチに送られるメッセージである。“Flow_mod”は、制御装置からスイッチに対してフローエントリの追加、変更、削除を行うためのメッセージである。【０００７】
“Packet_out”は、制御装置からスイッチに送られるメッセージである。“Packet_out”は、ポートからのパケット出力を指示するメッセージである。【０００８】
“Flow_removed”は、スイッチから制御装置に送られるメッセージである。“Flow_removed”は、フローエントリが一定時間使用されず、タイムアウトでスイッチから消去される場合に、その旨を制御装置に通知するメッセージである。スイッチは、“Flow_removed”を送信する際、消去されたフローエントリに対応するフローの統計情報も制御装置に送信する。【０００９】
また、特許文献１には、オープンフローを適用したシステムが記載されている。そして、制御装置が、送信元のＭＡＣ（Media Access Control）アドレスやＩＰ（Internet Protocol ）アドレスを詐称した不正アドレスを検証し、偽証を検出した場合、パケットの転送を許可しないフローエントリをスイッチに設定することが記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開ＷＯ２０１２／０７７６０３号パンフレット（段落００５８）
【非特許文献】
【００１１】
【非特許文献１】“OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01)”、２００９年１２月３１日、［平成２５年９月２０日検索］、インターネット<http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１２】
近年、外部と通信可能な端末装置として、スマートフォン等が急速に普及している。これらの端末装置は、インストールされている種々のアプリケーションに従って通信を行う。しかし、このような通信の中には、ユーザが意図しない通信が含まれる場合もあり得る。例えば、通信を行うことが考えにくいアプリケーション（例えば、バッテリ節約アプリケーション）を装ったアプリケーションがインストールされ、そのアプリケーションがユーザの情報を外部に送信してしまうこと等がある。そして、端末装置には、どのような通信が行われているかを認識し、その認識結果を踏まえて通信制御を実現するための汎用的な手段がなかった。そのため、上記のように、ユーザ等が意図しない通信が生じることがあった。【００１３】
そこで、本発明は、ユーザ等が意図しない通信の発生を防止することができる端末装置、端末装置制御方法、および端末装置制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による端末装置は、パケットを送信するパケット転送手段を制御する通信制御手段と、通信制御手段に対する指示を表す指示情報を通信制御手段に与える指示情報付与手段とを備え、通信制御手段が、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を指示情報付与手段に送り、指示情報付与手段が、フロー検出通知を受けるとフローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を通信制御手段に与えることを特徴とする。【００１５】
また、本発明による端末装置制御方法は、通信制御手段が、パケットを送信するパケット転送手段を制御し、指示情報付与手段が、通信制御手段に対する指示を表す指示情報を通信制御手段に与え、通信制御手段が、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を指示情報付与手段に送り、指示情報付与手段が、フロー検出通知を受けるとフローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を通信制御手段に与えることを特徴とする。【００１６】
また、本発明による端末装置制御プログラムは、パケットを送信するパケット転送手段を制御する通信制御手段と、通信制御手段に対する指示を表す指示情報を通信制御手段に与える指示情報付与手段とを備え、端末装置として用いられるコンピュータに搭載される端末装置制御プログラムであって、コンピュータに、通信制御手段が、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を指示情報付与手段に送るフロー検出通知処理、および、指示情報付与手段が、フロー検出通知を受けるとフローの通信を許可するか否かを決定し、通信を許可すると決定した場合に、フローのパケットを当該指示情報付与手段が指定するアクセス網を経路として送信することを指示する指示情報を通信制御手段に与える指示情報付与処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザ等が意図しない通信の発生を防止することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の端末装置の例を示すブロック図である。
【図２】ポリシを模式的に示す説明図である。
【図３】ＯＦＣの詳細を示すブロック図である。
【図４】フロー管理部が管理する情報の例を示す模式図である。
【図５】ポリシ管理部の詳細を示すブロック図である。
【図６】本発明の処理経過の例を示すシーケンス図である。
【図７】ＯＦＣの処理経過の例を示すシーケンス図である。
【図８】ポリシ管理部の処理経過の例を示すシーケンス図である。
【図９】本発明の端末装置の主要部を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面を参照して説明する。以下、オープンフローにおける制御装置をＯＦＣ（OpenFlow Controller ）と記す。また、オープンフローにおけるスイッチをＯＦＳ（OpenFlow Switch ）と記す。
【００２０】
図１は、本発明の端末装置の例を示すブロック図である。本発明の端末装置１は、例えば、スマートフォンやタブレット型端末装置であるが、これらに限定されない。本発明の端末装置１は、通信制御管理部２と、制御アプリケーション部３と、パケット転送部４と、プロトコル処理部５と、アプリケーション部６と、通信インタフェース部７ａ〜７ｎとを備える。
【００２１】
各アプリケーション部６は、端末装置１にインストールされた各アプリケーションソフトウェア（以下、単にアプリケーションと記す。）に従って動作するＣＰＵによって実現される。各アプリケーション部６は、対応するアプリケーションに応じた動作を行う。
【００２２】
パケット転送部４は、アプリケーション部６が外部に送信しようとするパケットを、通信制御管理部２に従って処理する（例えば、転送したり、破棄したりする）。
【００２３】
通信制御管理部２は、制御アプリケーション部３からの指示に基づいて、パケット転送部４におけるパケット処理を制御する。本実施形態では、通信制御管理部２がオープンフローに従ってパケット転送部４を制御する場合を例にして説明する。すなわち、本実施形態では、通信制御管理部２がオープンフローにおけるＯＦＣに該当し、パケット転送部４がオープンフローにおけるＯＦＳに該当するものとして説明する。ただし、通信制御管理部２は、オープンフロー以外のプロトコルでパケット転送部４を制御してもよい。以下、通信制御管理部２をＯＦＣ２と記す。また、パケット転送部４をＯＦＳ４と記す。ＯＦＣ２およびＯＦＳ４は、プログラムに従って動作するＣＰＵによって実現される。ＯＦＣ２としての機能を実現させるプログラムはＯＦＣ基盤と称される。
【００２４】
制御アプリケーション部３は、制御アプリケーションソフトウェアに従って動作するＣＰＵによって実現される。以下、制御アプリケーションソフトウェアを制御アプリケーションと記す。制御アプリケーション部３は、ＯＦＣ２に対する指示を表す指示情報をＯＦＣ２に送る。この指示情報をポリシと記す。
【００２５】
通信インタフェース部７ａ〜７ｎは、それぞれ、３Ｇ（3rd Generation）、ＬＴＥ（Long Term Evolution ）、Ｗｉ−Ｆｉ（Wireless Fidelity 、登録商標）等の各種通信に対応する通信インタフェースである。各通信インタフェース部７ａ〜７ｎは、具体的には、ＯＦＳ２のポートとして識別される。
【００２６】
プロトコル処理部５は、プログラムに従って動作するＣＰＵによって実現される。プロトコル処理部５は、アプリケーションに対して通信サービスを提供する。プロトコル処理部５は、伝送路で用いられるＴＣＰ（Transmission Control Protocol ）、ＵＤＰ（User Datagram Protocol）等のプロトコルを実装した部分である。プロトコル処理部５は、各通信インタフェース部７ａ〜７ｎが使用できる状態か否かを監視し、その監視結果をＯＦＣ２（具体的には、後述のノード状態管理部２５、図３参照）に通知する。また、プロトコル処理部５は、自ポート番号および、その自ポート番号に対応するプロセスＩＤ（Identification）をＯＦＣ２（具体的には、後述のプロトコル状態管理部２６、図３参照）に通知する。上記の自ポート番号は、アプリケーションから指示された各通信におけるＴＣＰ，ＵＤＰ等の自ポート番号である。
【００２７】
制御アプリケーション、および、ＯＦＣ２、ＯＦＳ４、プロトコル処理部５の機能を実現するための各プログラムは、端末装置制御プログラムと称することができる。端末装置制御プログラムは、端末装置１の記憶装置（図示略）に記憶され、端末装置１のＣＰＵが端末装置制御プログラムを読み込み、そのプログラムに従って、ＯＦＣ２、制御アプリケーション部３、ＯＦＳ４、プロトコル処理部５として動作する。
【００２８】
制御アプリケーション部３がＯＦＣ２に送るポリシについて説明する。ポリシは、トラフィックの内容に応じたアクションを指示する指示情報である。図２は、ポリシを模式的に示す説明図である。ポリシには、ポリシを検索する際に用いる検索キーと、ポリシが指定する動作を表すアクションとが含まれる。
【００２９】
トラフィックを指定する情報は、検索キーとして記述される。例えば、検索キーとしてアプリケーションＩＤが記述される。アプリケーションＩＤは、制御対象トラフィックを端末装置内で送受信するアプリケーションの識別子である。ポリシにおいてアプリケーションＩＤが未指定である場合、ワイルドカードであるとみなされる。
【００３０】
また、例えば、制御対象トラフィックのフローの識別情報が検索キーとして記述されていてもよい。フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。
【００３１】
また、検索キーには、優先度が含まれていてもよい。優先度は、共通のトラフィックに対応するポリシが複数存在する場合、それらポリシの優先順位を表す。従って、ＯＦＣ２が、あるトラフィックに対応するポリシを検索した結果、複数のポリシが得られた場合、ＯＦＣ２は、そのポリシのうち最も優先度が高いポリシのみを最終的に検索結果とする。
【００３２】
また、検索キーには、ポリシの識別子であるポリシＩＤが含まれる。
【００３３】
アクションを指定する態様には、トラフィックに応じて、そのトラフィックの経路を指定する態様がある。この態様では、端末装置が接続し得るアクセス網（Ｗｉ−Ｆｉや３Ｇ等）が指定される。例えば、あるトラフィックに対応するポリシで、アクションとしてＷｉ−Ｆｉが指定されていた場合、そのトラフィックのパケットはＷｉ−Ｆｉに対応する通信インタフェース部から送信されることになる。
【００３４】
また、アクションを指定する態様として、予め規定された動作を実行するか否かをフラグによって定める態様がある。予め規定された動作の例として、例えば、「ＯＦＣ２がポリシで指定された条件に該当する新規フローを検出した場合、ＯＦＣ２がその新規フローの送信元のアプリケーションおよび宛先を制御アプリケーション部３に通知する。」等の動作が挙げられる。この動作に対応するフラグが、ポリシ内でオンに設定されているとする。ＯＦＣ２は、新規トラフィック（より具体的には、指定された条件に該当する新規フロー）を検出し、そのトラフィックに対応するポリシとしてこのポリシを検索した場合、フラグで指定された上記の動作を実行する。また、ポリシ内でこのフラグがオフに設定されている場合、ＯＦＣ２は、このポリシを検索したとしても、上記の動作を実行しない。
【００３５】
なお、ポリシには、複数のアクションが記述されていてもよい。
【００３６】
また、ＯＦＳ４にパケットを送信したアプリケーション部６に対応するアプリケーションを、パケットの送信元のアプリケーションと記す。
【００３７】
本発明では、ＯＦＣ２は、ポリシで指定されたトラフィックのパケットを検出すると、そのパケットの送信元となるアプリケーションおよび宛先の情報を、ポリシに従って制御アプリケーション部３に通知する。制御アプリケーション部３は、例えば、端末装置１のユーザに、ＯＦＣ２から通知された情報を伝える。そして、ユーザに通信が許可された場合には、制御アプリケーション部３は、ユーザに指定されたアクセス網にそのトラフィックのパケットを送信する旨のポリシをＯＦＣ２に送る。一方、ユーザに通信が許可されなかった場合には、制御アプリケーション部３は、そのトラフィックのパケットを破棄する旨のポリシをＯＦＣ２に送る。このようなＯＦＣ２に対する制御アプリケーション部３の動作や、制御アプリケーション部３に対するＯＦＣ２の動作が本発明の特徴である。換言すれば、制御アプリケーション部３とＯＦＣ２との間のNorthbound API（Application programming Interface ）が本発明の特徴である。そして、このような本発明の特徴によって、ユーザが意図しない通信の発生を防止できるという効果が得られる。なお、ここでは、制御アプリケーション部３がユーザから通信の許可または不許可の指示を受ける場合を例示したが、制御アプリケーション部３は、例えば、ＭＤＭ（Mobile Device Management）で定められた内容に従って通信の許可または不許可を判定してもよい。
【００３８】
図３は、ＯＦＣ２の詳細を示すブロック図である。ＯＦＣ２は、ＡＰＩ管理部２１と、ポリシ管理部２２と、統計情報管理部２３と、フロー管理部２４と、ノード状態管理部２５と、プロトコル状態管理部２６とを含む。
【００３９】
ＡＰＩ管理部２１は、制御アプリケーション部３からのＡＰＩ呼び出しや、ＯＦＣ２側からの応答を中継する。例えば、ＡＰＩ管理部２１は、制御アプリケーション部３からポリシの追加、変更、削除の通知を受信した場合には、その通知をポリシ管理部２２に送る。また、ポリシ管理部２２が制御アプリケーション部３に情報を送信する場合、ＡＰＩ管理部２１は、その情報を中継する。また、例えば、ＡＰＩ管理部２１は、制御アプリケーション部３からトラフィックの統計情報の要求を受信した場合、その要求を統計情報管理部２３に送る。そして、統計情報管理部２３がその要求に応じて統計情報を制御アプリケーション部３に送信する場合、ＡＰＩ管理部２１は、その統計情報を中継する。
【００４０】
ポリシ管理部２２は、制御アプリケーション部３から送られた各ポリシを保持する。
【００４１】
また、ポリシ管理部２２は、ＯＦＳ４から“Packet_in ”とともにＯＦＣ２に送られたパケット（ＯＦＳ４において、合致するフローエントリが存在しなかったパケット）を取得した場合、そのパケットに応じたポリシを検索し、検索したポリシで定められた動作を実行する。より具体的には、フロー管理部２４が、ＯＦＳ４から“Packet_in ”とともにＯＦＣ２に送られたパケットを受信すると、そのパケットをポリシ管理部２２に送り、ポリシ検索を要求する。以下の説明において、この動作をポリシ問い合わせと呼ぶ場合がある。ポリシ管理部２２は、その要求に応じてポリシを検索し、検索したポリシで定められた動作を実行する。このとき、検索の結果得られたポリシにおいて、アクセス網を指定するアクションが記述されていた場合、ポリシ管理部２２は、そのアクションおよびポリシＩＤを、フロー管理部２４に返すことによって、フロー管理部２４に対してフローエントリの作成を指示する。
【００４２】
統計情報管理部２３は、ＯＦＳ４から送られる統計情報を保持する。
【００４３】
フロー管理部２４は、ＯＦＳ４との間で通信を行い、また、ＯＦＳ４に設定するフローエントリに関する情報を管理する。フロー管理部２４は、ＯＦＳ４から“Packet_in ”とともにパケット（ＯＦＳ４において、合致するフローエントリが存在しなかったパケット）を受信した場合、そのパケットをポリシ管理部２２に送り、ポリシ検索を要求する。この応答として、ポリシ管理部２２からアクセス網を指定するアクションおよびポリシＩＤを受け取った場合、フロー管理部２４は、そのアクションと、上記のパケットのフロー情報とに基づいて、フローエントリを作成し、そのフローエントリをＯＦＳ４に送信する。そして、フロー管理部２４は、そのフローエントリに関する情報を管理する。
【００４４】
図４は、フロー管理部２４が管理する情報の例を示す模式図である。フロー管理部２４は、フローエントリ毎に図４に例示する情報を作成し、保持する。そして、フロー管理部２４が管理する各情報には、それらの個々の情報を検索するための検索キーが含まれる。その検索キーには、フローエントリで制御されるトラフィックのフローの識別情報が記述される。既に説明したように、フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。また、検索キーには、フローエントリを設定するときに利用したポリシＩＤも含まれる。さらに、フロー管理部２４が管理する各情報には、フローエントリで設定されるアクションも記述される。
【００４５】
また、フロー管理部２４は、“Flow_removed”を受信した場合、“Flow_removed”とともにＯＦＳ４から受信した統計情報を統計情報管理部２３に送る。図４に示すように、フローエントリとポリシＩＤとが対応付けられているので、消去されたフローの統計情報がＯＦＳ４から送られた場合であっても、統計情報管理部２３が、その統計情報がどのアプリケーションに対応する統計情報かを認識できる。
【００４６】
ノード状態管理部２５は、各通信インタフェース部７ａ〜７ｎ（図１参照）が使用できる状態か否かを示す情報をプロトコル処理部５から取得し、保持する。ポリシ管理部２２（具体的には、後述のアクション選択部２２４。図５参照。）は、この情報を参照することによって、個々の通信インタフェース部７ａ〜７ｎが使用可能であるか否かを判定する。ポリシ管理部２２（具体的には、アクション選択部２２４）は、パケットを送出しようとする通信インタフェース部が使用できない場合、検索したポリシにおいて、その通信インタフェース部に対応するアクセス網を指定するアクションが記述されていても、そのアクションをフロー管理部２４に送らない。この結果、使用できない通信インタフェース部からパケットを送出するフローエントリは作成されない。
【００４７】
プロトコル状態管理部２６は、パケットのフロー情報と、そのパケットの送信元アプリケーションのアプリケーションＩＤ（アプリケーションの識別子）との対応関係を表す情報を保持する。本例では、パケットのフロー情報として自ポート番号を用いる場合を例にする。プロトコル状態管理部２６は、プロトコル処理部５（図１参照）から自ポート番号およびプロセスＩＤを取得する。プロトコル状態管理部２６は、そのプロセスＩＤに対応するＵＩＤ（User ID ）と、そのＵＩＤに対応するアプリケーションＩＤとを対応づけた情報を作成し、その情報を保持する。この結果、フロー情報（自ポート番号）とアプリケーションＩＤとが対応づけられ、フロー情報からアプリケーションＩＤを検索することが可能となる。ただし、プロトコル状態管理部２６が、フロー情報とアプリケーションＩＤとの対応関係を示す情報を保持する態様は、特に限定されず、上記の態様でなくてもよい。
【００４８】
図５は、ポリシ管理部２２の詳細を示すブロック図である。ポリシ管理部２２は、ポリシテーブル記憶部２２１と、ポリシエントリ管理部２２２と、ポリシ検索部２２３と、アクション選択部２２４とを含む。
【００４９】
ポリシテーブル記憶部２２１は、ポリシを記憶する記憶装置（例えば、メモリ）である。
【００５０】
ポリシエントリ管理部２２２は、ＡＰＩ管理部２１を介して、制御アプリケーション部３からポリシの追加、変更、削除の通知を受信すると、その通知に従って、ポリシテーブル記憶部２２１内のポリシを更新する。例えば、ポリシエントリ管理部２２２は、ポリシテーブル記憶部２２１に新たにポリシを記憶させたり、ポリシテーブル記憶部２２１に記憶されているポリシの内容を変更したり、ポリシテーブル記憶部２２１に記憶されているポリシを削除したりする。
【００５１】
ポリシ検索部２２３は、フロー管理部２４からパケットが送られると、そのパケットのフロー情報（本例ではポート番号）をキーとして、プロトコル状態管理部２６にそのフロー情報に対応するアプリケーションＩＤを検索させる。プロトコル状態管理部２６は、検索したアプリケーションＩＤをポリシ検索部２２３に返す。このアプリケーションＩＤは、パケットの送信元となったアプリケーションＩＤである。ポリシ検索部２２３は、このアプリケーションＩＤおよびフロー管理部２４から送られたパケットのフロー情報をキーとして、ポリシテーブル記憶部２２１からポリシを検索する。
【００５２】
アクション選択部２２４は、ポリシ検索部２２３によって検索されたポリシで定められているアクションを選択する。例えば、ポリシ検索部２２３によって検索されたポリシにおいて、フロー検出通知を行うというアクションが定められている場合、アクション選択部２２４は、制御アプリケーション部３に対してフロー検出通知を行う。また、例えば、ポリシにおいて、アクセス網を指定するアクションが記述されていた場合、アクション選択部２２４は、そのアクションおよびポリシＩＤを、フロー管理部２４に返すことによって、フロー管理部２４に対してフローエントリの作成を指示する。
【００５３】
次に、本発明の動作について説明する。図６は、本発明の処理経過の例を示すシーケンス図である。図６において、ＡＰＰは、アプリケーションを意味するものとする。また、図６において、制御アプリケーション部３がＯＦＣ２に送るポリシの内容、および、ＯＦＣ２が制御アプリケーション部３に送るフロー検出通知の内容は、破線で囲んで図示する。
【００５４】
まず、制御アプリケーション部３は、「ＯＦＣ２がポリシで指定された条件に該当する新規フローを検出した場合、ＯＦＣ２がその新規フローの送信元アプリケーションおよび宛先を制御アプリケーション部３に通知する。」というフロー検出通知を指示するとともに、その条件を規定したポリシを追加するように、ＯＦＣ２に指示する（ステップＳ１）。ＯＦＣ２は、このポリシを保持する。制御アプリケーション部３は、上記のフロー検出通知に対応するフラグをオンに設定すればよい。以下の説明では、ステップＳ１で制御アプリケーション部３がＯＦＣ２に送るポリシの検索キーにおいて、制御アプリケーション部３が、フロー検出通知の条件として、送信元アプリケーションのアプリケーションＩＤを指定する場合を例にして説明する。さらに本例では、アプリケーションＩＤとして、ゲームアプリケーションのアプリケーションＩＤが指定される場合を例にして説明する。
【００５５】
なお、制御アプリケーション部３は、例えば、ユーザから入力された情報に基づいて、上記のポリシを作成してもよく、あるいは、ＭＤＭで定められた内容に基づいて上記のポリシを作成してもよい。
【００５６】
ポリシ内で指定されたゲームアプリケーションに対応するアプリケーション部６が、ＯＦＳ４にゲームサイト（ゲームのＷｅｂサイト）宛のパケットを送信したとする（ステップＳ２）。
【００５７】
ステップＳ２の時点で、ＯＦＳ４には、このパケットのフローに対応するフローエントリは格納されていない。そのため、ＯＦＳ４は、“Packet_in ”によってそのパケットをＯＦＣ２に送信する（ステップＳ３）。
【００５８】
ＯＦＣ２は、“Packet_in ”を受信することにより、新規フローを検出する。そして、ＯＦＣ２は、その新規フローに対応するポリシを検索する。ここでは、ステップＳ１で取得したポリシが検索結果として得られる。ＯＦＣ２は、このポリシに従って、フロー検出通知を実行する。すなわち、ＯＦＣ２は、新規フローの送信元のアプリケーション（ゲームアプリケーション）と、その新規フローの宛先（ゲームサイト）とを制御アプリケーション部３に通知する（ステップＳ４）。
【００５９】
制御アプリケーション部３は、ステップＳ４で受信したフロー検出通知に応じて、新規フローによる通信を許可するか否かを決定する。そして、制御アプリケーション部３は、その決定結果に応じたポリシの追加をＯＦＣ２に指示する。新規フローの通信を許可するか否かの決定方法は、特に限定されない。例えば、制御アプリケーション部３は、新規フローの送信元のアプリケーションおよび宛先となるＷｅｂサイトを端末装置１の表示部（図示略）に表示させ、ユーザから、新規フローの通信を許可するか否かを指定されてもよい。すなわち、制御アプリケーション部３は、ユーザの決定に従って、通信を許可するか否かを決定してもよい。この場合、制御アプリケーション部３は、例えば、通信経路となるアクセス網もユーザに指定される。また、予めＭＤＭで定められた内容に従って、制御アプリケーション部３は、通信を許可するか否かを決定してもよい。この場合、通信を許可する場合に用いるアクセス網もＭＤＭで定められていればよい。
【００６０】
ここでは、制御アプリケーション部３が、新規フローの通信を許可するとともに、通信経路をＷｉ−Ｆｉとする場合を例にして説明する。制御アプリケーション部３は、ステップＳ４で通知された送信元（ゲームアプリケーション）および宛先（ゲームサイト）に該当するフローに関しては、Ｗｉ−Ｆｉを用いて送信する旨のポリシを作成し、そのポリシの追加をＯＦＣ２に指示する（ステップＳ５）。ただし、制御アプリケーション部３は、ステップＳ５で作成するポリシの優先度を、ステップＳ１で作成したポリシの優先度よりも高くする。ＯＦＣ２は、制御アプリケーション部３からの指示に従い、新たにポリシを保持する。
【００６１】
また、ゲームアプリケーションに対応するアプリケーション部６は、ステップＳ２の後にもゲームサイト宛のパケットをＯＦＳ４に送信する（ステップＳ６）。ステップＳ６の時点でも、ＯＦＳ４には、このパケットのフローに対応するフローエントリは格納されていない。そのため、ＯＦＳ４は、“Packet_in ”によってそのパケットをＯＦＣ２に送信する（ステップＳ７）。
【００６２】
ＯＦＣ２がステップＳ７で受信したパケットは、ゲームアプリケーションを送信元とし、ゲームサイトを宛先としている。ＯＦＣ２は、このパケットのフロー情報に対応するポリシとして、ステップＳ５で取得したポリシを検索する。なお、ステップＳ１で取得したポリシも検索されるが、ステップＳ５で取得したポリシの優先度の方が高い。そのため、ＯＦＣ２は、ステップＳ５で取得したポリシを検索結果とする。そして、ＯＦＣ２は、検索したポリシに基づいて、フローエントリを作成する。すなわち、ＯＦＣ２は、ステップＳ７で“Packet_in ”とともにＯＦＳ４から受信したパケットのフローに関して、Ｗｉ−Ｆｉの通信インタフェース部から送信する旨を定めたフローエントリを定め、ＯＦＳ４に送る（ステップＳ８）。そして、ＯＦＳ４は、そのフローエントリを格納する。ステップＳ８で、ＯＦＣ２は、具体的には、“Flow_mod(Wi-Fi) ”および“Packet_out”をＯＦＳ４に送る。
【００６３】
ＯＦＳ４は、そのフローエントリに従って、アプリケーション部６から受信したゲームサイト宛のパケットを、Ｗｉ−Ｆｉの通信インタフェース部から送信する（ステップＳ９）。その結果、そのパケットは、ゲームサイトに送信される。
【００６４】
ＯＦＣ２がステップＳ８でＯＦＳ４に対してフローエントリを設定するまでの間、ゲームアプリケーションに対応するアプリケーション部６がゲームサイト宛のパケットをＯＦＳ４に送っても、そのパケットはゲームサイトに向けて送信されない。すなわち、ステップＳ８でフローエントリが設定されるまでは、ゲームアプリケーションを送信元とするゲームサイト宛のパケットの通信は行われない。
【００６５】
そして、ステップＳ８で、フローエントリがＯＦＳ４に設定された後には、ＯＦＳ４は、ゲームアプリケーションに対応するアプリケーション部６から受信するゲームサイト宛のパケットを、そのフローエントリに従って、Ｗｉ−Ｆｉの通信インタフェース部から送信する。
【００６６】
また、ゲームアプリケーションに対応するアプリケーション部６が、ゲームサイト以外のサイト（以下、ＷｅｂサイトＸと記す。）宛のパケットをＯＦＳ４に送信したとする（ステップＳ１２）。ＯＦＳ４には、このパケットのフローに対応するフローエントリは格納されていない。そのため、ＯＦＳ４は、“Packet_in ”によってそのパケットをＯＦＣ２に送信する（ステップＳ１３）。
【００６７】
ＯＦＣ２は、“Packet_in ”を受信することにより、新規フローを検出する。そして、ＯＦＣ２は、その新規フローに対応するポリシを検索する。ここでは、ステップＳ１で取得したポリシが検索結果として得られる。なお、ステップＳ５で取得したポリシでは、検索キーとなる宛先が、新規フローの宛先とは一致しないので、ステップＳ５で取得したポリシは検索されない。
【００６８】
ＯＦＣ２は、ポリシに従って、フロー検出通知を実行する。すなわち、ＯＦＣ２は、新規フローの送信元のアプリケーション（ゲームアプリケーション）と、その新規フローの宛先（ＷｅｂサイトＸ）とを制御アプリケーション部３に通知する（ステップＳ１４）。
【００６９】
制御アプリケーション部３は、ステップＳ１４で受信したフロー検出通知に応じて、新規フローによる通信を許可するか否かを決定し、その決定結果に応じたポリシをＯＦＣ２に送る。ここでは、制御アプリケーション部３が、新規フローの通信を許可しない場合を例にして説明する。例えば、新規フローの送信元のアプリケーションおよび宛先となるＷｅｂサイトを端末装置１の表示部（図示略）に表示させたとする。そして、宛先がユーザの意図しないＷｅｂサイトであるため、ユーザによって、新規フローの通信の不許可が指定されたものとする。
【００７０】
制御アプリケーション部３は、ステップＳ１４で通知された送信元（ゲームアプリケーション）および宛先（ＷｅｂサイトＸ）に該当するフローに関しては、パケットを破棄（Drop）する旨のポリシを作成し、そのポリシの追加をＯＦＣ２に指示する（ステップＳ１５）。ただし、制御アプリケーション部３は、ステップＳ１５で作成するポリシの優先度を、ステップＳ１で作成したポリシの優先度よりも高くする。ＯＦＣ２は、制御アプリケーション部３からの指示に従い、新たにポリシを保持する。
【００７１】
また、ゲームアプリケーションに対応するアプリケーション部６は、ステップＳ１２の後にもＷｅｂサイトＸ宛のパケットをＯＦＳ４に送信する（ステップＳ１６）。ステップＳ１６の時点でも、ＯＦＳ４には、このパケットのフローに対応するフローエントリは格納されていない。そのため、ＯＦＳ４は、“Packet_in ”によってそのパケットをＯＦＣ２に送信する（ステップＳ１７）。
【００７２】
ＯＦＣ２がステップＳ１７で受信したパケットは、ゲームアプリケーションを送信元とし、ＷｅｂサイトＸを宛先としている。ＯＦＣ２は、このパケットのフロー情報に対応するポリシとして、ステップＳ１５で取得したポリシを検索する。なお、ステップＳ１で取得したポリシも検索されるが、ステップＳ１５で取得したポリシの優先度の方が高い。そのため、ＯＦＣ２は、ステップＳ１５で取得したポリシを検索結果とする。そして、ＯＦＣ２は、検索したポリシに基づいて、フローエントリを作成する。すなわち、ＯＦＣ２は、ステップＳ１７で“Packet_in ”とともにＯＦＳ４から受信したパケットのフローに関して、破棄する旨を定めたフローエントリを定め、ＯＦＳ４に送る（ステップＳ１８）。そして、ＯＦＳ４は、そのフローエントリを格納する。ステップＳ１８で、ＯＦＣ２は、具体的には、“Flow_mod(Drop)”をＯＦＳ４に送る。
【００７３】
ＯＦＳ４は、そのフローエントリに従って、アプリケーション部６から受信したＷｅｂサイトＸ宛のパケットを破棄する。以降、ＯＦＳ４は、ゲームアプリケーションに対応するアプリケーション部６からＷｅｂサイトＸ宛のパケットを受信した場合、ステップＳ１８で設定されたフローエントリに従い、そのパケットを破棄する。
【００７４】
図７は、ＯＦＣ２の処理経過の例を示すシーケンス図である。以下、図７および図３を参照して、図６で示した動作におけるＯＦＣ２の処理経過を説明する。
【００７５】
ステップＳ１（図６参照）で制御アプリケーション部３がＯＦＣ２に対してポリシの追加指示を送ると、ＯＦＣ２内のＡＰＩ管理部２１がその指示を受け、ポリシ管理部２２に対して、そのポリシの追加を指示する（ステップＳ２１）。ポリシ管理部２２は、その指示に応じて追加されたポリシを保持する。このポリシは、前述のステップＳ１で説明した、フロー検出通知を指示するポリシである。また、ポリシ内の検索キー（図２参照）において、ゲームアプリケーションのアプリケーションＩＤが指定されている。
【００７６】
また、ステップＳ３（図６参照）でＯＦＳ４が“Packet_in ”を送信すると、フロー管理部２４がその“Packet_in ”を受信する。この結果、フロー管理部２４は、ＯＦＳ４において対応するフローエントリが存在していなかったパケットも受信する。このパケットは、ゲームアプリケーションを送信元とするパケットである。このパケットでは、自ポート番号として、例えば“５４３２１”が定められているとする。フロー管理部２４は、このパケットをポリシ管理部２２に送り、そのパケットに応じたポリシの検索を要求する（ステップＳ２２）。
【００７７】
ポリシ管理部２２は、この要求により“Packet_in ”の受信を検出する（換言すれば、新規フローを検出する）。そして、ポリシ管理部２２は、ステップＳ２２で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションＩＤの検索をプロトコル状態管理部２６に指示する（ステップＳ２３）。すなわち、ポリシ管理部２２は、パケットの送信元となるアプリケーションのアプリケーションＩＤの検索をプロトコル状態管理部２６に指示する。本例では、ポリシ管理部２２は、フロー情報のうち自ポート番号（本例では“５４３２１”）をキーとして指定するものとする。
【００７８】
既に説明したように、プロトコル状態管理部２６は、パケットのフロー情報と、そのパケットの送信元アプリケーションのアプリケーションＩＤを保持している。例えば、プロトコル状態管理部２６は、パケットに含まれる自ポート番号、プロセスＩＤ、ＵＩＤおよびアプリケーションＩＤの対応関係を保持している。プロトコル状態管理部２６は、ポリシ管理部２２から検索指示を受けると、自ポート番号“５４３２１”に対応するアプリケーションＩＤを検索し、ポリシ管理部２２に通知する。ポリシ管理部２２は、検索されたアプリケーションＩＤを取得し、蓄積する（ステップＳ２４）。このアプリケーションＩＤは、ゲームアプリケーションのアプリケーションＩＤである。
【００７９】
ポリシ管理部２２は、このアプリケーションＩＤと、ステップＳ２２で取得したパケットの宛先を検索キーとしてポリシを検索する。すると、ステップＳ１で追加指示されたポリシが得られる。なお、ステップＳ１で追加指示されたポリシでは、アプリケーションＩＤのみ指定され、宛先に関しては指定されていないためワイルドカードとなっている。ポリシ管理部２２は、このポリシに従って、新規フローの送信元のアプリケーション（ゲームアプリケーション）と、その新規フローの宛先（ゲームサイト）とを制御アプリケーション部３に通知する。この動作は、図６に示すステップＳ４（フロー検出通知）に該当する。なお、この動作において、ポリシ管理部２２は、ＡＰＩ管理部２１に通知を送り（ステップＳ２５）、ＡＰＩ管理部２１がその通知を制御アプリケーション部３に送信する（ステップＳ２６）。
【００８０】
制御アプリケーション部３がフロー検出通知に対する応答として、通知された送信元（ゲームアプリケーション）および宛先（ゲームサイト）に該当するフローに関しては、Ｗｉ−Ｆｉを用いて送信する旨のポリシを作成し、そのポリシの追加をＯＦＣ２に指示したとする。この動作は、図６に示すステップＳ５に該当する。すると、ＯＦＣ２内のＡＰＩ管理部２１がその指示を受け、ポリシ管理部２２に対して、そのポリシの追加を指示する（ステップＳ２７）。
【００８１】
また、ステップＳ７（図６参照）でＯＦＳ４が“Packet_in ”を送信すると、フロー管理部２４がその“Packet_in ”を受信する。この結果、フロー管理部２４は、ＯＦＳ４において対応するフローエントリが存在していなかったパケットも受信する。フロー管理部２４は、このパケットをポリシ管理部２２に送り、そのパケットに応じたポリシの検索を要求する（ステップＳ２８）。ステップＳ２８は、ステップＳ２２と同様の動作である。
【００８２】
ポリシ管理部２２は、ステップＳ２８で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションＩＤの検索をプロトコル状態管理部２６に指示する（ステップＳ２９）。そして、プロトコル状態管理部２６は、この指示に応じて、アプリケーションＩＤを検索し、ポリシ管理部２２に通知する。ポリシ管理部２２は、検索されたアプリケーションＩＤを取得し、蓄積する（ステップＳ３０）。ステップＳ２９，Ｓ３０の動作は、ステップＳ２３，Ｓ２４の動作と同様である。
【００８３】
ステップＳ２９，Ｓ３０で、ゲームアプリケーションのアプリケーションＩＤが得られる。また、ステップＳ２８でポリシ管理部２２に送られたパケットの宛先はゲームサイトである。ポリシ管理部２２は、これらの情報を検索キーとして、ステップＳ５で取得したポリシを検索する。なお、ステップＳ１で取得したポリシ（アプリケーションＩＤのみを検索キーとするポリシ）も検索され得る。しかし、前述のように、ステップＳ５で取得したポリシの優先度の方が高い。従って、ポリシ管理部２２は、ステップＳ５で取得したポリシを検索する。このポリシでは、アクセス網としてＷｉ−Ｆｉを指定するアクションが記述されている。よって、ポリシ管理部２２は、このアクションと、検索したポリシのポリシＩＤをフロー管理部２４に送ることによって、フロー管理部２４に対してフローエントリの作成を指示する（ステップＳ３１）。
【００８４】
フロー管理部２４は、ステップＳ７で“Packet_in ”とともにＯＦＳ４から受信したパケットのフローに関して、Ｗｉ−Ｆｉの通信インタフェース部から送信する旨を定めたフローエントリを作成する。そして、フロー管理部２４は、ＯＦＳ４に対して、そのフローエントリの設定を指示する。この動作は、図６に示すステップＳ８に該当する。このとき、フロー管理部２４は、ＯＦＳ４に対して“Flow_mod(Wi-Fi) ”および“Packet_out”を送る。
【００８５】
図８は、ポリシ管理部２２の処理経過の例を示すシーケンス図である。図８および図５を参照して、図７で示した動作におけるポリシ管理部２２の処理経過を説明する。
【００８６】
ステップＳ２１（図７、図８参照）でＡＰＩ管理部２１がポリシ管理部２２に対してポリシの追加を指示すると、ポリシ管理部２２内のポリシエントリ管理部２２２がその指示を受け、ポリシテーブル記憶部２２１に、追加対象のポリシを記憶させる（ステップＳ４１）。このポリシは、前述のステップＳ１で説明した、フロー検出通知を指示するポリシである。そして、このポリシ内の検索キーでは、ゲームアプリケーションのアプリケーションＩＤが指定されている。
【００８７】
また、ステップＳ２２（図７、図８参照）において、フロー管理部２４は、パケットをポリシ管理部２２に送り、そのパケットに応じたポリシの検索を要求する。すると、ポリシ管理部２２内のポリシ検索部２２３が、このパケット、およびポリシの検索要求を受ける。このパケットは、フロー管理部２４が“Packet_in ”とともに受信したパケットであり、このパケットの送信元はゲームアプリケーションである。
【００８８】
ポリシ検索部２２３は、ステップＳ２２で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションＩＤの検索をプロトコル状態管理部２６に指示し（ステップＳ２３）、プロトコル状態管理部２６によって検索されたアプリケーションＩＤを取得する（ステップＳ２４）。このアプリケーションＩＤは、ゲームアプリケーションのアプリケーションＩＤである。
【００８９】
次に、ポリシ検索部２２３は、ポリシテーブル記憶部２２１に記憶されているポリシの中から、ステップＳ２４で取得したアプリケーションＩＤ、および、ステップＳ２２で取得したパケットの宛先を検索キーとしてポリシを検索する（ステップＳ４２）。そして、ポリシ検索部２２３は、検索したポリシをポリシテーブル記憶部２２１から取得する（ステップＳ４３）。このポリシは、ステップＳ４１でポリシテーブル記憶部２２１に記憶されたポリシである。
【００９０】
ポリシ検索部２２３は、ステップＳ４３で取得したポリシのアクションの選択をアクション選択部２２４に指示する（ステップＳ４４）。アクション選択部２２４は、この指示に応じて、ポリシ内のアクションを選択する。本例では、「新規フローの送信元アプリケーションおよび宛先を制御アプリケーション部３に通知する。」というアクションがフラグによって定められている。従って、アクション選択部２２４は、このアクションを選択し、そのアクションに従って、新規フローの送信元のアプリケーション（ゲームアプリケーション）と、その新規フローの宛先（ゲームサイト）とを制御アプリケーション部３に通知する。このとき、アクション選択部２２４は、ＡＰＩ管理部２１に通知を送る（ステップＳ２５）。そして、ＡＰＩ管理部２１がその通知を制御アプリケーション部３に送信する（図７に示すステップＳ２６参照）。
【００９１】
また、ステップＳ２７（図７、図８参照）でＡＰＩ管理部２１がポリシ管理部２２に対してポリシの追加を指示すると、ポリシエントリ管理部２２２がその指示を受け、ポリシテーブル記憶部２２１に、追加対象のポリシを記憶させる（ステップＳ４５）。このポリシは、前述のステップＳ５で説明したポリシである。すなわち、送信元がゲームアプリケーションであり宛先がゲームサイトであるフローに関しては、Ｗｉ−Ｆｉを用いて送信する旨を定めたポリシである。
【００９２】
また、ステップＳ２８（図７、図８参照）において、フロー管理部２４は、パケットをポリシ管理部２２に送り、そのパケットに応じたポリシの検索を要求する。すると、ポリシ管理部２２内のポリシ検索部２２３が、このパケット、およびポリシの検索要求を受ける。
【００９３】
ポリシ検索部２２３は、ステップＳ２８で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションＩＤの検索をプロトコル状態管理部２６に指示し（ステップＳ２９）、プロトコル状態管理部２６によって検索されたアプリケーションＩＤを取得する（ステップＳ３０）。このアプリケーションＩＤは、ゲームアプリケーションのアプリケーションＩＤである。
【００９４】
次に、ポリシ検索部２２３は、ポリシテーブル記憶部２２１に記憶されているポリシの中から、ステップＳ３０で取得したアプリケーションＩＤ、および、ステップＳ２８で取得したパケットの宛先を検索キーとしてポリシを検索する（ステップＳ４６）。そして、ポリシ検索部２２３は、検索したポリシをポリシテーブル記憶部２２１から取得する（ステップＳ４７）。このポリシは、ステップＳ４５でポリシテーブル記憶部２２１に記憶されたポリシである。
【００９５】
ポリシ検索部２２３は、ステップＳ４７で取得したポリシのアクションの選択をアクション選択部２２４に指示する（ステップＳ４８）。アクション選択部２２４は、この指示に応じて、ポリシ内のアクションを選択する。このポリシでは、アクセス網としてＷｉ−Ｆｉを指定するアクションが記述されている。従って、アクション選択部２２４は、そのアクション、および、そのポリシのポリシＩＤをフロー管理部２４に送信し、フロー管理部２４に対してフローエントリの作成を指示する（ステップＳ３１）。この指示を受けたフロー管理部２４の動作については、図７を参照して説明したので、ここでは説明を省略する。
【００９６】
本発明では、ＯＦＣ２が新規フローを検出した場合、新規フローを検出した旨の通知（フロー検出通知）を制御アプリケーション部３に送信する。そして、制御アプリケーション部３は、その新規フローの通信を許可するか否かを決定する。従って、本発明によれば、ユーザ等が意図しない通信の発生を防止することができる。
【００９７】
また、フロー検出通知には、フローの送信元アプリケーションや宛先の情報が含まれる。これによって、ユーザ等は、意図しない通信のフローが生じているか否かを容易に判断することができる。
【００９８】
また、上記の実施形態では、ステップＳ１（図６参照）において制御アプリケーション部３が追加指示するポリシによって、フロー検出通知の対象となるフローが定められる。従って、制御アプリケーション部３は、検出された全ての新規フローについてそれぞれフロー検出通知を受ける必要はなく、指定した条件に該当する新規フローが発生した場合にのみフロー検出通知を受けることができる。
【００９９】
また、上記の実施形態では、ＯＦＣ２は、オープンフローに従ってＯＦＳ４を制御する。従って、ＯＦＣ２はＯＦＳ４の動作を幅広く制御することができる。特に本実施形態では、制御アプリケーション部３がＯＦＣ２にポリシを与え、ＯＦＣ２はそのポリシに従って、ＯＦＳ４の動作を幅広く制御できる。
【０１００】
また、上記の実施形態では、制御アプリケーション部３がステップＳ１において、フロー検出通知の対象となるフローを指定するポリシをＯＦＣ２に追加させる。このようなポリシを用いなくてもよい。この場合、ＯＦＣ２は、新規フローを検出する毎に、フロー検出通知を制御アプリケーション部３に送信すればよい。このような構成でも、ユーザ等が意図しない通信の発生を防止することができる。
【０１０１】
また、上記の実施形態では、制御アプリケーション部３がステップＳ１において、フロー検出通知の対象となるフローを指定するポリシをＯＦＣ２に追加させる場合、そのポリシ内で、フローの送信元のアプリケーションＩＤが記述される場合を例にして説明した。すなわち、フロー検出通知の対象となるフローを、送信元のアプリケーションＩＤによって指定する場合を例にして説明した。制御アプリケーション部３は、フロー検出通知の対象となるフローを他の態様で指定してもよい。例えば、制御アプリケーション部３は、フローの宛先によって、フロー検出通知の対象となるフローを指定してもよい。この場合、制御アプリケーション部３は、ポリシ内の検索キーにおいて、フロー識別情報として、指定する宛先を記述すればよい。また、制御アプリケーション部３は、フローのアプリケーションＩＤとフローの宛先の双方を指定することによって、指定されたアプリケーションＩＤおよび宛先に合致する新規フローの検出時に、フロー検出通知が送信されるように定めてもよい。
【０１０２】
次に、本発明の主要部について説明する。図９は、本発明の端末装置の主要部を示すブロック図である。本発明の端末装置は、通信制御手段９１と、指示情報付与手段９２とを備える。
【０１０３】
通信制御手段９１（例えば、ＯＦＣ２）は、パケットを送信するパケット転送手段（例えば、ＯＦＳ４）を制御する。
【０１０４】
指示情報付与手段９２（例えば、制御アプリケーション部３）は、通信制御手段９１に対する指示を表す指示情報（例えば、ポリシ）を通信制御手段９１に与える。
【０１０５】
通信制御手段９１は、新たなフローを検出した場合、当該新たなフローを検出した旨の通知であるフロー検出通知を指示情報付与手段９２に送る。
【０１０６】
指示情報付与手段９２は、そのフロー検出通知を受けるとフローの通信を許可するか否かを決定する。そして、指示情報付与手段９２は、通信を許可すると決定した場合に、フローのパケットを指示情報付与手段９２が指定するアクセス網を経路として送信することを指示する指示情報を通信制御手段９１に与える。
【０１０７】
そのような構成によって、ユーザ等が意図しない通信の発生を防止できる。
【０１０８】
通信制御手段９１が、フローのパケットを指示情報付与手段９２が指定するアクセス網を経路として送信することを指示する指示情報を与えられた後に、当該フローのパケットをそのアクセス網に対応する通信インタフェース部から送信するようにパケット転送手段を制御する構成であってもよい。
【０１０９】
通信制御手段９１が、フロー検出通知として、フローの送信元となるアプリケーションソフトウェアおよびフローの宛先の情報を指示情報付与手段９２に送る構成であってもよい。
【０１１０】
指示情報付与手段９２が、フロー検出通知の対象となるフローを指示する指示情報を通信制御手段９１に与え、通信制御手段９１が、その指示情報で指示されたフローを新たに検出した場合に、フロー検出通知を指示情報付与手段９２に送る構成であってもよい。
【０１１１】
指示情報付与手段９２が、フローの送信元となるアプリケーションソフトウェアおよびフローの宛先のいずれか一方あるいは両方を指定することによってフロー検出通知の対象となるフローを指示する指示情報を通信制御手段９１に与える構成であってもよい。
【０１１２】
通信制御手段９１が、オープンフローに従ってパケット転送手段を制御する構成であってもよい。
【０１１３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１４】
この出願は、２０１３年１０月１１日に出願された日本特許出願２０１３−２１４０２４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１１５】
本発明は、外部と通信可能な端末装置に好適に適用される。
【符号の説明】
【０１１６】
１  端末装置
２  ＯＦＣ（通信制御管理部）
３  制御アプリケーション部
４  ＯＦＳ（パケット転送部）
５  プロトコル処理部
６  アプリケーション部
７ａ〜７ｎ  通信インタフェース部
２１  ＡＰＩ管理部
２２  ポリシ管理部
２３  統計情報管理部
２４  フロー管理部
２５  ノード状態管理部
２６  プロトコル状態管理部
２２１  ポリシテーブル記憶部
２２２  ポリシエントリ管理部
２２３  ポリシ検索部
２２４  アクション選択部
【図１】
2015052866.tif 000003
【図２】
2015052866.tif 000004
【図３】
2015052866.tif 000005
【図４】
2015052866.tif 000006
【図５】
2015052866.tif 000007
【図６】
2015052866.tif 000008
【図７】
2015052866.tif 000009
【図８】
2015052866.tif 000010
【図９】
2015052866.tif 000011
【国際調査報告】
2015052866.tif 000012
2015052866.tif 000013
2015052866.tif 000014
2015052866.tif 000015