JP2017139747A - 通信装置、通信制御方法、およびプログラム - Google Patents

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

Info

Publication number
JP2017139747A
JP2017139747A JP2016251578A JP2016251578A JP2017139747A JP 2017139747 A JP2017139747 A JP 2017139747A JP 2016251578 A JP2016251578 A JP 2016251578A JP 2016251578 A JP2016251578 A JP 2016251578A JP 2017139747 A JP2017139747 A JP 2017139747A
Authority
JP
Japan
Prior art keywords
application
communication
data communication
data
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
JP2016251578A
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 JP2016251578A priority Critical patent/JP2017139747A/ja
Publication of JP2017139747A publication Critical patent/JP2017139747A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephone Function (AREA)

Abstract

【課題】ユーザの意図しない通信の発生を低減できる通信装置、通信制御方法、およびプログラムを提供する。【解決手段】データ通信可能な通信装置1は、アプリケーションのデータ通信を一時的に許可し、アプリケーションがバックグラウンドに移行すると、ユーザの意図しない割り込みによってアプリケーションがバックグラウンドに移行した場合に、アプリケーションのデータ通信の一時的な許可を維持し、ユーザの意図しない割り込み以外の割り込みによってアプリケーションがバックグラウンドに移行した場合に、アプリケーションのデータ通信を禁止する。【選択図】図8

Description

本発明は、通信装置、通信制御方法、およびプログラムに関する。
従来、データ通信可能な携帯端末などの通信装置が知られている(例えば、特許文献1参照)。通信装置においては、通信装置上で稼働するアプリケーションによるデータ通信がデフォルトで許可される一方で、ユーザによって選択されたアプリケーションによるデータ通信のみが禁止されるという構成が採用されることがある。この場合、ユーザは、自らが把握できる範囲で、アプリケーションによるデータ通信を抑制できる。
特開2015−162701号公報
しかし、ユーザは、通信装置においてどのようなアプリケーションが稼働しているか完全に把握できるとは限らない。特に、通信装置のシステムのバックグラウンドで稼働するアプリケーションは、ユーザによって把握されない可能性が高い。よって、ユーザによって動作が把握されればデータ通信の禁止が選択されるような場合でも、ユーザによって動作が把握されないことによって、アプリケーションのデータ通信の禁止が選択されない場合がある。また、通信装置のシステムが行うデータ通信については、そもそも通信装置のシステム仕様として、ユーザが選択できないようになっている場合もある。これらの場合、ユーザの意図しないデータ通信が行われて、通信されるデータ量が意図せず増加することがある。
本発明は、ユーザの意図しない通信の発生を低減できる通信装置、通信制御方法、およびプログラムを提供することを目的とする。
本発明の一実施形態に係る通信装置は、
データ通信可能な通信装置であって、
アプリケーションのデータ通信を一時的に許可し、
前記アプリケーションがバックグラウンドに移行すると、
ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持し、
ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止する。
また、本発明の一実施形態に係る通信制御方法は、
データ通信可能な通信装置が実行する通信制御方法であって、
アプリケーションのデータ通信を一時的に許可するステップと、
前記アプリケーションがバックグラウンドに移行すると、
ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持するステップと、
ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止するステップと、を含む。
また、本発明の一実施形態に係るプログラムは、
データ通信可能な通信装置に、
アプリケーションのデータ通信を一時的に許可するステップと、
前記アプリケーションがバックグラウンドに移行すると、
ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持するステップと、
ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止するステップと、を実行させる。
本発明の一実施形態に係る通信装置、通信制御方法、およびプログラムによれば、ユーザの意図しない通信の発生を低減できる。
第1実施形態に係る通信装置の概略構成例を示す機能ブロック図である。 第1実施形態に係る通信装置の一例の外観を示す図である。 第1実施形態に係るデータの流れの一例を示すブロック図である。 第1実施形態に係るフィルタリング処理のシーケンスを説明する図である。 アプリからデータを送信するシーケンスの一例を説明する図である。 第1実施形態の比較例に係るフィルタリング処理のシーケンスを説明する図である。 第2実施形態に係る選択画面の例を示す図である。 第2実施形態に係るデータ通信を一時的に許可する処理のシーケンスを説明する図である。 第2実施形態に係る第1割り込みに応じた処理のシーケンスを説明する図である。 第2実施形態に係る第2割り込みに応じた処理のシーケンスを説明する図である。
(第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で実行される。カーネル、通信制御部、およびフレームワークは、通信装置1のOSに含まれる。図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に出力され、ネットワーク側へ送信される。
<比較例>
ここまで説明してきた本実施形態に係るフィルタリング処理によれば、デフォルト通信禁止条件に加えて、通信許可条件がユーザによって明示的に追加されるので、ユーザの意図しないデータ通信を禁止できる可能性が高くなる。以下、本実施形態の比較例に係るフィルタリング処理について説明する。比較例に係るフィルタリング処理で用いられるフィルタリング条件には、デフォルトで全てのデータに係るデータ通信を許可するという条件(以下、デフォルト通信許可条件ともいう)が設定される。このように全てのデータに係るデータ通信が許可された上で、ユーザによって指定されたUIDのデータに係るデータ通信を禁止するという条件(以下、通信禁止条件ともいう)がさらに設定される。
図6は、比較例に係るフィルタリング処理のシーケンスを説明する図である。アプリA16a、アプリB16b、フレームワーク、通信制御部、カーネル、およびモデム112については、図4および図5と同様であるため説明を省略する。
図6において、BG動作するアプリがデータを送信する場合であっても、デフォルトでセルラ通信によるデータ通信が許可されている(ステップS201)。つまり、フィルタリング条件として、BG動作するアプリから送信されるデータに係るデフォルト通信許可条件が設定されている。
続いて、アプリA16aがBG動作する場合におけるUIDが1のデータに係るデータ通信の禁止要求(以下、UIDが1のデータの通信禁止要求ともいう)を、フレームワークが取得する(ステップS202)。この時点においては、アプリA16aがBG動作していないため、UIDが1のデータに係る通信禁止条件は設定されない。
続いて、アプリA16aがBG動作に移行した通知(以下、BG移行通知ともいう)をフレームワークが取得する(ステップS203)。通知を受けたフレームワークは、UIDが1のデータの通信禁止要求を通信制御部に出力する(ステップS204)。
通信制御部は、UIDが1のデータの通信禁止要求を取得する(ステップS205)。続いて通信制御部は、UIDが1のデータの通信禁止要求をカーネルに出力する(ステップS206)。
カーネルは、UIDが1のデータの通信禁止要求を取得する(ステップS207)。以上のステップS202〜S207の動作によって、カーネルにUIDが1のデータの通信禁止要求が伝達される。つまり、フィルタリング条件として、UIDが1のデータに係る通信禁止条件が設定される。
続いて、アプリA16aがBG動作においてデータ通信を要求する場合(ステップS208)、カーネルは、UIDが1のデータに係る通信禁止条件が設定されていることを認識しているので、データ通信を禁止する(ステップS209)。
一方、UIDとして2が割り当てられるアプリB16bがBG動作においてデータ通信を要求する場合(ステップS210)、カーネルは、UIDが2のデータに係る通信禁止条件が設定されていないことを認識している。よって、カーネルは、デフォルト通信許可条件に基づいて、データ通信を許可する(ステップS211)。そして、モデム112は、UIDが2のデータをネットワーク側へ送信するデータ通信を行う(ステップS212)。
以上、比較例に係るフィルタリング処理について説明してきた。比較例では、デフォルト通信許可条件が設定されているため、ユーザによって明示的に追加のフィルタリング条件が設定されていないアプリB16bのBG動作におけるデータ通信は許可される。よって、ユーザがアプリB16bの動作を認識しない場合、ユーザの意図しないデータ通信が行われることがある。
一方、本実施形態においては、フィルタリング条件として、デフォルト通信禁止条件が設定される。その上で、ユーザが指定したUIDのデータに係る通信許可条件がさらに設定される。この場合、デフォルトで全てのデータについてデータ通信が禁止されていることによって、ユーザの意図しないデータ通信を禁止できる可能性が高くなる。
以上、本実施形態およびその比較例に係るフィルタリング処理について説明してきた。本実施形態に係るフィルタリング処理においては、比較例に係るフィルタリング処理と異なり、デフォルトで全てのデータについてデータ通信が禁止されている。そして、ユーザによって明示的に、フィルタリング条件としてユーザが指定した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実施形態)
次に、本発明の第2実施形態に係る通信装置について説明する。上記の第1実施形態においては、アプリのIDおよびフィルタリング条件に基づいてデータ通信を制御する構成について説明した。一方、第2実施形態に係る通信装置は、FGおよびBGの何れにおいてもデータ通信が禁止されているアプリのデータ通信を一時的に許可するとともに、当該アプリに対する割り込みに応じてデータ通信を制御する点が、第1実施形態と相違する。
第2実施形態に係る通信装置1は、第1実施形態と同様に、制御部10と、通信部11と、記憶部12と、表示部13と、操作部14とを備える(図1参照)。以下の説明において、第1実施形態と同一の構成については、同一の符号を付し、説明は省略する。
(データ通信の一時許可)
まず、通信装置1がアプリのデータ通信の一時的に許可する構成について説明する。
はじめに制御部10は、FGおよびBGの何れにおいてもデータ通信が禁止されているアプリ(例えば、UID=1)を起動するに際して、所定の選択画面を表示部13に表示させる。選択画面には、例えば図7に示すように、アプリ(UID=1)のデータ通信に関する複数のオプション(「許可」、「禁止」、および「一時許可」)が表示される。制御部10は、操作部14に対するユーザ操作に応じて選択されたオプションに応じて、アプリ(UID=1)のデータ通信に関する設定を行う。
例えば、「許可」オプションが選択された場合、制御部10は、UID=1のデータ通信を許可するフィルタリング条件を新たに設定する。また「禁止」オプションが選択された場合、制御部10は、FGおよびBGの何れにおいてもUID=1のデータ通信を禁止するフィルタリング条件を維持する。
また「一時許可」オプションは、アプリ(UID=1)のデータ通信を一時的に許可するためのユーザ操作を受け付ける。「一時許可」オプションが選択された場合、制御部10は、UID=1のデータ通信を一時的に許可する。データ通信が一時的に許可されたアプリ(UID=1)は、アプリ(UID=1)が起動(例えば、FGで実行)されてからBGに移行するまでの間だけ、アプリ(UID=1)のデータ通信が許可される。ここでは、「一時許可」オプションが選択されたものとして説明する。
そして制御部10は、データ通信が一時許可されたアプリ(UID=1)がFGからBGに移行すると、アプリ(UID=1)のデータ通信の一時的な許可を解消(すなわち、データ通信を禁止)する。
(割り込みに応じたデータ通信制御)
次に、通信装置1が、データ通信が一時的に許可されているアプリ(UID=1)に対する割り込みに応じてデータ通信を制御する構成について説明する。
はじめに制御部10は、何らかのイベントに応じて他のアプリ(UID=n)からの割り込みが発生すると、FGで実行中のアプリ(UID=1)をFGからBGに移行させ、当該他のアプリ(UID=n)をFGで実行する。
ここで、他のアプリ(UID=n)からの割り込みには、ユーザの意図しない割り込み(第1割り込み)と、ユーザの意図しない割り込み以外の割り込み(第2割り込み)と、が含まれる。
ユーザの意図しない第1割り込みは、例えば音声通話の着信イベントによる電話アプリからの割り込み、所定の時刻に発生するアラームイベントによるアラームアプリからの割り込み、および例えば時間経過に応じて発生する画面ロックイベントによる画面ロックアプリからの割り込みなどを含むが、ユーザ操作のよらず自動的に発生する任意のイベントによる割り込みを含んでもよい。
一方、ユーザの意図しない割り込み以外の第2割り込みは、例えば物理キー(例えば、ホームボタン)に対するユーザ操作に応じて発生するアプリ遷移イベントによるホームアプリからの割り込みなどを含むが、ユーザ操作に応じて発生する任意のイベントによる割り込みを含んでもよい。
例えば、記憶部12は、第1割り込みに対応するアプリのUID(第1UID)を記憶しており、制御部10は、他のアプリからの割り込みが発生すると、当該他のアプリのUIDが第1UIDと一致する場合に、当該割り込みを第1割り込みと判定し、第1UIDと一致しない場合に、当該割り込みを第2割り込みと判定する。あるいは、記憶部12は、第2割り込みに対応するアプリのUID(第2UID)を記憶しており、制御部10は、他のアプリからの割り込みが発生すると、当該他のアプリのUIDが第2UIDと一致する場合に、当該割り込みを第2割り込みと判定し、第2UIDと一致しない場合に、当該割り込みを第1割り込みと判定してもよい。
続いて制御部10は、データ通信が一時的に許可されているアプリ(UID=1)がFGからBGに移行すると、第1割り込みおよび第2割り込みの何れによってBGに移行したかに応じて、アプリ(UID=1)のデータ通信を制御する。
具体的には、ユーザの意図しない第1割り込みによってアプリ(UID=1)がBGに移行した場合に、制御部10は、アプリ(UID=1)によるデータ通信の一時的な許可を、解消することなく維持する。したがって、アプリ(UID=1)は、例えば着信イベントによる電話アプリ(例えば、UID=2)からの割り込みによってFGからBGに移行した後も、データ通信可能である。その後、アプリ(UID=1)は、例えばFGで実行中の電話アプリ(UID=2)の終了によってアプリ(UID=1)がBGからFGに移行した後も同様に、データ通信可能である。
一方、第1割り込み以外の第2割り込みによってアプリ(UID=1)がBGに移行した場合に、制御部10は、アプリ(UID=1)によるデータ通信の一時的な許可を解消する。換言すると、制御部10は、アプリ(UID=1)によるデータ通信を禁止する。したがって、アプリ(UID=1)は、例えばユーザ操作に応じて発生したアプリ遷移イベントによるホームアプリ(例えば、UID=3)からの割り込みによってFGからBGに移行すると、データ通信が禁止される。その後、アプリ(UID=1)は、例えばFGで実行中のホームアプリ(UID=3)の終了によってアプリ(UID=1)がBGからFGに移行しても、データ通信が禁止されたままである。
かかる構成によって、通信装置1のユーザは、任意のアプリを起動させる際に、選択画面に選択可能に表示される「一時許可」オプションを選択可能である。「一時許可」オプションの選択によって、当該アプリがFGからBGに移行するまでの間だけ、当該アプリのデータ通信が一時的に許可される。したがって、当該アプリがFGからBGに移行すると当該アプリのデータ通信の一時的な許可が解消される(すなわち、データ通信が禁止される)ので、ユーザの意図しない通信の発生を低減できる。
また、データ通信が一時的に許可されているアプリが、ユーザの意図しない割り込みによってFGからBGに移行した場合には、当該アプリのデータ通信の一時的な許可が解消されず維持される。かかる構成によって、データ通信が一時的に許可されているアプリは、ユーザが意図せずFGからBGに移行しても例外的にデータ通信可能であるため、通信装置1の利便性が向上する。
次に、図8−図10を参照して、通信装置1の制御部10の上述した動作について、詳細に説明する。以下、説明の明確性のため、制御部10の各動作の実行主体を、必要に応じてアプリまたはOSの構成要素として記載する。
まず、図8を参照して、アプリA(UID=1)のデータ通信を一時的に許可する動作について説明する。ここでは、データ通信は全てセルラ通信によって行われるものとし、セルラ通信におけるデフォルト通信禁止条件が設定されているものとする(ステップS300)。
はじめに制御部10は、アプリA(UID=1)をFGで起動する(ステップS301)。
続いてアプリAは、アプリAの起動を示す起動通知(UID=1)およびアプリAのデータ通信の一時的な許可を要求する一時許可要求(UID=1)を、フレームワークへ出力する(ステップS302)。一時許可要求は、例えば選択画面において「一時許可」オプションが選択された場合に出力される。
続いてフレームワークは、アプリAから起動通知および一時許可要求を取得する(ステップS303)。続いてフレームワーク(例えば、アクティビティマネージャ)は、当該起動通知に基づいて、アプリ(プロセス)の実行状態、具体的にはFGで実行中のアプリおよびBGで実行中のアプリを判定する。ここでは、FGでアプリA(UID=1)が実行中と判定される(ステップS304)。
続いてフレームワークは、アプリAのFGで起動されたことを示すFG移行通知(UID=1)およびアプリAのデータ通信の一時許可要求(UID=1)を通信制御部へ出力する(ステップS305)。続いて通信制御部は、アプリAのデータ通信の一時許可要求(UID=1)をカーネルへ出力する(ステップS306)。続いてカーネルは、アプリA(UID=1)のデータ通信を一時的に許可する(ステップS307)。
そしてフレームワークは、他のアプリ(UID=n)からの割り込みを待ち受ける(ステップS308)。
続いて図9を参照して、上述したステップS308の後に、ユーザの意図しない第1割り込みが発生した場合における制御部10の動作について説明する。ここでは、他のアプリとして電話アプリ(UID=2)を例示し、記憶部12は、第1UIDとしてUID=2を記憶しているものとする。
はじめに通信制御部は、音声着信の発生を示す音声着信通知を出力する(ステップS400)。続いて制御部10は、電話アプリ(UID=2)をFGで起動するステップS401)。したがって、電話アプリによる割り込みが発生する。
続いて電話アプリは、電話アプリの起動通知(UID=2)をフレームワークへ出力する(ステップS402)。続いてフレームワーク(例えば、アクティビティマネージャ)は、当該起動通知(UID=2)を取得する(ステップS403)。
続いてフレームワーク(アクティビティマネージャ)は、アプリの実行状態を判定する。ここでは、FGで電話アプリ(UID=2)が実行中であり、BGでアプリA(UID=1)が実行中であると判定される(ステップS404)。
続いてフレームワークは、FGで実行中のアプリ(すなわち、ステップS401で割り込みを行ったアプリ)による割り込みが、ユーザの意図しない第1割り込みであるか、第1割り込み以外の第2割り込みであるか、を判定する。ここでは、第1割り込みであると判定される(ステップS405)。
続いてフレームワークは、ステップS405で第1割り込みと判定されたため、アプリA(UID=1)がBGに移行したことを示すBG移行通知の出力を停止する(ステップS406)。換言すると、フレームワークは、当該BG移行通知を通信制御部へ出力しない。
ここで通信制御部は、アプリAのBG移行通知(UID=1)を取得すると、アプリAのデータ通信の一時的な許可を解消するように構成される。したがって、ここではBG移行通知が通信制御部へ出力されないため、アプリAのデータ通信の一時的な許可が解消されることなく維持される。
続いて通信制御部は、音声通話が終了すると、音声通話の終了を示す通話終了通知を電話アプリへ出力する(ステップS407)。続いて電話アプリは、当該通話終了通知を取得する(ステップS408)。
続いて電話アプリは、電話アプリの終了を示す終了通知をフレームワークへ出力して(ステップS409)、電話アプリを終了する。続いてフレームワーク(アクティビティマネージャ)は、当該終了通知を取得する(ステップS410)。
続いてフレームワーク(アクティビティマネージャ)は、アプリの実行状態を判定する。ここでは、電話アプリが終了しているため、FGでアプリA(UID=1)が実行中と判定される(ステップS411)。そしてフレームワークは、上述したステップS308に戻って、他のアプリからの割り込みを待ち受ける。
続いて図10を参照して、上述したステップS308の後に、第1割り込み以外の第2割り込みが発生した場合における制御部10の動作について説明する。ここでは、他のアプリとしてホームアプリ(UID=3)を例示し、記憶部12は、第1UIDとしてUID=3を記憶していないものとする。
はじめに制御部10は、例えば物理キーに対するユーザ操作に応じて、ホームアプリ(UID=3)をFGで起動する(ステップS500)。したがって、ホームアプリによる割り込みが発生する。
続いてホームアプリは、ホームアプリの起動通知(UID=3)をフレームワークへ出力する(ステップS501)。続いてフレームワーク(例えば、アクティビティマネージャ)は、当該起動通知(UID=3)を取得する(ステップS403)。
続いてフレームワーク(アクティビティマネージャ)は、アプリの実行状態を判定する。ここでは、FGでホームアプリ(UID=3)が実行中であり、BGでアプリA(UID=1)が実行中であると判定される(ステップS503)。
続いてフレームワークは、FGで実行中のアプリ(すなわち、ステップS500で割り込みを行ったアプリ)による割り込みが、ユーザの意図しない第1割り込みであるか、第1割り込み以外の第2割り込みであるか、を判定する。ここでは、第2割り込みであると判定される(ステップS504)。
続いてフレームワークは、ステップS504で第2割り込みと判定されたため、アプリAがBGに移行したことを示すBG移行通知(UID=1)を通信制御部へ出力する(ステップS505)。
続いて通信制御部は、アプリAのBG移行通知(UID=1)を取得すると、アプリAのデータ通信の一時的な許可を解消する。具体的には、通信制御部は、アプリAのデータ通信を禁止させる禁止要求(UID=1)をカーネルへ出力する(ステップS506)。
そしてカーネルは、アプリAの禁止要求(UID=1)を取得すると、アプリA(UID=1)のデータ通信の一時的な許可を解消して、データ通信を禁止する(ステップS507)。
以上述べたように、第2実施形態に係る通信装置1は、データ通信を一時的に許可したアプリがBGに移行すると、ユーザの意図しない第1割り込み以外の第2割り込みによってBGに移行した場合に、当該アプリのデータ通信を禁止する。かかる構成によって、当該アプリがFGからBGに移行すると当該アプリのデータ通信の一時的な許可が解消される(すなわち、データ通信が禁止される)ので、ユーザの意図しない通信の発生を低減できる。
また、通信装置1は、ユーザの意図しない第1割り込みによってBGに移行した場合に、当該アプリのデータ通信の一時的な許可を維持する。かかる構成によって、データ通信が一時的に許可されているアプリは、ユーザが意図せずFGからBGに移行しても例外的にデータ通信可能であるため、通信装置1の利便性が向上する。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを1つに組み合わせたり、あるいは分割したりすることが可能である。また、本発明について装置を中心に説明してきたが、本発明は装置の各構成部が実行するステップを含む方法としても実現し得るものである。また、本発明について装置を中心に説明してきたが、本発明は装置が備えるプロセッサによって実行される方法、プログラム、またはプログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
例えば、上述した実施形態において、UIDに基づいてDNS処理が制御される構成について説明したが、UIDに限られず、例えばGIDに基づいてDNS処理が制御される構成であってもよい。
また、上述した第2実施形態において、アプリがFGで動作するかBGで動作するかにかかわらずデフォルトで全てのアプリ(全てのUIDおよびGID)のセルラ通信によるデータ通信が禁止される構成について説明したが、UIDまたはGIDを用いてアプリのデータ通信を禁止する構成はこれに限られない。例えば、デフォルトで全てのアプリのセルラ通信によるデータ通信が許可されており、例外としてデータ通信を禁止するIDが個別に追加設定される構成であってもよい。また例えば、アプリがFG(またはBG)で動作する場合に限定して、上述のようにアプリのセルラ通信を禁止または許可する構成であってもよい。具体的には、BG(またはFG)で動作する全てのアプリのセルラ通信をデフォルトで禁止(または許可)する構成であってもよい。
上記の実施形態では、従量課金制ではない方式によるデータ通信の方式として無線LANを例示したが、これに限定されず、従量課金制ではない方式は、Bluetooth(登録商標)やEthernet(登録商標)などのデータ通信方式であってもよい。
1 通信装置
10 制御部
11 通信部
111 I/Fデバイス
112 モデム
113 無線LANデバイス
12 記憶部
13 表示部
14 操作部
141 タッチパッド
15 パケットフィルタ
16a、16b アプリ
17 接続機能部
18 VPNデバイス

Claims (6)

  1. データ通信可能な通信装置であって、
    アプリケーションのデータ通信を一時的に許可し、
    前記アプリケーションがバックグラウンドに移行すると、
    ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持し、
    ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止する、通信装置。
  2. 請求項1に記載の通信装置であって、
    ユーザの意図しない前記割り込みは、着信イベントによる割り込み、アラームイベントによる割り込み、および画面ロックイベントによる割り込みの少なくとも1つを含む、通信装置。
  3. 請求項1または2に記載の通信装置であって、
    ユーザ操作に応じて前記アプリケーションが起動される際に、前記アプリケーションのデータ通信を一時的に許可するためのユーザ操作を受け付けると、前記アプリケーションのデータ通信を一時的に許可する、通信装置。
  4. 請求項1乃至3の何れか一項に記載の通信装置であって、
    前記通信装置のOSに含まれるカーネルが、前記アプリケーションのデータ通信を一時的に許可し、
    前記アプリケーションがバックグラウンドに移行すると、前記OSに含まれるフレームワークが、
    ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、バックグランド移行通知を前記OSに含まれる通信制御部へ出力せず、
    ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記バックグランド移行通知を前記通信制御部へ出力し、
    前記通信制御部は、前記バックグランド移行通知を取得すると、前記アプリケーションのデータ通信を禁止する禁止要求を前記カーネルへ出力し、
    前記カーネルは、前記禁止要求を取得すると、前記アプリケーションのデータ通信を禁止する、通信装置。
  5. データ通信可能な通信装置が実行する通信制御方法であって、
    アプリケーションのデータ通信を一時的に許可するステップと、
    前記アプリケーションがバックグラウンドに移行すると、
    ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持するステップと、
    ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止するステップと、
    を含む、通信制御方法。
  6. データ通信可能な通信装置に、
    アプリケーションのデータ通信を一時的に許可するステップと、
    前記アプリケーションがバックグラウンドに移行すると、
    ユーザの意図しない割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信の一時的な許可を維持するステップと、
    ユーザの意図しない割り込み以外の割り込みによって前記アプリケーションがバックグラウンドに移行した場合に、前記アプリケーションのデータ通信を禁止するステップと、
    を実行させる、プログラム。
JP2016251578A 2016-12-26 2016-12-26 通信装置、通信制御方法、およびプログラム Pending JP2017139747A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016251578A JP2017139747A (ja) 2016-12-26 2016-12-26 通信装置、通信制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016251578A JP2017139747A (ja) 2016-12-26 2016-12-26 通信装置、通信制御方法、およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016019811A Division JP6069553B1 (ja) 2016-02-04 2016-02-04 通信装置、通信制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2017139747A true JP2017139747A (ja) 2017-08-10

Family

ID=59566436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016251578A Pending JP2017139747A (ja) 2016-12-26 2016-12-26 通信装置、通信制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2017139747A (ja)

Similar Documents

Publication Publication Date Title
JP2016509702A (ja) ファイル共有の方法、装置およびモバイル機器
JP6532851B2 (ja) 通信装置、dns処理方法、およびプログラム
JP6258985B2 (ja) 通信装置、通信制御方法、及びプログラム
JP2016111546A (ja) 携帯通信端末、制御システム、制御方法及び制御プログラム
JP6029781B1 (ja) 通信装置、dns処理方法、およびプログラム
JP6069553B1 (ja) 通信装置、通信制御方法、およびプログラム
JP6093055B1 (ja) 通信装置、通信制御方法、及びプログラム
CN105207810A (zh) 一种交换机的控制方法、系统及具有该系统的交换机
JP2017139747A (ja) 通信装置、通信制御方法、およびプログラム
JP6258986B2 (ja) 通信装置、通信制御方法、及びプログラム
JP2017139751A (ja) 通信装置、通信制御方法、及びプログラム
JP2017225161A (ja) 通信装置、通信制御方法、及びプログラム
JP2017225162A (ja) 通信装置、通信制御方法、及びプログラム
JP2017139735A (ja) 通信装置、通信制御方法、及びプログラム
JP2017139736A (ja) 通信装置、通信制御方法、及びプログラム
US9876897B2 (en) Communication apparatus, communication control method, and non-transitory computer-readable recording medium
JP6180613B2 (ja) 通信装置、通信制御方法、及びプログラム
JP2017201830A (ja) 通信装置、通信制御方法、及びプログラム
US20170223614A1 (en) Communication apparatus, communication control method, and non-transitory computer-readable recording medium
JP2017138971A (ja) 通信装置、通信制御方法、及びプログラム
JP6333709B2 (ja) 携帯通信端末、制御システム、制御方法及び制御プログラム
JP5066112B2 (ja) 情報処理装置
JP6108505B1 (ja) 構内電話システム、主装置、主装置用プログラム、設定端末及び電話機の設定方法
JP5751172B2 (ja) 通信制御装置、通信制御方法、通信制御用プログラム記憶媒体
US20150134820A1 (en) Information processing apparatus, control method and storage medium