(57)【要約】アプリケーションの承認に関する実施形態が開示される。一実施形態は、アプリケーションパッケージを受信することを含む。アプリケーションパッケージは、サービスプロバイダからのアプリケーションとレビュープロバイダからのアプリケーションについてのプライバシー記述とを含む。アプリケーションは、ユーザーにより管理される個人データで動作する。アプリケーションパッケージは、該アプリケーションパッケージの構成要素が適切な資格を有することを確実にするために検証される。プライバシー記述からユーザーのためのアプリケーションの要約が生成される。アプリケーションの要約は、個人データのどの部分がアプリケーションによりアクセスされることになるのか及び個人データの一部がどのように送信されることになるのかについて記述する。ユーザの許可が受信され、該ユーザの許可に基づいてアプリケーションの実行が制御される。【選択図】図４
2019503005.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより管理される一組の装置から収集されたデータを格納するデータストアと、
サービスプロバイダにより生成されたアプリケーションとレビュープロバイダからの該アプリケーションのレビューとを含むアプリケーションパッケージを受信するパッケージ受信モジュールと、
該アプリケーションパッケージの内容が適切な資格を有することを確実にする検証モジュールと、
前記アプリケーションの前記レビューから生成された該アプリケーションの記述を前記ユーザに提供するレビュー提示モジュールであって、該アプリケーションの該記述が、該アプリケーションを実行することにより影響を受けることになる前記データストアからのデータを識別するものである、レビュー提示モジュールと、
該ユーザが該アプリケーションの実行を承認した場合に該アプリケーションの実行を制御するアプリケーション制御モジュールとを含む、システム。
【請求項２】
前記アプリケーションパッケージが、前記アプリケーションを実行することに関する前記ユーザへの利益の記述、該アプリケーションの実行の承認を取り下げる方法の記述、該アプリケーションにより送信されるデータの記述、該アプリケーションにより送信されたデータが使用される態様の記述、該アプリケーションにより送信されたデータを受信する者の記述、該アプリケーションが実行されるときを記述するタイムテーブル、該アプリケーションによるリソース消費の記述、前記サービスプロバイダの識別、該サービスプロバイダのデジタル署名、及び前記レビュープロバイダのデジタル署名のうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記アプリケーションの前記レビューに基づいて該アプリケーションによる前記データストア内のデータへのアクセスを制御するデータ管理モジュールを含む、請求項１に記載のシステム。
【請求項４】
前記データ管理モジュールが、前記アプリケーションがアクセスすることが許可される前記データストアからのデータを指定するためのインタフェイスを前記ユーザに提供し、該データ管理モジュールが、該ユーザーにより指定された該データに基づいて該アプリケーションによる該データストア内のデータへのアクセスを制御する、請求項３に記載のシステム。
【請求項５】
前記アプリケーションのための更新パッケージを受信する更新モジュールを含み、該更新パッケージが、前記サービスプロバイダからの該アプリケーションの更新命令及び前記レビュープロバイダからの該更新命令の記述を含み、該更新命令が、指定された閾値により該アプリケーションの機能を変更することになることを、該更新命令の記述が示す場合に、前記更新モジュールが、前記ユーザの許可なしでの該更新命令の実行を阻止する、請求項１に記載のシステム。
【請求項６】
該システムが、前記ユーザにより管理される装置上で動作する、請求項１に記載のシステム。
【請求項７】
該システムの状態に関する情報を前記レビュープロバイダ及び前記サービスプロバイダの少なくとも一方に提供するシステム検証モジュールを含む、請求項１に記載のシステム。
【請求項８】
前記データストアが、複数のユーザにより維持される複数組の装置から収集されたデータを格納し、前記データ管理モジュールが、どのユーザが前記アプリケーションの実行を承認したかに基づいて該アプリケーションによる前記データストア内のデータへのアクセスを制御する、請求項３に記載のシステム。
【請求項９】
前記アプリケーションからの命令、前記サービスプロバイダからの命令、前記レビュープロバイダからの命令、及び前記アプリケーションパッケージからの命令のうちの少なくとも１つに応じてアクションを実行するように前記一組の装置の各々を制御する装置制御モジュールを含む、請求項１に記載のシステム。
【請求項１０】
サービスプロバイダからアプリケーション及びレビュープロバイダからの該アプリケーションに関するプライバシー記述を含むアプリケーションパッケージを受信し、該アプリケーションが、ユーザにより管理される一組の装置から取得される個人データについて動作し、
該アプリケーションパッケージを検証して、該アプリケーションパッケージの構成要素が適切な資格を有することを確実にし、
前記個人データのうち前記アプリケーションによりアクセスされる部分及び該個人データの該部分が送信される態様を記述する、前記ユーザのためのアプリケーションの要約を前記プライバシー記述から生成し、
該ユーザからの許可を受信し、
該ユーザからの該許可に基づいて前記アプリケーションの実行を制御する、方法。
【請求項１１】
前記ユーザからの前記許可が、前記アプリケーションによるアクセスが承認された特定の個人データを識別し、及び該アプリケーションの実行を制御することが、該特定の個人データに対する該アプリケーションのアクセスを制限することを含む、請求項１０に記載の方法。
【請求項１２】
前記アプリケーションの更新と更新の記述とを受信し、
該更新の記述が、指定された閾値を超える態様で該更新が該アプリケーションを変更することを示す場合に、
該更新の記述から、該更新の実行の結果として前記個人データのどの更新された部分がアクセスされることになるか及び該個人データの該更新された部分がどのように送信されることになるかを記述する前記ユーザのための更新の要約を生成し、
該ユーザからの更新許可に基づいて前記更新の実行を制御する
ことを含む、請求項１０に記載の方法。
【請求項１３】
前記サービスプロバイダ及び前記レビュープロバイダのうちの少なくとも一方と該方法を実行する装置の状態を検証することを含む、請求項１０に記載の方法。
【請求項１４】
前記アプリケーションを実行するためにリソースを利用することが可能であることを検証することを含む、請求項１０に記載の方法。
【請求項１５】
サービスプロバイダにより生成されたアプリケーションと、レビュープロバイダから受信した該アプリケーションのレビューとを含むアプリケーションパッケージを生成し、該レビューが、該アプリケーションによりアクセスされることになるデータを識別するプライバシー情報を指定し、
ユーザにより管理される装置上のアプリケーションハブに前記アプリケーションを提供し、該アプリケーションハブが、前記アプリケーションパッケージの内容を検証し、前記アプリケーションの前記レビューから生成された該アプリケーションの記述を前記ユーザに提供し、及び該アプリケーションを実行するための承認を該ユーザーに要求し、
該アプリケーションによりアクセスされたデータに基づいて生成された情報を含む信号を該アプリケーションから受信することを含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
最近の技術的動向の１つとして、IoT（Internet of Things）に向けた動きが挙げられる。IoTは、有用な機能を実行するために互いに通信することになる装置の数及び種類が大幅に拡大している。かかる装置は、従来のネットワーク接続された装置（例えば、コンピュータ、モバイルデバイス）、センサ（例えば、温度計、気圧計）、並びに家電製品及び部品（例えば、冷蔵庫、サーモスタット）から製造機械、科学研究機器、ウェアラブル機器、乗物等に至るその他の装置を含み得るものである。一例では、該装置は、ユーザにより管理される所定のロケーションにデータを格納する様々なデータ収集機能を実行することが可能である。他の例では、データは、複数の装置により収集し、及び該装置のベンダにより格納することが可能である。次いで、該ベンダは、更なる処理を実行することが可能である。
【図面の簡単な説明】
【０００２】
【図１】アプリケーションの承認に関連する例示的なアプリケーションハブを示している。
【図２】アプリケーションの承認に関連する例示的なシステムを示している。
【図３】アプリケーションの承認に関連する別の例示的なシステムを示している。
【図４】アプリケーションの承認に関連する例示的な操作のフローチャートを示している。
【図５】アプリケーションの承認に関連する例示的な操作の別のフローチャートを示している。
【図６】アプリケーションの承認に関する例示的な操作のフローチャートを示している。
【図７】例示的なシステム、方法、及びその等価物を実施することが可能な例示的なコンピューティング装置を示している。
【発明を実施するための形態】
【０００３】
本出願は、図面に関連して行う以下の詳細な説明により一層完全に理解されよう。
【０００４】
アプリケーションの承認に関するシステム、方法、及びその等価物について説明する。ユーザは、ユーザのために様々な機能を実行する様々な装置を操作することが可能である。かかる装置は、例えば、ユーザが日常的な仕事を行うのを助け、ユーザに情報を提供する、ウェアラブル機器、センサ、電化製品といった装置を含むことが可能である。係る装置の中には、ユーザのためにデータを収集するものがある。例えば、フィットネスウェアラブル機器は、ユーザの一日を通して、歩数、心拍数、活動レベルその他を含む健康データを格納することが可能である。このデータは、ユーザにより管理されるデータストア、又は該フィットネスウェアラブル機器のベンダにより管理されるデータストアに格納することが可能であり、これにより、該ベンダがデータ分析を行うこと及び／又はユーザに更なるサービスを提供することが可能となる。ユーザは、追加のデータ分析及びサービスを潜在的に評価するにもかかわらず、該ユーザが個人データをベンダと共有することに懸念を抱く場合には、このソリューションを望ましくないと考える可能性がある。
【０００５】
装置データがユーザにより管理されるデータストアに格納される例では、ユーザにより操作される他の複数の装置が、前記と同じデータストア又はユーザにより管理される他のデータストアにデータを格納することも可能である。かかる例では、フィットネスウェアラブル機器のメーカーは、ユーザのデータストア内のフィットネスウェアラブル機器からのデータにアクセスすることを必要とするユーザのための追加の機能、情報、及び／又は分析を提供しようとする可能性がある。しかし、ユーザーは、該ユーザのデータのプライバシーに懸念を抱く場合には、データストア内のデータへのアクセスを許可する前に、該データがアクセスされ送信される態様を該ユーザがプレビューすることを可能とするソリューションを探す可能性がある。
【０００６】
その結果として、フィットネスウェアラブル機器のメーカーは、ユーザのデータにアクセスし、及び該データに基づく情報を、例えば、該ユーザ、サービスプロバイダ、第三者などへ提供することになる、ユーザが実行することができるアプリケーションを設計することが可能である。データのプライバシーをユーザーが望むレベルに確実に保証するために、サービスプロバイダは、アプリケーションレビューを作成することになるアプリケーションレビューアにアプリケーションをレビューさせることが可能である。アプリケーションレビューアは、該アプリケーションによりアクセスされることになるユーザのデータストアのデータ、並びに、該データがユーザの管理外の宛先に送信されるか否か及び／又はその送信の態様を識別することが可能である。該アプリケーション及び該レビューを組み合わせて、ユーザに提供されるアプリケーションパッケージを作成することが可能である。該アプリケーションパッケージは、ユーザにより管理される装置上のアプリケーションハブにより受信することが可能である。次いで、該アプリケーションハブがアプリケーションレビューの一部をユーザに提供して、該ユーザが該アプリケーションの実行を許可するか否かについて十分な情報を得た上で決定を下すことが可能となる。ユーザがアプリケーションの実行を承認する場合には、アプリケーションハブは、該アプリケーションの実行、データストア内のデータアクセス、及びアプリケーションの動作に関連する他の機能を、該アプリケーションのライフサイクルにわたって制御することが可能となる。
【０００７】
その結果として、本書で説明するシステム及び方法は、十分な情報を得た上でのユーザによる決定に基づかない限り、ユーザが、第三者にデータを解放することなく、該ユーザ自身のデータを維持することを可能にする。ユーザは、アプリケーションをダウンロードして、該ユーザ自身のデータを分析し及び／又は視覚化すること、又は情報もしくはサービスをユーザへ提供するサービスプロバイダへ分析結果を提供することが可能である。効果的に、アプリケーションは、ユーザの生データに対するアプリケーションによるアクセスの配信手段を必ずしも提供することなく、ユーザにより管理されるハブ上で（該ハブがユーザ装置上にあるかクラウドサービス内で提供されるかにかかわらず）実行することが可能である。
【０００８】
図１は、アプリケーションの承認に関連する例示的なアプリケーションハブ100を示している。図１に示す構成要素は例示的な実施形態であり、多くの異なるシステムや装置などを様々な実施形態に従って動作させることが可能であることが理解されよう。
【０００９】
図１は、アプリケーションの承認に関連する例示的なアプリケーションハブ100を示している。アプリケーションハブ100は、データストア120内のデータへのアクセスを求めるアプリケーションのライフサイクル管理の様々な側面を責務とすることが可能である。データストア120は、様々な装置110から受信したデータを含むことが可能である。装置110は、様々な側面でユーザ115により制御されることが可能である。装置110は、例えば、ユーザ115のための機能、ユーザ115のための記録データなどを実行することができる。説明のため、装置110は、ユーザ115の健康情報を追跡するフィットネスウェアラブル機器、ユーザ115のGPS位置を追跡する位置追跡装置、ユーザ115が該ユーザ115の家を一層効率的に暖めることができるようにするための該ユーザ115の家の周りの温度センサなどを含むことが可能である。装置110はまた、ユーザ115により操作されるパーソナルコンピュータ、モバイル装置、ネットワーク接続された電化製品を含むことが可能である。装置110はまた、工業上、製造上、又は科学上の目的に関するものとすることが可能であり、かかる目的に関連するデータをデータストア120に格納することが可能である。この例では、データストア120は、アプリケーションハブ100の外部にあるものとして示されているが、他の例では、データストア120は、アプリケーションハブ100の一構成要素とすることが可能である。
【００１０】
上述したように、装置110により記録されたデータは、分析及び／又はユーザ115による後の読み出しのためにデータストア120に格納することが可能である。この分析及び読み出しは、ユーザ115の承認があるときに実行される様々なアプリケーションにより実行することが可能である。様々な実施形態において、データストア120は、ユーザ115により物理的に管理される装置に接続されたストレージ装置（例えば、ハードディスク、外部記憶装置）とすることが可能である。別の実施形態では、データストア120は、ユーザ115により使用されるクラウドストレージソリューションとすることが可能である。同様に、アプリケーションハブ100は、ユーザ115により物理的に管理される装置（例えば、パーソナルコンピュータ、モバイル装置）及び／又はデータストア120と一緒に配置された装置上で動作することが可能であり、又は、ユーザ115やデータストア120等のうちの１つ以上とは離れた場所で動作する、ユーザ115に提供されるクラウドソリューションとして動作することが可能である。
【００１１】
アプリケーションのライフサイクルは、該アプリケーションを含むアプリケーションパッケージ130がアプリケーションハブ100により取得されるときに開始することが可能である。様々な実施形態では、アプリケーションパッケージ130は、ユーザ115により行われたアクションに応じて取得することが可能である。例えば、ユーザ115は、ウェブページ内のハイパーリンクをクリックすることによりアプリケーションパッケージ130のダウンロードを開始することが可能である。他の実施形態では、アプリケーションハブ100は、ユーザ115がダウンロードに関心を持つ可能性がある様々なアプリケーションをユーザ115が閲覧することができるアプリケーションストアとして働くことも可能である。他の実施形態では、アプリケーションパッケージ130は、特定の状況下でアプリケーションハブ100により自動的に取得することが可能である。説明のため、アプリケーションハブ100は、データストア120内の特定のタイプのデータの検出、アプリケーションハブ100及び／又はデータストア120の特定の装置110への接続、所定のユーザアクションなどに応じてアプリケーションパッケージ130を取得するよう構成することが可能である。。
【００１２】
アプリケーションパッケージ130は、幾つかの構成要素を含むことが可能である。例えば、アプリケーションパッケージ130は、アプリケーションを含むことが可能である。該アプリケーションは、サービスプロバイダ140を出所とすることが可能である。アプリケーションパッケージ130はまた、アプリケーションのレビューを含むことが可能である。該アプリケーションのレビューは、レビューア（reviewer：レビューを行う者）150を出所とすることが可能である。様々な実施形態において、アプリケーションパッケージ130は、例えば、サービスプロバイダ140、レビューア150、アプリケーションハブ100、別のエンティティなどにより構築することが可能である。他の実施形態では、アプリケーションパッケージ130は、アプリケーションハブ100内で一度に構築しないことが可能である。例えば、アプリケーションハブ100は、最初にアプリケーションのレビューを取得し、該レビューに関して以下で更に説明する様々な機能を実行し、次いでかかるアクションが完了した際にアプリケーションを取得し、該アプリケ-ションに関して適当な機能を実行することが可能である。
【００１３】
上述したように、サービスプロバイダ140は、アプリケーションハブ100により取得されたアプリケーションのソースとすることが可能である。アプリケーション自体は、データストア120内のデータにアクセスすることが可能である。そのデータがアプリケーションによりどのように使用されるかは、サービスプロバイダ140の役割によって決まる。例えば、サービスプロバイダ140は、データストア120自体のデータの内容に関心がある場合がある。他の実施形態では、サービスプロバイダ140は、データストア120（例えば、フィットネスウェアラブル機器の製造者）にデータを提供する１つ以上の装置110と所定の関係を有することが可能である。他の実施形態では、サービスプロバイダ140は、データストア120内のデータの一部を使用するサービスをユーザ115に提供することが可能である。図１に示すサービスプロバイダ140、アプリケーション、及びその他のエンティティの間の他の関係も存在する可能性があり、かかる関係の組み合わせもまた存在し得る。
【００１４】
レビューア150は、ユーザ115がデータストア120内のデータについてどのアプリケーションが動作しているかについて十分な情報を得た上で決定を行うことを助けるための信頼できる第三者として動作することが可能である。このため、サービスプロバイダ140は、アプリケーションハブ100にアプリケーションを提供する前に、レビューア150にアプリケーションを提供することが可能である。次いで、レビューア150は、所定のテスト環境で実行される一連の診断を実行して、アプリケーションにより使用されるデータ、該データが使用される態様、及びアプリケーションによりサービスプロバイダ140や第三者などへ如何なる情報が送信されるかを識別することが可能である。
【００１５】
したがって、レビューア150は、サービスプロバイダ140及びユーザ115の双方にとって信頼できる第三者としての役割を果たすことが可能である。サービスプロバイダ140の場合、レビューア150は、アプリケーションがサービスプロバイダ140が主張する以上の動作を実行しないことを該レビューア150が確認することができるように、アプリケーションのソースコードにアクセスすることが可能である。レビュア150とサービスプロバイダ140との間の合意により、アプリケーションのソースコードの望ましくない開示を防止して、サービスプロバイダ140に保護を与えることが可能である。ユーザ115にとっては、レビューャ150は、アプリケーションハブ100により取得されたアプリケーションがどのように動作するかに関する正確なレポートを生成すると信頼することが可能である。アプリケーションによるデータアクセス及び送信に関する情報に加えて、アプリケーションのレビューは、例えば、アプリケーションのリソース使用、サービスプロバイダ140の識別、及び／又はデータの受信者などを記述することも可能である。その結果として、レビューは、ユーザ115がデータストア120内のデータに関する該ユーザ自身のプライバシーの嗜好に基づいてアプリケーションを実行するか否かを十分な情報を得た上で決定することを可能にする貴重な情報をユーザ115に提供することが可能である。レビュア150はまた、例えば、サービスプロバイダ140や悪意のある第三者等によるアプリケーションパッケージ130の構成要素の望ましくない置換を防止するために、アプリケーションパッケージ130の様々な構成要素にデジタル署名を行うことに参加することを責務とすることが可能である。
【００１６】
アプリケーションパッケージ130又はその関連部分を受信した後、アプリケーションハブ100は、アプリケーション115を実行するための承認がユーザ115から得られるように、アプリケーションパッケージ130からユーザ115へ関連情報を提示するプロセスを開始することが可能である。最初に、アプリケーションハブ100は、アプリケーションパッケージ130の構成要素に対して様々な検証機能を実行することが可能である。かかる検証機能は、例えば、サービスプロバイダ140やレビューア150などのデジタル署名を検証することを含むことが可能である。様々な実施形態において、レビューア150は、アプリケーション、レビューア150により提供されたレビュー、及びアプリケーションパッケージ130全体などにデジタル署名を行うことが可能である。該デジタル署名を検証することにより、アプリケーションパッケージ130の構成要素の出所であると称されるソースが実際にそうであることを確認することが可能である。しかし、デジタル署名以外の技術を使用してアプリケーションパッケージ130の構成要素のソースを検証することが可能である。
【００１７】
次いで、アプリケーションハブ100は、ユーザ115に提供するためにアプリケーションパッケージ130からの情報のフォーマット処理を開始することが可能である。様々な実施形態において、アプリケーションパッケージ130内の情報は、ユーザ115への提供のために既に準備された態様で配信することが可能である。一実施形態として、レビューア150から受信したレビューは、ユーザ115に直接配信することができるHTMLコード又はテキスト文書としてフォーマットすることが可能である。他の実施形態では、レビューは、アプリケーションの実行に関連して様々な機能を実行するようアプリケーションハブ100を制御するようにフォーマットすることが可能である。このため、レビューは、アプリケーションハブ100によってユーザ115が読み取れる記述へと変換されるコード要素を有することが可能である。この記述は、アプリケーションの様々な属性を識別することが可能である。
【００１８】
様々な実施形態において、アプリケーションの記述は、アプリケーションパッケージ130に関連するアプリケーションがアクセスすることになるデータストア120のデータ、そのデータがアプリケーションにより使用される態様、及びアプリケーションによりユーザ115の管理外の宛先へと送信されることになる情報に関する情報をユーザ115に伝えることが可能である。アプリケーションがアクセスすることになるデータストア120内のデータは、例えば、データストア120内のデータが取得されることになる装置110、データストア120内に存在することが可能なデータの既知のフォーマット及びソースなどを示すことが可能である。データが使用される態様は、データストア120からのデータを操作するために使用されることになる数学関数を記述することが可能である。送信されることになるデータは、選択された生データフィールドが送信されるか否か、収集されたデータが送信されるか否かなどを示すことが可能である。該記述はまた、アプリケーションにより誰の情報が送信されることになるかを示すことが可能である。アプリケーションの記述はまた、例えば、アプリケーションのリソース消費、アプリケーションが実行されるときなどをユーザ115に識別させるものとすることが可能である。該記述はまた、例えば、アプリケーションを実行することに関するユーザへの利益、アプリケーションの実行許可を削除し又は取り消す方法、アプリケーションが実行されるとき及びその頻度、アプリケーションにより使用されるリソース、サービスプロバイダ140、レビューア150、又は利害関係のある第三者の識別情報、送信されたデータがその後に例えば広告主等に販売されるか否かなどを伝えることが可能である。
【００１９】
かかる記述を検討した後、ユーザ115は、データストア120からのデータについてアプリケーションを実行することを許可すべきか否かについての決定を行うことが可能である。該決定は、アプリケーションハブ100により提供された記述を検討することに基づいて行うことが可能である。ユーザ115は、この決定を、前記記述がアプリケーションがアクセスすることになると称しているデータについての個人的なプライバシーの嗜好や、該データを共有することからユーザが得ることになる価値（例えば、分析結果、報酬、追加の装置機能など）に基づいて行うことが可能である。一例では、ユーザは、フィットネスウェアラブル機器により記録されたユーザの健康情報よりも、自宅の外にある温度計により収集された温度データについて一層低い個人的なプライバシーの嗜好を有する場合がある。前記決定はアプリケーションハブ100に格納することも可能である。該決定がアプリケーションの実行を許可しない場合には、アプリケーションハブ100は、アプリケーションパッケージ130の構成要素を削除して、該アプリケーションハブ100が動作しているシステム又は装置のリソースを解放することが可能である。ユーザ115がアプリケーションの実行を許可した場合には、アプリケーションハブ100は、アプリケーションの実行をスケジュールすることに進むことが可能である。
【００２０】
様々な実施形態において、アプリケーションハブ100は、アプリケーションの実行を制御する際に様々な役割を果たすことが可能である。実施形態によっては、アプリケーションハブ100は、ユーザ115がアプリケーションの実行を承認した後に、アプリケーションの適切なインストールを保証するための基本的なタスクを単に実行することが可能である。他の実施形態では、アプリケーションハブ100は、アプリケーションが動作しているときにスケジューリングを管理することを責務とすることが可能である。他の実施形態では、アプリケーションハブ100は、レビューア150からのアプリケーションのレビューに基づいて、アプリケーションが該レビューの特定の側面に違反することができないことを確実にするよう設計することが可能である。例えば、アプリケーションがデータストア120の特定の部分にのみアクセスすることになることをアプリケーションのレビューが示している場合、アプリケーションハブ100は、例えば、データストア120からの応答を該データストア120の該特定の部分からの応答に制限することにより、かかるアクセスのガイドラインを実施することが可能である。他の実施形態では、アプリケーションハブ100は、データストア120の特定の部分の外にあるデータストア120の部分からデータを返すことになるクエリをアプリケーションが実行しないようにすることが可能である。同様に、アプリケーションハブ100は、アプリケーションのレビューで特に識別されている者以外の者にアプリケーションがデータを送信しないようにすることが可能である。
【００２１】
レビューに基づくアプリケーションの動作の実施に加えて、アプリケーションハブ100は、ユーザの許可に基づいてアプリケーションの動作を実施することが可能である。一例として、データストア120について実行する許可をアプリケーションに与える場合、ユーザ115は、アプリケーションの実行を許可するとき及びその態様に関する様々な許可を指定しようとする可能性がある。かかる許可には、例えば、アプリケーションの実行が許可されるとき、アプリケーションの実行が許可される回数、アプリケーションを実行するためのリソースの制限、アプリケーションによるアクセスが許可され又は許可されないデータストア120内のデータが含まれる。実施形態によっては、アプリケーションのレビュー及び／又はアプリケーションの記述に基づいてユーザー許可のオプションを制限することが可能である。例えば、サービスプロバイダは、データが１日に１回処理されるべきことを示し、（例えば、処理リソースをユーザが管理することを可能にするために）その日にデータが処理されるときをユーザが選択することを可能にすることが可能である。
【００２２】
アプリケーションハブ100はまた、アプリケーションのアプリケーション更新を扱うことも可能である。様々な実施形態において、アプリケーションの更新は、アプリケーションハブ100内に既に格納されているアプリケーションに変更を加える命令、アプリケーションが動作する態様を変更するデータファイル、又はアプリケーションを完全に置換する置換用の実行可能ファイルとすることが可能である。実施形態によっては、レビューア150は、サービスプロバイダ140により提供されるアプリケーションに対する更新のための更新レビューを提供することが可能である。該更新レビューは、アプリケーションに対する更新を実行した結果として生じることになるアプリケーションに対する変更を記述することが可能である。実施形態によっては、アプリケーションが更新されるたびにユーザーの承認を要求することが可能である。他の実施形態では、閾値を超える態様でアプリケーションが変更される場合にユーザの承認を要求することが可能である。かかる閾値は、例えば、ユーザ115、レビューア150、アプリケーションハブ100のディストリビュータ（distributor：配布者）などにより設定することが可能である。該閾値は、例えば、更新により（該更新の結果としてデータストア120内の新しいデータがアクセスされるか否か、又は該更新が効率の改善及び／又はアプリケーションのバグ修正に関するものであるか否かにかかわらず）アプリケーションに追加され又はアプリケーションから削除される機能に関連するものとすることが可能である。レビューア150は、更新の記述において、該更新がアプリケーションの実行に与えることになる影響の大きさを示すことが可能である。
【００２３】
アプリケーションハブ100はまた、サービスプロバイダ140、レビューア150、アプリケーションハブ100のディストリビュータ、利害関係のある第三者等に様々な保証を送信することが可能である。かかる保証は、例えば、アプリケーションハブ100に関連するバージョン情報、アプリケーションハブ100が動作している装置に関連する情報などに関するものとすることが可能である。一実施形態では、これら保証は、アプリケーションハブ100が期待通りに動作することを保証する信頼の根源（root）を提供するためにTCGプロトコルを使用して作成された信頼できるブートレコードを含むことが可能である。該保証により、例えば、サービスプロバイダ140は、アプリケーションハブ100上で実行しているアプリケーションが安全であること（例えば、アプリケーションが要求された通りに動作し、及び要求されたデータにアクセスすること）を知ることが可能となる。他の保証は、例えば、アプリケーションハブ100のために利用可能な処理リソース等に関するものとすることが可能である。
【００２４】
実施形態によっては、データストア120は、別々の又は重複する一組の装置110を制御する複数のユーザ115（例えば、一世帯の家族）により管理されるデータを格納することが可能である。かかる実施形態では、アプリケーションハブ100は、ユーザ115間での切り替えを可能とする様々なアクセス制御機能を実行することが可能である。これらのアクセス制御機能により、特定のユーザにデータストア120内の特定のタイプのデータにアクセスすることを許可する一方で、それと同じタイプの他のユーザのデータに対する該他のユーザのアクセスを阻止することが可能となる。複数のユーザからのデータがデータストア120内のデータのアクセスを許可する場合に、強化された機能をアプリケーションが提供する場合、アプリケーションハブ100は、かかる機能の成功裏の動作を容易にすることが可能である。
【００２５】
ユーザ115にアプリケーションのインストール及び実行を促すために、サービスプロバイダ140、レビューア150、アプリケーションハブ100のディストリビュータなどは、ユーザ115に様々なインセンティブを提供することが可能である。かかるインセンティブは、例えば、割引又は利益をユーザ115に提供すること、装置110の機能を利用可能にすることなどとすることが可能である。様々な態様で、アプリケーションハブ100は、かかるインセンティブの一部を管理することを責務とすることが可能である。一例として、アプリケーションハブ100は、ユーザ115がインセンティブを獲得したときを記録し、送信し、又はその他の態様で処理することが可能である。他の実施形態では、アプリケーションハブ100は、インセンティブに関連する機能を実行するよう装置110を制御することが可能である。サービスプロバイダ140、アプリケーション、又は他のエンティティが、ユーザ115によるインセンティブの受け取りを容易にすることに関与することが可能である。
【００２６】
以下の説明では、実施例の完全な理解を提供するために多数の具体的な詳細が記載されていることが理解されよう。しかし、本実施形態は、かかる特定の詳細に制限されることなく実施することが可能であることが理解されよう。他の実施形態では、実施形態の説明を不必要に不明瞭にすることを回避するために、方法及び構造について詳細に説明しない場合がある。また、かかる実施形態は、互いに組み合わせて用いることが可能である。
【００２７】
本書で用いる「モジュール」は、ハードウェア、ファームウェア、コンピュータ読み取り可能媒体に記憶され又はマシン上で実行中のソフトウェア、及び／又は（１つ以上の）機能又は（１つ以上の）アクションを実行するため、及び／又は別のモジュール、方法、及び／又はシステムから所定の機能又は動作を生じさせるための各々の組み合わせを含むことが可能である（但し、それらには限定されない）。モジュールは、ソフトウェア制御式マイクロプロセッサ、ディスクリートモジュール、アナログ回路、デジタル回路、プログラムされたモジュールデバイス、命令を含むメモリデバイスなどを含むことが可能である。モジュールは、ゲート、複数のゲートの組み合わせ、又は他の回路要素を含むことが可能である。複数の論理モジュールについて説明した場合、該複数の論理モジュールは、１つの物理モジュールに組み込むことが可能である。同様に、単一の論理モジュールについて説明した場合、該単一の論理モジュールは、複数の物理モジュールに分散させることが可能である。
【００２８】
図２は、アプリケーションの承認に関連する例示的なシステム200を示している。システム200は、データストア220を含む。データストア220は、一組の装置298から収集されたデータを格納することが可能である。該一組の装置298の各々は、ユーザ299により管理することが可能である。実施形態によっては、データストア220は、複数のユーザ299により維持される複数組の装置298から収集されたデータを格納することが可能である。
【００２９】
様々な実施形態において、システム200はまた、ユーザ299により管理される装置298上で動作することが可能である。このため、システム200を動作させる装置は、例えば、パーソナルコンピュータ、作業用コンピュータ、仮想マシン、モバイル装置（例えば、携帯電話、タブレット）などとすることが可能である。他の実施形態では、システム200は、ユーザ299に提供されるクラウドソリューションにおける１つのサービスとして動作することが可能である。該クラウドサービスは、例えば、装置298から受信したデータをデータストア220に格納し、及びユーザ299がデータストア220内のデータについて実行することが可能なアプリケーション212を介して該データへのアクセスを提供できるようにすることが可能である。
【００３０】
システム200はまた、パッケージ受信モジュール230を含む。パッケージ受信モジュールは、アプリケーションパッケージ210を受信することが可能である。アプリケーションパッケージ210は、アプリケーション212を含むことが可能である。アプリケーション212は、サービスプロバイダ290により提供することが可能である。アプリケーションパッケージ210はまた、アプリケーションレビュー214を含むことが可能である。アプリケーションレビュー214は、レビュープロバイダ295により提供することが可能である。アプリケーションパッケージ210は、例えば、アプリケーション212の実行に関するユーザ299への利益の記述、アプリケーション212の実行の承認を取り下げる方法の記述、アプリケーションにより送信されることになるデータストア220からのデータの記述、データストア220からのデータがアプリケーション212により送信される態様の記述、アプリケーション212により送信されたデータが該データの受信者により使用される態様の記述、アプリケーション212により送信されたデータストア220からのデータを受信することになる者の記述、アプリケーション212が実行されることになるときを記述するタイムテーブル、アプリケーション212によるリソース消費の記述、サービスプロバイダ290の識別、サービスプロバイダ290のデジタル署名、レビュープロバイダ295のデジタル署名などを含むことが可能である。
【００３１】
様々な実施形態において、パッケージ受信モジュール230は、サービスプロバイダ290、レビュープロバイダ295、アプリケーションストア（図示せず）などから、アプリケーションパッケージ210を受信することが可能である。他の実施形態では、アプリケーションパッケージ210の複数の異なる部分を複数の異なるソースから受信することが可能である。説明のため、アプリケーション212はサービスプロバイダ290から受信され、アプリケーションレビュー214はレビュープロバイダ295から受信され、及びアプリケーション210の他の構成要素はそれぞれの出所から適宜受信される。
【００３２】
システム200はまた、検証モジュール235を含む。検証モジュール235は、アプリケーションパッケージ210の内容が適切な資格を有することを確実にすることが可能である。実施形態によっては、検証モジュール235は、アプリケーションパッケージ210の内容に関連付けられたデジタル署名に基づいて、該アプリケーションパッケージ210の該内容が適切な資格を有することを確実にすることが可能である。該デジタル署名は、サービスプロバイダ290、レビュープロバイダ295、第三者（例えば、認証局）などのうちの１つ以上により提供することが可能である。他の検証技術（例えば、公開／秘密鍵暗号化）を使用して、アプリケーションパッケージ210の内容が適切な資格を有すること（例えば、アプリケーションパッケージ210の各部が有効である日付、アプリケーションパッケージ210の各部が更新されておらず及びそのレビューが取り消されていないことを確認するためのオンラインチェック）を確実にすることが可能である。
【００３３】
システム200はまた、レビュー提示モジュール240を含む。レビュー提示モジュール240は、アプリケーション212の記述をユーザ299に提供することが可能である。アプリケーション212の記述は、アプリケーション212のレビュー214から生成することが可能である。アプリケーション212の記述は、アプリケーション212を実行することにより影響を受けることになるデータストア220からのデータを識別することが可能である。様々な実施形態において、アプリケーション212の記述は、データストア220からのどのデータがアプリケーション212によりアクセスされることになるか、データストア220からのデータがアプリケーション212により変更されることになるか、アプリケーション212によりどのデータが送信されることになるか、アプリケーション212により第三者（例えば、サービスプロバイダ290）に送信される統計情報の基礎としてどのデータが使用されることになるかを記述することが可能である。
【００３４】
システム200はまた、アプリケーション制御モジュール250を含む。アプリケーション制御モジュール250は、ユーザ299がアプリケーション212の実行を承認した場合にアプリケーション212の実行を制御することが可能である。アプリケーション212の実行を制御することは、例えば、アプリケーション212の正しいインストールを確実にすること、特定の計画された時間にアプリケーション212を開始することなどを含むことが可能である。一実施形態では、複数のアプリケーション212の実行を制御することは、アプリケーション212を実行すべきとき及び／又は頻度に関する要件、処理要件などに基づいてスケジューリングを行うことを含むことが可能である。該スケジューリングに基づいて、アプリケーション制御モジュール250は、様々な時間にアプリケーションを開始させ、かかる時間中に利用可能なリソースを管理するなどすることが可能である。
【００３５】
図３は、アプリケーションの承認に関連する例示的なシステム300を示している。システム300は、システム200（図２）に関して上述したものと同様の多くの要素を含む。例えば、システム300は、ユーザ399により管理される一組の装置398からのデータを格納するデータストア320、サービスプロバイダ390からのアプリケーション312及びレビュープロバイダ395からのアプリケーション312のレビュー314を含むアプリケーションパッケージ310を取得するパッケージ受信モジュール330を含む。システム300はまた、検証モジュール335、レビュー提示モジュール340、及びアプリケーション制御モジュール350を含む。
【００３６】
システム300はまた、データ管理モジュール360を含む。データ管理モジュール360は、アプリケーション312によるデータストア320内のデータへのアクセスを制御することが可能である。データストア320内のデータへのアクセスは、アプリケーションパッケージ130からのアプリケーション312のレビュー314に基づいて制御することが可能である。一実施形態として、アプリケーション312のレビュー314が、アプリケーション312が特定の装置398に関連するデータストア320内のデータにアクセスすることになることを示す場合、データ管理モジュール360は、アプリケーション312がデータストア320に格納されている他の装置398に関連するデータにアクセスするのを阻止することが可能である。データ管理モジュール360は、例えば、アプリケーション312のレビュー314に記載された範囲を超えるクエリを禁止し、データに対するクエリ応答をアプリケーション312のレビュー314に記載された範囲内に制限するなどにより、アクセス制御を実行することが可能である。他の実施形態では、データ管理モジュール360は、アプリケーション312のレビュー314においてレビュープロバイダ395により検証されたサービスプロバイダ390からの記述に基づいて、データストア320内のデータへのアクセスを制御することが可能である。
【００３７】
実施形態によっては、データ管理モジュール360は、アプリケーション312がアクセスすることが可能であるデータストア320からのデータを指定するためのインタフェイスをユーザ399に提供することが可能である。かかる実施形態では、データ管理モジュール360は、ユーザ399により指定されたデータに基づいて、アプリケーション312によるデータストア320内のデータへのアクセスを制御することが可能である。同様に、アプリケーション制御モジュール350は、アプリケーション312の実行の他の属性（例えば、タイミング、リソース使用量）をユーザ399が制御することを可能にするインタフェイスを該ユーザ399に提供することが可能である。かかる他の属性に対してユーザ399に与えられる制御の程度は、例えば、アプリケーション312のレビュー314により指示されるアプリケーション仕様（例えば、処理要件）によって決定することが可能である。
【００３８】
システム300はまた、更新モジュール370を含む。更新モジュール370は、アプリケーション312のための更新パッケージ（図示せず）を受信することが可能である。更新パッケージは、サービスプロバイダ390からのアプリケーション312の更新命令を含むことが可能である。様々な実施形態において、該更新命令は、置換用アプリケーション、更新モジュール312、及び／又はアプリケーション312のためのデータ、実行された際にアプリケーション312に変更を生じさせる命令などとすることが可能である。更新パッケージはまた、レビュープロバイダ395からの更新命令の記述を含むことが可能である。実施形態によっては、更新モジュール370は、ユーザ399からの許可を伴わない更新命令の実行を阻止することが可能である。これは、更新が、ユーザ399の許可なしにデータストア320内の新しいデータにアクセスすることを防止するために望ましいものとなり得る。他の実施形態では、アプリケーション312に対する更新は、アプリケーション312の機能及び／又はアプリケーション312によりアクセスされるデータストア320内のデータを変更しない軽微な変更（例えば、バグ修正、性能の改善）とすることが可能である。かかる更新は、ユーザ399によるレビューなしで実行するために更新モジュール370により許可することが可能である。実施形態によっては、更新モジュール370によってユーザ399からの実行の承認が求められるか否かは、更新命令によって生じるアプリケーション312に対する変更が、指定された閾値を超えるか否かによって決定することが可能である。該閾値は、例えば、システム300のディストリビュータ、ユーザ399、レビュープロバイダ395、サービスプロバイダ390などによって設定することが可能である。
【００３９】
システム300はまた、システム検証モジュール380を含む。システム検証モジュールは、システム300の状態に関する情報をレビュープロバイダ395及びサービスプロバイダ390の少なくとも一方に提供することが可能である。システム300の状態に関する情報は、システム300が動作している装置、システム300のバージョン、システム300のセキュリティ、システム300が動作している装置のセキュリティなどに関するものとすることが可能である。実施形態によっては、検証モジュール380はまた、アプリケーション312を実行するためにリソースが利用可能であることを検証することが可能である。これは、例えば、システム300又はその構成要素がユーザ399に対してクラウドサービスとして動作し、及び該クラウドサービスが、データストア320についてクエリを実行するために固定され又は限定されたリソースをユーザ399に提供する場合に、望ましいものとなり得る。同様に、リソースが利用可能であることを検証することは、ユーザ399が、それぞれが様々なリソースを使用する異なるデータセットの複数のアプリケーション312を実行している場合に、望ましいものとなり得る。このため、この実施形態では、システム検証モジュール380は、システム300が、所与の時間ウィンドウ中にスケジューリングされた他のアプリケーションを考慮して、該所与の時間ウィンドウ内でアプリケーションを実行するのに十分なリソースを有することを確実にすることが可能である。
【００４０】
システム300はまた、装置制御モジュール385を含む。装置制御モジュール385は、所与のアクションを実行するように一組の装置398の各々を制御することが可能である。該アクションは、例えば、アプリケーション312からの命令、サービスプロバイダ390からの命令、レビュープロバイダ390からの命令、アプリケーションパッケージ310からの命令などに応じて制御することが可能である。様々な実施形態において、該アクションは、以前の非アクティブな機能をアクティブにすること、アプリケーション312の実行の報酬をユーザ399に与えることなどを装置398に行わせることが可能である。
【００４１】
図４は、アプリケーションの承認に関する例示的な方法400を示している。方法400は、プロセッサ実行可能命令を記憶した非一時的なプロセッサ読み取り可能媒体で実施することが可能である。該命令は、プロセッサによる実行時に該プロセッサに方法400を実行させることが可能である。他の実施形態では、方法400は、複数の論理ゲート及び／又は特定用途向け集積回路（ASIC）のRAM内に存在することが可能である。
【００４２】
方法400は、ブロック410でアプリケーションパッケージを受信することを含む。該アプリケーションパッケージは、サービスプロバイダからのアプリケーションを含むことが可能である。該アプリケーションパッケージはまた、レビュープロバイダからのアプリケーションのプライバシーの記述を含むことが可能である。該アプリケーションは、一組の装置から取得した個人データについて動作することが可能である。該一組の装置の各々は、ユーザにより管理することが可能である。
【００４３】
方法400はまた、ブロック420でアプリケーションパッケージを検証することを含む。アプリケーションパッケージを検証することにより、該アプリケーションパッケージの構成要素が適切な資格を有することを確実にすることが可能である。アプリケーションパッケージを検証することは、例えば、アプリケーションの構成要素に関連付けられたデジタル署名に依存することが可能である。異なる構成要素を異なるエンティティにより署名して、アプリケーションが記述された通りに及び記述された範囲を超えずに実行されることをユーザに証明することが可能である。
【００４４】
方法400は、ブロック440で、アプリケーションの要約を生成することも含む。アプリケーションの要約は、プライバシーの記述から生成することが可能である。アプリケーションの要約は、ユーザのために生成することが可能である。アプリケーションの要約は、個人データのどの部分がアプリケーションによりアクセスされるかを記述することが可能である。アプリケーションの要約はまた、個人データの一部がどのように送信されるかを記述することが可能である。
【００４５】
方法400はまた、ブロック450で、許可を受信することを含む。許可は、ユーザから受信することが可能である。許可は、個人データ上のデータについて実行することがアプリケーションに許可されていることを示すことが可能である。実施形態によっては、ユーザからの許可は、アプリケーションによるアクセスが承認された特定の個人データを識別することが可能である。
【００４６】
方法400は、ブロック460で、アプリケーションの実行を制御することを含む。アプリケーションの実行は、ユーザからの許可に基づいて制御することが可能である。アプリケーションによるアクセスが承認された特定の個人データをユーザからの許可が識別する実施形態では、アプリケーションの実行を制御することは、アクセスを承認するものとしてユーザにより指定された個人データとは別のデータにアプリケーションがアクセスすることを阻止することを含むことが可能である。
【００４７】
図５は、アプリケーションの承認に関する方法500を示している。方法500は、方法400（図４）に関して上述したものと同様の幾つかの動作を含む。例えば、方法500は、ブロック510でアプリケーションパッケージを受信し、ブロック520でアプリケーションパッケージを検証し、ブロック540でアプリケーションの要約を生成し、ブロック550でユーザから許可を受け取り、ブロック560でアプリケーションの実行を制御することを含む。
【００４８】
方法500はまた、ブロック530で、アプリケーションを実行するためにリソースが利用可能であることを検証することを含む。該リソースは、プロセッサの可用性、メモリなどを含むことが可能である。実施形態によっては、リソースの可用性の検証は、例えば、アプリケーションが動作することが許可される時間などに関してユーザにより課せられた制限に基づくことが可能である。どのリソースがアプリケーションにより使用されることになるかは、例えば、アプリケーションパッケージの構成要素により指定することが可能である。アプリケーションにより使用されるリソースが（例えば、システムの制限により、又は他のアプリケーションが動作しているために）利用できないと判定された場合、この情報は、ユーザ、サービスプロバイダ、レビュープロバイダなどのうちの少なくとも１つに報告することが可能である。更に、アプリケーションを実行するためのリソースが利用できない場合には、アプリケーションを実行することができないため、方法500に関する他のアクションを実行しないことが可能である。
【００４９】
方法500はまた、ブロック570において、装置状態を検証することを含む。ここでは、方法500を実行している装置の装置状態を検証することが可能である。装置状態は、例えば、該装置のリソースの可用性、該装置の構成要素、該装置に接続された他の装置、該装置のセキュリティ状態などに関するものとすることが可能である。その検証結果は、ユーザ、サービスプロバイダ、レビュープロバイダなどのうちの１つ以上に報告することが可能である。装置の状態を検証することにより、たとえば、セキュアでない装置でアプリケーションが実行されるのを阻止することが容易となる。装置の状態を検証することは、例えば、方法500を実行する装置の状態に関する保証をサービスプロバイダに提供することが可能である。装置の状態を検証することは、サービスプロバイダが、例えば、アプリケーションを実行することによりユーザに提供されることになる利益と引き換えにユーザに約束したデータを受信したい場合に望ましいものとなり得る。
【００５０】
方法500はまた、ブロック580で、アプリケーションの更新及び更新の記述を受信することを含む。アプリケーションの更新はサービスプロバイダから受信し、更新の記述はレビュープロバイダから受信することが可能である。方法500はまた、ブロック585において、更新の記述が、指定された閾値を超える態様で更新がアプリケーションを変更することを示しているか否かを判定することを含む。該変更が指定された閾値を超えない場合には、方法500は、アクション595で、更新の実行の制御へと進むことが可能である。該変更が、アプリケーションによりどのデータがアクセスされることになるかに影響を与えない場合、該変更は、指定された閾値を超えないものとなり得る。元のアプリケーションの検証のために実行されたプロセスと同様に、アプリケーションの更新の検証もまた実行する（例えば、更新のデジタル署名及びその構成要素が受信されたことをチェックする）ことが可能である。
【００５１】
更新が、指定された閾値を超える態様でアプリケーションを変更することになる場合、方法500は、アクション590で更新の要約を生成することへと進むことが可能である。更新の要約は、更新の記述から生成することが可能である。更新の要約は、ユーザに提供することが可能である。更新の要約は、アプリケーションの更新を実行した結果として、個人データのどの部分にアクセスされることになるかを記述することが可能である。更新の要約はまた、個人データの更新された部分がどのように送信されるかを記述することが可能である。ユーザーが変更を承認する場合、該ユーザーは更新の許可を提供することが可能である。更新の許可を受信すると、方法500は、ブロック595で、更新の実行を制御することへと進むことが可能である。更新の実行は、ユーザからの更新の許可に基づいて制御することが可能である。
【００５２】
図６は、アプリケーションの承認に関する方法600を示している。方法600は、ブロック610で、アプリケーションパッケージを生成することを含む。アプリケーションパッケージは、サービスプロバイダにより生成されたアプリケーションを含むことが可能である。アプリケーションパッケージはまた、レビュープロバイダから受信したアプリケーションのレビューを含むことが可能である。アプリケーションのレビューは、アプリケーションによりアクセスされることになるデータを識別するプライバシー情報を指定することが可能である。実施形態によっては、方法600はまた、レビュープロバイダ（図示せず）にアプリケーションを提供することを含むことが可能である。アプリケーションをレビュープロバイダに提供する場合には、該アプリケーションにより使用されるデータ、該データが操作されることになる態様、及び該データが送信されることになる者についての記述もまた提供することが可能である。レビュープロバイダは、次いでかかる記述を検証し、アプリケーションパッケージに含めるためのレビューを提供することが可能である。アプリケーションパッケージはまた、例えば、アプリケーションのための検証情報、アプリケーションのレビューのための検証情報、アプリケーションの機能に関する他の詳細（例えば、リソース消費量、ユーザの利益）などを含むことが可能である。
【００５３】
方法600はまた、ブロック620において、アプリケーションハブにアプリケーションを提供することを含む。該アプリケーションハブは、ユーザにより管理される装置上にあることが可能である。該アプリケーションハブは、アプリケーションパッケージの内容を検証することが可能である。該アプリケーションハブはまた、アプリケーションのレビューから生成された該アプリケーションの記述をユーザに提供することが可能である。該アプリケーションハブはまた、アプリケーションを実行するための承認をユーザに求めることが可能である。
【００５４】
方法600はまた、ブロック630で、アプリケーションから信号を受信することを含む。該信号は、アプリケーションによりアクセスされるデータに基づいて生成された情報を含むことが可能である。したがって、方法600は、サービスプロバイダが該サービスプロバイダのアプリケーションをユーザに配布し及び該アプリケーションから情報を受信する態様を示したものである。
【００５５】
図７は、例示的なシステム及び方法並びにその等価物が動作する例示的なコンピューティング装置を示している。該例示的なコンピューティング装置は、バス710により接続されたプロセッサ710及びメモリ720を含むコンピュータ700とすることが可能である。コンピュータ700は、アプリケーション承認モジュール740を含む。アプリケーション承認モジュール740は、該例示的なシステム及び方法などに関して上述した様々な機能を単独で又は組み合わせて実行することが可能なものである。異なる実施形態では、アプリケーションの承認モジュール740は、ハードウェア、ソフトウェア、ファームウェア、特定用途向け集積回路、及び／又はそれらの組み合わせという形で、プロセッサ実行可能命令を格納した非一時的なコンピュータ読み取り可能媒体として実施することが可能である。
【００５６】
命令はまた、メモリ720に一時的に格納され、次いでプロセッサ710により実行される、データ750及び／又はプロセス760として、コンピュータ700に提示することが可能である。プロセッサ710は、デュアルマイクロプロセッサ及びその他のマルチプロセッサアーキテクチャを含む様々なプロセッサとすることが可能である。メモリ720は、不揮発性メモリ（例えば、リードオンリーメモリ）及び／又は揮発性メモリ（例えば、ランダムアクセスメモリ）を含むことが可能である。メモリ720はまた、例えば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、フラッシュメモリカード、光ディスクなどとすることが可能である。したがって、メモリ720は、プロセス760及び／又はデータ750を格納することが可能である。コンピュータ700は、多数の構成（図示せず）で、他のコンピュータ、装置、周辺機器などを含む他の装置と関連付けることが可能である。
【００５７】
本開示の実施形態の上記説明は、当業者が本開示を作成し又は使用することを可能にするために提供されたものであることが理解されよう。かかる実施形態に対する様々な修正は、当業者には自明のところであり、本書で規定する一般的な原理は、本開示の思想又範囲から逸脱することなく他の実施形態にも適用することが可能である。したがって、本開示は、本書で示した実施形態に限定することを意図したものではなく、本書で開示した原理及び新規な特徴と一致する最も広い範囲が認められるべきである。
【図１】
2019503005.tif 000003
【図２】
2019503005.tif 000004
【図３】
2019503005.tif 000005
【図４】
2019503005.tif 000006
【図５】
2019503005.tif 000007
【図６】
2019503005.tif 000008
【図７】
2019503005.tif 000009
【国際調査報告】
2019503005.tif 000010
2019503005.tif 000011