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