JP2017201830A - 通信装置、通信制御方法、及びプログラム - Google Patents

通信装置、通信制御方法、及びプログラム Download PDF

Info

Publication number
JP2017201830A
JP2017201830A JP2017139385A JP2017139385A JP2017201830A JP 2017201830 A JP2017201830 A JP 2017201830A JP 2017139385 A JP2017139385 A JP 2017139385A JP 2017139385 A JP2017139385 A JP 2017139385A JP 2017201830 A JP2017201830 A JP 2017201830A
Authority
JP
Japan
Prior art keywords
communication
application
data
data communication
uid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017139385A
Other languages
English (en)
Inventor
周治 石川
Shuji Ishikawa
周治 石川
恭弘 伊東
Takahiro Ito
恭弘 伊東
智哉 上條
Tomoya KAMIJO
智哉 上條
英孝 林
Hidetaka Hayashi
英孝 林
晃平 道上
Kohei Michiue
晃平 道上
一生 大西
Kazuo Onishi
一生 大西
和也 千藤
Kazuya Chito
和也 千藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2017139385A priority Critical patent/JP2017201830A/ja
Publication of JP2017201830A publication Critical patent/JP2017201830A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】データ通信量のカウントと実際にネットワーク側へ送信されたデータ量との差異を低減できる通信装置、通信制御方法、及びプログラムを提供する。【解決手段】デフォルトでデータ通信を禁止し、アプリケーションからデータ通信の要求を受け、要求したアプリケーションのUIDに応じて、アプリケーションのデータ通信を許可するものの、要求したアプリケーションが属するグループのIDによっては、アプリケーションのデータ通信を禁止する通信装置。【選択図】図1

Description

本発明は、通信装置、通信制御方法、及びプログラムに関する。
従来、データ通信可能な携帯端末等の通信装置が知られている(例えば、特許文献1参照)。通信装置においては、通信装置上で稼働するアプリケーションによるデータ通信がデフォルトで許可される一方で、ユーザによって選択されたアプリケーションによるデータ通信のみが禁止されるという構成が採用されることがある。
ここで、通信装置は、データ通信の許可又は禁止をフィルタリング処理により行う。また、通信装置は、管理のためにデータ通信量をカウントする。カウントの対象となるデータは、フィルタリング処理においてデータ通信が許可されたデータである。
特開2015−162701号公報
この場合、データ通信量をカウントする方法によっては、データ通信量のカウントと、実際にネットワーク側へ送信されるデータ量との間に差異が生じる場合がある。
そこで本発明は、上述の点に鑑みてなされたものであり、データ通信量のカウントと実際にネットワーク側へ送信されたデータ量との差異を低減できる通信装置、通信制御方法、及びプログラムを提供することを目的とする。
上記目的を達成する本発明の一実施形態に係る通信装置は、
デフォルトでデータ通信を禁止し、
アプリケーションからデータ通信の要求を受け、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、
前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止する。
また、本発明の一実施形態に係る通信制御方法は、
通信装置において、
デフォルトでデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止するステップと
を含む。
また、本発明の一実施形態に係るプログラムは、
通信装置として機能するコンピュータに、
デフォルトでデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止するステップと
を実行させる。
上記目的を達成する本発明の一実施形態に係る通信装置は、
デフォルトでデータ通信を禁止し、
アプリケーションからデータ通信の要求を受け、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、
前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにする。
また、本発明の一実施形態に係る通信制御方法は、
通信装置において、
デフォルトでデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにするステップと
を含む。
また、本発明の一実施形態に係るプログラムは、
通信装置として機能するコンピュータに、
デフォルトでデータ通信を禁止するステップと、
アプリケーションからデータ通信の要求を受けるステップと、
前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにするステップと
を実行させる。
本発明の一実施形態に係る通信装置、通信制御方法、及びプログラムによれば、データ通信量のカウントと実際にネットワーク側へ送信されたデータ量との差異を低減できる。
実施形態1に係る通信装置の概略構成例を示す機能ブロック図である。 実施形態1に係る通信装置の一例の外観を示す図である。 実施形態1に係るデータの流れの一例を示すブロック図である。 実施形態1に係るフィルタリング処理のシーケンスを説明する図である。 アプリケーションからデータを送信するシーケンスの一例を説明する図である。 実施形態2に係るフィルタリング処理のシーケンスを説明する図である。 実施形態3に係るフィルタリング処理のフローチャートである。 実施形態4に係るデータ量カウント処理のフローチャートである。 比較例に係るデータ量カウント処理のフローチャートである。
(実施形態1)
以下、一実施形態に係る通信装置について、図面を参照しながら詳細に説明する。本実施形態に係る通信装置は、携帯電話、又はスマートフォンなどの携帯機器とすることができる。しかしながら、本実施形態に係る通信装置は、携帯機器に限定されるものではなく、デスクトップPC、ノートPC、タブレット型PC、家電製品、産業用機器(FA機器)、専用端末等、データ通信を行う種々の電子機器とすることができる。
[装置構成]
図1は、本実施形態に係る通信装置1の概略構成例を示す機能ブロック図である。図1に示されるように、通信装置1は、制御部10と、通信部11と、記憶部12と、表示部13と、操作部14とを備える。制御部10は、通信部11と、記憶部12と、表示部13と、操作部14とに接続され、これらを制御する。
制御部10は、オペレーティングシステム(以下、OSともいう)、及び、アプリケーションソフトウェア(以下、アプリケーションともいう)を実行可能なプロセッサ又はマイコン等により構成されうる。OSは、例えばAndroid(登録商標)である。アプリケーションについては後述する。
通信部11は、セルラ通信、又は無線LAN通信等を行う通信インタフェースとして、I/F(インタフェース)デバイス111を備える。I/Fデバイス111は、モデム112と無線LANデバイス113とを含む。通信部11は、I/Fデバイス111を用いてインターネット等のネットワーク側に接続され、ネットワーク側との間でデータ通信を行う。これにより、通信装置1はネットワーク側との間でデータ通信可能となる。通信部11は、制御部10に接続され、ネットワーク側へ出力するデータを制御部10から取得する。制御部10は、通信部11に対して出力するデータをフィルタリング処理によって選択する。フィルタリング処理については後述する。また制御部10は、ネットワーク側から受信したデータを通信部11から取得する。
セルラ通信方式によりネットワーク側と接続される場合、一般的に、通信されるデータ(パケット)の量の増大に応じて通信料金が増大する従量課金制の料金体系が採用される。一方で、無線LAN通信等の方式によりネットワーク側と接続される場合、一般的に、そのような料金体系ではない。
記憶部12は、例えば半導体メモリ等によって構成されうる。記憶部12には、各種情報若しくはデータ、又は、制御部10が実行するOS若しくはアプリケーション等のプログラムが格納される。制御部10は、記憶部12に格納されたプログラムを取得し、実行する。制御部10は、プログラムの実行により生成されるデータを記憶部12に格納する。また記憶部12は、ワークメモリとしても機能しうる。
表示部13は、制御部10から取得した情報に基づき、文字、画像、操作用オブジェクト、ポインタ等を表示する。表示部13は、例えば、液晶ディスプレイ、有機ELディスプレイ、無機ELディスプレイ等の表示デバイスであるが、これらに限られるものではない。
操作部14は、テンキー等の物理キー、タッチパッド、又はタッチパネル等によって構成される。制御部10は、操作部14から取得した入力内容に応じて、表示部13に表示されるポインタ等を移動させたり、操作用オブジェクトを選択したりする。
図2は、本実施形態に係る通信装置1の一例の外観を示す図である。図2に示す通り、本実施形態に係る通信装置1は、いわゆる折りたたみ式(フリップ型又はクラムシェル型等)のフィーチャーフォンである。通信装置1は、上部筐体2と下部筐体3とが、ヒンジ部4によって回動可能に接続される。上部筐体2は表示部13を備え、下部筐体3は操作部14を備える。操作部14は、テンキー等の物理キーの他、物理キーが設けられていない部位にタッチパッド141を備える。通信装置1は、例えば物理キーにより操作用のオブジェクトの選択操作を受け付け、またタッチパッド141によりポインタ等の移動操作を受け付ける。
[アプリケーション]
アプリケーションは、制御部10で実行可能となるように通信装置1にインストールされ、記憶部12に格納される。アプリケーションが通信装置1にインストールされる際、各アプリケーションに固有のユーザ識別子(以下、UIDともいう)が割り当てられる。アプリケーションは、制御部10によって、OS上においてUIDに対応づけられるプロセスとして実行される。
アプリケーションは、制御部10で実行される際に、ファイルシステムなどのリソースに対してアクセスする。各アプリケーションが無制限にリソースにアクセスすると、各アプリケーションによるリソースの使用領域が重複することがあり、この場合アプリケーションが正常に実行されなくなることがある。そこで、OS上で実行されるプロセスに対応づけられるUIDによってリソースに対するアクセスを制限し、アプリケーションによるリソース使用が互いに影響を及ぼさないようにする。つまり、各プロセスからアクセス可能なリソースは、同一のUIDに対応づけられるプロセスのリソースに制限される。
各アプリケーションには、グループ識別子(以下、GID又はグループのIDともいう)がさらに割り当てられる。GIDは、各アプリケーションに割り当てられる固有のUIDが属するグループを特定するものである。一つのグループに一個のUIDだけが属してもよいし、一つのグループに複数のUIDが属してもよい。アプリケーションがUIDに対応づけられるプロセスとして実行される際、このプロセスはGIDにも対応づけられる。また、各プロセスからアクセス可能なリソースは、同一のUIDだけでなく同一のGIDに対応づけられるプロセスのリソースにまで対象を広げて制限されるようにしてもよい。
アプリケーションは、フォアグラウンド(以下、FGともいう)、又は、バックグラウンド(以下、BGともいう)で実行される。アプリケーションがFGで実行されている状態は、例えば、ユーザが確認可能なように実行状況が表示部13に表示される、又は、ユーザが操作部14を用いて操作可能な状態である。アプリケーションがBGで実行されている状態は、例えば、実行状況が表示部13に表示されず、ユーザが操作可能ではない状態、又は、ユーザが意図せずに動作している状態である。
[データ通信の制御]
制御部10によって実行されるアプリケーションは、通信部11を用いて、インターネット等のネットワーク側とのデータ通信を行う。上述の通り、アプリケーションはOS上においてUIDに対応づけられるプロセスとして実行される。そして、アプリケーションから送信されるデータにはUIDが対応づけられる。制御部10は、データに対応づけられたUIDに基づいてデータの送信を許可するか禁止(制限)するか決定することにより、各アプリケーションから送信されるデータに係るデータ通信を許可するか禁止するか制御できる。以下、本実施形態に係る説明においては、データ通信は、原則的に通信部11がネットワーク側との間で行うデータ通信のことを指すものとする。
図3は、本実施形態に係るデータの流れの一例を示すブロック図である。図3において、制御部10と通信部11とが端末側に設けられる。そして、通信部11がネットワーク側と接続され、ネットワーク側との間でデータ通信を行う。
図3において、制御部10は、アプリケーションA16aとアプリケーションB16bとをOS上におけるプロセスとして実行する。制御部10によって実行されるアプリケーションは、必要に応じてネットワーク側とのデータ通信を要求する。例えば、アプリケーションA16aは、ネットワーク側へ向けてデータの送信を要求する。この場合、アプリケーションA16aからネットワーク側へ向けて送信するデータは、制御部10で稼働するパケットフィルタ15に入力される。また、アプリケーションB16bからも同様に、アプリケーションB16bからネットワーク側へ向けて送信するデータがパケットフィルタ15に入力される。
パケットフィルタ15は、制御部10からネットワーク側へ向かうデータのフィルタリング処理を行う。フィルタリング処理は、設定されたフィルタリング条件に基づいて、アプリケーションから要求されたデータの送信を許可するか禁止するか決定する処理である。フィルタリング条件は、例えば、ip_rule又はip_route等を含む。これらのフィルタリング条件は、記憶部12に格納されており、パケットフィルタ15によって参照される。以下、フィルタリング条件を設定する動作は、フィルタリング条件を記憶部12に格納する動作を含むものとする。なお、フィルタリング条件は、記憶部12に格納されずに制御部10に保持されていてもよい。
ip_ruleは、例えば、送信元がXであるデータをネットワーク側へ送信してよいか決定するための条件を含む。ip_routeは、例えば、送信先としてYが指定されたデータをネットワーク側へ送信するルート(中継ルータ等)を決定するための条件を含む。
図3において、アプリケーションA16aから送信されるデータの流れが実線の矢印で示され、アプリケーションB16bから送信されるデータの流れが破線の矢印で示される。このうち、アプリケーションA16aから送信されるデータは、パケットフィルタ15におけるフィルタリング処理によって送信が禁止されず、通信部11に送られる。一方、アプリケーションB16bから送信されるデータは、パケットフィルタ15におけるフィルタリング処理によって送信が禁止され、通信部11に送られない。この動作は、図3において破線の矢印がrejectという記載に向けられることで示される。
パケットフィルタ15を通過したデータ(図3の場合、実線の矢印で示されるアプリケーションA16aから送信されるデータ)は、通信部11に入力される。通信部11は、I/Fデバイス111を用いて、ネットワーク側へデータを送信する。通信部11は、ネットワーク側へデータを送信するに際して、モデム112によるセルラ通信を用いるか、無線LANデバイス113による無線LAN通信を用いるか、又は、他の通信方式を用いるか適宜決定しうる。
[フィルタリング処理]
アプリケーションから送信されるデータについてのデータ通信を許可するか禁止するかは、データ送信元のアプリケーションに割り当てられるUIDに基づいて決定される。以下、UIDとしてXが割り当てられるアプリケーション(以下、UIDがXのアプリケーションともいう)から送信されるデータのことを、UIDがXのデータともいう。また、UIDがXのデータのフィルタリング処理を行うために用いられるフィルタリング条件を、UIDがXのデータのフィルタリング条件ともいう。
パケットフィルタ15は、例えば、UIDが1のアプリケーションから送信されるデータに係るデータ通信のみ許可するというフィルタリング条件を有する。また、フィルタリング条件は、複数の条件をあわせたものであってもよい。
ここで、本実施形態に係るフィルタリング処理が行われる場合のデータ通信のシーケンスを説明する。本実施形態に係るフィルタリング処理は、BG動作しているアプリケーションが送信するデータに係るデータ通信の許可又は禁止を決定することを前提とする。以下の本実施形態に係るフィルタリング処理の説明は上記前提に基づく。
本実施形態に係るフィルタリング処理は、デフォルトでデータ通信を禁止するというフィルタリング条件(以下、デフォルト通信禁止条件ともいう)が設定されている。デフォルト通信禁止条件が設定されていることにより、他のフィルタリング条件がさらに設定されない限り、全てのデータ通信が禁止される。デフォルト通信禁止条件は、通信装置1の出荷時に設定されたり、通信装置1の初期化時に設定されたりする。すなわち、本実施形態において、「デフォルト」とは、所定のタイミング(例えば、通信装置1の出荷時、通信装置1の初期化時、等)で、標準の動作として予め設定されていることを意味するものとする。
本実施形態においては、必要なデータ通信を実行するために、デフォルト通信禁止条件に加えて、データ通信を許可するための条件(以下、通信許可条件ともいう)が設定されたフィルタリング条件が用いられる。この場合、通信許可条件は、デフォルト通信禁止条件に優先する。
図4は、本実施形態に係るフィルタリング処理のシーケンスを説明する図である。図4には、アプリケーションA16a、アプリケーションB16b、フレームワーク、通信制御部、カーネル、及びモデム112のシーケンスが示されている。
モデム112は、上述の通り、セルラ通信を行う通信インタフェースとして機能するハードウェアである。図4においては、モデム112を用いたセルラ通信によるデータ通信について説明しているが、モデム112ではなく、無線LANデバイス113等の他のI/Fデバイス111に置き換えて、他の通信方式によるデータ通信を行ってもよい。
カーネル、通信制御部、及びフレームワークはソフトウェアであり、制御部10で実行される。図4において、通信制御部にはUIDとして0が割り当てられる。
フレームワークは、OS上においてアプリケーションを動作させるための機能群を含むソフトウェアである。一般的に、フレームワークで準備された機能群を組み合わせることによって、各アプリケーションの機能が実現される。
カーネルは、OSの中核をなすソフトウェアであり、アプリケーション等のソフトウェアによる処理に基づき、通信部11等のハードウェアにおける処理を管理して、ハードウェアの機能を利用できるようにする。
通信制御部は、ネットワーク関連の処理を行うデーモンプログラムであり、フレームワークとカーネルとの間をつなぐ処理をする。通信制御部は、特に、カーネルが通信部11の機能を利用できるようにするためのデータを処理する。本実施形態において、通信制御部は、カーネルが通信部11へのデータ出力を許可するか禁止するか決定するための条件をカーネルに出力する。
本実施形態において、フィルタリング処理はパケットフィルタ15により行われるものとして説明する。ここで、パケットフィルタ15は仮想的な処理ユニットであり、実際のフィルタリング処理は、通信制御部とカーネルとにより行われる。
アプリケーションA16a及びアプリケーションB16bは、OS上において動作するプロセスである。図4において、アプリケーションA16aにはUIDとして1が割り当てられ、アプリケーションB16bにはUIDとして2が割り当てられる。
以下、図4に示されるシーケンスを説明する。BG動作するアプリケーションがデータを送信する場合、デフォルトでセルラ通信によるデータ通信が禁止されている(ステップS1)。つまり、フィルタリング条件として、BG動作するアプリケーションから送信されるデータに係るデフォルト通信禁止条件が設定されている。図4において、デフォルト通信禁止条件が設定されていることは、カーネル、通信制御部、及びフレームワークにより認識されている。特に、カーネルは、デフォルト通信禁止条件が設定されていることを認識している場合、モデム112に対するデータの送信を行わない。
続いて、アプリケーションがBGで動作する場合のUIDが1のデータに係るデータ通信の許可要求(以下、UIDが1のデータの通信許可要求ともいう)を、フレームワークが取得する(ステップS2)。続いて、フレームワークは、UIDが1のデータの通信許可要求を通信制御部に出力する(ステップS3)。
通信制御部は、UIDが1のデータの通信許可要求を取得する(ステップS4)。続いて通信制御部は、UIDが1のデータの通信許可要求をカーネルに出力する(ステップS5)。
カーネルは、UIDが1のデータの通信許可要求を取得する(ステップS6)。以上のステップS3〜S6の動作により、カーネルにUIDが1のデータの通信許可要求が伝達される。つまり、フィルタリング条件として、UIDが1のデータに係る通信許可条件が設定される。
続いて、アプリケーションA16aがBG動作においてデータ通信を要求する場合(ステップS7)、カーネルは、UIDが1のデータに係る通信許可条件が設定されていることを認識しているので、データ通信を許可する(ステップS8)。そして、モデム112は、UIDが1のデータをネットワーク側へ送信するデータ通信を行う(ステップS9)。
一方、UIDとして2が割り当てられるアプリケーションB16bがBG動作においてデータ通信を要求する場合(ステップS10)、カーネルは、UIDが2のデータに係る通信許可条件が設定されていないことを認識している。よって、カーネルは、デフォルト通信禁止条件に基づいて、データ通信を禁止する(ステップS11)。
<アプリケーションからのデータ送信シーケンス>
図4のステップS7〜S9において、アプリケーションがデータ通信を要求してモデム112がデータ通信を行うことを説明した。以下、図5を用いて、これらのシーケンスをより具体的に説明する。図5には、アプリケーションA16a、フレームワーク、カーネル、及びモデム112のシーケンスが示されている。アプリケーションA16a、フレームワーク、カーネル、及びモデム112については、図4と同様であるため説明を省略する。
アプリケーションA16aは、FG又はBGのいずれで動作する場合であっても、アプリケーションA16aから送信されるデータ(UIDが1のデータ)に係るデータ通信の要求(以下、UIDが1のデータ通信要求ともいう)をアプリケーションA16aが動作しているOS上のフレームワークに対して出力する(ステップS101)。
フレームワークは、UIDが1のデータ通信要求を取得する(ステップS102)。続いてフレームワークは、UIDが1のデータ通信要求をカーネルに出力する(ステップS103)。
カーネルは、UIDが1のデータ通信要求を取得する(ステップS104)。続いてカーネルは、モデム112に対してUIDが1のデータ通信要求に基づいてデータを出力する(ステップS105)。そしてモデム112は、UIDが1のデータをネットワーク側へ送信するデータ通信を行う(ステップS106)。
以上説明してきた図5に示されるシーケンスの動作により、アプリケーションから送信するデータが通信部11に出力され、ネットワーク側へ送信される。
以上、実施形態1について説明してきた。本実施形態に係るUIDに応じたフィルタリング処理によれば、ユーザにより明示的にフィルタリング条件が設定されていないアプリケーションB16bから送信されるデータに係るデータ通信を禁止できる。つまり、ユーザの意図しないデータ通信は禁止される可能性が高くなる。
本実施形態において、I/Fデバイス111としてモデム112を用いるセルラ通信方式によるデータ通信を禁止する方法について主に説明してきた。しかし、I/Fデバイス111はモデム112に限られず、無線LANデバイス113等であってもよい。つまり、本実施形態に係る通信装置1のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線LAN通信方式等の他の通信方式によるデータ通信においても適用されうる。
また本実施形態において、データ通信が許可されたデータを送信するために必要となる機能については、デフォルトでデータ通信を許可するようにしてもよい。デフォルトでデータ通信を許可される機能は、例えば、VPN(Vertual Private Network)のトンネリング機能、DNS(Domain Name System)の名前解決機能、又はテザリング機能等である。これらの機能に係るデータ通信は、ユーザが意図した場合に動作するものに限り、許可されてもよい。これらの機能に係るデータ通信を許可する条件は、デフォルト通信禁止条件に優先するフィルタリング条件として設定されてもよい。
また、本実施形態に係るフィルタリング処理は、BG動作しているアプリケーションのデータ通信について行われたが、これには限られず、FG動作しているアプリケーションのデータ通信について行われてもよい。つまり、本実施形態に係るフィルタリング処理は、FG動作しているアプリケーションが送信するデータに係るデータ通信の許可又は禁止を決定してもよい。
(実施形態2)
実施形態1では、UIDに応じてフィルタリング処理を行ったが、GIDに応じてフィルタリング処理を行ってもよい。以下、実施形態2として、GIDに応じたフィルタリング処理について説明する。
図6は、本実施形態に係るフィルタリング処理のシーケンスを説明する図である。図6には、アプリケーションA16a、アプリケーションB16b、フレームワーク、通信制御部、カーネル、及びモデム112のシーケンスが示されている。フレームワーク、通信制御部、カーネル、及びモデム112については、実施形態1の図4と同様であるため説明を省略する。
図6において、アプリケーションA16aはGIDが1のアプリケーションであり、アプリケーションB16bはGIDが2のアプリケーションである。
以下、図6に示されるシーケンスを説明する。BG動作するアプリケーションがデータを送信する場合、デフォルトでセルラ通信によるデータ通信が禁止されている(ステップS701)。つまり、フィルタリング条件として、BG動作するアプリケーションから送信されるデータに係るデフォルト通信禁止条件が設定されている。図6において、デフォルト通信禁止条件が設定されていることは、カーネル、通信制御部、及びフレームワークにより認識されている。特に、カーネルは、デフォルト通信禁止条件が設定されていることを認識している場合、モデム112に対するデータの送信を行わない。
続いて、アプリケーションがBGで動作する場合のGIDが1のデータに係るデータ通信の許可要求(以下、GIDが1のデータの通信許可要求ともいう)を、フレームワークが取得する(ステップS702)。続いて、フレームワークは、GIDが1のデータの通信許可要求を通信制御部に出力する(ステップS703)。
通信制御部は、GIDが1のデータの通信許可要求を取得する(ステップS704)。続いて通信制御部は、GIDが1のデータの通信許可要求をカーネルに出力する(ステップS705)。
カーネルは、GIDが1のデータの通信許可要求を取得する(ステップS706)。以上のステップS703〜S706の動作により、カーネルにGIDが1のデータの通信許可要求が伝達される。つまり、フィルタリング条件として、GIDが1のデータに係る通信許可条件が設定される。
続いて、アプリケーションA16aがBG動作においてデータ通信を要求する場合(ステップS707)、カーネルは、GIDが1のデータに係る通信許可条件が設定されていることを認識しているので、データ通信を許可する(ステップS708)。そして、モデム112は、GIDが1のデータをネットワーク側へ送信するデータ通信を行う(ステップS709)。
一方、GIDが2のアプリケーションB16bがBG動作においてデータ通信を要求する場合(ステップS710)、カーネルは、GIDが2のデータに係る通信許可条件が設定されていないことを認識している。よって、カーネルは、デフォルト通信禁止条件に基づいて、データ通信を禁止する(ステップS711)。
図6のステップS707〜S709において、アプリケーションがデータ通信を要求してモデム112がデータ通信を行う。このデータ通信は、実施形態1の図5と同様のシーケンスで行われるものであるので、説明を省略する。
以上説明してきたように、GIDに応じたフィルタリング条件を設定することで、実施形態1のUIDに応じたフィルタリング処理と同様のフィルタリング処理が実現できる。
[VPNにおけるフィルタリング処理]
GIDに応じたフィルタリング処理を行う一例として、VPNのトンネリング機能を用いてデータ通信を行うためにデータをカプセル化する場合のフィルタリング処理について説明する。本実施形態においては、通信装置1はVPNデバイスをさらに備える。VPNデバイスは、取得したデータをカプセル化するプロトコルを有する。VPNデバイスが有するプロトコルには、固有のUIDが割り当てられている。以下、プロトコルに割り当てられたUIDを、プロトコルのUIDともいう。VPNデバイスは、このプロトコルに基づいて、アプリケーションからのデータをカプセル化する。そして、VPNデバイスは、カプセル化したデータを通信部11に出力する。カプセル化されたデータは、データを送信するアプリケーションに割り当てられているUIDとの対応づけが失われる。そして、カプセル化されたデータには、カプセル化を行ったプロトコルのUIDが新たに対応づけられる。
VPNデバイスは、データのカプセル化を行うプロトコルを複数有してもよい。この場合、各プロトコルのUIDはそれぞれ異なる。そして、カプセル化されたデータには、カプセル化を行ったプロトコルのUIDが対応づけられる。またVPNデバイスがデータのカプセル化を行うプロトコルを複数有する場合、これらのプロトコルのUIDは、共通のグループに属する。この共通のグループには、GIDが割り当てられている。よって、VPNデバイスが有する複数のプロトコルには共通のGIDが対応づけられる。以下、VPNデバイスが有する複数のプロトコルに共通に対応づけられたGIDを、VPNデバイスのGIDともいう。カプセル化されたデータには、カプセル化を行ったプロトコルを有するVPNデバイスのGIDが新たに対応づけられる。また、VPNデバイスが有するプロトコルは、アプリケーションに含まれるものであってもよい。この場合、VPNデバイスが有するプロトコルのことを、VPNアプリケーションともいう。
VPNデバイスにおいてカプセル化されたデータは、カプセル化するプロトコルのUIDが対応づけられている。上述の通り、VPNデバイスは、複数のプロトコルを有する。よって、VPNデバイスにおいてカプセル化されるデータに対応づけられる可能性があるUIDは、複数個存在する。カプセル化されたデータに対するフィルタリング処理を行うに際して、UIDに応じたフィルタリング条件を設定する場合、プロトコルの数と同じ数のフィルタリング条件が設定されることとなる。
一方で、カプセル化されたデータには、GIDも対応づけられる。VPNデバイスが有する複数のプロトコルのUIDに対して、共通のGIDが対応づけられる。よって、GIDに応じたフィルタリング条件を設定する場合、各プロトコルに共通の1つのフィルタリング条件が設定されればよい。
以上、実施形態2について説明してきた。本実施形態によれば、アプリケーションによるデータ通信の許可又は禁止を容易に設定することができる。
本実施形態においても、I/Fデバイス111はモデム112に限られず、無線LANデバイス113等であってもよい。つまり、本実施形態に係る通信装置1のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線LAN通信方式等の他の通信方式によるデータ通信においても適用されうる。
(実施形態3)
実施形態3として、UIDに応じたフィルタリング処理に続いて、さらにGIDに応じたフィルタリング処理を実行する場合について説明する。本実施形態においては、フィルタリング条件として、デフォルト通信禁止条件が設定されているものとする。
図7は、本実施形態に係るフィルタリング処理を示すフローチャートである。まず、パケットフィルタ15は、UIDがX、且つ、GIDがYのデータに係るデータ通信要求をアプリケーションから取得する(ステップS801)。続いてパケットフィルタ15は、UIDがXのデータに係る通信許可条件(以下、UIDに応じた通信許可条件ともいう)がフィルタリング条件として設定されているか判定する(ステップS802)。
UIDに応じた通信許可条件が設定されていない場合(ステップS802:NO)、パケットフィルタ15は、データをモデム112に出力せず(ステップS805)、図7のフローチャートを終了する。
UIDに応じた通信許可条件が設定されている場合(ステップS802:YES)、パケットフィルタ15は、GIDがYのデータに係るデータ通信を禁止するための条件(以下、GIDに応じた通信禁止条件ともいう)がフィルタリング条件として設定されているか判定する(ステップS803)。
GIDに応じた通信禁止条件が設定されている場合(ステップS803:YES)、パケットフィルタ15は、データをモデム112に出力せず(ステップS805)、図7のフローチャートを終了する。
GIDに応じた通信禁止条件が設定されていない場合(ステップS803:NO)、パケットフィルタ15は、データをモデム112に出力し(ステップS804)、図7のフローチャートを終了する。
以上、実施形態3について、図7に示されるフローチャートを参照して説明してきた。本実施形態においては、UID及びGIDに応じたフィルタリング処理を実行することにより、アプリケーションのデータ通信の許可又は禁止の設定方法のバリエーションを増やすことができる。
本実施形態においても、I/Fデバイス111はモデム112に限られず、無線LANデバイス113等であってもよい。つまり、本実施形態に係る通信装置1のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線LAN通信方式等の他の通信方式によるデータ通信においても適用されうる。
(実施形態4)
実施形態4として、UID及びGIDに応じたフィルタリング処理を実行する場合に、データ通信量をカウントする方法について説明する。本実施形態において、データ通信量のカウントは、パケットフィルタ15において実行される。また本実施形態においては、フィルタリング条件として、デフォルト通信禁止条件が設定されているものとする。
図8は、本実施形態に係るデータ量カウント処理を示すフローチャートである。まず、パケットフィルタ15は、UIDがX、且つ、GIDがYのデータに係るデータ通信要求をアプリケーションから取得する(ステップS901)。
続いてパケットフィルタ15は、UIDがX、且つ、GIDがYのデータに係るデータ通信を禁止するかどうか決定する(ステップS902)。ステップS902は、UID又はGIDに応じてデータ通信を禁止するか決定するものであり、実施形態3の図7のステップS802及びS803と同様の処理により行われる。つまり、UIDに応じた通信許可条件が設定されている場合(ステップS802:YES)、且つ、GIDに応じた通信禁止条件が設定されていない場合(ステップS803:NO)、パケットフィルタ15は、データ通信を禁止しない(許可する)と決定する。一方で、UIDに応じた通信許可条件が設定されていない場合(ステップS802:NO)、又は、GIDに応じた通信禁止条件が設定されている場合(ステップS803:YES)、パケットフィルタ15は、データ通信を禁止すると決定する。
データ通信を禁止すると決定した場合(ステップS902:YES)、パケットフィルタ15は、データ通信要求があったデータについてデータ通信量をカウントしない(ステップS903)。続いて、パケットフィルタ15は、当該データをモデム112に出力せず(ステップS904)、図8のフローチャートを終了する。
データ通信を禁止しないと決定した場合(ステップS902:NO)、パケットフィルタ15は、データ通信要求があったデータについてデータ通信量をカウントする(ステップS903)。続いて、パケットフィルタ15は、当該データをモデム112に出力し(ステップS904)、図8のフローチャートを終了する。
以上、図8を参照して説明してきたが、このようにすることで、パケットフィルタ15がカウントするデータ通信量と、パケットフィルタ15がモデム112に出力するデータの量との差異を低減することができる。
<比較例>
図9は、比較例に係るデータ量カウント処理を示すフローチャートである。まず、パケットフィルタ15は、UIDがX、且つ、GIDがYのデータに係るデータ通信要求をアプリケーションから取得する(ステップS1001)。
続いてパケットフィルタ15は、UIDがXのデータに係るデータ通信を禁止するかどうか決定する(ステップS1002)。ステップS1002は、UIDに応じてデータ通信を禁止するか決定するものであり、実施形態3の図7のステップS802と同様の処理により行われる。つまり、UIDに応じた通信許可条件が設定されている場合(ステップS802:YES)、パケットフィルタ15は、データ通信を禁止しない(許可する)と決定する。一方で、UIDに応じた通信許可条件が設定されていない場合(ステップS802:NO)、パケットフィルタ15は、データ通信を禁止すると決定する。
UIDに応じてデータ通信を禁止すると決定した場合(ステップS1002:YES)、パケットフィルタ15は、データ通信要求があったデータについてデータ通信量をカウントしない(ステップS1003)。続いて、パケットフィルタ15は、当該データをモデム112に出力せず(ステップS1004)、図9のフローチャートを終了する。
UIDに応じてデータ通信を禁止しないと決定した場合(ステップS902:NO)、パケットフィルタ15は、データ通信要求があったデータについてデータ通信量をカウントする(ステップS1005)。
続いて、パケットフィルタ15は、GIDがYのデータに係るデータ通信を禁止するかどうか決定する(ステップS1006)。ステップS1006は、GIDに応じてデータ通信を禁止するか決定するものであり、実施形態3の図7のステップS803と同様の処理により行われる。つまり、GIDに応じた通信禁止条件が設定されている場合(ステップS803:YES)、パケットフィルタ15は、データ通信を禁止すると決定する。一方で、GIDに応じた通信禁止条件が設定されていない場合(ステップS803:NO)、パケットフィルタ15は、データ通信を禁止しない(許可する)と決定する。
GIDに応じてデータ通信を禁止しないと決定した場合(ステップS1006:NO)、パケットフィルタ15は、当該データをモデム112に出力し(ステップS1007)、図8のフローチャートを終了する。この場合、ステップS1005においてデータ通信要求があったデータについてデータ通信量がカウントされた後で、当該データがモデム112に出力されている。よって、パケットフィルタ15がカウントするデータ通信量と、パケットフィルタ15がモデム112に出力するデータの量とは一致する。
GIDに応じてデータ通信を禁止すると決定した場合(ステップS1006:YES)、パケットフィルタ15は、当該データをモデム112に出力せず(ステップS1004)、図9のフローチャートを終了する。この場合、ステップS1005においてデータ通信要求があったデータについてデータ通信量がカウントされた後で、当該データがモデム112に出力されない。よって、パケットフィルタ15がカウントするデータ通信量と、パケットフィルタ15がモデム112に出力するデータの量とが不一致となる。
以上、図9を参照して比較例について説明してきたが、比較例においては、パケットフィルタ15がカウントするデータ通信量と、パケットフィルタ15がモデム112に出力するデータの量とが一致しない場合が起こりうる。
以上、実施形態4について説明してきた。本実施形態によれば、比較例との対比において、パケットフィルタ15がカウントするデータ通信量と、パケットフィルタ15がモデム112に出力するデータの量との差異を低減することができる。
本実施形態においても、I/Fデバイス111はモデム112に限られず、無線LANデバイス113等であってもよい。つまり、本実施形態に係る通信装置1のデータ通信の制御方法は、セルラ通信方式によるデータ通信に限られず、無線LAN通信方式等の他の通信方式によるデータ通信においても適用されうる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。また、本発明について装置を中心に説明してきたが、本発明は装置の各構成部が実行するステップを含む方法としても実現し得るものである。また、本発明について装置を中心に説明してきたが、本発明は装置が備えるプロセッサにより実行される方法、プログラム、又はプログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
上記の実施形態では、従量課金制ではない方式によるデータ通信の方式として無線LANを例示したが、これに限定されず、従量課金制ではない方式は、Bluetooth(登録商標)やEthernet(登録商標)等のデータ通信方式であってもよい。
1 通信装置
10 制御部
11 通信部
111 I/Fデバイス
112 モデム
113 無線LANデバイス
12 記憶部
13 表示部
14 操作部
15 パケットフィルタ
16a アプリケーションA
16b アプリケーションB

Claims (6)

  1. デフォルトでデータ通信を禁止し、
    アプリケーションからデータ通信の要求を受け、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、
    前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止する
    通信装置。
  2. 通信装置において、
    デフォルトでデータ通信を禁止するステップと、
    アプリケーションからデータ通信の要求を受けるステップと、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止するステップと
    を含む通信制御方法。
  3. 通信装置として機能するコンピュータに、
    デフォルトでデータ通信を禁止するステップと、
    アプリケーションからデータ通信の要求を受けるステップと、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信を許可するものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信を禁止するステップと
    を実行させるプログラム。
  4. デフォルトでデータ通信を禁止し、
    アプリケーションからデータ通信の要求を受け、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、
    前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにする
    通信装置。
  5. 通信装置において、
    デフォルトでデータ通信を禁止するステップと、
    アプリケーションからデータ通信の要求を受けるステップと、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにするステップと
    を含む通信制御方法。
  6. 通信装置として機能するコンピュータに、
    デフォルトでデータ通信を禁止するステップと、
    アプリケーションからデータ通信の要求を受けるステップと、
    前記要求したアプリケーションのUIDに応じて、該アプリケーションのデータ通信量をカウントするものの、前記要求したアプリケーションが属するグループのIDによっては、該アプリケーションのデータ通信量をカウントしないようにするステップと
    を実行させるプログラム。
JP2017139385A 2017-07-18 2017-07-18 通信装置、通信制御方法、及びプログラム Pending JP2017201830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017139385A JP2017201830A (ja) 2017-07-18 2017-07-18 通信装置、通信制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017139385A JP2017201830A (ja) 2017-07-18 2017-07-18 通信装置、通信制御方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016238470A Division JP6180613B2 (ja) 2016-12-08 2016-12-08 通信装置、通信制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017201830A true JP2017201830A (ja) 2017-11-09

Family

ID=60265099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017139385A Pending JP2017201830A (ja) 2017-07-18 2017-07-18 通信装置、通信制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017201830A (ja)

Similar Documents

Publication Publication Date Title
US10785216B2 (en) Method for accessing network by internet of things device, apparatus, and system
JP4618455B2 (ja) 端末装置、ネットワーク接続方法及びプログラム
US10083129B2 (en) Code loading hardening by hypervisor page table switching
JP6258985B2 (ja) 通信装置、通信制御方法、及びプログラム
JP6532851B2 (ja) 通信装置、dns処理方法、およびプログラム
JP6180613B2 (ja) 通信装置、通信制御方法、及びプログラム
JP6339604B2 (ja) 通信装置、通信制御方法、及びプログラム
CN114401502B (zh) 配置方法、装置、电子设备及存储介质
JP6029781B1 (ja) 通信装置、dns処理方法、およびプログラム
JP6093055B1 (ja) 通信装置、通信制御方法、及びプログラム
JP2017201830A (ja) 通信装置、通信制御方法、及びプログラム
JP6258986B2 (ja) 通信装置、通信制御方法、及びプログラム
JP2017225161A (ja) 通信装置、通信制御方法、及びプログラム
JP2017139735A (ja) 通信装置、通信制御方法、及びプログラム
JP2017225162A (ja) 通信装置、通信制御方法、及びプログラム
JP2017139736A (ja) 通信装置、通信制御方法、及びプログラム
US20170223614A1 (en) Communication apparatus, communication control method, and non-transitory computer-readable recording medium
US10735526B2 (en) Communication apparatus, communication control method, and non-transitory computer-readable recording medium for controlling data communication of an application
JP2017139751A (ja) 通信装置、通信制御方法、及びプログラム
JP2017138971A (ja) 通信装置、通信制御方法、及びプログラム
JP2017139747A (ja) 通信装置、通信制御方法、およびプログラム
Sarathchandra REACT: Distributed Mobile Microservice Execution Enabled by Efficient Inter-Process Communication
JPWO2019012958A1 (ja) ハイパーバイザプログラム
JP2014191569A (ja) 情報装置およびその接続制御方法