(57)【要約】  アプリケーションストアアプリケーションをフィルタリング及びプロモーティングする方法を説明する。この方法を用いて、フィルタリングされたアプリケーション情報及び／またはアプリケーションプロモーションをクライアントデバイスに提供することができる。このフィルタリングとプロモーティングは、クライアントデバイスの構成と機能を既述するシステム情報に少なくとも部分的に基づくことができる。一又は複数の実施形態では、クライアントデバイスの様々なシステム情報が検出される。検出されたクライアントデバイスのシステム情報を用いて、アプリケーションカタログ中のアプリケーションデータをフィルタリングする。アプリケーションカタログとのインターラクションのためにクライアントデバイスに提供されるページ情報が、フィルタリングされたアプリケーションデータを用いて確認される。クライアントデバイスが、検出されたシステム情報に基づいて選択された、フィルタリングされたアプリケーション情報及び／またはプロモーションを有するページを有する目標アプリケーションストアページをレンダリングするには、ページ情報で十分である。
2014512039.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスにより実行された時に、前記コンピューティングデバイスに、
クライアントデバイスのシステム情報を検出するステップと、
前記クライアントデバイスについて検出されたシステム情報に基づき、アプリケーションカタログ中のアプリケーションデータをフィルタリングするステップと、
フィルタリングされたアプリケーションデータを用いて、前記アプリケーションカタログとインターラクションするページ情報を確認するステップと、
前記アプリケーションカタログとのインターラクション用のページを前記クライアントデバイスがレンダリングするのに十分な確認済みページ情報を、前記クライアントデバイスに送信するステップと
を実行するように構成されたリソースマネージャモジュールをインプリメントさせる命令を格納した一または複数のコンピュータ読み取り可能記憶媒体。
【請求項２】
前記システム情報は、前記クライアントデバイスのハードウェア構成に関する情報を含む、
請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項３】
前記システム情報は、前記クライアントデバイスに割り当てられたデバイスクラスに関する情報を含む、請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項４】
前記クライアントデバイスに割り当てられたデバイスクラスは、前記クライアントデバイスのデバイスタイプを示すように構成された、請求項３に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項５】
前記クライアントデバイスに割り当てられたデバイスクラスは、前記クライアントデバイスの一または複数のハードウェアコンポーネントを示すように構成された、請求項３に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項６】
前記クライアントデバイスのシステム情報を検出するステップは、前記サービスプロバイダのリソースにアクセスする、前記クライアントデバイスからの要求と併せて、前記クライアントデバイスによりネットワークを介してサービスプロバイダに提供されたシステム情報を収集するステップを有する、請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項７】
前記クライアントデバイスのシステム情報を検出するステップは、前記クライアントデバイスに関連するクライアントアカウントを参照して、前記システム情報を取得するステップを有する、
請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項８】
前記クライアントデバイスの検出されたシステム情報に基づいて前記アプリケーションカタログ中のアプリケーションデータをフィルタリングするステップは、前記アプリケーションデータをフィルタリングして、前記検出されたシステム情報により記述される前記クライアントデバイスのデバイス構成にターゲッティングしたアプリケーションを特定するステップを有する、
請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項９】
前記クライアントデバイスについて検出されたシステム情報に基づき、アプリケーションカタログ中のアプリケーションデータをフィルタリングするステップは、
前記検出されたシステム情報を用いて前記クライアントデバイスの構成と機能を決定するステップと、
前記クライアントデバイスの決定された構成と機能にマッチする前記アプリケーションデータにより記述されたアプリケーションを選択するステップとを有する、
請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【請求項１０】
前記ページ情報は、前記クライアントデバイスが、一または複数のフィルタされたアプリケーションカタログのビューを選択的に生成できるようにする、フィルタされたアプリケーションデータを含む、請求項１に記載の一または複数のコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションストアアプリケーションのフィルタリングとプロモーティングに関する。
【背景技術】
【０００２】
タブレットデバイス、ラップトップ、モバイルフォン、デスクトップコンピュータなどを含む様々なコンピューティングデバイスのユーザが利用できるアプリケーションコンテンツの量は増え続けている。しかし、ユーザが利用できるアプリケーションの選択肢が増えるだけでは、ユーザが、関係を有し興味をもつアプリケーションを見つけるのは困難になる。時間が限られたユーザは、多数のアプリケーションの中から検索するのに長い時間をかけたくなく、自分のデバイスに対して「ベストな」アプリケーションを見つけられないかも知れない。これにより、ユーザ体験が損なわれ、アプリケーション開発者の機会が制限される。第三者によるアプリケーションの推奨やよく使われているアプリケーションのリストを用いることにより、ユーザが、関係を有するアプリケーションを見つけるのを支援する。しかし、こうした推奨リストは、アプリケーションコンテンツの量が増えるにつれて、急増し、ユーザがナビゲーションするのに非常に面倒になる。
【発明の概要】
【０００３】
本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。
【０００４】
アプリケーションストアアプリケーションをフィルタリング及びプロモーティングする方法を説明する。この方法を用いて、フィルタリングされたアプリケーション情報及び／またはアプリケーションプロモーションをクライアントデバイスに提供することができる。このフィルタリングとプロモーティングは、クライアントデバイスの構成と機能を既述するシステム情報に少なくとも部分的に基づくことができる。一又は複数の実施形態では、クライアントデバイスの様々なシステム情報が検出される。検出されたクライアントデバイスのシステム情報を用いて、アプリケーションカタログ中のアプリケーションデータをフィルタリングする。アプリケーションカタログとのインターラクションのためにクライアントデバイスに提供されるページ情報が、フィルタリングされたアプリケーションデータを用いて確認される。クライアントデバイスが、検出されたシステム情報に基づいて選択された、フィルタリングされたアプリケーション情報及び／またはプロモーションを有するページを有する目標アプリケーションストアページをレンダリングするには、ページ情報で十分である。
【図面の簡単な説明】
【０００５】
複数の図面にわたり同じ数字を用いて同じ機能を示した。
【図１】一又は複数の実施形態による、ここに説明する様々な原理を利用できる動作環境を示す図である。
【図２】一又は複数の実施形態による方法のステップを説明するフロー図である。
【図３】一又は複数の実施形態による方法のステップを説明するフロー図である。
【図４】一又は複数の実施形態による方法のステップを説明するフロー図である。
【図５】一又は複数の実施形態によるユーザインタフェースの一例を示す図である。
【図６】一又は複数の実施形態をインプリメントするのに利用できるコンピューティングシステムの一例を示す図である。
【発明を実施するための形態】
【０００６】
概要
アプリケーションストアアプリケーションをフィルタリング及びプロモーティングする方法を説明する。この方法を用いて、フィルタリングされたアプリケーション情報及び／またはアプリケーションプロモーションをクライアントデバイスに提供することができる。このフィルタリングとプロモーティングは、クライアントデバイスの構成と機能を既述するシステム情報に少なくとも部分的に基づくことができる。一又は複数の実施形態では、クライアントデバイスの様々なシステム情報が検出される。検出されたクライアントデバイスのシステム情報を用いて、アプリケーションカタログ中のアプリケーションデータをフィルタリングする。アプリケーションカタログとのインターラクションのためにクライアントデバイスに提供されるページ情報が、フィルタリングされたアプリケーションデータを用いて確認される。クライアントデバイスが、検出されたシステム情報に基づいて選択された、フィルタリングされたアプリケーション情報及び／またはプロモーションを有するページを有する目標アプリケーションストアページをレンダリングするには、ページ情報で十分である。
【０００７】
以下の説明では、「動作環境」という名称のセクションを設け、一又は複数の実施形態で利用できる環境を説明する。その後、「方法例」という名称のセクションにより、一又は複数の実施形態によるアプリケーションストアアプリケーションをフィルタリングとプロモーティングする方法の例を説明する。次に、「ユーザインタフェース例」という名称のセクションにより、一又は複数の実施形態によるユーザインタフェース例を説明する。最後に、「システム例」という名称のセクションにおいて、一又は複数の実施形態をインプリメントするのに利用できるコンピューティングシステムとデバイスの例を説明する。
【０００８】
動作環境
図１は、一又は複数の実施形態による動作環境１００を示す。環境１００はクライアント１０２を含む。クライアント１０２は、一又は複数のプロセッサ１０４と、一又は複数のコンピュータ読み取り可能媒体１０６と、コンピュータ読み取り可能媒体上にあってプロセッサにより実行可能な一又は複数のアプリケーション１０８とを有する。クライアント１０２は、限定ではなく例として、デスクトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）等のハンドヘルドコンピュータ、携帯電話、セットトップボックスなどの、任意のコンピューティングシステム及び／またはデバイスとして実施できる。クライアント１０２を含む様々なシステム及び／またはデバイスを表すコンピューティングシステムの一例を図６に示して後で説明する。
【０００９】
コンピュータ読み取り可能媒体は、限定ではなく例として、一般的にはコンピューティングデバイスに関連するすべての形式の揮発性及び不揮発性のメモリ及び／又は記憶媒体を含む。かかる媒体には、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスク、リムーバブルメディアなどが含まれる。コンピュータ読み取り可能媒体は、「コンピュータ読み取り可能記憶媒体」と「通信媒体」の両方を含み得る。これらの例は、図６に示したコンピューティングシステム例中で説明する。
【００１０】
また、クライアント１０２は、通信モジュール１１０の形式のソフトウェアアプリケーションを含む。通信モジュール１１０は、他の様々なエンティティ（例えば、他のクライアント、プロバイダ、サービス、ウェブサイトなど）と通信やインターラクションができるクライアント１０２の機能を表す。例えば、通信モジュール１１０はウェブブラウザとして構成されてもよい。他のエンティティとのインターラクションには、例えば、エンティティ間での様々な形式（例えば、電子メール、インスタントメッセージ、テキストメッセージなど）の電子的メッセージの送受信と、他のエンティティからのリソース（例えば、コンテンツとサービス）の取得と、オンラインアプリケーションカタログからの様々なアプリケーション１０８のアクセス及び／またはダウンロードとが含まれ得る。
【００１１】
クライアント１０２は、アプリケーションストアモジュール１１１も含む。アプリケーションストアモジュール１１１は、様々なアプリケーション１０８をクライアントに利用可能にできるオンラインアプリケーションデータベース、カタログ、またはストア（例えば、アプリケーションマーケットプレイス）へのクライアントのアクセスを可能にする機能を表す。アプリケーションストアモジュール１１１は、様々な方法で実施でき、アプリケーション１０８のデータベースへのアクセスやナビゲーション、アプリケーションの選択及び／または購入、及びクライアント１０２へのアプリケーションのダウンロードを容易にする。アプリケーションストアモジュール１１１は、以上説明した及び以下説明する、アプリケーションをフィルタリング及びプロモーティングする方法の態様を実施するようさらに構成されていてもよい。
【００１２】
アプリケーションストアモジュール１１１は、スタンドアロンクライアントアプリケーションとして、及び／または通信モジュール１１０のコンポーネントとして、例えばウェブブラウザのアドインとして実施できる。アプリケーションストアモジュール１１１は、（例えば、「クラウドで」）ネットワークを介してサービスプロバイダとクライアント１０２がアクセスして実行できるウェブホストのアプリケーションとして実施することもできる。このように、アプリケーションストアモジュール１１１は、構成や機能が異なり得るクライアントデバイスごとに異なる方法で実施できる。
【００１３】
例えば、クライアント１０２は、インターネットなどのネットワーク１１２を介して、一または複数のサービスプロバイダ１１４と、通信可能に結合されており、サービスプロバイダとの間でリソース（例えば、コンテンツとサービス）を送受信できる。図１のサービスプロバイダ１１４は、それぞれ、一または複数のプロセッサ１１６と、一または複数のコンピュータ読み取り可能媒体１１８とを有するように示した。サービスプロバイダ１１４は、一または複数のサーバデバイスにより実施できる。したがって、サービスプロバイダ１１４について表し説明する様々なコンポーネント例は、単一サーバデバイス上に含まれていてもよいし、異なる複数のサーバデバイス間に分割されていてもよい。
【００１４】
サービスプロバイダ１１４は、ソースマネージャモジュール１２０を含むものとして示した。このソースマネージャモジュール１２０は、サービスプロバイダ１１４により動作可能な、ネットワーク１１２を介して利用可能になる様々なリソース１２２を管理する機能を表す。例えば、様々なリソース１２２は、ウェブページ、ＨＴＭＬページ、アプリケーションＵＩ、その他のユーザインタフェース１２４であってネットワーク１１２を介してクライアント１０２による出力のために通信されるものにより提供できる。リソースマネージャモジュール１２０は、リソース１２２へのアクセス、リソース１２２の性能、ユーザインタフェースの構成、またはリソース１２２に提供するデータなどを管理できる。
【００１５】
概して、サービスプロバイダ１１４によりアクセス可能になるリソース１２２は、一または複数のサービスやコンテンツを含み得る。サービスプロバイダ１１４は、一または複数のウェブサービスやウェブサイトを提供できる。クライアント１０２はリソース１２２にアクセスするため、このウェブサービスやサイトをナビゲートできる。リソース１２２は、一または複数のプロバイダによりネットワークを介して利用可能になるサービスやコンテンツの好適な組合せを含み得る。サービスの例としては、クライアントにアプリケーションのデータベース１０８へのアクセスを管理し提供するアプリケーションストアサービスと、サーチサービスと、電子メールを送受信する電子メールサービスと、クライアント１０２間にインスタントメッセージを提供するインスタントメッセージングサービスと、興味と活動が共通なユーザグループ間で接続とインターラクションを容易にするソーシャルネットワーキングサービスとを含むが、これらに限定されない。別のサービスの例には、ショッピングサービス、ウェブログサービス、生産性サービス、認証サービス、ニュースサービス、広告サービスなどが含まれる。コンテンツには、テキスト、ビデオ、オーディオ、マルチメディアストリーム、アニメーション、画像、ウェブページ、ウェブアプリケーション、デバイスアプリケーション、ブラウザその他のデバイスアプリケーションで表示するコンテンツ、ページ、ＵＲＬ、及び／またはアプリケーションストアモジュール１１１により利用されるリンクなどの様々な組合せを含み得る。
【００１６】
また、サービスプロバイダ１１４は、購入及び／またはダウンロードのためにクライアント１０２に利用可能になるアプリケーションに関する様々な異なるアプリケーションデータ１２８を記憶するように構成された一または複数のアプリケーションカタログ１２６を含むか、それを利用できる。様々なアプリケーションデータ１２８を、ネットワーク１１２を介して一または複数のコンテンツプロバイダ１３０から集めることができる。コンテンツプロバイダ１３０は、開発者、デバイス生産者、その他の、アプリケーションを開発して、サービスプロバイダ１１４により管理され図１に示した環境例１００に表されたアプリケーションストアインフラストラクチャを用いてクライアントにアプリケーションを配信する第三者を表す。コンテンツプロバイダ１３０は、開発したアプリケーションをサービスプロバイダ１１４を通じてパブリッシュできる。これは、アプリケーションカタログ１２６に含めるためにアプリケーションデータ１２８を提供することを含む。もちろん、サービスプロバイダ１１４は、アプリケーションカタログ１２６に自分自身のアプリケーションを含めることもできる。クライアント１０２は、アプリケーションストアモジュール１１１を用いて、アプリケーションカタログ１２６からダウンロードするアプリケーションをナビゲーションし選択することができる。
【００１７】
図１に示したように、アプリケーションを記述するアプリケーションデータ１２８は、アプリケーション詳細１３２、ページ情報１３４、及びフィルタデータ１３６などの様々なデータを含み得る。アプリケーション詳細１３２は、アプリケーションカタログ中のアプリケーションを記述する、識別子、価格情報、カテゴリーデータ、開発者情報、レーティング、説明、プロモーション、ダウンロードＵＲＬまたはアドレスなどの詳細情報を含み得る。ダウンロードするアプリケーションは、アプリケーション詳細１３２の一部として保持することもできる。追加的にまたは代替的に、ダウンロードＵＲＬまたはアドレスを用いて様々なロケーションから、例えばサービスプロバイダ１１４により管理されたダウンロードサーバを通して異なるコンテンツプロバイダ１３０から、クライアント１０２のピアツーピアネットワークを用いて、及び／またはその他の任意の好適なダウンロードメカニズムを用いて、アプリケーションにアクセスできる。
【００１８】
ページ情報１３４は、アプリケーションカタログとのインターラクションのための様々なページを構築及び／または出力するのに用いられる様々なコンテンツを表す。ページ情報１３４は、完全なページ、ページの一部分、ＨＴＭＬその他のマークアップ言語コード、スクリプト、ＵＲＬとリンク、画像、及び／またはその他の一般的にページを構成するのに用いられるデータを含み得る。クライアントがアプリケーションストアモジュール１１１を介してアプリケーションカタログ１２６中をナビゲーションする時、アプリケーションカタログとのインターラクションのためのページをクライアントがレンダリングするのに十分なページ情報１３４をネットワーク１１２で通信できる。これは、サーバサイドで構成されたページ及び／またはクライアントサイドでクライアント１０２がページを構成できる情報の通信を含み得る。
【００１９】
フィルタデータ１３６は、様々な方法でアプリケーションをフィルタするのに用いられるデータを表す。例えば、フィルタデータ１３６を利用して、デバイス構成と機能に基づき、クライアントにアプリケーションをターゲット（target）することができる。アプリケーション開発者は、フィルタデータ１３６を用いて、自分のアプリケーションを、指定したデバイス構成及び機能にマッチさせることができる。それゆえ、デバイス構成及び機能ごとに異なるバージョンのアプリケーションを開発することができる。これには、具体的なハードウェア構成の特定と、その具体的なハードウェア構成で動作するように構成されたアプリケーションのターゲッティング（targeting）とを含み得る。このように、クライアント１０２には、特定のデバイスでうまく機能するように設計され、その特定のデバイスに対してプロモートされた、関連性が高く興味を引くアプリケーションを浮き上がらせ（surface）プロモートする、アプリケーションカタログ１２６をフィルタリングしたビューを提供できる。フィルタデータ１３６を用いて、特定のデバイスではうまく動作しないおそれがあるアプリケーションを隠したり、そのアプリケーションに関する通知を提供したりすることもできる。アプリケーションストアアプリケーションをフィルタリングしプロモートする方法に関しては、以下の図面を参照してさらに詳細を説明する。
【００２０】
他の様々なデータ１３６を設けてもよい。例えば、異なるトピックでアプリケーションを整理しプロモートするのに使えるトピックデータ、アプリケーションサポートデータ、認証データ、クライアントアカウント、及びアカウントデータなどである。
【００２１】
動作環境の例を説明した。ここで、一又は複数の実施形態によるアプリケーションストアアプリケーションをフィルタリングとプロモーティングする方法の例を検討する。
【００２２】
方法例
次のセクションでは、一又は複数の実施形態によるアプリケーションストアアプリケーションをフィルタリングとプロモーティングする方法例のステップを説明するフロー図を説明する。本方法は、任意の好適なハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせに関連して実施できる。少なくともある実施形態では、本方法は、リソースマネージャモジュール１２０を含むまたは利用する図１のサービスプロバイダ１１４などの、好適に構成されたコンピューティングデバイスにより実施できる。
【００２３】
図２は、一又は複数の実施形態による方法のステップを説明するフロー図である。具体的には、図２は、デバイスについて検出されたシステム情報を利用して、アプリケーションカタログ中のアプリケーションをフィルタする方法を示す。
【００２４】
ステップ２００において、デバイスのシステム情報を検出する。デバイスのシステム情報の検出は様々な方法で行える。一例では、リソースマネージャモジュール１２０が一または複数のクライアントデバイス１０２からシステム情報を収集するように動作できる。これは、クライアントデバイスを介して為された、アプリケーションカタログ１２６にアクセスする要求に応じて、行うことができる。例えば、クライアント１０２のアプリケーションストアモジュール１１１は、クライアントデバイスの構成と機能を記述するシステム情報を収集し保つように構成できる。かかるシステム情報は、リソース１２２にアクセスする要求とともに、ネットワーク１１２を介してサービスプロバイダ１１４に提供できる。
【００２５】
他の一アプローチでは、リソースマネージャモジュール１２０は、様々な時にクライアント１０２に問い合わせをして、対応するシステム情報を取得することができる。リソースマネージャモジュール１２０は、この情報を用いて、アプリケーションカタログ１２６のアプリケーションを含むリソース１２２を、選択的にサービスする。さらに他の一アプローチでは、システム情報は、クライアントアカウントに関連して、サービスプロバイダ１１４により収集され保たれる。リソースマネージャモジュール１２０は、クライアント１０２に関連するクライアントアカウントを参照し、対応するシステム情報を検出するように構成できる。
【００２６】
いろいろなシステム情報を収集して利用できる。一般的に、システム情報はクライアント１０２の構成と機能を記述するものである。システム情報は、限定ではなく例示として、クライアントデバイスのハードウェア構成に関する少なくとも何らかの情報を含む。例えば、システム情報は、そのデバイスが無線アンテナ、テレビジョンチューナ、カメラ、ＧＰＳレシーバ、タッチスクリーン、加速度計、ジャイロスコープなどを含むか否かなどの、デバイスに含まれるハードウェアコンポーネントを記述する。また、システム情報は、キーボード、マウス、タッチパッド、スピーカ、プリンタ、スキャナ、その他の周辺デバイスなどの、クライアントデバイスに関連する接続されたまたは接続可能な周辺デバイスも記述できる。さらにまた、システム情報は、メモリ、ストレージ、処理パワー、デバイスアーキテクチャなどの、クライアントの基本的なハードウェア能力を含む。
【００２７】
また、システム情報は、限定ではなく例示として、オペレーティングシステムやその他のデバイスアプリケーションを含む、インストールされたソフトウェアやアプリケーションに関する情報も含み得る。これには、インストールされているアプリケーションや、インストールされているアプリケーションのバージョンの特定が含まれ得る。代替的にまたは追加的に、ある実施形態では、システム情報は、クライアント１０２に関連するデバイスクラスデータを含み得る。デバイスクラスデータは、クライアントごとに割り当てられ、アプリケーションストアアプリケーションをフィルタしプロモートする態様の実施に用いられる、クライアントデバイスのクラスを画定するように構成されている。詳細は、図３を参照して説明する。
【００２８】
ステップ２０２において、デバイスについて検出されたシステム情報に基づき、アプリケーションカタログ中のアプリケーションデータをフィルタする。上記の異なるタイプのシステム情報の組合せを用いて、様々なフィルタリングを行い、アプリケーションカタログ１２６中のアプリケーションを特定し選択することができる。概して、アプリケーションデータ１２８をフィルタして、検出されたシステム情報にターゲット（target）された、またはそれとマッチする、またはそれと一貫性のあるアプリケーションを発見することができる。例えば、ＧＰＳレシーバを用いるように設計されたアプリケーションは、ＧＰＳレシーバを有するデバイスとマッチし、またはそれに準拠し、そうしたデバイスに対して選択される。他方、ＧＰＳアプリケーションは、ＧＰＳレシーバを含まないデバイスに対してもフィルタ出力することもできる。同様に、タッチスクリーンを利用するように開発されたアプリケーションは、タッチスクリーンタブレットデバイスとマッチでき、タッチスクリーンを含まないデスクトップコンピューティングデバイスに対してフィルタ出力することもできる。上記の通り、少なくともある実施形態では、フィルタリングは、デバイスごとに画定され割り当てられたデバイスクラスに基づいてもよい。デバイスクラスを用いてアプリケーションカタログをフィルタする例は、図３を参照して、後で詳しく説明する。
【００２９】
ステップ２０４において、フィルタされたアプリケーションデータを用いて、アプリケーションカタログとインターラクションするページ情報を確認する。ステップ２０６において、アプリケーションカタログとのインターラクション用のページをデバイスがレンダリングするのに十分な確認済みページ情報を、デバイスに送る。例えば、フィルタされたアプリケーションデータを利用して、ページ情報１３４を用いてアプリケーションカタログ１２６とインターラクションするのに用いることができるページを選択、生成、及び／またはレンダリングすることができる。具体的に、フィルタしたアプリケーションカタログのビューを提供する一または複数のページを、任意の好適な方法でクライアント１０２に提供できる。
【００３０】
例えば、確認されたページ情報１３４を用いて、サービスプロバイダ１１４により、クライアント１０２により、及び／またはサービスプロバイダ１１４とクライアント１０２の組合せにより、ページを動的に生成できる。サービスプロバイダ１１４は、アプリケーションストアモジュール１１１による利用のために、クライアント１０２にネットワークを介して提供された予め構成されたページを選択することもできる。他の一アプローチでは、ページ情報１３４は、コンテンツ、ＵＲＬ、画像、その他の、クライアントにおいてローカルにページを生成するためにアプリケーションストアモジュール１１１により用いられるページ情報などのデータを含み得る。ページ情報は、アプリケーションストアモジュール１１１が、一または複数のフィルタされたアプリケーションカタログ１２６のビューを選択的に生成できるようにするフィルタされたアプリケーションデータも含み得る。
【００３１】
このように、クライアントデバイスのシステム情報を用いて適用されたフィルタリングを反映する様々なページにより、そのクライアントデバイスのユーザは、一または複数のフィルタされたアプリケーションカタログのビューとインターラクトできる。フィルタリングを選択的にオン・オフするオプションをユーザに与えるように、ページを構成することもできる。様々なページを、アプリケーションカタログ１２６とのインターラクションが可能になるように、様々な方法で構成することができる。アプリケーションカタログとのインターラクションのためのページを構成できる異なる方法の例は、図５に示したユーザインタフェースに関連して、後で説明する。
【００３２】
コンテンツプロバイダ１３０は、直前に説明したようにシステム情報を利用することにより、アプリケーションを、特定のデバイス構成と機能に対して、開発、ターゲット（target）及びプロモートすることができる。アプリケーションカタログとのインターラクションをするページは、フィルタされたアプリケーションカタログのビューを選択的に提示し、ユーザが関連し興味を有するアプリケーションを見つけるのを支援するように構成することができる。さらに、あるデバイス構成でうまく動作するように構成されたアプリケーションが、システム情報に基づいて、マッチングデバイスに対して表面化し得る。これにより、ユーザがより容易にアプリケーションを見つけるのを手伝い、ユーザのデバイスでうまく動作するアプリケーションをプロモートすることにより、全体的なユーザ体験が向上できる。また、アプリケーションコンテンツがユーザのデバイスに併せられているので、コンテンツプロバイダ１３０は、アプリケーションコンテンツをダウンロード及び／または購入しそうなユーザに、ターゲティングした方法で、自分のアプリケーションコンテンツを露出することができることによる利益を享受する。
【００３３】
図３は、一又は複数の実施形態による他の一方法のステップを説明するフロー図である。具体的に、図３は、異なるデバイスクラスに基づくアプリケーションのフィルタリングに関する詳細を示す。図３の方法例は、デバイスに関連するシステム情報をアプリケーションストアアプリケーションのフィルタリングに用いることができる一方法例を示すものである。
【００３４】
ステップ３００において、アプリケーションカタログの複数のデバイスクラスを画定する。一般的に、デバイスクラスは、複数のデバイスを、共通する構成と機能に基づき複数のグループに分類するように画定される。一アプローチでは、デバイスクラスはデバイスタイプに応じてデバイスを広く分類するように構成される。例えば、デバイスクラスは、スレート（例えば、タブレット）、モバイル、デスクトップ、ラップトップ、オールインワン、及びセットトップボックスデバイスのクラスを含むように構成できる。
【００３５】
追加的にまたは代替的に、より粒度の細かいクラスやサブクラスを画定して、システム情報により記述された異なる構成と機能に関係するクラスを作ることもできる。限定ではなく例示として、カメラ、ＧＰＳレシーバ、タッチスクリーンなどのコンポーネントを有するデバイスに対して、及び／または選択された量のメモリ、処理パワー、オペレーティングシステムバージョン、アーキテクチャなどの選択された機能（capabilities）を有するデバイスに対して、複数の異なるクラスをスタンドアロンクラスまたはスタンドアロンサブクラスとして画定することもできる。特許請求の範囲の精神から逸脱することなく、システム情報に基づくその他の様々なクラスを利用することができる。
【００３６】
一アプローチでは、広い分類を異なるサブクラスと組み合わせて、分類されるデバイスに複数のオプションを設けられる。限定では例示として、クラスを組み合わせて、カメラ付きスレート、カメラ無しスレート、ＧＰＳ及びカメラ付きスレート、４ギガバイトＲＡＭ以上を有するデスクトップ、及び／または１０ギガバイトハードディスクドライブを有するセットトップボックス、などのクラスを構成することができる。列挙した例と同等のその他の様々な組合せも利用することができる。
【００３７】
任意の好適なデータ、フィールド、または識別子を利用して、クラスを指定し、デバイスにデバイスクラスを割り当てることができる。クライアント１０２のアプリケーションストアモジュール１１１は、デバイスクラスフィールドを適当な値に設定することにより、デバイスのデバイスクラスを特定、割り当て、及び／または維持するように構成できる。
【００３８】
ステップ３０２において、アプリケーションカタログにアクセスするデバイスのシステム情報を取得する。サービスプロバイダ１１４は、任意の適切な方法でシステム情報を取得できる。このステップは、図２を参照して上で説明した方法と同等の方法を用いて、デバイスのシステム情報を検出及び／または収集することにより行い得る。例えば、サービスプロバイダ１１４のリソースマネージャモジュール１２０は、アプリケーションカタログ１２６にアクセスする要求に関連して、アプリケーションストアモジュール１１１により送信されるクライアント１０２のシステム情報を取得できる。代替的に、サービスプロバイダ１１４は、能動的にクライアント１０２に問い合わせて、いつでもシステム情報を取得し、記憶することができる。
【００３９】
ステップ３０４において、デバイスクラスがあるか判断する。このステップは、デバイスについて取得したシステム情報を調べて、デバイスクラスデータをチェックすることを含む。例えば、デバイスクラスフィールドやその他の好適なデータは、システム情報に含まれ、デバイスクラスをクライアント１０２に関連づける。デバイスクラスフィールドにデバイスクラスが追加されていれば、デバイスクラスを直接用いてアプリケーションのフィルタリングとプロモーティングができる。他方、デバイスクラスフィールドが空であるとき、またはデバイスクラス情報が入手できないとき、クライアントデバイスにより提供されるシステム情報を用いて、クライアントデバイスのデバイスクラスを決定し、及び／またはアプリケーションのフィルタリングとプロモーティングを行うことができる。
【００４０】
一アプローチでは、クライアント１０２のアプリケーションストアモジュール１１１は、デバイスクラスがあれば提供し、クライアント１０２でデバイスクラスが入手できなければ、サービスプロバイダ１１４により使用のためシステム情報を提供するように構成できる。言い換えると、デバイスクラスはサービスプロバイダにより取得でき、デバイスがアプリケーションカタログとインターラクトするとき、デバイスの完全なシステム情報を取得する替わりとして用いることができる。このアプローチにより、ネットワークの通信トラフィックが減少し、分析時間が減少し、サービスプロバイダ１１４のデータ収集がクライアント１０２と同様に減少することになる。同時に、デバイスクラスを提供できないデバイスは、及び／またはデバイスクラスアプローチをサポートしないデバイスは、アプリケーションストアアプリケーションをフィルタリング及びプロモーティングするのに、説明の方法を利用できる。
【００４１】
より具体的に、デバイスクラスが入手できなければ、ステップ３０６において、そのデバイスの機能に基づきそのデバイスのデバイスクラスを決定する。ここで、リソースマネージャモジュール１２０は、システム情報を分析し、クライアントデバイスを一または複数の上記のクラスにマッチさせるように動作し得る。これは、そのデバイスを、広く画定されたクラス及び／または一または複数のサブクラスに割り当てることを含む。例えば、クライアント１０２は、システム情報に基づき、モバイルデバイスクラスに割り当てられ、カメラとタッチスクリーンのクラスに割り当てられる。そうするため、リソースマネージャモジュール１２０は、クラスを画定するのに使われる様々な基準を調べ、システム情報により画定されるデバイスの構成と機能がクラスの基準とマッチするクラス決定することができる。デバイスは、デバイスのデバイスクラスフィールドその他の好適なデータを適当な値に設定することにより、これらのマッチするクラスに割り当てることができる。
【００４２】
ステップ３０８において、デバイスクラスに関する情報をデバイスに返す。例えば、リソースマネージャモジュール１２０は、ステップ３０６で決定されたクラスを記述するデータを、ネットワーク１１２を介してクライアント１０２に返す。これにより、クライアント１０２のアプリケーションストアモジュール１１１は、アプリケーションカタログ１２６とのその後のインターラクションのため、デバイスクラスを用いることができる。
【００４３】
ステップ３０４でデバイスクラスを直接決定することにより、またはステップ３０６とステップ３０８でシステム情報を分析することにより、ステップ３１０において、アプリケーションカタログをフィルタし、デバイスクラスに基づいてデバイスにターゲットされたアプリケーションを特定する。これは、図３のサブステップ３１２−３１８で例示したように、デバイスクラスを用いてアプリケーションの複数のカテゴリーとタイプを検索することを含む。一般的に、一または複数の実施形態では、フィルタリングは、デバイスクラスをアプリケーションデータ１２８と比較して、デバイスにターゲッティングされたアプリケーションを、またはデバイスクラスにより表されるデバイス構成及び機能にマッチするアプリケーションを発見することができる。
【００４４】
具体的に、ステップ３１２において、デバイスクラスにターゲットされたアプリケーションを特定する。フィルタリング操作のために調べられるアプリケーションは、コンテンツプロバイダ１３０からのサードパーティアプリケーションと、サービスプロバイダ１１４により開発されたアプリケーションとが含まれ得る。アプリケーションは、アプリケーションカタログにおいて、デバイスクラスデータと関連付けられ、アプリケーションを、選択されたデバイスクラスとマッチさせ得る。例えば、前出例におけるカメラとタッチスクリーンとを有するモバイルデバイスに対して行われるフィルタリングにより、デバイスと関連した一または複数のデバイスクラスを用いて、モバイルデバイス、カメラ、タッチスクリーン、及び／またはこれらの組合せにターゲットされた様々なアプリケーションを特定できる。
【００４５】
ステップ３１４において、一般アプリケーションであるとして各デバイスクラスに指定されたアプリケーションを決定する。かかるアプリケーションは、各デバイスクラスにとって適切であると考えられるものである。これらの一般アプリケーションは、デバイスクラスに基づき、事実上フィルタされない。
【００４６】
ステップ３１６において、デバイスにインストールされているアプリケーションを確認し、ステップ３１８において、デバイスと互換性のないアプリケーションを見つける。上記の通り、システム情報は、アプリケーションを特定する情報と、すでにデバイスにインストールされているアプリケーションバージョンとを含む。また、デバイスクラスを用いて、互換性のないまたはデバイスに適していないアプリケーションを特定できる。例えば、カメラアプリケーションは、カメラを含まないデバイスとは互換性が無いと考えられる。同様に、ＧＰＳを用いる地図プログラムは、ＧＰＳレシーバを有さないデバイスとは互換性が無いと考えられる。
【００４７】
ステップ３２０において、フィルタしたアプリケーションカタログ情報をデバイスに返す。例えば、ステップ３１０−３１８に関して説明したフィルタリング操作により、アプリケーションを、特定のデバイス／デバイスクラスに関する異なるフィルタグループに入れる、フィルタされたアプリケーションカタログが作られる。フィルタリングされたアプリケーションカタログとフィルタグループとは、図１に示したフィルタデータ１３６として記憶できる。フィルタリングされたアプリケーションカタログ情報は、様々な方法でクライアント１０２に返すことができる。これには、フィルタリングを反映するページ情報及び／またはページを返すことを含む。クライアント１０２は、様々な方法で、フィルタされたアプリケーションカタログ情報を用いて、一または複数のページにより、フィルタされたアプリケーションカタログのビューを提供する。これには、異なるフィルタグループ内に入るアプリケーションを、異なるビューやページで、選択的に見せるまたは隠すことが含まれ得る。
【００４８】
具体的に、異なるフィルタグループは、ターゲットされたアプリケーション、一般的アプリケーション、インストールされたアプリケーション、非互換アプリケーションなどを含み得る。このようにフィルタリングをしてフィルタグループを形成することにより、ターゲットされたアプリケーションを、選択的に浮き上がらせ、プロモートし、ハイライトし、露出し、アプリケーションカタログ１２６とのインターラクションに用いるページ内で他のアプリケーションとの違いを示すことができる。一般的アプリケーションは、ターゲットされたアプリケーション（targeted applications）と共に示され、及び／または異なるページ、ビュー、及び／またはページ部分を用いて示され得る。デバイスにすでにインストールされているアプリケーション、及び非互換アプリケーションは、様々なページにおいて、隠され、フラグを立てられ、またはターゲットされたアプリケーション及び／または一般的アプリケーションと区別される。
【００４９】
アプリケーションストアモジュール１１１は、ユーザがフィルタリングをオン・オフできるように選択できるオプションを提供してもよい。このように、デフォルトビューは、ターゲットされたアプリケーションを、選択可能コントロールとともに示すように構成できる。選択可能コントロールを用いて、一般的アプリケーション、すべてのアプリケーションなどを含むようにビューを拡張できる。このように、フィルタされたアプリケーションカタログ情報とフィルタグループを含むフィルタデータ１３６をいろいろな方法で用いて、アプリケーションカタログを見てナビゲーションする大きな柔軟性を提供するページを構成できる。これのさらに別の例を、図５のユーザインタフェースを参照して後で説明する。
【００５０】
図４は、一又は複数の実施形態による他の一方法のステップを説明するフロー図である。具体的に、図４は、サービスプロバイダ１１４により利用可能になったアプリケーションカタログ１２６とのクライアント１０２のインターラクションに関する詳細を含む方法を示す。少なくともある実施形態では、本明細書に記載の通り、本方法はアプリケーションストアモジュール１１１により実行できる。
【００５１】
ステップ４００において、デバイスのシステム情報を収集する。例えば、アプリケーションストアモジュール１１１は、クライアント１０２において、様々なシステム構成及び機能データを収集し維持するように動作可能である。これは、クライアント１０２のオペレーティングシステムとのインターラクションにより行い得る。ある実施形態では、アプリケーションプログラミングインタフェース（ＡＰＩ）を用いて、オペレーティングシステムからシステム情報を取得し、システム情報への変更をモニタし、必要に応じてシステム情報を更新できる。
【００５２】
上記の通り、アプリケーションストアモジュール１１１はデバイスクラスデータを維持できる。アプリケーションストアモジュール１１１は、システム情報を用いてデバイスクラスを求めるように動作可能である。これは、アプリケーションカタログにアクセスする試みに関連して、及び／または定期的に、システム変更に応じてなどの時点で、行える。一アプローチでは、アプリケーションストアモジュール１１１は、ネットワークを介してインターラクションし、様々なデバイスクラスを記述するデータを取得できる。アプリケーションストアモジュール１１１は、クライアントにおいてローカルでこのデータを用いて、デバイスクラスを求める。他の一例では、アプリケーションストアモジュール１１１は、システム情報をサービスプロバイダ１１４に送信し、その送信に応じてサービスプロバイダ１１４により決定されたデバイスクラスを取得できる。再び、これは、異なる時点で行われ得る。例えば、サービスプロバイダ１１４からアプリケーションカタログにアクセスする試みに関連して行われ得る。
【００５３】
ステップ４０２において、収集されたシステム情報をサービスプロバイダに送信し、アプリケーションカタログへのターゲットされたアクセス（targeted access）を容易にする。例えば、アプリケーションストアモジュール１１１は、要求に応じて、アプリケーションカタログ１２６にアクセスする試みに関連してなど、サービスプロバイダ１１４にシステム情報を送信するように動作可能である。これには、クライアント１０２がサービスプロバイダ１１４に、もしあればデバイスクラス及び／またはシステム情報を送信することを含み得る。サービスプロバイダ１１４は、この送信に応じて、このデバイスクラス及び／またはシステム情報を用いて、本明細書に記載した様々なアプローチを用いてデバイスの構成と機能に基づきアプリケーションカタログをフィルタすることができる。
【００５４】
ステップ４０４において、送信されたシステム情報に基づくアプリケーションカタログのフィルタリングを反映した、サービスプロバイダにより返されるページ情報を取得する。例えば、アプリケーションストアモジュール１１１は、サービスプロバイダ１１４から様々なページ情報を取得するように動作可能である。これは、クライアント１０２が、アプリケーションカタログ１２６にアクセスを試みる時に行われ得る。サービスプロバイダ１１４は、クライアント１０２がアプリケーションカタログ１２６にアクセスを試みる時以外に、ページ情報を含むアプリケーションストアアップデート（application store updates）を、クライアント１０２にプッシュすることができる。アプリケーションストアモジュール１１１は、デバイスが「オフライン」である時など、サービスプロバイダ１１４と通信しなくても、ローカルで、アプリケーションストアアップデートを用いることができる。
【００５５】
ステップ４０６において、返されたページ情報を用いて、一または複数のページを出力して、アプリケーションカタログとのインターラクションを可能にする。具体的に、アプリケーションストアモジュール１１１は、単体でまたはリソースマネージャモジュール１２０と共に、ステップ４０４で取得した様々なページ情報を用いて、アプリケーションカタログとインターラクションするページを構成し、及び／または出力できる。ページは、ターゲットされたアプリケーションを様々な方法で提示するように構成できる。これは、ターゲットされたアプリケーションのみを選択的に示すこと、一または複数のターゲットされたアプリケーションをハイライトまたはプロモートすること、ユーザにすべてのアプリケーションまたはターゲットされたアプリケーションのみを選択的に示すことが含まれ得る。ページは、サービスプロバイダ１１４から取得した予め構成されたページでもよい。クライアント１０２において、サービスプロバイダにより返されたページ情報を用いて、ページまたはその部分を動的に生成することができる。これは、ページ及び／またはコードテンプレートを用いることにより、少なくともページの部分を動的に構成することにより行える。ページを構成するために用いられるページ、テンプレート、コード、ＵＲＬ、画像などは、ＸＭＬその他のマークアップ言語コード、文書、タグなどを含むがこれらに限定されない任意の好適な方法を用いて、画定及び実施できる。
【００５６】
アプリケーションストアアプリケーションをフィルタリングしプロモーティングする様々な方法例を検討したので、ここで、一または複数の実施形態によるアプリケーションストアアプリケーションをフィルタリングしプロモーティングする様々な態様を実施するのに利用できるユーザインタフェース例を検討する。
【００５７】
ユーザインタフェース例
図５は、アプリケーションストアモジュール１１１を介して出力できるアプリケーションカタログ１２６とのインターラクション用のユーザインタフェース１２４の一例を５００で示している。この例では、ユーザインタフェース１２４は、システム情報に基づきアプリケーションのフィルタリングとプロモーションを実施するように構成された様々な部分を含むページ５０２を含む。ページ例５０２は、他の様々なページへのナビゲーションを可能にするように構成できるアプリケーションストアのホームページを表す。ホームページ中の部分及びその他のページは、ターゲットされていないアプリケーションに対して、顕著な方法で、ターゲットされたアプリケーション情報を提示しハイライトする様々な方法で構成できる。
【００５８】
具体的に、ページ５０２は、特定デバイス用アプリケーション（device specific applications）を特定し提示する任意の好適な方法で構成された特定デバイスアプリケーション部分５０４を含む。この例では、特定デバイスアプリケーション部分５０４は選択可能タイトルにより表される。この部分を選択すると、ここに説明したようにシステム情報に基づきあるデバイスにターゲッティングされた様々なアプリケーションのリストその他のビューを示す他のページが表示される。
【００５９】
ページ５０２は、あるエンティティにより推奨されたアプリケーションを特定し提示する任意の好適な方法で構成された推奨アプリケーション部分５０６を含む。この例では、推奨アプリケーション部分５０６は、選択された時に、対応するエンティティにより推奨されたアプリケーションのリストその他のビューを提示する他のページを表示（expose）するタイルとして示されている。この部分により、コンテンツプロバイダ１３０、デバイス生産者、及びサービスプロバイダ１１４などのエンティティは、特定のデバイスに対して「認証された（approved）」または適していると考えられるアプリケーションをターゲット及び／またはプロモートすることができる。
【００６０】
例えば、プロバイダの例である「Ｘ」は、あるラップトップデバイスの生産者である。プロバイダＸは、自分の製品（equipment）でよいユーザ体験をして欲しいので、推奨アプリケーション部分５０６を用いて、かかる体験を提供すると考えられるアプリケーションを推奨できる。ある実施形態では、特定のコンテンツプロバイダ、生産者、その他のエンティティに対応するように、デバイスクラスを画定できる。推奨アプリケーション部分５０６は、デバイスクラスごとに異なる推奨をするように構成されてもよい。このように、コンテンツプロバイダ、生産者、その他のエンティティは、説明した方法を用いて、自分のデバイスクラスを用いて、アプリケーションを推奨できる。
【００６１】
ページ５０２は、プロモートされたアプリケーション部分５０８も含む。ここでは、特別なオファー、新しいアプリケーション、人気のアイテムその他のアプリケーションをプロモート（promote）できる。プロモートされたアプリケーション部分５０８は、デバイスごとに異なるプロモーションを提示するように構成することもできる。具体的に、プロモートされたアプリケーション部分５０８に示されるプロモーションは、デバイス構成と機能に基づき、及び／またはデバイスクラスを用いて、選択できる。このように、構成と機能が異なるデバイスには異なるプロモーションが提供される。この例では、タッチスクリーンを有するデバイスに対して「Ball Breaker Pro」アプリケーションが選択される。タッチスクリーンを有さない他のデバイスは、このアプリケーションを正しく使うことができない。それゆえ、これらのデバイスには他の特定デバイス用のプロモーションが提供され得る。
【００６２】
他の一機能は、フィルタリングを選択的にオン・オフするのに用いられるフィルタ選択コントロール５１０である。フィルタ選択コントロール５１０を用いて、アプリケーションストアモジュール１１１により提示された、フィルタされたページビューとフィルタされていないページビューとをトグルできる。このフィルタ選択コントロール５１０は、前述のように、異なるフィルタグループを用いて、異なるフィルタリングがされたビューをオンまたはオフすることができる。例えば、ページ例５０２中の「Change」リンクを選択して、ユーザインタフェース１２４内に異なるフィルタグループを表示するか隠すかユーザが選択できる様々なオプションを表示できる。
【００６３】
ページ５０２は、ナビゲーションバー５１２を含む。これは、アプリケーションカタログの異なるページ間でのナビゲーションでユーザを支援する様々なナビゲーションリンクを表す。ナビゲーションリンクは様々な方法で構成できる。図示した例では、リンクは選択されたカテゴリー内の異なるビューを提示するように構成されている。例えば、「Home」リンクを用いて、図５に示したホームページ例にナビゲートできる。「Topics」リンクにより、異なるトピックスに応じて整理されたアプリケーションのビューへのナビゲーションが可能になる。トピックスは、地理的ロケーション、特定のデバイスや生産者、カレントイベントや休日など、異なる関心領域を反映するように構成できる。トピックページは、様々なトピックスに関するアプリケーションのビューを提示できる。「New」リンクにより、新しく利用可能になったアプリケーションのビューへのナビゲーションが可能になる。他のリンク例を設けて、ユーザの友人に関するアプリケーション、仕事上のアプリケーション、ゲーム、子供用アプリケーションなどの追加的カテゴリーを表すこともできる。
【００６４】
アプリケーションストアアプリケーションをフィルタリングしプロモーティングするユーザインタフェース例を検討したので、ここで、一または複数の実施形態によるアプリケーションストアアプリケーションをフィルタリングしプロモーティングする様々な態様を実施するのに利用できるシステム例を検討する。
【００６５】
システム例
図６は、システム例を６００で示した。このシステムは、ここで説明した様々な実施形態を実施する一または複数のコンピューティングシステム及び／またはデバイスを表すコンピューティングデバイス６０２を含む。コンピューティングデバイス６０２は、例えば、サービスプロバイダ１１４のサーバ、クライアント１０２（例えば、クライアントデバイス）に関連するデバイス、オンチップシステム、及び／または他の任意の好適なコンピューティングデバイスまたはコンピューティングシステムであり得る。
【００６６】
コンピューティングデバイス６０２の例としては、一または複数のプロセッサ６０２または処理ユニット、一または複数のメモリ及び／またはストレージコンポーネント６０８を含む一または複数のコンピュータ読み取り可能媒体６０６、入出力（Ｉ／Ｏ）デバイスの一または複数の入出力（Ｉ／Ｏ）インタフェース６１０、及び様々なコンポーネントとデバイスが互いに通信できるバス６１２が含まれる。コンピュータ読み取り可能媒体６０６及び／またはＩ／Ｏデバイスは、コンピューティングデバイス６０２の一部として含まれ、あるいはコンピューティングデバイス６０２に結合している。バス６１２は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャを用いたプロセッサ又はローカルバスを含む複数タイプのバス構成のいずれでもよい。バス６１２は有線バス及び無線バスを含み得る。
【００６７】
一または複数のプロセッサ６０４は、それが形成された材料や利用された処理メカニズムには限定されない。例えば、プロセッサは、半導体及び／またはトランジスタ（例えば、電子集積回路（ＩＣ））により構成され得る。かかるコンテクストでは、プロセッサ実行可能命令は電子的に実行可能な命令である。メモリ／ストレージコンポーネント６０８は、一または複数のコンピュータ読み取り可能媒体に関連するメモリ／ストレージキャパシティを表す。メモリ／ストレージコンポーネント６０８は、（ＲＡＭ（random access memory）などの）揮発性媒体、及び／又は（ＲＯＭ（read
only memory）、フラッシュメモリ、光ディスク、磁気ディスクなどの）不揮発性媒体を含み得る。メモリ／ストレージコンポーネント６０８は、（ＲＡＭ、ＲＯＭ、固定ハードディスクドライブなどの）固定媒体、及び（フラッシュメモリドライブ、リムーバブルハードディスクドライブ、光ディスクなどの）リムーバブル媒体を含み得る。
【００６８】
入出力インタフェース６１０により、ユーザはコンピューティングデバイス６０２にコマンドと情報を入力でき、様々な入出力デバイスを用いて、ユーザ及び／又は他のコンポーネントやデバイスに情報を提供できる。入力装置の例には、キーボード、カーソル制御装置（例えば、マウス）、マイクロホン、スキャナなどが含まれる。出力装置の例には、ディスプレイ装置（例えば、モニタやプロジェクタ）、スピーカ、プリンタ、ネットワークカードなどが含まれる。
【００６９】
ここでは、ソフトウェア、ハードウェア（固定論理回路）、またはプログラムモジュールの一般的なコンテクストで、様々な技術を説明する。一般的に、かかるモジュールには、あるタスクを実行したり、ある抽象的データタイプをインプリメントしたりするルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などが含まれる。これらのモジュールや技術のインプリメンテーションは、コンピュータ読み取り可能媒体に格納でき、又はコンピュータ読み取り可能媒体の形式で伝送できる。コンピュータ読み取り可能媒体は、計算装置によりアクセスできる様々な利用可能な媒体を含み得る。限定ではなく例として、コンピュータ読み取り可能媒体は「コンピュータ読み取り可能記憶媒体」と「通信媒体」とを含む。
【００７０】
「コンピュータ読み取り可能記憶媒体」は、単なる信号送信、搬送波、信号自体と異なり、情報の持続的及び／または非一時的記憶を可能にする媒体及び／またはデバイスを言う。このように、コンピュータ読み取り可能記憶媒体は非信号運搬媒体を言う。コンピュータ読み取り可能記憶媒体は、説明した方法の複数の態様を実施する実施形態で利用できる、命令を有するハードウェア要素、モジュール、及び／またはハードウェア形式で実施された固定デバイスロジックも含む。
【００７１】
コンピュータ読み取り可能記憶媒体には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、論理要素／回路その他のデータなどの情報を記憶するのに適した方法や技術で実施された、揮発性および不揮発性、取り外し可能および取り外し不能な媒体及び／またはストレージデバイスを含む。コンピュータ読み取り可能記憶媒体は、所望の情報の記憶に適した、コンピュータによりアクセスできる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）その他の光ディスク記憶媒体、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージその他の磁気ストレージデバイス、集積回路またはチップのハードウェア要素（例えば、固定ロジック）またはその他のストレージデバイス、有体媒体、製品を含むが、これらに限定されない。
【００７２】
「通信媒体」は、ネットワーク１１２などを介して、コンピューティングデバイスのハードウェアに命令を送信するように構成された信号運搬媒体を言う。通信媒体は、一般的に、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、その他の変調データ信号（例えば、搬送波、データ信号、その他のトランスポートメカニズム）中のデータを化体することができる。通信媒体は、任意の情報配信媒体も含む。「変調データ信号」との用語は、情報を信号にエンコードするように設定または変更された特徴を有する信号を意味する。限定でなく例示として、通信媒体は、優先ネットワークや直接優先接続などの有線媒体と、音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体とを含む。
【００７３】
上記のものの任意の組合せもコンピュータ読み取り可能媒体の範囲内に含まれる。したがって、リソースマネージャモジュール１２０、アプリケーション１０８、通信モジュール１１０、アプリケーションストアモジュール１１１、その他のプログラムモジュールを含むソフトウェア、ハードウェア、またはプログラムモジュールは、コンピュータ読み取り可能媒体の形式で実施された命令及び／またはロジックとして実施できる。
【００７４】
したがって、ここに説明したモジュール、機能、コンポーネント、方法は、ソフトウェア、ハードウェア、及び／またはこれらの組合せで実施できる。コンピューティングデバイス６０２は、コンピュータ読み取り可能媒体上に実施されたソフトウェア及び／またはハードウェアに対応する命令及び／または機能を実施するように構成できる。命令及び／または機能は、一または複数の製造品（例えば、一または複数のコンピューティングデバイス６０２及び／またはプロセッサ６０４）により、アプリケーションストアアプリケーションをフィルタリング及びプロモーティングする方法及びその他の方法を実施するように、実行可能／動作可能である。かかる方法は、ここに説明した手順例を含むがこれらに限定されない。このように、コンピュータ読み取り可能媒体は、ここに記載された一または複数のデバイスにより実行された時、アプリケーションストアアプリケーションをフィルタリングしプロモーティングする様々な方法を実行させる命令を記憶または提供するように構成されている。
【００７５】
結論
アプリケーションストアアプリケーションをフィルタリングしプロモーティングする方法をここに説明した。説明した方法を用いて、クライアントデバイスに、クライアントデバイスの構成と機能を記述するシステム情報に少なくとも部分的に基づく、フィルタされたアプリケーション情報及び／またはアプリケーションプロモーションを提供することができる。クライアントデバイスのシステム情報は、様々な方法で検出でき、これを用いて、アプリケーションカタログ中のアプリケーションデータをフィルタできる。アプリケーションカタログとのインターラクションのためにクライアントデバイスに提供されるページ情報が、フィルタリングされたアプリケーションデータを用いて確認される。ページ情報により、クライアントデバイスが、検出されたシステム情報に基づいて選択された、フィルタリングされたアプリケーション情報及び／またはプロモーションを有するページを有する目標アプリケーションストアページをレンダリングできる。
【００７６】
本主題を個別の構造的特徴及び／又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する主題は、上記の特定の特徴や動作には必ずしも限定されない。上記の特定の特徴や動作は、請求項を実施する形式例を開示するものである。
【図１】
2014512039.tif 000003
【図２】
2014512039.tif 000004
【図３】
2014512039.tif 000005
【図４】
2014512039.tif 000006
【図５】
2014512039.tif 000007
【図６】
2014512039.tif 000008
【国際調査報告】
2014512039.tif 000009
2014512039.tif 000010