(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置の位置が予め定義された特定の領域に入ったことを示す状態又は前記情報処理装置が予め定義された特定の集合に分類されたことを示す状態に応じてサービスを提供するアプリケーションの優先度を、前記状態間の階層構造と前記アプリケーションの利用数とに基づいて決定する決定部と、
前記決定部により決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する制御部と、
を有し、
前記決定部は、
前記階層毎に、前記状態でサービスを提供するアプリケーションのうち、前記利用数が最も多いアプリケーションの優先度を決定する、ことを特徴とする情報処理装置。
【請求項２】
前記制御部は、
さらに、前記アプリケーションとモジュールとの依存関係に基づいて、該アプリケーション及び前記モジュールのログ情報の保存を制御する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータに、
前記コンピュータの位置が予め定義された特定の領域に入ったことを示す状態又は前記コンピュータが予め定義された特定の集合に分類されたことを示す状態に応じてサービスを提供するアプリケーションの優先度を、前記状態間の階層構造と前記アプリケーションの利用数とに基づいて決定し、
前記決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する、
処理を実行させ、
前記決定する処理は、
前記階層毎に、前記状態でサービスを提供するアプリケーションのうち、前記利用数が最も多いアプリケーションの優先度を決定する、ことを特徴とする情報処理プログラム。
【請求項４】
コンピュータが、
前記コンピュータの位置が予め定義された特定の領域に入ったことを示す状態又は前記コンピュータが予め定義された特定の集合に分類されたことを示す状態に応じてサービスを提供するアプリケーションの優先度を、前記状態間の階層構造と前記アプリケーションの利用数とに基づいて決定し、
前記決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する、
処理を実行し、
前記決定する処理は、
前記階層毎に、前記状態でサービスを提供するアプリケーションのうち、前記利用数が最も多いアプリケーションの優先度を決定する、ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、及び情報処理方法に関する。
【背景技術】
【０００２】
アプリケーション等のプログラムにおいて、動作ログやアクセスログ等のログ情報を取得することが行われている。このとき、プログラム間の依存関係を利用して、ログ情報を取得するプログラムの優先度を決定する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−００３９５０号公報
【特許文献２】特開２００６−２７７１１５号公報
【特許文献３】特開２０１３−０４５３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、例えば、アプリケーションを用いて提供されるサービスにおいて、サービスの利用状況等を把握するためには、このサービスの提供に必要なアプリケーションのログ情報を取得する必要がある。しかしながら、上記の従来技術では、サービスの提供に必要なアプリケーションのログ情報を取得することができない場合があった。
【０００５】
すなわち、例えば、特定のアプリケーション間に依存関係がある場合であっても、サービスの提供に必要なアプリケーション間に依存関係が無い場合には、必要なアプリケーションのログ情報が取得されないことがあった。
【０００６】
一側面では、サービスの提供に必要なアプリケーションのログ情報を取得することを目的とする。
【課題を解決するための手段】
【０００７】
一態様によれば、情報処理装置であって、前記情報処理装置の位置が予め定義された特定の領域に入ったことを示す状態又は前記情報処理装置が予め定義された特定の集合に分類されたことを示す状態に応じてサービスを提供するアプリケーションの優先度を、前記状態間の階層構造と前記アプリケーションの利用数とに基づいて決定する決定部と、前記決定部により決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する制御部と、を有し、前記決定部は、前記階層毎に、前記状態でサービスを提供するアプリケーションのうち、前記利用数が最も多いアプリケーションの優先度を決定する、ことを特徴とする情報処理装置が提供される。
【発明の効果】
【０００８】
一側面によれば、サービスの提供に必要なアプリケーションのログ情報を取得することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態に係るアプリ配信システムのシステム構成の一例を示す図である。
【図２】優先度の決定の概要について説明する図である。
【図３】第一の実施形態に係るサーバ装置及び端末装置のハードウェア構成の一例を示す図である。
【図４】第一の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【図５】プレイス管理テーブルの一例を示す図である。
【図６】アプリ利用端末テーブルの一例を示す図である。
【図７】アプリ深度テーブルの一例を示す図である。
【図８】プレイスの深さについて説明する図である。
【図９】平均出力量テーブルの一例を示す図である。
【図１０】第一の実施形態に係るアプリ配信処理の一例を示すシーケンス図である。
【図１１】第一の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。
【図１２】アプリ優先度テーブルの一例を示す図である。
【図１３】ログ収集対象アプリリストの一例を示す図である。
【図１４】第一の実施形態に係るログ情報の保存処理の一例を示すシーケンス図である。
【図１５】ログ情報の閲覧画面の一例を示す図である。
【図１６】第二の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【図１７】第二の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。
【図１８】第二の実施形態に係るログ情報の保存処理の一例を示すシーケンス図である。
【図１９】第三の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【図２０】平均出力量テーブルの他の例を示す図である。
【図２１】第三の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。
【図２２】依存関係テーブルの一例を示す図である。
【図２３】ログ収集対象アプリリストの他の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。
【００１１】
［第一の実施形態］
まず、本実施形態に係るアプリ配信システム１のシステム構成について、図１を参照しながら説明する。図１は、第一の実施形態に係るアプリ配信システムのシステム構成の一例を示す図である。
【００１２】
本実施形態に係るアプリ配信システム１は、サーバ装置１０と、１以上の端末装置２０とを有する。また、サーバ装置１０と端末装置２０とは、例えば、インターネットや電話回線網等のネットワークＮを介して通信可能に接続されている。
【００１３】
サーバ装置１０は、端末装置２０にアプリケーション（以降では、「アプリ」とも表す。）を配信する情報処理装置である。サーバ装置１０は、端末装置２０がプレイスと呼ばれる特定の状態になったことを契機として、当該プレイスに応じたアプリを当該端末装置２０に配信する。
【００１４】
このように、本実施形態に係るサーバ装置１０は、プレイスに応じたアプリを配信することで、当該アプリにより実現されるサービスを端末装置２０に提供する。これにより、本実施形態に係るサーバ装置１０は、端末装置２０の特定の状態（プレイス）に応じたサービスを当該端末装置２０に提供することができる。
【００１５】
ここで、プレイスには、例えば、物理的に定義できる特定の場所（すなわち、特定のエリア）に入ったことを示す状態や、論理的に定義される特定の集合に分類されたことを示す状態等が挙げられる。
【００１６】
物理的に定義できる特定の場所に入ったことを示すプレイスとしては、例えば、学校の建物内に入ったことを示す「学校プレイス」や学校の理科室内に入ったことを示す「理科室プレイス」等が挙げられる。一方で、論理的に定義される特定の集合に分類されたことを示すプレイスとしては、例えば、理科の授業における実験グループのうち、「グループＡ」に分類されたことを示す「グループＡプレイス」等が挙げられる。なお、端末装置２０が特定の状態（プレイス）になること（すなわち、特定の場所に入ることや特定の集合に分類されること）を「チェックイン」とも称する。
【００１７】
なお、論理的に定義される特定の集合に分類されたことを示すプレイスとしては、これ以外にも、例えば、会社における特定の部署（例えば人事部）に分類されたことを示す「人事部プレイス」や特定のチーム（例えば採用チーム）に分類されたことを示す「採用チームプレイス」等が挙げられる。
【００１８】
また、サーバ装置１０は、端末装置２０に配信されたアプリ（すなわち、端末装置２０で利用されているアプリ）の動作ログやアクセスログ等のログ情報を収集する。このとき、サーバ装置１０は、プレイスに基づいて、ログ情報を収集するアプリの優先度を決定する。
【００１９】
このように、本実施形態に係るサーバ装置１０は、プレイスに基づく優先度に従ってログ情報の収集することで、サービスを構成するプレイス間の関連に応じたログ情報を取得することができる。
【００２０】
端末装置２０は、例えば、スマートフォンやタブレット端末等の利用者（ユーザ）が携帯可能な情報処理装置である。端末装置２０は、プレイスにチェックインすると、例えば、当該端末装置２０の位置情報等をサーバ装置１０に送信する。これにより、端末装置２０には、チェックインしたプレイスに応じたアプリがサーバ装置１０から配信される。
【００２１】
ここで、本実施形態に係るアプリ配信システム１において、プレイスに基づいて、ログ情報を収集するアプリの優先度が決定される場合の概要について、図２を参照しながら説明する。図２は、優先度の決定の概要について説明する図である。
【００２２】
図２では、端末装置２０が「学校プレイス」にチェックインした場合、当該端末装置２０には、サーバ装置１０により「出欠確認アプリ」が配信されることを示している。同様に、端末装置２０が「理科室プレイス」にチェックインした場合、当該端末装置２０には、サーバ装置１０により「理科教科書アプリ」が配信されることを示している。「グループＡプレイス」についても同様である。
【００２３】
ここで、図２に示すように、例えば、プレイス間に包含関係（親子関係）がある場合、包含されるプレイス（子プレイス）において配信されるアプリの優先度を、当該子プレイスを包含するプレイス（親プレイス）において配信されるアプリの優先度より高くする。すなわち、図２に示すように、「グループＡプレイス」（子プレイス）において配信される「グループ学習アプリ」優先度を、「理科室プレイス」（親プレイス）において配信される「理科教科書アプリ」の優先度よりも高くする。
【００２４】
同様に、「理科室プレイス」（子プレイス）で配信される「理科教科書アプリ」の優先度を、「学校プレイス」（親プレイス）で配信される「出欠確認アプリ」の優先度よりも高くする。
【００２５】
このように、本実施形態に係るアプリ配信システム１では、プレイス間に親子関係がある場合には、当該プレイス間の親子関係に応じて、プレイスにおいて配信されるアプリの優先度を決定する。これにより、本実施形態に係るアプリ配信システム１では、サービスを構成するプレイス間の関連に応じて、ログ情報を取得するアプリの優先度を決定することができる。
【００２６】
次に、本実施形態に係るサーバ装置１０及び端末装置２０のハードウェア構成について、図３を参照しながら説明する。図３は、第一の実施形態に係るサーバ装置及び端末装置のハードウェア構成の一例を示す図である。なお、サーバ装置１０及び端末装置２０は、同様のハードウェア構成を有しているため、以降では、主に、サーバ装置１０のハードウェア構成について説明する。
【００２７】
サーバ装置１０は、入力装置１１、表示装置１２、外部Ｉ／Ｆ１３、ＲＡＭ（Random  Access  Memory）１４、ＲＯＭ（Read  Only  Memory）１５、ＣＰＵ（Central  Processing  Unit）１６、通信Ｉ／Ｆ１７、及び記憶装置１８を備える。これらの各ハードウェアは、それぞれがバスＢで相互に接続されている。
【００２８】
入力装置１１は、キーボードやマウス、タッチパネル等であり、サーバ装置１０に各種の操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等であり、各種の処理結果を表示する。なお、サーバ装置１０は、入力装置１１及び／又は表示装置１２を必要なときにバスＢに接続して利用する形態であっても良い。
【００２９】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、サーバ装置１０は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。
【００３０】
なお、記録媒体１３ａには、例えば、ＳＤメモリカード(SD  memory  card）やＵＳＢメモリ、ＣＤ（Compact  Disk）、ＤＶＤ（Digital  Versatile  Disk）等がある。
【００３１】
ＲＡＭ１４は、プログラムやデータを一時保存する揮発性の半導体メモリである。ＲＯＭ１５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＣＰＵ１６は、例えば記憶装置１８やＲＯＭ１５等からプログラムやデータをＲＡＭ１４上に読み出して、各種処理を実行する演算装置である。
【００３２】
通信Ｉ／Ｆ１７は、サーバ装置１０をネットワークＮに接続するためのインタフェースである。これにより、サーバ装置１０は、端末装置２０と通信を行うことができる。
【００３３】
記憶装置１８は、プログラムやデータを格納している不揮発性のメモリである。記憶装置１８に格納されるプログラムやデータには、本実施形態を実現するプログラムや基本ソフトウェアであるＯＳ（Operating  System）、各種のアプリケーション等がある。
【００３４】
なお、端末装置２０は、当該端末装置２０の位置情報を取得するためのＧＰＳ（Global  Positioning  System）受信機等を有していても良い。
【００３５】
本実施形態に係るサーバ装置１０及び端末装置２０は、図３に示すハードウェア構成を有することにより、後述する各種処理が実現される。
【００３６】
次に、本実施形態に係るアプリ配信システム１の機能構成について、図４を参照しながら説明する。図４は、第一の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【００３７】
サーバ装置１０は、アプリ配信処理部１０１、アプリ決定処理部１０２、ログ保存処理部１０３、及び表示制御部１０４を有する。これら各機能部は、サーバ装置１０にインストールされた１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【００３８】
また、サーバ装置１０は、アプリ記憶部３０１、及びログ記憶部３０２を有する。これら各記憶部は、記憶装置１８を用いて実現可能である。なお、アプリ記憶部３０１及び／又はログ記憶部３０２は、サーバ装置１０とネットワークＮを介して接続される記憶装置等を用いて実現されても良い。
【００３９】
さらに、サーバ装置１０は、プレイス管理テーブル４０１、アプリ利用端末テーブル４０２、アプリ深度テーブル４０３、平均出力量テーブル４０４、アプリ優先度テーブル４０５、及びログ収集対象アプリリスト４０６を利用する。これら各テーブル及びリストは、例えば記憶装置１８等に記憶される。
【００４０】
アプリ配信処理部１０１は、端末装置２０から位置情報等を受信すると、プレイス管理テーブル４０１に基づいて、当該位置情報が含まれるプレイスに応じたアプリをアプリ記憶部３０１から取得する。そして、アプリ配信処理部１０１は、取得したアプリを当該端末装置２０に送信する。これにより、端末装置２０には、当該端末装置２０がチェックインしたプレイスに応じたアプリが配信（プッシュ配信）される。
【００４１】
また、アプリ配信処理部１０１は、端末装置２０にアプリを配信すると、当該端末装置２０を一意に識別する端末ＩＤを、当該アプリを一意に識別するアプリＩＤと関連付けてアプリ利用端末テーブル４０２に格納する。これにより、アプリを利用している端末装置２０（すなわち、アプリが配信された端末装置２０）が管理される。
【００４２】
ここで、プレイス管理テーブル４０１について、図５を参照しながら説明する。図５は、プレイス管理テーブルの一例を示す図である。
【００４３】
図５に示すプレイス管理テーブル４０１は、データの項目として、プレイスＩＤ、プレイス定義、親プレイスＩＤ、及びアプリＩＤを有する。プレイスＩＤは、プレイスを一意に識別する識別情報であり、例えば、プレイスに付与された名称（プレイス名）等である。
【００４４】
プレイス定義は、プレイスを示す特定の状態を定義するための情報であり、例えば、緯度及び経度の範囲で表される場所の情報である。したがって、プレイス定義が示す緯度及び経度の範囲で表される場所に端末装置２０が入ると、当該端末装置２０は、当該プレイス定義に対応付けられたプレイスＩＤのプレイスにチェックインする。
【００４５】
ただし、プレイス定義は、これに限られず、例えば、無線ＬＡＮ（Local  Area  Network）のアクセスポイントを識別する識別情報やＮＦＣ（Near  Field  Communication）タグに記録された識別情報等であっても良い。
【００４６】
なお、プレイス定義として無線ＬＡＮのアクセスポイントの識別情報を用いた場合、プレイスを示す特定の状態は、例えば、無線ＬＡＮのアクセスポイントから発信される電波を端末装置２０が受信可能な範囲内の場所に入ったことと定義することができる。また、プレイス定義としてＮＦＣタグに記録された識別情報を用いた場合、プレイスを示す特定の状態は、例えば、ＮＦＣタグが設置された場所（一部屋として区画された空間）に入ったことと定義することができる。
【００４７】
親プレイスＩＤは、プレイス間に親子関係がある場合における親プレイスのプレイスＩＤである。このように、プレイスＩＤに対して親プレイスＩＤが関連付けられることで、プレイスＩＤは木構造（ツリー構造又は階層構造とも称される。）を構成する。アプリＩＤは、アプリ記憶部３０１に記憶されたアプリを識別する識別情報である。
【００４８】
以上のように、プレイス管理テーブル４０１は、プレイス毎に、プレイス定義、親プレイス、及びアプリが関連付けられている。これにより、サーバ装置１０は、端末装置２０がプレイスにチェックインした場合、当該プレイスに応じたアプリを当該端末装置２０に配信することができる。例えば、「学校プレイス」に端末装置２０がチェックインした場合、サーバ装置１０は、当該「学校プレイス」に関連付けられた「出欠確認アプリ」を当該端末装置２０に配信することができる。
【００４９】
なお、図５に示すプレイス管理テーブル４０１において、プレイスＩＤ「音楽室プレイス」には、アプリＩＤ「音楽教科書アプリ」及び「演奏アプリ」が関連付けられている。このように、一のプレイスＩＤに対して、複数のアプリＩＤが関連付けられていても良い。
【００５０】
また、アプリ利用端末テーブル４０２について、図６を参照しながら説明する。図６は、アプリ利用端末テーブルの一例を示す図である。
【００５１】
図６に示すアプリ利用端末テーブル４０２は、データの項目として、アプリＩＤ、及び端末ＩＤを有する。アプリＩＤは、上述したように、アプリ記憶部３０１に記憶されたアプリを一意に識別する識別情報である。端末ＩＤは、上述したように、端末装置２０を一意に識別する識別情報である。
【００５２】
例えば、図６に示すアプリ利用端末テーブル４０２において、アプリＩＤ「出欠確認アプリ」には、端末ＩＤ「端末１」、「端末２」、「端末３」等が関連付けられている。
【００５３】
以上のように、アプリ利用端末テーブル４０２は、アプリ毎に、当該アプリを利用している端末装置２０が関連付けられている。これにより、サーバ装置１０は、アプリを利用している端末装置２０（すなわち、当該アプリが配信された端末装置２０）を管理することができる。
【００５４】
アプリ決定処理部１０２は、アプリ利用端末テーブル４０２、アプリ深度テーブル４０３、及び平均出力量テーブル４０４に基づいて、ログ情報を収集するアプリの優先度を管理するアプリ優先度テーブル４０５を作成する。そして、アプリ決定処理部１０２は、作成したアプリ優先度テーブル４０５に基づいて、ログ情報を収集する対象のアプリのリストであるログ収集対象アプリリスト４０６を作成する。
【００５５】
ここで、アプリ深度テーブル４０３について、図７を参照しながら説明する。図７は、アプリ深度テーブルの一例を示す図である。
【００５６】
図７に示すアプリ深度テーブル４０３は、データの項目として、アプリＩＤ、及びアプリ深度を有する。アプリＩＤは、上述したように、アプリ記憶部３０１に記憶されたアプリを一意に識別する識別情報である。アプリ深度は、プレイス管理テーブル４０１においてアプリＩＤに対応付けられたプレイスＩＤの木構造における深さである。
【００５７】
すなわち、図５に示すプレイス管理テーブル４０１で管理される各プレイスは、図８に示すような木構造を構成している。このとき、「学校プレイス」の深さは「１」である。同様に、「理科室プレイス」及び「音楽室プレイス」の深さは「２」である。また、同様に、「グループＡプレイス」、「グループＢプレイス」、及び「グループＣプレイス」の深さは「３」である。
【００５８】
したがって、プレイス管理テーブル４０１において「学校プレイス」に関連付けられている「出欠確認アプリ」のアプリ深度は「１」となる。同様に、「理科教科書アプリ」、「音楽教科書アプリ」、及び「演奏アプリ」のアプリ深度は「２」となる。また、同様に、「グループ学習アプリ」及び「グループ演奏アプリ」のアプリ深度は「３」となる。
【００５９】
以上のように、アプリ深度テーブル４０３は、アプリ毎に、当該アプリのアプリ深度が関連付けられている。これにより、サーバ装置１０は、アプリ深度の大きさ（深さ）に基づいて、アプリの優先度を決定することができる。
【００６０】
なお、プレイス管理テーブル４０１において、一のアプリＩＤに対して、複数のプレイスＩＤが関連付けられている場合、当該複数のプレイスＩＤの深さのうち、最大の深さを当該一のアプリＩＤのアプリ深度とすれば良い。
【００６１】
また、平均出力量テーブル４０４について、図９を参照しながら説明する。図９は、平均出力量テーブルの一例を示す図である。
【００６２】
図９に示す平均出力量テーブル４０４は、データの項目として、アプリＩＤ、及び平均ログ出力量を有する。アプリＩＤは、上述したように、アプリ記憶部３０１に記憶されたアプリを一意に識別する識別情報である。平均ログ出力量は、アプリが単位時間（例えば、１時間）毎に出力するログ情報の出力量である。
【００６３】
以上のように、平均出力量テーブル４０４は、アプリ毎に、当該アプリの平均ログ出力量が関連付けられている。これにより、サーバ装置１０は、優先度に応じてログ情報を収集する対象のアプリを決定することができる。
【００６４】
ここで、アプリ決定処理部１０２は、アプリＩＤ取得部１１１、テーブル作成部１１２、及びリスト作成部１１３を有する。
【００６５】
アプリＩＤ取得部１１１は、アプリ深度の深い順に、アプリ深度テーブル４０３からアプリＩＤを取得する。また、アプリＩＤ取得部１１１は、アプリ利用端末テーブル４０２を参照して、アプリ深度テーブル４０３から取得したアプリＩＤのうち、端末装置２０により最も利用されているアプリのアプリＩＤを取得する。
【００６６】
テーブル作成部１１２は、アプリ利用端末テーブル４０２を参照して、アプリＩＤ取得部１１１により取得されたアプリＩＤを、優先度と関連付けてアプリ優先度テーブル４０５に格納する。これにより、アプリ優先度テーブル４０５が作成される。なお、アプリ優先度テーブル４０５の詳細については後述する。
【００６７】
リスト作成部１１３は、テーブル作成部１１２により作成されたアプリ優先度テーブル４０５と、平均出力量テーブル４０４とに基づいて、ログ収集対象アプリリスト４０６を作成する。なお、ログ収集対象アプリリスト４０６の詳細については後述する。
【００６８】
ログ保存処理部１０３は、ログ収集対象アプリリスト４０６に基づいて、端末装置２０で利用されているアプリから出力されたログ情報をログ記憶部３０２に保存する。
【００６９】
ここで、ログ保存処理部１０３は、判定部１２１、及び保存部１２２を有する。判定部１２１は、ログ収集対象アプリリスト４０６を参照して、端末装置２０で利用されているアプリから出力されたログ情報が、ログ情報の収集対象のアプリから出力されたログ情報であるか否かを判定する。保存部１２２は、判定部１２１によりログ情報の収集対象のアプリから出力されたログ情報であると判定された場合、当該ログ情報をログ記憶部３０２に保存する。
【００７０】
表示制御部１０４は、ログ保存処理部１０３によりログ記憶部３０２に保存されたログ情報を、例えば表示装置１２に表示させる。
【００７１】
アプリ記憶部３０１は、端末装置２０に配信するアプリケーションを記憶する。アプリ記憶部３０１に記憶されたアプリには、上述したように、例えば、「出欠確認アプリ」や「理科教科書アプリ」、「音楽教科書アプリ」、「グループ学習アプリ」等の各種のアプリが含まれる。
【００７２】
ログ記憶部３０２は、ログ保存処理部１０３により保存された各種のアプリのログ情報を記憶する。なお、ログ記憶部３０２に記憶されたログ情報には、例えば、アプリの動作ログやアクセスログ、操作ログ等の各種のログ情報が含まれる。
【００７３】
端末装置２０は、情報送信部２０１、アプリ受信部２０２、及びログ送信部２０３を有する。これら各機能部は、端末装置２０にインストールされた１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【００７４】
情報送信部２０１は、端末装置２０がプレイスにチェックインすると、当該端末装置２０の位置情報等をサーバ装置１０に送信する。
【００７５】
アプリ受信部２０２は、端末装置２０がプレイスにチェックインしたことに応じてサーバ装置１０から配信されたアプリを受信する。これにより、端末装置２０には、サーバ装置１０から配信されたアプリケーション２０４がインストールされる。
【００７６】
なお、端末装置２０にインストールされたアプリケーション２０４は、例えば、端末装置２０がプレイスから出た場合（端末装置２０がプレイスから出ることは「チェックアウト」とも称される。）に、アンインストールされる。
【００７７】
ログ送信部２０３は、アプリケーション２０４から出力されたログ情報をサーバ装置１０に送信する。
【００７８】
次に、本実施形態に係るアプリ配信システム１の処理の詳細について説明する。まず、端末装置２０がプレイスにチェックインした場合に、当該プレイスに応じたアプリをサーバ装置１０から当該端末装置２０に配信する処理について、図１０を参照しながら説明する。図１０は、第一の実施形態に係るアプリ配信処理の一例を示すシーケンス図である。
【００７９】
端末装置２０の情報送信部２０１は、プレイスにチェックインすると、当該端末装置２０の端末ＩＤ及び位置情報をサーバ装置１０に送信する（ステップＳ１００１）。
【００８０】
ここで、情報送信部２０１は、例えば、ＧＰＳ受信機により取得した緯度及び経度情報を位置情報としてサーバ装置１０に送信すれば良い。ただし、これに限られず、情報送信部２０１は、端末装置２０が無線ＬＡＮのアクセスポイントから取得した情報（例えば、ビーコンＩＤ）や端末装置２０がＮＦＣタグから取得した情報（例えば、ＮＦＣタグに記録されたＩＤ）を位置情報として送信しても良い。
【００８１】
サーバ装置１０のアプリ配信処理部１０１は、端末装置２０から端末ＩＤ及び位置情報を受信すると、当該位置情報に応じたプレイスＩＤに関連付けられたアプリＩＤをプレイス管理テーブル４０１から取得する（ステップＳ１００２）。
【００８２】
すなわち、アプリ配信処理部１０１は、プレイス管理テーブル４０１において、端末装置２０から受信した位置情報をプレイス定義に含むプレイスＩＤを特定する。そして、アプリ配信処理部１０１は、当該プレイスＩＤに関連付けられたアプリＩＤをプレイス管理テーブル４０１から取得する。
【００８３】
次に、サーバ装置１０のアプリ配信処理部１０１は、端末装置２０から受信した端末ＩＤを、ステップＳ１００２で取得したアプリＩＤと関連付けてアプリ利用端末テーブル４０２に格納する（ステップＳ１００３）。
【００８４】
すなわち、アプリ配信処理部１０１は、アプリ利用端末テーブル４０２において、ステップＳ１００２で取得したアプリＩＤに対して、ステップＳ１００１で端末装置２０から受信した端末ＩＤを追加する。
【００８５】
次に、サーバ装置１０のアプリ配信処理部１０１は、ステップＳ１００２で取得したアプリＩＤのアプリをアプリ記憶部３０１から取得する（ステップＳ１００４）。
【００８６】
次に、サーバ装置１０のアプリ配信処理部１０１は、取得したアプリを端末装置２０に送信する（ステップＳ１００５）。
【００８７】
端末装置２０のアプリ受信部２０２は、サーバ装置１０からアプリを受信する（ステップＳ１００６）。これにより、端末装置２０には、サーバ装置１０から配信されたアプリがインストールされる。
【００８８】
そして、端末装置２０のアプリケーション２０４は、処理を実行する（ステップＳ１００７）。これにより、端末装置２０には、当該アプリケーション２０４により実現されるサービスが提供される。
【００８９】
以上のように、本実施形態に係るアプリ配信システム１では、端末装置２０がプレイスにチェックインすると、当該プレイスに応じたアプリケーションがサーバ装置１０から端末装置２０に配信される。これにより、本実施形態に係るアプリ配信システム１では、プレイスに関連するサービスを端末装置２０に提供することができる。
【００９０】
次に、端末装置２０にインストールされたアプリのうち、ログ情報の収集対象のアプリを決定する処理について、図１１を参照しながら説明する。図１１は、第一の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。
【００９１】
サーバ装置１０のアプリ決定処理部１０２は、アプリ深度を示す変数をＭとして、アプリ深度テーブル４０３に格納されているアプリ深度の最大値をＭに設定する。また、アプリ決定処理部１０２は、アプリの優先度をＮとして、１をＮに設定する（ステップＳ１１０１）。
【００９２】
すなわち、アプリ決定処理部１０２は、図７に示すアプリ深度テーブル４０３におけるアプリ深度の最大値「３」をアプリ深度Ｍに設定するとともに、「１」を優先度Ｎに設定する。
【００９３】
次に、サーバ装置１０のアプリＩＤ取得部１１１は、アプリ深度がＭであるアプリＩＤをアプリ深度テーブル４０３から取得する（ステップＳ１１０２）。
【００９４】
例えば、Ｍ＝３である場合、アプリＩＤ取得部１１１は、アプリＩＤ「グループ学習アプリ」及び「グループ演奏アプリ」を、図７に示すアプリ深度テーブル４０３から取得する。
【００９５】
同様に、例えば、Ｍ＝２である場合、アプリＩＤ取得部１１１は、アプリＩＤ「理科教科書アプリ」、「音楽教科書アプリ」、及び「演奏アプリ」を、図７に示すアプリ深度テーブル４０３から取得する。
【００９６】
次に、サーバ装置１０のアプリＩＤ取得部１１１は、アプリ利用端末テーブル４０２を参照して、アプリ深度テーブル４０３から取得したアプリＩＤのうち、最も利用端末数が多いアプリＩＤを取得する（ステップＳ１１０３）。
【００９７】
すなわち、アプリＩＤ取得部１１１は、アプリ深度テーブル４０３から取得したアプリＩＤのうち、アプリ利用端末テーブル４０２において関連付けられている端末ＩＤの数（すなわち、利用端末数）が最も多いアプリＩＤを取得する。
【００９８】
例えば、アプリ深度テーブル４０３からアプリＩＤ「グループ学習アプリ」及び「グループ演奏アプリ」を取得した場合、アプリＩＤ取得部１１１は、最も利用端末数が多いアプリＩＤ「グループ学習アプリ」を取得する。
【００９９】
同様に、例えば、アプリ深度テーブル４０３からアプリＩＤ「理科教科書アプリ」、「音楽教科書アプリ」、及び「演奏アプリ」を取得した場合、アプリＩＤ取得部１１１は、最も利用端末数が多いアプリＩＤ「理科教科書アプリ」を取得する。
【０１００】
次に、アプリ決定処理部１０２のテーブル作成部１１２は、アプリ利用端末テーブル４０２を参照して、ステップＳ１１０３で取得されたアプリＩＤの利用端末数が１以上であるか否かを判定する（ステップＳ１１０４）。
【０１０１】
ステップＳ１１０４において、利用端末数が１以上であると判定された場合、テーブル作成部１１２は、ステップＳ１１０３で取得したアプリＩＤを、優先度Ｎと関連付けてアプリ優先度テーブル４０５に追加する（ステップＳ１１０５）。
【０１０２】
一方、ステップＳ１１０４において、利用端末数が１以上でない（すなわち、利用端末数が０である）と判定された場合、アプリ決定処理部１０２は、ステップＳ１１０８に進む。すなわち、この場合、アプリ決定処理部１０２は、アプリ深度Ｍの値を１つ下げて（１つ浅くして）、ステップＳ１１０２以降の処理を実行する。
【０１０３】
サーバ装置１０のアプリ決定処理部１０２は、アプリ優先度テーブル４０５にアプリＩＤが追加されると、アプリの優先度を１つ下げる（ステップＳ１１０６）。すなわち、アプリ決定処理部１０２は、Ｎ＋１を優先度Ｎに設定する。
【０１０４】
次に、サーバ装置１０のアプリＩＤ取得部１１１は、アプリ深度テーブル４０３から取得したアプリＩＤに、次のアプリＩＤがあるか否かを判定する（ステップＳ１１０７）。すなわち、アプリＩＤ取得部１１１は、アプリ深度テーブル４０３から取得したアプリＩＤのうち、ステップＳ１１０３で取得していないアプリＩＤがあるか否かを判定する。
【０１０５】
ステップＳ１１０７において、次のアプリＩＤがないと判定された場合、アプリ決定処理部１０２は、アプリ深度Ｍが１より大きいか否かを判定する（ステップＳ１１０８）。
【０１０６】
一方、ステップＳ１１０７において、次のアプリＩＤがあると判定された場合、アプリＩＤ取得部１１１は、ステップＳ１１０３に戻る。すなわち、この場合、アプリＩＤ取得部１１１は、アプリ深度テーブル４０３から取得したアプリＩＤのうち、上記のステップＳ１１０３で取得したアプリＩＤの次に利用端末数が多いアプリＩＤを取得する。
【０１０７】
ステップＳ１１０８において、アプリ深度Ｍが１より大きい場合、アプリ決定処理部１０２は、アプリ深度Ｍの値を１減算する（ステップＳ１１０９）。すなわち、アプリ決定処理部１０２は、Ｍ−１をアプリ深度Ｍに設定する。これにより、アプリ決定処理部１０２は、アプリ深度が１つ浅いアプリがステップＳ１１０２で取得され、ステップＳ１１０２以降の処理が実行される。
【０１０８】
以上のステップＳ１１０１〜ステップＳ１１０９の処理が実行されることで、アプリ決定処理部１０２のテーブル作成部１１２により、例えば、図１２に示すアプリ優先度テーブル４０５が作成される。図１２は、アプリ優先度テーブルの一例を示す図である。
【０１０９】
図１２に示すアプリ優先度テーブル４０５は、データの項目として、優先度、及びアプリＩＤを有する。すなわち、アプリ優先度テーブル４０５は、優先度毎に、アプリＩＤが関連付けられている。ここで、図１２に示すアプリ優先度テーブル４０５では、優先度「１」のアプリＩＤ「グループ学習アプリ」が最も優先度が高く、優先度の値が高くなるに従って、当該優先度に関連付けられたアプリＩＤのアプリの優先度が低くなるものとする。
【０１１０】
図１１に戻る。ステップＳ１１０８において、アプリ深度Ｍが１以下（すなわち、アプリ深度が１）である場合、リスト作成部１１３は、アプリ優先度テーブル４０５と、平均出力量テーブル４０４とに基づいて、ログ収集対象アプリリスト４０６を作成する（ステップＳ１１１０）。
【０１１１】
ここで、リスト作成部１１３は、例えば、優先度に従って、アプリの平均ログ出力量の合計が予め定められた所定の閾値以内となるようにログ収集対象アプリリスト４０６を作成する。
【０１１２】
より具体的には、所定の閾値をＬとして、ａ５＋ａ２＋ａ３≦Ｌ、かつ、ａ５＋ａ２＋ａ３＋ａ１＞Ｌとなる場合、リスト作成部１１３は、「グループ学習アプリ」、「理科教科書アプリ」、及び「音楽教科書アプリ」を含むログ収集対象アプリリスト４０６を作成する。
【０１１３】
すなわち、リスト作成部１１３は、アプリＩＤの優先度が高い順に、当該アプリＩＤのアプリの平均ログ出力量を加算していく。そして、リスト作成部１１３は、当該加算結果が所定の閾値を超えない最大の値となった場合に、それまでに加算した平均ログ出力量に関連付けられたアプリＩＤを含むログ収集対象アプリリスト４０６を作成する。
【０１１４】
以上のようにして、リスト作成部１１３により、例えば、図１３に示すログ収集対象アプリリスト４０６が作成される。図１３は、ログ収集対象アプリリストの一例を示す図である。
【０１１５】
図１３に示すログ収集対象アプリリスト４０６は、データの項目として、アプリＩＤを有する。すなわち、ログ収集対象アプリリスト４０６は、ログ情報の収集対象であるアプリＩＤのリストである。したがって、後述するように、サーバ装置１０は、ログ収集対象アプリリスト４０６に含まれるアプリＩＤのアプリから出力されたログ情報をログ記憶部３０２に保存する。
【０１１６】
なお、以上で説明したログ収集対象のアプリリストの作成処理は、所定の時間（例えば、数時間〜数十時間毎）に実行されても良い。これにより、サーバ装置１０は、当該所定の時間毎にログ収集対象アプリリスト４０６を更新することができる。
【０１１７】
次に、端末装置２０にインストールされたアプリから出力されたログ情報をログ収集対象アプリリスト４０６に基づいて、サーバ装置１０に保存する処理について、図１４を参照しながら説明する。図１４は、第一の実施形態に係るログ情報の保存処理の一例を示すシーケンス図である。
【０１１８】
端末装置２０のアプリケーション２０４は、当該アプリケーション２０４の実行に応じて、例えば、動作ログやアクセスログ、操作ログ等のログ情報を作成する（ステップＳ１４０１）。なお、アプリケーション２０４の実行に応じて、当該アプリケーション２０４とは異なる他のプログラムによりログ情報が作成されても良い。
【０１１９】
次に、端末装置２０のログ送信部２０３は、アプリケーション２０４により作成されたログ情報をサーバ装置１０に送信する（ステップＳ１４０２）。
【０１２０】
サーバ装置１０のログ保存処理部１０３は、ログ情報を受信すると、判定部１２１により、ログ収集対象アプリリスト４０６に基づいて、当該ログ情報が収集対象であるか否かを判定する（ステップＳ１４０３）。
【０１２１】
すなわち、判定部１２１は、端末装置２０から受信したログ情報について、当該ログ情報を出力したアプリのアプリＩＤがログ収集対象アプリリスト４０６に含まれるか否かを判定する。
【０１２２】
ステップＳ１４０３において、ログ情報が収集対象であると判定された場合、ログ保存処理部１０３の保存部１２２は、端末装置２０から受信したログ情報をログ記憶部３０２に保存する（ステップＳ１４０４）。これにより、ログ情報の収集対象のアプリから出力されたログ情報が収集される。
【０１２３】
また、サーバ装置１０の表示制御部１０４は、ログ情報をログ記憶部３０２に保存すると、例えば、図１５に示すログ情報の閲覧画面１０００を表示装置１２等に表示させる（ステップＳ１４０５）。
【０１２４】
図１５に示すログ情報の閲覧画面１０００は、ログ記憶部３０２に保存されたログ情報を閲覧するための画面である。ログ情報の閲覧画面１０００には、ログ情報の閲覧対象のアプリを選択するためのアプリ一覧１００１と、端末装置２０毎にログ情報が表示されるログ表示欄１００２とが含まれる。このため、例えば、アプリ配信システム１の管理者等のユーザは、アプリ一覧１００１で選択したアプリのログ情報を、ログ表示欄１００２において端末装置２０毎に閲覧することができる。
【０１２５】
これにより、例えば、アプリ配信システム１の管理者等のユーザは、プレイスで提供されるサービスにて優先的に出力されたログ情報を閲覧することができる。したがって、本実施形態に係るアプリ配信システム１では、プレイスで提供されるサービスに必要とされるアプリケーションの利用状況や操作状況等を把握することができるようになる。
【０１２６】
なお、図１５に示すログ情報の閲覧画面１０００は、例えば、サーバ装置１０にネットワークＮを介して接続されるＰＣ等の情報処理装置の要求に応じて、当該情報処理装置に表示させても良い。
【０１２７】
一方、ステップＳ１４０３において、ログ情報が収集対象でないと判定された場合、ログ保存処理部１０３の保存部１２２は、端末装置２０から受信したログ情報を破棄する（ステップＳ１４０６）。このように、サーバ装置１０は、ログ情報の収集対象でないアプリから出力されたログ情報を破棄する。これにより、本実施形態に係るアプリ配信システム１では、ログ記憶部３０２に保存されるログ情報を削減することができる。
【０１２８】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、端末装置２０側でログ収集対象アプリリスト４０６に基づいて、ログ情報をサーバ装置１０に送信するか否かを判定するものである。これにより、第二の実施形態に係るアプリ配信システム１では、ネットワークＮの通信量を削減することができるようになる。
【０１２９】
なお、第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については第一の実施形態で用いて符号と同一の符号を付与し、その説明を省略する。
【０１３０】
まず、本実施形態に係るアプリ配信システム１の機能構成について、図１６を参照しながら説明する。図１６は、第二の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【０１３１】
サーバ装置１０は、アプリ決定処理部１０２Ａ、及びログ保存処理部１０３Ａを有する。アプリ決定処理部１０２Ａは、リスト作成部１１３により作成されたログ収集対象アプリリスト４０６を端末装置２０に送信する。また、ログ保存処理部１０３Ａは、判定部１２１を有しない点が第一の実施形態のログ保存処理部１０３と異なる。
【０１３２】
端末装置２０は、ログ送信部２０３Ａ、及び判定部２０５を有する。また、端末装置２０は、ログ収集対象アプリリスト４０６を利用する。ログ収集対象アプリリスト４０６は、例えば、記憶装置１８等に記憶される。
【０１３３】
判定部２０５は、サーバ装置１０から受信したログ収集対象アプリリスト４０６を参照して、アプリケーション２０４から出力されたログ情報が、ログ情報の収集対象のアプリから出力されたログ情報であるか否かを判定する。
【０１３４】
ログ送信部２０３Ａは、判定部２０５の判定結果に応じて、アプリケーション２０４から出力されたログ情報をサーバ装置１０に送信する。すなわち、ログ送信部２０３Ａは、アプリケーション２０４から出力されたログ情報が、ログ情報の収集対象のアプリから出力されたログ情報である場合、当該ログ情報をサーバ装置１０に送信する。
【０１３５】
次に、本実施形態に係るアプリ配信システム１の処理の詳細について説明する。まず、本実施形態に係るログ収集対象アプリリストの作成処理について、図１７を参照しながら説明する。図１７は、第二の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。なお、ステップＳ１１０１〜ステップＳ１１１０の処理は、第一の実施形態と同様であるため、その説明を省略する。
【０１３６】
サーバ装置１０のアプリ決定処理部１０２Ａは、リスト作成部１１３により作成されたログ収集対象アプリリスト４０６を端末装置２０に送信する（ステップＳ１７０１）。なお、アプリ決定処理部１０２Ａは、例えば、アプリ利用端末テーブル４０２を参照して、少なくとも一のアプリを利用している端末装置２０に対してログ収集対象アプリリスト４０６を送信すれば良い。
【０１３７】
次に、本実施形態に係るログ情報の保存処理について、図１８を参照しながら説明する。図１８は、第二の実施形態に係るログ情報の保存処理の一例を示すシーケンス図である。なお、ステップＳ１４０１及びステップＳ１４０５の処理は、第一の実施形態と同様であるため、その説明を省略する。
【０１３８】
端末装置２０の判定部２０５は、ログ収集対象アプリリスト４０６に基づいて、アプリケーション２０４により作成されたログ情報が収集対象であるか否かを判定する（ステップＳ１７０１）。
【０１３９】
すなわち、判定部２０５は、ログ情報を出力したアプリケーション２０４のアプリＩＤがログ収集対象アプリリスト４０６に含まれるか否かを判定する。
【０１４０】
ステップＳ１７０１において、ログ情報が収集対象であると判定された場合、ログ送信部２０３Ａは、アプリケーション２０４から出力されたログ情報をサーバ装置１０に送信する（ステップＳ１７０２）。
【０１４１】
サーバ装置１０のログ保存処理部１０３Ａは、端末装置２０からログ情報を受信すると、保存部１２２により、当該ログ情報をログ記憶部３０２に保存する（ステップＳ１７０３）。
【０１４２】
一方、ステップＳ１７０１において、ログ情報が収集対象でないと判定された場合、ログ送信部２０３Ａは、アプリケーション２０４から出力されたログ情報を破棄する（ステップＳ１７０４）。
【０１４３】
以上のように、本実施形態に係るアプリ配信システム１では、端末装置２０側でログ収集対象アプリリスト４０６に基づいて、ログ情報をサーバ装置１０に送信するか否かを判定する。これにより、本実施形態に係るアプリ配信システム１では、サーバ装置１０と端末装置２０との間の通信量を削減することができる。
【０１４４】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、ログ情報の収集対象のアプリと依存関係があるモジュールのログ情報も収集するものである。ここで、モジュールとは、サーバ装置１０上で動作し、所定の機能（例えば、アプリケーションサーバ機能やファイル共有機能等の各種機能）を提供するプログラムである。
【０１４５】
なお、第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については第一の実施形態で用いて符号と同一の符号を付与し、その説明を省略する。
【０１４６】
まず、本実施形態に係るアプリ配信システム１の機能構成について、図１９を参照しながら説明する。図１９は、第三の実施形態に係るアプリ配信システムの機能構成の一例を示す図である。
【０１４７】
サーバ装置１０は、アプリ決定処理部１０２Ｂを有する。アプリ決定処理部１０２Ｂは、依存関係解析部１１４、及びリスト作成部１１３Ａを有する点が第一の実施形態と異なる。
【０１４８】
また、サーバ装置１０は、モジュール記憶部３０３を有する。当該記憶部は、記憶装置１８を用いて実現可能である。なお、当該記憶部は、サーバ装置１０とネットワークＮを介して接続される記憶装置等を用いて実現されても良い。
【０１４９】
さらに、サーバ装置１０は、平均出力量テーブル４０４Ａ、ログ収集対象アプリリスト４０６Ａ、及び依存関係テーブル４０７を利用する。これらテーブル及びリストは、例えば記憶装置１８等に記憶される。
【０１５０】
依存関係解析部１１４は、アプリ記憶部３０１に記憶されるアプリと、モジュール記憶部３０３に記憶されるモジュールとの依存関係を解析し、依存関係テーブル４０７を作成する。ここで、アプリとモジュールとの間に依存関係がある場合とは、例えば、アプリがモジュールを呼び出す関係がある場合、又はアプリがモジュールに呼び出される関係がある場合等をいう。なお、依存関係テーブル４０７の詳細については後述する。
【０１５１】
リスト作成部１１３Ａは、アプリ優先度テーブル４０５と、平均出力量テーブル４０４Ａと、依存関係テーブル４０７とに基づいて、ログ収集対象アプリリスト４０６Ａを作成する。
【０１５２】
ここで、平均出力量テーブル４０４Ａについて、図２０を参照しながら説明する。図２０は、平均出力量テーブルの他の例を示す図である。
【０１５３】
図２０に示す平均出力量テーブル４０４Ａは、データの項目のとして、アプリＩＤの代わりに、アプリＩＤ（モジュールＩＤ）を有する。アプリＩＤ（モジュールＩＤ）は、アプリを一意に識別する識別情報又はモジュールを一意に識別する識別情報である。これにより、平均出力量テーブル４０４Ａでは、アプリ毎の平均ログ出力量に加えて、モジュール毎の平均ログ出力量が管理される。
【０１５４】
例えば、図２０に示す平均出力量テーブル４０４Ａでは、「モジュール１」、「モジュール２」、及び「モジュール３」に対して、それぞれ平均ログ出力量「ｂ１」、「ｂ２」、及び「ｂ３」が関連付けられている。
【０１５５】
モジュール記憶部３０３は、サーバ装置１０上で動作し、所定の機能を端末装置２０に提供するモジュールを記憶する。モジュール記憶部３０３に記憶されたモジュールには、例えば、アプリケーションサーバ機能を提供する「モジュール１」やファイル共有機能を提供する「モジュール２」等の各種のモジュールが含まれる。
【０１５６】
次に、本実施形態に係るアプリ配信システム１に処理の詳細について説明する。以降では、本実施形態に係るログ収集対象アプリリストの作成処理について、図２１を参照しながら説明する。図２１は、第三の実施形態に係るログ収集対象アプリリストの作成処理の一例を示すフローチャートである。なお、ステップＳ１１０１〜ステップＳ１１０９の処理は、第一の実施形態と同様であるため、その説明を省略する。
【０１５７】
ステップＳ１１０８において、アプリ深度Ｍが１以下である場合、依存関係解析部１１４は、アプリとモジュールとの依存関係を解析し、依存関係テーブル４０７を作成する（ステップＳ２１０１）。
【０１５８】
ここで、依存関係解析部１１４により作成される依存関係テーブル４０７について、図２２を参照しながら説明する。図２２は、依存関係テーブルの一例を示す図である。
【０１５９】
図２２に示す依存関係テーブル４０７は、データの項目として、アプリＩＤ、及び依存モジュールＩＤを有する。すなわち、依存関係テーブル４０７は、アプリＩＤ毎に、当該アプリＩＤのアプリと依存関係があるモジュールのモジュールＩＤが関連付けられている。
【０１６０】
例えば、アプリＩＤ「グループ学習アプリ」には、モジュールＩＤ「モジュール１」、及び「モジュール２」が関連付けられている。これにより、「グループ学習アプリ」と「モジュール１」とが依存関係があること、及び「グループ学習アプリ」と「モジュール２」とが依存関係があることが管理される。
【０１６１】
なお、図２２に示す依存関係テーブル４０７では、アプリＩＤに対して依存関係があるモジュールＩＤが関連付けられているが、これに限られず、アプリＩＤに対して依存関係がある他のアプリＩＤが関連付けられていても良い。これにより、アプリと依存関係がある他のアプリを管理することができる。
【０１６２】
また、例えば、ステップＳ１１０５で作成されたアプリ優先度テーブル４０５に格納されているアプリＩＤのアプリのうち、最も利用頻度が高いアプリと依存関係にあるモジュールのモジュールＩＤを依存関係テーブル４０７に格納しても良い。これにより、端末装置２０において利用頻度が高いアプリと依存関係があるモジュールを管理することができる。
【０１６３】
図２１に戻る。リスト作成部１１３Ａは、アプリ優先度テーブル４０５と、平均出力量テーブル４０４Ａと、依存関係テーブル４０７とに基づいて、ログ収集対象アプリリスト４０６Ａを作成する（ステップＳ２１０２）。
【０１６４】
ここで、リスト作成部１１３Ａは、例えば、優先度に従って、アプリの平均ログ出力量と、当該アプリに依存関係にあるモジュールの平均ログ出力量との合計が予め定められた所定の閾値以内となるようにログ収集対象アプリリスト４０６Ａを作成する。
【０１６５】
より具体的には、所定の閾値をＬとして、ａ５＋ｂ１＋ｂ２＋ａ２＋ｂ３≦Ｌ、かつ、ａ５＋ｂ１＋ｂ２＋ａ２＋ｂ３＋ａ３＞Ｌとなる場合、リスト作成部１１３Ａは、「グループ学習アプリ」、「モジュール１」、「モジュール２」、「理科教科書アプリ」、及び「モジュール３」を含むログ収集対象アプリリスト４０６Ａを作成する。
【０１６６】
すなわち、リスト作成部１１３Ａは、アプリＩＤの優先度が高い順に、当該アプリＩＤのアプリの平均ログ出力量及び当該アプリと依存関係にあるモジュールの平均ログ出力量を加算していく。そして、リスト作成部１１３Ａは、当該加算結果が所定の閾値を超えない最大の値となった場合に、それまでに加算した平均ログ出力量に関連付けられたアプリＩＤ及びモジュールＩＤを含むログ収集対象アプリリスト４０６Ａを作成する。
【０１６７】
以上のようにして、リスト作成部１１３Ａにより、例えば、図２３に示すログ収集対象アプリリスト４０６Ａが作成される。図２３は、ログ収集対象アプリリストの他の例を示す図である。
【０１６８】
図２３に示すログ収集対象アプリリスト４０６Ａは、データ項目として、アプリＩＤの代わりに、アプリＩＤ（モジュールＩＤ）を有する。すなわち、ログ収集対象アプリリスト４０６Ａは、ログ情報の収集対象であるアプリＩＤ及びモジュールＩＤのリストである。したがって、サーバ装置１０は、ログ収集対象アプリリスト４０６Ａに含まれるアプリＩＤのアプリと、ログ収集対象アプリリスト４０６Ａに含まれるモジュールＩＤのモジュールとから出力されたログ情報をログ記憶部３０２に記憶する。
【０１６９】
なお、ログ収集対象アプリリスト４０６Ａの作成方法は、これに限られない。リスト作成部１１３Ａは、例えば、次のようにしてログ収集対象アプリリスト４０６Ａを作成しても良い。
【０１７０】
すなわち、リスト作成部１１３Ａは、まず、第一の実施形態で説明した方法でログ収集対象アプリリスト４０６Ａを作成する。次に、リスト作成部１１３Ａは、ログ収集対象アプリリスト４０６Ａに含まれるアプリＩＤのアプリの平均ログ出力量の合計が所定の閾値以下である場合に、当該アプリＩＤのアプリと依存関係にあるモジュールの平均ログ出力量を当該合計に加算していく。そして、リスト作成部１１３Ａは、当該加算結果が所定の閾値を超えない最大の値となった場合に、それまでに加算した平均ログ出力量に関連付けられたモジュールＩＤをログ収集対象アプリリスト４０６Ａに追加する。
【０１７１】
以上のように、本実施形態に係るアプリ配信システム１では、アプリの優先度に従って、当該アプリと依存関係にあるモジュールのログ情報も収集する。これにより、本実施形態に係るアプリ配信システム１では、優先度が高いアプリと依存関係にあるモジュールの動作情報等を把握することができるようになる。
【０１７２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１７３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
所定の状態に応じたサービスを提供するアプリケーションの優先度を、前記所定の状態同士の関係情報に基づいて決定する決定部と、
前記決定部により決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する制御部と、
を有することを特徴とする情報処理装置。
（付記２）
前記制御部は、
さらに、前記アプリケーションとモジュールとの依存関係に基づいて、該アプリケーション及び前記モジュールのログ情報の保存を制御する、ことを特徴とする付記１に記載の情報処理装置。
（付記３）
前記所定の状態同士の関係情報は、該所定の状態が構成する階層構造における関係を示す情報である、ことを特徴とする付記１又は２に記載の情報処理装置。
（付記４）
所定の状態に応じたサービスを提供するアプリケーションの優先度を、前記所定の状態同士の関係情報に基づいて決定し、
前記決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
（付記５）
前記制御する処理は、
さらに、前記アプリケーションとモジュールとの依存関係に基づいて、該アプリケーション及び前記モジュールのログ情報の保存を制御する、ことを特徴とする付記４に記載の情報処理プログラム。
（付記６）
前記所定の状態同士の関係情報は、該所定の状態所が構成する階層構造における関係を示す情報である、ことを特徴とする付記４又は５に記載の情報処理プログラム。
（付記７）
所定の状態に応じたサービスを提供するアプリケーションの優先度を、前記所定の状態同士の関係情報に基づいて決定し、
前記決定された前記アプリケーションの優先度に基づいて、該アプリケーションのログ情報の保存を制御する、
処理をコンピュータが実行することを特徴とする情報処理方法。
（付記８）
前記制御する処理は、
さらに、前記アプリケーションとモジュールとの依存関係に基づいて、該アプリケーション及び前記モジュールのログ情報の保存を制御する、ことを特徴とする付記７に記載の情報処理方法。
（付記９）
前記所定の状態同士の関係情報は、該所定の状態が構成する階層構造における関係を示す情報である、ことを特徴とする付記７又は８に記載の情報処理方法。
【符号の説明】
【０１７４】
１        アプリ配信システム
１０      サーバ装置
２０      端末装置
１０１    アプリ配信処理部
１０２    アプリ決定処理部
１０３    ログ保存処理部
１０４    表示制御部
１１１    アプリＩＤ取得部
１１２    テーブル作成部
１１３    リスト作成部
１２１    判定部
１２２    保存部
２０１    情報送信部
２０２    アプリ受信部
２０３    ログ送信部
２０４    アプリケーション
３０１    アプリ記憶部
３０２    ログ記憶部
４０１    プレイス管理テーブル
４０２    アプリ利用端末テーブル
４０３    アプリ深度テーブル
４０４    平均出力量テーブル
４０５    アプリ優先度テーブル
４０６    ログ収集対象アプリリスト
【図１】
0006641936.tif 000002
【図２】
0006641936.tif 000003
【図３】
0006641936.tif 000004
【図４】
0006641936.tif 000005
【図５】
0006641936.tif 000006
【図６】
0006641936.tif 000007
【図７】
0006641936.tif 000008
【図８】
0006641936.tif 000009
【図９】
0006641936.tif 000010
【図１０】
0006641936.tif 000011
【図１１】
0006641936.tif 000012
【図１２】
0006641936.tif 000013
【図１３】
0006641936.tif 000014
【図１４】
0006641936.tif 000015
【図１５】
0006641936.tif 000016
【図１６】
0006641936.tif 000017
【図１７】
0006641936.tif 000018
【図１８】
0006641936.tif 000019
【図１９】
0006641936.tif 000020
【図２０】
0006641936.tif 000021
【図２１】
0006641936.tif 000022
【図２２】
0006641936.tif 000023
【図２３】
0006641936.tif 000024