(57)【要約】【課題】起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な情報処理装置を提供する。【解決手段】ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、を備える、情報処理装置が提供される。【選択図】図１
2016167039.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、
を備える、情報処理装置。
【請求項２】
前記制御部は、前記情報に基づいて、インストールした前記アプリケーションを自動起動させる、請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記アプリケーションがインストール済みである場合には前記アプリケーションをインストールすることなく、前記情報に基づいて前記アプリケーションを自動起動させる、請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、予め設定されているアプリケーションの自動インストール条件と前記情報とに基づいて、前記アプリケーションを自動的にインストールする、請求項１に記載の情報処理装置。
【請求項５】
前記制御部は、前記情報に基づいて、前記アプリケーションを自動的にアンインストールする、請求項１に記載の情報処理装置。
【請求項６】
前記制御部は、前記情報に基づいて、前記アプリケーションが作成したデータも含めて前記アプリケーションをアンインストールするかを判断する、請求項５に記載の情報処理装置。
【請求項７】
前記制御部は、前記アプリケーションのユーザ操作による起動回数が所定数以上となった場合に、前記アプリケーションの使用を継続するための権限を得るための処理を実行する、請求項１に記載の情報処理装置。
【請求項８】
前記制御部は、前記アプリケーションを起動する場合に、前記取得した情報に基づく自動起動の場合と、ユーザ操作に基づく起動との場合とで、前記アプリケーションによる動作を異ならせる、請求項１に記載の情報処理装置。
【請求項９】
前記通信部は、前記情報処理装置が所定の場所に存在する場合に、前記情報を取得する、請求項１に記載の情報処理装置。
【請求項１０】
前記情報は、前記プッシュ通知の緊急度を含み、
前記制御部は、前記緊急度に基づいて、前記アプリケーションを自動的にインストールする、請求項１に記載の情報処理装置。
【請求項１１】
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を含む、情報処理方法。
【請求項１２】
コンピュータに、
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を実行させる、コンピュータプログラム。
【請求項１３】
ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置。
【請求項１４】
前記サーバ装置は、前記情報に基づく複数の前記情報処理装置への前記アプリケーションの自動インストール数を管理する制御部を備える、請求項１３に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置に関する。
【背景技術】
【０００２】
ユーザが使用するパーソナルコンピュータやスマートフォン、ウェアラブル型情報処理装置等の装置（以下これらの装置を総称してデバイスという）が、サーバからネットワークを通じて能動的に情報を取得してユーザに通知するプッシュ通知という技術がある（例えば特許文献１など参照）。デバイスは、このプッシュ通知によって、例えばメールの着信をユーザに即座に通知したり、間近に行われるイベントをユーザに通知したりすることを可能にする。また、このプッシュ通知は、デバイスで起動されるアプリケーションを指定し、ユーザの操作に基づいて、そのアプリケーションをデバイスで起動させることも可能となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２２５２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、プッシュ通知によってアプリケーションを指定し、そのアプリケーションをデバイスで起動させるためには、そのアプリケーションがあらかじめデバイスにインストールされている必要がある。しかし、デバイスのユーザがあらかじめアプリケーションを探し出してインストールすることは、ユーザによっては負担になり、またプッシュ通知を送信するサービス提供者側にとっても、ユーザにアプリケーションをインストールしてもらうためにユーザへの告知やプロモーションの負担が発生する。【０００５】
そこで本開示では、起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置を提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、を備える、情報処理装置が提供される。【０００７】
また本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、を含む、情報処理方法が提供される。【０００８】
また本開示によれば、コンピュータに、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、を実行させる、コンピュータプログラムが提供される。【０００９】
また本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置が提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置を提供することが出来る。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態にかかる情報処理装置１００の機能構成例を示す説明図である。
【図２】本開示の一実施形態に係る情報処理装置１００のアプリケーションのダウンロード方法を示す説明図である。
【図３】本開示の一実施形態に係る情報処理装置１００のアプリケーションのダウンロード方法を示す説明図である。
【図４】本開示の一実施形態に係る情報処理装置１００の動作例を示す流れ図である。
【図５】本開示の一実施形態に係る情報処理装置１００の動作例を示す流れ図である。
【図６】本開示の一実施形態に係る情報処理装置１００の動作例を示す流れ図である。
【図７】ユーザインタフェースの例を示す説明図である。
【図８】ユーザインタフェースの例を示す説明図である。
【図９】ユーザインタフェースの例を示す説明図である。
【図１０】ユーザインタフェースの例を示す説明図である。
【図１１】ユーザインタフェースの例を示す説明図である。
【図１２】ユーザインタフェースの例を示す説明図である。
【図１３】本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【図１４】通知データの一例を示す説明図である。
【図１５】本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【図１６】通知データの一例を示す説明図である。
【図１７】通知データの一例を示す説明図である。
【図１８】本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【図１９】通知データの一例を示す説明図である。
【図２０】ハードウェア構成例を示す説明図である。
【図２１】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．本開示の一実施形態
１．１．背景
１．２．機能構成例
１．３．動作例
２．ハードウェア構成例
３．まとめ
【００１５】
＜１．本開示の一実施形態＞
［１．１．背景］
本開示の実施の形態について詳細に説明する前に、まず本開示の実施の形態の背景について説明する。
【００１６】
ユーザが使用するデバイス（パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブルデバイスなどの、ネットワークに接続する機能を有するデバイス全般を言うものとする）が、ネットワークを通じてサーバから能動的に情報を取得してユーザに通知するプッシュ通知という技術がある。デバイスは、このプッシュ通知によって、例えばメールの着信をユーザに即座に通知したり、間近に行われるイベントをユーザに通知したりすることを可能にする。また、このプッシュ通知は、デバイスで起動されるアプリケーションを指定し、ユーザの操作に基づいて、そのアプリケーションをデバイスで起動させることも可能となっている
【００１７】
プッシュ通知によってアプリケーションを指定し、そのアプリケーションをデバイスで起動させるためには、そのアプリケーションがあらかじめデバイスにインストールされている必要がある。しかし、デバイスのユーザがあらかじめアプリケーションを探し出してインストールすることは、ユーザによっては負担になり、またプッシュ通知を送信するサービス提供者側にとっても、ユーザにアプリケーションをインストールしてもらうためにユーザへの告知やプロモーションの負担が発生する。
【００１８】
アプリケーションの量は日々増加の一途を辿っている。ユーザがまだデバイスに保存していないアプリケーションの中に、プッシュ通知に応じて自動的に起動するアプリケーションが存在する場合もあり、そのようなアプリケーションをユーザが探し出すのは不慣れなユーザにとっては困難である。
【００１９】
ユーザにあらかじめアプリケーションをデバイスにインストールしてもらい、サーバからプッシュ通知を送信することでアプリケーションが自動的に起動出来るようになったとしても、情報処理装置に大量にプッシュ通知が届くと、その大量のプッシュ通知により多くのアプリケーションが自動的に起動する場合が考えられ、ユーザに混乱を招く恐れがある。
【００２０】
そこで本件開示者は、上述した背景に鑑みて、プッシュ通知の受信に応じて、アプリケーションがデバイスにインストールされているか否かに依らず、自動的にアプリケーションを起動することが出来る技術について鋭意検討を行った。その結果、本件開示者は、以下で説明するように、プッシュ通知の受信に応じて、アプリケーションがデバイスにインストールされているか否かに依らず、自動的にアプリケーションを起動することが出来る技術を考案するに至った。
【００２１】
以上、本開示の実施の形態の背景について説明した。続いて、本開示の実施の形態について詳細に説明する。
【００２２】
［１．２．機能構成例］
まず、本開示の一実施形態にかかる情報処理装置１００の機能構成例を説明する。図１は、本開示の一実施形態にかかる情報処理装置１００の機能構成例を示す説明図である。以下、図１を用いて本開示の一実施形態にかかる情報処理装置１００の機能構成例について説明する。
【００２３】
図１に示した情報処理装置１００は、例えば、スマートフォン（高機能携帯電話）、ウェアラブルデバイス（利用者の身体に装着されることを目的としたコンピュータデバイスをいう）などの装置である。
【００２４】
図１に示したように、本開示の一実施形態にかかる情報処理装置１００は、入力装置１１０と、通知処理部１２０と、アプリケーション選択部１３０と、記憶部１４０と、アプリケーション起動部１５０と、アプリケーション実行部１６０と、出力装置１７０と、を含んで構成される。
【００２５】
入力装置１１０は、ユーザからの入力を受け付ける各種インプットデバイスであり、例えばキーボード、マウス、タッチパネルなどで構成され得る。
【００２６】
また各種センシングデバイスも入力装置１１０として機能し得る。そのようなセンシングデバイスとして、例えばＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、ＧＬＯＮＡＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）、ＢＤＳ（ＢｅｉＤｏｕ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）、ｉＢｅａｃｏｎ等の現在位置を取得するセンサ、カメラ、深度情報付きカメラ、人感センサ、マイク等が含まれ得る。
【００２７】
このようなセンシングデバイスは、装置にかかる加速度や角速度、方位、照度、温度、気圧などを検出する。上記の各種センシングデバイスは、例えばセンシングデバイスを含む装置がユーザによって携帯または装着されている場合に、各種情報をユーザに関する情報、例えばユーザの運動や向きなどを示す情報として検出することができる。また、センシングデバイスは、他にも、脈拍、発汗、脳波、触覚、嗅覚、味覚など、ユーザの生体情報を検出するセンサを含んでもよい。
【００２８】
入力装置１１０は、ユーザから入力されたり、センシングによって生成されたりする情報をアプリケーション選択部１３０に出力する。
【００２９】
通知処理部１２０は、外部の通知サーバ１０から任意のタイミングで送信される、ユーザに対するプッシュ通知の有るアプリケーションの情報が記載される、通知データを受信する。通知処理部１２０は、外部の通知サーバ１０から送信される通知データを受信すると、受信した通知データを解析し、通知データに含まれる情報をアプリケーション選択部１３０に渡す。通知処理部１２０は、外部の通知サーバ１０から送信される通知データを解析して、通知の種類や対象のアプリケーションの内容によっては、通知データに含まれる情報をアプリケーション選択部１３０に渡さずにブロックしてもよい。通知処理部１２０は、本開示の情報処理装置の通信部の一例として機能しうる。
【００３０】
通知サーバ１０は、情報処理装置１００に通知データを送信するためのサービスを実行するサーバである。通知サーバ１０は、情報処理装置１００に通知データを送信するほか、情報処理装置１００から情報を収集してもよい。通知サーバ１０は、情報処理装置１００から、例えば情報処理装置１００の位置情報、ユーザの生体情報、ユーザによる情報処理装置１００の操作履歴などを収集しても良い。
【００３１】
通知サーバ１０は、通信部１１と、記憶部１２と、処理部１３と、を含んで構成される。
【００３２】
通信部１１は、他の装置との間でデータの通信を行う。例えば通信部１１は、情報処理装置１００へ通知データを送信し、また情報処理装置１００から上述したような情報を受信する。記憶部１２は、通知サーバ１０で用いられる情報や、通知サーバ１０を動作させるためのコンピュータプログラムなどを記憶する。
【００３３】
処理部１３は、通知サーバ１０の様々な機能を提供する。処理部１３は、取得部１４と、制御部１５と、を含む。なお、処理部１３は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、処理部１３は、これらの構成要素の動作以外の動作も行い得る。
【００３４】
取得部１４は、通知サーバ１０の動作のための情報や、他の装置から受信した情報を取得する。取得部１４は、通知サーバ１０の動作のための情報やコンピュータプログラムを記憶部１２から取得しうる。例えば取得部１４は、情報処理装置１００の位置情報、ユーザの生体情報、ユーザによる情報処理装置１００の操作履歴などを取得し、取得した情報を必要に応じて記憶部１２に記憶させる。
【００３５】
制御部１５は、通知サーバ１０の動作を制御する。制御部１５は、取得部１４が取得した情報に基づいて動作しうる。例えば制御部１５は、情報処理装置１００へ送信する通知データの生成や、生成した通知データを通信部１１から情報処理装置１００へ送信させる処理を実行する。
【００３６】
アプリケーション配信サーバ２０は、情報処理装置１００で動作するアプリケーションを管理し、情報処理装置１００からの要求に応じてアプリケーションを情報処理装置１００へ配信するサービスを実行するサーバである。アプリケーション配信サーバ２０は、情報処理装置１００からのアプリケーションの検索要求に応じて、検索条件に合致するアプリケーションの情報を情報処理装置１００へ提供しても良い。またアプリケーション配信サーバ２０は、アプリケーションの配信の際に、アプリケーションの使用権限を情報処理装置１００に与えるために、アプリケーションに課金を行っても良い。
【００３７】
アプリケーション配信サーバ２０は、通信部２１と、記憶部２２と、処理部２３と、を含んで構成される。
【００３８】
通信部２１は、他の装置との間でデータの通信を行う。例えば通信部２１は、情報処理装置１００へアプリケーションの実行データを送信する。また例えば通信部２１は、情報処理装置１００からのアプリケーションの検索要求を受信し、検索条件に合致するアプリケーションの情報を送信する。記憶部２２は、アプリケーション配信サーバ２０で用いられる情報や、アプリケーション配信サーバ２０を動作させるためのコンピュータプログラム、情報処理装置１００で実行されるアプリケーションの実行データなどを記憶する。
【００３９】
処理部２３は、アプリケーション配信サーバ２０の様々な機能を提供する。処理部２３は、取得部２４と、制御部２５と、を含む。なお、処理部２３は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、処理部２３は、これらの構成要素の動作以外の動作も行い得る。
【００４０】
取得部２４は、アプリケーション配信サーバ２０の動作のための情報や、他の装置から受信した情報を取得する。取得部２４は、アプリケーション配信サーバ２０の動作のための情報やコンピュータプログラムを記憶部２２から取得しうる。
【００４１】
制御部２５は、アプリケーション配信サーバ２０の動作を制御する。制御部２５は、取得部２４が取得した情報に基づいて動作しうる。例えば制御部２５は、情報処理装置１００からのアプリケーションの要求に応じて、アプリケーションの実行データを記憶部２２から取得して、アプリケーションの実行データを通信部２１から情報処理装置１００へ送信させる処理を実行する。また例えば、制御部２５は、アプリケーションを情報処理装置１００へ送信する際に、アプリケーションの使用権限を情報処理装置１００に与えるために、アプリケーションに対する課金処理を行っても良い。
【００４２】
外部サーバ３０は、情報処理装置１００が実行するアプリケーションとの間で情報の授受を行う外部サービスを提供するサーバである。外部サーバ３０は、外部サービスごとに設けられうる。外部サーバ３０は、通知サーバ１０と連携し、例えば通知サーバ１０に対して、情報処理装置１００に通知データを送信する契機となるトリガを送信する。
【００４３】
通知サーバ１０は、例えば外部サービスを実行する外部サーバ３０からの指示に基づいて情報処理装置１００に通知データを通信部１１から送信してもよく、外部サーバ３０からあらかじめ登録された通知条件を情報処理装置１００が満たした場合に情報処理装置１００に通知データを通信部１１から送信してもよい。
【００４４】
なお図１に示した構成例では、通知サーバ１０、アプリケーション配信サーバ２０、外部サーバ３０がそれぞれ別の装置であるよう図示されているが、本開示は係る例に限定されるものでは無い。例えば、通知サーバ１０及びアプリケーション配信サーバ２０をまとめて一つのサーバ装置としてもよい。通知サーバ１０及びアプリケーション配信サーバ２０をまとめて一つのサーバ装置とすると、そのサーバ装置が本開示のサーバ装置の一例として機能しうる。
【００４５】
外部の通知サーバ１０（例えば通信部１１）から送信される通知データには、前述した通り、ユーザに対するプッシュ通知の有るアプリケーションの情報が記載されており、例えば、送信元、通知の有効期限、通知のカテゴリ、通知の緊急度、起動するアプリケーションの情報、等が含まれうる。起動するアプリケーションの情報には、例えば、アプリケーションの名称、アプリケーションを一意に識別する識別子、対象の性別、対象の年齢、アプリケーションの入手先（ＵＲＬ、識別子など）、アプリケーションの有効期限、アプリケーションの完全削除判定フラグ（値がＴｒｕｅの場合、削除時にデータも含めて削除する）、アプリケーションのインストールオンリーフラグ（値がＴｒｕｅの場合、インストールだけを行う）、アプリケーションの起動条件（通知による起動のみ、ユーザ操作による起動可などを指定したもの）、アプリケーション固有の情報、等が含まれうる。通知データの構造については後に詳述する。
【００４６】
インストールオンリーフラグとは、アプリケーション選択部１３０がアプリケーション配信サーバ２０からアプリケーションをダウンロードしてインストールし、インストールしたアプリケーションを起動するか、インストールするまでに留めるかを判断するためのフラグである。インストールオンリーフラグの設定により、情報処理装置１００で実行されるアプリケーションは、アプリケーションをインストールするタイミングと起動するタイミングとを分けることが可能になる。アプリケーションをインストールするタイミングと起動するタイミングとを分けることが望ましい場合として考えられるのは、例えば。アプリケーションを実行する場所が、ネットワークの繋がりにくい場所であることが想定される場合や、アプリケーションのサイズが大きく、事前にＷｉ−Ｆｉ等でインストールしておくことが望ましい場合などである。
【００４７】
アプリケーション選択部１３０は、起動するアプリケーションを選択する。アプリケーション選択部１３０は、起動するアプリケーションを選択すると、その選択したアプリケーションの情報をアプリケーション起動部１５０に渡す。アプリケーション選択部１３０は、ユーザによって明示的にアプリケーションが選択されたか、外部の通知サーバ１０（例えば通信部１１）から送信されるデータに基づいてアプリケーションが選択されたか、によって、そのアプリケーションに対する動作を変更する。アプリケーション選択部１３０は、本開示の情報処理装置の制御部の一例として機能しうる。
【００４８】
ユーザが入力装置１１０を用いて明示的に起動するアプリケーションを選択した場合は、アプリケーション選択部１３０は、そのユーザの入力に基づいて、記憶部１４０に格納されているアプリケーションを選択する。一方、外部の通知サーバ１０からの通知に応じて自動的にアプリケーションを起動する場合は、アプリケーション選択部１３０は、通知処理部１２０から渡された情報に基づき、起動するアプリケーションを判定する。アプリケーション選択部１３０は、通知処理部１２０から渡された情報に基づき起動するアプリケーションを判定する場合は、そのアプリケーションは記憶部１４０に格納されているかどうかを判断する。起動するアプリケーションが記憶部１４０に格納されている場合は、アプリケーション選択部１３０は、その記憶部１４０に格納されているアプリケーションを選択する。一方、起動するアプリケーションが記憶部１４０に格納されていない場合は、アプリケーション選択部１３０は、外部のアプリケーション配信サーバ２０から当該アプリケーションをダウンロードして、ダウンロードしたアプリケーションを記憶部１４０に格納する（インストールする）。なおアプリケーション選択部１３０は、記憶部１４０に格納されているアプリケーションの削除（アンインストール）を行っても良い。
【００４９】
記憶部１４０は、アプリケーション起動部１５０によって起動されるアプリケーションが格納されるものであり、例えばフラッシュメモリ等の不揮発性メモリで構成され得る。記憶部１４０は、例えばアプリケーションの実体やアプリケーションの実行によって生成されたデータ、アプリケーションの格納場所の情報（例えばＵＲＬ等）を記憶する。記憶部１４０は、アプリケーション選択部１３０がダウンロードしたアプリケーションが保存される。記憶部１４０に保存された情報はアプリケーション選択部１３０やアプリケーション起動部１５０から参照される。また、記憶部１４０に記憶されたアプリケーションは、必要に応じて削除され得る。
【００５０】
アプリケーション起動部１５０は、本開示の制御部の一例であり、アプリケーション選択部１３０で選択されたアプリケーションを、記憶部１４０から読み出して起動する。またアプリケーション起動部１５０は、アプリケーションの終了時に、不要なデータの削除、アプリケーション起動の記録などの所定の終了処理を行う。またアプリケーション起動部１５０は、アプリケーションの起動時や終了時に、必要に応じて、アプリケーションの使用権限を獲得するために、アプリケーションに課された料金の支払い処理も行う。アプリケーション起動部１５０も、本開示の情報処理装置の制御部の一例として機能しうる。
【００５１】
アプリケーション起動部１５０は、アプリケーションの統計情報の取得及び管理を行う。アプリケーションの統計情報には、例えば、アプリケーションの起動や終了のタイミング、アプリケーションの起動時間などが含まれうる。そしてアプリケーション起動部１５０は、ユーザの操作、通知サービスからの通知、アプリケーションの統計情報等に基づき、アプリケーション選択部１３０に対してアプリケーションのアンインストールを指示してもよい。
【００５２】
アプリケーション実行部１６０は、アプリケーション起動部１５０がアプリケーションを起動した結果生じるユーザインタフェース（ＵＩ）、音声、画像等を、出力装置１７０を通じてユーザへ提示する。アプリケーション実行部１６０は、必要に応じて外部サーバ３０との間で通信を行って情報をやり取りする。
【００５３】
出力装置１７０は、アプリケーション実行部１６０によって提示されるＵＩ、音声、画像等をユーザへ提示するデバイスであり、例えばディスプレイ、スピーカ、バイブレータ等で構成される。出力装置１７０は、アプリケーション実行部１６０によって提示されるＵＩ、音声、画像等の他、通知処理部１２０が通知サーバ１０から受信した通知データに基づくＵＩ、音声、画像等もユーザへ提示する。
【００５４】
なお、図１に示した情報処理装置１００における入力装置１１０と、出力装置１７０とは、情報処理装置１００とは別の装置としてもよい。
【００５５】
本開示の一実施形態に係る情報処理装置１００は、図１に示したような構成を有することで、プッシュ通知の受信に応じて自動的に起動するアプリケーションが情報処理装置１００にインストールされているか否かに依らず、プッシュ通知の受信に応じて自動的にアプリケーションを起動することが出来る。
【００５６】
以上、図１を用いて本開示の一実施形態に係る情報処理装置１００の機能構成例について説明した。続いて、本開示の一実施形態に係る情報処理装置１００の動作例について説明する。
【００５７】
［１．３．動作例］
まず、本開示の一実施形態に係る情報処理装置１００のアプリケーションのダウンロード方法について説明する。図２及び図３は、本開示の一実施形態に係る情報処理装置１００のアプリケーションのダウンロード方法を示す説明図である。図２及び図３は、いずれも、通知サーバ１０からの通知データの受信に基づいてアプリケーション配信サーバ２０からアプリケーションをダウンロードする際の、アプリケーションのダウンロード方法を示したものである。
【００５８】
図２に示したのは、情報処理装置１００がアプリケーションのダウンロードの要求を創出する場合のアプリケーションのダウンロード方法を示す説明図である。通知サーバ１０が通知データを、例えば制御部１５から通信部１１を通じて送出すると（ステップＳ１１）、情報処理装置１００が通知データを受信する（ステップＳ１２）。
【００５９】
その通知データに応じて起動するアプリケーションがインストールされていなければ、情報処理装置１００は、そのアプリケーションのダウンロードの要求をアプリケーション配信サーバ２０へ送信する（ステップＳ１３）。アプリケーション配信サーバ２０は、情報処理装置１００からの要求に応じてアプリケーションを、例えば取得部２４が記憶部２２から取得し、制御部２５から通信部２１を通じて配信する。換言すれば、情報処理装置１００は、ダウンロードを要求したアプリケーションをアプリケーション配信サーバ２０からダウンロードする（ステップＳ１４）。そして、情報処理装置１００はアプリケーション配信サーバ２０からダウンロードしたアプリケーションをインストールする（ステップＳ１５）。
【００６０】
図３に示したのは、通知サーバ１０が提供する通知サービスと、アプリケーション配信サーバ２０が提供するアプリケーション配信サービスとが連携している場合のアプリケーションのダウンロード方法を示す説明図である。通知サービスとアプリケーション配信サービスとが連携している場合も、通知サーバ１０が通知データを送出すると（ステップＳ２１）、情報処理装置１００が通知データを受信する（ステップＳ２２）。
【００６１】
さらに通知サーバ１０は、通知データをアプリケーション配信サーバ２０へも送出する（ステップＳ２３）。アプリケーション配信サーバ２０は、通知サーバ１０から通知データを受信すると、その通知データによって情報処理装置１００で起動されるアプリケーションを、通知サーバ１０が通知データを送信した情報処理装置１００に対して配信する（ステップＳ２４）。従ってアプリケーション配信サーバ２０は情報処理装置１００へアプリケーションをプッシュ形式で配信する。
【００６２】
そして、情報処理装置１００はアプリケーション配信サーバ２０から送信されたアプリケーションをインストールする（ステップＳ２５）。
【００６３】
本実施形態に係る情報処理装置１００は、この２通りのアプリケーションのダウンロード方法のいずれかによって、通知サーバ１０からの通知データの受信に基づいてアプリケーション配信サーバ２０からアプリケーションをダウンロードする。
【００６４】
以上、図２及び図３を用いて本開示の一実施形態に係る情報処理装置１００のアプリケーションのダウンロード方法について説明した。続いて、本開示の一実施形態に係る情報処理装置１００の動作例について詳細に説明する。
【００６５】
図４及び図５は、本開示の一実施形態に係る情報処理装置１００の動作例を示す流れ図である。図４及び図５に示したのは、通知サーバ１０から通知データを受信して、通知データに基づいてアプリケーションを起動し、最終的にアプリケーションを削除する際の、情報処理装置１００の動作例である。なお、以下の説明では、通知サーバ１０（例えば通信部１１）が通知データを送信することを、単に、通知サーバ１０が通知するとも称し、情報処理装置１００（例えば通知処理部１２０）が通知サーバ１０から通知データを受信することを、単に、情報処理装置１００が通知を受信するとも称する。以下、図４及び図５を用いて本開示の一実施形態に係る情報処理装置１００の動作例について説明する。
【００６６】
情報処理装置１００は、通知サーバ１０からの通知を待っている状態で（ステップＳ１０１）、通知サーバ１０からの通知を受信する（ステップＳ１０２）。ステップＳ１０２の通知サーバ１０からの通知の受信は例えば通知処理部１２０が実行する。
【００６７】
情報処理装置１００は、上記ステップＳ１０２で通知サーバ１０からの通知を受信すると、その通知サーバ１０からの通知をフィルタリングする（ステップＳ１０３）。ステップＳ１０３の通知のフィルタリングは、例えば通知処理部１２０が実行してもよく、アプリケーション選択部１３０が実行しても良い。
【００６８】
ここで通知サーバ１０からの通知をフィルタリング処理について説明する。情報処理装置１００は、通知サーバ１０からの通知に基づいてアプリケーションを自動的に起動するが、すべての通知に反応してしまうと、通知を短時間で数多く受信したような場合に、ユーザによって必ずしも重要では無いアプリケーションまで自動的に起動することになりかねない。
【００６９】
そこで本実施形態では、情報処理装置１００は、通知サーバ１０からの通知をフィルタリングする機能を有していても良い。情報処理装置１００は、例えば、事前に設定されたフィルタ条件に基づき、ユーザによって価値が低いと判断される通知には反応せず、その通知を破棄するよう動作する。また情報処理装置１００は、通知サーバ１０からの通知をフィルタリングする他、通知をソーティングすることで、出力装置１７０に表示する通知を整理するよう動作する。
【００７０】
上記フィルタリングやソーティングの条件には、例えば、通知種別、アプリケーション情報、過去の通知に対するユーザのフィードバック、年齢や性別などのユーザのプロフィール、ユーザコンテキストなどが含まれうる。ユーザコンテキストには、ユーザの活動状況、センシングデータの解析により得られるユーザの行動、情報処理装置１００でのアプリケーションの起動状況などが含まれうる。
【００７１】
情報処理装置１００は、通知種別をフィルタリングの条件とする場合には、例えば緊急度が所定の閾値以下のものを破棄する、有効期限が所定の期日より後のものを破棄する、ユーザが登録しているサービスからの通知以外を破棄する、ユーザの興味のあるカテゴリの通知以外を破棄する、等のフィルタリングを行っても良い。
【００７２】
情報処理装置１００は、通知種別をソーティングの条件とする場合には、例えば緊急度が高いものからソートする、有効期限が短いものからソートする、ユーザが登録しているサービスからソートする、ユーザの興味のあるカテゴリからソートする、等のソーティングを行っても良い。
【００７３】
情報処理装置１００は、アプリケーション情報をフィルタリングの条件とする場合には、例えばアプリケーションのレーティング（他のユーザによるアプリケーションの評価を数値化したものをいう）が所定の閾値以下のものを破棄する、開発元が所定の条件に合致しないものを破棄する、アプリケーションの評価結果が所定の閾値以下のものを破棄する、アプリケーションの言語が所定の条件に合致しないものを破棄する、アプリケーションに必要なパーミッションが所定の条件に合致しないものを破棄する、等のフィルタリングを行っても良い。アプリケーションに必要なパーミッションには、例えばアプリケーションがネットワーク接続を必要とするか、アプリケーションがデバイスへのアクセスを必要とするか、などがある。
【００７４】
情報処理装置１００は、アプリケーション情報をソーティングの条件とする場合には、例えばアプリケーションのレーティングが高いものからソートする、開発元が所定の条件に合致するものからソートする、アプリケーションの評価結果が高いものからソートする、アプリケーションの言語が所定の条件に合致するものからソートする、アプリケーションに必要なパーミッションが所定の条件に合致するものからソートする、等のソーティングを行っても良い。
【００７５】
情報処理装置１００は、上述のフィルタリングの条件に基づき、ユーザへの提示が不要と思われる通知を自動的に削除しても良い。情報処理装置１００は、ユーザへの提示が不要と思われる通知は出力装置１７０に表示せず、またその通知によって起動されるアプリケーションがインストールされていない場合、アプリケーション配信サーバ２０からのそのアプリケーションのダウンロードも行わない。
【００７６】
フィルタリングやソーティングの条件は、ユーザによって予め情報処理装置１００に設定されてもよく、情報処理装置１００の学習によって適宜変更されても良い。例えば、ユーザが特定のジャンルのアプリケーションを頻繁に使用していることがアプリケーションの起動履歴から把握できれば、情報処理装置１００は、そのジャンルのアプリケーションに対する通知は削除せず、そのジャンルとは異なる、またそのジャンルと相性が悪いジャンルのアプリケーションに対する通知を削除してもよい。同じような機能を有する複数のアプリケーションや、同じようなジャンルに属するアプリケーションが情報処理装置１００に複数存在していても、情報処理装置１００のユーザは、それらのアプリケーションの中の１つのアプリケーションだけ必要とする可能性が高い。そしてユーザが必要としないアプリケーションは利用されない可能性が高い。従って、そのような同じような機能を有する複数のアプリケーションや、同じようなジャンルに属するアプリケーション同士は、相性が悪いとしてもよい。例えば、アプリケーション間で相性が悪いとは、以下のような場合が考えられる。
【００７７】
・同一カテゴリ（ジャンル）のアプリケーションの組み合わせ
例えば、同じスポーツのカテゴリに属する野球アプリケーションとサッカーアプリケーションとは、相性が悪い。
・同一機能を持つアプリケーションの組み合わせ
例えば、現在位置のナビゲーション機能を有するランニングアプリケーションと地図アプリケーションとは、相性が悪い。
・言語の違い
例えば、日本語で作成されたアプリケーションと英語で作成されたアプリケーションとは、相性が悪い。
【００７８】
情報処理装置１００は、上記ステップＳ１０３で通知をフィルタリングすると、続いて、ステップＳ１０３のフィルタリングによって削除されなかった通知によって起動されるアプリケーションが、自動的に起動することが可能なアプリケーションであるかどうか判断する（ステップＳ１０４）。このステップＳ１０４の判断は、例えばアプリケーション選択部１３０が実行する。
【００７９】
ステップＳ１０４の判断の結果、自動的に起動することが可能なアプリケーションで無い場合は（ステップＳ１０４、Ｎｏ）、情報処理装置１００は、ユーザに対してアプリケーションを起動するよう指示する（ステップＳ１０５）。ステップＳ１０５の指示は、例えば出力装置１７０に文字、画像、音声、バイブレーションなどの形態で出力される。情報処理装置１００は、ステップＳ１０４の判断の結果、自動的に起動することが可能なアプリケーションであった場合（ステップＳ１０４、Ｙｅｓ）、または、ステップＳ１０５でユーザに対してアプリケーションを起動するよう指示し、ユーザがその指示に対してアプリケーションの起動を選択した場合（ステップＳ１０５）、続いて、そのアプリケーションが情報処理装置１００にインストールされているかどうか判断する（ステップＳ１０６）。ステップＳ１０６の判断は、例えばアプリケーション選択部１３０が実行する。
【００８０】
上記ステップＳ１０６の判断の結果、そのアプリケーションが情報処理装置１００にインストールされている場合は（ステップＳ１０６、Ｙｅｓ）、情報処理装置１００は、そのアプリケーションを起動する（ステップＳ１０７）。ステップＳ１０７の起動処理は、例えばアプリケーション起動部１５０が実行する。情報処理装置１００は、ステップＳ１０７でアプリケーションを起動すると、そのアプリケーションを実行する（ステップＳ１０８）。ステップＳ１０８の実行処理は、例えばアプリケーション実行部１６０が実行する。
【００８１】
ユーザは、ステップＳ１０８で実行されたアプリケーションを、入力装置１１０を用いて操作することが出来る。そして、ステップＳ１０８で実行されたアプリケーションを終了する操作をユーザが入力装置１１０を用いて行うと、情報処理装置１００は、アプリケーションの終了処理を行い（ステップＳ１０９）、さらに必要に応じて、終了されたアプリケーションの削除処理を行う（ステップＳ１１０）。ステップＳ１０９の終了処理は例えばアプリケーション実行部１６０が実行し、ステップＳ１１０の削除処理は例えばアプリケーション起動部１５０が実行する。
【００８２】
一方、上記ステップＳ１０６の判断の結果、そのアプリケーションが情報処理装置１００にインストールされていない場合は（ステップＳ１０６、Ｎｏ）、情報処理装置１００は、そのアプリケーションをインストールするための十分な空き容量が記憶部１４０に存在するかどうか判断する（ステップＳ１１１）。ステップＳ１１１の判断は例えばアプリケーション選択部１３０が実行する。アプリケーションをインストールするための十分な空き容量があるとは、例えば、アプリケーションの実体を格納できるだけの空き容量があることを言ってもよく、また例えば、アプリケーションの実体だけでなく、アプリケーションの実行によって生成されるデータを格納できるだけの空き容量があることをいう。
【００８３】
ステップＳ１１１の判断の結果、そのアプリケーションをインストールするための十分な空き容量が記憶部１４０に存在しない場合は（ステップＳ１１１、Ｎｏ）、情報処理装置１００は、記憶部１４０に格納されている他のアプリケーションの中から、所定の削除条件を満たすアプリケーションを削除する（ステップＳ１１２）。ステップＳ１１２の削除処理は例えばアプリケーション選択部１３０が実行する。アプリケーションの削除処理については後に詳述する。
【００８４】
ステップＳ１１２の削除処理を実行すると、再び情報処理装置１００はステップＳ１１１の判断処理に戻り、通知に基づいて起動されるアプリケーションをインストールするための十分な空き容量が記憶部１４０に確保出来るまで削除処理を繰り返す。
【００８５】
一方、ステップＳ１１１の判断の結果、そのアプリケーションをインストールするための十分な空き容量が記憶部１４０に存在している場合は（ステップＳ１１１、Ｙｅｓ）、情報処理装置１００は、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションであるかどうかを判断する（ステップＳ１１３）。ステップＳ１１３の判断は例えばアプリケーション選択部１３０が実行する。
【００８６】
ステップＳ１１３の判断の結果、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションであれば（ステップＳ１１３、Ｙｅｓ）、情報処理装置１００は、そのアプリケーションをアプリケーション配信サーバ２０からダウンロードし（ステップＳ１１４）、ダウンロードしたアプリケーションをインストールする（ステップＳ１１５）。ステップＳ１１４及びＳ１１５の処理は例えばアプリケーション選択部１３０が実行する。情報処理装置１００は、ステップＳ１１５のアプリケーションのインストール処理が完了すると、図４のステップＳ１０７のアプリケーション起動処理に移行する。
【００８７】
一方、ステップＳ１１３の判断の結果、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションでなければ（ステップＳ１１３、Ｎｏ）、情報処理装置１００は、そのアプリケーションをアプリケーション配信サーバ２０からダウンロードしてインストールしても良いかどうかユーザに確認する処理を行う（ステップＳ１１６）。ステップＳ１１６の確認処理は、例えばアプリケーション選択部１３０が実行する。情報処理装置１００は、この確認を、例えば所定のユーザインタフェースを出力装置１７０のディスプレイに出力することによって行ってもよく、所定の音声を出力装置１７０のスピーカから出力することによって行ってもよい。
【００８８】
続いて情報処理装置１００は、アプリケーションのインストールをユーザが許可したかどうかを判断する（ステップＳ１１７）。ステップＳ１１７の判断は例えばアプリケーション選択部１３０が実行する。
【００８９】
ステップＳ１１７の判断の結果、アプリケーションのインストールをユーザが許可していれば（ステップＳ１１７、Ｙｅｓ）、続いて情報処理装置１００は、そのアプリケーションをアプリケーション配信サーバ２０からダウンロードし（ステップＳ１１４）、ダウンロードしたアプリケーションをインストールする（ステップＳ１１５）。一方ステップＳ１１７の判断の結果、アプリケーションのインストールをユーザが許可しなければ（ステップＳ１１７、Ｎｏ）、続いて情報処理装置１００は、アプリケーションのダウンロードは行わず、一連の処理を終了する。
【００９０】
本開示の一実施形態に係る情報処理装置１００は、図４及び図５に示した一連の処理を実行することで、通知サーバ１０からの通知の受信に応じて、その通知によって起動されるアプリケーションがインストールされていればそのアプリケーションを起動することができる。本開示の一実施形態に係る情報処理装置１００は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からアプリケーションをダウンロードし、ダウンロードしたアプリケーションをインストールして、インストールしたアプリケーションを起動することが出来る。
【００９１】
なお、上述のインストールオンリーフラグがＴｒｕｅに設定されているアプリケーションをアプリケーション配信サーバ２０からダウンロードした場合は、情報処理装置１００は、アプリケーションのインストールまでに留め、そのインストールしたアプリケーションの起動は行わない。
【００９２】
以上、図４及び図５を用いて本開示の一実施形態に係る情報処理装置１００の動作例について説明した。
【００９３】
上述したように、本開示の一実施形態に係る情報処理装置１００は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし場合によっては、ダウンロードしたアプリケーションをインストール出来るだけの容量が記憶部１４０に確保出来ていないことが想定される。
【００９４】
そこで本開示の一実施形態に係る情報処理装置１００は、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部１４０から削除するようにしてもよい。
【００９５】
図６は、本開示の一実施形態に係る情報処理装置１００の動作例を示す流れ図である。図６に示したのは、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部１４０から削除する際の、本開示の一実施形態に係る情報処理装置１００の動作例である。以下、図６を用いて本開示の一実施形態に係る情報処理装置１００の動作例について説明する。
【００９６】
アプリケーションを削除する際、まず情報処理装置１００は、アプリケーション配信サーバ２０から自動的にダウンロードしたアプリケーションの中で、動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしていて削除が可能なアプリケーションを記憶部１４０から検索する（ステップＳ１２１）。ステップＳ１２１の処理は、例えばアプリケーション選択部１３０が実行する。
【００９７】
ステップＳ１２１の検索処理を実行すると、続いて情報処理装置１００は、検索の結果、削除が可能なアプリケーションがあるかどうか判定する（ステップＳ１２２）。ステップＳ１２２の判定処理は、例えばアプリケーション選択部１３０が実行する。
【００９８】
ステップＳ１２２の判定の結果、削除が可能なアプリケーションが無ければ（ステップＳ１２２、Ｎｏ）、情報処理装置１００はアプリケーションを削除せずに処理を終了する。一方ステップＳ１２２の判定の結果、削除が可能なアプリケーションがあれば（ステップＳ１２２、Ｙｅｓ）、情報処理装置１００は、続いてその削除が可能なアプリケーションは、完全に削除（アプリケーションが生成したデータを含めて全てのデータを削除することをいう）しても復元が可能かどうか判定する（ステップＳ１２３）。ステップＳ１２３の判定処理は、例えばアプリケーション選択部１３０が実行する。
【００９９】
ステップＳ１２３の判定の結果、完全に削除しても復元が可能なアプリケーションであれば（ステップＳ１２３、Ｙｅｓ）、続いて情報処理装置１００は、そのアプリケーションがユーザの設定によって完全に削除する設定となっているかどうか判定する（ステップＳ１２４）。ステップＳ１２４の判定処理は、例えばアプリケーション選択部１３０が実行する。
【０１００】
ステップＳ１２４の判定の結果、ユーザの設定によって完全に削除する設定となっていれば（ステップＳ１２４、Ｙｅｓ）、情報処理装置１００は、そのアプリケーションを記憶部１４０から完全に削除する（ステップＳ１２５）。ステップＳ１２５の削除処理は、例えばアプリケーション選択部１３０が実行する。なお、ステップＳ１２３の判定の結果、完全に削除すると復元が可能なアプリケーションでない場合も（ステップＳ１２３、Ｎｏ）、情報処理装置１００は、そのアプリケーションを記憶部１４０から完全に削除する（ステップＳ１２５）。一方、ステップＳ１２４の判定の結果、ユーザの設定によって完全に削除する設定となっていなければ（ステップＳ１２４、Ｎｏ）、情報処理装置１００は、そのアプリケーションの復元に必要なデータを残し、実行データだけを記憶部１４０から削除する（ステップＳ１２６）。
【０１０１】
情報処理装置１００は、アプリケーション配信サーバ２０から自動でダウンロードしたアプリケーションを自動で削除すると、その削除したアプリケーションについての情報をアプリケーション配信サーバ２０に送信しても良い。アプリケーション配信サーバ２０は、どの情報処理装置１００でどのようなアプリケーションが自動でダウンロードされたかの情報を記憶部２２に記憶させることで、どの情報処理装置１００でどのようなアプリケーションが自動でダウンロードされたかを、例えば制御部２５で把握できるとともに、どの自動でダウンロードされたアプリケーションが削除されたかも、例えば制御部２５で把握することができる。
【０１０２】
削除条件には様々なものが考えられる。例えば、アプリケーションの有効期限が過ぎているもの、ユーザから削除しても良いとフィードバックがあったもの、ユーザの利用状況から削除しても良いと判定されたもの等が削除条件として考えられる。ユーザの利用状況を削除条件とする場合は、ユーザの利用頻度から頻繁に利用されていないと判定されたもの、ユーザの最終利用日時から長期間利用されていないと判定されたもの、現在のネットワーク帯域では使用することが難しいと判定されたもの、などを削除対象としてもよい。
【０１０３】
情報処理装置１００は、ユーザの確認無しに、自動的にダウンロードしたアプリケーションであって、所定の削除条件を満たしたアプリケーションを削除するようにしてもよく、削除前にユーザに確認するようにしてもよい。また情報処理装置１００は、ユーザがアプリケーションを削除しないことを希望する設定をしていた場合、所定の削除条件を満たしたアプリケーションであっても削除しないようにしてもよい。
【０１０４】
図７〜図９は、アプリケーションの自動削除の設定をユーザに行わせるために、情報処理装置１００がユーザに向けて提示するユーザインタフェースの例を示す説明図である。図７〜図９に示すユーザインタフェースは、例えば出力装置１７０のディスプレイに表示される。
【０１０５】
図７に示したのは、アプリケーションに関する設定（アプリケーション設定）の一覧を提示するユーザインタフェースの例を示す説明図である。ユーザが「アプリ削除設定」を選択すると、情報処理装置１００は、アプリケーションの削除に関する設定の一覧を提示するユーザインタフェースに移行する。
【０１０６】
図８に示したのは、アプリケーションの削除に関する設定の一覧を提示するユーザインタフェースの例を示す説明図である。図８には、インストールされたアプリケーションのそれぞれに対する削除設定が表示されたユーザインタフェースが表示されたユーザインタフェースの例が示されている。ユーザがアプリケーションの名前（例えば「○○クーポン」）が表示された枠を選択すると、情報処理装置１００は、そのアプリケーションの削除設定を設定させるユーザインタフェースに移行する。
【０１０７】
図９に示したのは、個別のアプリケーションの削除設定をユーザに設定させるユーザインタフェースの例を示す説明図である。図９では、アプリケーションの削除設定として「完全削除」「データ保持」「削除しない」「確認する」の４つが表示されたユーザインタフェースの例が示されている。ユーザが「完全削除」を選択すると、そのアプリケーションは、削除時にアプリケーションが生成したデータを含めて全てのデータが削除される。ユーザが「データ保持」を選択すると、そのアプリケーションは、削除時にアプリケーションが生成したデータを含めて全てのデータが削除される。そのアプリケーションは、削除時にアプリケーションが生成したデータを残して削除される。ユーザが「データ保持」を選択すると、そのアプリケーションは、削除条件を満たしていても自動的には削除されない。ユーザが「確認する」を選択すると、そのアプリケーションは削除時にユーザに確認を取って、ユーザが削除を許可すれば削除される。
【０１０８】
情報処理装置１００は、記憶部１４０の記憶容量が所定値以下になった時点で削除処理を実行するようにしてもよく、定期的に削除処理を実行するようにしてもよく、ユーザからの指示により削除処理を実行するようにしてもよい。
【０１０９】
本開示の一実施形態に係る情報処理装置１００は、図６に示した一連の処理を実行することで、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部１４０から削除することができる。本開示の一実施形態に係る情報処理装置１００は、アプリケーションを記憶部１４０から削除する際に、ユーザの設定に応じてどのデータを削除するかを判断して、アプリケーションの適切な削除が可能である。
【０１１０】
上述したように、本開示の一実施形態に係る情報処理装置１００は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし、すべての通知に反応してアプリケーションがインストールされてしまうと、記憶部１４０の空き容量が少なくなっていったり、ユーザがどのアプリケーションがインストールされているのか把握できなかったりする。
【０１１１】
そこで本開示の一実施形態に係る情報処理装置１００は、アプリケーションを自動でダウンロードしてインストールするかどうかを、通知の内容やアプリケーションの情報、ユーザの設定などに基づいて判断しても良い。
【０１１２】
例えば、緊急度が高いとして送信された通知を受信した場合は、情報処理装置１００は、アプリケーションを自動でダウンロードしてインストールし、緊急度が高くないとして送信された通知を受信した場合は、情報処理装置１００は、アプリケーションを自動でダウンロードしてインストールする前にユーザに確認するようにしてもよい。
【０１１３】
また例えば、ユーザが予め登録したサービスからの通知を受信した場合は、情報処理装置１００は、アプリケーションを自動でダウンロードしてインストールし、ユーザが予め登録したサービスではないサービスからの通知を受信した場合は、情報処理装置１００は、アプリケーションを自動でダウンロードしてインストールする前にユーザに確認するようにしてもよい。
【０１１４】
また、情報処理装置１００は、アプリケーション情報を自動インストールの条件とする場合には、例えばアプリケーションのレーティング（他のユーザによるアプリケーションの評価を数値化したものをいう）が所定の閾値以上のものをインストールする、開発元が所定の条件に合致するものをインストールする、アプリケーションの評価結果が所定の閾値以上のものをインストールする、アプリケーションの言語が所定の条件に合致するものをインストールする、アプリケーションに必要なパーミッションが所定の条件に合致するものをインストールする、価格が所定の値段以下のものをインストールする、というようにしてもよい。
【０１１５】
また、情報処理装置１００は、アプリケーション配信サーバ２０から取得したアプリケーションがその後ユーザの明示的な選択操作によって起動され、かつそのアプリケーションに対する料金の支払いが必要な場合は、ユーザに対してアプリケーションに対する料金の支払いが必要であることを提示してもよいが、ユーザの明示的な選択操作と、通知データの受信に基づく自動起動とに関わらず、所定の複数回目以降の起動時には、ユーザに対してアプリケーションに対する料金の支払いが必要であることを提示してもよい。
【０１１６】
また、情報処理装置１００は、ユーザの設定を自動インストールの条件とする場合には、例えばユーザが指定したアプリケーションや、指定したアプリケーションのカテゴリのものをインストールする、というようにしてもよい。
【０１１７】
図１０〜図１２は、アプリケーションの自動インストールの設定をユーザに行わせるために、情報処理装置１００がユーザに向けて提示するユーザインタフェースの例を示す説明図である。図１０〜図１２に示すユーザインタフェースは、例えば出力装置１７０のディスプレイに表示される。
【０１１８】
図１０に示したのは、アプリケーションに関する設定（アプリケーション設定）の一覧を提示するユーザインタフェースの例を示す説明図である。ユーザが「アプリ自動インストール」を選択すると、情報処理装置１００は、アプリケーションの自動インストールに関する設定の一覧を提示するユーザインタフェースに移行する。
【０１１９】
図１１に示したのは、アプリケーションの自動インストールに関する設定の一覧を提示するユーザインタフェースの例を示す説明図である。図１１には、すべてのアプリケーションの自動インストールに関する設定及びインストールされるアプリケーションのカテゴリ毎に自動インストールに関する設定が表示されたユーザインタフェースが表示されたユーザインタフェースの例が示されている。ユーザが「自動インストール」と表示された枠を選択すると、情報処理装置１００は、すべてのアプリケーションの自動インストール設定を設定させるユーザインタフェースに移行する。またユーザがアプリケーションのカテゴリの名称（例えば「Ａ社」）が表示された枠を選択すると、情報処理装置１００は、そのカテゴリの自動インストール設定を設定させるユーザインタフェースに移行する。
【０１２０】
図１２に示したのは、あるカテゴリのアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースの例を示す説明図である。図１２には、ある会社（Ａ社）が提供するアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースが示されている。図１２では、自動インストール設定として「許可する」「確認する」「許可しない」の３つが表示されたユーザインタフェースの例が示されている。ユーザが「許可する」を選択すると、そのカテゴリのアプリケーションは、ユーザへの確認無しに自動的にインストールされる。ユーザが「確認する」を選択すると、そのカテゴリのアプリケーションは、インストールの前にユーザに確認を取って、ユーザがインストールを許可すればインストールされる。ユーザが「許可しない」を選択すると、そのカテゴリのアプリケーションは自動的にインストールされない。
【０１２１】
なお、図１１に示したユーザインタフェースでユーザが「自動インストール」と表示された枠を選択すると、図１２に示したユーザインタフェースは、すべてのアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースとなる。
【０１２２】
上述したように、本開示の一実施形態に係る情報処理装置１００は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし、中にはユーザにとって不要な通知を情報処理装置１００が受信してしまう場合も考えられる。
【０１２３】
情報処理装置１００が通知サーバ１０から通知を受信した際に、ユーザがその通知は不要だと判断して、その通知をブロックする設定を行った場合は、情報処理装置１００は、以後その通知を受信しても、その通知に基づく情報を出力装置１７０には出力しない。
【０１２４】
情報処理装置１００が通知サーバ１０から通知を受信した際に、その時点ではユーザがその通知は不要だと判断しなかったが、アプリケーションが自動でインストールされた後に、ユーザがその通知は不要だと判断して、その通知をブロックする設定を行った場合は、ユーザは、自動でインストールされたアプリケーションを明示的に削除することになる。ユーザがアプリケーションを削除する際、情報処理装置１００は、完全削除か部分削除かをユーザに確認してもよい。ユーザが完全削除を選択した場合は、情報処理装置１００は、そのアプリケーションについては以後自動インストールを行わないようにして、ユーザが部分削除を選択した場合は、情報処理装置１００は、そのアプリケーションについては自動インストールを行うようにする。
【０１２５】
情報処理装置１００がアプリケーション配信サーバ２０から自動的にダウンロードするアプリケーションの中には、アプリケーションをダウンロードしたり、アプリケーションを継続して使用したりするためには、利用料金を支払う必要があるものも存在する。しかし、ユーザに無断でアプリケーションの利用料金を支払うことは基本的に出来ない。そこで本実施形態では、利用料金の支払いが必要なアプリケーションをアプリケーション配信サーバ２０から自動的にダウンロードする際には、以下のような処理が行われてもよい。
【０１２６】
例えば、通知サーバ１０からの通知による起動と、ユーザの操作による明示的な起動とで、アプリケーションの振る舞いを変えてもよい。通知サーバ１０からの通知による起動の場合は、そのアプリケーションは無料で利用できるようにして、ユーザの操作による明示的な起動の場合は、そのアプリケーションの利用には料金の支払いを必要とするようにしてもよい。
【０１２７】
例えば、地震情報を提供する有料の地震情報アプリケーションがあって、通知サーバ１０から規模の大きな地震が発生したことが通知され、その通知に基づいてその地震情報アプリケーションがダウンロードされた場合は、地震情報アプリケーションは無料で利用できるようにする。その後、ユーザが明示的に地震情報アプリケーションを起動させた場合は、その地震情報アプリケーションの利用には料金の支払いを必要とするようにしてもよい。
【０１２８】
また、本システムは、一種の広告システムとしての利用も可能である。従来は、インストール済みのアプリケーションのアップデートを除けば、ユーザのマニュアル操作によってのみ、アプリケーションの端末装置１００へのインストールが可能であった。しかし、本システムでは、プッシュ通知の有無によって自動的にアプリケーションを情報処理装置１００へインストールさせることができることから、アプリケーションを多くの情報処理装置１００に対して配信したいと考える、アプリケーションの開発元にとっても、利用する大きなモチベーションが生まれることになる。
【０１２９】
このため、例えば、通知サーバ１０は、情報処理装置１００への各アプリケーションの通知データの送信回数を制御部１５でカウントし、記憶部１２で保持してもよい。そして通知サーバ１０は、その通知データの送信回数に基づいて、各アプリケーションの開発元に対して課金を行うための課金額を制御部１５で算出し、算出された課金額を、アプリケーションの開発元に対して課金してもよい。
【０１３０】
通知サーバ１０、または、通知サーバ１０から送信回数の通知を受ける課金サーバが、課金額を算出し、アプリケーションの開発元が、通知サーバ１０、または課金サーバに対して予め登録しているクレジットカードや銀行口座に対して、課金を実行してもよい。
【０１３１】
また、通知サーバ１０、又は、アプリケーション配信サーバ２０において、情報処理装置１００から、各アプリケーションをインストールしたときに、その旨の通知を受けるようにしておいてもよい。その通知に基づき、通知サーバ１０、又は、アプリケーション配信サーバ２０が、各アプリケーションが情報処理装置１００にインストールされた回数を制御部１５または制御部２５でカウントして、回数を記憶部１２または記憶部２２で保持しておき、その回数に基づいて、アプリケーション開発元への課金額を算出することができる。
【０１３２】
（ユースケース例１）
続いて、本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を示す。まず、イベントを契機としてクーポンアプリケーションが配信される場合の情報処理装置１００の動作を説明する。図１３は、本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【０１３３】
情報処理装置１００のユーザが、あるお店が提供するネットサービスに情報を登録したとする。そのお店が、１週間後にバーゲンセールを開始するので、ネットサービスから通知サーバ１０を通じて、情報を登録したユーザの情報処理装置１００へ通知を配信する。情報処理装置１００の通知処理部１２０は、通知の受信に伴い、出力装置１７０のディスプレイに情報を表示する（ａ）。
【０１３４】
情報処理装置１００のユーザが、ディスプレイに表示された情報を選択すると、通知処理部１２０は、その選択に応じて、通知により起動されるアプリケーションの情報をアプリケーション選択部１３０に渡す。アプリケーション選択部１３０は、そのアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からそのアプリケーションをダウンロードする。設定によっては、アプリケーション選択部１３０はインストールの前にユーザに確認する場合もある（ｂ）。
【０１３５】
ユーザがインストールを許可すると、アプリケーション選択部１３０は、アプリケーション配信サーバ２０からそのアプリケーションをダウンロードする。情報処理装置１００は、必要に応じてダウンロード状況を出力装置１７０のディスプレイに表示する（ｃ）。
【０１３６】
情報処理装置１００は、アプリケーションが予めインストールされているか、アプリケーション配信サーバ２０からそのアプリケーションをダウンロードしてインストールすると、そのアプリケーションを起動する（ｄ）。図１３には、開催されるバーゲンセールの情報を表示するアプリケーションが出力装置１７０のディスプレイに表示されている状態が示されている。
【０１３７】
ユーザが、出力装置１７０のディスプレイに表示されていたアプリケーションを終了させる操作を実行すると、情報処理装置１００は、そのアプリケーションを終了させる（ｅ）。このユースケースでは、アプリケーションの削除は行われないものとする。
【０１３８】
図１４は、通知サーバ１０から情報処理装置１００へ送られる通知データの一例を示す説明図である。通知サーバ１０から情報処理装置１００へ送られる通知データは、例えば制御部１５が生成する。図１４に示すような通知データを受信した情報処理装置１００は、通知データの中身を解析して、ディスプレイに表示する内容を決定したり、起動させるアプリケーションを選択したりすることができる。
【０１３９】
もちろん、図１４に示した通知データはあくまで一例であって、本開示は、通知データの形式は図１４に示したようなものに限定される物では無いが、図１４に示した通知データの各要素の内容について説明する。
【０１４０】
（ｓｅｎｄｅｒ）通知データの送信元を表す。
（ｅｘｐｉｒｅｄ）通知データの有効期限を表す。
（ｃａｔｅｇｏｒｙ）通知データのカテゴリを表す。
（ｕｒｇｅｎｃｙ）通知データの緊急度を表す。
（ｔｉｔｌｅ）通知データのタイトルを表す。
（ｂｏｄｙ）通知データの本文を表す。
（ａｐｐＩｎｆｏ）通知データに対応するアプリケーションの情報を表す。
【０１４１】
図１４に示した通知データのａｐｐＩｎｆｏ要素に含まれる各要素の内容について説明する。
（ｎａｍｅ）アプリケーションの名称を表す。
（ｉｄ）アプリケーションの識別子を表す。
（ｓｅｘ）アプリケーションの対象の性別を表す。
（ａｇｅ）アプリケーションの対象の年齢を表す。
（ｕｒｌ）アプリケーションの格納場所をＵＲＬの形式で表す。
（ｅｘｐｉｒｅｄ）アプリケーションの有効期限を表す。
（ｒｅｍｏｖｅ）アプリケーションの完全削除判定フラグを表す。
（ｉｎｓｔａｌｌＯｎｌｙ）アプリケーションのインストールオンリーフラグを表す。
（ａｐｐＤａｔａ）アプリケーションが使用するデータを表す。
【０１４２】
通知処理部１２０は、図１４のように記述された通知データを解析することで、この通知データに対応するアプリケーションが何であるかを判定し、そのアプリケーションの情報をアプリケーション選択部１３０に渡すことが出来る。特に、通知処理部１２０は、図１４のように記述された通知データのａｐｐＩｎｆｏ要素の内容をアプリケーション選択部１３０に渡すことで、アプリケーション選択部１３０は、どのアプリケーションを選択すべきかを判定することが可能になる。
【０１４３】
（ユースケース例２）
続いて、イベント会場でアプリケーションが自動起動される場合の情報処理装置１００の動作を説明する。図１５は、本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【０１４４】
音楽イベントなどのようにイベント会場に多くの人が集まるようなケースでは、イベントが行われている場所で一度に多くのユーザによってアプリケーションのダウンロードが行われると、ネットワークが混雑してダウンロードに時間が掛かったり、またダウンロードそのものが失敗してしまったりする可能性がある。そこで、そのような多くの人が集まることが予想されるイベントのアプリケーションについては、予めイベントの開催日より前にダウンロード及びインストールされていることが望ましい。
【０１４５】
情報処理装置１００のユーザが、参加を予定しているイベントが提供するネットサービスに情報を登録したとする。そのイベントが、１週間後にイベントを開催するので、ネットサービスから通知サーバ１０を通じて、情報を登録したユーザの情報処理装置１００へ通知を配信する。情報処理装置１００の通知処理部１２０は、通知の受信に伴い、出力装置１７０のディスプレイに情報を表示する（ａ）。
【０１４６】
情報処理装置１００のユーザが、ディスプレイに表示された情報を選択すると、通知処理部１２０は、その選択に応じて、通知により起動されるイベントアプリケーションの情報をアプリケーション選択部１３０に渡す。アプリケーション選択部１３０は、そのイベントアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からそのイベントアプリケーションをダウンロードして（ｂ）、インストールする（ｃ）。しかし、この時点ではまだイベントは開催されていないので、情報処理装置１００はダウンロードしたイベントアプリケーションの起動までは行わない。
【０１４７】
ダウンロードしたイベントアプリケーションは、情報処理装置１００の位置情報を収集する。そして、イベント開催日にイベントが開催されているエリアに情報処理装置１００が存在していれば、通知サーバ１０は、その情報処理装置１００へ通知する（ｄ）。情報処理装置１００は、その通知の受信に基づき、イベントアプリケーションを自動的に起動する（ｅ）。イベントが終了すると、情報処理装置１００は、設定によってはイベントアプリケーションを自動的に削除しても良い（ｆ）
【０１４８】
図１６及び図１７は、通知サーバ１０から情報処理装置１００へ送られる通知データの一例を示す説明図である。通知サーバ１０から情報処理装置１００へ送られる通知データは、例えば制御部１５が生成する。図１６は、イベントの開催日より前に送られる通知データの例であり、図１７は、イベントの開催日に送られる通知データの例である。図１６及び図１７に示すような通知データを受信した情報処理装置１００は、通知データの中身を解析して、ディスプレイに表示する内容を決定したり、起動させるアプリケーションを選択したりすることができる。そして図１６に示した通知データは、インストールオンリーフラグ（ｉｎｓｔａｌｌＯｎｌｙ）がＴｒｕｅに設定されているので、情報処理装置１００はアプリケーションのインストールまでは行うが、アプリケーションの自動起動は行わない。通知サーバ１０から図１６に示したような通知データが送られてくることで、イベントの主催者は、情報処理装置１００でのアプリケーションのダウンロードのタイミングと起動のタイミングとを分けることが可能になる。
【０１４９】
（ユースケース例３）
続いて、地震情報を表示する有料の地震情報アプリケーションが自動起動される場合の情報処理装置１００の動作を説明する。図１８は、本開示の一実施形態に係る情報処理装置１００の動作のユースケース例を説明するための説明図である。
【０１５０】
情報処理装置１００が取得した現在位置の情報などから、情報処理装置１００の位置の近くで地震が発生したことを通知サーバ１０から通知するケースを例として示す。地震情報を提供するネットサービスが、通知サーバ１０から地震の発生を通知するための通知データを情報処理装置１００へ送信する。情報処理装置１００の通知処理部１２０は、通知の受信に伴い、出力装置１７０のディスプレイに情報を表示する（ａ）。
【０１５１】
情報処理装置１００のユーザが、ディスプレイに表示された情報を選択すると、通知処理部１２０は、その選択に応じて、通知により起動されるアプリケーションの情報をアプリケーション選択部１３０に渡す。アプリケーション選択部１３０は、そのアプリケーションがインストールされていなければ、アプリケーション配信サーバ２０からそのアプリケーションをダウンロードする。このユースケースでは、地震の発生という緊急事態が通知されているので、アプリケーション選択部１３０はユーザへの確認を行わずにアプリケーションをダウンロードして（ｂ）、インストールする（ｃ）。そして情報処理装置１００は、必要に応じてダウンロード状況を出力装置１７０のディスプレイに表示する（ｂ）。
【０１５２】
情報処理装置１００は、地震情報アプリケーションが予めインストールされているか、アプリケーション配信サーバ２０から地震情報アプリケーションをダウンロードしてインストールすると、地震情報アプリケーションを起動する（ｄ）。図１８には、地震情報アプリケーションの起動によって、地震の発生に伴い津波警報が発令されたことをユーザに知らせるための画面が出力装置１７０のディスプレイに表示されている状態が示されている。本来は、この地震情報アプリケーションを起動するにはアプリケーションの開発元に利用料金を支払わなければならない。しかし、通知サーバ１０から地震の発生という緊急事態を知らせる通知が情報処理装置１００へ配信されたので、この地震の発生の通知の伴う地震情報アプリケーションの自動起動の時点では、利用料金を支払わずに地震情報アプリケーションの起動を可能にする。
【０１５３】
その後、津波警報が解除されて落ち着いた時点で、ユーザが明示的にその地震情報アプリケーションを起動したとする。その場合、アプリケーション起動部１５０は利用料金の支払いが必要であることを示す画面を出力装置１７０のディスプレイに表示する（ｅ）。
【０１５４】
図１９は、通知サーバ１０から情報処理装置１００へ送られる通知データの一例を示す説明図である。通知サーバ１０から情報処理装置１００へ送られる通知データは、例えば制御部１５が生成する。図１９は、地震の発生時に送信される通知データの例である。図１９に示した通知データでは、緊急度を示す「ｕｒｇｅｎｃｙ」が「Ｕｒｇｅｎｔ（緊急）」となっている。このように緊急度が高い通知データに伴うアプリケーションの自動起動の場合は、アプリケーションの利用料金の支払いが行われていなくても、そのアプリケーションを情報処理装置１００で起動させるようにしてもよい。
【０１５５】
以上、３つのユースケースを示して、本開示の一実施形態に係る情報処理装置１００の動作を説明した。もちろん、本開示の一実施形態に係る情報処理装置１００の動作は、上述した３つのユースケースに限られないことは言うまでも無い。例えば、ユースケース例２で示した、アプリケーションのインストールのタイミングと起動のタイミングが異なるユースケースにおいて、起動されるアプリケーションは有料のアプリケーションであってもよい。
【０１５６】
＜２．ハードウェア構成例＞
次に、図２０を参照して、本開示の一実施形態にかかる通知サーバ１０及びアプリケーション配信サーバ２０のハードウェア構成について説明する。図２９は、サーバ７００の概略的な構成の一例を示すブロック図である。サーバ７００は、プロセッサ７０１、メモリ７０２、ストレージ７０３、ネットワークインタフェース７０４及びバス７０６を備える。
【０１５７】
プロセッサ７０１は、例えばＣＰＵ（Central  Processing  Unit）又はＤＳＰ（Digital  Signal  Processor）であってよく、サーバ７００の各種機能を制御する。メモリ７０２は、ＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）を含み、プロセッサ７０１により実行されるプログラム及びデータを記憶する。ストレージ７０３は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。
【０１５８】
ネットワークインタフェース７０４は、サーバ７００を通信ネットワーク７０５に接続するための有線通信インターフェースである。
【０１５９】
バス７０６は、プロセッサ７０１、メモリ７０２、ストレージ７０３及びネットワークインタフェース７０４を互いに接続する。バス７０６は、速度の異なる２つ以上のバス（例えば、高速バス及び低速バス）を含んでもよい。
【０１６０】
図２０に示したサーバ７００において、図１を参照して説明した処理部１３または処理部２３に含まれる１つ以上の構成要素（取得部１４及び／又は制御部１５、取得部２４及び／又は制御部２５）は、プロセッサ７０１において実装されてもよい。一例として、プロセッサを上記１つ以上の構成要素として機能させるためのプログラムがサーバ７００にインストールされ、プロセッサ７０１が当該プログラムを実行してもよい。別の例として、サーバ７００は、プロセッサ７０１及びメモリ７０２を含むモジュールを搭載し、当該モジュールにおいて上記１つ以上の構成要素が実装されてもよい。この場合に、上記モジュールは、プロセッサを上記１つ以上の構成要素として機能させるためのプログラムをメモリ７０２に記憶し、当該プログラムをプロセッサ７０１により実行してもよい。以上のように、上記１つ以上の構成要素を備える装置としてサーバ７００又は上記モジュールが提供されてもよく、プロセッサを上記１つ以上の構成要素として機能させるための上記プログラムが提供されてもよい。また、上記プログラムを記録した読み取り可能な記録媒体が提供されてもよい。
【０１６１】
次に、図２１を参照して、本開示の一実施形態にかかる情報処理装置１００のハードウェア構成について説明する。図２１は、本開示の実施形態にかかる情報処理装置１００のハードウェア構成例を示すブロック図である。上記の各アルゴリズムは、例えば、図２１に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図２１に示すハードウェアを制御することにより実現される。
【０１６２】
なお、この図２１に示したハードウェア９００のハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、接触式又は非接触式のＩＣチップ、接触式又は非接触式のＩＣカード、スピーカ、テレビ、モニタ、ウェアラブル機器、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１６３】
図２１に示すように、このハードウェア９００は、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１６４】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１６５】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１６６】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１６７】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１６８】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１６９】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１７０】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１７１】
図２１に示したハードウェア９００において、図１を参照して説明した情報処理装置１００に含まれる少なくとも１つの構成要素（通知処理部１２０、アプリケーション選択部１３０、アプリケーション起動部１５０、アプリケーション実行部１６０）は、ＣＰＵ９０２において実装されてもよい。
【０１７２】
＜３．まとめ＞
以上説明したように本開示の一実施形態によれば、通知サーバ１０から送信される通知データの受信に伴って、その通知データに関するアプリケーションを自動的に起動する情報処理装置１００が提供される。本開示の一実施形態に係る情報処理装置１００は、の通知データに関するアプリケーションを自動的に起動する際に、そのアプリケーションがインストールされていなければ、そのアプリケーションをアプリケーション配信サーバ２０からダウンロードしてインストールする。
【０１７３】
本開示の一実施形態に係る情報処理装置１００は、予めユーザによって通知データに関するアプリケーションがインストールされていなくても、通知サーバ１０からの通知データの受信によりアプリケーションを取得して、アプリケーションを自動的に起動することが出来る。
【０１７４】
また本開示の一実施形態によれば、情報処理装置１００へアプリケーション情報を含んだ通知データを送信する通知サーバ１０と、そのアプリケーション情報に対応するアプリケーションのダウンロードの要求が情報処理装置１００から送られてくると、その要求に応じてアプリケーションを配信するアプリケーション配信サーバ２０と、が提供される。
【０１７５】
本開示の一実施形態に係る通知サーバ１０及びアプリケーション配信サーバ２０は、ユーザが使用する情報処理装置１００へ通知データを送信することで、情報処理装置１００へ効果的にアプリケーションを配信することが出来る。また本開示の一実施形態に係る通知サーバ１０は、通知データの内容を適切に設定することで、情報処理装置１００での通知データの受信に基づくアプリケーションのダウンロードのタイミングと、通知データの受信に基づくアプリケーションの自動起動のタイミングとを分けることが可能になる。
【０１７６】
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１７７】
また、各装置に内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアまたはハードウェア回路で構成することで、一連の処理をハードウェアまたはハードウェア回路で実現することもできる。
【０１７８】
また上述の説明で用いた機能ブロック図で示したそれぞれの機能ブロックの一部又は全部は、たとえばインターネット等のネットワークを介して接続されるサーバ装置で実現されてもよい。また上述の説明で用いた機能ブロック図で示したそれぞれの機能ブロックの構成は、単独の装置で実現されてもよく、複数の装置が連携するシステムで実現されても良い。複数の装置が連携するシステムには、例えば複数のサーバ装置の組み合わせ、サーバ装置と端末装置との組み合わせ等が含まれ得る。
【０１７９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１８０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１８１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、
を備える、情報処理装置。
（２）
前記制御部は、前記情報に基づいて、インストールした前記アプリケーションを自動起動させる、前記（１）に記載の情報処理装置。
（３）
前記制御部は、前記アプリケーションがインストール済みである場合には前記アプリケーションをインストールすることなく、前記情報に基づいて前記アプリケーションを自動起動させる、前記（２）に記載の情報処理装置。
（４）
前記制御部は、予め設定されているアプリケーションの自動インストール条件と前記情報とに基づいて、前記アプリケーションを自動的にインストールする、前記（１）〜（３）のいずれかに記載の情報処理装置。
（５）
前記制御部は、前記情報に基づいて、前記アプリケーションを自動的にアンインストールする、前記（１）〜（４）のいずれかに記載の情報処理装置。
（６）
前記制御部は、前記情報に基づいて、前記アプリケーションが作成したデータも含めて前記アプリケーションをアンインストールするかを判断する、前記（５）に記載の情報処理装置。
（７）
前記制御部は、前記アプリケーションのユーザ操作による起動回数が所定数以上となった場合に、前記アプリケーションの使用を継続するための権限を得るための処理を実行する、前記（１）〜（６）のいずれかに記載の情報処理装置。
（８）
前記制御部は、前記アプリケーションを起動する場合に、前記取得した情報に基づく自動起動の場合と、ユーザ操作に基づく起動との場合とで、前記アプリケーションによる動作を異ならせる、前記（１）〜（７）のいずれかに記載の情報処理装置。
（９）
前記通信部は、前記情報処理装置が所定の場所に存在する場合に、前記情報を取得する、前記（１）〜（８）のいずれかに記載の情報処理装置。
（１０）
前記情報は、前記プッシュ通知の緊急度を含み、
前記制御部は、前記緊急度に基づいて、前記アプリケーションを自動的にインストールする、前記（１）〜（９）のいずれかに記載の情報処理装置。
（１１）
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を含む、情報処理方法。
（１２）
コンピュータに、
ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を実行させる、コンピュータプログラム。
（１３）
ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置。
（１４）
前記サーバ装置は、前記情報に基づく複数の前記情報処理装置への前記アプリケーションの自動インストール数を管理する制御部を備える、前記（１３）に記載のサーバ装置。
【符号の説明】
【０１８２】
１００    情報処理装置
１１０    入力装置
１２０    通知処理部
１３０    アプリケーション選択部
１４０    記憶部
１５０    アプリケーション起動部
１６０    アプリケーション実行部
１７０    出力装置
【図１】
2016167039.tif 000003
【図２】
2016167039.tif 000004
【図３】
2016167039.tif 000005
【図４】
2016167039.tif 000006
【図５】
2016167039.tif 000007
【図６】
2016167039.tif 000008
【図７】
2016167039.tif 000009
【図８】
2016167039.tif 000010
【図９】
2016167039.tif 000011
【図１０】
2016167039.tif 000012
【図１１】
2016167039.tif 000013
【図１２】
2016167039.tif 000014
【図１３】
2016167039.tif 000015
【図１４】
2016167039.tif 000016
【図１５】
2016167039.tif 000017
【図１６】
2016167039.tif 000018
【図１７】
2016167039.tif 000019
【図１８】
2016167039.tif 000020
【図１９】
2016167039.tif 000021
【図２０】
2016167039.tif 000022
【図２１】
2016167039.tif 000023
【国際調査報告】
2016167039.tif 000024
2016167039.tif 000025
2016167039.tif 000026
2016167039.tif 000027
2016167039.tif 000028
2016167039.tif 000029
2016167039.tif 000030
2016167039.tif 000031