(57)【要約】      （修正有）【課題】オフライン時またはオフラインからオンラインへの遷移時の情報処理端末のデータ保全性を向上させる技術を提供する。【解決手段】サーバ装置と通信を行う通信機能を有する情報処理端末１１のプロセッサが、情報処理端末１１内に格納されたアプリケーションプログラムから、通信が制約された場合のアプリケーションプログラムの動作条件を定義する動作条件情報を取得し、通信が制約された状態の検知に応じ、動作条件情報に基づいて、アプリケーションプログラムの動作を抑制する。【選択図】図１
2016207111.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と通信を行う通信機能を有する情報処理端末のプロセッサに、
前記情報処理端末内に格納されたアプリケーションプログラムから、前記通信が制約された場合の前記アプリケーションプログラムの動作条件を定義する動作条件情報を取得し、
前記通信が制約された状態の検知に応じ、前記動作条件情報に基づいて、前記アプリケーションプログラムの動作を抑制する
処理を実行させることを特徴とする制御プログラム。
【請求項２】
前記動作条件情報は、前記端末の通信機能が制約された場合の動作条件を定義し、
前記通信機能が制約された状態の検知に応じ、前記動作条件情報に基づいて、前記アプリケーションプログラムの動作を抑制する、
ことを特徴とする、請求項１記載の制御プログラム。
【請求項３】
前記動作条件情報は、前記端末の前記サーバとの通信が制約された場合の動作条件を定義し、
前記サーバとの通信が制約された状態の検知に応じ、前記動作条件情報に基づいて、前記アプリケーションプログラムの動作を抑制する、
ことを特徴とする、請求項１記載の制御プログラム。
【請求項４】
前記抑制する処理において、
前記通信が制約された時間が前記動作条件情報に規定された閾値を超えた場合、該動作条件情報に対応する前記アプリケーションプログラムの動作を抑制する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の制御プログラム。
【請求項５】
前記抑制する処理において、
前記通信が制約された場合であって、前記動作条件情報に規定されたアプリケーションプログラムの有効期限が超過している場合、該動作条件情報に対応する前記アプリケーションプログラムの動作を抑制する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の制御プログラム。
【請求項６】
前記抑制する処理において、
前記通信が制約された場合であって、前記情報処理端末の記憶装置の使用容量が前記動作条件情報に規定された閾値を超えている場合、該動作条件情報に対応する前記アプリケーションプログラムの動作を抑制する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の制御プログラム。
【請求項７】
前記抑制する処理において、
前記通信が制約された場合、前記動作条件情報に基づいて、実行中の前記アプリケーションプログラムを強制終了させる、または実行指示がされた前記アプリケーションプログラムを起動させずに所定のメッセージを表示させることにより、該動作条件情報に対応する前記アプリケーションプログラムの動作を抑制する
ことを特徴とする請求項１〜６のいずれか１項に記載の制御プログラム。
【請求項８】
サーバ装置と通信を行う通信部と、
前記通信が制約された場合のアプリケーションプログラムの動作条件を定義する動作条件情報が付与された該アプリケーションプログラムを格納する格納部と、
前記アプリケーションプログラムから、前記動作条件情報を取得する取得部と、
前記通信が制約された状態の検知に応じ、前記動作条件情報に基づいて、前記アプリケーションプログラムの動作を抑制する抑制部と、
を備えることを特徴とする情報処理端末。
【請求項９】
サーバ装置と通信を行う通信機能を有する情報処理端末のプロセッサが、
前記情報処理端末内に格納されたアプリケーションプログラムから、前記通信が制約された場合の前記アプリケーションプログラムの動作条件を定義する動作条件情報を取得し、
前記通信が制約された状態の検知に応じ、前記動作条件情報に基づいて、前記アプリケーションプログラムの動作を抑制する
処理を実行させることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、制御プログラム、情報処理端末、及び制御方法に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット等の移動通信が可能な情報処理端末（以下、「端末」と称する。）が普及している。端末は、ネットワークを介してサーバと通信し、サーバよりアプリケーションプログラム（以下、「アプリケーション」と称する。）をダウンロードしたり、データをサーバにアップロードすることができる。
【０００３】
そのような端末上で、業務の内容に関連した業務ロジックを含むアプリケーションが動作させることが行われている。このとき、例えば、情報漏洩を防止するため、あるいは、利用者ごとに与えられた権限に応じた操作許可を与えるため、端末へのインストールが許可されるアプリケーションは、ユーザごとに規定される場合がある。
【０００４】
また、アプリケーションの不具合対応やバージョンアップに伴い、アプリケーションは変更される。変更に対応して、ユーザに変更を通知して更新を促したり、強制的に更新したりする等の、作業が行われている。
【０００５】
端末に関する技術として、例えば、以下の技術がある。
第1の技術として、クライアント端末として機能する携帯端末を含むシンクライアントシステムのプログラム実行技術がある（例えば、特許文献１）。
【０００６】
第２の技術として、ネットワーク上のストレージ装置におけるディスクイメージを使ってクライアント装置を起動するネットブートシステムにおいて、前記クライアント装置の自動起動や自動停止、ログオンなどの各種動作管理を行う技術がある（例えば、特許文献２）。
【０００７】
第３の技術として、端末装置の状態管理に関する技術がある（例えば、特許文献３）。
第４の技術として、携帯端末等オフラインで使用可能な端末におけるプログラム、ファイルの世代管理に関する技術がある（例えば、特許文献４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−４１３５１号公報
【特許文献２】特開２００９−２０７４８号公報
【特許文献３】特開２０００−１３２４３６号公報
【特許文献４】特開２００２−１９１０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
サーバ装置（以下、「サーバ」と称する。）において、アプリケーションは定期的に更新される。しかしながら、サーバに接続してアプリケーションを同期しない限りは、端末は、サーバ側にて更新されたアプリケーションを取り込む状況にならない。そのため、サーバに接続できない環境で継続して端末を利用された場合、端末では、古いアプリケーションが継続して動作する。その結果、例えば、最新のアプリケーションのフィーマット等と整合性が取れなくなってデータの品質に問題が生じたり、セキュリティ面の脅威が増したりすることが考えられる。
【００１０】
また、クライアントのリソースは有限であり、例えばメモリの容量制限がある。そのため、クライアントにおいてある程度メモリの容量が溜まった場合は、データをサーバにアップロードするようにユーザに依頼することができる。しかしながら、クライアントがサーバへアクセスすることができない場合やクライアントの通信機能に障害が発生した場合等の無線通信が制約されている場合には、サーバへの接続ができない。その結果、容量制限を越えるデータの保存が保証されない場合が起こり得る。
【００１１】
このように、オフライン時には、端末側のデータの保全性を図ることができないおそれがある。
【００１２】
本発明の一側面では、オフライン時またはオフラインからオンラインへの遷移時の情報処理端末内のデータの保全性を向上させる技術を提供する。
【課題を解決するための手段】
【００１３】
本発明の一側面に係る制御プログラムは、サーバ装置と通信を行う通信機能を有する情報処理端末のプロセッサに、次の処理を実行させる。すなわち、プロセッサは、情報処理端末内に格納されたアプリケーションプログラムから、通信が制約された場合のアプリケーションプログラムの動作条件を定義する動作条件情報を取得する。プロセッサは、通信が制約された状態の検知に応じ、動作条件情報に基づいて、アプリケーションプログラムの動作を抑制する。
【発明の効果】
【００１４】
本明細書に記載の技術によれば、オフライン時またはオフラインからオンラインへの遷移時の情報処理端末内のデータの保全性を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における情報処理端末のブロック図の一例を示す。
【図２】本実施形態における端末の通信状況に応じてクライアントＡｐｐの動作を抑制する処理の一例を説明するための図である。
【図３】本実施形態における情報処理端末の機能ブロック図を示す。
【図４】本実施形態における端末のハードウェア構成を示す。
【図５】本実施形態におけるユーザＡｐｐリストの一例を示す。
【図６】本実施形態におけるユーザ管理情報の一例を示す。
【図７】本実施形態におけるクライアントＡｐｐのアンインストール及びユーザデータ削除の手順を説明するための図である。
【図８】本実施形態における動作定義情報の取得処理のフローを示す。
【図９】本実施形態（実施例１）における動作定義情報の一例を示す。
【図１０】本実施形態（実施例１）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【図１１】本実施形態（実施例２）における動作定義情報の一例を示す。
【図１２】本実施形態（実施例２）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【図１３】本実施形態（実施例３）における動作定義情報の一例を示す。
【図１４】本実施形態（実施例３）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【発明を実施するための形態】
【００１６】
以下の実施形態では、無線通信の通信状況に応じてアプリケーションの動作を抑制することについて説明する。
【００１７】
図１は、本実施形態における情報処理端末のブロック図の一例を示す。まず、本実施形態の一例として、情報処理端末１１は、通信部１２、格納部１３、取得部１４、抑制部１５を含む。
【００１８】
通信部１２は、サーバ装置と通信を行う。通信部１２の一例として、後述する通信Ｉ／Ｆ５６が挙げられる。
【００１９】
格納部１３は、通信が制約された場合のアプリケーションプログラムの動作条件を定義する動作条件情報が付与されたアプリケーションプログラムを格納する。記憶部１３の一例として、後述するＲＯＭ５３または記憶装置５７が挙げられる。
【００２０】
取得部１４は、アプリケーションプログラムから、動作条件情報を取得する。取得部１４の一例として、後述するＣＰＵ５２が挙げられる。
【００２１】
抑制部１５は、通信が制約された状態の検知に応じ、動作条件情報に基づいて、アプリケーションプログラムの動作を抑制する。抑制部１５の一例として、後述するＣＰＵ５２が挙げられる。
【００２２】
このように構成することにより、オフライン時またはオフラインからオンラインへの遷移時の情報処理端末１１のデータの保全性を向上させることができる。
【００２３】
動作条件情報は、情報処理端末１１の通信機能が制約された場合の動作条件を定義する。抑制部１５は、通信機能が制約された状態の検知に応じ、動作条件情報に基づいて、アプリケーションプログラムの動作を抑制する。
【００２４】
このように構成することにより、情報処理端末１１の通信機能に障害が発生した場合において、オフライン時またはオフラインからオンラインへの遷移時の情報処理端末のデータの保全性を向上させることができる。
【００２５】
動作条件情報は、端末のサーバとの通信が制約された場合の動作条件を定義する。抑制部１５は、サーバとの通信が制約された状態の検知に応じ、動作条件情報に基づいて、アプリケーションプログラムの動作を抑制する。
【００２６】
このように構成することにより、サーバ側の通信障害やサーバと情報処理端末１１との間の通信インフラの障害が発生した場合において、オフライン時またはオフラインからオンラインへの遷移時の情報処理端末のデータの保全性を向上させることができる。
【００２７】
抑制部１５は、通信が制約された時間が動作条件情報に規定された閾値を超えた場合、動作条件情報に対応するアプリケーションプログラムの動作を抑制する。
【００２８】
このように構成することにより、オフライン時間が最大非接続時間を超過した場合、実行中のアプリケーションを強制終了させたり、実行指示がされたアプリケーションを起動させない等、アプリケーションの動作を抑制することができる。
【００２９】
抑制部１５は、通信が制約された場合であって、動作条件情報に規定されたアプリケーションプログラムの有効期限が超過している場合、動作条件情報に対応するアプリケーションプログラムの動作を抑制する。
【００３０】
このように構成することにより、オフライン状態でアプリケーションの有効期限を超過している場合、実行中のアプリケーションを強制終了させたり、実行指示がされたアプリケーションを起動させない等、アプリケーションの動作を抑制することができる。
【００３１】
抑制部１５は、通信が制約された場合であって、情報処理端末１１の記憶装置の使用容量が動作条件情報に規定された閾値を超えている場合、動作条件情報に対応するアプリケーションプログラムの動作を抑制する。
【００３２】
このように構成することにより、オフライン状態でメモリ使用量が最大メモリ使用量を超過している場合、実行中のアプリケーションを強制終了させたり、実行指示がされたアプリケーションを起動させない等、アプリケーションの動作を抑制することができる。
【００３３】
抑制部１５は、通信が制約された場合、動作条件情報に基づいて、実行中のアプリケーションプログラムを強制終了させる、または実行指示がされたアプリケーションプログラムを起動させずに所定のメッセージを表示させることにより、動作条件情報に対応するアプリケーションプログラムの動作を抑制する。
【００３４】
このように構成することにより、アプリケーションプログラムの動作を抑制することができる。
【００３５】
本実施形態では、シングルユーザ環境またはマルチユーザ環境を有する情報処理端末１１において、ログインユーザのユーザ環境下での、無線通信の通信状況がオフラインの場合における、実行可能条件に応じてアプリケーションプログラムの動作を抑制することについて説明する。実行可能条件とは、例えば、ネットワークへの未接続時間、アプリケーションの有効期限、またはメモリ使用量についての条件である。以下では、アプリケーションプログラムを「Ａｐｐ」と称する。
【００３６】
図２は、本実施形態における端末の通信状況に応じてクライアントＡｐｐの動作を抑制する処理の一例を説明するための図である。端末２１は、オペレーティングシステム（ＯＳ）２２、ネイティブＡｐｐ２３、クライアントＡｐｐ（ＣＬ  Ａｐｐ）２４を含む。クライアントＡｐｐとは、ネイティブＡｐｐ２３に対するＡｐｐの総称であり、Ａｐｐのうち、ネイティブＡｐｐ２３によって制御されるＡｐｐを示す。
【００３７】
ＯＳ２２は、端末２１を動作させるための基本ソフトウェアである。ＯＳ２２は、シングルユーザまたはマルチユーザがログインすることができるように、各ユーザが使用できるユーザ環境情報を含んでいる。また、ＯＳ２２は、端末２１にインストールしたアプリケーションソフトウェア（クライアントＡｐｐ）２４もユーザ環境情報毎に管理する。
【００３８】
ネイティブＡｐｐ２３は、ＯＳ２２上で起動するアプリケーションソフトウェアであり、クライアントＡｐｐの、サーバからのダウンロード、端末２１へのインストール、アンインストール、メタデータの参照、及びクライアントＡｐｐの動作の制御（抑制を含む）を行う。
【００３９】
クライアントＡｐｐ２４は、端末２１内の記憶装置にインストールされており、ネオティブＡｐｐ２３上で起動する。クライアントＡｐｐ２４は、ネオティブＡｐｐ２３を介して入出力を行う。また、クライアントＡｐｐ２４は、ログインしたユーザ毎に管理されている。
【００４０】
基地局２５の圏内、すなわち通信状態が良好な場合には、端末２１にインストールされた各クライアントＡｐｐ２４は、当該クライアントＡｐｐ２４に対応する動作条件情報に基づいて動作する。しかし、基地局２５の圏外、すなわち通信状態が悪い場合には、ネイティブＡｐｐ２３は、クライアントＡｐｐ２４に対応する動作条件情報に基づいて、クライアントＡｐｐ２４の動作を抑制する。
【００４１】
図３は、本実施形態における情報処理端末の機能ブロック図を示す。ＯＳ２２は、通信状態監視部３１、ファイルシステム４０を含む。また、ＯＳ２２は、システム日時３８を保持する。
【００４２】
通信状態監視部３１は、端末２１の通信状態に関する情報を監視し、その監視結果を通信状態取得部３２に通知する。端末２１の通信状態に関する情報とは、端末の通信状態とは、端末２１の通信機能に障害が発生した場合に通信が制約させている旨の情報及びサーバ側の通信障害やサーバと端末１１との間の通信インフラの障害が発生した場合に通信が制約させている旨の情報を含む。端末の通信状態に関する情報とは、具体的には、スマートデバイスが発行する通信ネットワーク（３Ｇ／ＬＴＥ（Long Term Evolution）、Ｗｉ−Ｆｉ等）のオンライン／オフライン情報のことを示す。ファイルシステムとは、記憶装置に記録されているデータを管理するための仕組みである。
【００４３】
ネイティブＡｐｐ２３は、ＯＳ２２のファイルシステム４０のうち、ネイティブＡｐｐ２３に割り当てられたファイルシステム４０ａを利用することができる。ファイルシステム４０ａは、ログインするユーザ単位で、端末２１の記憶装置にインストールされたクライアントＡｐｐ２４や、ユーザデータ４２、ユーザＡｐｐリスト４３、ユーザ管理情報４４等を管理する。
【００４４】
ネイティブＡｐｐ２３は、ファイルシステム４０ａを用いることにより、動作しているＡｐｐの動作状況を把握している。ユーザデータ４２は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐ２４が使用するデータである。ユーザデータは、ファイルシステム４０ａにより管理されている。また、ユーザデータは、端末２１の格納装置の、データを暗号化して格納するセキュアローカル格納領域（ＳＬＳ）に格納されている。
【００４５】
ユーザＡｐｐリスト４３は、ログインしたユーザ環境において、インストールされたＡｐｐのリストである。ユーザ管理情報４４は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐ２４と、そのクライアントＡｐｐ２４が使用するデータ（ユーザデータ）とを管理する情報である。
【００４６】
クライアントＡｐｐ２４（２４ａ、２４ｂ、２４ｃ、・・・）はそれぞれ、動作定義情報４１（４１ａ、４１ｂ、４１ｃ、・・・）を含む。
【００４７】
動作定義情報４１は、各クライアントＡｐｐ２４について、通信状態に応じて実行可能条件が成立した場合に実行する内容と、実行可能条件が成立しなかった場合に必要に応じて指定される強制アンインストール処理が定義されている。実行可能条件とは、例えば、クライアントＡｐｐ２４が最後にサーバとの接続を終了してからの経過時間の上限である最大非接続時間、クライアントＡｐｐ２４の有効期限、クライアントＡｐｐ２４の最大メモリ使用量等を含む。
【００４８】
ネイティブＡｐｐ２３は、通信状態取得部３２、Ａｐｐ実行制御部３３、Ａｐｐ管理部３４、ＳＬＳ管理部３５、メモリ使用量取得部３６、日時取得部３７を含む。
【００４９】
通信状態取得部３２は、通信状態監視部３１から通知された端末２１の通信状態に関する情報を取得する。ここでは、通信状態取得部３２は、その通信状態に関する情報に基づいて、前回のネットワーク接続の終了からの非接続時間（オフライン時間）を計測する。
【００５０】
Ａｐｐ実行制御部３３は、クライアントＡｐｐ２４の実行・停止を制御する。また、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４を介して、クライアントＡｐｐ２４の動作定義情報４１を読み出す。Ａｐｐ実行制御部３３は、動作定義情報４１にクライアントＡｐｐ２４のアンインストール指示が含まれる場合、所定の条件下で、クライアントＡｐｐ２４のアンインストールをＡｐｐ管理部３４に指示する。また、Ａｐｐ実行制御部３３は、クライアントＡｐｐ２４に関連したデータの消去指示が含まれる場合、所定の条件下で、Ａｐｐ管理部３４に、クライアントＡｐｐ２４のアンインストール指示と共に、クライアントＡｐｐ２４に関連したユーザデータの消去指示を行う。
【００５１】
Ａｐｐ管理部３４は、クライアントＡｐｐ２４の、ダウンロード、インストール、アンインストール、及びメタデータの参照を行う。例えば、Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３の指示に基づいて、ファイルシステム４０ａにより管理されたＡｐｐ２４のアンインストールを行う。
【００５２】
ＳＬＳ管理部３５は、Ａｐｐ実行制御部３３の指示に基づいて、ファイルシステム４０ａを介して、ユーザデータをＳＬＳへ書き込んだり、ＳＬＳから読み出したり、またはＳＬＳへ書き込まれたユーザデータの消去を行う。
【００５３】
メモリ使用量取得部３６は、ファイルシステム４０から、メモリ（例えば、後述する記憶装置５７）の使用量を取得する。
【００５４】
日時取得部３７は、ＯＳ２２から、システム日時（３８）を取得する。
図４は、本実施形態における端末のハードウェア構成を示す。端末２１は、タッチ操作検出部５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、タッチパネルディスプレイ５５、通信Ｉ／Ｆ５６、記憶装置５７、バス５９を含む。
【００５５】
ここで、ＣＰＵは、プロセッサの一例であり、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス５９には、タッチ操作検出部５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、タッチパネルディスプレイ５５、通信Ｉ／Ｆ５６、記憶装置５７が接続されている。
【００５６】
タッチパネルディスプレイ５５は、タッチ操作可能なディスプレイである。タッチ操作検出部５１は、タッチパネルディスプレイ５５への入力を検出する。
【００５７】
記憶装置５７は、ハードディスク、半導体メモリなど様々な形式の記憶装置を使用することができる。記憶装置５７には、データを暗号化して格納するセキュアローカル格納領域（ＳＬＳ）５８を含む。記憶装置５７またはＲＯＭ５３には、本実施形態にかかる処理を行うプログラム及びデータ等が格納されている。一例として、記憶装置５７には、ＯＳ２２、ネイティブＡｐｐ２３、クライアントＡｐｐ２４、及びクライアントＡｐｐ２４により利用されるデータ等が格納されている。
【００５８】
ＣＰＵ５２は、記憶装置５７等に格納した、ＯＳ２２、ネイティブＡｐｐ２３、クライアントＡｐｐ２４等の各プログラムを読み出し、当該各プログラムを実行する。
【００５９】
通信Ｉ／Ｆ５６は、３Ｇ、ＬＴＥ、Ｗｉ−Ｆｉ等の各種の通信規格に対応する通信インターフェースとしての通信制御回路である。通信Ｉ／Ｆ５６は、各種の通信規格を用いて通信可能な場合には、通信可能状態であることを通知することができる。また、通信Ｉ／Ｆ５６は、各種の通信規格を用いて通信不能（例えば、通信圏外の場合）な場合には、通信不能状態であることを通知することができる。
【００６０】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワークおよび通信Ｉ／Ｆ５６を介して、例えば記憶装置５７に格納されてもよい。また、本実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。
【００６１】
図５は、本実施形態におけるユーザＡｐｐリストの一例を示す。ユーザＡｐｐリスト４３は、ユーザ単位で管理されており、そのユーザのログイン環境下において、端末２１にインストールされたクライアントＡｐｐ２４のリストである。ユーザＡｐｐリスト４３は、「ユーザＩＤ」、「ＣＬ  Ａｐｐ  ＩＤ」を含む。「ユーザＩＤ」は、ログインするユーザを識別する識別情報である。「ＣＬ  Ａｐｐ  ＩＤ」は、クライアントＡｐｐ２４のダウンロード元のサーバによって付与されるクライアントＡｐｐ２４を識別する識別情報である。
【００６２】
図６は、本実施形態におけるユーザ管理情報の一例を示す。ユーザ管理情報４４は、ログインしたユーザ環境において、インストールされたクライアントＡｐｐ２４と、そのクライアントＡｐｐ２４が使用するデータ（ユーザデータ）とを管理する情報である。
【００６３】
ユーザ管理情報４４は、「ユーザＩＤ」４４−１、「ＣＬ  Ａｐｐ  ＩＤ」４４−２、「パス」４４−３、「データ名」４４−４を含む。「ユーザＩＤ」４４−１は、ログインするユーザを識別する識別情報である。「ＣＬ  Ａｐｐ  ＩＤ」４４−２は、クライアントＡｐｐ２４のダウンロード元のサーバによって付与されるクライアントＡｐｐ２４を識別する識別情報である。「パス」４４−３は、ファイルシステム４０ａにおいて、そのクライアントＡｐｐ２４が使用するユーザデータの所在を示す。「データ名」４４−４は、「パス」４４−３で特定される場所に格納されたクライアントＡｐｐ２４（バイナリデータ）またはユーザデータのデータ名を格納する。
【００６４】
ユーザ管理情報４４は、対象のクライアントＡｐｐ２４によって作成されたユーザデータの取り出しにＣＬ  Ａｐｐ  ＩＤを用いている。
【００６５】
図７は、本実施形態におけるクライアントＡｐｐのアンインストール及びユーザデータ削除の手順を説明するための図である。Ａｐｐ実行制御部３３は、ＯＳ２２から通信不可であることを示す通知を受信した場合であって、ネットワークへの未接続時間、アプリケーションの有効期限、またはメモリ使用量が所定の値を超過したとする。
【００６６】
Ａｐｐ実行制御部３３は、後述する実施例１〜３のネットワークへの未接続時間、アプリケーションの有効期限、またはメモリ使用量の状態遷移が動作定義情報４１で定義された実行可能条件に該当せず、かつ強制アンインストールの指定がされている場合、次の処理を行う。すなわち、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、クライアントＡｐｐ２４のアンインストールの指示を行い、ＳＬＳ管理部３５に対して、ユーザデータの削除指示を行う。
【００６７】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３からの指示に基づいて、記憶装置５７からクライアントＡｐｐ２４（バイナリデータ）のアンインストールを行う。アンインストール完了後、Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３に、クライアントＡｐｐ２４のアンインストールが完了したことを通知する。
【００６８】
ＳＬＳ管理部３５は、Ａｐｐ実行制御部３３からの指示に基づいて、ＳＬＳ４８からユーザデータの消去を行う。ユーザデータの消去後、ＳＬＳ管理部３５は、Ａｐｐ実行制御部３３に、ユーザデータの消去が完了したことを通知する。
【００６９】
図８は、本実施形態における動作定義情報の取得処理のフローを示す。ユーザがＯＳ２２にログインすると、Ａｐｐ実行制御部３３は、ユーザ管理情報４４を参照してログインしたユーザを特定し、Ａｐｐ管理部３４に、そのユーザのユーザＩＤを通知して、そのユーザのユーザＡｐｐリスト４３を要求する（Ｓ１）。
【００７０】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３の要求に基づいて、ユーザＩＤをキーにして、記憶装置５７から、ログインユーザのユーザＡｐｐリスト４３を読み出す（Ｓ２）。Ａｐｐ管理部３４は、読み出したユーザＡｐｐリスト４３をＡｐｐ実行制御部３３に応答する（Ｓ３）。
【００７１】
Ａｐｐ実行制御部３３は、ユーザＡｐｐリスト４３内の各クライアントＡｐｐ２４の動作定義情報をＡｐｐ管理部３４に要求する（Ｓ４）。
【００７２】
Ａｐｐ管理部３４は、Ａｐｐ実行制御部３３から要求のあった各クライアントＡｐｐ２４から、動作定義情報４１を読み出す（Ｓ５）。
【００７３】
Ａｐｐ管理部３４は、読み出した動作定義情報４１をＡｐｐ実行制御部３３に応答する（Ｓ６）。
【００７４】
本実施形態の一例として、以下では、実施例１（ネットワークへの非接続時間に応じた制御）、実施例２（クライアントＡｐｐ２４の有効期限に応じた制御）、実施例３（メモリの使用量に応じた制御）とを説明する。しかしながら、これらの実施例は、一例であり、用いるパラメータの値、閾値、処理手順やデータ構造等は制限されない。
【００７５】
なお、以下では、オフラインには、端末２１の通信機能に障害が発生した場合に通信が制約させている場合、及びサーバ側の通信障害やサーバと端末１１との間の通信インフラの障害が発生した場合に通信が制約させている場合を含む。
【００７６】
＜実施例１＞
実施例１では、端末２１のネットワークへの非接続時間に応じて、クライアントＡｐｐ２４の動作を抑制することについて説明する。
【００７７】
図９は、本実施形態（実施例１）における動作定義情報の一例を示す。本実施形態では、各クライアントＡｐｐ２４は、ＸＭＬ（Extensible Markup Language）で動作が定義されたメタ情報、すなわち動作定義情報４１を有している。図９に示す動作定義情報４１において、”CL-application”は、ルートタグを示す。”name”には、クライアントＡｐｐ２４の名称が設定される。” description”には、クライアントＡｐｐ２４の説明が設定される。”version”には、クライアントＡｐｐ２４のバージョンが設定される。
【００７８】
”runnable-condition”には、以下のように、クライアントＡｐｐ２４の動作条件の定義が設定される。
【００７９】
”max-unconnect-time”には、クライアントＡｐｐ２４の最大非接続時間が指定される。
【００８０】
“force-uninstall”は、クライアントＡｐｐ２４が実行可能な状態から実行不可能な状態に変わった時に、すなわち、クライアントＡｐｐ２４の実行可能条件を外れた時において、クライアントＡｐｐ２４、またはクライアントＡｐｐ２４とユーザデータを強制アンインストールする場合に指定される。“force-uninstall”に対して、指定される値には、”application-only”、”application-and-userdata”がある。クライアントＡｐｐ２４のみ強制アンインストールさせたい場合には、”application-only”が指定される。クライアントＡｐｐ２４とユーザデータを強制アンインストールさせたい場合には、”application-and-userdata”が指定される。
【００８１】
図９には、あるクライアントＡｐｐについて、”runnable-condition”の設定例が記載されている。以下では、図９の各設定例について説明する。
【００８２】
（ケースＮｏ．１）
クライアントＡｐｐ２４の実行可能条件（max-unconnect-time）に、クライアントＡｐｐ２４の最大非接続時間「259200」（秒）（＝３日）が指定され、強制アンインストール（force-uninstall）の指定がない場合について説明する。
【００８３】
端末２１がサーバと通信を終了してからの経過時間（秒）（オフライン時間）が最大非接続時間未満である場合、クライアントＡｐｐ２４は、オフライン状態で可能な範囲で動作をする。
【００８４】
ネットワークがオフライン状態になり、クライアントＡｐｐ２４の実行中に前回のネットワーク接続の終了からの非接続時間が最大非接続時間になると、ネイティブＡｐｐ２３は、実行中のクライアントＡｐｐ２４を強制終了させる。ネイティブＡｐｐ２３による制御により、通信接続可能な状態になるまで、クライアントＡｐｐ２４は実行することができない。
【００８５】
また、クライアントＡｐｐ２４停止中に前回の接続からの非接続時間が最大非接続時間になった場合、ネイティブＡｐｐ２３による制御により、接続可能な状態になるまで、クライアントＡｐｐ２４は実行することができない。
【００８６】
（ケースＮｏ．２）
クライアントＡｐｐ２４の実行可能条件（max-unconnect-time）に、クライアントＡｐｐ２４の最大非接続時間「259200」（秒）（＝３日）が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合について説明する。
【００８７】
端末２１がサーバと通信を終了してからの経過時間（秒）（オフライン時間）が259200秒未満である場合、クライアントＡｐｐ２４は、オフライン状態で可能な範囲で動作をする。
【００８８】
ネットワークがオフライン状態になり、クライアントＡｐｐ２４の実行中に前回のネットワーク接続の終了からの非接続時間が最大非接続時間になると、ネイティブＡｐｐ２３は、実行中のクライアントＡｐｐ２４を強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４を強制アンインストールし、ユーザＡｐｐリスト４３から削除する。
【００８９】
クライアントＡｐｐ２４を再インストールしても、ネイティブＡｐｐ２３による制御により、接続可能な状態になるまで、クライアントＡｐｐ２４は実行できない。
【００９０】
クライアントＡｐｐ２４の停止中に前回の接続からの非接続時間が最大非接続時間になった場合、ネイティブＡｐｐ２３による制御により、接続可能な状態になるまで、クライアントＡｐｐ２４は実行できない。
【００９１】
（ケースＮｏ．３）
クライアントＡｐｐ２４の実行可能条件（max-unconnect-time）に、クライアントＡｐｐ２４の最大非接続時間「259200」（秒）（＝３日）が指定され、強制アンインストール（force-uninstall）に” application-and-userdata”が指定されている場合について説明する。
【００９２】
端末２１がサーバと通信を終了してからの経過時間（秒）（オフライン時間）が259200秒未満である場合、クライアントＡｐｐ２４は、オフライン状態で可能な範囲で動作をする。
【００９３】
ネットワークがオフライン状態になり、クライアントＡｐｐ２４の実行中に前回のネットワーク接続の終了からの非接続時間が最大非接続時間になると、ネイティブＡｐｐ２３は、実行中のアプリケーションを強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４を強制アンインストールし、ユーザデータを削除する。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４をユーザＡｐｐリスト４３から削除する。
【００９４】
そのクライアントＡｐｐ２４を再インストールしても、ネイティブＡｐｐ２３による制御により、接続可能な状態になるまで、そのクライアントＡｐｐ２４は実行できない。
【００９５】
クライアントＡｐｐ２４停止中に前回の接続からの非接続時間が最大非接続時間になった場合、ネイティブＡｐｐ２３による制御により、接続可能な状態になるまで、クライアントＡｐｐ２４は実行できない。
【００９６】
図１０は、本実施形態（実施例１）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【００９７】
通信状態取得部３２は、ＯＳ側の通信状態監視部３１から、端末２１の通信状態情報を取得する。通信状態取得部３２は、取得した通信状態情報に基づいて、端末２１がネットワークと接続されていない状態（オフライン状態）が否かを判定する（Ｓ１１）。端末２１がネットワークと接続されている場合（オンライン状態である場合）（Ｓ１１で「ＮＯ」）、本フローは終了する。
【００９８】
端末２１がネットワークと接続されていない状態（オフライン状態）である場合（Ｓ１１で「ＹＥＳ」）、通信状態取得部３２は、取得した通信状態情報に基づいて、端末２１のネットワークへの非接続時間を計測する。通信状態取得部３２は、計測した非接続時間をＡｐｐ実行制御部３３へ送信する。Ａｐｐ実行制御部３３は、通信状態取得部３２から非接続時間を取得する（Ｓ１２）。
【００９９】
Ａｐｐ実行制御部３３は、取得した非接続時間が、図７で説明したように、Ａｐｐ管理部３４から受信した動作定義情報４１において定義された実行可能条件（最大非接続時間）に適合するかを判定する（Ｓ１３）。通信状態が実行可能条件に適合する場合、すなわち取得した非接続時間が最大非接続時間以下の場合（Ｓ１３で「ＹＥＳ」）、本フローは終了する。
【０１００】
通信状態が実行可能条件に適合しない場合、すなわち取得した非接続時間が最大非接続時間を超過した場合（Ｓ１３で「ＮＯ」）、Ａｐｐ実行制御部３３は、次の処理を行う。すなわち、Ａｐｐ実行制御部３３は、実行可能条件に適合しないクライアントＡｐｐ２４（対象クライアントＡｐｐ）がネイティブＡｐｐ２３上にて実行中であるか否かを判定する（Ｓ１４）。対象クライアントＡｐｐが実行中である場合（Ｓ１４で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐの実行を終了させる（Ｓ１５）。
【０１０１】
動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされていない場合（Ｓ１６で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされている場合（Ｓ１６で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、対象クライアントＡｐｐのアンインストールを行う（Ｓ１７）。
【０１０２】
動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされていない場合（Ｓ１８で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされている場合（Ｓ１８で「Ｙｅｓ」）、Ａｐｐ実行制御部３３は、ＳＬＳ管理部３５に対して、対象ユーザデータの消去指示を行う。ＳＬＳ管理部３５は、その指示に基づいて、対象ユーザデータの消去を行う（Ｓ１９）。
【０１０３】
対象クライアントＡｐｐが実行中でない場合（Ｓ１４で「ＮＯ」）において、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐに対する実行指示が入力されたか否かを判定する（Ｓ２０）。実行指示の入力の一例として、タッチパネルディスプレイ５５に表示されたクライアントＡｐｐ２４のアイコンに、ユーザがタッチ操作してそのクライアントＡｐｐ２４を起動させようとしていることが挙げられる。また、実行指示の入力の他の例として、クライアントＡｐｐ２４に対して他のプログラムが起動指示を行うことが挙げられる。
【０１０４】
対象クライアントＡｐｐに対する実行指示が入力されていない場合（Ｓ２０で「ＮＯ」）、本フローは終了する。対象クライアントＡｐｐに対する実行指示が入力された場合（Ｓ２０で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、「起動できません」というメッセージを端末２１のタッチパネルディスプレイ５５に表示させる（Ｓ２１）。
【０１０５】
実施例１によれば、オフライン時間が最大非接続時間を超過した場合、実行中のクライアントＡｐｐ２４を強制終了させたり、実行指示がされたクライアントＡｐｐ２４を起動させない等、クライアントＡｐｐ２４の動作を抑制することができる。
【０１０６】
＜実施例２＞
実施例２では、端末２１がオフライン状態における、クライアントＡｐｐ２４の有効期限に応じて、クライアントＡｐｐ２４の動作を抑制することについて説明する。
【０１０７】
図１１は、本実施形態（実施例２）における動作定義情報の一例を示す。図１１の動作定義情報は、クライアントＡｐｐ２４の動作条件の定義として”runnable-condition”に「アプリケーションの有効期限（expire-date）」を設定したものであり、それ以下のルールは図７と同じである。以下では、図１１の各設定例について説明する。
【０１０８】
（ケースＮｏ．４）
クライアントＡｐｐ２４の実行可能条件（expire-date）に、例えば、クライアントＡｐｐ２４の有効期限「2016/3/31 18:00」（未来の日時）が指定され、強制アンインストール（force-uninstall）の指定がない場合について説明する。
【０１０９】
オフライン状態にて、現在の日時がクライアントＡｐｐ２４の有効期限以前である場合、クライアントＡｐｐ２４は、通常通り動作をする。
【０１１０】
オフライン状態にて、クライアントＡｐｐ２４の実行中に有効期限を過ぎると、ネイティブＡｐｐ２３は、実行中のクライアントＡｐｐ２４を強制終了させる。それ以降、ネイティブＡｐｐ２３による制御により、クライアントＡｐｐ２４は実行できない。
【０１１１】
また、オフライン状態にて、クライアントＡｐｐ２４の停止中に有効期限を過ぎた場合、それ以降、ネイティブＡｐｐ２３による制御により、クライアントＡｐｐ２４は実行できない。
【０１１２】
（ケースＮｏ．５）
クライアントＡｐｐ２４の実行可能条件（expire-date）に、例えば、クライアントＡｐｐ２４の有効期限「2016/3/31 18:00」（未来の日時）が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合について説明する。
【０１１３】
オフライン状態にて、現在の日時がクライアントＡｐｐ２４の有効期限以前である場合、クライアントＡｐｐ２４は、通常通り動作をする。
【０１１４】
オフライン状態にて、アプリケーション実行中に有効期限を過ぎると、ネイティブＡｐｐ２３は、実行中のアプリケーションを強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４を強制アンインストールし、ユーザＡｐｐリスト４３から削除する。そのクライアントＡｐｐ２４を再インストールしても、有効期限を過ぎているため、ネイティブＡｐｐ２３の制御により、クライアントＡｐｐ２４は実行できない。
【０１１５】
オフライン状態にて、クライアントＡｐｐ２４の停止中に有効期限を過ぎた場合、それ以降、ネイティブＡｐｐ２３による制御により、クライアントＡｐｐ２４は実行できない。
【０１１６】
（ケースＮｏ．６）
クライアントＡｐｐ２４の実行可能条件（expire-date）に、例えば、クライアントＡｐｐ２４の有効期限「2016/3/31 18:00」（未来の日時）が指定され、強制アンインストール（force-uninstall）に” application-and-userdata”が指定されている場合について説明する。
【０１１７】
オフライン状態にて、現在の日時がクライアントＡｐｐ２４の有効期限以前である場合、クライアントＡｐｐ２４は、通常通り動作をする。
【０１１８】
オフライン状態にて、アプリケーション実行中に有効期限を過ぎると、ネイティブＡｐｐ２３は、実行中のアプリケーションを強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４を強制アンインストールし、ユーザデータを削除する。ネイティブＡｐｐ２３は、そのクライアントＡｐｐ２４をユーザＡｐｐリスト４３から削除する。
【０１１９】
そのクライアントＡｐｐ２４を再インストールしても、有効期限を過ぎているため、ネイティブＡｐｐ２３による制御により、そのクライアントＡｐｐ２４は実行できない。
【０１２０】
また、オフライン状態にて、クライアントＡｐｐ２４の停止中に有効期限を過ぎた場合、それ以降、ネイティブＡｐｐ２３による制御により、クライアントＡｐｐ２４は実行できない。
【０１２１】
図１２は、本実施形態（実施例２）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【０１２２】
通信状態取得部３２は、ＯＳ側の通信状態監視部３１から、端末２１の通信状態情報を取得する。通信状態取得部３２は、取得した通信状態情報に基づいて、端末２１がネットワークと接続されていない状態（オフライン状態）が否かを判定する（Ｓ３１）。端末２１がネットワークと接続されている場合（オンライン状態である場合）（Ｓ３１で「ＮＯ」）、本フローは終了する。
【０１２３】
端末２１がネットワークと接続されていない状態（オフライン状態）である場合（Ｓ３１で「ＹＥＳ」）、日時取得部３７は、ＯＳ２２から現在のシステム日時（時刻情報）を取得する（Ｓ３２）。日時取得部３７は、取得した時刻情報をＡｐｐ実行制御部３３へ送信する。Ａｐｐ実行制御部３３は、日時取得部３７から時刻情報を取得する。
【０１２４】
Ａｐｐ実行制御部３３は、取得した時刻情報が、図１１で説明したように、Ａｐｐ管理部３４から受信した動作定義情報４１において定義された実行可能条件（クライアントＡｐｐ２４の有効期限）に適合するかを判定する（Ｓ３３）。時刻情報が実行可能条件に適合する場合、すなわち現在日時が有効期限内である場合（Ｓ３３で「ＹＥＳ」）、本フローは終了する。
【０１２５】
時刻情報が実行可能条件に適合しない場合、すなわち現在日時が有効期限を超過している場合（Ｓ３３で「ＮＯ」）、Ａｐｐ実行制御部３３は、実行可能条件に適合しないクライアントＡｐｐ２４（対象クライアントＡｐｐ）が実行中であるか否かを判定する（Ｓ３４）。対象クライアントＡｐｐがネイティブＡｐｐ２３上にて実行中である場合（Ｓ３４で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐの実行を終了させる（Ｓ３５）。
【０１２６】
動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされていない場合（Ｓ３６で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされている場合（Ｓ３６で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、対象クライアントＡｐｐのアンインストールを行う（Ｓ３７）。
【０１２７】
動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされていない場合（Ｓ３８で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされている場合（Ｓ３８で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、ＳＬＳ管理部３５に対して、対象ユーザデータの消去指示を行う。ＳＬＳ管理部３５は、その指示に基づいて、対象ユーザデータの消去を行う（Ｓ３９）。
【０１２８】
対象クライアントＡｐｐが実行中でない場合（Ｓ３４で「ＮＯ」）において、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐに対する実行指示が入力されたか否かを判定する（Ｓ４０）。
【０１２９】
対象クライアントＡｐｐに対する実行指示が入力されていない場合（Ｓ４０で「ＮＯ」）、本フローは終了する。対象クライアントＡｐｐに対する実行指示が入力された場合（Ｓ４０で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、「起動できません」というメッセージを端末２１のタッチパネルディスプレイ５５に表示させる（Ｓ４１）。
【０１３０】
実施例２によれば、オフライン状態でクライアントＡｐｐの有効期限を超過している場合、実行中のそのクライアントＡｐｐを強制終了させたり、実行指示がされたそのクライアントＡｐｐを起動させない等、クライアントＡｐｐの動作を抑制することができる。
【０１３１】
＜実施例３＞
実施例３では、端末２１がオフライン状態における、端末２１のメモリ容量に応じて、クライアントＡｐｐの動作を抑制することについて説明する。
【０１３２】
図１３は、本実施形態（実施例３）における動作定義情報の一例を示す。図１３の動作定義情報は、クライアントＡｐｐの動作条件の定義として”runnable-condition”に「クライアントＡｐｐの最大メモリ使用量（単位：megabyte（ＭＢ））（max-memory-size）」を設定したものであり、それ以下のルールは図７と同じである。
【０１３３】
（ケースＮｏ．７）
クライアントＡｐｐの実行可能条件（max-memory-size）に、例えば、クライアントＡｐｐの最大メモリ使用量「100」（単位：ＭＢ）が指定され、強制アンインストール（force-uninstall）の指定がない場合について説明する。
【０１３４】
オフライン状態にて、端末２１の現在のメモリの使用量がクライアントＡｐｐの最大使用量以下の場合、クライアントＡｐｐは、通常通り動作をする。
【０１３５】
オフライン状態にて、クライアントＡｐｐ実行中にメモリ使用量が最大メモリ使用量を超えると、ネイティブＡｐｐ２３は、実行中のクライアントＡｐｐを強制終了させる。ネイティブＡｐｐ２３による制御により、データがサーバへアップロードまたは削除される等でメモリ使用量が最大メモリ使用量以下になるまで、クライアントＡｐｐは実行できない。
【０１３６】
（ケースＮｏ．８）
クライアントＡｐｐの実行可能条件（max-memory-size）に、例えば、クライアントＡｐｐの最大メモリ使用量「100」（単位：ＭＢ）が指定され、強制アンインストール（force-uninstall）に”application-only”が指定されている場合について説明する。
【０１３７】
オフライン状態にて、端末２１の現在のメモリの使用量がクライアントＡｐｐの最大使用量以下の場合、クライアントＡｐｐは、通常通り動作をする。
【０１３８】
オフライン状態にて、アプリケーション実行中にメモリ使用量が最大メモリ使用量を超えると、ネイティブＡｐｐ２３は、実行中のアプリケーションを強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐを強制アンインストールし、ユーザＡｐｐリスト４３から削除する。そのクライアントＡｐｐを再インストールしても、ネイティブＡｐｐ２３による制御により、データがサーバへアップロードまたは削除される等でメモリ使用量が最大メモリ使用量以下になるまで、クライアントＡｐｐは実行できない。
【０１３９】
オフライン状態にて、クライアントＡｐｐ停止中に有効期限を過ぎた場合、それ以降、ネイティブＡｐｐ２３による制御により、クライアントＡｐｐは実行できない。
【０１４０】
（ケースＮｏ．９）
クライアントＡｐｐの実行可能条件（max-memory-size）に、例えば、クライアントＡｐｐの最大メモリ使用量「100」（単位：ＭＢ）が指定され、強制アンインストール（force-uninstall）に” application-and-userdata”が指定されている場合について説明する。
【０１４１】
オフライン状態にて、端末２１の現在のメモリの使用量がクライアントＡｐｐの最大使用量以下の場合、クライアントＡｐｐは、通常通り動作をする。
【０１４２】
オフライン状態にて、クライアントＡｐｐ実行中にメモリ使用量が最大メモリ使用量を超えると、ネイティブＡｐｐ２３は、実行中のアプリケーションを強制終了させる。ネイティブＡｐｐ２３は、そのクライアントＡｐｐを強制アンインストールし、ユーザデータを削除する。ネイティブＡｐｐ２３は、そのクライアントＡｐｐをユーザＡｐｐリスト４３から削除する。
【０１４３】
そのクライアントＡｐｐを再インストールしても、データが削除され、メモリ使用量が最大メモリ使用量以下になっているため、クライアントＡｐｐは実行できる。
【０１４４】
図１４は、本実施形態（実施例３）における、オフライン時のクライアントＡｐｐの動作制御フローを示す。
【０１４５】
通信状態取得部３２は、ＯＳ２２側の通信状態監視部３１から、端末２１の通信状態情報を取得する。通信状態取得部３２は、取得した通信状態情報に基づいて、端末２１がネットワークと接続されていない状態（オフライン状態）が否かを判定する（Ｓ５１）。端末２１がネットワークと接続されている場合（オンライン状態である場合）（Ｓ５１で「ＮＯ」）、本フローは終了する。
【０１４６】
端末２１がネットワークと接続されていない状態（オフライン状態）である場合（Ｓ５１で「ＹＥＳ」）、メモリ使用量取得部３６は、ファイルシステム４０から端末２１のメモリ使用量を取得する（Ｓ５２）。メモリ使用量取得部３６は、取得したメモリ使用量をＡｐｐ実行制御部３３へ送信する。Ａｐｐ実行制御部３３は、メモリ使用量取得部３６からメモリ使用量を取得する。
【０１４７】
Ａｐｐ実行制御部３３は、取得したメモリ使用量が、図１３で説明したように、Ａｐｐ管理部３４から受信した動作定義情報４１において定義された実行可能条件（最大メモリ使用量）に適合するかを判定する（Ｓ５３）。メモリ使用量が実行可能条件に適合する場合、すなわちメモリ使用量が最大メモリ使用量以内である場合（Ｓ５３で「ＹＥＳ」）、本フローは終了する。
【０１４８】
メモリ使用量が実行可能条件に適合しない場合、すなわちメモリ使用量が最大メモリ使用量を超過している場合（Ｓ５３で「ＮＯ」）、Ａｐｐ実行制御部３３は、実行可能条件に適合しないクライアントＡｐｐ（対象クライアントＡｐｐ）が実行中であるか否かを判定する（Ｓ５４）。対象クライアントＡｐｐがネイティブＡｐｐ２３上にて実行中である場合（Ｓ５４で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐの実行を終了させる（Ｓ５５）。
【０１４９】
動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされていない場合（Ｓ５６で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのアンインストール指示がされている場合（Ｓ５６で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、Ａｐｐ管理部３４に対して、対象クライアントＡｐｐのアンインストール指示を行う。Ａｐｐ管理部３４は、その指示に基づいて、対象クライアントＡｐｐのアンインストールを行う（Ｓ５７）。
【０１５０】
動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされていない場合（Ｓ５８で「ＮＯ」）、本フローは終了する。動作定義情報４１に、対象クライアントＡｐｐのユーザデータ（対象ユーザデータ）の消去指示がされている場合（Ｓ５８で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、ＳＬＳ管理部３５に対して、対象ユーザデータの消去指示を行う。ＳＬＳ管理部３５は、その指示に基づいて、対象ユーザデータの消去を行う（Ｓ５９）。
【０１５１】
対象クライアントＡｐｐが実行中でない場合（Ｓ５４で「ＮＯ」）において、Ａｐｐ実行制御部３３は、対象クライアントＡｐｐに対する実行指示が入力されたか否かを判定する（Ｓ６０）。
【０１５２】
対象クライアントＡｐｐに対する実行指示が入力されていない場合（Ｓ６０で「ＮＯ」）、本フローは終了する。対象クライアントＡｐｐに対する実行指示が入力された場合（Ｓ６０で「ＹＥＳ」）、Ａｐｐ実行制御部３３は、「起動できません」というメッセージを端末２１のタッチパネルディスプレイ５５に表示させる（Ｓ６１）。
【０１５３】
実施例３によれば、オフライン状態でメモリ使用量が最大メモリ使用量を超過している場合、実行中のそのクライアントＡｐｐを強制終了させたり、実行指示がされたそのクライアントＡｐｐを起動させない等、クライアントＡｐｐの動作を抑制することができる。
【０１５４】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１５５】
１１    情報処理端末
１２    通信部
１３    格納部
１４    取得部
１５    抑制部
２１    端末
２２    ＯＳ
２３    ネイティブＡｐｐ
２４（２４a，２４ｂ，２４ｃ）    クライアントＡｐｐ（ＣＬ  Ａｐｐ）
３１    通信状態監視部
３２    通信状態取得部
３３    Ａｐｐ実行制御部
３４    Ａｐｐ管理部
３５    ＳＬＳ管理部
３６    メモリ使用量取得部
３７    日時取得部
３８    システム日時
４０，４０ａ    ファイルシステム
４１（４１ａ、４１ｂ、４１ｃ）    動作定義情報
４２    ユーザデータ
４３    ユーザＡｐｐリスト
４４    ユーザ管理情報
【図１】
2016207111.tif 000003
【図２】
2016207111.tif 000004
【図３】
2016207111.tif 000005
【図４】
2016207111.tif 000006
【図５】
2016207111.tif 000007
【図６】
2016207111.tif 000008
【図７】
2016207111.tif 000009
【図８】
2016207111.tif 000010
【図９】
2016207111.tif 000011
【図１０】
2016207111.tif 000012
【図１１】
2016207111.tif 000013
【図１２】
2016207111.tif 000014
【図１３】
2016207111.tif 000015
【図１４】
2016207111.tif 000016