(57)【要約】      （修正有）【課題】通信端末装置において本来アプリケーションの実行が許可されない状況であってもアプリケーションの一部の機能を実行することを可能にする。【解決手段】アプリ配信部２８Ａは、通信端末装置１４の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを通信端末装置１４に配信する。ポリシー配信部２８Ｂは、通信端末装置から受信した状況の変化を表す状況変化情報に基づいて、アプリケーションの機能を実行可能な機能許可条件が不成立で、且つ、一部機能許可条件が成立する場合に、一部機能許可ポリシーを通信端末装置１４に配信する。【選択図】図２
2014232372.tif 000002
【特許請求の範囲】
【請求項１】
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信するアプリケーション配信部と、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信するポリシー配信部と、
を含むアプリケーション配信装置。
【請求項２】
前記状況変化情報が前記アプリケーションの起動又は終了を表す場合において、前記一部機能許可条件が成立する場合は、前記アプリケーションの起動時又は終了時における前記通信端末装置の位置及び時刻の少なくとも一方を含む状況に基づいて、前記一部機能許可条件を変更する一部機能許可条件学習部
を含む請求項１記載のアプリケーション配信装置。
【請求項３】
前記アプリケーションの機能のうち前記一部機能許可条件において実行が許可された許可機能の呼び出し回数が予め定めた不許可閾値未満の許可機能については、前記一部機能許可条件において実行を不許可とする不許可機能に変更し、前記アプリケーションの機能のうち前記一部機能許可条件において前記不許可機能の呼び出し回数が予め定めた許可閾値以上の機能については、前記一部機能許可条件において前記不許可機能を許可機能に変更する一部機能許可ポリシー学習部
を含む請求項１又は請求項２記載のアプリケーション配信装置。
【請求項４】
前記アプリケーションの一部機能許可条件が他のアプリケーションの一部機能許可条件と重複する場合、前記アプリケーションと前記他のアプリケーションとを排他的に切り替えるための排他切り替え条件を計算する排他切り替え条件計算部
を含む請求項１〜３の何れか１項に記載のアプリケーション配信装置。
【請求項５】
前記機能許可条件は、前記通信端末装置の状況の履歴に関する状況履歴条件を含み、
前記ポリシー配信部は、前記通信端末装置の状況の履歴を表す状況履歴情報に基づいて、前記状況履歴条件を含む前記機能許可条件が成立する場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
請求項１〜４の何れか１項に記載のアプリケーション配信装置。
【請求項６】
前記ポリシー配信部は、前記一部機能許可条件が前記一部機能実行可能期間の場合は、前記アプリケーションの転送時間分だけ前記一部機能実行可能期間を延長する
請求項１〜５の何れか１項に記載のアプリケーション配信装置。
【請求項７】
前記機能許可条件は、前記アプリケーションの配信対象範囲内に存在する前記通信端末装置の端末数を含み、
前記ポリシー配信部は、前記端末数が予め定めた閾値未満の場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
請求項１〜６の何れか１項に記載のアプリケーション配信装置。
【請求項８】
前記アプリケーションの配信対象範囲に入場する前記通信端末装置の端末数を時間帯毎に予測する予測部と、
前記端末数が予め定めた閾値以上となる時間帯が存在する場合は、当該時間帯の前記端末数が前記閾値未満となるように、前記通信端末装置の各々の前記一部機能実行可能範囲を調整する配信集中回避部と、
を含む請求項１〜７の何れか１項に記載のアプリケーション配信装置。
【請求項９】
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信し、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信する
ことを含むアプリケーション配信方法。
【請求項１０】
コンピュータに、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信し、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信する
ことを含む処理を実行させるためのアプリケーション配信プログラム。
【請求項１１】
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信するアプリ受信部と、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信するポリシー受信部と、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行するアプリ実行部と、
を含むアプリケーション実行装置。
【請求項１２】
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信し、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信し、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行する
ことを含むアプリケーション実行方法。
【請求項１３】
コンピュータに、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信し、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信し、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行する
ことを含む処理を実行させるためのアプリケーション実行プログラム。
【請求項１４】
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信するアプリケーション配信部と、前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信するポリシー配信部と、を含むアプリケーション配信装置と、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信するアプリ受信部と、前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信するポリシー受信部と、受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行するアプリ実行部と、を含むアプリケーション実行装置と、
を含むアプリケーション配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、アプリケーション配信装置、アプリケーション配信方法、アプリケーション配信プログラム、アプリケーション実行装置、アプリケーション実行方法、アプリケーション実行プログラム、及びアプリケーション配信システムに関する。
【背景技術】
【０００２】
スマートフォン等のモバイル型の通信端末装置に、ユーザの状況（位置等）に応じたアプリケーション（以下アプリともいう）を適切なタイミングでプッシュ配信して実行させるヒューマンセントリックコンピューティング（ＨＣＣ）システムが提唱されている。
【０００３】
ＨＣＣシステムを利用することにより、例えば、会議室に入室すると会議に必要な機能を有するアプリやデータが通信端末装置にプッシュ配信されたり、教室に入室すると授業に必要なアプリやデータがプッシュ配信されたりする。また、会議室から退出した場合や教室から退出した場合には、通信端末装置からアプリが削除される。
【０００４】
このように、アプリが必要な状況になると必要なアプリが通信端末装置に配信され、アプリが不必要な状況になるとアプリが削除されるため、ユーザ自らが状況に応じてアプリを選択しダウンロードする負担を減らすことができる。
【０００５】
また、例えば社内でのみ使用可能な社内用アプリ及び社内用データについては、社外に出た場合に社内用アプリ及び社内用データを削除することにより、社外秘の情報が外部に漏れるのを防ぐことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２５８０８６号公報
【特許文献２】特開２００３−３０３１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のＨＣＣシステムでは、状況が変化したことを検知した時点でアプリをプッシュ配信及び削除していた。このため、例えば会議室等から退出した時点で使用中のアプリが突然終了、削除されてしまうため、作業が中断されてしまう。また、会議室に入室した時点で会議用の資料が配信されても、予習したくても時間を確保できないことがある。すなわち、通信端末装置の状況に応じて適切にアプリの必要な機能を実行することができないという問題があった。
【０００８】
開示の技術は、一つの側面として、通信端末装置において本来アプリケーションの実行が許可されない状況であってもアプリケーションの一部の機能を実行することを可能にすることが目的である。
【課題を解決するための手段】
【０００９】
開示の技術は、アプリケーション配信部は、通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを通信端末装置に配信する。ポリシー配信部は、通信端末装置の状況の変化を表す状況変化情報に基づいて、アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを通信端末装置に配信する。アプリケーションの少なくとも一部の機能の実行が許可されるのは、機能許可条件が不成立で、且つ、一部機能許可条件が成立する場合である。機能許可条件は、アプリケーションの機能を実行可能な機能実行可能範囲及びアプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む。一部機能許可条件は、機能実行可能範囲外でアプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び機能実行可能期間外でアプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む。一部機能実行可能範囲は、機能実行可能範囲で実行可能な機能のうちアプリケーションの少なくとも一部の機能を実行可能な範囲である。また、一部機能実行可能期間は、機能実行可能範囲で実行可能な機能のうちアプリケーションの少なくとも一部の機能を実行可能な期間である。
【発明の効果】
【００１０】
開示の技術は、一つの側面として、通信端末装置において本来アプリケーションの実行が許可されない状況であってもアプリケーションの一部の機能を実行することを可能にすることができる、という効果を有する。
【図面の簡単な説明】
【００１１】
【図１】アプリケーション配信システムの構成図である。
【図２】第１実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図３】配信アプリ登録ＤＢの一例を示す図である。
【図４】配信ポリシー管理ＤＢの一例を示す図である。
【図５】許可条件ＤＢの一例を示す図である。
【図６】一部機能許可ポリシーＤＢの一例を示す図である。
【図７】ＡＰＩ呼び出し回数ＤＢの一例を示す図である。
【図８】ユーザ状況ＤＢの一例を示す図である。
【図９】アプリケーション配信装置として機能するコンピュータのブロック図である。
【図１０】通信端末装置として機能するコンピュータのブロック図である。
【図１１】アプリケーション配信処理のフローチャートである。
【図１２】一部機能許可条件学習処理（アプリ終了）のフローチャートである。
【図１３】一部機能許可条件学習処理（アプリ起動）のフローチャートである。
【図１４】一部機能許可ポリシー学習処理のフローチャートである。
【図１５】許可条件の範囲と許可ＡＰＩ割合との関係を示す線図である。
【図１６】端末アプリ・ポリシー配信処理のフローチャートである。
【図１７】メッセージ受信処理のフローチャートである。
【図１８】ＡＰＩ呼び出し処理のフローチャートである。
【図１９】ユーザ状況把握処理のフローチャートである。
【図２０】第２実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図２１】排他切り替え条件ＤＢの一例を示す図である。
【図２２】配信アプリ登録ＤＢの一例を示す図である。
【図２３】アプリ排他制御処理のフローチャートである。
【図２４】アプリの排他切り替え条件について説明するための図である。
【図２５】第３実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図２６】ユーザ状況履歴ＤＢの一例を示す図である。
【図２７】第４実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図２８】アプリ転送時間ＤＢの一例を示す図である。
【図２９】アプリ転送時間ＤＢの一例を示す図である。
【図３０】メッセージ受信処理のフローチャートである。
【図３１】第５実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図３２】第６実施形態に係るアプリケーション配信装置及び通信端末装置の構成図である。
【図３３】同時入場予測端末数ＤＢの一例を示す図である。
【図３４】アプリケーション配信処理のフローチャートである。
【図３５】配信集中回避処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１３】
（第１実施形態）
図１には、第１実施形態に係るアプリケーション配信システム１０が示されている。アプリケーション配信システム１０は、アプリケーション配信装置１２及び複数の通信端末装置１４を備えている。アプリケーション配信装置１２及び複数の通信端末装置１４は、ネットワーク１６を介して接続されている。なお、ネットワーク１６は、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等であり、無線通信回線でも有線通信回線でもよい。なお、以下では、アプリケーション配信装置１２をサーバともいい、通信端末装置１４を端末ともいう。
【００１４】
通信端末装置１４は、例えばスマートフォン、タブレット端末、及び携帯電話等のモバイル型の通信端末装置の何れかである。なお、通信端末装置１４は、アプリケーション配信装置１２と通信可能であれば、ノート型パソコン、ゲーム機器、及び音楽再生装置等の何れかでもよい。通信端末装置１４は、開示の技術におけるアプリケーション実行装置の一例である。
【００１５】
アプリケーション配信装置１２は、通信端末装置１４の状況に応じてアプリを通信端末装置１４に配信したり、既に配信したアプリの削除を通信端末装置１４に要求したりする。ここで、状況とは、通信端末装置１４の位置及び時刻の少なくとも一方を含む。
【００１６】
アプリケーション配信システム１０は、通信端末装置１４の状況に応じてアプリを適切なタイミングでプッシュ配信して実行させるＨＣＣシステムである。アプリケーション配信システム１０は、従来のＨＣＣシステムのように、端末の状況の変化を検知した時点でアプリをプッシュ配信及び削除するのではなく、本来アプリの実行が許可されない状況であってもアプリの一部の機能の実行を可能にするシステムである。
【００１７】
なお、アプリとは、例えば所定の案件毎の承認、アンケート、及び出張精算等の小さな単位のアプリ（マイクロアプリ）の他、メールソフト、ワープロソフト、及び表計算ソフト等のソフトウェア等も含む。また、アプリは、例えばＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）、ＪａｖａＳｃｒｉｐｔ（登録商標）等の仕様に従って作成されるが、これに限定されるものではない。
【００１８】
また、アプリケーション配信装置１２は、通信端末装置１４の状況に応じて、アプリの全機能を許可する全機能許可ポリシー又は一部の機能を許可する一部機能許可ポリシーを通信端末装置１４に配信する。なお、全機能を許可する全機能許可ポリシーに代えて、全機能のうち一部の予め定めた機能を許可する機能許可ポリシーを配信するようにしてもよい。この場合、一部機能許可ポリシーは、前記予め定めた機能のうち一部の機能を許可するポリシーとなる。
【００１９】
通信端末装置１４は、通信端末装置１４の位置及び時刻の少なくとも一方を含む状況に変化が生じた場合に状況変化情報をアプリケーション配信装置１２に送信する。
詳細は後述するが、状況変化情報は、端末を識別するための端末ＩＤ、端末で実行されていたアプリの終了を示す情報、アプリの起動を示す情報、及び端末の位置及び時刻の少なくとも一方を含む状況が現在の状況から変化したことを示すユーザ状況情報等である。
【００２０】
また、通信端末装置１４は、アプリケーション配信装置１２からアプリが配信された場合は、アプリケーション配信装置１２から配信されたポリシーに従ってアプリの機能を実行する。
【００２１】
図２に示すように、アプリケーション配信装置１２は、配信アプリ登録ＤＢ１８、配信ポリシー管理ＤＢ２０、許可条件ＤＢ２２、一部機能許可ポリシーＤＢ２４、及びＡＰＩ呼び出し回数ＤＢ２６を備える。また、アプリケーション配信装置１２は、配信制御部２８、一部機能許可ポリシー学習部３０、及び一部機能許可条件学習部３２を含む。配信制御部２８は、アプリ配信部２８Ａ及びポリシー配信部２８Ｂを含む。
【００２２】
図３に示すように、配信アプリ登録ＤＢ１８は、ユーザＩＤ、端末ＩＤ、アプリ名、配信状態、及びアプリデータを含む配信アプリ登録情報が登録されたデータベースである。
【００２３】
図４に示すように、配信ポリシー管理ＤＢ２０は、ユーザＩＤ、端末ＩＤ、アプリ名、及び配信済ポリシーを含む配信ポリシー情報が登録されたデータベースである。
【００２４】
図５に示すように、許可条件ＤＢ２２は、アプリ名、使用可能条件、及び全機能許可条件を含む許可条件情報が登録されたデータベースである。「使用可能条件」は、この条件を満たせば「アプリ」を使用可能で且つ、この条件を満たさなくなった場合には、「アプリ」を削除する条件である。また、「全機能許可条件」は、この条件を満たせば「アプリ」の全機能が実行可能となる条件である。なお、「全機能許可条件」に代えて、全機能のうち一部の予め定めた機能が実行可能となる条件である「機能許可条件」を用いても良い。
【００２５】
例えば図５のＮｏ．１の許可条件情報の使用可能条件は、「会議アプリＡ」は、通信端末装置１４の「位置が社内」の条件を満たした場合に使用可能であることを示している。また、全機能許可条件は、「位置が会議室内、かつ時刻が会議時間内」の条件を満たした場合に「会議アプリＡ」の全機能を実行可能であることを示している。なお、図５では省略しているが、「位置が社内」との条件は、「社内」の範囲についても例えば緯度経度等の位置を特定する情報に基づいて定義されている。同様に、「会議時間内」についても、具体的な会議時間が特定されている。すなわち、条件が位置に関する条件の場合には、位置を特定する情報も定義されており、条件が時刻に関する条件の場合は、時刻（時間）を特定する情報も定義されている。
【００２６】
図６に示すように、一部機能許可ポリシーＤＢ２４は、アプリ名、ユーザＩＤ、端末ＩＤ、一部機能許可条件、及びアプリの各機能の実行可否を含む一部機能許可ポリシーが登録されたデータベースである。
【００２７】
「一部機能許可条件」の欄に記述された一部機能許可条件を満たす場合、「機能」の欄が「○」の機能の実行が許可されていることを示している。なお、図６に示すＮｏ．１の一部機能許可ポリシーは、アプリが「会議アプリＡ」、ユーザが「Ｕｓｅｒ００１」、端末が「Ｔ０８１」で、且つ一部機能許可条件の「会議開始終了３０分以内」を満たす場合に、機能１が実行可能であることを示す。機能１は、ここではファイルｒｅａｄである。また、機能２（ファイルｗｒｉｔｅ）、機能３（カメラ機能）、機能４（録音機能）は「×」なので実行が不許可、すなわち禁止されていることを示す。また、「会議開始終了３０分以内」とは、会議開始前３０分から会議開始まで、会議終了から会議終了３０分までを表している。従って、図６のＮｏ．１の一部機能許可ポリシーは、会議開始前３０分から会議開始までと、会議終了から会議終了３０分までは、「会議アプリＡ」の「ファイルｒｅａｄ」の機能だけを実行することができることを示している。なお、「全機能許可条件」に代えて、全機能のうち一部の予め定めた機能が実行可能となる条件である「機能許可条件」を用いた場合、「一部機能許可条件」は、前記予め定めた機能のうち一部の機能を許可する条件を表す。
【００２８】
図７に示すように、ＡＰＩ呼び出し回数ＤＢ２６は、アプリ名、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、許可情報、呼び出し回数を含むＡＰＩ呼び出し回数情報が登録されたデータベースである。なお、ＡＰＩ呼び出し回数ＤＢ２６は、後述する通信端末装置１４から送信されたＡＰＩ呼び出し回数情報を登録したものである。
【００２９】
配信制御部２８のアプリ配信部２８Ａは、許可条件ＤＢ２２の使用可能条件及び全機能許可条件が成立する通信端末装置１４に対して、対応するアプリを配信する。この場合、配信制御部２８のポリシー配信部２８Ｂは、アプリの全機能を実行可能であることを示す全機能許可ポリシーを、アプリを配信した通信端末装置１４に配信する。
【００３０】
アプリ配信部２８Ａは、使用可能条件が成立するが全機能許可条件が不成立の場合において、一部機能許可条件が成立する場合、一部機能許可条件が成立する通信端末装置１４に対して、対応するアプリを配信する。この場合、ポリシー配信部２８Ｂは、アプリの一部の機能を実行可能であることを示す一部機能許可ポリシーを、アプリを配信した通信端末装置１４に配信する。
【００３１】
また、アプリ配信部２８Ａは、使用可能条件が不成立の通信端末装置１４に対して、アプリの削除を要求するためのアプリ削除要求を配信する。
【００３２】
一部機能許可ポリシー学習部３０は、一部機能許可ポリシーＤＢ２４の各ＡＰＩの呼び出し回数に基づいて、各ＡＰＩの許可及び不許可を変更し、一部機能許可ポリシーＤＢ２４を更新する。
【００３３】
一部機能許可条件学習部３２は、アプリの起動及び終了のタイミングに基づいて、一部機能許可ポリシーＤＢ２４の一部機能許可条件を学習し、更新する。
【００３４】
図２に示すように、通信端末装置１４は、機能許可ポリシーＤＢ３４、ユーザ状況ＤＢ３６、ＡＰＩ呼び出し回数ＤＢ３８を含む。また、通信端末装置１４は、受信制御部４０、アプリ記憶部４２、アプリ実行部４４、ＡＰＩ部４６、センシング部４８、ユーザ状況把握部５０、及び状況変化送信部５２を含む。受信制御部４０は、アプリ受信部４０Ａ及びポリシー受信部４０Ｂを含む。
【００３５】
機能許可ポリシーＤＢ３４は、アプリケーション配信装置１２のポリシー配信部２８Ｂから配信された全機能許可ポリシー及び一部機能許可ポリシーが格納されたデータベースであり、図６の一部機能許可ポリシーＤＢ２４と同一の形式のデータベースである。
【００３６】
図８に示すように、ユーザ状況ＤＢ３６は、ユーザ状況種別及び現在の状況を含むユーザ状況情報が登録されたデータベースである。
【００３７】
また、ＡＰＩ呼び出し回数ＤＢ３８は、図７に示されたＡＰＩ呼び出し回数ＤＢ２６と同一である。
【００３８】
受信制御部４０のアプリ受信部４０Ａは、アプリケーション配信装置１２のアプリ配信部２８Ａから配信されたアプリを受信し、アプリ記憶部４２に記憶させる。
【００３９】
受信制御部４０のポリシー受信部４０Ｂは、アプリケーション配信装置１２のポリシー配信部２８Ｂから配信された全機能許可ポリシー又は一部機能許可ポリシーを機能許可ポリシーＤＢ３４に格納する。
【００４０】
アプリ実行部４４は、アプリ記憶部４２に記憶されたアプリＡＰを実行する。アプリ実行部４４は、ユーザにより実行を指示された機能に対応したＡＰＩをＡＰＩ部４６から呼び出すことによってアプリを実行する。
【００４１】
ＡＰＩ部４６は、各種機能に対応したＡＰＩが記憶されており、アプリ実行部４４から呼び出されたＡＰＩを実行することにより、アプリの機能を実行する。
【００４２】
センシング部４８は、例えば通信端末装置１４の位置情報（現在位置）、向き、移動方向、及び移動速度等の情報を取得する。この場合、センシング部４８は、例えば位置情報を取得するためのＧＰＳ機能を有し、ＧＰＳ機能による測位を行うことで、例えば緯度経度を含む位置情報又は所定の座標系に置き換えた位置情報を取得する。また、センシング部４８は、ＷｉＦｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離通信機能を有する場合は、例えば近距離通信により通信可能な他の端末（中継装置又は無線基地局等）の位置情報を通信端末装置１４の位置情報として取得してもよい。
【００４３】
また、センシング部４８は、例えば加速度センサ及び角度センサ等を有し、通信端末装置１４の向き、移動方向、及び移動速度等の情報を取得する。
【００４４】
ユーザ状況把握部５０は、センシング部４８により取得した位置情報及び時刻等に基づいて通信端末装置１４の状況、すなわちユーザ状況を把握し、ユーザ状況ＤＢ３６の現在の状況が変化した場合にユーザ状況ＤＢ３６を更新する。
【００４５】
状況変化送信部５２は、通信端末装置１４の状況が変化した場合に、状況が変化したことを表す状況変化情報をアプリケーション配信装置１２に送信する。
【００４６】
アプリケーション配信装置１２は、例えば図９に示すコンピュータ６０を含んで実現することができる。コンピュータ６０はＣＰＵ６２、メモリ６４、入力部６５、不揮発性の記憶部６６、及び表示部６７を備え、これらはバス６８を介して互いに接続されている。
【００４７】
また、記憶部６６はＨＤＤ(Hard Disk Drive)又はフラッシュメモリ等によって実現できる。記録媒体としての記憶部６６には、コンピュータ６０をアプリケーション配信装置１２として機能させるためのアプリケーション配信プログラム７０が記憶されている。ＣＰＵ６２は、アプリケーション配信プログラム７０を記憶部６６から読み出してメモリ６３に展開し、アプリケーション配信プログラム７０が有するプロセスを順次実行する。
【００４８】
アプリケーション配信プログラム７０は、アプリ配信プロセス７２、ポリシー配信プロセス７４、一部機能許可条件学習プロセス７６、及び一部機能許可ポリシー学習プロセス７８を有する。
【００４９】
ＣＰＵ６２は、アプリ配信プロセス７２を実行することで、図２に示すアプリ配信部２８Ａとして動作する。また、ＣＰＵ６２は、ポリシー配信プロセス７４を実行することで、図２に示すポリシー配信部２８Ｂとして動作する。また、ＣＰＵ６２は、一部機能許可条件学習プロセス７６を実行することで、図２に示す一部機能許可条件学習部３２として動作する。また、ＣＰＵ６２は、一部機能許可ポリシー学習プロセス７８を実行することで、図２に示す一部機能許可ポリシー学習部３０として動作する。
【００５０】
これにより、アプリケーション配信プログラム７０を実行したコンピュータ６０が、アプリケーション配信装置１２として機能することになる。なお、アプリケーション配信プログラム７０は、開示の技術におけるアプリケーション配信プログラムの一例である。
【００５１】
なお、アプリケーション配信装置１２は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００５２】
通信端末装置１４は、例えば図１０に示すコンピュータ８０を含んで実現することができる。コンピュータ８０はＣＰＵ８２、メモリ８４、入力部８５、不揮発性の記憶部８６、及び表示部８７を備え、これらはバス８８を介して互いに接続されている。
【００５３】
また、記憶部８６はＨＤＤ(Hard Disk Drive)又はフラッシュメモリ等によって実現できる。記録媒体としての記憶部８６には、コンピュータ８０をアプリケーション実行装置としての通信端末装置１４として機能させるためのアプリケーション実行プログラム９０が記憶されている。ＣＰＵ８２は、アプリケーション実行プログラム９０を記憶部８６から読み出してメモリ８３に展開し、アプリケーション実行プログラム９０が有するプロセスを順次実行する。
【００５４】
アプリケーション実行プログラム９０は、アプリ受信プロセス９２、ポリシー受信プロセス９４、アプリ実行プロセス９６、ユーザ状況把握プロセス９８、状況変化送信プロセス９９を有する。
【００５５】
ＣＰＵ８２は、アプリ受信プロセス９２を実行することで、図２に示すアプリ受信部４０Ａとして動作する。また、ＣＰＵ８２は、ポリシー受信プロセス９４を実行することで、図２に示すポリシー受信部４０Ｂとして動作する。また、ＣＰＵ８２は、アプリ実行プロセス９６を実行することで、図２に示すアプリ実行部４４として動作する。また、ＣＰＵ８２は、ユーザ状況把握プロセス９８を実行することで、図２に示すユーザ状況把握部５０として動作する。また、ＣＰＵ８２は、状況変化送信プロセス９９を実行することで、図２に示す状況変化送信部５２として動作する。
【００５６】
これにより、アプリケーション実行プログラム９０を実行したコンピュータ８０が、通信端末装置１４として機能することになる。なお、アプリケーション実行プログラム９０は、開示の技術におけるアプリケーション実行プログラムの一例である。
【００５７】
なお、通信端末装置１４は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００５８】
次に第１実施形態の作用を説明する。まず、アプリケーション配信装置１２で実行される処理について、図１１に示すフローチャートを参照して説明する。なお、図１１に示す処理は、定期的に実行される。
【００５９】
ステップ１００では、アプリ配信部２８Ａが、何れかの通信端末装置１４から状況変化情報を受信したか否かを判断し、状況変化情報を受信した場合はステップ１０２へ移行し、状況変化情報を受信していない場合は本ルーチンを終了する。なお、状況変化情報を受信した端末が複数の場合は、ステップ１０２から１１４までの処理は、状況変化情報を受信した端末毎に実行される。
【００６０】
ステップ１０２では、アプリ配信部２８Ａが、ステップ１００で端末から受信した状況変化情報がアプリ終了を示す情報であるか否かを判断する。そして、アプリ終了を示す情報である場合はステップ１０４へ移行し、アプリ終了を示す情報でない場合はステップ１０６へ移行する。
【００６１】
ステップ１０４では、一部機能許可条件学習部３２が、図１２に示す一部機能許可条件学習処理を実行する。
【００６２】
図１２に示すステップ２００では、一部機能許可条件学習部３２が、一部機能許可ポリシーＤＢ２４から、図１１のステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応する一部機能許可ポリシーを取得する。
【００６３】
ステップ２０２では、一部機能許可条件学習部３２が、取得した一部機能許可ポリシーの一部機能許可条件が成立するか否かを判断し、成立する場合はステップ２０４へ移行し、不成立の場合はステップ２０６へ移行する。
【００６４】
ステップ２０４では、一部機能許可条件学習部３２が、一部機能許可条件を現在の設定より厳しくする。具体的には、一部機能許可条件が時刻（期間）に関する条件であれば、期間を一定期間分短縮し、一部機能許可条件が位置（範囲）に関する条件であれば、範囲を一定範囲分狭くする。例えば図６のポリシーＮｏ．１の例では、「会議開始終了３０分以内」を「会議開始終了２５分以内」に変更する。また、例えば図６のポリシーＮｏ．７の例では、「会議室境界から３ｍ以内」を「会議室境界から２．５ｍ以内」に変更する。
【００６５】
一方、ステップ２０６では、一部機能許可条件学習部３２が、一部機能許可条件を現在の条件より緩くする。具体的には、一部機能許可条件が期間に関する条件であれば、期間を一定期間分延長し、一部機能許可条件が位置、すなわち範囲に関する条件であれば、範囲を一定範囲分広くする。例えば図６のポリシーＮｏ．１の例では、「会議開始終了３０分以内」を「会議開始終了３５分以内」に変更する。また、例えば図６のポリシーＮｏ．７の例では、「会議室境界から３ｍ以内」を「会議室境界から３．５ｍ以内」に変更する。
【００６６】
ステップ２０８では、ステップ２０４又はステップ２０６で再設定した一部機能許可条件で一部機能許可ポリシーＤＢ２４を更新する。
【００６７】
図１１のステップ１０６では、アプリ配信部２８Ａが、ステップ１００で受信した状況変化情報がアプリ起動を示す情報であるか否かを判断する。そして、アプリ起動を示す情報である場合はステップ１０８へ移行し、アプリ起動を示す情報でない場合はステップ１１０へ移行する。
【００６８】
ステップ１０８では、一部機能許可条件学習部３２が、図１３に示す一部機能許可条件学習処理を実行する。
【００６９】
図１３に示すステップ３００では、一部機能許可条件学習部３２が、一部機能許可ポリシーＤＢ２４から、図１１のステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応する一部機能許可ポリシーを取得する。
【００７０】
ステップ３０２では、一部機能許可条件学習部３２が、取得した一部機能許可ポリシーに定義された一部機能許可条件の成立直後、すなわちユーザがアプリを早めに起動したか否かを判断する。そして、一部機能許可条件の成立直後の場合はステップ３０４へ移行し、成立直後でない場合はステップ３０６へ移行する。
【００７１】
ステップ３０４では、図１２のステップ２０６と同様に、一部機能許可条件学習部３２が、一部機能許可条件を現在の設定より緩くする。
【００７２】
一方、ステップ３０６では、図１２のステップ２０４と同様に、一部機能許可条件学習部３２が、一部機能許可条件を現在の設定より厳しくする。
【００７３】
ステップ３０８では、図１２のステップ２０８と同様に、ステップ３０４又はステップ３０６で再設定した一部機能許可条件で一部機能許可ポリシーＤＢ２４を更新する。
【００７４】
このように、一部機能許可条件が成立している状態でアプリが終了した場合は一部機能許可条件を厳しくし、一部機能許可条件が不成立の状態でアプリが終了した場合は一部機能許可条件を緩くする。また、一部機能許可条件が成立直後にアプリが起動された場合は一部機能許可条件を緩くし、一部機能許可条件が成立直後でない場合は一部機能許可条件を厳しくする。これにより、一部機能許可条件が、ユーザのアプリの使用状況に応じて最適な条件に学習される。
【００７５】
図１１のステップ１１０では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８から、ステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応するアプリのリストを取得する。
【００７６】
そして、取得したアプリのリストに含まれるアプリの各々について、ステップ１１２、１１４の処理が実行される。
【００７７】
ステップ１１２では、一部機能許可ポリシー学習部３０が、図１４に示す一部機能許可ポリシー学習処理を実行する。
【００７８】
図１４のステップ４００では、一部機能許可ポリシー学習部３０が、ＡＰＩ呼び出し回数ＤＢ２６から、許可情報が「許可」となっている許可ＡＰＩの各々について呼び出し回数を読み出し、呼び出し回数順に並び替える。
【００７９】
ステップ４０２では、一部機能許可ポリシー学習部３０が、ステップ４００で読み出した各許可ＡＰＩの呼び出し回数のうち、予め定めた不許可閾値未満の許可ＡＰＩを不許可ＡＰＩに変更する。ここで、不許可閾値は、例えば許可ＡＰＩがこの値未満の場合は、呼び出し回数が少ないためユーザの使用頻度が低く、不許可ＡＰＩに変更してもユーザの利便性に与える影響が少ないと判断できる値に設定される。
【００８０】
ステップ４０４では、一部機能許可ポリシー学習部３０が、ＡＰＩ呼び出し回数ＤＢ２６から、許可情報が「不許可」となっている不許可ＡＰＩの各々について呼び出し回数を読み出し、呼び出し回数順に並び替える。
【００８１】
ステップ４０６では、一部機能許可ポリシー学習部３０が、ステップ４０４で読み出した各不許可ＡＰＩの呼び出し回数のうち、予め定めた許可閾値以上の不許可ＡＰＩを許可ＡＰＩに変更する。ここで、許可閾値は、例えば不許可ＡＰＩがこの値以上の場合は、呼び出し回数が多いためユーザの使用頻度が高く、許可ＡＰＩに変更することでユーザの利便性が向上すると判断できる値に設定される。
【００８２】
なお、図１４では、ステップ４００及びステップ４０２と、ステップ４０４及びステップ４０６が並列処理される場合を示したが、これに限らず、ステップ４００〜４０６を順次処理するようにしてもよい。
【００８３】
ステップ４０８では、一部機能許可ポリシー学習部３０が、許可ＡＰＩの割合が予め定めた閾値を越えているか否かを判断し、閾値を越えている場合はステップ４１０へ移行し、閾値以下の場合はステップ４１２へ移行する。
【００８４】
閾値は、例えば、一部機能許可条件で設定された位置（範囲）又は時刻が、使用可能条件と全機能能許可条件との間の何割になるかを計算することにより設定する。具体的には、例えばアプリＸの使用可能条件が「社内（１００００ｍ２）」、一部機能許可条件が「建物内（８０００ｍ２）」、全機能許可条件が「会議室内（２５ｍ２）」であったとする。
【００８５】
この場合、図１５に示すように、横軸を使用可能条件、一部機能許可条件、及び全機能許可条件の各許可条件で設定された範囲とし、縦軸を許可ＡＰＩの割合とする。そして、使用可能条件の許可ＡＰＩの割合を０％、全機能許可条件の許可ＡＰＩの割合を１００％として、各条件で設定された範囲と許可ＡＰＩの割合との関係を示す一次式ｙ＝ａｘ＋ｂを求める。上記の例の場合、ａ＝−１００／９９７５、ｂ＝−１０００ａとなる。そして、一部機能許可条件をｘに代入して得られたｙを閾値に設定する。上記の例では、一部機能許可条件の８０００（ｍ２）をｘに代入するとｙ≒２０（％）となるため、閾値は２０％に設定する。
【００８６】
図１５に示すように、許可条件の範囲が狭くなるほど、許可ＡＰＩの割合が大きくなり、許可条件の範囲が広くなるほど許可ＡＰＩの割合が小さくなる。従って、ユーザにとって、許可ＡＰＩの割合が大きくなる狭い範囲に向かって移動するようにモチベーションが働くこととなり、セキュリティ上も好ましい状態となる。なお、各条件が時刻に関する場合も上記と同様に閾値を設定できる。
【００８７】
ステップ４１０では、一部機能許可ポリシー学習部３０が、許可ＡＰＩの割合が閾値以下となるように、呼び出し回数が少ない順に、不許可ＡＰＩから許可ＡＰＩに変更したＡＰＩを不許可ＡＰＩに戻す。
【００８８】
ステップ４１２では、一部機能許可ポリシーＤＢ２４を上記の処理結果に従って更新する。すなわち、不許可ＡＰＩを許可ＡＰＩに変更したＡＰＩについては、許可情報を「許可」に変更し、許可ＡＰＩを不許可ＡＰＩに変更したＡＰＩについては、許可情報を「不許可」に変更する。
【００８９】
図１１のステップ１１４では、配信制御部２８が、図１６に示す端末アプリ・ポリシー配信処理を、ステップ１１０で取得したアプリのリストに含まれるアプリの各々について、実行する。
【００９０】
ステップ５００では、ポリシー配信部２８Ｂが、許可条件ＤＢ２２から許可条件情報を取得する。
【００９１】
ステップ５０２では、ポリシー配信部２８Ｂが、図１１のステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応する端末及びステップ１１０で取得したアプリのリスト内の一つのアプリについて、許可条件情報の使用可能条件が成立するか否かを判断する。そして、使用可能条件が成立する場合は、ステップ５０４へ移行し、使用可能条件が成立しない場合はステップ５３４へ移行する。
【００９２】
使用可能条件が成立するか否かは、図１１のステップ１００で受信した状況変化情報に含まれるユーザ状況情報に基づいて判断する。例えば、図５の許可条件ＤＢ２２のＮｏ．１に示す許可条件情報では、会議アプリＡの使用可能条件が「位置が社内」と設定されている。この場合、端末から送信されたユーザ状況情報が図８のユーザ状況ＤＢ３６のＮｏ．１に示すユーザ状況情報を含む場合、ユーザ状況種別の「社内社外状況」の現在の状況が「社内」となっているため、使用可能条件が成立すると判断することができる。
【００９３】
ステップ５０４では、ポリシー配信部２８Ｂが、使用可能条件が成立するアプリの全機能許可条件が成立するか否かを判断し、全機能許可条件が成立する場合はステップ５０６へ移行し、全機能許可条件が成立しない場合はステップ５１６へ移行する。
【００９４】
全機能条件が成立するか否かは、図１１のステップ１００で受信した状況変化情報に含まれるユーザ状況情報に基づいて判断する。例えば、図５の許可条件ＤＢ２２のＮｏ．１に示す許可条件情報では、会議アプリＡの全機能許可条件が「位置が会議室内、かつ時刻が会議時間内（１６：００−１７：００）」と設定されている。ここで、端末から送信されたユーザ状況情報が図８のユーザ状況ＤＢ３６のＮｏ．２、３に示すユーザ状況情報を含む場合、ユーザ状況種別の「会議室内外状況」の現在の状況が「会議室内」、ユーザ状況種別の「時間帯」の現在の状況が「１６時台」となっている。このため、全機能許可条件が成立すると判断することができる。
【００９５】
ステップ５０６では、ポリシー配信部２８Ｂが、配信アプリ登録ＤＢ１８を参照し、使用可能条件及び全機能許可条件が成立するアプリが未配信であるか否かを判断する。そして、使用可能条件及び全機能許可条件が成立するアプリが未配信の場合はステップ５０８へ移行し、配信済みの場合はステップ５１２へ移行する。
【００９６】
ステップ５０８では、アプリ配信部２８Ａが、使用可能条件及び全機能許可条件が成立するアプリを端末へ配信する。
【００９７】
ステップ５１０では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８の使用可能条件及び全機能許可条件が成立するアプリの配信状態を「配信済」に更新する。
【００９８】
ステップ５１２では、ポリシー配信部２８Ｂが、使用可能条件及び全機能許可条件が成立するアプリの全機能を使用可能であることを示す全機能許可ポリシーを端末に配信する。この全機能許可ポリシーは、図６に示す一部機能許可ポリシーと同一の形式であり、各機能が全て「○」となっているポリシーである。
【００９９】
ステップ５１４では、ポリシー配信部２８Ｂが、図４に示す配信ポリシー管理ＤＢ２０の配信済ポリシーを「全機能許可ポリシー」に更新する。
【０１００】
ステップ５１６では、ポリシー配信部２８Ｂが、一部機能許可ポリシーＤＢ２４から、図１１のステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応する一部機能許可ポリシーを取得する。
【０１０１】
ステップ５１８では、ポリシー配信部２８Ｂが、図１１のステップ１００で受信した状況変化情報に含まれる端末ＩＤに対応する端末について、ステップ５１６で取得した一部機能許可ポリシーの一部機能許可条件が成立するか否かを判断する。そして、一部機能許可条件が成立する場合はステップ５２０へ移行し、一部機能許可条件が成立しない場合はステップ５３０へ移行する。
【０１０２】
一部機能条件が成立するか否かは、図１１のステップ１００で受信した状況変化情報に含まれるユーザ状況情報等に基づいて判断する。この判断は、例えば図６の一部機能許可ポリシーＤＢ２４のＮｏ．７に示すように、一部機能許可条件が位置に関する条件の場合、図８のユーザ状況ＤＢ３６のＮｏ．４に示すユーザ状況情報に含まれる端末の現在位置の緯度経度に基づいて判断できる。
【０１０３】
一方、例えば一部機能許可条件が図６の一部機能許可ポリシーＤＢ２４のＮｏ．１に示すように、一部機能許可条件が時刻に関する条件の場合、現在時刻に基づいて一部機能許可条件が成立するか否かを判断することができる。例えば、会議終了３０分以内であるか否かは、図５の許可条件ＤＢ２２のＮｏ．１に示す全機能許可条件が成立した状態から不成立になって３０分経過しているか否かを、現在時刻に基づいて判断すればよい。また、会議開始前３０分以降であるか否かは、現在時刻が、全機能許可条件で設定された会議開始時間（１６：００）前３０分以降であるか否かを判断すればよい。
【０１０４】
ステップ５２０では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８を参照し、一部機能許可条件が成立するアプリが未配信であるか否かを判断する。そして、一部機能許可条件が成立するアプリが未配信の場合はステップ５２２へ移行し、配信済みの場合はステップ５２６へ移行する。
【０１０５】
ステップ５２２では、アプリ配信部２８Ａが、一部機能許可条件が成立するアプリを端末へ配信する。
【０１０６】
ステップ５２４では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８の一部機能許可条件が成立するアプリの配信状態を「配信済」に更新する。
【０１０７】
ステップ５２６では、ポリシー配信部２８Ｂが、一部機能許可ポリシーＤＢ２４の一部機能許可条件が成立するアプリの一部機能許可ポリシーを端末に送信する。この一部機能許可ポリシーは、図６に示す一部機能許可ポリシーと同一の形式であり、各機能の一部が「○」となっているポリシーである。
【０１０８】
ステップ５２８では、ポリシー配信部２８Ｂが、アプリが配信された端末に対応する配信ポリシー管理ＤＢ２０の配信済ポリシーを「一部機能許可ポリシー」に更新する。
【０１０９】
ステップ５３０では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８を参照し、使用可能条件が成立するが、全機能許可条件及び一部機能許可条件が不成立のアプリを端末に配信済みか否かを判断する。そして、配信済みの場合はステップ５３２へ移行し、配信済みでない場合は本ルーチンを終了する。
【０１１０】
ステップ５３２では、アプリ配信部２８Ａが、配信済みのアプリを起動中か否かを判断し、配信済みのアプリが起動中の場合は本ルーチンを終了し、配信済みのアプリが起動中でない場合はステップ５３６へ移行する。アプリが起動中であるか否かは、以下のように判断することができる。例えば、アプリの起動を示す状況変化情報を受信した後、対応するアプリの終了を示す状況変化情報を未受信の場合はアプリが起動中であり、アプリの終了を示す状況変化情報を受信している場合にはアプリが起動中でないと判断できる。
【０１１１】
ステップ５３４では、アプリ配信部２８Ａが、配信アプリ登録ＤＢ１８を参照し、使用可能条件が成立しないアプリのうち端末に配信済みのアプリが存在するか否かを判断する。そして、配信済みのアプリが存在する場合はステップ５３６へ移行し、配信済みのアプリが存在しない場合は本ルーチンを終了する。
【０１１２】
ステップ５３６では、アプリ配信部２８Ａが、配信済みのアプリを削除するようにアプリ削除要求を端末に送信する。
【０１１３】
ステップ５３８では、アプリ配信部２８Ａが、削除要求したアプリの配信アプリ登録ＤＢ１８の配信状態を「未配信」に更新する。
【０１１４】
ステップ５４０では、アプリ配信部２８Ａが、削除要求したアプリの配信ポリシー管理ＤＢ２０の配信済ポリシーを「未配信」に更新する。
【０１１５】
次に、通信端末装置１４で実行される処理についてフローチャートを参照して説明する。まず、図１７に示すメッセージ受信処理について説明する。なお、図１７に示す処理は、定期的に実行される。
【０１１６】
ステップ６００では、アプリ受信部４０Ａが、アプリケーション配信装置１２からメッセージを受信したか否かを判断し、メッセージを受信した場合はステップ６０２へ移行し、メッセージを受信していない場合はメッセージを受信するまで待機する。
【０１１７】
ステップ６０２では、アプリ受信部４０Ａが、受信メッセージがアプリであるか否かを判断し、受信メッセージがアプリである場合はステップ６０４へ移行し、受信メッセージがアプリでない場合はステップ６０６へ移行する。
【０１１８】
ステップ６０４では、アプリ実行部４４が、受信したアプリをアプリ記憶部４２に記憶させる。
【０１１９】
ステップ６０６では、アプリ受信部４０Ａが、受信メッセージがアプリ削除要求であるか否かを判断し、受信メッセージがアプリ削除要求である場合はステップ６０８へ移行し、受信メッセージがアプリ削除要求でない場合はステップ６１０へ移行する。
【０１２０】
ステップ６０８では、アプリ実行部４４が、削除要求されたアプリを強制終了してアプリ記憶部４２から削除する。
【０１２１】
ステップ６１０では、受信メッセージが一部機能許可ポリシー又は全機能許可ポリシーであるか否かを判断する。そして、受信メッセージが一部機能許可ポリシー又は全機能許可ポリシーの場合はステップ６１２へ移行し、受信メッセージが一部機能許可ポリシー及び全機能許可ポリシーの何れでもない場合は本ルーチンを終了する。
【０１２２】
ステップ６１２では、アプリ実行部４４が、受信した一部機能許可ポリシー又は全機能許可ポリシーを機能許可ポリシーＤＢ３４に登録することにより、機能許可ポリシーＤＢ３４を更新する。
【０１２３】
次に、ＡＰＩ呼び出し処理について図１８に示すフローチャートを参照して説明する。この処理は、アプリが有する機能の実行がユーザにより指示された場合に実行される。アプリが有する機能の実行は、実行が指示された機能に対応したＡＰＩを呼び出すことにより実行される。
【０１２４】
ステップ７００では、アプリ実行部４４が、実行を指示された機能に対応するＡＰＩを呼び出すようＡＰＩ部４６に依頼する。
【０１２５】
ステップ７０２では、アプリ実行部４４が、機能許可ポリシーＤＢ３４を参照し、実行中のアプリに適用されているポリシーが一部機能許可ポリシーであるか否かを判断する。これは、機能許可条件ポリシーＤＢ３４の各機能が全て「○」であれば全機能許可ポリシーであり、各機能の一部が「○」の場合は一部機能許可ポリシーであると判断できる。そして、実行中のアプリに適用されているポリシーが一部機能許可ポリシーの場合はステップ７０４へ移行し、実行中のアプリに適用されているポリシーが一部機能許可ポリシーでない場合、すなわち全機能許可ポリシーの場合はステップ７０６へ移行する。
【０１２６】
ステップ７０４では、アプリ実行部４４が、ステップ７００で呼び出されたＡＰＩが一部機能許可ポリシーで許可されたＡＰＩか否かを判断する。すなわち、呼び出されたＡＰＩに対応する機能が「○」であるか否かを判断する。そして、ステップ７００で呼び出されたＡＰＩが一部機能許可ポリシーで許可されたＡＰＩの場合はステップ７０６へ移行し、ステップ７００で呼び出されたＡＰＩが一部機能許可ポリシーで許可されたＡＰＩでない場合はステップ７１８へ移行する。
【０１２７】
ステップ７０６では、ＡＰＩ部４６が、ステップ７００で呼び出されたＡＰＩを実行する。
【０１２８】
ステップ７０８では、ＡＰＩ部４６が、ＡＰＩの実行結果をアプリ実行部４４に通知する。
【０１２９】
ステップ７１０では、アプリ実行部４４が、ＡＰＩ呼び出し回数ＤＢ３８の該当するＡＰＩの呼び出し回数の値を更新する。すなわちインクリメントする。
【０１３０】
ステップ７１２では、アプリ実行部４４が、呼び出されたＡＰＩがアプリ起動又はアプリ終了のＡＰＩであるか否かを判断する。そして、呼び出されたＡＰＩがアプリ起動又はアプリ終了のＡＰＩの場合は、ステップ７１４へ移行し、呼び出されたＡＰＩがアプリ起動及びアプリ終了の何れのＡＰＩでない場合は、本ルーチンを終了する。
【０１３１】
ステップ７１４では、アプリ実行部４４が、状況が変化したことを示す状況変化情報を送信するよう状況変化送信部５２に依頼する。すなわち、呼び出されたＡＰＩがアプリ起動の場合は、アプリ起動を示す情報と、ＡＰＩ呼び出し回数ＤＢ３８に登録された、起動されたアプリに対応するアプリＡＰＩ呼び出し回数情報とを含む状況変化情報を送信するよう状況変化送信部５２に依頼する。一方、呼び出されたＡＰＩがアプリ終了の場合は、アプリ終了を示す情報と、ＡＰＩ呼び出し回数ＤＢ３８に登録された、終了したアプリに対応するアプリＡＰＩ呼び出し回数情報とを含む状況変化情報を送信するよう状況変化送信部５２に依頼する。
【０１３２】
ステップ７１６では、状況変化送信部５２が、アプリ実行部４４から依頼された状況変化情報をサーバに送信する。
【０１３３】
一方、ステップ７１８では、ＡＰＩ部４６が、ＡＰＩの実行がエラーであることをアプリ実行部４４に通知する。
【０１３４】
ステップ７２０では、アプリ実行部４４が、ＡＰＩ呼び出し回数ＤＢ３８の該当するＡＰＩの呼び出し回数の値を更新する。すなわちインクリメントする。
【０１３５】
次に、ユーザ状況把握処理について図１９に示すフローチャートを参照して説明する。
【０１３６】
ステップ８００では、ユーザ状況把握部５０が、ユーザ状況ＤＢ更新フラグをオフに設定する。
【０１３７】
ステップ８０２では、ユーザ状況把握部５０が、ユーザ状況ＤＢ３６からユーザ状況種別のリストを取得する。
【０１３８】
ステップ８０４では、センシング部４８から、ＧＰＳ情報を取得する。すなわち通信端末装置１４の緯度経度情報を取得する。
【０１３９】
ステップ８０６では、ユーザ状況把握部５０が、取得したユーザ状況種別の各々について、「現在の状況」から状況が変化したユーザ状況種別が存在するか否かを判断する。例えば、図８のＮｏ．１のユーザ状況種別は、通信端末装置１４の現在位置が社内なのか社外なのかを示す「社内社外状況」であり、「現在の状況」は「社内」となっている。この場合、ステップ８０４で取得した緯度経度情報に基づいて、通信端末装置１４の現在位置が社内から社外へ変化した場合を「現在の状況が変化した場合」と判断する。逆に、「現在の状況」が「社外」の場合、通信端末装置１４の現在位置が社外から社内へ変化した場合を「現在の状況」が変化した場合と判断する。また、例えば図８のＮｏ．３のユーザ状況種別は、「時間帯」であり、「現在の状況」は「１６時台」となっている。この場合、例えば時刻が１７時台になった場合に「現在の状況」が変化したと判断する。
【０１４０】
このように、ユーザ状況種別の各々について現在の状況が変化したか否かを判断し、現在の状況が変化したユーザ状況種別が存在する場合はステップ８０８へ移行し、現在の状況が変化したユーザ状況種別が存在しない場合はステップ８１２へ移行する。
【０１４１】
ステップ８０８では、ユーザ状況把握部５０が、ユーザ状況ＤＢ３６の「現在の状況」を変化後の状況に更新する。
【０１４２】
ステップ８１０では、ユーザ状況把握部５０が、ユーザ状況ＤＢ更新有りフラグをオンにする。
【０１４３】
ステップ８１２では、ユーザ状況把握部５０が、ユーザ状況ＤＢ更新有りフラグがオンか否かを判断し、ユーザ状況ＤＢ更新有りフラグがオンの場合はステップ８１４へ移行し、ユーザ状況ＤＢ更新有りフラグがオフの場合は本ルーチンを終了する。
【０１４４】
ステップ８１４では、ユーザ状況把握部５０が、ユーザ状況ＤＢ３６に登録されたユーザ状況情報のうち「現在の状況」が変化したユーザ状況情報を含む状況変化情報を端末に送信するように状況変化送信部５２に依頼する。
【０１４５】
ステップ８１６では、状況変化送信部５２が、ユーザ状況ＤＢ３６に登録されたユーザ状況情報のうち状況が変化したユーザ状況情報及びＡＰＩ呼び出し回数ＤＢ３８に登録されたＡＰＩ呼び出し回数情報を状況変化情報として端末に送信する。
【０１４６】
このように、第１実施形態では、アプリとは別に全機能許可ポリシー又は一部機能許可ポリシーを端末に配信し、アプリの全機能許可条件が成立しない場合でも一部機能許可条件が成立する場合は、機能を制限してアプリを実行可能としている。
【０１４７】
このため、例えば会議アプリＡを使用中に会議室から退出した途端にアプリが削除されてしまい、使用できなくなるのを防ぐことができる。また、会議室に入室する前でも会議室に近づいた場合に会議アプリＡの一部の機能を使用できるので、会議資料を事前に予習することが可能となる。すなわち、通信端末装置１４の状況に応じて適切にアプリを使用できる状態にすることができる。
【０１４８】
また、アプリとは別に一部機能許可ポリシーを端末に配信するため、状況が変化する毎にアプリを何回も配信することなくアプリの機能を制限することができ、通信負荷の増加を抑えることができる。
【０１４９】
また、図６に示すように、位置に関する一部機能許可条件と位置に関する一部機能許可条件を独立して設定できる。このため、例えば図６のＮｏ．６のように、会議終了３０分は会議アプリＡのファイルｗｒｉｔｅ機能の実行は不許可で録音は許可し、図６のＮｏ．７のように、会議室から３ｍの範囲はファイルｗｒｉｔｅ機能の実行は許可で録音は不許可にすることができる。
【０１５０】
また、図６のＮｏ．８のように、Ｎｏ．６、７の一部機能許可条件のＡＮＤ条件を一部機能許可条件としてもよい。この場合、各機能の許可、不許可については、Ｎｏ．６、７の各機能のＡＮＤをとればよい。
【０１５１】
また、一部機能許可条件を複数段階に分けて設定し、許可される機能が段階的に増減するようにしてもよい。例えば、図６のＮｏ．１では、一部機能許可条件が「会議開始終了３０分以内」、機能１のみが「○」の一部機能許可ポリシーが設定されている。この場合、例えば一部機能許可条件が「会議開始終了２０分以内」、機能１、２のみが「○」の一部機能許可ポリシー、一部機能許可条件が「会議開始終了１０分以内」、機能１〜３のみが「○」の一部機能許可ポリシーをさらに設定する。これにより、例えば会議終了から時間が経過するに従って、使用できる機能が段階的に減っていく。また、会議開始前から会議時間が近づくに従って、使用できる機能が段階的に増えていく。このため、アプリの使い勝手を向上させることができる。
【０１５２】
（第２実施形態）
次に開示の技術の第２実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分を中心に説明する。
【０１５３】
第２実施形態では、排他的に実行すべきアプリの一部機能許可条件が重複している場合に、アプリの排他切り替え条件を計算し、計算した排他切り替え条件に従ってアプリを排他的に実行する場合について説明する。例えば、来社する訪問客に応対する場合、訪問客ａ用資料アプリの使用と、訪問客ｂ用資料アプリは排他で使用することが望ましい。これは、訪問客ｂに対して訪問客ａ用資料を提示してしまうといったミスを防ぐためである。
【０１５４】
また、例えば現場作業支援システムにおいて、同じ階で少し離れた機械室ｃと機械室ｄにおいて、各機械の作業マニュアル表示アプリを、各々の場所に合わせて配信する場合がある。この場合、機械室ｄに対して機械室ｃ用の作業マニュアルを表示するといった作業ミスを防ぐ際も排他制御が必要となる。このため、第２実施形態では、アプリの排他切り替え条件を計算し、計算した排他切り替え条件に従ってアプリを排他的に実行する。
【０１５５】
図２０には、第２実施形態に係るアプリケーション配信装置１２Ａを示した。アプリケーション配信装置１２Ａが図２に示したアプリケーション配信装置１２と異なるのは、排他切り替え条件ＤＢ５３及びアプリ排他制御部５４を備えている点、配信アプリ登録ＤＢ１８Ａが排他タグリストを備えている点である。その他は同一であるので説明は省略する。
【０１５６】
図２１に示すように、排他切り替え条件ＤＢ５３は、ユーザＩＤ、端末ＩＤ、アプリ名、及び排他切り替え条件を含む排他切り替え条件情報が登録されたデータベースである。
【０１５７】
また、図２２に示すように、配信アプリ登録ＤＢ１８Ａには、「排他タグ」の欄が追加されている。この「排他タグ」の欄が空の場合は、排他的に実行する必要がある他のアプリは存在しないが、「排他タグ」の欄が空でない場合、その欄に記述されたアプリと排他的に実行する必要があることを示す。
【０１５８】
例えば、図２２の例では、Ｎｏ．４の訪問客ａ用資料アプリ及びＮｏ．５の訪問客ｂ用資料アプリは、ともに排他タグが「訪問客用資料」となっているため、排他的に実行されるべきアプリであることを示している。また、Ｎｏ．２の予定表アプリの「排他タグ」は空であるため、例えば訪問客ａ用資料アプリとは同時実行可能であることを示している。
【０１５９】
アプリ排他制御部５４は、排他切り替え条件ＤＢ５３に基づいて、排他的に実行すべきアプリの一部機能許可条件が重複している場合に、アプリの切り替え条件を計算して切り替えタイミングを調整する。
【０１６０】
次に第２実施形態の作用を説明する。図２３には、第２実施形態に係るアプリ排他制御のフローチャートを示した。
【０１６１】
図２３に示すように、アプリ排他制御は、図１６の端末アプリ・ポリシー配信制御のステップ５１８とステップ５２０との間に挿入されたステップ５１９、５５０〜５６２の処理である。その他の処理は図１６に示した端末アプリ・ポリシー配信制御と同一であるため、詳細な説明を省略する。
【０１６２】
ステップ５１９では、アプリ排他制御部５４が、配信アプリ登録ＤＢ１８Ａを参照し、一部機能許可条件が成立しているアプリの排他タグが空であるか否かを判断し、空の場合はステップ５２０へ移行し、空でない場合はステップ５５０へ移行する。
【０１６３】
ステップ５５０では、アプリ排他制御部５４が、配信アプリ登録ＤＢ１８Ａを参照し、同じ排他タグを有するアプリのリストを配信アプリ登録ＤＢ１８Ａから取得する。
【０１６４】
ステップ５５２では、アプリ排他制御部５４が、配信アプリ登録ＤＢ１８Ａを参照し、取得したリストに配信済みのアプリが存在するか否かを判断する。そして、配信済みのアプリが存在する場合はステップ５５４へ移行し、配信済みのアプリが存在しない場合はステップ５２０へ移行する。
【０１６５】
ステップ５５４では、アプリ排他制御部５４が、排他切り替え条件ＤＢ５３から配信済みのアプリの排他切り替え条件を取得する。
【０１６６】
ステップ５５６では、アプリ排他制御部５４が、配信済みのアプリの排他切り替え条件が成立するか否かを判断し、排他切り替え条件が成立する場合はステップ５５８へ移行し、排他切り替え条件が不成立の場合はステップ５５９へ移行する。
【０１６７】
ステップ５５８では、配信済みのアプリの削除処理を実行する。この削除処理は、図１６のステップ５３４〜５４０の処理と同一であるので、説明は省略する。
【０１６８】
ステップ５５９では、一部機能許可条件が重複するか否かを判断し、一部機能許可条件が重複する場合はステップ５６０へ移行し、重複しない場合は本ルーチンを終了する。以下、一部機能許可条件が重複するか否かの判断について具体的に説明する。まず、時刻に関する一部機能許可条件が重複するか否かを判断する場合について説明する。
【０１６９】
例えば、図５の許可条件ＤＢ２２のＮｏ．３、Ｎｏ．４に示すように、訪問客ａ用資料アプリの全機能許可条件の応対時間が１３：３０〜１５：３０、訪問客ｂ用資料アプリの全機能許可条件の応対時間が１６：００〜１７：３０であったとする。また、図６の一部機能許可ポリシーＤＢ２４のＮｏ．２、Ｎｏ．４に示すように、訪問客ａ用資料アプリの一部機能許可条件が、応対開始終了１０分以内、訪問客ｂ用資料アプリの一部機能許可条件が、応対開始終了３０分以内であったとする。この場合、図２４に示すように、訪問客ａ用資料アプリは、１５：４０まで一部の機能が許可されており、訪問客ｂ用資料アプリは、１５：３０から一部の機能が許可されている。このため、１５：３０〜１５：４０の間は、排他的に実行すべき訪問客ａ用資料アプリ及び訪問客ｂ用資料アプリの実行が重複する。すなわち、先に実行される訪問客ａ用資料アプリの一部機能の延長終了時間が、後に実行される訪問客ｂ用資料アプリの一部機能の先行開始時間よりも遅い場合は、訪問客ａ用資料アプリ及び訪問客ｂ用資料アプリの実行が重複すると判断できる。
【０１７０】
次に、位置に関する一部機能許可条件が重複するか否かを判断する場合について説明する。
【０１７１】
例えば、図５の許可条件ＤＢ２２のＮｏ．３、Ｎｏ．４に示すように、訪問客ａ用資料アプリの全機能許可条件の位置が応接室Ｊ内、訪問客ｂ用資料アプリの全機能許可条件の位置が応接室Ｋ内であったとする。
【０１７２】
また、図６の一部機能許可ポリシーＤＢ２４のＮｏ．３、Ｎｏ．５に示すように、訪問客ａ用資料アプリの一部機能許可条件が、応接室Ｊ近辺５ｍ以内、訪問客ｂ用資料アプリの一部機能許可条件が、応接室Ｋ近辺３ｍ以内であったとする。
【０１７３】
この場合、訪問客ａ用資料アプリは、応接室Ｊ近辺５ｍ以内まで一部の機能が許可されており、訪問客ｂ用資料アプリは、応接室Ｋ近辺３ｍ以内まで一部の機能が許可されている。ここで、応接室Ｊ及び応接室Ｋの位置が近い場合は、排他的に実行すべき訪問客ａ用資料アプリ及び訪問客ｂ用資料アプリの実行可能範囲が重複する場合がある。そこで、応接室Ｊ及び応接室Ｋの位置と、訪問客ａ用資料アプリ及び訪問客ｂ用資料アプリの一部機能許可条件に基づいて、実行可能範囲が重複するか否かを判断する。例えば、上記の例では、応接室Ｊと応接室Ｋとの距離が８（＝５＋３）ｍ以内の場合、訪問客ａ用資料アプリと訪問客ｂ用資料アプリの実行可能範囲が重複すると判断することができる。
【０１７４】
ステップ５６０では、アプリ排他制御部５４が、排他的に実行すべきアプリが排他的に実行されるような排他切り替え条件を計算する。
【０１７５】
まず、時刻に関する排他切り替え条件について説明する。前述の例のように、訪問客ａ用資料アプリは、１５：４０まで一部の機能が許可されており、訪問客ｂ用資料アプリは、１５：３０から一部の機能が許可されている。このため、１５：３０〜１５：４０の間は、排他的に実行すべき訪問客ａ用資料アプリ及び訪問客ｂ用資料アプリの実行が重複してしまう。従って、図２１のＮｏ．１に示すように、訪問客ａ用資料アプリの一部機能の延長終了時の１５：４０と、訪問客ｂ用資料アプリの全機能が許可される開始時間の１６：００との中間の１５：５０がアプリの切り替えタイミングとする。
【０１７６】
具体的な切り替えタイミングｔは次式により計算することができる。
ｔ＝Ｅ１＋（Ａ１×ｗ１＋Ｂ１×ｗ２）／２      ・・・（１）
【０１７７】
ここで、Ｅ１は、２つの排他的に実行すべきアプリのうち先に実行されるアプリの終了日時である。上記の例では、先に実行される訪問客ａ用資料アプリの終了日時が１５：３０であることから、Ｅ１は１５：３０となる。また、Ａ１は、２つの排他的に実行すべきアプリのうち後で実行されるアプリの先行量、すなわち一部機能許可条件で定義された、全機能許可条件が成立する前にアプリを先行して実行できる時間を表す。上記の例では、後で実行される訪問客ｂ用資料アプリの一部機能許可条件が「応対開始終了３０分以内」であることから、「３０分」が先行量となる。また、Ｂ１は、２つの排他的に実行すべきアプリのうち先に実行されるアプリの延長量、すなわち一部機能許可条件で定義された、全機能許可条件が不成立になった後にアプリを延長して実行できる時間を表す。上記の例では、先に実行される訪問客ａ用資料アプリの一部機能許可条件が「応対開始終了１０分以内」であることから、「１０分」が延長量となる。また、ｗ１、ｗ２は重みであり、ここでは‘１’とする。
【０１７８】
従って、上記（１）式より、
ｔ＝１５：３０＋（３０×１＋１０×１）／２＝１５：５０
となり、切り替えタイミングｔは１５：５０となる。
【０１７９】
次に、位置に関する排他切り替え条件について説明する。前述の例のように、訪問客ａ用資料アプリは、応接室Ｊ近辺５ｍ以内まで一部の機能が許可されており、訪問客ｂ用資料アプリは、応接室Ｋ近辺３ｍ以内まで一部の機能が許可されている。このため、応接室Ｊと応接室Ｋとの距離が８ｍ以内の場合、訪問客ａ用資料アプリと訪問客ｂ用資料アプリの実行可能範囲が重複してしまう。従って、図２１のＮｏ．２に示すように、応接室Ｊから４ｍの位置がアプリの切り替えタイミングとする。
【０１８０】
具体的な切り替え位置ｐは次式により計算することができる。
ｐ＝Ｅ２＋（Ａ２×ｗ１＋Ｂ２×ｗ２）／２      ・・・（２）
【０１８１】
ここで、Ｅ２は、２つの排他的に実行すべきアプリのうち先に実行されるアプリの終了位置である。上記の例では、先に実行される訪問客ａ用資料アプリの終了位置は応接室Ｊであることから、Ｅ２は応接室Ｊの位置となる。また、Ａ２は、２つの排他的に実行すべきアプリのうち後で実行されるアプリの先行量、すなわち一部機能許可条件で定義された、全機能許可条件が成立する前にアプリを先行して実行できる位置を表す。上記の例では、後で実行される訪問客ｂ用資料アプリの一部機能許可条件が「応接室Ｋ近辺３ｍ以内」であることから、「３ｍ」が先行量となる。また、Ｂ２は、２つの排他的に実行すべきアプリのうち先に実行されるアプリの延長量、すなわち一部機能許可条件で定義された、全機能許可条件が不成立になった後にアプリを延長して実行できる位置を表す。上記の例では、先に実行される訪問客ａ用資料アプリの一部機能許可条件が「応接室Ｊ近辺５ｍ以内」であることから、「５ｍ」が延長量となる。また、ｗ１、ｗ２は重みであり、ここでは‘１’とする。
【０１８２】
従って、上記（２）式より、
ｐ＝応接室Ｊの位置＋（３×１＋５×１）／２＝応接室Ｊの位置＋４
となり、切り替え位置ｐは応接室Ｊ＋４ｍとなる。
【０１８３】
ステップ５６２では、アプリ排他制御部５４が、ステップ５６０で計算した排他切り替え条件で排他切り替え条件ＤＢ５３を更新する。
【０１８４】
このように、第２実施形態では、排他的に実行すべきアプリの一部機能許可条件が重複している場合にアプリの切り替え条件を調整するので、排他的に実行すべきアプリが重複して実行されてしまうのを防ぐことができる。
【０１８５】
なお、第２実施形態では、一部機能許可条件や使用可能条件を調整するのではなく、図２３に示したようなアプリ排他制御処理を追加することにより、排他的にアプリが実行されるようにした。これは、例えば訪問客が１組しか無い場合や現場での作業が１件の場合のように、排他的にアプリを使用する必要がない場合は、通常の一部機能許可条件がそのまま使える方が利便性が高いためである。
【０１８６】
（第３実施形態）
次に開示の技術の第３実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分を中心に説明する。
【０１８７】
第３実施形態では、ユーザ状況の履歴に基づいて、一部機能許可条件が成立するか否かを判断する場合について説明する。例えば、巡回営業等により顧客先を特定のルートを通って移動するような場合において、顧客先Ａを訪問してから一定時間内に顧客先Ｂを訪問している場合に限って顧客先Ｂ用のアプリの実行を許可するような場合である。
【０１８８】
図２５には、第３実施形態に係るアプリケーション配信装置１２Ｂを示した。アプリケーション配信装置１２Ｂが図２に示したアプリケーション配信装置１２と異なるのは、ユーザ状況履歴ＤＢ５５を備えている点であり、その他は同一であるので説明は省略する。
【０１８９】
図２６に示すように、ユーザ状況履歴ＤＢ５５は、日時、ユーザ状況種別、及びユーザ状況が登録されたデータベースである。
【０１９０】
通信端末装置１４のユーザ状況ＤＢ３６は、例えば図８のＮｏ．５で示すように、ユーザ状況種別として「位置」が設定されている。そして、通信端末装置１４の位置が変化した場合、「現在の状況」が更新され、このユーザ状況情報を含む状況変化情報としてサーバに送信される。
【０１９１】
サーバでは、通信端末装置１４から送信された状況変化情報に含まれるユーザ状況情報をユーザ状況履歴ＤＢ５５に登録する。これにより、端末の位置の履歴がユーザ状況履歴ＤＢ５５に登録される。
【０１９２】
そして、例えば図５に示す許可条件ＤＢ２２のＮｏ．５の許可条件情報のように、「会議アプリＢ」の使用可能条件を「地点Ｄ」として、全機能許可条件を「位置が地点Ｄで、かつ、過去８時間以内に地点Ｃに存在」と設定する。
【０１９３】
また、図６の一部機能許可ポリシーＤＢ２４のＮｏ．９の一部機能許可ポリシーのように、「会議アプリＢ」の一部機能許可条件を「地点Ｄ」と設定する。
【０１９４】
ここで、例えば地点Ｄは会議室、地点Ｃは会社の正門等である。このような場合、会議アプリＢの全機能の実行が許可されるのは、単に端末の位置が地点Ｄであるだけではなく、過去８時間以内に地点Ｃに存在したことが必要となる。このように、地点Ｃを通った後一定時間内に地点Ｄに到達した場合に限って会議アプリＢの全機能が実行可能となるため、正門を通らずに不正に敷地内に進入して会議アプリＢが実行されてしまうのを防ぐことができる。
【０１９５】
（第４実施形態）
次に開示の技術の第４実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分を中心に説明する。
【０１９６】
第４実施形態では、アプリの転送時間を考慮して一部機能許可条件が成立するか否かを判断する場合について説明する。
【０１９７】
図２７には、第４実施形態に係るアプリケーション配信装置１２Ｃ及び通信端末装置１４Ｃを示した。アプリケーション配信装置１２Ｃが図２に示したアプリケーション配信装置１２と異なるのは、アプリ転送時間ＤＢ５６を備えている点であり、その他は同一であるので説明は省略する。また、通信端末装置１４Ｃが図２に示した通信端末装置１４と異なるのは、アプリ転送時間ＤＢ５７を備えている点であり、その他は同一であるので説明は省略する。
【０１９８】
図２８に示すように、アプリ転送時間ＤＢ５６は、端末ＩＤ、アプリ名、転送サイズ、及び転送時間を含むアプリ転送時間情報が登録されたデータベースである。
【０１９９】
図２９に示すように、アプリ転送時間ＤＢ５７は、アプリ名、転送サイズ、及び転送時間を含むアプリ転送時間情報が登録されたデータベースである。
【０２００】
次に第４実施形態の作用を説明する。図３０には、第４実施形態に係る端末で実行されるメッセージ受信処理のフローチャートを示した。
【０２０１】
図３０の処理が図１７の処理と異なるのは、ステップ６０３の処理が追加されている点だけであり、その他の処理は図１７の処理と同一であるので説明は省略する。
【０２０２】
ステップ６０３では、受信したアプリの転送時間情報をアプリ転送時間ＤＢ５７に登録する。
【０２０３】
この場合、端末は、図１９のステップ８１４において、アプリ転送時間ＤＢ５７に登録されたアプリ転送時間情報を状況変化情報に含めてサーバに送信する。
【０２０４】
一方、サーバでは、図１１のステップ１００で状況変化情報を受信した際に、受信した状況変化情報に含まれるアプリ転送時間情報をアプリ転送時間ＤＢ５６に登録する。
【０２０５】
また、サーバでは、図１６のステップ５１８において、アプリ転送時間ＤＢ５６に登録されたアプリ転送時間に基づいて一部機能許可条件を調整し、調整後の一部機能許可条件が成立するか否かを判断する。
【０２０６】
例えば、図６に示す一部機能許可ポリシーＤＢ２４のＮｏ．１の一部機能許可ポリシーのように、「会議アプリＡ」の一部機能許可条件が「会議開始終了３０分以内」であったとする。また、「会議アプリＡ」の転送時間が、図２８のアプリ転送時間ＤＢ５６のＮｏ．１のアプリ転送時間情報で示すように「５秒」であったとする。
【０２０７】
この場合、サーバは、図１６のステップ５１８において、一部機能許可条件を「会議開始終了３０分＋５秒以内」に調整した上で、この一部機能許可条件が成立するか否かを判断する。
【０２０８】
このように、アプリの転送時間を考慮して一部機能許可条件を調整するので、ネットワーク１６が狭帯域のためアプリの転送に時間がかかってしまうような場合でも、アプリの転送時間分だけ一部機能許可条件が厳しくなってしまうのを防ぐことができる。
【０２０９】
なお、一部機能許可条件が位置に関する条件の場合は、アプリの転送時間に端末の移動速度を乗算することにより距離を算出し、算出した距離分一部機能許可条件を調整すればよい。この場合、端末においてユーザ状況ＤＢ３６に移動速度を追加して逐一更新するようにしておき、移動速度を含むユーザ状況情報を状況変化情報としてサーバに送信する。サーバでは、受信した端末の移動速度とアプリの転送時間から算出した距離に基づいて一部機能許可条件を調整する。
【０２１０】
例えば、一部機能許可条件が「位置が顧客先Ｃの境界から５０ｍ以内」で、アプリの転送時間が５秒、端末の移動速度が１（ｍ／ｓ）の場合、算出される距離は５ｍとなるので、一部機能許可条件を「位置が、顧客先Ｃ境界から５５ｍ以内」に変更すればよい。
【０２１１】
（第５実施形態）
次に開示の技術の第５実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分を中心に説明する。
【０２１２】
第５実施形態では、アプリの実行が許可された範囲内（例えばイベント会場内）においてアプリを利用するユーザの人数、すなわち端末の数に応じてアプリの機能を制限する場合について説明する。
【０２１３】
図３１には、第５実施形態に係るアプリケーション配信装置１２Ｄを示した。アプリケーション配信装置１２Ｄが図２に示したアプリケーション配信装置１２と異なるのは、端末数管理部５８を備えている点であり、その他は同一であるので説明は省略する。
【０２１４】
第５実施形態では、図８のユーザ状況ＤＢ３６のＮｏ．７のユーザ状況情報に示すように、ユーザ状況種別として「イベントＸ会場内外状況」が登録されており、「現在の状況」には、端末の位置が会場内であるのか会場外であるのかが登録される。
【０２１５】
端末数管理部５８は、端末から送信される状況変化情報に含まれるユーザ状況情報の「現在の状況」が「会場内」となっている端末の数をカウントして記憶しておく。
【０２１６】
また、許可条件としては、例えば図５の許可条件ＤＢ２２のＮｏ．６に示すように、「イベントＸアプリ」の使用可能条件が「位置がイベントＸ会場内」、全機能許可条件が「位置がイベントＸ会場内で、かつ、端末数が１０００未満」といった条件を設定しておく。
【０２１７】
また、一部機能許可条件としては、図６の一部機能許可ポリシーＤＢ２４のＮｏ．１０の一部機能許可条件に示すように、「位置がイベントＸ会場内の端末数が１０００以上」といった条件を設定しておく。
【０２１８】
この場合、イベントＸ会場内でイベントＸアプリの全機能を実行できる端末数を１０００未満に制限し、端末数が１０００以上になった場合はイベントＸアプリの一部の機能のみを実行可能とすることができる。
【０２１９】
（第６実施形態）
次に開示の技術の第６実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付して説明を省略し、第１実施形態と異なる部分を中心に説明する。
【０２２０】
第６実施形態では、アプリを実行可能な範囲に入場するユーザの人数、すなわち端末の数が多数存在すると予測される場合に、一部機能許可条件を調整してアプリの配信が集中するのを回避する場合について説明する。
【０２２１】
図３２には、第６実施形態に係るアプリケーション配信装置１２Ｅを示した。アプリケーション配信装置１２Ｅが図２に示したアプリケーション配信装置１２と異なるのは、同時入場予測端末数ＤＢ５９、同時入場予測端末数管理部６１、配信集中回避部６３を備えている点であり、その他は同一であるので説明は省略する。なお、同時入場予測端末数管理部６１は、開示の技術における予測部の一例である。
【０２２２】
図３２に示すように、同時入場予測端末数ＤＢ５９は、時間帯、同時入場予測端末数、端末ＩＤリストを含む同時入場予測端末数情報が登録されたデータベースである。
【０２２３】
また、第６実施形態では、図８のユーザ状況ＤＢ３６のＮｏ．８のユーザ状況情報に示すように、ユーザ状況種別として「イベントＸ会場入場予測時刻」が登録されており、「現在の状況」には、端末の入場予測時刻が登録される。
【０２２４】
端末は、図１９のステップ８０６において、イベントＸ会場の位置、端末の現在位置、端末の移動速度に基づいてイベントＸ会場の入場予測時刻を算出し、算出した入場予測時刻が現在の状況から変化したか否かを判断する。そして、入場予測時刻が現在の状況から変化した場合は、ステップ８０８で現在の状況をステップ８０６で算出した入場予測時刻に更新する。
【０２２５】
同時入場予測端末数管理部６１は、各端末から送信された状況変化情報に含まれるユーザ状況情報の入場予測時刻に基づいて、時間帯毎に同時入場予測端末数をカウントし、同時入場予測端末数ＤＢ５９に登録する。図３３の例では、時間帯を３０分毎とし、３０分毎にカウントした同時入場予測端末数及び端末ＩＤリストが登録されている。
【０２２６】
配信集中回避部６３は、同時入場予測端末数ＤＢ５９に基づいて、同時入場予測端末数が予め定めた閾値以上となる時間帯の端末ＩＤリストの各端末の一部機能許可条件を調整することにより、各端末へのアプリ配信時刻がばらつくように調整する。
【０２２７】
次に第６実施形態の作用を説明する。第６実施形態では、図３４に示すように、サーバが、ステップ１１０とステップ１１２との間に図３５に示すような配信集中回避処理を実行する。その他は図１１のフローチャートと同一であるので、説明は省略する。
【０２２８】
ステップ９００では、ポリシー配信部２８Ｂが、同時入場予測端末数ＤＢ５９を更新するように同時入場予測端末数管理部６１に依頼する。
【０２２９】
ステップ９０２では、同時入場予測端末数管理部６１が、同時入場予測端末数ＤＢ５９を参照し、状況変化情報を受信した端末が同時入場予測端末数ＤＢ５９に登録された端末ＩＤリストに存在する場合は、該当する時間帯の同時入場予測端末数をデクリメントする。また、状況変化情報を受信した端末の端末ＩＤを端末ＩＤリストから削除する。
【０２３０】
ステップ９０４では、同時入場予測端末数管理部６１が、状況変化情報を受信した端末の入場予測時刻に該当する時間帯の同時入場予測端末数をインクリメントし、状況変化情報を受信した端末のＩＤを端末ＩＤリストに追加する。
【０２３１】
ステップ９０６では、配信集中回避部６３が、一部機能許可条件の位置の値を予め設定した範囲でランダムに設定し、一部機能許可条件ポリシーＤＢ２４に反映させる。
【０２３２】
例えば、図５に示す許可条件ＤＢ２２のＮｏ．７のように、使用可能条件及び全機能許可条件が「位置がイベントＸ会場内」であったとする。
【０２３３】
この場合、図６の一部機能許可ポリシーＤＢ２４のＮｏ．１１〜１３に示すように、同時入場予測端末数が閾値以上となる時間帯の各端末の一部機能許可条件を、例えば位置がイベントＸ会場から１００ｍの範囲でランダムに設定した範囲に設定する。図６の例では、端末Ｔ０８１については、一部機能許可条件が「位置がイベントＸ会場から５３ｍ」と設定される。また、端末Ｔ０２１については、一部機能許可条件が「位置がイベントＸ会場から３９ｍ」と設定される。また、端末Ｔ０５１については、一部機能許可条件が「位置がイベントＸ会場から６８ｍ」と設定される。
【０２３４】
なお、ステップ９０６の処理は、同時入場予測端末数が閾値以上の各時間帯毎、同時入場予測端末数が閾値以上の時間帯の端末ＩＤリストの各端末毎に実行される。
【０２３５】
このように、同時入場予測端末数ＤＢ５９に基づいて、同時入場予測端末数が閾値以上となる時間帯の端末ＩＤリストの各端末の一部機能許可条件を調整することにより、各端末へのアプリ配信時刻をばらつかせる。このため、イベントＸ会場に同時に入場される端末群に対して、アプリを同時に配信する端末数を抑えることができ、イベントＸアプリの配信の負荷を抑えることができる。
【０２３６】
なお、上記では、端末側で端末の現在の状況が変化したか否かを判断して状況変化情報をサーバに送信する場合について説明したが、これに限らず、端末が端末の位置等をサーバへ送信し、サーバ側で端末の現在の状況が変化したか否かを判断するようにしてもよい。
【０２３７】
また、上記では、サーバ側で端末の状況を判断してアプリやポリシーを配信する場合について説明したが、これに限らず、最初にアプリやポリシーを端末に配信しておき、端末側で状況を判断してアプリを実行するようにしてもよい。この場合、オフラインでもアプリを実行することが可能となる。
【０２３８】
また、上記では、アプリを配信してからアプリの全機能が許可されるまでの一部機能許可条件とアプリの全機能が許可された状態からアプリが削除されるまでの一部機能許可条件とが同一の場合について説明したが、異なる一部機能許可条件を設定してもよい。
【０２３９】
例えば、アプリを配信してからアプリの全機能が許可されるまではファイルの読み込みのみ許可し、アプリの全機能が許可された状態からアプリが削除されるまではファイルの書き込みのみ許可するようにしてもよい。例えば、社内用アプリについては、建物から出て敷地内ではファイルの書き込みを許可し、敷地外に出たら社内用アプリを削除する。一方、敷地外から敷地内に入って建物に入るまではファイルの読み込みのみ許可し、建物内に入ったら全機能を許可する。このように、アプリの使用場所が同一であっても、状況の変化に応じて使用を許可する機能を変更できるため、状況に応じて適切にアプリの機能を使用することが可能となる。
【０２４０】
また、上記では開示の技術に係るアプリケーション配信プログラムの一例であるアプリケーション配信プログラム７０が記憶部６６に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。開示の技術に係る動画像データ配信プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。これはアプリケーション実行プログラム９０についても同様である。
【０２４１】
以上の実施形態に関し、更に以下の付記を開示する。
【０２４２】
（付記１）
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信するアプリケーション配信部と、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信するポリシー配信部と、
を含むアプリケーション配信装置。
【０２４３】
（付記２）
前記状況変化情報が前記アプリケーションの起動又は終了を表す場合において、前記一部機能許可条件が成立する場合は、前記アプリケーションの起動時又は終了時における前記通信端末装置の位置及び時刻の少なくとも一方を含む状況に基づいて、前記一部機能許可条件を変更する一部機能許可条件学習部
を含む付記１記載のアプリケーション配信装置。
【０２４４】
（付記３）
前記アプリケーションの機能のうち前記一部機能許可条件において実行が許可された許可機能の呼び出し回数が予め定めた不許可閾値未満の許可機能については、前記一部機能許可条件において実行を不許可とする不許可機能に変更し、前記アプリケーションの機能のうち前記一部機能許可条件において前記不許可機能の呼び出し回数が予め定めた許可閾値以上の機能については、前記一部機能許可条件において前記不許可機能を許可機能に変更する一部機能許可ポリシー学習部
を含む付記１又は付記２記載のアプリケーション配信装置。
【０２４５】
（付記４）
前記アプリケーションの一部機能許可条件が他のアプリケーションの一部機能許可条件と重複する場合、前記アプリケーションと前記他のアプリケーションとを排他的に切り替えるための排他切り替え条件を計算する排他切り替え条件計算部
を含む付記１〜３の何れかに記載のアプリケーション配信装置。
【０２４６】
（付記５）
前記機能許可条件は、前記通信端末装置の状況の履歴に関する状況履歴条件を含み、
前記ポリシー配信部は、前記通信端末装置の状況の履歴を表す状況履歴情報に基づいて、前記状況履歴条件を含む前記機能許可条件が成立する場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
付記１〜４の何れかに記載のアプリケーション配信装置。
【０２４７】
（付記６）
前記ポリシー配信部は、前記一部機能許可条件が前記一部機能実行可能期間の場合は、前記アプリケーションの転送時間分だけ前記一部機能実行可能期間を延長する
付記１〜５の何れかに記載のアプリケーション配信装置。
【０２４８】
（付記７）
前記機能許可条件は、前記アプリケーションの配信対象範囲内に存在する前記通信端末装置の端末数を含み、
前記ポリシー配信部は、前記端末数が予め定めた閾値未満の場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
付記１〜６の何れかに記載のアプリケーション配信装置。
【０２４９】
（付記８）
前記アプリケーションの配信対象範囲に入場する前記通信端末装置の端末数を時間帯毎に予測する予測部と、
前記端末数が予め定めた閾値以上となる時間帯が存在する場合は、当該時間帯の前記端末数が前記閾値未満となるように、前記通信端末装置の各々の前記一部機能実行可能範囲を調整する配信集中回避部と、
を含む付記１〜７の何れかに記載のアプリケーション配信装置。
【０２５０】
（付記９）
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信し、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信する
ことを含むアプリケーション配信方法。
【０２５１】
（付記１０）
前記状況変化情報が前記アプリケーションの起動又は終了を表す場合において、前記一部機能許可条件が成立する場合は、前記アプリケーションの起動時又は終了時における前記通信端末装置の位置及び時刻の少なくとも一方を含む状況に基づいて、前記一部機能許可条件を変更する
付記９記載のアプリケーション配信方法。
【０２５２】
（付記１１）
前記アプリケーションの機能のうち前記一部機能許可条件において実行が許可された許可機能の呼び出し回数が予め定めた不許可閾値未満の許可機能については、前記一部機能許可条件において実行を不許可とする不許可機能に変更し、前記アプリケーションの機能のうち前記一部機能許可条件において前記不許可機能の呼び出し回数が予め定めた許可閾値以上の機能については、前記一部機能許可条件において前記不許可機能を許可機能に変更する
付記９又は付記１０記載のアプリケーション配信方法。
【０２５３】
（付記１２）
前記アプリケーションの一部機能許可条件が他のアプリケーションの一部機能許可条件と重複する場合、前記アプリケーションと前記他のアプリケーションとを排他的に切り替えるための排他切り替え条件を計算する
付記９〜１１の何れかに記載のアプリケーション配信方法。
【０２５４】
（付記１３）
前記機能許可条件は、前記通信端末装置の状況の履歴に関する状況履歴条件を含み、
前記ポリシー配信部は、前記通信端末装置の状況の履歴を表す状況履歴情報に基づいて、前記状況履歴条件を含む前記機能許可条件が成立する場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
付記９〜１２の何れかに記載のアプリケーション配信方法。
【０２５５】
（付記１４）
前記一部機能許可条件が前記一部機能実行可能期間の場合は、前記アプリケーションの転送時間分だけ前記一部機能実行可能期間を延長する
付記９〜１３の何れかに記載のアプリケーション配信方法。
【０２５６】
（付記１５）
前記機能許可条件は、前記アプリケーションの配信対象範囲内に存在する前記通信端末装置の端末数を含み、
前記ポリシー配信部は、前記端末数が予め定めた閾値未満の場合に、前記アプリケーションの機能を実行可能であることを示す機能許可ポリシーを前記通信端末装置に配信する
付記９〜１４の何れかに記載のアプリケーション配信方法。
【０２５７】
（付記１６）
前記アプリケーションの配信対象範囲に入場する前記通信端末装置の端末数を時間帯毎に予測し、
前記端末数が予め定めた閾値以上となる時間帯が存在する場合は、当該時間帯の前記端末数が前記閾値未満となるように、前記通信端末装置の各々の前記一部機能実行可能範囲を調整する
付記８〜１５の何れかに記載のアプリケーション配信方法。
【０２５８】
（付記１７）
コンピュータに、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信し、
前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信する
ことを含む処理を実行させるためのアプリケーション配信プログラム。
【０２５９】
（付記１８）
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信するアプリ受信部と、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信するポリシー受信部と、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行するアプリ実行部と、
を含むアプリケーション実行装置。
【０２６０】
（付記１９）
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信し、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信し、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行する
ことを含むアプリケーション実行方法。
【０２６１】
（付記２０）
コンピュータに、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信し、
前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信し、
受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行する
ことを含む処理を実行させるためのアプリケーション実行プログラム。
【０２６２】
（付記２１）
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションを前記通信端末装置に配信するアプリケーション配信部と、前記通信端末装置の前記状況の変化を表す状況変化情報に基づいて、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記通信端末装置に配信するポリシー配信部と、を含むアプリケーション配信装置と、
通信端末装置の位置及び時刻の少なくとも一方を含む状況に応じたアプリケーションをアプリケーション配信装置から受信するアプリ受信部と、前記状況の変化を表す状況変化情報に基づいて、前記アプリケーション配信装置から配信された、前記アプリケーションの機能を実行可能な機能実行可能範囲及び前記アプリケーションの機能を実行可能な機能実行可能期間の少なくとも一方を含む機能許可条件が不成立の場合で、且つ、前記機能実行可能範囲外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能範囲及び前記機能実行可能期間外において、前記機能実行可能範囲で実行可能な機能のうち前記アプリケーションの少なくとも一部の機能を実行可能な一部機能実行可能期間の少なくとも一方を含む一部機能許可条件が成立する場合に、前記アプリケーションの少なくとも一部の機能の実行を許可するための一部機能許可ポリシーを前記アプリケーション配信装置から受信するポリシー受信部と、受信した前記ポリシーに基づいて、受信した前記アプリケーションを実行するアプリ実行部と、を含むアプリケーション実行装置と、
を含むアプリケーション配信システム。
【符号の説明】
【０２６３】
１０   アプリケーション配信システム
１２   アプリケーション配信装置
１４   通信端末装置
１６   ネットワーク
２８   配信制御部
３０   一部機能許可ポリシー学習部
３２   一部機能許可条件学習部
４０   受信制御部
４２   アプリ記憶部
４４   アプリ実行部
４６   ＡＰＩ部
４８   センシング部
５０   ユーザ状況把握部
５２   状況変化送信部
５４   アプリ排他制御部
５８   端末数管理部
６０   コンピュータ
６１   同時入場予測端末数管理部
６３   配信集中回避部
【図１】
2014232372.tif 000003
【図２】
2014232372.tif 000004
【図３】
2014232372.tif 000005
【図４】
2014232372.tif 000006
【図５】
2014232372.tif 000007
【図６】
2014232372.tif 000008
【図７】
2014232372.tif 000009
【図８】
2014232372.tif 000010
【図９】
2014232372.tif 000011
【図１０】
2014232372.tif 000012
【図１１】
2014232372.tif 000013
【図１２】
2014232372.tif 000014
【図１３】
2014232372.tif 000015
【図１４】
2014232372.tif 000016
【図１５】
2014232372.tif 000017
【図１６】
2014232372.tif 000018
【図１７】
2014232372.tif 000019
【図１８】
2014232372.tif 000020
【図１９】
2014232372.tif 000021
【図２０】
2014232372.tif 000022
【図２１】
2014232372.tif 000023
【図２２】
2014232372.tif 000024
【図２３】
2014232372.tif 000025
【図２４】
2014232372.tif 000026
【図２５】
2014232372.tif 000027
【図２６】
2014232372.tif 000028
【図２７】
2014232372.tif 000029
【図２８】
2014232372.tif 000030
【図２９】
2014232372.tif 000031
【図３０】
2014232372.tif 000032
【図３１】
2014232372.tif 000033
【図３２】
2014232372.tif 000034
【図３３】
2014232372.tif 000035
【図３４】
2014232372.tif 000036
【図３５】
2014232372.tif 000037