(57)【特許請求の範囲】
【請求項１】
デフォルトで全てのデータ通信を禁止し、
アプリケーションからデータ通信の要求を受け、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、
前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止する
通信装置。
【請求項２】
通信装置における通信制御方法であって、
デフォルトで全てのデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止するステップと
を含む通信制御方法。
【請求項３】
通信装置として機能するコンピュータに、
デフォルトで全てのデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、データ通信可能な携帯端末等の通信装置が知られている（例えば、特許文献１参照）。通信装置においては、通信装置上で稼働するアプリケーションによるデータ通信がデフォルトで許可される一方で、ユーザによって選択されたアプリケーションによるデータ通信のみが禁止されるという構成が採用されることがある。
【０００３】
ここで、通信装置は、データ通信の許可又は禁止をフィルタリング処理により行う。また、通信装置は、管理のためにデータ通信量をカウントする。カウントの対象となるデータは、フィルタリング処理においてデータ通信が許可されたデータである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１６２７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この場合、データ通信量をカウントする方法によっては、データ通信量のカウントと、実際にネットワーク側へ送信されるデータ量との間に差異が生じる場合がある。
【０００６】
そこで本発明は、上述の点に鑑みてなされたものであり、データ通信量のカウントと実際にネットワーク側へ送信されたデータ量との差異を低減できる通信装置、通信制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の一実施形態に係る通信装置は、
デフォルトで全てのデータ通信を禁止し、
アプリケーションからデータ通信の要求を受け、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、
前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止する。
【０００８】
また、本発明の一実施形態に係る通信制御方法は、
通信装置における通信制御方法であって、
デフォルトで全てのデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止するステップと
を含む。
【０００９】
また、本発明の一実施形態に係るプログラムは、
通信装置として機能するコンピュータに、
デフォルトで全てのデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのＵＩＤに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのＩＤによっては、該アプリケーションのデータ通信を禁止するステップと
を実行させる。
【発明の効果】
【００１３】
本発明の一実施形態に係る通信装置、通信制御方法、及びプログラムによれば、データ通信量のカウントと実際にネットワーク側へ送信されたデータ量との差異を低減できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態１に係る通信装置の概略構成例を示す機能ブロック図である。
【図２】実施形態１に係る通信装置の一例の外観を示す図である。
【図３】実施形態１に係るデータの流れの一例を示すブロック図である。
【図４】実施形態１に係るフィルタリング処理のシーケンスを説明する図である。
【図５】アプリケーションからデータを送信するシーケンスの一例を説明する図である。
【図６】実施形態２に係るフィルタリング処理のシーケンスを説明する図である。
【図７】実施形態３に係るフィルタリング処理のフローチャートである。
【図８】実施形態４に係るデータ量カウント処理のフローチャートである。
【図９】比較例に係るデータ量カウント処理のフローチャートである。
【発明を実施するための形態】
【００１５】
（実施形態１）
以下、一実施形態に係る通信装置について、図面を参照しながら詳細に説明する。本実施形態に係る通信装置は、携帯電話、又はスマートフォンなどの携帯機器とすることができる。しかしながら、本実施形態に係る通信装置は、携帯機器に限定されるものではなく、デスクトップＰＣ、ノートＰＣ、タブレット型ＰＣ、家電製品、産業用機器（ＦＡ機器）、専用端末等、データ通信を行う種々の電子機器とすることができる。
【００１６】
［装置構成］
図１は、本実施形態に係る通信装置１の概略構成例を示す機能ブロック図である。図１に示されるように、通信装置１は、制御部１０と、通信部１１と、記憶部１２と、表示部１３と、操作部１４とを備える。制御部１０は、通信部１１と、記憶部１２と、表示部１３と、操作部１４とに接続され、これらを制御する。
【００１７】
制御部１０は、オペレーティングシステム（以下、ＯＳともいう）、及び、アプリケーションソフトウェア（以下、アプリケーションともいう）を実行可能なプロセッサ又はマイコン等により構成されうる。ＯＳは、例えばＡｎｄｒｏｉｄ（登録商標）である。アプリケーションについては後述する。
【００１８】
通信部１１は、セルラ通信、又は無線ＬＡＮ通信等を行う通信インタフェースとして、Ｉ／Ｆ（インタフェース）デバイス１１１を備える。Ｉ／Ｆデバイス１１１は、モデム１１２と無線ＬＡＮデバイス１１３とを含む。通信部１１は、Ｉ／Ｆデバイス１１１を用いてインターネット等のネットワーク側に接続され、ネットワーク側との間でデータ通信を行う。これにより、通信装置１はネットワーク側との間でデータ通信可能となる。通信部１１は、制御部１０に接続され、ネットワーク側へ出力するデータを制御部１０から取得する。制御部１０は、通信部１１に対して出力するデータをフィルタリング処理によって選択する。フィルタリング処理については後述する。また制御部１０は、ネットワーク側から受信したデータを通信部１１から取得する。
【００１９】
セルラ通信方式によりネットワーク側と接続される場合、一般的に、通信されるデータ（パケット）の量の増大に応じて通信料金が増大する従量課金制の料金体系が採用される。一方で、無線ＬＡＮ通信等の方式によりネットワーク側と接続される場合、一般的に、そのような料金体系ではない。
【００２０】
記憶部１２は、例えば半導体メモリ等によって構成されうる。記憶部１２には、各種情報若しくはデータ、又は、制御部１０が実行するＯＳ若しくはアプリケーション等のプログラムが格納される。制御部１０は、記憶部１２に格納されたプログラムを取得し、実行する。制御部１０は、プログラムの実行により生成されるデータを記憶部１２に格納する。また記憶部１２は、ワークメモリとしても機能しうる。
【００２１】
表示部１３は、制御部１０から取得した情報に基づき、文字、画像、操作用オブジェクト、ポインタ等を表示する。表示部１３は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、無機ＥＬディスプレイ等の表示デバイスであるが、これらに限られるものではない。
【００２２】
操作部１４は、テンキー等の物理キー、タッチパッド、又はタッチパネル等によって構成される。制御部１０は、操作部１４から取得した入力内容に応じて、表示部１３に表示されるポインタ等を移動させたり、操作用オブジェクトを選択したりする。
【００２３】
図２は、本実施形態に係る通信装置１の一例の外観を示す図である。図２に示す通り、本実施形態に係る通信装置１は、いわゆる折りたたみ式（フリップ型又はクラムシェル型等）のフィーチャーフォンである。通信装置１は、上部筐体２と下部筐体３とが、ヒンジ部４によって回動可能に接続される。上部筐体２は表示部１３を備え、下部筐体３は操作部１４を備える。操作部１４は、テンキー等の物理キーの他、物理キーが設けられていない部位にタッチパッド１４１を備える。通信装置１は、例えば物理キーにより操作用のオブジェクトの選択操作を受け付け、またタッチパッド１４１によりポインタ等の移動操作を受け付ける。
【００２４】
［アプリケーション］
アプリケーションは、制御部１０で実行可能となるように通信装置１にインストールされ、記憶部１２に格納される。アプリケーションが通信装置１にインストールされる際、各アプリケーションに固有のユーザ識別子（以下、ＵＩＤともいう）が割り当てられる。アプリケーションは、制御部１０によって、ＯＳ上においてＵＩＤに対応づけられるプロセスとして実行される。
【００２５】
アプリケーションは、制御部１０で実行される際に、ファイルシステムなどのリソースに対してアクセスする。各アプリケーションが無制限にリソースにアクセスすると、各アプリケーションによるリソースの使用領域が重複することがあり、この場合アプリケーションが正常に実行されなくなることがある。そこで、ＯＳ上で実行されるプロセスに対応づけられるＵＩＤによってリソースに対するアクセスを制限し、アプリケーションによるリソース使用が互いに影響を及ぼさないようにする。つまり、各プロセスからアクセス可能なリソースは、同一のＵＩＤに対応づけられるプロセスのリソースに制限される。
【００２６】
各アプリケーションには、グループ識別子（以下、ＧＩＤ又はグループのＩＤともいう）がさらに割り当てられる。ＧＩＤは、各アプリケーションに割り当てられる固有のＵＩＤが属するグループを特定するものである。一つのグループに一個のＵＩＤだけが属してもよいし、一つのグループに複数のＵＩＤが属してもよい。アプリケーションがＵＩＤに対応づけられるプロセスとして実行される際、このプロセスはＧＩＤにも対応づけられる。また、各プロセスからアクセス可能なリソースは、同一のＵＩＤだけでなく同一のＧＩＤに対応づけられるプロセスのリソースにまで対象を広げて制限されるようにしてもよい。
【００２７】
アプリケーションは、フォアグラウンド（以下、ＦＧともいう）、又は、バックグラウンド（以下、ＢＧともいう）で実行される。アプリケーションがＦＧで実行されている状態は、例えば、ユーザが確認可能なように実行状況が表示部１３に表示される、又は、ユーザが操作部１４を用いて操作可能な状態である。アプリケーションがＢＧで実行されている状態は、例えば、実行状況が表示部１３に表示されず、ユーザが操作可能ではない状態、又は、ユーザが意図せずに動作している状態である。
【００２８】
［データ通信の制御］
制御部１０によって実行されるアプリケーションは、通信部１１を用いて、インターネット等のネットワーク側とのデータ通信を行う。上述の通り、アプリケーションはＯＳ上においてＵＩＤに対応づけられるプロセスとして実行される。そして、アプリケーションから送信されるデータにはＵＩＤが対応づけられる。制御部１０は、データに対応づけられたＵＩＤに基づいてデータの送信を許可するか禁止（制限）するか決定することにより、各アプリケーションから送信されるデータに係るデータ通信を許可するか禁止するか制御できる。以下、本実施形態に係る説明においては、データ通信は、原則的に通信部１１がネットワーク側との間で行うデータ通信のことを指すものとする。
【００２９】
図３は、本実施形態に係るデータの流れの一例を示すブロック図である。図３において、制御部１０と通信部１１とが端末側に設けられる。そして、通信部１１がネットワーク側と接続され、ネットワーク側との間でデータ通信を行う。
【００３０】
図３において、制御部１０は、アプリケーションＡ１６ａとアプリケーションＢ１６ｂとをＯＳ上におけるプロセスとして実行する。制御部１０によって実行されるアプリケーションは、必要に応じてネットワーク側とのデータ通信を要求する。例えば、アプリケーションＡ１６ａは、ネットワーク側へ向けてデータの送信を要求する。この場合、アプリケーションＡ１６ａからネットワーク側へ向けて送信するデータは、制御部１０で稼働するパケットフィルタ１５に入力される。また、アプリケーションＢ１６ｂからも同様に、アプリケーションＢ１６ｂからネットワーク側へ向けて送信するデータがパケットフィルタ１５に入力される。
【００３１】
パケットフィルタ１５は、制御部１０からネットワーク側へ向かうデータのフィルタリング処理を行う。フィルタリング処理は、設定されたフィルタリング条件に基づいて、アプリケーションから要求されたデータの送信を許可するか禁止するか決定する処理である。フィルタリング条件は、例えば、ｉｐ＿ｒｕｌｅ又はｉｐ＿ｒｏｕｔｅ等を含む。これらのフィルタリング条件は、記憶部１２に格納されており、パケットフィルタ１５によって参照される。以下、フィルタリング条件を設定する動作は、フィルタリング条件を記憶部１２に格納する動作を含むものとする。なお、フィルタリング条件は、記憶部１２に格納されずに制御部１０に保持されていてもよい。
【００３２】
ｉｐ＿ｒｕｌｅは、例えば、送信元がＸであるデータをネットワーク側へ送信してよいか決定するための条件を含む。ｉｐ＿ｒｏｕｔｅは、例えば、送信先としてＹが指定されたデータをネットワーク側へ送信するルート（中継ルータ等）を決定するための条件を含む。
【００３３】
図３において、アプリケーションＡ１６ａから送信されるデータの流れが実線の矢印で示され、アプリケーションＢ１６ｂから送信されるデータの流れが破線の矢印で示される。このうち、アプリケーションＡ１６ａから送信されるデータは、パケットフィルタ１５におけるフィルタリング処理によって送信が禁止されず、通信部１１に送られる。一方、アプリケーションＢ１６ｂから送信されるデータは、パケットフィルタ１５におけるフィルタリング処理によって送信が禁止され、通信部１１に送られない。この動作は、図３において破線の矢印がｒｅｊｅｃｔという記載に向けられることで示される。
【００３４】
パケットフィルタ１５を通過したデータ（図３の場合、実線の矢印で示されるアプリケーションＡ１６ａから送信されるデータ）は、通信部１１に入力される。通信部１１は、Ｉ／Ｆデバイス１１１を用いて、ネットワーク側へデータを送信する。通信部１１は、ネットワーク側へデータを送信するに際して、モデム１１２によるセルラ通信を用いるか、無線ＬＡＮデバイス１１３による無線ＬＡＮ通信を用いるか、又は、他の通信方式を用いるか適宜決定しうる。
【００３５】
［フィルタリング処理］
アプリケーションから送信されるデータについてのデータ通信を許可するか禁止するかは、データ送信元のアプリケーションに割り当てられるＵＩＤに基づいて決定される。以下、ＵＩＤとしてＸが割り当てられるアプリケーション（以下、ＵＩＤがＸのアプリケーションともいう）から送信されるデータのことを、ＵＩＤがＸのデータともいう。また、ＵＩＤがＸのデータのフィルタリング処理を行うために用いられるフィルタリング条件を、ＵＩＤがＸのデータのフィルタリング条件ともいう。
【００３６】
パケットフィルタ１５は、例えば、ＵＩＤが１のアプリケーションから送信されるデータに係るデータ通信のみ許可するというフィルタリング条件を有する。また、フィルタリング条件は、複数の条件をあわせたものであってもよい。
【００３７】
ここで、本実施形態に係るフィルタリング処理が行われる場合のデータ通信のシーケンスを説明する。本実施形態に係るフィルタリング処理は、ＢＧ動作しているアプリケーションが送信するデータに係るデータ通信の許可又は禁止を決定することを前提とする。以下の本実施形態に係るフィルタリング処理の説明は上記前提に基づく。
【００３８】
本実施形態に係るフィルタリング処理は、デフォルトでデータ通信を禁止するというフィルタリング条件（以下、デフォルト通信禁止条件ともいう）が設定されている。デフォルト通信禁止条件が設定されていることにより、他のフィルタリング条件がさらに設定されない限り、全てのデータ通信が禁止される。デフォルト通信禁止条件は、通信装置１の出荷時に設定されたり、通信装置１の初期化時に設定されたりする。すなわち、本実施形態において、「デフォルト」とは、所定のタイミング（例えば、通信装置１の出荷時、通信装置１の初期化時、等）で、標準の動作として予め設定されていることを意味するものとする。
【００３９】
本実施形態においては、必要なデータ通信を実行するために、デフォルト通信禁止条件に加えて、データ通信を許可するための条件（以下、通信許可条件ともいう）が設定されたフィルタリング条件が用いられる。この場合、通信許可条件は、デフォルト通信禁止条件に優先する。
【００４０】
図４は、本実施形態に係るフィルタリング処理のシーケンスを説明する図である。図４には、アプリケーションＡ１６ａ、アプリケーションＢ１６ｂ、フレームワーク、通信制御部、カーネル、及びモデム１１２のシーケンスが示されている。
【００４１】
モデム１１２は、上述の通り、セルラ通信を行う通信インタフェースとして機能するハードウェアである。図４においては、モデム１１２を用いたセルラ通信によるデータ通信について説明しているが、モデム１１２ではなく、無線ＬＡＮデバイス１１３等の他のＩ／Ｆデバイス１１１に置き換えて、他の通信方式によるデータ通信を行ってもよい。
【００４２】
カーネル、通信制御部、及びフレームワークはソフトウェアであり、制御部１０で実行される。図４において、通信制御部にはＵＩＤとして０が割り当てられる。
【００４３】
フレームワークは、ＯＳ上においてアプリケーションを動作させるための機能群を含むソフトウェアである。一般的に、フレームワークで準備された機能群を組み合わせることによって、各アプリケーションの機能が実現される。
【００４４】
カーネルは、ＯＳの中核をなすソフトウェアであり、アプリケーション等のソフトウェアによる処理に基づき、通信部１１等のハードウェアにおける処理を管理して、ハードウェアの機能を利用できるようにする。
【００４５】
通信制御部は、ネットワーク関連の処理を行うデーモンプログラムであり、フレームワークとカーネルとの間をつなぐ処理をする。通信制御部は、特に、カーネルが通信部１１の機能を利用できるようにするためのデータを処理する。本実施形態において、通信制御部は、カーネルが通信部１１へのデータ出力を許可するか禁止するか決定するための条件をカーネルに出力する。
【００４６】
本実施形態において、フィルタリング処理はパケットフィルタ１５により行われるものとして説明する。ここで、パケットフィルタ１５は仮想的な処理ユニットであり、実際のフィルタリング処理は、通信制御部とカーネルとにより行われる。
【００４７】
アプリケーションＡ１６ａ及びアプリケーションＢ１６ｂは、ＯＳ上において動作するプロセスである。図４において、アプリケーションＡ１６ａにはＵＩＤとして１が割り当てられ、アプリケーションＢ１６ｂにはＵＩＤとして２が割り当てられる。
【００４８】
以下、図４に示されるシーケンスを説明する。ＢＧ動作するアプリケーションがデータを送信する場合、デフォルトでセルラ通信によるデータ通信が禁止されている（ステップＳ１）。つまり、フィルタリング条件として、ＢＧ動作するアプリケーションから送信されるデータに係るデフォルト通信禁止条件が設定されている。図４において、デフォルト通信禁止条件が設定されていることは、カーネル、通信制御部、及びフレームワークにより認識されている。特に、カーネルは、デフォルト通信禁止条件が設定されていることを認識している場合、モデム１１２に対するデータの送信を行わない。
【００４９】
続いて、アプリケーションがＢＧで動作する場合のＵＩＤが１のデータに係るデータ通信の許可要求（以下、ＵＩＤが１のデータの通信許可要求ともいう）を、フレームワークが取得する（ステップＳ２）。続いて、フレームワークは、ＵＩＤが１のデータの通信許可要求を通信制御部に出力する（ステップＳ３）。
【００５０】
通信制御部は、ＵＩＤが１のデータの通信許可要求を取得する（ステップＳ４）。続いて通信制御部は、ＵＩＤが１のデータの通信許可要求をカーネルに出力する（ステップＳ５）。
【００５１】
カーネルは、ＵＩＤが１のデータの通信許可要求を取得する（ステップＳ６）。以上のステップＳ３〜Ｓ６の動作により、カーネルにＵＩＤが１のデータの通信許可要求が伝達される。つまり、フィルタリング条件として、ＵＩＤが１のデータに係る通信許可条件が設定される。
【００５２】
続いて、アプリケーションＡ１６ａがＢＧ動作においてデータ通信を要求する場合（ステップＳ７）、カーネルは、ＵＩＤが１のデータに係る通信許可条件が設定されていることを認識しているので、データ通信を許可する（ステップＳ８）。そして、モデム１１２は、ＵＩＤが１のデータをネットワーク側へ送信するデータ通信を行う（ステップＳ９）。
【００５３】
一方、ＵＩＤとして２が割り当てられるアプリケーションＢ１６ｂがＢＧ動作においてデータ通信を要求する場合（ステップＳ１０）、カーネルは、ＵＩＤが２のデータに係る通信許可条件が設定されていないことを認識している。よって、カーネルは、デフォルト通信禁止条件に基づいて、データ通信を禁止する（ステップＳ１１）。
【００５４】
＜アプリケーションからのデータ送信シーケンス＞
図４のステップＳ７〜Ｓ９において、アプリケーションがデータ通信を要求してモデム１１２がデータ通信を行うことを説明した。以下、図５を用いて、これらのシーケンスをより具体的に説明する。図５には、アプリケーションＡ１６ａ、フレームワーク、カーネル、及びモデム１１２のシーケンスが示されている。アプリケーションＡ１６ａ、フレームワーク、カーネル、及びモデム１１２については、図４と同様であるため説明を省略する。
【００５５】
アプリケーションＡ１６ａは、ＦＧ又はＢＧのいずれで動作する場合であっても、アプリケーションＡ１６ａから送信されるデータ（ＵＩＤが１のデータ）に係るデータ通信の要求（以下、ＵＩＤが１のデータ通信要求ともいう）をアプリケーションＡ１６ａが動作しているＯＳ上のフレームワークに対して出力する（ステップＳ１０１）。
【００５６】
フレームワークは、ＵＩＤが１のデータ通信要求を取得する（ステップＳ１０２）。続いてフレームワークは、ＵＩＤが１のデータ通信要求をカーネルに出力する（ステップＳ１０３）。
【００５７】
カーネルは、ＵＩＤが１のデータ通信要求を取得する（ステップＳ１０４）。続いてカーネルは、モデム１１２に対してＵＩＤが１のデータ通信要求に基づいてデータを出力する（ステップＳ１０５）。そしてモデム１１２は、ＵＩＤが１のデータをネットワーク側へ送信するデータ通信を行う（ステップＳ１０６）。
【００５８】
以上説明してきた図５に示されるシーケンスの動作により、アプリケーションから送信するデータが通信部１１に出力され、ネットワーク側へ送信される。
【００５９】
以上、実施形態１について説明してきた。本実施形態に係るＵＩＤに応じたフィルタリング処理によれば、ユーザにより明示的にフィルタリング条件が設定されていないアプリケーションＢ１６ｂから送信されるデータに係るデータ通信を禁止できる。つまり、ユーザの意図しないデータ通信は禁止される可能性が高くなる。
【００６０】
本実施形態において、Ｉ／Ｆデバイス１１１としてモデム１１２を用いるセルラ通信方式によるデータ通信を禁止する方法について主に説明してきた。しかし、Ｉ／Ｆデバイス１１１はモデム１１２に限られず、無線ＬＡＮデバイス１１３等であってもよい。つまり、本実施形態に係る通信装置１のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線ＬＡＮ通信方式等の他の通信方式によるデータ通信においても適用されうる。
【００６１】
また本実施形態において、データ通信が許可されたデータを送信するために必要となる機能については、デフォルトでデータ通信を許可するようにしてもよい。デフォルトでデータ通信を許可される機能は、例えば、ＶＰＮ（Ｖｅｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）のトンネリング機能、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）の名前解決機能、又はテザリング機能等である。これらの機能に係るデータ通信は、ユーザが意図した場合に動作するものに限り、許可されてもよい。これらの機能に係るデータ通信を許可する条件は、デフォルト通信禁止条件に優先するフィルタリング条件として設定されてもよい。
【００６２】
また、本実施形態に係るフィルタリング処理は、ＢＧ動作しているアプリケーションのデータ通信について行われたが、これには限られず、ＦＧ動作しているアプリケーションのデータ通信について行われてもよい。つまり、本実施形態に係るフィルタリング処理は、ＦＧ動作しているアプリケーションが送信するデータに係るデータ通信の許可又は禁止を決定してもよい。
【００６３】
（実施形態２）
実施形態１では、ＵＩＤに応じてフィルタリング処理を行ったが、ＧＩＤに応じてフィルタリング処理を行ってもよい。以下、実施形態２として、ＧＩＤに応じたフィルタリング処理について説明する。
【００６４】
図６は、本実施形態に係るフィルタリング処理のシーケンスを説明する図である。図６には、アプリケーションＡ１６ａ、アプリケーションＢ１６ｂ、フレームワーク、通信制御部、カーネル、及びモデム１１２のシーケンスが示されている。フレームワーク、通信制御部、カーネル、及びモデム１１２については、実施形態１の図４と同様であるため説明を省略する。
【００６５】
図６において、アプリケーションＡ１６ａはＧＩＤが１のアプリケーションであり、アプリケーションＢ１６ｂはＧＩＤが２のアプリケーションである。
【００６６】
以下、図６に示されるシーケンスを説明する。ＢＧ動作するアプリケーションがデータを送信する場合、デフォルトでセルラ通信によるデータ通信が禁止されている（ステップＳ７０１）。つまり、フィルタリング条件として、ＢＧ動作するアプリケーションから送信されるデータに係るデフォルト通信禁止条件が設定されている。図６において、デフォルト通信禁止条件が設定されていることは、カーネル、通信制御部、及びフレームワークにより認識されている。特に、カーネルは、デフォルト通信禁止条件が設定されていることを認識している場合、モデム１１２に対するデータの送信を行わない。
【００６７】
続いて、アプリケーションがＢＧで動作する場合のＧＩＤが１のデータに係るデータ通信の許可要求（以下、ＧＩＤが１のデータの通信許可要求ともいう）を、フレームワークが取得する（ステップＳ７０２）。続いて、フレームワークは、ＧＩＤが１のデータの通信許可要求を通信制御部に出力する（ステップＳ７０３）。
【００６８】
通信制御部は、ＧＩＤが１のデータの通信許可要求を取得する（ステップＳ７０４）。続いて通信制御部は、ＧＩＤが１のデータの通信許可要求をカーネルに出力する（ステップＳ７０５）。
【００６９】
カーネルは、ＧＩＤが１のデータの通信許可要求を取得する（ステップＳ７０６）。以上のステップＳ７０３〜Ｓ７０６の動作により、カーネルにＧＩＤが１のデータの通信許可要求が伝達される。つまり、フィルタリング条件として、ＧＩＤが１のデータに係る通信許可条件が設定される。
【００７０】
続いて、アプリケーションＡ１６ａがＢＧ動作においてデータ通信を要求する場合（ステップＳ７０７）、カーネルは、ＧＩＤが１のデータに係る通信許可条件が設定されていることを認識しているので、データ通信を許可する（ステップＳ７０８）。そして、モデム１１２は、ＧＩＤが１のデータをネットワーク側へ送信するデータ通信を行う（ステップＳ７０９）。
【００７１】
一方、ＧＩＤが２のアプリケーションＢ１６ｂがＢＧ動作においてデータ通信を要求する場合（ステップＳ７１０）、カーネルは、ＧＩＤが２のデータに係る通信許可条件が設定されていないことを認識している。よって、カーネルは、デフォルト通信禁止条件に基づいて、データ通信を禁止する（ステップＳ７１１）。
【００７２】
図６のステップＳ７０７〜Ｓ７０９において、アプリケーションがデータ通信を要求してモデム１１２がデータ通信を行う。このデータ通信は、実施形態１の図５と同様のシーケンスで行われるものであるので、説明を省略する。
【００７３】
以上説明してきたように、ＧＩＤに応じたフィルタリング条件を設定することで、実施形態１のＵＩＤに応じたフィルタリング処理と同様のフィルタリング処理が実現できる。
【００７４】
［ＶＰＮにおけるフィルタリング処理］
ＧＩＤに応じたフィルタリング処理を行う一例として、ＶＰＮのトンネリング機能を用いてデータ通信を行うためにデータをカプセル化する場合のフィルタリング処理について説明する。本実施形態においては、通信装置１はＶＰＮデバイスをさらに備える。ＶＰＮデバイスは、取得したデータをカプセル化するプロトコルを有する。ＶＰＮデバイスが有するプロトコルには、固有のＵＩＤが割り当てられている。以下、プロトコルに割り当てられたＵＩＤを、プロトコルのＵＩＤともいう。ＶＰＮデバイスは、このプロトコルに基づいて、アプリケーションからのデータをカプセル化する。そして、ＶＰＮデバイスは、カプセル化したデータを通信部１１に出力する。カプセル化されたデータは、データを送信するアプリケーションに割り当てられているＵＩＤとの対応づけが失われる。そして、カプセル化されたデータには、カプセル化を行ったプロトコルのＵＩＤが新たに対応づけられる。
【００７５】
ＶＰＮデバイスは、データのカプセル化を行うプロトコルを複数有してもよい。この場合、各プロトコルのＵＩＤはそれぞれ異なる。そして、カプセル化されたデータには、カプセル化を行ったプロトコルのＵＩＤが対応づけられる。またＶＰＮデバイスがデータのカプセル化を行うプロトコルを複数有する場合、これらのプロトコルのＵＩＤは、共通のグループに属する。この共通のグループには、ＧＩＤが割り当てられている。よって、ＶＰＮデバイスが有する複数のプロトコルには共通のＧＩＤが対応づけられる。以下、ＶＰＮデバイスが有する複数のプロトコルに共通に対応づけられたＧＩＤを、ＶＰＮデバイスのＧＩＤともいう。カプセル化されたデータには、カプセル化を行ったプロトコルを有するＶＰＮデバイスのＧＩＤが新たに対応づけられる。また、ＶＰＮデバイスが有するプロトコルは、アプリケーションに含まれるものであってもよい。この場合、ＶＰＮデバイスが有するプロトコルのことを、ＶＰＮアプリケーションともいう。
【００７６】
ＶＰＮデバイスにおいてカプセル化されたデータは、カプセル化するプロトコルのＵＩＤが対応づけられている。上述の通り、ＶＰＮデバイスは、複数のプロトコルを有する。よって、ＶＰＮデバイスにおいてカプセル化されるデータに対応づけられる可能性があるＵＩＤは、複数個存在する。カプセル化されたデータに対するフィルタリング処理を行うに際して、ＵＩＤに応じたフィルタリング条件を設定する場合、プロトコルの数と同じ数のフィルタリング条件が設定されることとなる。
【００７７】
一方で、カプセル化されたデータには、ＧＩＤも対応づけられる。ＶＰＮデバイスが有する複数のプロトコルのＵＩＤに対して、共通のＧＩＤが対応づけられる。よって、ＧＩＤに応じたフィルタリング条件を設定する場合、各プロトコルに共通の１つのフィルタリング条件が設定されればよい。
【００７８】
以上、実施形態２について説明してきた。本実施形態によれば、アプリケーションによるデータ通信の許可又は禁止を容易に設定することができる。
【００７９】
本実施形態においても、Ｉ／Ｆデバイス１１１はモデム１１２に限られず、無線ＬＡＮデバイス１１３等であってもよい。つまり、本実施形態に係る通信装置１のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線ＬＡＮ通信方式等の他の通信方式によるデータ通信においても適用されうる。
【００８０】
（実施形態３）
実施形態３として、ＵＩＤに応じたフィルタリング処理に続いて、さらにＧＩＤに応じたフィルタリング処理を実行する場合について説明する。本実施形態においては、フィルタリング条件として、デフォルト通信禁止条件が設定されているものとする。
【００８１】
図７は、本実施形態に係るフィルタリング処理を示すフローチャートである。まず、パケットフィルタ１５は、ＵＩＤがＸ、且つ、ＧＩＤがＹのデータに係るデータ通信要求をアプリケーションから取得する（ステップＳ８０１）。続いてパケットフィルタ１５は、ＵＩＤがＸのデータに係る通信許可条件（以下、ＵＩＤに応じた通信許可条件ともいう）がフィルタリング条件として設定されているか判定する（ステップＳ８０２）。
【００８２】
ＵＩＤに応じた通信許可条件が設定されていない場合（ステップＳ８０２：ＮＯ）、パケットフィルタ１５は、データをモデム１１２に出力せず（ステップＳ８０５）、図７のフローチャートを終了する。
【００８３】
ＵＩＤに応じた通信許可条件が設定されている場合（ステップＳ８０２：ＹＥＳ）、パケットフィルタ１５は、ＧＩＤがＹのデータに係るデータ通信を禁止するための条件（以下、ＧＩＤに応じた通信禁止条件ともいう）がフィルタリング条件として設定されているか判定する（ステップＳ８０３）。
【００８４】
ＧＩＤに応じた通信禁止条件が設定されている場合（ステップＳ８０３：ＹＥＳ）、パケットフィルタ１５は、データをモデム１１２に出力せず（ステップＳ８０５）、図７のフローチャートを終了する。
【００８５】
ＧＩＤに応じた通信禁止条件が設定されていない場合（ステップＳ８０３：ＮＯ）、パケットフィルタ１５は、データをモデム１１２に出力し（ステップＳ８０４）、図７のフローチャートを終了する。
【００８６】
以上、実施形態３について、図７に示されるフローチャートを参照して説明してきた。本実施形態においては、ＵＩＤ及びＧＩＤに応じたフィルタリング処理を実行することにより、アプリケーションのデータ通信の許可又は禁止の設定方法のバリエーションを増やすことができる。
【００８７】
本実施形態においても、Ｉ／Ｆデバイス１１１はモデム１１２に限られず、無線ＬＡＮデバイス１１３等であってもよい。つまり、本実施形態に係る通信装置１のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線ＬＡＮ通信方式等の他の通信方式によるデータ通信においても適用されうる。
【００８８】
（実施形態４）
実施形態４として、ＵＩＤ及びＧＩＤに応じたフィルタリング処理を実行する場合に、データ通信量をカウントする方法について説明する。本実施形態において、データ通信量のカウントは、パケットフィルタ１５において実行される。また本実施形態においては、フィルタリング条件として、デフォルト通信禁止条件が設定されているものとする。
【００８９】
図８は、本実施形態に係るデータ量カウント処理を示すフローチャートである。まず、パケットフィルタ１５は、ＵＩＤがＸ、且つ、ＧＩＤがＹのデータに係るデータ通信要求をアプリケーションから取得する（ステップＳ９０１）。
【００９０】
続いてパケットフィルタ１５は、ＵＩＤがＸ、且つ、ＧＩＤがＹのデータに係るデータ通信を禁止するかどうか決定する（ステップＳ９０２）。ステップＳ９０２は、ＵＩＤ又はＧＩＤに応じてデータ通信を禁止するか決定するものであり、実施形態３の図７のステップＳ８０２及びＳ８０３と同様の処理により行われる。つまり、ＵＩＤに応じた通信許可条件が設定されている場合（ステップＳ８０２：ＹＥＳ）、且つ、ＧＩＤに応じた通信禁止条件が設定されていない場合（ステップＳ８０３：ＮＯ）、パケットフィルタ１５は、データ通信を禁止しない（許可する）と決定する。一方で、ＵＩＤに応じた通信許可条件が設定されていない場合（ステップＳ８０２：ＮＯ）、又は、ＧＩＤに応じた通信禁止条件が設定されている場合（ステップＳ８０３：ＹＥＳ）、パケットフィルタ１５は、データ通信を禁止すると決定する。
【００９１】
データ通信を禁止すると決定した場合（ステップＳ９０２：ＹＥＳ）、パケットフィルタ１５は、データ通信要求があったデータについてデータ通信量をカウントしない（ステップＳ９０３）。続いて、パケットフィルタ１５は、当該データをモデム１１２に出力せず（ステップＳ９０４）、図８のフローチャートを終了する。
【００９２】
データ通信を禁止しないと決定した場合（ステップＳ９０２：ＮＯ）、パケットフィルタ１５は、データ通信要求があったデータについてデータ通信量をカウントする（ステップＳ９０３）。続いて、パケットフィルタ１５は、当該データをモデム１１２に出力し（ステップＳ９０４）、図８のフローチャートを終了する。
【００９３】
以上、図８を参照して説明してきたが、このようにすることで、パケットフィルタ１５がカウントするデータ通信量と、パケットフィルタ１５がモデム１１２に出力するデータの量との差異を低減することができる。
【００９４】
＜比較例＞
図９は、比較例に係るデータ量カウント処理を示すフローチャートである。まず、パケットフィルタ１５は、ＵＩＤがＸ、且つ、ＧＩＤがＹのデータに係るデータ通信要求をアプリケーションから取得する（ステップＳ１００１）。
【００９５】
続いてパケットフィルタ１５は、ＵＩＤがＸのデータに係るデータ通信を禁止するかどうか決定する（ステップＳ１００２）。ステップＳ１００２は、ＵＩＤに応じてデータ通信を禁止するか決定するものであり、実施形態３の図７のステップＳ８０２と同様の処理により行われる。つまり、ＵＩＤに応じた通信許可条件が設定されている場合（ステップＳ８０２：ＹＥＳ）、パケットフィルタ１５は、データ通信を禁止しない（許可する）と決定する。一方で、ＵＩＤに応じた通信許可条件が設定されていない場合（ステップＳ８０２：ＮＯ）、パケットフィルタ１５は、データ通信を禁止すると決定する。
【００９６】
ＵＩＤに応じてデータ通信を禁止すると決定した場合（ステップＳ１００２：ＹＥＳ）、パケットフィルタ１５は、データ通信要求があったデータについてデータ通信量をカウントしない（ステップＳ１００３）。続いて、パケットフィルタ１５は、当該データをモデム１１２に出力せず（ステップＳ１００４）、図９のフローチャートを終了する。
【００９７】
ＵＩＤに応じてデータ通信を禁止しないと決定した場合（ステップＳ９０２：ＮＯ）、パケットフィルタ１５は、データ通信要求があったデータについてデータ通信量をカウントする（ステップＳ１００５）。
【００９８】
続いて、パケットフィルタ１５は、ＧＩＤがＹのデータに係るデータ通信を禁止するかどうか決定する（ステップＳ１００６）。ステップＳ１００６は、ＧＩＤに応じてデータ通信を禁止するか決定するものであり、実施形態３の図７のステップＳ８０３と同様の処理により行われる。つまり、ＧＩＤに応じた通信禁止条件が設定されている場合（ステップＳ８０３：ＹＥＳ）、パケットフィルタ１５は、データ通信を禁止すると決定する。一方で、ＧＩＤに応じた通信禁止条件が設定されていない場合（ステップＳ８０３：ＮＯ）、パケットフィルタ１５は、データ通信を禁止しない（許可する）と決定する。
【００９９】
ＧＩＤに応じてデータ通信を禁止しないと決定した場合（ステップＳ１００６：ＮＯ）、パケットフィルタ１５は、当該データをモデム１１２に出力し（ステップＳ１００７）、図８のフローチャートを終了する。この場合、ステップＳ１００５においてデータ通信要求があったデータについてデータ通信量がカウントされた後で、当該データがモデム１１２に出力されている。よって、パケットフィルタ１５がカウントするデータ通信量と、パケットフィルタ１５がモデム１１２に出力するデータの量とは一致する。
【０１００】
ＧＩＤに応じてデータ通信を禁止すると決定した場合（ステップＳ１００６：ＹＥＳ）、パケットフィルタ１５は、当該データをモデム１１２に出力せず（ステップＳ１００４）、図９のフローチャートを終了する。この場合、ステップＳ１００５においてデータ通信要求があったデータについてデータ通信量がカウントされた後で、当該データがモデム１１２に出力されない。よって、パケットフィルタ１５がカウントするデータ通信量と、パケットフィルタ１５がモデム１１２に出力するデータの量とが不一致となる。
【０１０１】
以上、図９を参照して比較例について説明してきたが、比較例においては、パケットフィルタ１５がカウントするデータ通信量と、パケットフィルタ１５がモデム１１２に出力するデータの量とが一致しない場合が起こりうる。
【０１０２】
以上、実施形態４について説明してきた。本実施形態によれば、比較例との対比において、パケットフィルタ１５がカウントするデータ通信量と、パケットフィルタ１５がモデム１１２に出力するデータの量との差異を低減することができる。
【０１０３】
本実施形態においても、Ｉ／Ｆデバイス１１１はモデム１１２に限られず、無線ＬＡＮデバイス１１３等であってもよい。つまり、本実施形態に係る通信装置１のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線ＬＡＮ通信方式等の他の通信方式によるデータ通信においても適用されうる。
【０１０４】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。また、本発明について装置を中心に説明してきたが、本発明は装置の各構成部が実行するステップを含む方法としても実現し得るものである。また、本発明について装置を中心に説明してきたが、本発明は装置が備えるプロセッサにより実行される方法、プログラム、又はプログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【０１０５】
上記の実施形態では、従量課金制ではない方式によるデータ通信の方式として無線ＬＡＮを例示したが、これに限定されず、従量課金制ではない方式は、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＥｔｈｅｒｎｅｔ（登録商標）等のデータ通信方式であってもよい。
【符号の説明】
【０１０６】
１  通信装置
１０  制御部
１１  通信部
１１１  Ｉ／Ｆデバイス
１１２  モデム
１１３  無線ＬＡＮデバイス
１２  記憶部
１３  表示部
１４  操作部
１５  パケットフィルタ
１６ａ  アプリケーションＡ
１６ｂ  アプリケーションＢ
【図１】
0006339604.tif 000002
【図２】
0006339604.tif 000003
【図３】
0006339604.tif 000004
【図４】
0006339604.tif 000005
【図５】
0006339604.tif 000006
【図６】
0006339604.tif 000007
【図７】
0006339604.tif 000008
【図８】
0006339604.tif 000009
【図９】
0006339604.tif 000010