(57)【要約】【課題】無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御する技術を提供する。【解決手段】制御プログラムは、無線通信機能を有する情報処理端末のプロセッサに、情報処理端末内に格納されたアプリケーションプログラムから、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報を取得し、無線通信ができない場合、動作定義情報に基づいて、動作定義情報に対応するアプリケーションプログラムのアンインストールを実行する処理を実行させることにより、上記課題の解決を図る。【選択図】図２
2015056175.tif 000002
【特許請求の範囲】
【請求項１】
無線通信機能を有する情報処理端末のプロセッサに、
前記情報処理端末内に格納されたアプリケーションプログラムから、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報を取得し、
前記無線通信ができない場合、前記動作定義情報に基づいて、該動作定義情報に対応する前記アプリケーションプログラムのアンインストールを実行する
処理を実行させることを特徴とする制御プログラム。
【請求項２】
前記プロセッサに、さらに、
前記無線通信ができない場合、前記動作定義情報に基づいて、該動作定義情報に対応する前記アプリケーションプログラムのアンインストールとともに、前記アプリケーションプログラムに関連したデータの消去を行う
処理を実行させることを特徴とする請求項１記載の制御プログラム。
【請求項３】
無線通信を行う通信部と、
前記無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されたアプリケーションプログラムを記憶する記憶部と、
前記無線通信ができない場合、前記動作定義情報に基づいて、該動作定義情報に対応する前記アプリケーションプログラムのアンインストールを実行する制御部と、
を備えることを特徴とする情報処理端末。
【請求項４】
前記制御部は、さらに、前記無線通信ができない場合、前記動作定義情報に基づいて、該動作定義情報に対応する前記アプリケーションプログラムのアンインストールとともに、前記アプリケーションプログラムに関連したデータの消去を行う
ことを特徴とする請求項３記載の情報処理端末。
【請求項５】
無線通信を行う通信部と、
ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムであって、前記無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与された該アプリケーションプログラムを、前記ユーザ環境情報毎に、記憶する記憶部と、
前記無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの前記動作定義情報に基づいて、該ログインしているユーザの該ユーザ環境情報に対応する該対象アプリケーションプログラムのアンインストールを実行する制御部と、
を備えることを特徴とする情報処理端末。
【請求項６】
無線通信を行う通信部と、
ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムであって、前記無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与された該アプリケーションプログラムを、前記ユーザ環境情報毎に、記憶する記憶部と、
前記無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの前記動作定義情報に基づいて、該ログインしているユーザのユーザ環境情報及びログインしていないユーザのユーザ環境情報に対応する該対象アプリケーションプログラムのアンインストールを実行する制御部と、
を備えることを特徴とする情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信機能を有する情報処理端末の制御に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット等の移動通信が可能な情報処理端末が普及している反面、その情報処理端末に保持した情報の漏洩の防止を図る必要がある。そこで、移動通信が可能な情報処理端末では、情報漏洩を防止するため、端末に対して遠隔から指示を行うことにより、端末をロックさせる（リモートロック）、あるいは、端末の内容を消去させる（リモートワイプ）ことが行われる。これについて図１を用いて説明する。
【０００３】
図１は、リモートロックまたはリモートワイプの一例を説明するための図である。ユーザ１が、移動通信が可能な情報処理端末（以下、「端末」という）５を紛失したとする。まず、ユーザ１は、端末５内に保存されたデータの漏洩や端末５の悪用を防止するために、管理者２に対し、端末５のロックまたは端末内のデータを消去することを要請する（Ｓ１）。
【０００４】
管理者２は、サーバ３に、端末５に対するロックまたは端末内のデータを消去する指令を入力する（Ｓ２）。その指令は基地局４を介して端末５へ送信される（Ｓ３）。端末５はその指令に基づいて、ロックまたはデータ消去を行う（Ｓ４）。
【０００５】
このように、リモートロックやリモートワイプは、遠隔からの指示に基づくものであり、端末５が通信可能な状態のときにロックまたはデータ消去を行うことができる。
【０００６】
しかしながら、端末５が通信不能な場合には、サーバ３からの遠隔操作による指令を受信することができず、端末５のロックまたはデータ消去を行うことができない。そのため、端末５にインストールされたアプリケーションソフトウェアや、端末５内に保存されたデータの漏洩を防止することができない。
【０００７】
また、リモートロックやリモートワイプの実行には端末の管理者権限が必要である。ユーザが管理者権限を持たない場合、図１のように管理者に対して操作を依頼する必要がある。この場合、リモートロックやリモートワイプの実行までに時間がかかるので、その間に端末５にインストールされたアプリケーションソフトウェアや、端末５内に保存されたデータの漏洩を防止することができない。
【０００８】
ここで、サーバと通信できない状態でも、端末に対するアクセスを制御する技術例として以下の技術がある。
【０００９】
例えば、アクセス制御ポリシーを定義でき、さらに複数のオフライン時のアクセス制御ポリシーを実現する技術がある（例えば、特許文献１。）。特許文献１では、オフライン時のさまざまなパターンのアクセス制御ポリシーをインストール媒体に含める。アクセス制御ポリシーをインストール時にクライアント上に保持させ、オフライン時にはトークンデバイスの中に選択するアクセス制御ポリシーの情報を登録し、当該クライアントマシンに接続する。これにより、当該オフラインポリシーをクライアントマシンに反映させる。
【００１０】
また、ソフトウェアを外部からインストールして実行する機能を有する無線端末が現在利用している無線通信システムの圏外への移動時に初期状態となる技術がある（例えば、特許文献２。）。
【００１１】
また、一定の条件下で、自動でアプリケーションソフトウェアをアンインストールする技術がある（例えば、特許文献３。）。特許文献３には、アプリケーションが不正な動作をしているかどうかを判定するためのコンシューマシステムにおける方法が記載されている。当該方法は、アプリケーションをインストールする際、前記アプリケーションが使用することを許可されるサービスプロバイダのサービスに対して限度を確立する。制御下でランタイム環境は、前記確立された限度へのアクセスを前記アプリケーションに提供する。前記アプリケーションが前記サービスプロバイダのサービスを要求した場合、前記要求が前記確立された限度を超えるかどうかを判定する。前記要求が前記確立された限度を超えないと判定された場合、前記サービスを提供するように前記サービスプロバイダに要求する。前記要求が前記確立された限度を超えると判定された場合、前記アプリケーションが不正な動作をしていると前記サービスプロバイダに通知し、前記コンシューマシステム上で前記アプリケーションの実行を禁止する。前記禁止するステップは、前記アプリケーションをアンインストールするステップを含む。
【００１２】
また、特定のアプリケーションプログラム、および関連するシステム設定およびオブジェクトを該コンピューティングシステムからアンインストールする、コンピュータにより実行する方法がある（例えば、特許文献４。）。特定のアプリケーションプログラムは少なくとも１つのファイルが関連しており、コンピューティングシステムにインストール済みの複数のアプリケーションプログラムの１つである。当該方法では、コンピュータは、前記特定のアプリケーションプログラムをアンインストールする要求を受け取る。コンピュータは、前記特定のアプリケーションプログラムに関連する識別子を判定する。コンピュータは、前記判定された識別子を介して、前記複数のアプリケーションプログラムの前記特定のアプリケーションプログラムだけに関連する前記判定された識別子が関連付けられているファイルを識別する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１０−２５０７１４号公報
【特許文献２】特開２００１−６１１８６号公報
【特許文献３】特開２００５−２５９１３０号公報
【特許文献４】特開２００５−１２９０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献２の技術では、無線端末が無線通信システムの圏外への移動時に初期状態になり、特許文献３の技術では、画一的な条件を用いて、アプリケーションソフトウェアをアンインストールしている。
【００１５】
しかしながら、端末にインストールされたアプリケーションプログラムは、アンインストール要否の判断基準は必ずしも同一ではない。たとえば、アプリケーションの種類や用途によって、アンインストールの要否の判断基準が異なる場合、前述の技術のように、アプリケーションプログラム個別の事情は考慮せずに、画一的にアンインストール処理を行うことは適切ではない。
【００１６】
本発明では、一側面として、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御する技術を提供する。
【課題を解決するための手段】
【００１７】
制御プログラムは、無線通信機能を有する情報処理端末のプロセッサに、次の処理を実行させる。すなわち、プロセッサは、情報処理端末内に格納されたアプリケーションプログラムから、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報を取得する。プロセッサは、無線通信ができない場合、動作定義情報に基づいて、該動作定義情報に対応する前記アプリケーションプログラムのアンインストールを実行する。
【００１８】
情報処理端末は、通信部、記憶部、制御部を含む。通信部は、無線通信を行う。記憶部は、ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムを、ユーザ環境情報毎に、記憶する。アプリケーションプログラムには、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されている。制御部は、無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの動作定義情報に基づいて、次の処理を行う。すなわち、制御部は、ログインしているユーザの該ユーザ環境情報に対応する対象アプリケーションプログラムのアンインストールを実行する。
【００１９】
情報処理端末は、通信部、記憶部、制御部を含む。通信部は、無線通信を行う。記憶部は、ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムを、ユーザ環境情報毎に、記憶する。該アプリケーションプログラムには、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されている。制御部は、無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの動作定義情報に基づいて、次の処理を行う。すなわち、制御部は、ログインしているユーザのユーザ環境情報及びログインしていないユーザのユーザ環境情報に対応する対象アプリケーションプログラムのアンインストールを実行する。
【発明の効果】
【００２０】
本発明では、一側面として、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することができる。
【図面の簡単な説明】
【００２１】
【図１】リモートロックまたはリモートワイプの一例を説明するための図である。
【図２】本実施形態における情報処理端末のブロック図の一例を示す。
【図３】第１の実施形態における端末の通信状況に応じてクライアントＡｐｐをアンインストールする処理の一例を説明するための図である。
【図４】第１の実施形態における情報処理端末の機能ブロック図を示す。
【図５】第１の実施形態における端末のハードウェア構成を示す。
【図６】第１の実施形態におけるユーザＡｐｐリストの一例を示す。
【図７】第１の実施形態におけるユーザ管理情報の一例を示す。
【図８Ａ】第１の実施形態における動作定義情報の一例を示す。
【図８Ｂ】第１の実施形態における動作定義情報の一例を示す。
【図８Ｃ】第１の実施形態における動作定義情報の一例を示す。
【図８Ｄ】第１の実施形態における動作定義情報の一例を示す。
【図８Ｅ】第１の実施形態における動作定義情報の一例を示す。
【図８Ｆ】第１の実施形態における動作定義情報の一例を示す。
【図９】第１の実施形態におけるクライアントＡｐｐのアンインストール及びユーザデータ削除の手順を説明するための図である。
【図１０】第１の実施形態における動作定義情報の取得処理のフローを示す。
【図１１】第１の実施形態におけるクライアントＡｐｐのアンインストールまたはユーザデータ消去の処理フローを示す。
【図１２】第２の実施形態における動作定義情報を説明するための図である。
【図１３】第２の実施形態における動作定義情報の取得処理のフローを示す。
【図１４Ａ】第２の実施形態におけるクライアントＡｐｐのアンインストールまたはユーザデータ消去の処理フロー（その１）を示す。
【図１４Ｂ】第２の実施形態におけるクライアントＡｐｐのアンインストールまたはユーザデータ消去の処理フロー（その２）を示す。
【発明を実施するための形態】
【００２２】
ユーザによる操作状況や、移動体通信の可否等の端末状況等により、管理者の指示を受けずに、端末が自律的にセキュアな状態になることが望ましい。
【００２３】
移動通信可能な端末がデータ参照や入力に限定されている場合、端末が処理する情報をメモリ上に保持されるものに限定し、サーバ上でデータ処理を行うようにする。これにより、一定時間経過後の端末ロックやリモートロックにより、ほとんどの場合で情報漏洩を防ぐことが可能である。
【００２４】
一方、タブレット等の端末での情報処理性能や記憶容量の増大により、端末内に重要なデータを蓄積する機会や、端末で利用されるアプリケーションプログラムに業務ロジックを組み込んで、データ処理を行う機会が生じる。端末が保持するデータやアプリケーションプログラム自体を漏洩防止対象とする場合、アプリケーションプログラムのアンインストールやデータの消去を併せて行ったほうがよい。
【００２５】
また、アプリケーションプログラムのアンインストールやデータの消去を適切に行うためには、リモートロックやリモートワイプ等のように管理者による指示に対応して行われるだけでなく、次のように端末が動作するのが望ましい。例えば、ユーザによる操作状況や、移動体通信の可否等の端末状況等により、管理者の指示を受けずに、端末がセキュアな状態になるために動作することが望ましい。
【００２６】
アプリケーションプログラムがアプリケーションプログラム自身をアンインストールするよう動作させる技術は存在する。しかしながら、アプリケーションプログラム自身のアンインストールを確実に行ったり、あわせて関連するデータの消去を確実に行うことは難しい。例えば、各アプリケーションに一定条件下でアンインストールを実行させる場合には、その条件に適合するかを全てのアプリケーションプログラムが常時判定することになり、重複する処理が常時なされることにより、端末のリソースを多く消費することなる。その結果、各アプリケーションの使用できるリソースも制限され、十分なパフォーマンスでアプリケーションプログラム本来の処理を行うことができない。また、そのように多大なリソースを使用する結果、端末の電力を無駄に消費してしまう。
【００２７】
また、各アプリケーションプログラムにアンインストール処理を組み込んだとしても、他のアプリケーションプログラムと競合等、他のアプリケーションプログラムの影響を受けることにより、アンインストール処理が確実に実行されない可能性もある。
【００２８】
そこで、アプリケーションプログラムを集中的に管理することが考えられるが、上述したように、画一的にアンインストール処理が行われると、端末内のアプリケーションのいずれかのアンインストール条件に適合するたびに全アプリケーションのアンインストールが行われ、端末内のユーザ環境を再構築する必要があり、情報セキュリティのコントロールという観点からは上述した技術では不十分である。
【００２９】
そこで、以下の実施形態では、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することについて説明する。
【００３０】
図２は、本実施形態における情報処理端末のブロック図の一例を示す。まず、本実施形態の一例として、情報処理端末１１は、通信部１２、記憶部１３、制御部１４を含む。
【００３１】
通信部１２は、無線通信を行う。通信部１２の一例として、通信Ｉ／Ｆ４６が挙げられる。
【００３２】
記憶部１３は、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されたアプリケーションプログラムを記憶する。記憶部１３の一例として、ＲＯＭ４３または記憶装置４７が挙げられる。
【００３３】
制御部１４は、無線通信ができない場合、動作定義情報に基づいて、動作定義情報に対応するアプリケーションプログラムのアンインストールを実行する。制御部１４の一例として、ＣＰＵ４２が挙げられる。
【００３４】
このように構成することにより、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することができる。
【００３５】
制御部１４は、さらに、無線通信ができない場合、動作定義情報に基づいて、動作定義情報に対応するアプリケーションプログラムのアンインストールとともに、アプリケーションプログラムに関連したデータの消去を行う。
【００３６】
このように構成することにより、無線通信の通信状況に応じてアプリケーションプログラム及びそのデータの自律的なアンインストール及び消去処理を個別に制御することができる。
【００３７】
また、本実施形態の他の例として、情報処理端末１１は、通信部１２、記憶部１３、制御部１４を含む。
【００３８】
通信部１２は、無線通信を行う。通信部１２の一例として、通信Ｉ／Ｆ４６が挙げられる。
【００３９】
記憶部１３は、ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムを、ユーザ環境情報毎に、記憶する。アプリケーションプログラムには、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されている。記憶部１３の一例として、ＲＯＭ４３または記憶装置４７が挙げられる。
【００４０】
制御部１４は、無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの動作定義情報に基づいて、次の処理を行う。すなわち、制御部１４は、ログインしているユーザの該ユーザ環境情報に対応する対象アプリケーションプログラムのアンインストールを実行する。制御部１４の一例として、ＣＰＵ４２が挙げられる。
【００４１】
このように構成することにより、マルチユーザ環境を有する情報処理端末において、ログインユーザのユーザ環境下での、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することができる。
【００４２】
また、本実施形態のさらなる他の例として、情報処理端末１１は、通信部１２、記憶部１３、制御部１４を含む。
【００４３】
通信部１２は、無線通信を行う。通信部１２の一例として、通信Ｉ／Ｆ４６が挙げられる。
【００４４】
記憶部１３は、ログインするユーザの使用環境を管理するユーザ環境情報に対応付けられたアプリケーションプログラムを、ユーザ環境情報毎に、記憶する。アプリケーションプログラムには、無線通信ができるか否かに応じて実行する処理を定義する動作定義情報が付与されている。
【００４５】
制御部１４は、無線通信ができない場合、ログインしているユーザのユーザ環境情報に対応する対象アプリケーションプログラムの動作定義情報に基づいて、次の処理を行う。すなわち、制御部１４は、ログインしているユーザのユーザ環境情報及びログインしていないユーザのユーザ環境情報に対応する対象アプリケーションプログラムのアンインストールを実行する。
【００４６】
このように構成することにより、マルチユーザ環境を有する情報処理端末において、ログインユーザのユーザ環境下での、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することができる。さらに、ログインユーザ以外のユーザ環境下にある同じアプリケーションプログラムについても、自律的なアンインストール処理を個別に制御することができる。
【００４７】
本実施形態の一例として、以下では、第１の実施形態と第２の実施形態とを説明するが、これらの実施形態は、一例であり、処理手順やデータ構造等は制限されない。
【００４８】
＜第１の実施形態＞
第１の実施形態では、シングルユーザ環境またはマルチユーザ環境を有する情報処理端末において、ログインユーザのユーザ環境下での、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することについて説明する。以下では、アプリケーションプログラムを「Ａｐｐ」と称する。
【００４９】
図３は、第１の実施形態における端末の通信状況に応じてクライアントＡｐｐをアンインストールする処理の一例を説明するための図である。端末２１は、オペレーティングシステム（ＯＳ）２２、ネイティブＡｐｐ２３、クライアントＡｐｐ（ＣＬ  Ａｐｐ）２４を含む。クライアントＡｐｐとは、ネイティブＡｐｐ２３に対するＡｐｐの総称であり、Ａｐｐのうち、ネイティブＡｐｐ２３によって制御されるＡｐｐを示す。
【００５０】
ＯＳ２２は、端末２１を動作させるための基本ソフトウェアである。ＯＳ２２は、シングルユーザまたはマルチユーザがログインすることができるように、各ユーザが使用できるユーザ環境情報を含んでおり、インストールしたアプリケーションソフトウェア（クライアントＡｐｐ）２４もユーザ環境情報毎に管理されている。
【００５１】
ネイティブＡｐｐ２３は、ＯＳ２２上で起動するアプリケーションソフトウェアであり、クライアントＡｐｐの、ダウンロード、インストール、アンインストール、及びメタデータの参照を行う。ネオティブＡｐｐ２３上で、端末２１内の記憶装置にインストールされているクライアントＡｐｐ２４が起動する。また、クライアントＡｐｐ２４は、ログインしたユーザ毎に管理されている。
【００５２】
基地局４の圏内、すなわち通信状態が良好な場合には、端末２１にインストールされた所定のクライアントＡｐｐ２４は何も起こらない。しかし、基地局４の圏外、すなわち通信状態が悪い場合には、ネイティブＡｐｐ２３は、その所定のクライアントＡｐｐ２３を、端末２１内の記憶装置からアンインストールする。
【００５３】
図４は、第１の実施形態における情報処理端末の機能ブロック図を示す。ＯＳ２２は、通信状態監視部３１、ファイルシステム４０を含む。通信状態監視部３１は、端末の通信状態に関する情報を監視し、その監視結果を通信状態取得部３２に通知する。端末の通信状態に関する情報とは、例えば、スマートデバイスが発行する通信ネットワーク（３Ｇ／ＬＴＥ（Long Term Evolution）、Ｗｉ−Ｆｉ等）のオンライン／オフライン情報のことを示す。ファイルシステムとは、記憶装置に記録されているデータを管理するための仕組みである。
【００５４】
ネイティブＡｐｐ２３は、ＯＳ２２のファイルシステム４０のうち、ネイティブＡｐｐ２３に割り当てられたファイルシステム４０ａを利用することができる。ファイルシステム４０ａは、ログインするユーザ単位で、端末２１の記憶装置にインストールされたクライアントＡｐｐ２４や、ユーザデータ３７、ユーザＡｐｐリスト３８、ユーザ管理情報３９等を管理する。ネイティブＡｐｐ２３は、ファイルシステム４０ａを用いることにより、動作しているＡｐｐの動作状況を把握している。ユーザデータ３７は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐが使用するデータである。ユーザデータは、ファイルシステム４０ａにより管理されている。また、ユーザデータは、後述する、端末２１の記憶装置４７の、データが暗号化されて格納される暗号化データ領域４８に格納されている。
【００５５】
ユーザＡｐｐリスト３８は、ログインしたユーザ環境において、インストールされたＡｐｐのリストである。ユーザ管理情報３９は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐと、そのクライアントＡｐｐ２４が使用するデータ（ユーザデータ）とを管理する情報である。
【００５６】
クライアントＡｐｐ２４（２４ａ、２４ｂ、２４ｃ、・・・）はそれぞれ、動作定義情報３６（３６ａ、３６ｂ、３７ｃ、・・・）を含む。動作定義情報３６は、各クライアントＡｐｐについて、通信状態に応じて実行可能条件が成立した場合に実行する内容と、実行可能条件が成立しなかった場合に必要に応じて指定される強制アンインストール処理が定義されている。
【００５７】
ネイティブＡｐｐ２３は、通信状態取得部３２、Ａｐｐ実行制御部３３、Ａｐｐ管理部３４、暗号化データ管理部３５を含む。通信状態取得部３２は、通信状態監視部３１から通知された端末２１の通信状態に関する情報を取得する。
【００５８】
Ａｐｐ実行制御部３３は、クライアントＡｐｐ２４の実行・停止を制御する。また、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４を介して、クライアントＡｐｐ２４の動作定義情報３６を読み出す。Ａｐｐ実行制御部３３は、動作定義情報３６にクライアントＡｐｐのアンインストール指示が含まれる場合、所定の条件下で、クライアントＡｐｐのアンインストールをＡｐｐ管理部３４に指示する。また、Ａｐｐ実行制御部３３は、クライアントＡｐｐに関連したデータの消去指示が含まれる場合、所定の条件下で、Ａｐｐ管理部３４に、クライアントＡｐｐのアンインストール指示と共に、クライアントＡｐｐ２４に関連したユーザデータの消去指示を行う。
【００５９】
Ａｐｐ管理部３４は、クライアントＡｐｐの、ダウンロード、インストール、アンインストール、及びメタデータの参照を行う。例えば、Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３の指示に基づいて、ファイルシステム４０ａにより管理されたＡｐｐ２４のアンインストールを行う。
【００６０】
暗号化データ管理部３５は、Ａｐｐ実行制御部３３の指示に基づいて、ファイルシステム４０ａを介して、ユーザデータを暗号化して書き込んだり、復号化して読み出したり、または暗号化されたユーザデータの消去を行う。
【００６１】
図５は、第１の実施形態における端末のハードウェア構成を示す。端末２１は、タッチ操作検出部４１、ＣＰＵ４２、ＲＯＭ４３、ＲＡＭ４４、タッチパネルディスプレイ４５、通信Ｉ／Ｆ４６、記憶装置４７、バス４９を含む。
【００６２】
ここで、ＣＰＵは、プロセッサの一例であり、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス４９には、タッチ操作検出部４１、ＣＰＵ４２、ＲＯＭ４３、ＲＡＭ４４、タッチパネルディスプレイ４５、通信Ｉ／Ｆ４６、記憶装置４７が接続されている。
【００６３】
タッチパネルディスプレイ４５は、タッチ操作可能なディスプレイである。タッチ操作検出部４１は、タッチパネルディスプレイ４５への入力を検出する。
【００６４】
記憶装置４７は、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置４７には、データを暗号化して格納する暗号化データ領域４８を含む。記憶装置４７またはＲＯＭ４３には、本実施形態にかかる処理を行うプログラム及びデータが格納されている。
【００６５】
ＣＰＵ４２は、記憶装置４７等に格納した、ＯＳ２２、ネイティブＡｐｐ２３、クライアントＡｐｐ２４等の各プログラムを読み出し、当該各プログラムを実行する。
【００６６】
通信Ｉ／Ｆ４６は、３Ｇ、ＬＴＥ、Ｗｉ−Ｆｉ等の各種の通信規格に対応する通信インターフェースとしての通信制御回路である。通信Ｉ／Ｆ４６は、各種の通信規格を用いて通信可能な場合には、通信可能状態であることを通知することができる。また、通信Ｉ／Ｆ４６は、各種の通信規格を用いて通信不能（例えば、通信圏外の場合）な場合には、通信不能状態であることを通知することができる。
【００６７】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワークおよび通信Ｉ／Ｆ４６を介して、例えば記憶装置４７に格納されてもよい。また、本実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。
【００６８】
図６は、第１の実施形態におけるユーザＡｐｐリストの一例を示す。ユーザＡｐｐリスト３８は、ユーザ単位で管理されており、そのユーザのログイン環境下において、端末２１にインストールされたクライアントＡｐｐのリストである。ユーザＡｐｐリスト３８は、「ユーザＩＤ」、「ＣＬ  Ａｐｐ  ＩＤ」を含む。「ユーザＩＤ」は、ログインするユーザを識別する識別情報である。「ＣＬ  Ａｐｐ  ＩＤ」は、クライアントＡｐｐのダウンロード元のサーバによって付与されるクライアントＡｐｐを識別する識別情報である。
【００６９】
図７は、第１の実施形態におけるユーザ管理情報の一例を示す。ユーザ管理情報３９は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐと、そのクライアントＡｐｐ２４が使用するデータ（ユーザデータ）とを管理する情報である。
【００７０】
ユーザ管理情報３９は、「ユーザＩＤ」３８−１、「ＣＬ  Ａｐｐ  ＩＤ」３８−２、「パス」３８−３、「データ名」３８−４を含む。「ユーザＩＤ」３８−１は、ログインするユーザを識別する識別情報である。「ＣＬ  Ａｐｐ  ＩＤ」３８−２は、クライアントＡｐｐのダウンロード元のサーバによって付与されるクライアントＡｐｐを識別する識別情報である。「パス」３８−３は、ファイルシステム４０ａにおいて、そのクライアントＡｐｐが使用するユーザデータの所在を示す。「データ名」３８−４は、「パス」３８−３で特定される場所に格納されたクライアントＡｐｐ（バイナリデータ）またはユーザデータのデータ名を格納する。
【００７１】
ユーザ管理情報３９は、対象のクライアントＡｐｐによって作成されたユーザデータの取り出しにＣＬ  Ａｐｐ  ＩＤを用いている。
【００７２】
図８は、第１の実施形態における動作定義情報の一例を示す。本実施形態では、各クライアントＡｐｐは、ＸＭＬ（Extensible Markup Language）で動作が定義されたメタ情報、すなわち動作定義情報３６を有している。図８に示す動作定義情報３６において、”CL-application”は、ルートタグを示す。”name”には、クライアントＡｐｐの名称が設定される。” description”には、クライアントＡｐｐの説明が設定される。”version”には、クライアントＡｐｐのバージョンが設定される。
【００７３】
”runnable-condition”には、以下のように、クライアントＡｐｐの実行の定義が設定される。
【００７４】
”valid-state”には、クライアントＡｐｐの実行可能な状態（実行可能条件）が指定される。”valid-state”に対して、指定される値には、”offline”、”mobile”、”wifi”、”online”がある。クライアントＡｐｐを全てのネットワークがオフラインの時に動作させたい場合には、”offline”が指定される。クライアントＡｐｐをモバイル通信のみオンラインの時に動作させたい場合には、”mobile”が指定される。クライアントＡｐｐを特定のアクセスポイント間でWiFi通信がオンラインの時に動作させたい場合には、”wifi”が指定される。クライアントＡｐｐをモバイル通信、または、WiFi通信がオンラインの時に動作させたい場合には、”online”が指定される。
【００７５】
“force-uninstall”は、クライアントＡｐｐが実行可能な状態から実行不可能な状態に変わった時に、すなわち、クライアントＡｐｐの実行可能条件を外れた時において、クライアントＡｐｐ、またはクライアントＡｐｐとユーザデータを強制アンインストールする場合に指定される。“force-uninstall”に対して、指定される値には、”application-only”、”application-and-userdata”がある。クライアントＡｐｐのみ強制アンインストールさせたい場合には、”application-only”が指定される。クライアントＡｐｐとユーザデータを強制アンインストールさせたい場合には、”application-and-userdata”が指定される。
【００７６】
図８には、”runnable-condition”の設定例が記載されている。以下では、各設定例について説明する。
【００７７】
（ケースＮｏ．１）
クライアントＡｐｐの実行可能条件（valid-state）に”offline”が指定され、強制アンインストール（force-uninstall）の指定がない場合、ネットワークが無効（圏外）から３Ｇ／ＬＴＥまたはＷｉＦｉが有効になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了する。オンライン中はクライアントＡｐｐ  Ａを実行することができない。
【００７８】
（ケースＮｏ．２）
クライアントＡｐｐの実行可能条件（valid-state）に”offline”が指定され、強制アンインストール（force-uninstall）に、”application-only”が指定されている場合、ネットワーク状態が無効（圏外）から３Ｇ／ＬＴＥまたはＷｉＦｉが有効になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体がアンインストールされ、クライアントＡｐｐはユーザＡｐｐリストから削除される。また、オンライン中にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータがあればクライアントＡｐｐ  Ａはそのユーザデータを使用する。
【００７９】
（ケースＮｏ．３）
クライアントＡｐｐの実行可能条件（valid-state）に”offline”が指定され、強制アンインストール（force-uninstall）に、”application-and-userdata”が指定されている場合、ネットワークが無効（圏外）から３Ｇ／ＬＴＥまたはＷｉＦｉが有効になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ  Ａ本体とユーザデータがアンインストールされ、クライアントＡｐｐはユーザＡｐｐリストから削除される。オンライン中にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体とユーザデータがアンインストールされ、クライアントＡｐｐはユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータが初期化された状態になる。
【００８０】
（ケースＮｏ．４）
クライアントＡｐｐの実行可能条件（valid-state）に”mobile”が指定され、強制アンインストール（force-uninstall）の指定がない場合、３Ｇ／ＬＴＥまたはＷｉＦｉが有効な状態から無効（オフライン）になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了する。３Ｇ／ＬＴＥが無効な間はクライアントＡｐｐ Ａを実行できない。
【００８１】
（ケースＮｏ．５）
クライアントＡｐｐの実行可能条件（valid-state）に”mobile”が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合、３Ｇ／ＬＴＥまたはＷｉＦｉが有効な状態から無効（オフライン）になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。３Ｇ／ＬＴＥが無効な間にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、クライアントＡｐｐはユーザデータがあればそのユーザデータを使用する。
【００８２】
（ケースＮｏ．６）
クライアントＡｐｐの実行可能条件（valid-state）に”mobile”が指定され、強制アンインストール（force-uninstall）に”application-and-userdata”が指定されている場合、３Ｇ／ＬＴＥまたはＷｉＦｉが有効な状態から無効（オフライン）になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体とユーザデータがアンインストールされ、ユーザＡｐｐリストから削除される。３Ｇ／ＬＴＥが無効な間にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体とユーザデータがアンインストールされ、ユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータが初期化された状態になる。
【００８３】
（ケースＮｏ．７）
クライアントＡｐｐの実行可能条件（valid-state）に”wifi”が指定され、強制アンインストール（force-uninstall）の指定がない場合、WiFiが有効かつ指定したアクセスポイントに接続されている状態からWiFiが無効または任意のアクセスポイントに接続されたとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了する。WiFiが無効な間はクライアントＡｐｐ  Ａを実行できない。
【００８４】
（ケースＮｏ．８）
クライアントＡｐｐの実行可能条件（valid-state）に”wifi”が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合、ネットワークの状態が次のように遷移したとする。すなわち、ネットワークの状態が、WiFiが有効かつ指定したアクセスポイントに接続されている状態からWiFiが無効または任意のアクセスポイントに接続された状態になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。WiFiが無効な間にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータがあればクライアントＡｐｐ  Ａはそのユーザデータを使用する。
【００８５】
（ケースＮｏ．９）
クライアントＡｐｐの実行可能条件（valid-state）に”wifi”が指定され、強制アンインストール（force-uninstall）に”application-and-userdata”が指定されている場合、ネットワークの状態が次のように遷移したとする。すなわち、ネットワークの状態が、WiFiが有効かつ指定したアクセスポイントに接続されている状態からWiFiが無効または任意のアクセスポイントに接続された状態になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体とユーザデータがアンインストールされ、クライアントＡｐｐはユーザＡｐｐリストから削除される。WiFiが無効な間にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体とユーザデータがアンインストールされ、クライアントＡｐｐはユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオフラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータが初期化された状態になる。
【００８６】
（ケースＮｏ．１０）
クライアントＡｐｐの実行可能条件（valid-state）に”online”が指定され、強制アンインストール（force-uninstall）の指定がない場合、３Ｇ／ＬＴＥまたはWiFiが有効（オンライン）な状態からネットワークが無効（圏外）になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了する。オフライン中はクライアントＡｐｐ  Ａを実行できない。
【００８７】
（ケースＮｏ．１１）
クライアントＡｐｐの実行可能条件（valid-state）に”online”が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合、ネットワークの状態が次のように遷移したとする。すなわち、ネットワークの状態が、WiFiが有効かつ指定したアクセスポイントに接続されている状態からWiFiが無効または任意のアクセスポイントに接続された状態になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。オフライン中にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体がアンインストールされ、ユーザＡｐｐリストから削除される。クライアントＡｐｐ  Ａを再インストール後、再びオンラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータがあればクライアントＡｐｐ  Ａはそのユーザデータを使用する。
【００８８】
（ケースＮｏ．１２）
クライアントＡｐｐの実行可能条件（valid-state）に”online”が指定され、強制アンインストール（force-uninstall）に”application-and-userdata”が指定されている場合、ネットワークの状態が次のように遷移したとする。すなわち、ネットワークの状態が、WiFiが有効かつ指定したアクセスポイントに接続されている状態からWiFiが無効または任意のアクセスポイントに接続された状態になったとする。この場合、使用していたクライアントＡｐｐ  Ａが強制終了し、クライアントＡｐｐ本体とユーザデータがアンインストールされ、クライアントＡｐｐ  ＡはユーザＡｐｐリストから削除される。オフライン中にクライアントＡｐｐ  Ａを実行すると、クライアントＡｐｐ本体とユーザデータがアンインストールされ、クライアントＡｐｐ  Ａは、ユーザＡｐｐリストから削除される。クライアントＡｐｐ Ａを再インストール後、再びオンラインでクライアントＡｐｐ  Ａを実行する場合は、ユーザデータが初期化された状態になる。
【００８９】
図９は、第１の実施形態におけるクライアントＡｐｐのアンインストール及びユーザデータ削除の手順を説明するための図である。Ａｐｐ実行制御部３３は、ＯＳ２２から通信不可であることを示す通知を受信する。すると、Ａｐｐ実行制御部３３は、図８で説明したように、通信状態の遷移が動作定義情報３６で定義された実行可能条件に該当せず、かつ強制アンインストールの指定がされている場合、次の処理を行う。すなわち、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、クライアントＡｐｐのアンインストールの指示を行い、暗号化データ管理部３５に対して、ユーザデータの削除指示を行う。
【００９０】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３からの指示に基づいて、記憶装置４７からクライアントＡｐｐ（バイナリデータ）のアンインストールを行う。アンインストール完了後、Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３に、クライアントＡｐｐのアンインストールが完了したことを通知する。
【００９１】
暗号化データ管理部３５は、Ａｐｐ実行制御部３３からの指示に基づいて、暗号化データ領域４８からユーザデータの消去を行う。ユーザデータの消去後、暗号化データ管理部３５は、Ａｐｐ実行制御部３３に、ユーザデータの消去が完了したことを通知する。
【００９２】
図１０は、第１の実施形態における動作定義情報の取得処理のフローを示す。ユーザがＯＳ２２にログインすると、Ａｐｐ実行制御部３３は、ユーザ管理情報３９を参照してログインしたユーザを特定し、Ａｐｐ管理部３４に、そのユーザのユーザＩＤを通知して、そのユーザのユーザＡｐｐリスト３８を要求する（Ｓ１１）。
【００９３】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３の要求に基づいて、ユーザＩＤをキーにして、記憶装置４７から、ログインユーザのユーザＡｐｐリスト３８を読み出す（Ｓ１２）。Ａｐｐ管理部３４は、読み出したユーザＡｐｐリスト３８をＡｐｐ実行制御部３３に応答する（Ｓ１３）。
【００９４】
Ａｐｐ実行制御部３３は、ユーザＡｐｐリスト３８内の各クライアントＡｐｐの動作定義情報をＡｐｐ管理部３４に要求する（Ｓ１４）。
【００９５】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３から要求のあった各クライアントＡｐｐから、動作定義情報３６を読み出す（Ｓ１５）。
【００９６】
Ａｐｐ管理部３４は、読み出した動作定義情報３６をＡｐｐ実行制御部３３に応答する（Ｓ１６）。
【００９７】
図１１は、第１の実施形態におけるクライアントＡｐｐのアンインストールまたはユーザデータ消去の処理フローを示す。
【００９８】
通信状態取得部３２は、ＯＳ側の通信状態監視部３１から、端末２１の通信状態情報を取得し、Ａｐｐ実行制御部３３へ送信する（Ｓ２１）。
【００９９】
Ａｐｐ実行制御部３３は、通信状態情報に基づいて、端末２１の通信状態が、図８において説明したように、Ａｐｐ管理部３４から受信した動作定義情報３６において定義された実行可能条件に適合するかを判定する（Ｓ２２）。通信状態が実行可能条件に適合する場合（Ｓ２２で「Ｙｅｓ」）、本フローは終了する。通信状態が実行可能条件に適合しない場合（Ｓ２２で「Ｎｏ」）、Ａｐｐ実行制御部３３は、実行可能条件に適合しないクライアントＡｐｐ（対象クライアントＡｐｐ）が実行中であるか否かを判定する（Ｓ２３）。対象クライアントＡｐｐが実行中である場合（Ｓ２３で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐの実行を終了させる（Ｓ２４）。
【０１００】
動作定義情報３６に、対象クライアントＡｐｐのアンインストール指示がされている場合（Ｓ２５で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、対象クライアントＡｐｐのアンインストールを行う（Ｓ２６）。
【０１０１】
動作定義情報３６に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされている場合（Ｓ２７で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、暗号化データ管理部３５に対して、対象ユーザデータの消去指示を行う。暗号化データ管理部３５は、その指示に基づいて、対象ユーザデータの消去を行う（Ｓ２８）。
【０１０２】
第１の実施形態によれば、端末側において、端末の通信状況に基づいて、自律的に、クライアントＡｐｐをアンインストールしてもよいか否かの判断およびインストールの実施を個別に行うことができる。
【０１０３】
さらに、アプリケーションに関連したデータの消去をネイティブＡｐｐが行うことにより、アプリケーション自身のアンインストール作業を遅らせることなく、データ消去を行うことができる。
【０１０４】
＜第２の実施形態＞
第１の実施形態では、マルチユーザ環境を有する情報処理端末において、ログインユーザのユーザ環境下での、無線通信の通信状況に応じてアプリケーションプログラムの自律的なアンインストール処理を個別に制御することについて説明した。第２の実施形態では、さらに、ログインユーザ以外のユーザ環境下にある同じアプリケーションプログラムについても、自律的なアンインストール処理を個別に制御するについて説明する。なお、第２の実施形態における端末の構成は第１の実施形態で説明した端末２１と同様である。また、第２の実施形態において、第１の実施形態と同じ構成については、同じ符号を用いて説明し、その説明を省略する。
【０１０５】
図１２は、第２の実施形態における動作定義情報を説明するための図である。動作定義情報は、第１の実施形態で説明した通信に関する条件に加え、さらに、「他ユーザフラグ」を含む。「他ユーザフラグ」は、ログインユーザのクライアントＡｐｐおよびユーザデータだけでなく、他のユーザのクライアントＡｐｐおよびユーザデータのアンインストール／消去をするか否かを指定する。「他ユーザフラグ」＝１の場合、ログインユーザのクライアントＡｐｐおよびユーザデータのだけでなく、他のユーザのクライアントＡｐｐおよびユーザデータのアンインストール／消去をする。「他ユーザフラグ」＝０の場合、ログインユーザのクライアントＡｐｐおよびユーザデータだけアンインストール／消去をする。
【０１０６】
図１３は、第２の実施形態における動作定義情報の取得処理のフローを示す。ユーザがＯＳ２２にログインすると、Ａｐｐ実行制御部３３は、ユーザ管理情報３９を参照してログインしたユーザを特定する。さらに、Ａｐｐ実行制御部３３は、ユーザ管理情報３９を参照して、ユーザ管理情報３９に登録されている、ログインユーザ以外のユーザ（他のユーザ）を特定する。Ａｐｐ管理部３４に、ログインユーザ及び他のユーザのユーザＩＤを通知して、それらのユーザのユーザＡｐｐリスト３８を要求する（Ｓ３１）。
【０１０７】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３の要求に基づいて、ユーザＩＤをキーにして、記憶装置４７から、ログインユーザ及び他のユーザのユーザＡｐｐリスト３８を読み出す（Ｓ３２）。Ａｐｐ管理部３４は、読み出したユーザＡｐｐリスト３８をＡｐｐ実行制御部３３に応答する（Ｓ３３）。
【０１０８】
Ａｐｐ実行制御部３３は、ログインユーザのユーザＡｐｐリスト３８内の各クライアントＡｐｐの動作定義情報をＡｐｐ管理部３４に要求する（Ｓ３４）。
【０１０９】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３から要求のあった、ログインユーザの各クライアントＡｐｐから、動作定義情報３６を読み出す（Ｓ３５）。
【０１１０】
Ａｐｐ管理部３４は、読み出した動作定義情報３６をＡｐｐ実行制御部３３に応答する（Ｓ３６）。
【０１１１】
図１４Ａ及び図１４Ｂは、第２の実施形態におけるクライアントＡｐｐのアンインストールまたはユーザデータ消去の処理フローを示す。
【０１１２】
通信状態取得部３２は、ＯＳ側の通信状態監視部３１から、端末２１の通信状態情報を取得し、Ａｐｐ実行制御部３３へ送信する（Ｓ４１）。
【０１１３】
Ａｐｐ実行制御部３３は、通信状態情報に基づいて、端末２１の通信状態が、図８において説明したように、Ａｐｐ管理部３４から受信した動作定義情報３６において定義された実行可能条件に適合するかを判定する（Ｓ４２）。通信状態が実行可能条件に適合する場合（Ｓ４２で「Ｙｅｓ」）、本フローは終了する。通信状態が実行可能条件に適合しない場合（Ｓ４２で「Ｎｏ」）、Ａｐｐ実行制御部３３は、実行可能条件に適合しないクライアントＡｐｐ（対象クライアントＡｐｐ）が実行中であるか否かを判定する（Ｓ４３）。対象クライアントＡｐｐが実行中である場合（Ｓ４３で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐの実行を終了させる（Ｓ４４）。
【０１１４】
動作定義情報３６に、対象クライアントＡｐｐのアンインストール指示がされている場合（Ｓ４５で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、動作定義情報３６の他ユーザフラグが１か否かを判定する（Ｓ４６）。
【０１１５】
他ユーザフラグ＝０の場合（Ｓ４５で「Ｎｏ」）、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、ログインユーザについての対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、対象クライアントＡｐｐのアンインストールを行う（Ｓ４７）。
【０１１６】
他ユーザフラグ＝１の場合（Ｓ４６で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、各ユーザのユーザＡｐｐリストから対象クライアントＡｐｐを検索する（Ｓ４８）。
Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、検索された対象クライアントＡｐｐを有するユーザのユーザＩＤと対象クライアントＡｐｐのＣＬ  Ａｐｐ  ＩＤを通知し、それらのユーザの対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、通知されたユーザＩＤに対応する対象クライアントＡｐｐのアンインストールを行う（Ｓ４９）。
【０１１７】
動作定義情報３６に、対象クライアントＡｐｐのアンインストール指示がされていない場合（Ｓ４５で「Ｎｏ」）、Ｓ５０の処理へ進む。
【０１１８】
動作定義情報３６に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされている場合（Ｓ５０で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、動作定義情報３６の他ユーザフラグが１か否かを判定する（Ｓ５１）。
【０１１９】
他ユーザフラグ＝０の場合（Ｓ５１で「Ｎｏ」）、Ａｐｐ実行制御部３３は、暗号化データ管理部３５に対して、ログインユーザの対象ユーザデータの消去指示を行う。暗号化データ管理部３５は、その指示に基づいて、ログインユーザの対象ユーザデータの消去を行う（Ｓ５２）。
【０１２０】
他ユーザフラグ＝１の場合（Ｓ５０で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、各ユーザのユーザＡｐｐリストから対象クライアントＡｐｐを検索する（Ｓ５３）。Ａｐｐ実行制御部３３は、暗号化データ管理部３５に対して、検索された対象クライアントＡｐｐを有するユーザのユーザＩＤと対象クライアントＡｐｐのＣＬ  Ａｐｐ  ＩＤを通知し、それらのユーザの対象ユーザデータの消去指示を行う。暗号化データ管理部３５は、その指示に基づいて、検索された対象クライアントＡｐｐを有するユーザのユーザＩＤと対象クライアントＡｐｐのＣＬ  Ａｐｐ  ＩＤを通知し、それらのユーザの対象ユーザデータの消去を行う（Ｓ５４）。
【０１２１】
このように、ログインユーザの対象クライアントＡｐｐおよび対象ユーザデータだけでなく、他のユーザの対象クライアントＡｐｐおよび／または対象ユーザデータのアンインストール／消去をすることができる。
【０１２２】
第２の実施形態によれば、端末の通信状況に応じて、ログインユーザだけでなく、他のユーザの対象クライアントＡｐｐのアンインストールだけでなく、それらのユーザのユーザデータの消去も、端末側で自律的に行うことができる。
【０１２３】
また、第１及び２の実施形態によれば、各クライアントＡｐｐにアンインストール機能を組み込む必要がなく、各クライアントＡｐｐが重複してアンインストールに関する判定及びその実行処理を行うことがないので、無駄に端末のリソースを消費することがない。また、他のクライアントＡｐｐの影響を受けることがないので、アンインストール処理が確実に実行される。
【０１２４】
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１２５】
１１    情報処理端末
１２    通信部
１３    記憶部
１４    制御部
２１    端末２１
２２    ＯＳ
２３    ネイティブＡｐｐ
２４    クライアントＡｐｐ（ＣＬ  Ａｐｐ）
３１    通信状態監視部
３２    通信状態取得部
３３    Ａｐｐ実行制御部
３４    Ａｐｐ管理部
３５    暗号化データ管理部
３６（３６ａ、３６ｂ、３７ｃ、・・・）  動作定義情報
３７    ユーザデータ
３８    ユーザＡｐｐリスト
３９    ユーザ管理情報
４０，４０ａ    ファイルシステム
４８      暗号化データ領域
【図１】
2015056175.tif 000003
【図２】
2015056175.tif 000004
【図３】
2015056175.tif 000005
【図４】
2015056175.tif 000006
【図５】
2015056175.tif 000007
【図６】
2015056175.tif 000008
【図７】
2015056175.tif 000009
【図８Ａ】
2015056175.tif 000010
【図８Ｂ】
2015056175.tif 000011
【図８Ｃ】
2015056175.tif 000012
【図８Ｄ】
2015056175.tif 000013
【図８Ｅ】
2015056175.tif 000014
【図８Ｆ】
2015056175.tif 000015
【図９】
2015056175.tif 000016
【図１０】
2015056175.tif 000017
【図１１】
2015056175.tif 000018
【図１２】
2015056175.tif 000019
【図１３】
2015056175.tif 000020
【図１４Ａ】
2015056175.tif 000021
【図１４Ｂ】
2015056175.tif 000022