(57)【特許請求の範囲】
【請求項１】
第１のクライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記第１のクライアント装置上にインストールされている当該アプリケーションがサーバによる配信用に構成されていることをサーバにより判定することで、検証する第１の検証ステップと、
前記第１の検証ステップにおいて検証の結果としてアドプションに適格であると判定された前記アプリケーションが以前にアドプションされていないことを前記サーバにより検証する第２の検証ステップであって、
前記インストールされたアプリケーションに関連付けられたメタデータから前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップと、
を含む前記第２の検証ステップと、
前記第２の検証ステップにおいて検証の結果として以前にアドプションされていないと判定された前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記第１のクライアント装置に配信するステップと、
を備えることを特徴とする方法。
【請求項２】
前記サーバが前記配信するステップにおいて通知されるアプリケーションを１つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションするとは、前記ユーザ・アカウントに関連付けられた１つ以上のクライアント装置に、前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記特典は、前記アプリケーションを、ダウンロードすること、再ダウンロードすること、そして、更新することを含む、ことを特徴とする請求項２に記載の方法。
【請求項４】
前記アドプションされたアプリケーションを前記ユーザ・アカウントと関連付けられた前記第２のクライアント装置に送信するステップを更に備える、ことを特徴とする請求項２、または３に記載の方法。
【請求項５】
前記一意的識別子は、前記個々のコピーに対する資格証明であることを特徴とする請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記アプリケーションは、前記ユーザ・アカウントに関連付けられた１つ以上のクライアント装置に前にインストールされたことがある、ことを特徴とする請求項２から５のいずれか１項に記載の方法。
【請求項７】
本方法は、ユーザ要求に応答して実行される、ことを特徴とする請求項１から６のいずれか１項に記載の方法。
【請求項８】
アドプション可能な複数のアプリケーションを前記クライアント装置に通知するステップと、
アドプションのために、前記複数のアプリケーションのうちの少なくとも１つのアプリケーションを選択する入力を承諾するステップを更に備える、ことを特徴とする請求項１から７のいずれか１項に記載の方法。
【請求項９】
自動的に前記一意的識別子を検索する前記ステップは、前記一意的識別子に対して前記サーバ上でデータベースをクエリすることを含むことを特徴とする請求項１から８のいずれか１項に記載の方法。
【請求項１０】
ソフトウェアパッケージをアドプションすることは、前記ソフトウェアパッケージに対する資格証明に基づいてデータベースを更新することを更に含むことを特徴とする請求項１から９のいずれか１項に記載の方法。
【請求項１１】
前記一意的識別子は、前記クライアント装置と関連付けられたハードウェアから導き出し可能な値を含むことを特徴とする請求項１から９のいずれか１項に記載の方法。
【請求項１２】
プロセッサと、
記憶装置と、
前記プロセッサを制御する命令を格納するように構成されたメモリと、
を具備するシステムであって、前記命令が、
クライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記クライアント装置にインストールされた前記アプリケーションがサーバによる配信用に構成されていることを判定することで、検証する第１の検証ステップと、
前記第１の検証ステップにおいて検証の結果としてアドプションに適格であると判定された前記アプリケーションが前にアドプションされていないことを前記サーバにより検証する第２の検証ステップであって、
前記インストールされたアプリケーションと関連付けられたメタデータから、前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップとを含む、前記第２の検証ステップと、
前記第２の検証ステップにおいて検証の結果として以前にアドプションされていないと判定された前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記クライアント装置に配信するステップとを含む、ことを特徴とするシステム。
【請求項１３】
前記メモリは、前記サーバが前記配信するステップにおいて通知されるアプリケーションを１つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションとは、前記ユーザ・アカウントに関連付けられた１つ以上のクライアント装置に前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、
ことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記特典は、前記アプリケーションを、ダウンロードし、再ダウンロードし、そして、更新することを含む、ことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記メモリは、前記アドプションされたアプリケーションを前記ユーザ・アカウントに関連付けられた別のクライアント装置に送信する命令を更に含む、ことを特徴とする請求項１２から１４のいずれか１項に記載のシステム。
【請求項１６】
前記アプリケーションは、前記ユーザ・アカウントに関連付けられた１つ以上のクライアント装置に前にインストールされたことがある、ことを特徴とする請求項１２から１５のいずれか１項に記載のシステム。
【請求項１７】
前記メモリは、アドプション可能な複数のアプリケーションを前記クライアント装置に通知する命令と、前記複数のアプリケーションのうちの１つを選択する入力を承諾する命令とを更に含む、ことを特徴とする請求項１２から１６のいずれか１項に記載のシステム。
【請求項１８】
コンピュータ装置に実行させる命令を格納するコンピュータ可読の非一時的記録媒体であって、前記命令は、コンピュータ装置により実行されると、
クライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記クライアント装置上にインストールされている当該アプリケーションがサーバによる配信用に構成されていることをサーバにより判定することで、検証する第１の検証ステップと、
前記第１の検証ステップにおいて検証の結果としてアドプションに適格であると判定された前記アプリケーションが以前にアドプションされていないことを前記サーバにより検証する第２の検証ステップであって、
前記インストールされたアプリケーションに関連付けられたメタデータから前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップと、
を含む前記第２の検証ステップと、
前記第２の検証ステップにおいて検証の結果として以前にアドプションされていないと判定された前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記第１のクライアント装置に配信するステップとを前記コンピュータ装置に実行させる、
ことを特徴とするコンピュータ可読の非一時的記憶媒体。
【請求項１９】
前記アプリケーションがクライアント装置にインストールされていることを検証する前記ステップ、前記アプリケーションが以前にアドプションされていないことを検証する前記ステップ、そして前記通知を配信する前記ステップは、ユーザ要求に応答して実行される、ことを特徴とする請求項１８に記載のコンピュータ可読の非一時的記憶媒体。
【請求項２０】
前記サーバが前記配信するステップにおいて通知されるアプリケーションを１つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションとは、前記ユーザ・アカウントに関連付けられた１つ以上のクライアント装置に前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、ことを特徴とする請求項１８、または１９に記載のコンピュータ可読の非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデジタル製品の配信に関し、特にソフトウェアアプリケーションをオンラインストアのユーザ・アカウントにリンクする技術に関する。
【背景技術】
【０００２】
電子装置の製造業者は、一般に、電子装置の購買者に、購入前から、電子装置を個性化し或いはカスタマイズするための、様々な使用可能オプションを提案する。例えば、コンピュータ等のパーソナルコンピュータ装置は、プロセッサ、メモリ、ハードドライブ、またはアクセサリを選択することでカスタマイズされる。また、製造業者は、種々のソフトウェアベンダーと連携して、コンピュータを受け取る前から、コンピュータと共に購入可能で且つプリ・インストール可能なソフトウェアアプリケーション、またはソフトウェアプログラムをオファー（「申し込み」）する。ソフトウェアアプリケーション、それらは、典型的には製造業者により作成され、或いは、サードパーティ製アプリケーションを含んでよいが、このソフトウェアアプリケーションの中には、手動で、または工場出荷時イメージの一部として、無償でコンピュータ装置にプリ・インストールされるものがある。従って、ハードウェアコンポーネント及びプリ・インストール・ソフトウェアは、購入した製品が購買者のニーズを満たすように、購買者により個人用に変更される。
【０００３】
電子装置を受け取った後は、将来のいつかの時点で、そのプリ・インストール・ソフトウェアを再インストールしたい、または更新したい場合が生じるだろう。例えばソフトウェアプロバイダは、電子装置にプリ・インストールされたソフトウェアの更新バージョンをリリースしたかも知れない。これは、一般にソフトウェア更新として知られている。ソフトウェア更新データを取得するために、購買者は、ソフトウェアプロバイダの実際の店舗、またはオンラインストアを訪問し、ソフトウェアの更新バージョンを購入、或いは取得する。しかし、この処理は、時間がかかり、分かりにくいこともある。同様に、購入者は、電子装置の記憶装置を再フォーマットする場合、一般にソフトウェアを再インストールしなければならない。購入者は、この再インストール中、プリ・インストール・ソフトウェアを格納する種々のコンパクトディスク（ＣＤ）、または他のメディアを要求される。しかし、この購入者はＣＤを置き忘れているかも知れず、この場合には、再インストール手順は非常に煩雑になる。
【発明の概要】
【０００４】
本発明の更なる特徴及び利点は後続する記述において説明され、或いは、その一部は、その記述から明らかとなり、或いは本明細書に開示された原理を実施することで確認できる。本発明の特徴及び利点は、特に添付の特許請求の範囲において指摘された手段及び組合せを利用して実現され且つ達成される。本発明のこれらの特徴及び他の特徴は、以下の説明及び添付の特許請求の範囲からより詳細に明らかとなるか、或いは本明細書において説明される原理を実施することで確認できる。
【０００５】
本明細書には、アプリケーション（すなわち、ソフトウェアパッケージ）を、または、プリ・インストールアプリケーションを、または、別途購入(Purchase)されたアプリケーションなどを、ユーザ・アカウントに関連付けるためのシステム、方法及びコンピュータ可読の非一時的記憶媒体が開示される。ここで、前記ユーザ・アカウントは、オンラインストア上で関連付けられ、或いは、保存される。この処理を「縁組み」処理（以下、「縁組み」を「アドプション」（adoption）」と呼ぶ。アドプション処理は、アプリケーションの、ダウンロード、再ダウンロード、更新等のある特定の特典をそのユーザ・アカウントに与えるものである。他の例においては、アドプションとは、アドプションされたアプリケーションに対する他の特典（例えば、そのアドプションされたアプリケーションを贈与し或いは販売すること）を許すように、そのユーザ・アカウントを構成することをいう。１つの一般的な例として、ある新品コンピュータが、ある特定のプリ・インストール・ソフトウェアを含む、とする。ユーザは、その新品コンピュータ上で当該プリ・インストール・ソフトウェアを実行し、使用することができる。しかしながら、そのユーザが、更新、バックアップ、並びに／或いは他のソフトウェア関連のコンテンツ、またはサービスを受ける、且つ／或いはそれらを利用する資格を得るためには、そのプリ・インストール・ソフトウェアをアドプションすることにより、当該プリ・インストール・ソフトウェアが、オンライン電子ストア・アカウント等の特定のユーザ・アカウントに関連付けられる。これで、前記オンライン電子ストアは、更新、バックアップ、復元及びアプリケーション内購入等を処理することができる。しかし、別のユーザは、そのプリ・インストール・ソフトウェアを、このプリ・インストールソフトウエアを「アドプション」することなしに、このオンライン電子ストア・アカウントのユーザ・アカウント若しくはアクセス権を必要とする特定機能を除いた他の全てのフル機能付きで、当該プリ・インストール・ソフトウェアを使用することを選択するができる。あるユーザがプリ・インストール・ソフトウェアをアドプションすると、オンライン電子ストアは、当該プリ・インストール・ソフトウェアが別のユーザによるアドプションに対しては不適格となるように、そのアカウント、データベース及び／またはソフトウェア自体を変更する。別の一般的な例は、ユーザが既に購入し、贈与し、または別の方法で取得していたソフトウェアパッケージ、またはソフトウェアアプリケーションが、ユーザのコンピュータ装置上でインストールされる場合がある。このコンピュータ装置は、当該ソフトウェアパッケージ、またはソフトウェアアプリケーションのアドプションを求めるソフトウェア・アドプション要求をサーバに送信する。このソフトウェア・アドプション要求は、当該ユーザ・アカウントに関連付けられたソフトウェアパッケージの識別子または表示を含む。いくつかの例においては、資格証明が、ソフトウェアパッケージの信憑性に対する証明として、アドプション要求に更に含まれる。資格証明は、ソフトウェアパッケージを所有していることからのみ由来することができる値である。例えば、資格証明は、当該ソフトウェアパッケージのシリアル番号に関連付けられたものか、或いはそれから派生したものである。また、この資格証明は、当該ソフトウェアパッケージから派生した、或いは当該電子装置に関連付けられたメタデータから派生する値である。例えば、この電子装置に関連付けられたメタデータとは、電子装置に関連付けられたハードウェアから導き出し可能な値である。アプリケーションがアドプションされると、更新、バックアップ、並びに／或いは他のソフトウェア関連のコンテンツ、またはサービスは、当該ユーザに対して使用可能である。
【０００６】
本方法を実施するように構成されたシステムは、ダウンロード可能なアプリケーションを提示し、アプリケーションのコンピュータ装置へのダウンロード要求を受信し、そのアプリケーションがプリ・インストールアプリケーションであると判定する。次にシステムは、そのアプリケーションをユーザ・アカウントとリンクするためにユーザ認証を要求するべく認証プロンプトを提示し、ユーザ認証を受信し、このユーザ認証の受信に応答して、一意的なハードウェア識別子を生成するか、或いは、当該コンピュータ装置に関連付けられた資格証明を検索する。本システムは、上記一意的ハードウェア識別子、または資格証明に基づいてそのアプリケーションがリンク可能であることを判定し、そのアドプション可能なアプリケーションがリンク可能である場合にアドプション可能なアプリケーションを上記ユーザ・アカウントとリンクする。本システムは、ダウンロード可能な当該アプリケーションの提示を、ページ更新要求を受信し、そのような要求を受信すると、当該アプリケーションと関連付けられたスタブ（半券）レシートを収集することにより、可能である。このスタブ・レシートは、アプリケーションと関連付けられたバージョン番号及び名前を含むものである。次にシステムは、そのバージョン番号及び名前に基づいて、当該アプリケーションの更新がサーバ上でダウンロード可能であると判定し、そのアプリケーションの名前を提示する。
【０００７】
別の実施形態として、本システムは、ダウンロード可能なアプリケーションの提示を、ページ購入要求を受信し、当該コンピュータ装置に関連付けられたマニフェストを受信し、このマニフェストに基づいてプリ・インストールアプリケーションのリストを提示することにより、行うことができる。このマニフェストとは、サーバからダウンロード可能なプリ・インストールアプリケーションのリストを含むのであって、当該サーバとは、当該ダウンロード可能なプリ・インストールアプリケーションのリストが含むアプリケーションを有するサーバである。また、本システムは、アプリケーションがサーバで利用可能な更新がなされていることを、アプリケーション・データベースを探索し、当該コンピュータ装置上に格納されたアプリケーションのバージョン番号を上記アプリケーション・データベース上に格納されているアプリケーションのバージョン番号と比較することにより、利用可能な更新を判定する。バージョン番号の比較に基づいて、アプリケーションに対する更新がアプリケーション・データベースに存在するかを判定する。本システムは、アプリケーションがスタブ・レシートと関連付けられていると判定することにより、アプリケーションがプリ・インストールアプリケーションであると判定する。本システムは、アプリケーションがプリ・インストールアプリケーションであることを、コンピュータ装置と関連付けられたプリ・インストールアプリケーションのリストを含むマニフェストを受信し、アプリケーションがそのプリ・インストールアプリケーションのリスト内に含まれると判定することにより、判定する。本システムは、プリ・インストールアプリケーションがリンク可能であることを、一意的なハードウェア識別子、または購入証明をサーバに送信し、プリ・インストールアプリケーションが別のユーザ・アカウントとリンクされているかを判定することにより、そのプリ・インストールアプリケーションがリンク可能であると判定する。更に他の例において、システムは、上記プリ・インストール・ソフトウェアを上記ユーザ・アカウントとリンク付けすることを、そのプリ・インストール・ソフトウェアをユーザ・アカウントに関連付け、一意的なハードウェア識別子、または購入証明を含むように、一意性テーブルなるテーブルを更新することにより、前記プリ・インストール・ソフトウェアをユーザ・アカウントとリンクすることができる。ここで、一意性テーブルは、別のプリ・インストール・ソフトウェアを有する別の電子装置と関連付けられる別の一意的ハードウェア識別子、または購入の証明を含み、別のプリ・インストールアプリケーションは別のユーザ・アカウントとリンクされる。
【０００８】
別の変形例において、システムは、ユーザ・アカウントに関連付けられたアプリケーションをユーザ・アカウントに関連付けられた１つ以上のコンピュータ装置に送信するように構成されたオンラインストアのユーザ・アカウントとプリ・インストール・ソフトウェアをリンクする要求を受信する。次に本システムは、コンピュータ装置と関連付けられた一意的ハードウェア識別子、または購入の証明を生成し、プリ・インストールアプリケーションがその一意的ハードウェア識別子、または購入の証明に基づいてリンク可能であると判定する。プリ・インストールアプリケーションがリンク可能である場合、システムは、プリ・インストールアプリケーションをユーザ・アカウントとリンクする。前記一意的ハードウェア識別子は、ＭＡＣアドレス、ＵＤＩＤ（ｕｎｉｖｅｒｓａｌ  ｄｅｖｉｃｅ  ｉｄｅｎｔｉｆｉｅｒ）、ロジックボードシリアル番号、またはイーサネットハードウェアアドレス等の電子装置の１つ以上のハードウェアコンポーネントに基づく。他の例において、購入の証明が使用される。購入の証明は、電子装置のハードウェアコンポーネント、アプリケーションの贈与、購入、または取得と関連付けられたメタデータに基づくことができる。プリ・インストールアプリケーションがリンク可能であると判定することは、一意的ハードウェア識別子、または購入の証明をサーバに送信し、プリ・インストールアプリケーション、または購入の証明が別のユーザ・アカウントとリンクされているかを判定することを含む。本システムは、コンピュータ装置の元の設定がプリ・インストールアプリケーションを含むと判定することにより、プリ・インストールアプリケーションがリンク可能であると判定する。プリ・インストールアプリケーションをユーザ・アカウントとリンクすることは、プリ・インストールアプリケーションをユーザ・アカウントに関連付け、一意的ハードウェア識別子、または購入の証明を含むように一意性テーブルを更新することを含む。一意性テーブルは、別のユーザ・アカウントとリンクされている別のプリ・インストールアプリケーションを有する別の電子装置と関連付けられる別の一意的ハードウェア識別子、または購入の証明を含む。更に別の例において、プリ・インストールアプリケーションをユーザ・アカウントとリンクすることは、マニフェストからプリ・インストールアプリケーションと関連付けられたメタデータを削除することを含むのであり、ここで、マニフェストとは、もうユーザ・アカウントとリンクされているプリ・インストールアプリケーションを一覧表示するように構成される更に含む。
【図面の簡単な説明】
【０００９】
本発明の上述の利点及び特徴、並びに他の利点及び特徴を取得する方法を説明するため、添付の図面に示される本発明の特定の実施形態を参照して、簡単に上述した原理のより詳細な記述を示す。これらの図面が本発明の例示的な実施形態のみを示すために本発明の範囲を限定するものとして考えられないことを理解して、本明細書における原理は、添付の図面を使用して更に具体的且つ詳細に記述され、説明される。
【図１】図１は、例示的なシステムの実施形態を示す図である。
【図２】図２は、例示的なアプリケーション配信システムを示す図である。
【図３】図３は、例示的なクライアント−サーバシステムを示す図である。
【図４】図４は、ページ更新要求を処理する例示的な方法を示す図である。
【図５】図５は、ページ更新要求と関連付けられたＨＴＭＬページの一例を示す図である。
【図６】図６は、プリ・インストールアプリケーションをアドプションするためにユーザ認証を要求するＨＴＭＬページの一例を示す図である。
【図７】図７は、プリ・インストールアプリケーションをアドプションするためにユーザ認証を要求するＨＴＭＬページの別の例を示す図である。
【図８】図８は、ページ購入要求を処理する例示的な方法を示す図である。
【図９】図９は、ユーザがサインインしていない場合にページ購入要求と関連付けられたＨＴＭＬページの一例を示す図である。
【図１０】図１０は、ユーザがサインインしている場合にページ購入要求と関連付けられたＨＴＭＬページの別の例を示す図である。
【図１１】図１１は、認証プロンプトを含むページ購入要求と関連付けられたＨＴＭＬページの別の例を示す図である。
【図１２】図１２は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする例示的な方法を示す図である。
【図１３】図１３は、アドプション警告の一例を示す図である。
【図１４】図１４は、アドプション警告の別の例を示す図である。
【図１５】図１５は、電子装置上の回復モードに対する例示的な処理を示す図である。
【発明を実施するための形態】
【００１０】
本発明の種々の実施形態を以下において詳細に説明する。特定の実現例を説明するが、これは例示するためだけに説明されることが理解されるべきである。本発明の趣旨の範囲から逸脱せずに他の構成要素及び構成が使用されてもよいことは、当業者により理解されるだろう。
【００１１】
本発明は、電子装置上のプリ・インストール・ソフトウェアを配信センター、またはオンラインストアのユーザ・アカウントに関連付ける技術分野における必要性に向けられている。更に本発明は、プリ・インストール・ソフトウェアに加えて他の種類のソフトウェアをユーザ・アカウントに関連付ける必要性に対処するものである。例えば、購入したソフトウェア、贈与として受け取ったソフトウェア、ソフトウェア製造業者から無償で、または低料金で配信されたソフトウェア、或いは他の方法を使用して取得したソフトウェアを、オンラインストア、またはオンラインショップのユーザ・アカウントに関連付けることに関連する。この処理をオンラインストアにおけるユーザ・アカウントによるソフトウェアの「アドプション」と呼ぶ。ソフトウェアをオンラインストアのユーザ・アカウントに関連付けることにより、ソフトウェアの更新及び再インストールはオンラインストアからダウンロードされる。それにより、電子装置上でソフトウェアを管理するより簡単で便利な方法を提供する。また、ユーザ・アカウントに関連付けられた他のコンピュータ装置は、オンラインストアからソフトウェアの更新及び再インストールを更に受信する。図１〜図１５の以下の説明は、プリ・インストールアプリケーション、ソフトウェアパッケージ及び他の手段を介して取得された（例えば、贈与、購入、或いは別の方法で配信、または取得された）アプリケーションに適用可能である。従って、本明細書において使用されるような「プリ・インストールアプリケーション」という用語は、贈与されたアプリケーション、購入されたアプリケーション、配信されたアプリケーション及び取得されたアプリケーション等と同義で使用される。換言すると、「プリ・インストールアプリケーション」は、ユーザが所有権を有するあらゆるアプリケーションである。同様に、「一意的ハードウェア識別子」とは、コンピュータ装置にインストールされたアプリケーションに資格証明、または所有権を提供するように構成されたあらゆる一意的識別子である。例えば、資格証明は、作成されるアプリケーションのコピー毎に一意的な値を有する。資格証明は、アプリケーションを償還ための償還コードでもある。他の例において、資格証明は、一意的値と非一意的値との組合せであり、例えば償還コード（一意でなくてもよい）をユーザ・アカウント（一意である）と関連付けられた一意的識別子と組み合わせる。概念を実施するために採用される基本的な汎用システム、または汎用コンピュータ装置の簡単に紹介するための説明を図１に示す。プリ・インストール・ソフトウェアをユーザ・アカウントに関連付ける方法を以下に更に詳細に説明する。以下において、種々の実施形態としていくつかの変形例を含む。次に、本発明の開示は図１に進む。
【００１２】
図１を参照すると、例示的なシステム１００は、処理ユニット（ＣＰＵ、またはプロセッサ）１２０、並びに読み出し専用メモリ（ＲＯＭ）１４０及びランダムアクセスメモリ（ＲＡＭ）１５０等のシステムメモリ１３０を含む種々のシステム構成要素をプロセッサ１２０に結合するシステムバス１１０を含む汎用コンピュータ装置１００を備える。システム１００は、プロセッサ１２０と直接接続されるか、プロセッサ１２０に近接するか、或いはプロセッサ１２０の一部として組み込まれる高速メモリのキャッシュ１２２を含む。システム１００は、プロセッサ１２０が高速アクセスするためにメモリ１３０及び／または記憶装置１６０からキャッシュ１２２にデータをコピーする。このように、キャッシュは、データを待つ間にプロセッサ１２０が遅延するのを回避するパフォーマンスブーストを提供する。これらのモジュール及び他のモジュールは、種々の動作を実行するようにプロセッサ１２０を制御するか、或いは制御するように構成される。他のシステムメモリ１３０が更に使用可能であってもよい。メモリ１３０は、種々の性能特性を含む種々のメモリを含む。本発明は、２つ以上のプロセッサ１２０を備えるコンピュータ装置１００、或いはより適切な処理機能を提供するように共にネットワーク化されたコンピュータ装置のグループ、またはクラスタ上で動作することが理解される。プロセッサ１２０は、あらゆる汎用プロセッサ、並びに記憶装置１６０に格納され、プロセッサ１２０及びソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを制御するように構成されたモジュール１  １６２、モジュール２  １６４及びモジュール３  １６６等のハードウェアモジュール、またはソフトウェアモジュールを備える。プロセッサ１２０は、実質的に、多数のコア、またはプロセッサ、バス、メモリ制御器、キャッシュ等を含む完全自立型の演算システムである。マルチコアプロセッサは、対称でも非対称でもよい。
【００１３】
システムバス１１０は、種々のバスアーキテクチャのうちのいずれかを使用するメモリバス、またはメモリ制御器、周辺バス及びローカルバスを含むいくつかの種類のバス構造のうちのいずれかである。ＲＯＭ１４０等に格納された基本入出力（ＢＩＯＳ）は、起動中等にコンピュータ装置１００内の要素間で情報の転送を支援する基本ルーチンを提供する。コンピュータ装置１００は、例えばハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブ、またはテープドライブ等の記憶装置１６０を更に備える。記憶装置１６０は、プロセッサ１２０を制御するソフトウェアモジュール１６２、１６４、１６６を備える。他のハードウェアモジュール、またはソフトウェアモジュールが考えられる。記憶装置１６０は、ドライブインタフェースによりシステムバス１１０に接続される。ドライブ及び関連付けられたコンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及びコンピュータ装置１００に対する他のデータの不揮発性記憶装置を提供する。一態様において、特定の機能を実行するハードウェアモジュールは、機能を実行するために必要なハードウェアコンポーネント、例えばプロセッサ１２０、バス１１０及びディスプレイ１７０等と併せてコンピュータ可読の非一時的記憶媒体に格納されたソフトウェアコンポーネントを含む。基本的な構成要素は当業者に既知であり、装置の種類、例えば装置１００が小型であるか、ハンドヘルドコンピュータ装置であるか、デスクトップコンピュータであるか、或いはコンピュータサーバであるかに依存して適切な変形例が考えられる。
【００１４】
本明細書において説明した例示的な実施形態はハードディスク１６０を採用するが、コンピュータによりアクセス可能なデータを格納する他の種類のコンピュータ可読媒体、例えば磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）１５０、読み出し専用メモリ（ＲＯＭ）１４０、ケーブル、またはビットストリーム等を含む無線信号等が例示的な動作環境において更に使用されてもよいことは、当業者により理解されるべきである。コンピュータ可読の非一時的記憶媒体は、媒体、例えばエネルギー、搬送波信号、電磁波及び信号自体を明確に除外する。
【００１５】
コンピュータ装置１００とのユーザ対話を可能にするために、入力装置１９０は、例えば音声のためのマイク、ジェスチャ、または図形入力のためのタッチセンシティブスクリーン、キーボード、マウス、動作入力及び音声等の多くの入力機構を示す。更に出力装置１７０は、当業者に既知である多くの出力機構のうちの１つ以上である。いくつかの例において、多モードシステムにより、ユーザは、コンピュータ装置１００と通信するために多くの種類の入力を提供できる。通信インタフェース１８０は、一般に、ユーザ入力及びシステム出力を制御し、管理する。何らかの特定のハードウェア構成上で動作することに対する制限がないため、本明細書における基本的な機能は、それらが開発される時に改善されたハードウェア構成、またはファームウェア構成に容易に置換される。
【００１６】
説明を明確にするため、説明的なシステムの実施形態は、「プロセッサ」、またはプロセッサ１２０としてラベル付けされた機能ブロックを含む個々の機能ブロックを含むものとして提示される。これらのブロックが示す機能は、ソフトウェアを実行できるハードウェア及び汎用プロセッサ上で実行するソフトウェアと同等に動作する目的で製作されたプロセッサ１２０等のハードウェアを含むがそれらに限定されない共有ハードウェア、または専用ハードウェアを使用して提供される。例えば、図１に示された１つ以上のプロセッサの機能は、単一の共有プロセッサ、または複数のプロセッサにより提供される。（「プロセッサ」という用語を使用することは、ソフトウェアを実行できるハードウェアのみを示すものとして解釈されるべきではない。）例示する実施形態は、マイクロプロセッサ及び／またはデジタル信号プロセッサ（ＤＳＰ）ハードウェア、以下において説明する動作を実行するソフトウェアを格納する読み出し専用メモリ（ＲＯＭ）１４０、並びに結果を格納するランダムアクセスメモリ（ＲＡＭ）１５０を備える。汎用ＤＳＰ回路と組み合わせて超大規模集積回路（ＶＬＳＩ）ハードウェアの実施形態及びカスタムＶＬＳＩ回路網が更に提供される。
【００１７】
種々の実施形態の論理演算は、（１）汎用コンピュータ内のプログラム可能な回路上で実行する一連のコンピュータにより実現されたステップ、動作、または手順、（２）専用のプログラム可能な回路上で実行する一連のコンピュータにより実現されたステップ、動作、または手順、並びに／或いは（３）プログラム可能な回路内の相互接続されたマシンモジュール、またはプログラムエンジンとして実現される。図１に示されたシステム１００は、列挙された方法の全て、または一部を実施し、列挙されたシステムの一部であり、且つ／或いは列挙されたコンピュータ可読の非一時的記憶媒体における命令に従って動作する。そのような論理演算は、モジュールのプログラミングに従って特定の機能を実行するようプロセッサ１２０を制御するように構成されたモジュールとして実現される。例えば図１は、プロセッサ１２０を制御するように構成されたモジュールである３つのモジュールＭｏｄ１  １６２、Ｍｏｄ２  １６４及びＭｏｄ３  １６６を示す。これらのモジュールは、記憶装置１６０上に格納されるか、実行時にＲＡＭ１５０、またはメモリ１３０にロードされるか、或いは当技術分野において既知であるように他のコンピュータ可読記憶場所に格納される。
【００１８】
演算システムのいくつかの構成要素を開示したが、次に、本開示は、オンラインアプリケーション配信ストア、またはマーケットにおいてパーソナルコンピュータ、ラップトップ、ゲーム機、スマートフォン、移動電話、またはタブレットＰＣ等のコンピュータ装置上のプリ・インストール・ソフトウェアをユーザ・アカウントに「関連付ける」（リンクする、またはアドプションするに類似する）技術の説明に戻る。本明細書において説明される手法は、オンラインストア、または配信センター等のオンライン配信サイト上のユーザ・アカウントにプリ・インストール・ソフトウェアをリンクすることにより、そのプリ・インストール・ソフトウェアを更新し、或いはコンピュータ装置に再インストールする際の効率性及び利便性を高めるものである。オンライン配信サイトは、ユーザ・アカウントに関連付けられたプリ・インストール・ソフトウェアをそのユーザ・アカウントにリンクされた１つ以上のコンピュータ装置に送信する。プリ・インストール・ソフトウェア及びプリ・インストール・ソフトウェアに対する更新は、双方とも、１つ以上のコンピュータ装置に送信することができる。いくつかの例において、配信サイトは、所定のユーザ・アカウントに関連付けられたソフトウェアを受信することがゆるされた、その所定のユーザ・アカウントに関連付けられたコンピュータ装置の数に対する制限を指定することができる。他の例においては、プリ・インストール・ソフトウェアとは、一度は生成されたが、その後に、一グループのコンピュータ装置の各々に対して繰り返され複製された標準「イメージ」の一部である。例えば、標準的な装置「イメージ」とは、オペレーティングシステム、ドライバ、プログラム及び設定等を含む。従って、「イメージ」された装置の各々は、プリ・インストール・ソフトウェアを含む同一のソフトウェア構成を有し、エンドユーザ（、または他のエンティティ）が装置を設定した後、プリ・インストール・ソフトウェアは、オンラインストア、またはオンライン市場においてアドプションされ、ユーザ・アカウントに関連付けることができる。
【００１９】
図２は、例示的なアプリケーション配信システムを示す。この例において、配信システム２００は、配信センター２１０、アプリケーション・データベース２２０、設定サーバ２３０、インターネット２５０、または他のネットワーク、コンピュータ装置２６０、コンピュータ装置２７０及び携帯装置２８０を示す。配信センター２１０、アプリケーション・データベース２２０及び設定サーバ２３０は、共にクライアント−サーバモデルのサーバ側２４０の種々の独立構成要素を示す。同様に、コンピュータ装置２６０、コンピュータ装置２７０及び携帯装置２８０は、クライアント−サーバモデルのクライアント側２９０の種々の独立構成要素を示す。従って、配信システム２００の広範な概要は、インターネット２５０を介してクライアント側２９０と通信するサーバ側２４０を含むことができる。一例として、サーバ側２４０は、ユーザにとっては、アプリケーション、または多数のクラウドサーバを販売し、配信するオンラインストアとして表現できる。クライアント側２９０の装置は、装置上に格納されたアプリケーション管理コンピュータプログラムを使用してオンラインストアと通信することができる。他の例において、インターネット２５０は、例えばコンピュータネットワーク、電話回線、イーサネット、ローカルエリアネットワーク、有線ネットワーク及び無線ネットワーク等の他の通信ネットワークで置換することができる。
【００２０】
コンピュータ装置２６０はアプリケーション２６１を含むことができる。アプリケーション２６１は、コンピュータ装置２６０にプリ・インストールされたアプリケーション、パッケージの一部として提供されたアプリケーション、、または何らかの種類のインストールメディアが提供されたアプリケーションを含み得る。ある一般的な例において、コンピュータ装置２６０の所有者は、製造業者からこれらのアプリケーションが既にインストールされているコンピュータ装置２６０を購入した、とする。このアプリケーション２６１のなかには、他の手段を介してコンピュータ装置２６０により取得されたアプリケーション、（またはソフトウェアパッケージ）、例えば２、３例を挙げると、贈与され、購入され、または無償で配信されたアプリケーションを更に含む。アプリケーション２６１は、コンピュータ装置２６０のユーザにより配信センター２１０から購入されたアプリケーションを更に含むことができる。ユーザは、配信センター２１０から所望のアプリケーションを購入する際に、ユーザが既に購入したアプリケーションと関連付けられたメタデータ、そして、所望のアプリケーションと引き換えで配信センター２１０に支払いをするための支払情報に関連付けられたメタデータなどを含むユーザ・アカウント２９１にログインする。ログインすると、ユーザは購入したいアプリケーションを選択する。ユーザがアプリケーションの購入額を支払うことに同意すると、このユーザの支払情報が用いられて取引が完了する。取引が完了すると、その所望のアプリケーションはユーザ・アカウント２９１と関連付けられることとなり、ユーザは、当該所望のアプリケーションとその所望アプリケーションの更新とをダウンロードできるようになる。ユーザ・アカウント２９１と関連付けられたこれらアプリケーション等は、ユーザ・アカウント２９１と関連付けられる他の装置に更にダウンロード若しくは再ダウンロード可能となる。
【００２１】
いくつかの例においては、ユーザは、この時点では、アプリケーションをユーザ・アカウントに関連付けしないというオプションを有することができる。例えば、贈与としてアプリケーションを受け取るユーザは、ユーザ・アカウントを有さないか、有していても、アプリケーションをユーザ・アカウントに関連付けたくないであろう。第１の例においては、ユーザは、ユーザ・アカウントを設定するまでもなく、アプリケーションをコンピュータ装置２６０にインストールできる。ユーザが更新を受信したいか、或いは、自身が所有する他の電子装置にそのアプリケーションをインストールしたい場合には、当該ユーザは、ユーザ・アカウントを選択し、そのアプリケーションを前記ユーザ・アカウントとリンクする（すなわち、アドプションする）。この例においては、コンピュータ装置２６０、コンピュータ装置２７０及び携帯装置２８０は、全てユーザ・アカウント２９１と関連付けられている、そのため、ユーザ・アカウント２９１と関連付けられている全てのアプリケーションの更新及び再ダウンロードを受信できるように構成されている。更に、携帯装置２８０は、コンピュータ装置２７０と通信し、これら２つの装置間でデジタルデータ及びアプリケーションを転送することができる。一例においては、コンピュータ装置２７０は、ユーザ・アカウント２９１に関連付けられた全てのアプリケーションを格納するリポジトリセンター（記憶センター）となって、選択されたアプリケーションを携帯装置２８０に転送できるように構成されている。本明細書において、「アプリケーション」という用語は、ソフトウェアプロバイダにより提供されたソフトウェアプログラム、またはアプリケーションのコピー或いは複製物を意味する。他の例においては、コンピュータ装置に最初にプリ・インストールされたソフトウェアアプリケーション及びソフトウェアプログラム（例えば、システムソフトウェア、企業向けソフトウエア、マルチメディアファイル、ビデオファイル、オーディオファイル及び画像ファイル）等に加えて、他のデジタル製品、例えば、ユーザが所有権を有するソフトウェアアプリケーション等は、また、ユーザ・アカウント２９１に関連付けて、配信センター２１０により配信／再配信することができる。
【００２２】
配信センター２１０は、アプリケーション・データベース２２０に結合され、アプリケーション・データベース２２０から、アプリケーションを販売し、供給し、及び維持するように構成されている。アプリケーション・データベース２２０は、サーバ側２４０から配信可能なアプリケーションのうちの一部、または全てを格納するように構成することができる。これらのアプリケーションは、インターネット２５０を介してクライアント側２９０の装置に販売し、更新し、そして、供給（すなわち、送信）することができる。従って、配信センター２１０は、アプリケーションに対するオンラインストアを意味する。例えば、アプリケーション・データベース２２０は、配信センター２１０からアプリケーションに対する要求を受信し、要求に応答して、要求されたアプリケーションを配信センター２１０に送信し、配信センター２１０は、その後アプリケーションを要求側装置に送信する。要求されたアプリケーションとは、購入可能なアプリケーション、または以前にユーザ・アカウントに関連付けられたアプリケーション（すなわち、アドプションされている、別途取得され、またはプリ・インストールされたアプリケーション）である。他の例において、アプリケーション・データベース２２０は、要求されたアプリケーションを要求側装置に直接送信できる。更に他の例において、アプリケーション・データベース２２０はクライアント側２９０に常駐できるのであり、このクライアント側で、サーバ側２４０は、アプリケーション・データベース２２０の特定のアプリケーションへのアクセスを、当該ユーザ・アカウントに関連付けられたアプリケーションに基づいて許可することできる。
【００２３】
クライアント側２９０の装置は、ソフトウェア・アドプション要求を送信して、装置上のプリ・インストールアプリケーション、または別途取得されてはいるがアドプションされていないアプリケーションを、ユーザ・アカウントにリンクする（すなわち、関連付けるか、或いはアドプションする）ことができる。１つのアプリケーションをリンクすることにより、ユーザは、そのアプリケーションを１つのユーザ・アカウントに関連付けることができるため、同ユーザは、同ユーザ・アカウントに同じく関連付けられた他の装置に、このアプリケーションをダウンロードすることができる。この処理は、アプリケーションの「リンク」、「アドプション」、または「関連付け」と呼ばれる。例えばコンピュータ装置２６０は、アプリケーション２６１からのアプリケーションをユーザ・アカウント２９１とリンクするように要求することができる。この要求は、インターネット２５０を介してアプリケーション、またはコンピュータ装置２６０と関連付けられた一意的識別子（例えば、一意的ハードウェア識別子）と共に配信センター２１０に送信され、ここで、アプリケーションがユーザ・アカウント２９１と関連付けられているかが判定される。一意的ハードウェア識別子は、特定の装置を他の全ての装置と区別するために使用される一意的な識別子であり、その装置のハードウェアに基づくことができる。例えば、製造業者は、自らの製造になる装置が、一意的であり、それ故に、他のあらゆる装置の一意的ハードウェア識別子とは異なるところの一意的ハードウェア識別子を有する、ことを保証することができる。一例として、一意的ハードウェア識別子は、装置のロジックボードシリアル番号及び／またはイーサネットハードウェアアドレスに基づくこともできる。一例において、これらの２つの値は、連結され、ハッシュされて、一意的ハードウェア識別子を生成する。他の例においては、この装置に特有な他のメタデータを、一意的ハードウェア識別子を形成するための種々のデータ操作アルゴリズムを用いて、連結し、ハッシュし、または合成してもよい。更に他の例において、そのアプリケーションがユーザ・アカウント２９１と関連付け可能かを判定するために使用される一意的識別子は、その一意的識別子と関連付けられるアプリケーション（すなわち、ソフトウェアパッケージ）がソフトウェア製造業者から合法的に取得されたことの証拠となる他のあらゆる購買証明、または資格に基づくことができる。一例において、一意的識別子は、アプリケーションと関連付けられたメタデータ、または属性から導出される。別の例において、一意的識別子は、アプリケーション、クライアント装置、ユーザ・アカウント、ユーザ・アカウントに関連付けられた他のクライアント装置、または上記の１つ以上の任意の組合せ、などと関連付けられたメタデータから導出することができる。
【００２４】
一実施形態において、配信センター２１０は、一意的識別子を受信し、それを処理、または解析してアプリケーションがユーザ・アカウントに関連付け可能かを判定する。ある特定の例において、アプリケーションはユーザ・アカウントに関連付けることはできない。例えば、アプリケーションが以前に別のユーザ・アカウントに関連付けられていた場合、装置のアプリケーションはユーザ・アカウントに関連付けられない。別の例として、アプリケーションは、正規のコピーでない場合には、ユーザ・アカウントに関連付けることができない。これは、ユーザが元々ある装置から別の装置にインストールされていたアプリケーションを手動でコピーする場合に発生する。更に別の例として、この関連付け処理は、アプリケーションをユーザ・アカウントにリンクするために、ユーザが電子装置上のユーザのアカウントにログインされていることを必要とする。
【００２５】
別の実施形態において、配信センター２１０は、一意的識別子を受信し、それを処理、または解析して、アプリケーションがユーザ・アカウントに関連付けられるかを判定する。一例として、一意的識別子を処理することは、一意的識別子をデータベースと比較することで一意的識別子を検証することを含む。データベースは、各々がアプリケーションの正規のコピーと関連付けられた一意的識別子を格納する複数のエントリを有する。比較の結果は、アプリケーションのアドプション状況、例えばアプリケーションが正当なコピーであるか、不当なコピーであるか、或いはユーザ・アカウントと既に関連付けられているかを判定するために使用される。別の例として、一意的識別子の処理は、一意的識別子をハッシュテーブルに入力してアプリケーションのアドプション状況を判定することを含むことができる。更に別の例において、一意的識別子を検証エンジンへ受信するようにして、このエンジンがアプリケーションのこのようなインストールが有効ではあるか、まだアドプションされていないかを判定するようにすることができる。更に他の例においては、他のデータ処理技術を一意的識別子に適用して、アプリケーションがユーザ・アカウントに関連付けることができるかを判定することができる。アプリケーションは、最近でも、ユーザにより取得可能である。換言すると、アプリケーションは、配信、または製造から、電子装置を購入し、受け取った後でも、ユーザが取得し終えたようにようにすることができる。或いは、アプリケーションは、電子装置が購入された時に取得可能である。配信センター２１０によりアドプション状況が判定されると、アドプション状況に係る確認が電子装置に送信される。確認が送信され、アドプション処理の状況を電子装置に報知する。確認に基づいて、電子装置は、ソフトウェアパッケージのダウンロード、または更新を要求する。他の例において、配信センター２１０は、アドプション状況に従って電子装置に対してソフトウェアパッケージのダウンロード処理、または更新処理を自動的に開始する。
【００２６】
サーバ側２４０は、多数のサーバ及びテーブルを組み込んでおり、リンク要求が許可されるべきかを判定する。例えば配信センター２１０は一意性サーバ２１１を備え、このサーバは、一意的識別子を処理しって、リンク要求の正当性、または合法性を判定するように構成されている。一意性サーバ２１１は、データベースを維持するように構成された一意性テーブル、またはユーザ・アカウントとリンクされた１つ以上のプリ・インストールアプリケーションを有している電子装置のテーブルを含む。一例として、一意性テーブルは、プリ・インストールアプリケーションをユーザ・アカウントと既にリンクしている装置（すなわち、装置と関連付けられたプリ・インストールアプリケーションを既にアドプションしている装置）の一意的ハードウェア識別子を格納するように構成される。一意性テーブルは、ユーザ・アカウントに関連付けられているアプリケーションと関連付けられたメタデータを格納するように更に構成される。装置がアプリケーションのうちのいくつか、または全てをユーザ・アカウントとアドプション（すなわち、リンク）する場合、装置の一意的ハードウェア識別子、またはアドプションされたアプリケーションの一意的識別子は、一意性テーブル内に格納される。これにより、既にアドプションされているアプリケーションをリンクする今後の要求を阻止する。例えば、一意的識別子が一意性テーブルにあるかに関するクエリを実行することは、一意的ハードウェア識別子と関連付けられた装置がプリ・インストールアプリケーションをユーザ・アカウントと既にリンクしているかを判定する。同様に、クエリは、一意的識別子と関連付けられたアプリケーションがユーザ・アカウントと既にリンクされているかを更に判定する。別の例として、一意性テーブルは、以前にアドプションされている（すなわち、ユーザ・アカウントとリンクされている）電子装置の１つ以上のプリ・インストールアプリケーションと関連付けられたメタデータと共に電子装置の一意的ハードウェア識別子を格納するように構成される。換言すると、一意性テーブルは、装置の一意的ハードウェア識別子と選択的にアドプションされている装置のプリ・インストールアプリケーションと関連付けられた１つ以上のメタデータとの間の１対多数マッピングとして構成される。一意的ハードウェア識別子に対して一意性テーブルをクエリすることは、一意的ハードウェア識別子が一意性テーブルに存在しない場合には何も返送せず、一意的ハードウェア識別子が一意性テーブルに存在する場合には選択的にアドプションされているプリ・インストールアプリケーションと関連付けられたメタデータを返送する。この結果、第１のユーザ・アカウントで装置上のプリ・インストールアプリケーションを選択的にアドプションし、第２のユーザ・アカウントで装置上の別のプリ・インストールアプリケーションを選択的にアドプションする機能が得られる。更に他の例において、一意性テーブルは、ユーザ・アカウントにリンクされているアプリケーションのデータベース、またはテーブルを維持するように構成される。既にリンクされているアプリケーションは、一意性テーブルに格納された一意的識別子を有することにより、アドプションされているアプリケーションの最新のデータベースを維持する。
【００２７】
一例において、設定サーバ２３０は、電子装置の元の設定をチェックすることにより、リンク要求の正当性を検証することができるもので、サーバは、電子装置が製造業者から出荷された時に、特定のアプリケーションが当該装置にプリ・インストールされたかを検証、または判定することによりこの検証を行う。この設定サーバは、アプリケーションがユーザ装置にインストールされているか、或いはユーザ・アカウントに関連付けられているか、に関係なく、ユーザが所有権を有するアプリケーションを更に検証し、または識別することができる。従って、ユーザが所有権を有するが、関連付けられていないか、或いはインストールされていないアプリケーションを更に識別できる。設定サーバ２３０は、製造業者により作成された電子装置の元の設定を格納するデータベースを含む。元の設定は、もしあれば電子装置と共に供給されたオペレーティングシステムのバージョン及びアプリケーションのバージョンを含む。例えば、オンラインストアを通して電子装置を注文するユーザは、購入時に１つ以上のアプリケーションを含む装置を構成することができる。アプリケーションは、購入時の設定に基づいて製造時に電子装置にインストールされる。製造時には、後続の参照のために、電子装置の設定を設定サーバ２３０に通信する。設定サーバ２３０は、電子装置から一意的ハードウェア識別子を含む参照要求を受信する場合、データベース上で探索、或いはクエリを実行し、装置にインストールされたオペレーティングシステムのバージョン及び／または電子装置にインストールされたアプリケーションのバージョンを含むリストを返送する。設定サーバ２３０は、インストールされたアプリケーションのリストをユーザがユーザ・アカウントに関連付けようとしているアプリケーションと比較し、ユーザが関連付けようとしているアプリケーションが正規のインストールであるか、或いは以前に別のユーザ・アカウントに関連付けられているかを判定する。或いは、設定サーバ２３０は、プリ・インストールアプリケーションのリストを配信センター２１０に渡し、リンク要求が許可されるべきであるかを判定する。このチェックにより、ユーザがある装置から別の装置にプリ・インストールアプリケーションをコピーすることで配信システム２００を迂回しようとすることを阻止する。
【００２８】
サーバ側２４０の１つ以上の要素がリンク要求を検証すると、そのプリ・インストールアプリケーションはユーザ・アカウントに関連付けられる（すなわち、アプリケーションアドプションされる）。また、一意性サーバ２１１、または設定サーバ２３０は、アプリケーションアドプションを考慮するように更新可能である。例えば、電子装置と関連付けられたプリ・インストールアプリケーションのうちのいくつか、または全てがアドプションされているため、新しいエントリが一意性サーバ２１１の一意性テーブルに追加される。いくつかの例において、配信センター２１０は、プリ・インストールアプリケーションがユーザ・アカウントに関連付けられた後でプリ・インストールアプリケーションの更新をコンピュータ装置２６０に送信する。他の例において、配信センター２１０は、コンピュータ装置２７０が元々プリ・インストールアプリケーションで構成されていない場合でもコンピュータ装置２７０等のユーザ・アカウントに関連付けられた他の装置にプリ・インストールアプリケーションを送信する。アプリケーションアドプションに対する同様の要求を通して、アプリケーション２７１に格納されたコンピュータ装置２７０のプリ・インストールアプリケーション及びアプリケーション２８１に格納された携帯装置２８０のプリ・インストールアプリケーションは、ユーザ・アカウント２９１と関連付けられ、最終的にコンピュータ装置２６０、コンピュータ装置２７０及び／または携帯装置２８０に配信される。
【００２９】
図３は、例示的なクライアント−サーバシステムを示す。クライアント−サーバシステム３００は、クライアント装置３５０及びサーバ３６０を備える。サーバ３６０は、クライアント装置３５０からの要求に応答するように構成され、図２のサーバ側２４０の１つ以上の要素を含む。クライアント装置３５０は、ページ要求をサーバ３６０に提供することでアプリケーション（プリ・インストール、または別の方法で取得された）をユーザ・アカウントに関連付ける。クライアント装置３５０は、プリ・インストールアプリケーションの場合と同じように、同一のページ要求、または同様のページ要求をサーバ３６０に提供することで他のアプリケーションをユーザ・アカウントと更に関連付ける。
【００３０】
１種類のページ要求はページ更新要求３０１である。ページ更新要求３０１はサーバ３６０に送信される要求で、利用可能なアプリケーションの更新を求めるクエリを実行する。ページ更新要求３０１に応答して、サーバ３６０は、クライアント装置３５０に格納されたアプリケーションが利用可能な更新を有するようになったことをユーザに報知するように構成されたハイパテキストマークアップ言語（「ＨＴＭＬ」）ページ３０３を返送する。いくつかの例において、サーバ３６０はメタデータをクライアント装置３５０に返送し、入れ替わり、クライアント装置３５０は、ユーザに提示するためのＨＴＭＬページを生成する。ページ更新要求３０１は、クライアント装置３５０に格納されているアプリケーション毎にデジタルレシートを含む。このレシートは、当該アプリケーションに関連し、そのソフトウェアの購入または所有権を記載するメタデータを含むものである。１つの種類のレシートとして、購入されたアプリケーション、またはアドプションされたアプリケーションと関連付けられる実際のレシートである。実際のレシートは、アプリケーションの説明、アプリケーションのバージョン番号、アプリケーションが購入された際のアプリケーションの購入者に関する情報及びアプリケーションが最初にインストールされた装置に関する情報等を含む。換言すると、実際のレシートとは、購入者に及び／またはアプリケーションが購入された電子装置に一意的な購入の証明である。別の種類のレシートはスタブ・レシートである。スタブ・レシートは、実際のレシートに情報の部分集合を含み、アプリケーションがユーザ・アカウントによりアドプションされていない場合はアプリケーションの一部である。一例において、スタブ・レシートは、一意的に他のコピーからこのアプリケーションのコピーを識別する。これにより、サーバは、この特定のアプリケーションのコピー（ユーザに贈与されるか、或いはユーザにより別の方法で取得される）がユーザによりアドプション可能であるかを判定できる。別の例において、スタブ・レシートは、プリ・インストールアプリケーションと関連付けられるレシートとして製造業者により生成される。製造業者によるアプリケーションのインストールを促進及び簡略化にするため、スタブ・レシートは、実際のレシートより少ない最小の情報量を含む。例えばスタブ・レシートは、サーバに対するアプリケーションを識別するアプリケーション識別子を含み、アプリケーションのバージョンを識別するバージョン番号を更に含む。アプリケーション識別子は、アプリケーションと関連付けられた名前である。スタブ・レシートは、アプリケーションが購入された時等の購入者に特有の情報と、アプリケーションの購入者、またはプリ・インストールアプリケーションがインストールされた装置に関する情報とを含まない。換言すると、スタブ・レシートは、ユーザ・アカウント、ユーザ・アカウント情報、或いはクライアント装置、コンピュータ装置、または他の装置に関する情報を含まない。アプリケーション識別子は、プリ・インストールアプリケーションと関連付けられた名前である。いくつかの例において、スタブ・レシートは、アプリケーションが装置にプリ・インストールアプリケーションされている時、または装置が供給の準備をしている時に製造業者により生成される。他の例において、スタブ・レシートは、サーバ３６０により生成され、その後プリ・インストールアプリケーションと関連付けられるクライアント装置３５０に送信される。サーバ３６０は、クライアント装置３５０による要求、またはサーバ３６０とクライアント装置３５０との間で定期的にスケジュールされた通信に応答してスタブ・レシートを生成する。プリ・インストールアプリケーションがアドプションされると、スタブ・レシートは実際のレシートで置換される。別の例において、スタブ・レシートは、アプリケーションが取得された場合にクライアント装置と関連付けられていない購入、贈与、または別の方法で取得されたアプリケーションと関連付けられるレシートとして生成される。このスタブ・レシートは、製造業者、アプリケーション配信者、またはオンラインストア等により生成される。場合によっては、スタブ・レシートは、配信のためにバッチ処理され、アプリケーションに割り当てられる。スタブ・レシートは、サーバ上に保存され、アドプション要求を認証するために使用される。前の例と同様に、スタブ・レシートは、アプリケーションアドプション処理中に実際のレシートで置換される。実際のレシートは、クライアント−サーバシステム３００のクライアント装置３５０、サーバ３６０、または他の要素により生成される。
【００３１】
この例において、ページ更新要求３０１は、プリ・インストールアプリケーション３１０と関連付けられたスタブ・レシートＡ３１１、プリ・インストールアプリケーション３２０と関連付けられたスタブ・レシートＢ３２１及びアプリケーション３３０と関連付けられた実際のレシート３３１を含む。アプリケーション３３０は、クライアント装置３５０の購入後にサーバ３６０から購入されたため、実際のレシートを含む。ページ更新要求３０１に応答して、サーバ３６０は、プリ・インストールアプリケーション３１０、プリ・インストールアプリケーション３２０、またはアプリケーション３３０がサーバ３６０からダウンロードされる利用可能な更新を有するかをユーザに報知するＨＴＭＬ３０３を生成する。アドプションされていない（すなわち、ユーザ・アカウントとリンクされていないか、或いは関連付けられていない）プリ・インストールアプリケーションと関連付けられた利用可能な更新は、プリ・インストールアプリケーションがユーザ・アカウントに対してアドプションされるまでダウンロードされない。利用可能な更新がクライアント装置３５０にダウンロード及びインストールされると、スタブ・レシートは、アプリケーションが購入された時（すなわち、利用可能な更新がインストールされた日付）、アプリケーションを購入したユーザ及びアプリケーションが最初にインストールされた電子装置等の他のメタデータを含む実際のレシートで置換される。
【００３２】
別の種類のページ要求はページ購入要求３０２である。ページ購入要求３０２は、サーバ３６０に送信され、クライアント装置３５０のユーザにより購入されているアプリケーションのリストを要求する。要求に応答して、サーバ３６０は、クライアント装置３５０のユーザにより購入されているアプリケーション及び必要に応じてクライアント装置３５０にインストールされているアプリケーションをユーザに報知するように構成されたＨＴＭＬページ３０３を返送する。クライアント装置３５０に格納されない購入されたアプリケーションは、ダウンロード及びインストールされる。ＨＴＭＬページ３０３は、アドプション（すなわち、ユーザ・アカウントとリンクすること、または関連付けること）可能なアプリケーションを更に含む。ユーザ・アカウントに関連付けられていないクライアント装置上のアプリケーションは、ページ更新要求３０１、またはページ購入要求３０２を介してアドプションのために選択される。未アドプションのアプリケーションは、要求におけるレシート、または他の形態の資格証明を送信し、アプリケーション、または所望のアプリケーションをクライアント装置にインストールする。
【００３３】
ページ購入要求３０２はマニフェスト３４０を含む。マニフェスト３４０は、プリ・インストールアプリケーション、または別の方法で取得されたアプリケーションと関連付けられた情報を格納するように構成される。この情報は、アドプション可能なアプリケーションをユーザに報知するためにサーバ３６０により使用される。マニフェスト３４０は、クライアント装置３５０にアプリケーションのバージョン番号を格納するように構成されたリスト、テーブル、または他のデータ構造を含む。アプリケーションのバージョン番号は、アプリケーションと関連付けられたスタブ・レシート、または他のメタデータにおいて見つけられる。一例において、マニフェスト３４０は、クライアント装置３５０が起動して初めて生成される。例えばマニフェストは、後でマニフェストを生成するために使用されるスタブ・レシートに対してコンピュータを探索するためにクライアント装置上でスポットライト（すなわち、探索）機能を利用することにより、クライアント装置の第１のブート中に生成される。以下において説明するように、マニフェストは、アプリケーションをユーザ・アカウントとリンクする間、または電子装置の回復モード中にアクセスされる設定サーバに格納される。
【００３４】
この例において、クライアント装置３５０は、後でマニフェスト３４０を生成するために使用されるスタブ・レシート３１１及びスタブ・レシート３２１を配置するようにクエリされる。クライアント装置３５０の再フォーマット、または回復中、プリ・インストールアプリケーション及び別の方法で取得されたアプリケーションは、共にクライアント装置３５０から削除される。ユーザ・アカウントとリンクされているアプリケーションは、クライアント装置３５０に再ダウンロードされる。しかし、ユーザ・アカウントとリンクされていないプリ・インストールアプリケーションは、完全に失われる危険性がある。以下において更に詳細に説明するように、マニフェスト３４０は、未アドプションのアプリケーションの損失を防止する機構として機能する。アドプション可能なアプリケーションは、プリ・インストールアプリケーションがユーザ・アカウントとリンクされるか、或いは関連付けられるまでダウンロードされない。利用可能な更新がクライアント装置３５０にダウンロード及びインストールされると、マニフェスト３４０は、現在アドプションされているアプリケーションと関連付けられたスタブ・レシートを除去するように編集される。また、インストールされたアプリケーションは実際のレシートを含む。いくつかの例において、ＨＴＭＬページ３０３の処理及び検索を伴うページ更新要求３０１及びページ購入要求３０２の生成は、クライアント装置３５０にインストールされたアプリケーション管理プログラム（不図示）により管理され、処理される。アプリケーション管理プログラムは、製造業者により自社開発され、特に製造業者に属するサーバと通信するように構成される。
【００３５】
クライアント−サーバシステム３００は、クライアント装置３５０により取得されるが、ユーザ・アカウントに関連付けられない（例えば、贈与、購入されるがユーザ・アカウントにリンクされないか、或いは他の手段を介してクライアント装置に配信される）アプリケーションを更にアドプションする。一例として、取得されたアプリケーションは、ページ更新要求、ページ購入要求、または他のページ要求を介してユーザ・アカウントとリンクされる。要求は、スタブ・レシート、或いはスタブ・レシートと関連付けられたメタデータ、またはスタブ・レシートから導出されたメタデータを含む。別の例として、未アドプションのアプリケーション（すなわち、まだユーザ・アカウントとリンクされていないアプリケーション）がクライアント装置３５０により取得される場合、マニフェスト３４０は更新される。
【００３６】
図４は、ページ更新要求を処理する例示的な方法を示す。クライアント及びサーバにより実行された動作を示す方法４００は、ページ更新要求中にクライアントとサーバとの通信を管理するように構成される。サーバにより実行された動作は、配信センター上に格納された配信プログラム、またはサーバ側に配置された他の構成要素により実行され、クライアントにより実行された動作は、クライアントの電子装置上に格納されたアプリケーション管理プログラムにより実行される。方法４００は、クライアント装置により供給されたグラフィックスユーザインタフェースにおいてユーザが更新タブ・リンクを選択することから開始する。例示的な更新タブ・リンクは、図５のリンク４５１である。クライアントは、ページ更新に対するユーザ要求を受信すると（４０１）、クライアント装置にインストールされたアプリケーションと関連付けられたレシート、または他の形態の資格証明に対してクライアント装置をクエリ、或いは探索する（４０３）。他の例において、クエリは、ユーザ対話なしで自動的に開始する。例えばサーバは、所定の時間間隔、または時点でクライアントと通信することでクエリを開始する。探索は、クライアント装置のオペレーティングシステム、或いはクライアント装置上に格納されたアプリケーション、またはルーチンと関連付けられた機能性を使用して実行される。見つけられるレシート、またはレシートのコピーは、サーバに送信される（４０５）。レシートは、例えばイーサネット、インターネット及びローカルエリアネットワーク等のあらゆる通信ネットワークを介して転送される。サーバは、レシートを受信し、レシートと関連付けられたアプリケーションが更新を有するかを判定する（４０７）ようにレシートを処理する。これは、図２のアプリケーション・データベース２２０等のアプリケーション・データベースにアクセスし、レシートのバージョン番号をアプリケーション・データベースに格納されたアプリケーションのバージョン番号と比較することを含む。これは、クライアント装置にインストールされたアプリケーションがサーバにより配信されるように構成されることを判定することにより、アプリケーションがアドプションの対象となること検証することを更に含む。いくつかの実施形態において、サーバは、アプリケーションがこの時点で以前にアドプションされていないこと更に検証する。これは、インストールされたアプリケーションのコピーを一意的に識別する一意的識別子を検索する（サーバ、またはクライアントから）ステップ及び一意的識別子がいずれのユーザ・アカウントとも関連付けられていないこと検証するステップを含む。更新を含むアプリケーションのリストは、ＨＴＭＬページを生成する（４０８）ために、或いはデスクトップアプリケーション、またはスマートフォンアプリケーション等の他の何らかのユーザインタフェースを操作するために使用される。ＨＴＭＬページは、利用可能な更新を含むアプリケーションに関する情報を含む。この情報は、アプリケーションの元の購入日、アプリケーションの記述及び更新されたアプリケーションにおける変更、または修正の記述を含む。ＨＴＭＬは、１つ以上のアプリケーションが更新を有するか、或いはアドプション可能であることをクライアントに通知するようにクライアントに送出される通知の一例にすぎない。その後サーバは、ＨＴＭＬページをクライアントに送信する（４０９）。いくつかの例において、サーバは、クライアントがレシートを送信した同一のチャネルを介してＨＴＭＬページを送信する。サーバは、ＨＴＭＬページをクライアントにプリパッケージ及び送信するのではなく、ローカルでインストールされたクライアントアプリケーションを更新するのに十分な情報をクライアントに送信する。
【００３７】
図５は、オンラインストア、またはオンライン市場においてアドプションされているか、或いはユーザのアカウントと関連付けられているプリ・インストールアプリケーションに対するページ更新要求と関連付けられたＨＴＭＬページの一例を示す。ＨＴＭＬページ４５０は、ページ更新を要求するためにユーザにより選択される更新(Updates)リンク４５１を含む。更新リンク４５１は、「特集」、「トップチャート」、「カテゴリ」及び「購入」等の他のリンクと共にメニューバー上に配置され、ユーザがアプリケーション管理プログラムの種々の機能にアクセスするための便利で迅速な方法を提供する。いくつかの例において、更新リンク４５１を示すアイコンは、利用可能な更新を有するクライアント装置に格納されたアプリケーションの数を規定する数を含む。アイコンの数は、ユーザがサーバとクライアント装置との定期的な通信を通して更新タブ・リンク４５１を選択する前に生成される。
【００３８】
例えばクライアント装置は、定期的にサーバと通信し、利用可能な更新を有する格納されたアプリケーションの最新のバージョン番号を検索する。この例において、更新リンク４５１が選択されており、利用可能な更新を含む１つのアプリケーションは、ＨＴＭＬページ４５０内に提示される。１つのアプリケーションは、アプリケーションを記述するアプリケーション記述４５７を提示される。アプリケーション記述４５７は、アプリケーションの名前、アプリケーションの作成者、アプリケーションのバージョン番号、アプリケーションのリリース日、またはアプリケーションと関連付けられた他の情報を含む。アプリケーション記述４５７は、アイデンティティをアプリケーションに提供するアイコン４５５及びこのアプリケーションの更新バージョンにおいて実現された変更の概要４５９を更に含む。これによりユーザに情報を提供するため、ユーザは、十分に情報を得た上で更新したいかの判断を行うことができる。ＨＴＭＬページ４５０は、ユーザがアプリケーション更新を受信したいかを選択できる選択可能なリンク４６１を更に含む。利用可能な更新の数は表題４５３に表示される。表題４５３は、ユーザが利用可能な更新の数を迅速に判定できる別の便利な場所を提供するように構成される。いくつかの例において、ＨＴＭＬページ４５０は、利用可能な更新を有する全てのアプリケーションを更新する表題４５３に隣接する選択可能なリンクを更に含む。
【００３９】
図４に戻ると、クライアントは、送信されたＨＴＭＬを受信し、ＨＴＭＬページをユーザに提示する（４１１）。図５で説明したように、ＨＴＭＬページは、利用可能な更新を含むアプリケーション、アプリケーションの記述及びアプリケーションの更新を許可するようにユーザにより選択可能な１つ以上のリンクを一覧表示するグラフィカルユーザインタフェースを提示する。クライアントは、ユーザ認証を受信し、アプリケーションを更新する（４１３）。ユーザ認証が受信されている場合、クライアントは、アプリケーションが更新される前にアドプションを必要とするかを判定する（４１５）。これは、レシートがスタブ・レシートであるかを判定するためにクライアントにインストールされたアプリケーションのレシートをチェックすることを含む。レシートがスタブ・レシートである場合、スタブ・レシートと関連付けられたアプリケーションは、潜在的にまだユーザ・アカウントに対してアドプションされていないプリ・インストールアプリケーションである。従って、ユーザ認証が必要であり、クライアントは、ユーザ・アカウントに対してアプリケーションをアドプションするか、または関連付けるためにユーザ認証を要求する（４１７）ユーザにＨＴＭＬページを提示する。ユーザ認証は、通信ネットワークを介して個人情報を送信することを含む。プライバシーの理由から、ＨＴＭＬページは、認証処理中に個人情報が送出されることをユーザに報知し、通信ネットワークを介してこの個人情報を送信するための許可を要求する。
【００４０】
図６は、アプリケーションをアドプションするためにユーザ認証を要求するＨＴＭＬページの一例を示すもので、このアプリケーションは、コンピュータ装置の購入と共に一括して販売され、及び／またはプリ・インストールされていたかも知れないものである。ＨＴＭＬページ４７０は、利用可能な更新を含む４つのアプリケーションをユーザに提示するページ更新である。従って、更新(Updates)リンク４７１のアイコンは数「４」を含む。この例において、ユーザは、「全て更新」(UPDATE ALL)リンク４７５を介して全てのアプリケーションを更新することを選択した。しかし、他の例において、ユーザは、更新リンク４７６、４７７、４７８、または４７９のうちの１つを選択することで単一のアプリケーションを更新することを更に選択することができる。利用可能な更新を含むアプリケーションは、プリ・インストールアプリケーション４７２及び購入したアプリケーション４７３を含む。いくつかの例において、この段階においてプリ・インストールアプリケーション及び購入したアプリケーションの提示に差はない。しかし、ユーザがプリ・インストールされたアプリケーション、またはユーザ・アカウントとリンクされていないアプリケーションを更新することを選択すると、ＨＴＭＬページ４７０は、プロンプト４８０をユーザに提示することができる。図７において、プロンプト４８０を更に詳細に説明する。
【００４１】
図７は、アプリケーションをアドプションするためにユーザ認証を要求するＨＴＭＬページの別の例を示す。認証プロンプトとしても既知であるプロンプト４８０は、コンピュータにプリ・インストールされておらず且つ場合によってはユーザ・アカウントに関連付けられていないか、或いはユーザ・アカウントに関連付けられていない取得されただけのアプリケーションを更新することをユーザが選択すると、ユーザに提示される。この例において、プロンプト４８０は、アイコン４８１、ログイン４８２、パスワード４８３、パスワード支援４８４、記述４８５、ヘルプリンク４８６、アカウント作成４８７、キャンセル４８８及びサインイン４８９を含む。記述４８５は、ユーザがアプリケーションを更新したい場合には、この電子装置上にプリ・インストール（すなわち、一括販売（バンドル））されたアプリケーションがユーザ・アカウントに関連付けられることを報知するテキスト情報を提供する。この記述４８５は、アプリケーションをアドプションするために、電子装置と関連付けられた一意的ハードウェア識別子がサーバに送出され、アプリケーションアドプションが許可されるべきかを判定することをユーザに更に報知する。アイコン４８１は、アプリケーション管理プログラムのアプリケーション更新機能をブランド化するために使用される。ログイン４８２及びパスワード４８３は、ユーザがプリ・インストールアプリケーションを関連付けたいユーザ・アカウントを指定する。パスワード支援４８４は、パスワードに支援を必要とするユーザにより選択される。所望のユーザ・アカウント及び正しいパスワードが入力されると、ユーザは、サインイン４８９を選択することでアドプション処理を開始する。ユーザは、ユーザ・アカウントを有さないか、或いはプリ・インストールアプリケーションを新しいアカウントと関連付けたい場合、アカウント作成４８７を選択する。ユーザは、アプリケーションをキャンセルし、更新したくない場合、キャンセル４８８を選択する。ユーザは、上述のあらゆる要素に関するより詳細な記述を望む場合、ヘルプリンク４８６を選択する。電子装置にプリ・インストールされていないが、電子装置により別に取得されるアプリケーションを関連付けるためにＨＴＭＬページがユーザ認証を要求している他の例において、記述４８５は、適切なメッセージをユーザに搬送するように変更される。例えば記述４８５は、「今後の更新を受信するため、アプリケーション「Ｘ」、「Ｙ」及び「Ｚ」がこのａｐｐｌｅ  ＩＤに割り当てられます。コンピュータに格納された一意的識別子は、資格を検証するためにＡｐｐｌｅに送出されなければなりません」と記載する。
【００４２】
図４に戻ると、クライアントは、ユーザ認証を受信し、アプリケーションをアドプションする（４１９）。このユーザ認証は、図７で説明したようなクライアントにより提示されたプロンプトにユーザ・アカウント及びパスワードを入力するユーザにより受信できる。クライアントは、ユーザ認証を受信すると、アプリケーションのアドプションに進む（４２１）。アプリケーションをユーザ・アカウントに対してアドプションする例示的な処理を図１２において以下に説明する。いくつかの例において、全てのプリ・インストールアプリケーションは、同時にユーザ・アカウントに関連付けられなければならない。従って、ユーザは、ある電子装置と関連付けられた１つのプリ・インストールアプリケーションを１つのユーザ・アカウントと選択的にリンクすることはできず、その電子装置と関連付けられた別のプリ・インストールアプリケーションを別のユーザ・アカウントと選択的にリンクできない。プリ・インストールアプリケーションがアドプションされているサーバを通知するのに電子装置と関連付けられた一意的ハードウェア識別子で十分であるため、電子装置上で全てのプリ・インストールアプリケーションを同時にアドプションすることにより、アドプション処理を管理する計算オーバヘッドを簡略化する。他の例において、電子装置上のプリ・インストールアプリケーションは、選択的に多数のアカウントと関連付けられる。従って、第１のプリ・インストールアプリケーションは第１の電子装置と関連付けられ、第２のプリ・インストールアプリケーションは第２の電子装置と関連付けられる。しかし、サーバ上でプリ・インストールアプリケーションを管理するには、電子装置の一意的ハードウェア識別子及びアドプションされているプリ・インストールアプリケーションを格納する必要がある。これらの例は、電子装置の購入とは別に取得されるアプリケーションにも適用可能である。例えば、電子装置にインストール及び贈与されたアプリケーションが大量の場合には、個々に、またはグループとしてユーザ・アカウントに関連付けられる。
【００４３】
図８は、ページ購入要求を処理する例示的な方法を示す。方法５００は、クライアント及びサーバにより実行される動作を示すものであり、この方法５００は、ページ購入要求中にクライアントとサーバとの通信を管理するように構成される。サーバにより実行される動作は、配信センター上に格納された配信プログラム、またはサーバ側に配置された他の構成要素により実行される一方、クライアントにより実行される動作は、クライアント側の電子装置上に格納されたアプリケーション管理プログラムにより実行される。いくつかの例において、配信センター上に格納された配信プログラム及び電子装置上に格納されたアプリケーション管理プログラムは、ページ更新要求中に図４の方法４００を更に実行するように構成される。方法５００は、クライアント装置により供給されたグラフィックスユーザインタフェースにてユーザが購入タブ・リンクを選択することから開始する。例示的な購入タブ・リンクは、図９のリンク５５１である。クライアントは、ページ購入に対するユーザ要求を受信すると（５０１）、アプリケーション情報に対して探索、またはクエリを実行する。この例示的な方法において、アプリケーション情報は、マニフェスト及び／またはレシートを含む（５０３）。他の例において、アプリケーション情報は、ユーザ・アカウントに関連付けられていないアプリケーション、またはソフトウェアパッケージを含む。ユーザ・アカウントは、ソフトウェアパッケージの所有権を有する。所有権は、デジタルレシート等の資格証明である。いくつかの例において、マニフェストは、図３のマニフェスト３４０と同様であるか、或いはほぼ同様である。探索、またはクエリは、クライアント上で使用可能な１つ以上のプログラム、または機能により実行されｔでもよい。マニフェスト、レシート（実際のとスタブのレシート）、並びにユーザ・アカウント情報等（例えば、まだアドプションされていないアプリケーションに対する資格証明、または所有権）を含むアプリケーション情報は、いくつかの例において、ソフトウェア・アドプション要求としてサーバに送信される（５０５）。アプリケーション情報は、インストールされているアプリケーション、インストール可能なアプリケーション及びアドプションされるアプリケーションをユーザに報知するページ購入を生成するためにサーバに送信される（５０５）。送信されるアプリケーション情報は、ユーザがクライアント上にサインインしているかに依存する。例えばユーザ・アカウント情報は、アクセス可能であり、ユーザがクライアント上にサインインされる場合にアプリケーション情報の一部として送信される。上述したように、ユーザ・アカウント情報は、ユーザ・アカウントに関連付けられたアプリケーションに関する情報を含む。同様に、レシートは、クライアントが実行している電子装置と関連付けられたアプリケーションに関する情報を含む。マニフェストは、電子装置に元々プリ・インストールされていたアプリケーションの情報、或いはユーザが所有権を有するがユーザ装置にインストールされていないか、またはユーザ・アカウントに関連付けられていないアプリケーションの情報を含む。他の種類のアプリケーション情報がページ購入を生成するためにサーバに更に送信されるため、これらは、例示的な種類のアプリケーション情報にすぎない。
【００４４】
サーバは、送信されたアプリケーション情報（すなわち、マニフェスト、レシート、ユーザ・アカウント及び他のユーザ・アカウント情報）を受信し、受信した情報に基づいてアプリケーションの１つ以上のリストを作成する（５０７）。アプリケーションリスト及びアプリケーションリストを作成するために使用された処理は、受信した情報に依存して変動する。第１のアプリケーションリストは、クライアントの電子装置にインストールされるアプリケーションを含む。第２のアプリケーションリストは、ユーザ・アカウントに関連付けられるアプリケーションを含み、クライアントの電子装置にインストールされる。第３のアプリケーションリストは、場合によってはユーザ・アカウントとリンクされるアプリケーションを含む。第３のリストのアプリケーションは、クライアントの電子装置にプリ・インストールされたアプリケーション、並びに／或いはクライアントが所有権を有するが、アドプション、またはインストールしていないアプリケーションを含む。また、他のアプリケーションリストは、ユーザ・アカウントに関連付けられていない購入されるか、または別の方法で取得されるなどして生成されたアプリケーションである。サーバが受信したアプリケーション情報に依存して、上述のアプリケーションリストのうちの１つ以上が作成される。いくつかの例において、アプリケーションリストの作成は、図２のアプリケーション・データベース２２０等のアプリケーション・データベースにアクセスすることを含む。サーバは、作成されたアプリケーションリストに基づいてＨＴＭＬページを生成する（５０８）。ＨＴＭＬページの生成は、アプリケーション・データベースにアクセスし、アプリケーションリストのアプリケーションと関連付けられたメタデータを受信することを含む。例えばメタデータは、アプリケーションの名前、アプリケーションの記述、アプリケーションのバージョン番号、アプリケーションの購入日及びアプリケーションと関連付けられたイメージ等を含む。ＨＴＭＬページが生成されると、サーバは、ＨＴＭＬページをクライアントに送信する（５０９）。クライアントは、次にＨＴＭＬページをユーザに提示する（５１１）。ユーザがクライアント上にサインインしているかに依存して、異なる情報をユーザに提示する。
【００４５】
図９は、ユーザがサインインしていない場合にページ購入要求と関連付けられたＨＴＭＬページの一例を示す。この例において、ＨＴＭＬページ５５０は、アドプション可能なアプリケーションのリスト５５７をユーザに提示する。アドプション可能な３つのアプリケーションのうち、アプリケーション「ｉＭｏｖｉｅ」及び「ＧａｒａｇｅＢａｎｄ」は、それぞれ文章５５８及び５５９により示されるように利用可能な更新(Update Available)を有する。ＨＴＭＬページ５５０は購入リンク５５１を含む。いくつかの例において、購入リンク５５１は、図５の更新リンク４５１と同様に、またはほぼ同様に機能する。ＨＴＭＬページ５５０は、アドプション可能なアプリケーションの数をユーザに報知するヘッドライン５５３を更に含む。記述５５５は、ユーザがアプリケーションをアドプションしたいか否かを判定するのを支援することを期待してアドプション処理の説明をユーザに提供する。ＨＴＭＬページ５５０は、ユーザ・アカウントに関連付けられる購入(purchases)に関する情報を受信するためにユーザ・アカウントにサインインしなければならないことをユーザに報知する命令５５２を更に含む。この例において、ＨＴＭＬページ５５０は、ユーザにより選択される場合にアドプション処理を開始する１つの承諾(ACCEP)リンク５５４を含む。他の例において、ＨＴＭＬページ５５０がアドプション可能なアプリケーション毎に承諾リンクを含むため、ユーザは、アドプション可能な単一のアプリケーション、アドプション可能な複数のアプリケーション、またはアドプション可能な全てのアプリケーションを承諾することを選択できる。ユーザは、タッチスクリーン、マウスクリック、キーボード、または他のユーザ入力装置を介して承諾リンク５５４を選択する。
【００４６】
図１０は、ユーザがサインインしている場合にページ購入要求と関連付けられたＨＴＭＬページの別の例を示す。ＨＴＭＬページ５６０は、２つのアプリケーションリストをユーザに提示する。この例において、アプリケーションリスト５６２の提示はアドプション可能なアプリケーションを含み、アプリケーションリスト５６４の提示は以前に購入されているアプリケーションを含む。２つのアプリケーションリストは、ＨＴＭＬページ５６０の独立した別個の部分において提示される。アプリケーションリスト５６４の提示は、アプリケーションの名前、アプリケーションと関連付けられたイメージ、ソフトウェアメーカ、購入日及び状況５６６等の以前に購入されたアプリケーションと関連付けられたメタデータを含む。状況５６６は、購入されたアプリケーションの現在の状態を表示するように構成される。例えば、アプリケーションが現在クライアントの電子装置にインストールされている場合、状況５６６は「インストール済状態」である。状況５６６は、この状態の場合に文章「インストール済」を表示するように構成される。この例において、購入された４つのアプリケーションは、全てクライアントの電子装置にインストールされる。別の例として、アプリケーションが購入されるが、クライアントの電子装置にインストールされない場合、状況５６６は「インストール状態」である。例えばアプリケーションは、この装置にダウンロードされていないか、或いは選択的に装置から削除されている。状況５６６は、この状態の場合に文章「インストール」を表示するように構成される。更に状況５６６は、「インストール状態」の場合にユーザが選択可能なリンクを含む。ユーザが選択可能なリンクを選択する結果、アプリケーションは、電子装置にダウンロード及びインストールされる。
【００４７】
図８に戻ると、クライアントは、アプリケーションをアドプションする要求としてユーザ入力を受信する（５１３）。いくつかの例において、ユーザ入力は、図９の承諾リンク５５４を選択することである。クライアントは、アプリケーションをユーザ・アカウントにリンクするためにユーザ認証を要求する（５１５）。アプリケーションをユーザ・アカウントにリンクするためにユーザ認証を要求する認証プロンプトを含むＨＴＭＬページの一例を図１１に示す。
【００４８】
図１１は、認証プロンプトを含むページ購入要求と関連付けられたＨＴＭＬページの別の例を示す。ユーザがプリ・インストールアプリケーションのアドプションを承諾することを選択する場合、ＨＴＭＬページ５７０は認証プロンプト５７５を含む。認証プロンプト５７５は、サーバから送信されたＨＴＭＬページの一部として含まれ、ユーザがプリ・インストールアプリケーションのアドプションを承諾することを選択した後でユーザに提示される。いくつかの例において、認証プロンプト５７５は、図７の認証プロンプト４８０と同一であるか、或いはほぼ同様である。
【００４９】
図８に戻ると、クライアントは、ユーザ認証を受信し、アプリケーションをユーザ・アカウントにリンクする。ユーザ・アカウントは、ユーザ認証中に入力されるユーザ・アカウントである。例えばユーザは、アプリケーションに関連付けられるユーザ・アカウントのユーザ名及びパスワードを入力する。クライアントは、ユーザ認証を受信した後、アプリケーションのアドプションに進む（５１９）。アプリケーションをユーザ・アカウントに対してアドプションする例示的な処理を図１２において以下に説明する。いくつかの例において、全てのプリ・インストールアプリケーションは、同時にユーザ・アカウントに関連付けられなければならない。従って、ユーザは、電子装置と関連付けられた１つのプリ・インストールアプリケーションを１つのユーザ・アカウントと選択的にリンクできず、電子装置と関連付けられた別のプリ・インストールアプリケーションを別のユーザ・アカウントと選択的にリンクできない。プリ・インストールアプリケーションがアドプションされていることをサーバを通知するには電子装置と関連付けられた一意的ハードウェア識別子で十分であるため、電子装置上で全てのプリ・インストールアプリケーションを同時にアドプションすることにより、アドプション処理を管理する際の計算オーバヘッドは簡略化される。電子装置上のプリ・インストールアプリケーションが選択的に多数のアカウントと関連付けられる他の例において、サーバ上でプリ・インストールアプリケーションを管理するには、電子装置の一意的ハードウェア識別子に加えてアドプションされているプリ・インストールアプリケーションを格納する必要がある。
【００５０】
図１２は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする例示的な方法を示す。クライアントとサーバとの間で実行された通信プロトコルを示す方法６００は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする処理を管理するように構成される。サーバにより実行された動作は、配信センター上のプログラム、またはサーバ側の他の構成要素により実行され、クライアントにより実行された動作は、クライアントの電子装置上に格納されたアプリケーション管理プログラムにより実行される。アプリケーション管理プログラムは、クライアント上に格納されたソフトウェアアプリケーションをインストール、削除、維持、または別の方法で管理するように構成される。いくつかの例において、配信センター上に格納された配信プログラム及び電子装置上に格納されたアプリケーション管理プログラムは、図４の方法４００及び／または図５の方法５００を更に実行するように構成される。いくつかの例において、方法６００は、図４の「アプリケーションアドプションに進む」（４２１）、または図８の「アプリケーションアドプションに進む」（５１９）の後で実行される。
【００５１】
方法６００は、一意的ハードウェア識別子を生成する（６２０）。一意的ハードウェア識別子は、正当なアプリケーションの所有権、または資格のデジタルレシートとして機能する。一意的ハードウェア識別子は、電子装置に特有の１つ以上の識別子を組み合わせることから生成される。例えば一意的ハードウェア識別子は、電子装置のハードウェアコンポーネントと関連付けられた１つ以上の識別子に基づく。ハードウェアコンポーネントの識別子が一意であるため、２つの一意的ハードウェア識別子は同一ではない。一例として、一意的ハードウェア識別子は、装置のロジックボードシリアル番号を装置のイーサネットハードウェアアドレスと組み合わせることで生成される。ロジックボードシリアル番号及びイーサネットハードウェアアドレスは、連結、ハッシング、符号化方式、または他のデータ操作アルゴリズムを使用して組み合わされる。一意的ハードウェア識別子は、プリ・インストールアプリケーションをユーザ・アカウントに関連付ける要求の一部としてクライアントからサーバに送信される（６３０）。プリ・インストールアプリケーションが選択的にアドプションされる他の例において、プリ・インストールアプリケーションと関連付けられたメタデータは、クライアントからサーバに更に送信される。メタデータが詳細をサーバに提供することにより、サーバは、ユーザがユーザ・アカウントにアドプションしようとしている選択されたプリ・インストールアプリケーションを識別できる。サーバは、一意的ハードウェア識別子及び必要に応じてメタデータを受信した後、プリ・インストールアプリケーションがユーザ・アカウントと既にリンクされているかを判定する（６４０）ことにより、資格証明を検証する。サーバは、一意的ハードウェア識別子に対する一意性テーブルをチェックすることでアプリケーションが既にリンクされているかを判定する。一意性テーブルがプリ・インストールアプリケーションを既にアドプションしている電子装置の一意的ハードウェア識別子を含むエントリを格納するため、テーブルにおいて見つけられない一意的ハードウェア識別子は、電子装置がまだいずれのプリ・インストールアプリケーションも関連付けていないことを示す。方法６００により、プリ・インストールアプリケーションを選択的にアドプションできる場合、判定は、一意的ハードウェア識別子と関連付けられたエントリに対する一意性テーブルをクエリすることを含む。一意的ハードウェア識別子が見つけられる場合、判定は、プリ・インストールアプリケーションのメタデータでエントリを評価し、選択されたプリ・インストールアプリケーションが以前にアドプションされているかを判定する。
【００５２】
一意性テーブルを探索（すなわち、クエリ）することからアプリケーションが以前にアドプションされていると判定される場合、エラーが再度クライアントに送信される（６４１）。クライアントは、エラーを受信し、アプリケーションが既にアドプションされているという警告をユーザに提示する（６４２）。図１３は、アドプション警告の一例を示す。警告７００は、プリ・インストールアプリケーションが異なるユーザ・アカウントに既に割り当てられているため、ユーザが自身のユーザ・アカウントに関連付けたい１つ以上のアプリケーションを割り当てられないことをユーザに通知する。一方、一意性テーブルを探索することからアプリケーションが以前にアドプションされてないと判定される場合、サーバは、サニティチェックを実行し、プリ・インストールアプリケーションが電子装置の元の設定、すなわちデフォルト設定の一部であるかを判定する（６５０）。換言すると、サーバは、プリ・インストールアプリケーションがインストールされた状態で電子装置が構成され、製造業者から供給されたかを判定する。このようなサニティチェックにより、ユーザがある電子装置に元々インストールされていたプリ・インストールアプリケーションを別の電子装置にコピーし、違法コピーをユーザ・アカウントに関連付けようとすることを阻止する。サーバは、一意的ハードウェア識別子を含む設定サーバをクエリし、一意的ハードウェア識別子と関連付けられた電子装置の元の設定を受信する。元の設定は、プリ・インストールアプリケーションのリストを判定するように調査される。このプリアプリケーションのリストは、ユーザがアドプションしようとしているアプリケーションと比較され、そのアプリケーションがアドプション可能であるかを判定する。他の例において、元の設定に対してクエリするために使用されたデータベースのコピーが配信センターに格納されることにより、一意的ハードウェア識別子を配信センターにおいて完全に評価できる。これにより、設定サーバへのネットワークトラフィックが減少する。
【００５３】
ユーザがアドプションしたいアプリケーションが電子装置の元の設定の一部ではないと判定される場合、エラーメッセージがクライアントに送信される（６５１）。クライアントは、エラーメッセージを受信すると、電子装置がアドプションの対象とならないという警告をユーザに提示する（６４２）。図１４は、アドプション警告の別の例を示す。電子装置（本明細書において「Ｍａｃ」と名付けられた）がプリ・インストールアプリケーションをユーザ・アカウントに関連付ける資格がないため、警告７５０は、アプリケーションをユーザ・アカウントに割り当てられないことをユーザに通知する。他の例において、警告７５０は、電子装置が元々プリ・インストールアプリケーションで構成されていないことをユーザに報知するために提供された図、または他の文を含む。一方、ユーザがアドプションしたいアプリケーションが電子装置の元の設定の一部であると判定される場合、更なるサニティチェックがあれば実行される。サーバは、プリ・インストールアプリケーションがユーザ・アカウントにリンクされることを検証すると、サーバ上に格納された一意性テーブル及びユーザ・アカウントを更新し（６６０）、電子装置のプリ・インストールアプリケーションがアドプションされている（従って、別のユーザ・アカウントによりアドプションされない）ことを示す。上述したように、アドプションされているプリ・インストールアプリケーションは、次にユーザ・アカウントに関連付けられる電子装置のプリ・インストールアプリケーションであるため、アプリケーションと関連付けられた更新及び再ダウンロードは、ユーザ・アカウントに関連付けられた電子装置にダウンロードされる。サーバは、認可メッセージをクライアントに送信し、要求が認可されることをクライアントに報知する（６７０）。要求をリンクすることが評価され、真の要求であることが分かっているため、認可メッセージは、プリ・インストールアプリケーションが次にサーバ上のユーザ・アカウントに関連付けられることをクライアントに報知、または通知する。クライアントは、認可メッセージを受信し、プリ・インストールアプリケーションをクライアント上に格納されたユーザ・アカウントとリンクする（６８０）。いくつかの例において、クライアントは、ユーザ・アカウントとリンクされているプリ・インストールアプリケーションと関連付けられたメタデータをマニフェストから削除することにより、電子装置上に格納されたマニフェストを更に更新する。プリ・インストールアプリケーションと関連付けられたメタデータを削除することは、アプリケーションがアドプション可能であるかを判定するために実行されるチェックを最小限にすることでアドプション処理を簡略化する。クライアントは、要求を配信センター、またはサーバの他の構成要素に送信し、アプリケーションをダウンロードする（６９０）。
【００５４】
方法６００は、ポストインストールアプリケーション（すなわち、ユーザがインストールしたアプリケーション）をアドプションするために更に構成される。ポストインストールアプリケーションは、装置が製造業者から出荷された後、またはユーザにより購入された後にユーザの装置にインストールされている贈与、購入、償還、或いは別の方法で取得されたアプリケーションを含む。例えば方法６００は、一意的ハードウェア識別子を生成するのではなく、アプリケーションと関連付けられた一意的識別子を生成する（６２０）。一意的識別子は、資格証明、またはアプリケーションの購入の証明を示すために使用されるアプリケーションと関連付けられたメタデータである。一意的識別子は、アプリケーションのメタデータに格納され、次にクライアント装置により検索される。、或いは、一意的識別子は、アプリケーションのメタデータに基づいて生成される。例えば一意的識別子は、アプリケーションの一意的レシート、または非一意的レシート、アプリケーションが取得された日付及び／または場所等のアプリケーションを受信することに関連したメタデータ、クライアント装置と関連付けられた一意的識別子、並びに／或いはアプリケーション、またはクライアント装置と関連付けられた他のメタデータから導出される。
【００５５】
いくつかの例において、通信プロトコルは、一意的識別子がプリ・インストールアプリケーション（すなわち、製造業者がインストールしたアプリケーション）、またはポストインストールアプリケーション（すなわち、ユーザがインストールしたアプリケーション）と関連付けられるかに依存する。例えば、クライアントから受信した一意的識別子がポストインストールされたアプリケーションと関連付けられるために電子装置の元の設定の一部ではない場合、通信プロトコルは、アプリケーションが電子装置の元の設定の一部であると確認する（６５０）ことをスキップする。代わりに、サーバは、一意的識別子を正当な一意的識別子のデータベースと比較することにより、資格証明、またはアプリケーションの所有権を検証する。これにより、サーバは、アプリケーションの正当なコピーと不当なコピーとを区別及び判別できる。資格証明が検証されると、アプリケーションはユーザ・アカウントの一部としてアドプションされる。アプリケーションがプリ・インストール、またはポストインストールされるかを判定するため、サーバは、フラグ、または一意的識別子と関連付けられた他のメタデータを解析する。
【００５６】
更に他の例において、通信プロトコルは、クライアントから受信した一意的識別子がクライアント電子装置と関連付けられたメタデータに基づくかに依存する。例えば、アプリケーションが既にリンクされているかを判定するためにサーバによりアクセスされたデータベース、またはテーブルは、一意的識別子に依存する。第１のデータベースは、クライアント電子装置と関連付けられた一意的識別子に対してサーバによりアクセス及び更新される。第１のデータベースは、電子装置のハードウェアに基づいてキー入力され、探索可能である。第２のデータベースは、クライアント装置と関連付けられない一意的識別子に対してサーバによりアクセス及び更新される。換言すると、これらの一意的識別子がアプリケーションと関連付けられた資格証明のみに基づくため、第２のデータベースを探索することは、資格証明、または資格証明の何らかの変形例に基づく。
【００５７】
図１５は、電子装置上の回復モードに対する例示的な処理を示す。一般に、回復モードにより、電子装置は、アプリケーション、またはオペレーティングシステムに対する内部の致命的エラーを解決できる。オペレーティングシステム全体を回復する極端な例において、この手法は、記憶装置を再フォーマットし、オペレーティングシステムを再インストールする。回復モードの特定の実現例に依存して、再インストールされているオペレーティングシステムは変動する。一例として、再インストールされたオペレーティングシステムは、元々電子装置にインストールされており、その後手動及び／または自動的に更新されるオペレーティングシステムである。別の例として、再インストールされたオペレーティングシステムは、元々インストールされていたオペレーティングシステム以来リリースされている１つ以上の更新を組み込む。更に他の例において、製造業者から利用可能な最新のオペレーティングシステムが再インストールされる。一般に回復モードは、プリ・インストールアプリケーションを再インストールせずにオペレーティングシステムのみを再インストールする。そのため、ユーザ・アカウントに関連付けられていないか、或いはリンクされていないプリ・インストールアプリケーションを損失する。処理８００は、回復モード中に設定サーバからマニフェストを検索することでこの問題を解決する。
【００５８】
処理８００は、回復モードに入る（８２０）ことで開始する。回復モードに入ることは、製造業者から基本オペレーティングシステムをダウンロードすることをトリガする。基本オペレーティングシステムは、一意的ハードウェア生成する（８３０）ように構成される。一意的ハードウェア識別子は、上述の方法のうちの１つを使用して生成される。一意的ハードウェア識別子が生成されると、基本オペレーティングシステムは、一意的ハードウェア識別子を設定サーバに送信する（８４０）。受信した一意的ハードウェア識別子に基づいて、設定サーバは、電子装置にプリ・インストールされたアプリケーション及びこれらのアプリケーションのバージョン番号を含むマニフェストを返送する。マニフェストは、電子装置の所有者が所有権を有する他のアプリケーションを更に含む。いくつかの例において、通信サーバは、配信サーバと通信し、電子装置がアプリケーションを既にアドプションしたかを判定する。一意的ハードウェア識別子が配信センターの一意性テーブルにおいて見つけられる場合、電子装置のプリ・インストールアプリケーションのうちの１つ以上は既にアドプションされている。従って、通信サーバは、空のマニフェスト、または既にアドプションされている特定のプリ・インストールアプリケーションを含まないマニフェストを返送する。これにより、プリ・インストールアプリケーションが既にアドプションされている場合にアドプションのためにページ購入要求がプリ・インストールアプリケーションをユーザに提示することを最小限にする。配信センターが構成データベースのローカルコピーを格納する他の例において、一意的ハードウェア識別子は、設定サーバではなく配信センターに送信される。一意的ハードウェア識別子を使用することにより、配信センターは、プリ・インストールアプリケーション及びユーザ・アカウントと既に関連付けられているアプリケーションを判定する。
【００５９】
設定サーバ（、または配信センター）は、電子装置に付いてくるオペレーティングシステムのバージョン番号及び電子装置のプリ・インストールアプリケーションに基づくマニフェストを返送する（８５０）。他の例において、マニフェストは、ユーザ・アカウントとリンクされていない電子装置のポストインストールアプリケーションを更に含む（８５０）。電子装置がユーザ・アカウントに関連付けられていないアプリケーションをインストールする場合、設定サーバ上に格納されたマニフェストは定期的に更新される。これは、ネットワーク障害、サーバ障害、またはこの時点でアプリケーションをユーザ・アカウントに関連付けないというユーザが選択したオプション等の種々の理由のために発生する。オペレーティングシステムのバージョン番号は、オペレーティングシステムサーバに送信される（８６０）。その結果、元のオペレーティングシステムを電子装置に送信する。電子装置は、元のオペレーティングシステムを受信し（８７０）、必要に応じて元のオペレーティングシステムをインストールする。次に、電子装置は、電子装置のプリ・インストールアプリケーションに基づいて元のオペレーティングシステム及びマニフェストの新しいコピーを含む。ユーザは、プリ・インストールアプリケーションをユーザ・アカウントに関連付けていない場合、上述したようにページ購入リンクを選択することでそれを実行する。
【００６０】
本発明の範囲内の実施形態は、コンピュータが実行可能な命令、またはデータ構造を保持するか、或いはそれを格納した有形のコンピュータ可読記憶媒体及び／またはコンピュータ可読の非一時的記憶媒体を更に含む。そのようなコンピュータ可読の非一時的記憶媒体は、汎用コンピュータ、または上述したようにあらゆる専用プロセッサの機能設計を含む専用コンピュータによりアクセスされるあらゆる使用可能な媒体である。非限定例として、そのようなコンピュータ可読の非一時的記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、或いは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、或いはコンピュータが実行可能な命令、データ構造、またはプロセッサチップ設計の形態の所望のプログラムコード手段を保持、或いは格納するために使用される他のあらゆる媒体を含む。情報がネットワーク、または別の通信接続（ハードワイヤード、無線、またはそれらの組合せのいずれか）を介してコンピュータに転送、或いは提供される場合、コンピュータは、正式に接続をコンピュータ可読媒体として見なす。従って、そのようなあらゆる接続を正式にコンピュータ可読媒体と呼ぶ。上述の組合せは、コンピュータ可読媒体の範囲内にも含まれるべきである。
【００６１】
例えば、コンピュータが実行可能な命令は、ある特定の機能、または機能のグループを汎用コンピュータ、専用コンピュータ、或いは専用処理装置に実行させる命令及びデータを含む。コンピュータが実行可能な命令は、スタンドアロン環境、またはネットワーク環境においてコンピュータにより実行されるプログラムモジュールを更に含む。一般にプログラムモジュールは、特定のタスクを実行するか、或いは特定の抽象データ型を実現する専用プロセッサの設計に固有のルーチン、プログラム、構成要素、データ構造、オブジェクト及び機能等を含む。コンピュータが実行可能な命令、関連したデータ構造及びプログラムモジュールは、本明細書において開示した方法のステップを実行するプログラムコード手段の例を示す。そのような実行可能な命令、または関連したデータ構造の特定のシーケンスは、そのようなステップにおいて説明した機能を実現する対応する動作の例を示す。
【００６２】
本発明の他の実施形態がパーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの購買者向けの電子機器、またはプログラム可能な購買者向けの電子機器、ネットワークＰＣ、ミニコンピュータ及びメインフレームコンピュータ等を含む多くの種類のコンピュータシステム構成でネットワークコンピューティング環境において実施されることは、当業者により理解されるだろう。実施形態は、通信ネットワークを介してリンクされる（ハードワイヤードリンク、無線リンク、またはそれらの組合せのいずれかにより）ローカル処理装置及びリモート処理装置によりタスクが実行される分散コンピューティング環境において更に実施される。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリ記憶装置及びリモートメモリ記憶装置の双方に配置される。
【００６３】
上述した種々の実施形態は、例示するためだけに提供され、本発明の範囲を限定するものとして解釈されるべきではない。本明細書において例示し且つ説明した実施形態及びアプリケーションの例に従わずに、本発明の趣旨及び範囲から逸脱せずに、本明細書において説明した原理に対して行われる種々の変形及び変更は、当業者により容易に理解されるだろう。
【図１】
0005595451.tif 000002
【図２】
0005595451.tif 000003
【図３】
0005595451.tif 000004
【図４】
0005595451.tif 000005
【図５】
0005595451.tif 000006
【図６】
0005595451.tif 000007
【図７】
0005595451.tif 000008
【図８】
0005595451.tif 000009
【図９】
0005595451.tif 000010
【図１０】
0005595451.tif 000011
【図１１】
0005595451.tif 000012
【図１２】
0005595451.tif 000013
【図１３】
0005595451.tif 000014
【図１４】
0005595451.tif 000015
【図１５】
0005595451.tif 000016