JP2013020621A - System and method for linking pre-installed software to user account on online store - Google Patents

System and method for linking pre-installed software to user account on online store Download PDF

Info

Publication number
JP2013020621A
JP2013020621A JP2012154900A JP2012154900A JP2013020621A JP 2013020621 A JP2013020621 A JP 2013020621A JP 2012154900 A JP2012154900 A JP 2012154900A JP 2012154900 A JP2012154900 A JP 2012154900A JP 2013020621 A JP2013020621 A JP 2013020621A
Authority
JP
Japan
Prior art keywords
application
user account
server
user
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012154900A
Other languages
Japanese (ja)
Other versions
JP5595451B2 (en
Inventor
R Paldepursh Pedraum
アール. パルデプーシュ ペドラウム
M Federighi Craig
エム. フェデリーギ クレイグ
I Feldman Daniel
アイ. フェルドマン ダニエル
T Quirk Gregory
ティー. クワーク グレゴリー
R Matthew Jack
アール. マシュー ジャック
Lee-Kang Jackie
リー−カン ジャッキー
Ciudad Jean-Pierre
シウダー ジャン−ピエール
E Gromek Monika
イー. グロメック モニカ
K Burkholder Thomas
ケー. バークホルダー トーマス
Emil Pu Daniel
エミル プー ダニエル
Sam Gharabally
ガラバリー サム
Marshall Verosub Ellis
マーシャル ヴェロサブ エリス
Sub Hwang Yoon
ウォン ユンソプ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/181,424 external-priority patent/US9319406B2/en
Priority claimed from US13/436,609 external-priority patent/US20130019237A1/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2013020621A publication Critical patent/JP2013020621A/en
Application granted granted Critical
Publication of JP5595451B2 publication Critical patent/JP5595451B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide systems, methods, and non-transitory computer-readable storage media for associating an application for installation on a computer with a user account on an online store.SOLUTION: A server side 240 configured to practice the method presents an application available for download, receives from a client side 290 a software adoption request including an identifier associated with a user account 291 and a proof of entitlement associated with a software package or the user account 291, verifies the proof of entitlement by comparing the proof of entitlement to a database, and if the proof of entitlement is verified, adopts the software package as part of the user account 291.

Description

本発明は、一般にデジタル製品の配信に関し、特にソフトウェアアプリケーションをオンラインストアのユーザ・アカウントにリンクする技術に関する。   The present invention relates generally to the distribution of digital products, and more particularly to techniques for linking software applications to online store user accounts.

電子装置の製造業者は、一般に、電子装置の購買者に、購入前から、電子装置を個性化し或いはカスタマイズするための、様々な使用可能オプションを提案する。例えば、コンピュータ等のパーソナルコンピュータ装置は、プロセッサ、メモリ、ハードドライブ、またはアクセサリを選択することでカスタマイズされる。また、製造業者は、種々のソフトウェアベンダーと連携して、コンピュータを受け取る前から、コンピュータと共に購入可能で且つプリ・インストール可能なソフトウェアアプリケーション、またはソフトウェアプログラムをオファー(「申し込み」)する。ソフトウェアアプリケーション、それらは、典型的には製造業者により作成され、或いは、サードパーティ製アプリケーションを含んでよいが、このソフトウェアアプリケーションの中には、手動で、または工場出荷時イメージの一部として、無償でコンピュータ装置にプリ・インストールされるものがある。従って、ハードウェアコンポーネント及びプリ・インストール・ソフトウェアは、購入した製品が購買者のニーズを満たすように、購買者により個人用に変更される。   Electronic device manufacturers generally offer electronic device buyers a variety of available options to personalize or customize the electronic device prior to purchase. For example, a personal computer device such as a computer is customized by selecting a processor, memory, hard drive, or accessory. Manufacturers also collaborate with various software vendors to offer ("apply") software applications, or software programs, that can be purchased and pre-installed with a computer before receiving the computer. Software applications, which are typically created by the manufacturer or may include third party applications, some of which are free of charge, either manually or as part of the factory image Are pre-installed on computer devices. Accordingly, the hardware components and pre-installed software are modified for personal use by the purchaser so that the purchased product meets the purchaser's needs.

電子装置を受け取った後は、将来のいつかの時点で、そのプリ・インストール・ソフトウェアを再インストールしたい、または更新したい場合が生じるだろう。例えばソフトウェアプロバイダは、電子装置にプリ・インストールされたソフトウェアの更新バージョンをリリースしたかも知れない。これは、一般にソフトウェア更新として知られている。ソフトウェア更新データを取得するために、購買者は、ソフトウェアプロバイダの実際の店舗、またはオンラインストアを訪問し、ソフトウェアの更新バージョンを購入、或いは取得する。しかし、この処理は、時間がかかり、分かりにくいこともある。同様に、購入者は、電子装置の記憶装置を再フォーマットする場合、一般にソフトウェアを再インストールしなければならない。購入者は、この再インストール中、プリ・インストール・ソフトウェアを格納する種々のコンパクトディスク(CD)、または他のメディアを要求される。しかし、この購入者はCDを置き忘れているかも知れず、この場合には、再インストール手順は非常に煩雑になる。   After receiving the electronic device, you may want to reinstall or update its pre-installed software at some point in the future. For example, a software provider may have released an updated version of software pre-installed on an electronic device. This is commonly known as software update. To obtain software update data, a buyer visits the software provider's actual store or online store to purchase or obtain an updated version of the software. However, this process is time consuming and sometimes difficult to understand. Similarly, when a buyer reformats a storage device of an electronic device, the purchaser typically must reinstall the software. The purchaser is asked for various compact discs (CDs) or other media to store pre-installed software during this reinstallation. However, the purchaser may have misplaced the CD, and in this case, the reinstallation procedure becomes very complicated.

本発明の更なる特徴及び利点は後続する記述において説明され、或いは、その一部は、その記述から明らかとなり、或いは本明細書に開示された原理を実施することで確認できる。本発明の特徴及び利点は、特に添付の特許請求の範囲において指摘された手段及び組合せを利用して実現され且つ達成される。本発明のこれらの特徴及び他の特徴は、以下の説明及び添付の特許請求の範囲からより詳細に明らかとなるか、或いは本明細書において説明される原理を実施することで確認できる。   Additional features and advantages of the invention will be set forth in the description that follows, or in part will be apparent from the description, or may be learned by practice of the principles disclosed herein. The features and advantages of the invention will be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by implementing the principles set forth herein.

本明細書には、アプリケーション(すなわち、ソフトウェアパッケージ)を、または、プリ・インストールアプリケーションを、または、別途購入(Purchase)されたアプリケーションなどを、ユーザ・アカウントに関連付けるためのシステム、方法及びコンピュータ可読の非一時的記憶媒体が開示される。ここで、前記ユーザ・アカウントは、オンラインストア上で関連付けられ、或いは、保存される。この処理を「縁組み」処理(以下、「縁組み」を「アドプション」(adoption)」と呼ぶ。アドプション処理は、アプリケーションの、ダウンロード、再ダウンロード、更新等のある特定の特典をそのユーザ・アカウントに与えるものである。他の例においては、アドプションとは、アドプションされたアプリケーションに対する他の特典(例えば、そのアドプションされたアプリケーションを贈与し或いは販売すること)を許すように、そのユーザ・アカウントを構成することをいう。1つの一般的な例として、ある新品コンピュータが、ある特定のプリ・インストール・ソフトウェアを含む、とする。ユーザは、その新品コンピュータ上で当該プリ・インストール・ソフトウェアを実行し、使用することができる。しかしながら、そのユーザが、更新、バックアップ、並びに/或いは他のソフトウェア関連のコンテンツ、またはサービスを受ける、且つ/或いはそれらを利用する資格を得るためには、そのプリ・インストール・ソフトウェアをアドプションすることにより、当該プリ・インストール・ソフトウェアが、オンライン電子ストア・アカウント等の特定のユーザ・アカウントに関連付けられる。これで、前記オンライン電子ストアは、更新、バックアップ、復元及びアプリケーション内購入等を処理することができる。しかし、別のユーザは、そのプリ・インストール・ソフトウェアを、このプリ・インストールソフトウエアを「アドプション」することなしに、このオンライン電子ストア・アカウントのユーザ・アカウント若しくはアクセス権を必要とする特定機能を除いた他の全てのフル機能付きで、当該プリ・インストール・ソフトウェアを使用することを選択するができる。あるユーザがプリ・インストール・ソフトウェアをアドプションすると、オンライン電子ストアは、当該プリ・インストール・ソフトウェアが別のユーザによるアドプションに対しては不適格となるように、そのアカウント、データベース及び/またはソフトウェア自体を変更する。別の一般的な例は、ユーザが既に購入し、贈与し、または別の方法で取得していたソフトウェアパッケージ、またはソフトウェアアプリケーションが、ユーザのコンピュータ装置上でインストールされる場合がある。このコンピュータ装置は、当該ソフトウェアパッケージ、またはソフトウェアアプリケーションのアドプションを求めるソフトウェア・アドプション要求をサーバに送信する。このソフトウェア・アドプション要求は、当該ユーザ・アカウントに関連付けられたソフトウェアパッケージの識別子または表示を含む。いくつかの例においては、資格証明が、ソフトウェアパッケージの信憑性に対する証明として、アドプション要求に更に含まれる。資格証明は、ソフトウェアパッケージを所有していることからのみ由来することができる値である。例えば、資格証明は、当該ソフトウェアパッケージのシリアル番号に関連付けられたものか、或いはそれから派生したものである。また、この資格証明は、当該ソフトウェアパッケージから派生した、或いは当該電子装置に関連付けられたメタデータから派生する値である。例えば、この電子装置に関連付けられたメタデータとは、電子装置に関連付けられたハードウェアから導き出し可能な値である。アプリケーションがアドプションされると、更新、バックアップ、並びに/或いは他のソフトウェア関連のコンテンツ、またはサービスは、当該ユーザに対して使用可能である。   Described herein are systems, methods, and computer-readable media for associating an application (ie, a software package), a pre-installed application, a separately purchased application, or the like with a user account. A non-transitory storage medium is disclosed. Here, the user account is associated or stored on the online store. This process is referred to as “adjustment” processing (hereinafter “adoption” is referred to as “adoption”.) Admission processing refers to a specific privilege such as downloading, re-downloading, updating, etc. In other examples, an admission is the user's permission to allow other benefits to the adopted application (eg, gifting or selling the adopted application). • Configuring an account: As one common example, let's say a new computer contains certain pre-installed software, and the user can run the pre-installed software on that new computer. However, the user can In order to qualify to receive and / or use updates, backups, and / or other software-related content or services, the pre-installed software may be adopted to The installation software is associated with a specific user account, such as an online electronic store account, so that the online electronic store can handle updates, backups, restores, in-application purchases, etc. Another user may use the pre-installed software to perform certain functions that require a user account or access rights for this online electronic store account without “adopting” the pre-installed software. You can choose to use the pre-installed software with all the other full features, except when a user advertises the pre-installed software, the online electronic store will Modify the account, database and / or the software itself so that the software is ineligible for adoption by another user, another common example is that a user has already purchased, gifted, or A software package or software application that has been acquired in another way may be installed on the user's computer device, which is a software package that requests the software package or software application. To send a-adoption request to the server. The software adoption request includes an identifier or display of the software package associated with the user account. In some examples, credentials are further included in the admission request as proof of the authenticity of the software package. A credential is a value that can only be derived from having a software package. For example, the credential is associated with or derived from the serial number of the software package. The credential is a value derived from the metadata derived from the software package or associated with the electronic device. For example, the metadata associated with the electronic device is a value that can be derived from the hardware associated with the electronic device. Once the application is adopted, updates, backups, and / or other software-related content or services are available to the user.

本方法を実施するように構成されたシステムは、ダウンロード可能なアプリケーションを提示し、アプリケーションのコンピュータ装置へのダウンロード要求を受信し、そのアプリケーションがプリ・インストールアプリケーションであると判定する。次にシステムは、そのアプリケーションをユーザ・アカウントとリンクするためにユーザ認証を要求するべく認証プロンプトを提示し、ユーザ認証を受信し、このユーザ認証の受信に応答して、一意的なハードウェア識別子を生成するか、或いは、当該コンピュータ装置に関連付けられた資格証明を検索する。本システムは、上記一意的ハードウェア識別子、または資格証明に基づいてそのアプリケーションがリンク可能であることを判定し、そのアドプション可能なアプリケーションがリンク可能である場合にアドプション可能なアプリケーションを上記ユーザ・アカウントとリンクする。本システムは、ダウンロード可能な当該アプリケーションの提示を、ページ更新要求を受信し、そのような要求を受信すると、当該アプリケーションと関連付けられたスタブ(半券)レシートを収集することにより、可能である。このスタブ・レシートは、アプリケーションと関連付けられたバージョン番号及び名前を含むものである。次にシステムは、そのバージョン番号及び名前に基づいて、当該アプリケーションの更新がサーバ上でダウンロード可能であると判定し、そのアプリケーションの名前を提示する。   A system configured to implement the method presents a downloadable application, receives a download request for the application to a computer device, and determines that the application is a pre-installed application. The system then presents an authentication prompt to request user authentication to link the application with the user account, receives the user authentication, and in response to receiving the user authentication, a unique hardware identifier Or search for credentials associated with the computer device. The system determines that the application can be linked based on the unique hardware identifier or the credential, and if the application that can be linked is linkable, the application that can be adopted is determined by the user.・ Link with account. The system can present a downloadable application by receiving a page update request and collecting a stub receipt associated with the application upon receipt of such a request. This stub receipt contains the version number and name associated with the application. The system then determines that the application update is available for download on the server based on the version number and name and presents the name of the application.

別の実施形態として、本システムは、ダウンロード可能なアプリケーションの提示を、ページ購入要求を受信し、当該コンピュータ装置に関連付けられたマニフェストを受信し、このマニフェストに基づいてプリ・インストールアプリケーションのリストを提示することにより、行うことができる。このマニフェストとは、サーバからダウンロード可能なプリ・インストールアプリケーションのリストを含むのであって、当該サーバとは、当該ダウンロード可能なプリ・インストールアプリケーションのリストが含むアプリケーションを有するサーバである。また、本システムは、アプリケーションがサーバで利用可能な更新がなされていることを、アプリケーション・データベースを探索し、当該コンピュータ装置上に格納されたアプリケーションのバージョン番号を上記アプリケーション・データベース上に格納されているアプリケーションのバージョン番号と比較することにより、利用可能な更新を判定する。バージョン番号の比較に基づいて、アプリケーションに対する更新がアプリケーション・データベースに存在するかを判定する。本システムは、アプリケーションがスタブ・レシートと関連付けられていると判定することにより、アプリケーションがプリ・インストールアプリケーションであると判定する。本システムは、アプリケーションがプリ・インストールアプリケーションであることを、コンピュータ装置と関連付けられたプリ・インストールアプリケーションのリストを含むマニフェストを受信し、アプリケーションがそのプリ・インストールアプリケーションのリスト内に含まれると判定することにより、判定する。本システムは、プリ・インストールアプリケーションがリンク可能であることを、一意的なハードウェア識別子、または購入証明をサーバに送信し、プリ・インストールアプリケーションが別のユーザ・アカウントとリンクされているかを判定することにより、そのプリ・インストールアプリケーションがリンク可能であると判定する。更に他の例において、システムは、上記プリ・インストール・ソフトウェアを上記ユーザ・アカウントとリンク付けすることを、そのプリ・インストール・ソフトウェアをユーザ・アカウントに関連付け、一意的なハードウェア識別子、または購入証明を含むように、一意性テーブルなるテーブルを更新することにより、前記プリ・インストール・ソフトウェアをユーザ・アカウントとリンクすることができる。ここで、一意性テーブルは、別のプリ・インストール・ソフトウェアを有する別の電子装置と関連付けられる別の一意的ハードウェア識別子、または購入の証明を含み、別のプリ・インストールアプリケーションは別のユーザ・アカウントとリンクされる。   In another embodiment, the system receives a downloadable application presentation, receives a page purchase request, receives a manifest associated with the computing device, and presents a list of pre-installed applications based on the manifest This can be done. The manifest includes a list of pre-installed applications that can be downloaded from the server, and the server is a server having an application included in the list of pre-installed applications that can be downloaded. The system also searches the application database to see that the application has been updated available on the server, and stores the version number of the application stored on the computer device on the application database. The available updates are determined by comparing with the version number of the existing application. Based on the version number comparison, determine whether an update to the application exists in the application database. The system determines that the application is a pre-installed application by determining that the application is associated with a stub receipt. The system receives a manifest that includes a list of pre-installed applications associated with a computing device and determines that the application is included in the list of pre-installed applications that the application is a pre-installed application Judgment is made. The system sends a unique hardware identifier or proof of purchase to the server that the pre-installed application can be linked to determine if the pre-installed application is linked to another user account. Thus, it is determined that the pre-installed application can be linked. In yet another example, the system associates the pre-installed software with the user account, associates the pre-installed software with the user account, a unique hardware identifier, or a proof of purchase. The pre-installed software can be linked to the user account by updating the uniqueness table to include Here, the uniqueness table includes another unique hardware identifier associated with another electronic device having different pre-installed software, or proof of purchase, and another pre-installed application may Linked with account.

別の変形例において、システムは、ユーザ・アカウントに関連付けられたアプリケーションをユーザ・アカウントに関連付けられた1つ以上のコンピュータ装置に送信するように構成されたオンラインストアのユーザ・アカウントとプリ・インストール・ソフトウェアをリンクする要求を受信する。次に本システムは、コンピュータ装置と関連付けられた一意的ハードウェア識別子、または購入の証明を生成し、プリ・インストールアプリケーションがその一意的ハードウェア識別子、または購入の証明に基づいてリンク可能であると判定する。プリ・インストールアプリケーションがリンク可能である場合、システムは、プリ・インストールアプリケーションをユーザ・アカウントとリンクする。前記一意的ハードウェア識別子は、MACアドレス、UDID(universal device identifier)、ロジックボードシリアル番号、またはイーサネットハードウェアアドレス等の電子装置の1つ以上のハードウェアコンポーネントに基づく。他の例において、購入の証明が使用される。購入の証明は、電子装置のハードウェアコンポーネント、アプリケーションの贈与、購入、または取得と関連付けられたメタデータに基づくことができる。プリ・インストールアプリケーションがリンク可能であると判定することは、一意的ハードウェア識別子、または購入の証明をサーバに送信し、プリ・インストールアプリケーション、または購入の証明が別のユーザ・アカウントとリンクされているかを判定することを含む。本システムは、コンピュータ装置の元の設定がプリ・インストールアプリケーションを含むと判定することにより、プリ・インストールアプリケーションがリンク可能であると判定する。プリ・インストールアプリケーションをユーザ・アカウントとリンクすることは、プリ・インストールアプリケーションをユーザ・アカウントに関連付け、一意的ハードウェア識別子、または購入の証明を含むように一意性テーブルを更新することを含む。一意性テーブルは、別のユーザ・アカウントとリンクされている別のプリ・インストールアプリケーションを有する別の電子装置と関連付けられる別の一意的ハードウェア識別子、または購入の証明を含む。更に別の例において、プリ・インストールアプリケーションをユーザ・アカウントとリンクすることは、マニフェストからプリ・インストールアプリケーションと関連付けられたメタデータを削除することを含むのであり、ここで、マニフェストとは、もうユーザ・アカウントとリンクされているプリ・インストールアプリケーションを一覧表示するように構成される更に含む。   In another variation, the system includes an online store user account and pre-installed configuration configured to send an application associated with the user account to one or more computing devices associated with the user account. Receive a request to link software. The system then generates a unique hardware identifier associated with the computing device, or proof of purchase, and the pre-installed application can be linked based on the unique hardware identifier or proof of purchase. judge. If the pre-installed application is linkable, the system links the pre-installed application with the user account. The unique hardware identifier is based on one or more hardware components of the electronic device, such as a MAC address, a UDID (Universal Device Identifier), a logic board serial number, or an Ethernet hardware address. In another example, proof of purchase is used. Proof of purchase can be based on hardware components of the electronic device, metadata associated with the gifting, purchase, or acquisition of the application. Determining that a pre-installed application is linkable sends a unique hardware identifier, or proof of purchase, to the server, and the pre-installed application, or proof of purchase is linked to another user account. It includes determining whether or not. The system determines that the pre-installed application can be linked by determining that the original settings of the computer device include the pre-installed application. Linking the pre-installed application with the user account includes associating the pre-installed application with the user account and updating the uniqueness table to include a unique hardware identifier or proof of purchase. The uniqueness table includes another unique hardware identifier associated with another electronic device having another pre-installed application linked to another user account, or proof of purchase. In yet another example, linking a pre-installed application with a user account includes deleting the metadata associated with the pre-installed application from the manifest, where the manifest is no longer a user. -Further comprising being configured to list pre-installed applications linked to the account.

本発明の上述の利点及び特徴、並びに他の利点及び特徴を取得する方法を説明するため、添付の図面に示される本発明の特定の実施形態を参照して、簡単に上述した原理のより詳細な記述を示す。これらの図面が本発明の例示的な実施形態のみを示すために本発明の範囲を限定するものとして考えられないことを理解して、本明細書における原理は、添付の図面を使用して更に具体的且つ詳細に記述され、説明される。
図1は、例示的なシステムの実施形態を示す図である。 図2は、例示的なアプリケーション配信システムを示す図である。 図3は、例示的なクライアント−サーバシステムを示す図である。 図4は、ページ更新要求を処理する例示的な方法を示す図である。 図5は、ページ更新要求と関連付けられたHTMLページの一例を示す図である。 図6は、プリ・インストールアプリケーションをアドプションするためにユーザ認証を要求するHTMLページの一例を示す図である。 図7は、プリ・インストールアプリケーションをアドプションするためにユーザ認証を要求するHTMLページの別の例を示す図である。 図8は、ページ購入要求を処理する例示的な方法を示す図である。 図9は、ユーザがサインインしていない場合にページ購入要求と関連付けられたHTMLページの一例を示す図である。 図10は、ユーザがサインインしている場合にページ購入要求と関連付けられたHTMLページの別の例を示す図である。 図11は、認証プロンプトを含むページ購入要求と関連付けられたHTMLページの別の例を示す図である。 図12は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする例示的な方法を示す図である。 図13は、アドプション警告の一例を示す図である。 図14は、アドプション警告の別の例を示す図である。 図15は、電子装置上の回復モードに対する例示的な処理を示す図である。
To illustrate the above-described advantages and features of the present invention, as well as methods for obtaining other advantages and features, reference will now be made in greater detail to the principles described above with reference to specific embodiments of the invention as illustrated in the accompanying drawings. A simple description is shown. The principles herein will be further understood using the accompanying drawings, with the understanding that these drawings are not to be considered as limiting the scope of the invention to show only exemplary embodiments of the invention. It will be described and explained with specific details.
FIG. 1 is a diagram illustrating an exemplary system embodiment. FIG. 2 is a diagram illustrating an exemplary application distribution system. FIG. 3 is a diagram illustrating an exemplary client-server system. FIG. 4 is a diagram illustrating an exemplary method for processing a page update request. FIG. 5 is a diagram illustrating an example of an HTML page associated with a page update request. FIG. 6 is a diagram illustrating an example of an HTML page for requesting user authentication to adopt a pre-installed application. FIG. 7 is a diagram showing another example of an HTML page that requests user authentication to adopt a pre-installed application. FIG. 8 is a diagram illustrating an exemplary method for processing a page purchase request. FIG. 9 is a diagram illustrating an example of an HTML page associated with a page purchase request when the user is not signed in. FIG. 10 is a diagram showing another example of an HTML page associated with a page purchase request when the user is signed in. FIG. 11 is a diagram illustrating another example of an HTML page associated with a page purchase request including an authentication prompt. FIG. 12 is a diagram illustrating an exemplary method for linking a pre-installed application to a user account. FIG. 13 is a diagram illustrating an example of the admission warning. FIG. 14 is a diagram illustrating another example of the admission warning. FIG. 15 is a diagram illustrating an exemplary process for a recovery mode on an electronic device.

本発明の種々の実施形態を以下において詳細に説明する。特定の実現例を説明するが、これは例示するためだけに説明されることが理解されるべきである。本発明の趣旨の範囲から逸脱せずに他の構成要素及び構成が使用されてもよいことは、当業者により理解されるだろう。   Various embodiments of the invention are described in detail below. Although specific implementations are described, it should be understood that this is described for illustrative purposes only. It will be appreciated by those skilled in the art that other components and configurations may be used without departing from the scope of the present invention.

本発明は、電子装置上のプリ・インストール・ソフトウェアを配信センター、またはオンラインストアのユーザ・アカウントに関連付ける技術分野における必要性に向けられている。更に本発明は、プリ・インストール・ソフトウェアに加えて他の種類のソフトウェアをユーザ・アカウントに関連付ける必要性に対処するものである。例えば、購入したソフトウェア、贈与として受け取ったソフトウェア、ソフトウェア製造業者から無償で、または低料金で配信されたソフトウェア、或いは他の方法を使用して取得したソフトウェアを、オンラインストア、またはオンラインショップのユーザ・アカウントに関連付けることに関連する。この処理をオンラインストアにおけるユーザ・アカウントによるソフトウェアの「アドプション」と呼ぶ。ソフトウェアをオンラインストアのユーザ・アカウントに関連付けることにより、ソフトウェアの更新及び再インストールはオンラインストアからダウンロードされる。それにより、電子装置上でソフトウェアを管理するより簡単で便利な方法を提供する。また、ユーザ・アカウントに関連付けられた他のコンピュータ装置は、オンラインストアからソフトウェアの更新及び再インストールを更に受信する。図1〜図15の以下の説明は、プリ・インストールアプリケーション、ソフトウェアパッケージ及び他の手段を介して取得された(例えば、贈与、購入、或いは別の方法で配信、または取得された)アプリケーションに適用可能である。従って、本明細書において使用されるような「プリ・インストールアプリケーション」という用語は、贈与されたアプリケーション、購入されたアプリケーション、配信されたアプリケーション及び取得されたアプリケーション等と同義で使用される。換言すると、「プリ・インストールアプリケーション」は、ユーザが所有権を有するあらゆるアプリケーションである。同様に、「一意的ハードウェア識別子」とは、コンピュータ装置にインストールされたアプリケーションに資格証明、または所有権を提供するように構成されたあらゆる一意的識別子である。例えば、資格証明は、作成されるアプリケーションのコピー毎に一意的な値を有する。資格証明は、アプリケーションを償還ための償還コードでもある。他の例において、資格証明は、一意的値と非一意的値との組合せであり、例えば償還コード(一意でなくてもよい)をユーザ・アカウント(一意である)と関連付けられた一意的識別子と組み合わせる。概念を実施するために採用される基本的な汎用システム、または汎用コンピュータ装置の簡単に紹介するための説明を図1に示す。プリ・インストール・ソフトウェアをユーザ・アカウントに関連付ける方法を以下に更に詳細に説明する。以下において、種々の実施形態としていくつかの変形例を含む。次に、本発明の開示は図1に進む。   The present invention is directed to the need in the art to associate pre-installed software on an electronic device with a distribution center or online store user account. Furthermore, the present invention addresses the need to associate other types of software with user accounts in addition to pre-installed software. For example, online store or online shop users who purchase purchased software, received software as gifts, distributed free of charge or software from software manufacturers, or acquired using other methods. Related to associating with an account. This process is called “adoption” of the software by the user account in the online store. By associating software with an online store user account, software updates and reinstallations are downloaded from the online store. It provides a simpler and more convenient way to manage software on an electronic device. Also, other computing devices associated with the user account further receive software updates and reinstalls from the online store. The following description of FIGS. 1-15 applies to pre-installed applications, software packages and applications acquired (eg, gifted, purchased, or otherwise distributed or acquired) through other means. Is possible. Thus, the term “pre-installed application” as used herein is used synonymously with gifted applications, purchased applications, distributed applications, acquired applications, and the like. In other words, a “pre-installed application” is any application that the user has ownership of. Similarly, a “unique hardware identifier” is any unique identifier that is configured to provide credentials or ownership to an application installed on a computing device. For example, the credentials have a unique value for each copy of the application that is created. The credential is also a redemption code for redeeming the application. In another example, the credential is a combination of a unique value and a non-unique value, such as a unique identifier associated with a redemption code (which may not be unique) and a user account (which is unique). Combine with. A brief introduction to a basic general-purpose system or general-purpose computer device employed to implement the concept is shown in FIG. The method of associating pre-installed software with a user account is described in further detail below. In the following, some modifications are included as various embodiments. Next, the disclosure of the present invention proceeds to FIG.

図1を参照すると、例示的なシステム100は、処理ユニット(CPU、またはプロセッサ)120、並びに読み出し専用メモリ(ROM)140及びランダムアクセスメモリ(RAM)150等のシステムメモリ130を含む種々のシステム構成要素をプロセッサ120に結合するシステムバス110を含む汎用コンピュータ装置100を備える。システム100は、プロセッサ120と直接接続されるか、プロセッサ120に近接するか、或いはプロセッサ120の一部として組み込まれる高速メモリのキャッシュ122を含む。システム100は、プロセッサ120が高速アクセスするためにメモリ130及び/または記憶装置160からキャッシュ122にデータをコピーする。このように、キャッシュは、データを待つ間にプロセッサ120が遅延するのを回避するパフォーマンスブーストを提供する。これらのモジュール及び他のモジュールは、種々の動作を実行するようにプロセッサ120を制御するか、或いは制御するように構成される。他のシステムメモリ130が更に使用可能であってもよい。メモリ130は、種々の性能特性を含む種々のメモリを含む。本発明は、2つ以上のプロセッサ120を備えるコンピュータ装置100、或いはより適切な処理機能を提供するように共にネットワーク化されたコンピュータ装置のグループ、またはクラスタ上で動作することが理解される。プロセッサ120は、あらゆる汎用プロセッサ、並びに記憶装置160に格納され、プロセッサ120及びソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを制御するように構成されたモジュール1 162、モジュール2 164及びモジュール3 166等のハードウェアモジュール、またはソフトウェアモジュールを備える。プロセッサ120は、実質的に、多数のコア、またはプロセッサ、バス、メモリ制御器、キャッシュ等を含む完全自立型の演算システムである。マルチコアプロセッサは、対称でも非対称でもよい。   With reference to FIG. 1, an exemplary system 100 includes various system configurations including a processing unit (CPU or processor) 120 and system memory 130 such as read only memory (ROM) 140 and random access memory (RAM) 150. A general purpose computing device 100 is included that includes a system bus 110 that couples elements to a processor 120. The system 100 includes a high-speed memory cache 122 that is directly connected to, adjacent to, or incorporated as part of the processor 120. System 100 copies data from memory 130 and / or storage device 160 to cache 122 for high speed access by processor 120. In this way, the cache provides a performance boost that avoids delaying the processor 120 while waiting for data. These modules and other modules control or are configured to control the processor 120 to perform various operations. Other system memory 130 may also be available. Memory 130 includes various memories that include various performance characteristics. It is understood that the present invention operates on a computing device 100 comprising two or more processors 120, or a group or cluster of computing devices networked together to provide more appropriate processing functions. The processor 120 is stored in the storage device 160 as any general-purpose processor, and is configured to control the processor 120 and a dedicated processor in which software instructions are incorporated into the actual processor design, module 1 164 and module 3 166. Etc., and a hardware module or software module. The processor 120 is essentially a fully self-contained computing system that includes multiple cores or processors, buses, memory controllers, caches, and the like. A multi-core processor may be symmetric or asymmetric.

システムバス110は、種々のバスアーキテクチャのうちのいずれかを使用するメモリバス、またはメモリ制御器、周辺バス及びローカルバスを含むいくつかの種類のバス構造のうちのいずれかである。ROM140等に格納された基本入出力(BIOS)は、起動中等にコンピュータ装置100内の要素間で情報の転送を支援する基本ルーチンを提供する。コンピュータ装置100は、例えばハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブ、またはテープドライブ等の記憶装置160を更に備える。記憶装置160は、プロセッサ120を制御するソフトウェアモジュール162、164、166を備える。他のハードウェアモジュール、またはソフトウェアモジュールが考えられる。記憶装置160は、ドライブインタフェースによりシステムバス110に接続される。ドライブ及び関連付けられたコンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及びコンピュータ装置100に対する他のデータの不揮発性記憶装置を提供する。一態様において、特定の機能を実行するハードウェアモジュールは、機能を実行するために必要なハードウェアコンポーネント、例えばプロセッサ120、バス110及びディスプレイ170等と併せてコンピュータ可読の非一時的記憶媒体に格納されたソフトウェアコンポーネントを含む。基本的な構成要素は当業者に既知であり、装置の種類、例えば装置100が小型であるか、ハンドヘルドコンピュータ装置であるか、デスクトップコンピュータであるか、或いはコンピュータサーバであるかに依存して適切な変形例が考えられる。   The system bus 110 is either a memory bus using any of a variety of bus architectures, or any of several types of bus structures including a memory controller, a peripheral bus, and a local bus. A basic input / output (BIOS) stored in the ROM 140 or the like provides a basic routine that supports the transfer of information between elements in the computer apparatus 100 during startup or the like. The computer apparatus 100 further includes a storage device 160 such as a hard disk drive, a magnetic disk drive, an optical disk drive, or a tape drive. The storage device 160 includes software modules 162, 164, 166 that control the processor 120. Other hardware modules or software modules are conceivable. The storage device 160 is connected to the system bus 110 by a drive interface. The drive and associated computer readable storage medium provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the computer device 100. In one aspect, a hardware module that performs a particular function is stored on a computer-readable non-transitory storage medium in conjunction with the hardware components necessary to perform the function, such as processor 120, bus 110, display 170, etc. Included software components. The basic components are known to those skilled in the art and are appropriate depending on the type of device, for example whether the device 100 is a small, handheld computer device, desktop computer or computer server. Various modifications can be considered.

本明細書において説明した例示的な実施形態はハードディスク160を採用するが、コンピュータによりアクセス可能なデータを格納する他の種類のコンピュータ可読媒体、例えば磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、カートリッジ、ランダムアクセスメモリ(RAM)150、読み出し専用メモリ(ROM)140、ケーブル、またはビットストリーム等を含む無線信号等が例示的な動作環境において更に使用されてもよいことは、当業者により理解されるべきである。コンピュータ可読の非一時的記憶媒体は、媒体、例えばエネルギー、搬送波信号、電磁波及び信号自体を明確に除外する。   The exemplary embodiments described herein employ a hard disk 160, but other types of computer-readable media that store computer-accessible data, such as magnetic cassettes, flash memory cards, digital universal disks, cartridges, It should be understood by one of ordinary skill in the art that random access memory (RAM) 150, read only memory (ROM) 140, cables, wireless signals including bitstreams, etc. may be further used in the exemplary operating environment. It is. Computer-readable non-transitory storage media explicitly exclude media such as energy, carrier wave signals, electromagnetic waves and the signal itself.

コンピュータ装置100とのユーザ対話を可能にするために、入力装置190は、例えば音声のためのマイク、ジェスチャ、または図形入力のためのタッチセンシティブスクリーン、キーボード、マウス、動作入力及び音声等の多くの入力機構を示す。更に出力装置170は、当業者に既知である多くの出力機構のうちの1つ以上である。いくつかの例において、多モードシステムにより、ユーザは、コンピュータ装置100と通信するために多くの種類の入力を提供できる。通信インタフェース180は、一般に、ユーザ入力及びシステム出力を制御し、管理する。何らかの特定のハードウェア構成上で動作することに対する制限がないため、本明細書における基本的な機能は、それらが開発される時に改善されたハードウェア構成、またはファームウェア構成に容易に置換される。   In order to allow user interaction with the computer device 100, the input device 190 may include many microphones, gestures, or touch sensitive screens for graphic input, keyboards, mice, motion input and voice, for example. Indicates the input mechanism. Further, the output device 170 is one or more of many output mechanisms known to those skilled in the art. In some examples, a multi-mode system allows a user to provide many types of inputs for communicating with computing device 100. The communication interface 180 generally controls and manages user inputs and system outputs. Since there are no restrictions on operating on any particular hardware configuration, the basic functionality herein is easily replaced with an improved hardware configuration or firmware configuration as they are developed.

説明を明確にするため、説明的なシステムの実施形態は、「プロセッサ」、またはプロセッサ120としてラベル付けされた機能ブロックを含む個々の機能ブロックを含むものとして提示される。これらのブロックが示す機能は、ソフトウェアを実行できるハードウェア及び汎用プロセッサ上で実行するソフトウェアと同等に動作する目的で製作されたプロセッサ120等のハードウェアを含むがそれらに限定されない共有ハードウェア、または専用ハードウェアを使用して提供される。例えば、図1に示された1つ以上のプロセッサの機能は、単一の共有プロセッサ、または複数のプロセッサにより提供される。(「プロセッサ」という用語を使用することは、ソフトウェアを実行できるハードウェアのみを示すものとして解釈されるべきではない。)例示する実施形態は、マイクロプロセッサ及び/またはデジタル信号プロセッサ(DSP)ハードウェア、以下において説明する動作を実行するソフトウェアを格納する読み出し専用メモリ(ROM)140、並びに結果を格納するランダムアクセスメモリ(RAM)150を備える。汎用DSP回路と組み合わせて超大規模集積回路(VLSI)ハードウェアの実施形態及びカスタムVLSI回路網が更に提供される。   For clarity of explanation, an illustrative system embodiment is presented as including individual functional blocks including “processors” or functional blocks labeled as processor 120. The functions shown by these blocks include hardware that can execute software and shared hardware including but not limited to hardware such as a processor 120 that is manufactured for the same purpose as software that runs on a general-purpose processor, or Provided using dedicated hardware. For example, the functions of one or more processors shown in FIG. 1 are provided by a single shared processor or multiple processors. (The use of the term “processor” should not be construed as indicating only hardware capable of executing software.) Exemplary embodiments may include microprocessor and / or digital signal processor (DSP) hardware. , A read only memory (ROM) 140 for storing software for executing the operations described below, and a random access memory (RAM) 150 for storing the results. Further provided are very large scale integrated circuit (VLSI) hardware embodiments and custom VLSI circuitry in combination with a general purpose DSP circuit.

種々の実施形態の論理演算は、(1)汎用コンピュータ内のプログラム可能な回路上で実行する一連のコンピュータにより実現されたステップ、動作、または手順、(2)専用のプログラム可能な回路上で実行する一連のコンピュータにより実現されたステップ、動作、または手順、並びに/或いは(3)プログラム可能な回路内の相互接続されたマシンモジュール、またはプログラムエンジンとして実現される。図1に示されたシステム100は、列挙された方法の全て、または一部を実施し、列挙されたシステムの一部であり、且つ/或いは列挙されたコンピュータ可読の非一時的記憶媒体における命令に従って動作する。そのような論理演算は、モジュールのプログラミングに従って特定の機能を実行するようプロセッサ120を制御するように構成されたモジュールとして実現される。例えば図1は、プロセッサ120を制御するように構成されたモジュールである3つのモジュールMod1 162、Mod2 164及びMod3 166を示す。これらのモジュールは、記憶装置160上に格納されるか、実行時にRAM150、またはメモリ130にロードされるか、或いは当技術分野において既知であるように他のコンピュータ可読記憶場所に格納される。   The logical operations of the various embodiments may be (1) a series of computer-implemented steps, operations or procedures executed on a programmable circuit in a general purpose computer, or (2) executed on a dedicated programmable circuit. A series of computer-implemented steps, operations, or procedures, and / or (3) interconnected machine modules in a programmable circuit, or program engine. The system 100 shown in FIG. 1 implements all or part of the listed methods, is part of the listed systems, and / or instructions on listed computer-readable non-transitory storage media. Works according to. Such logical operations are implemented as modules configured to control the processor 120 to perform specific functions according to the programming of the module. For example, FIG. 1 shows three modules Mod 1 162, Mod 2 164, and Mod 3 166 that are modules configured to control the processor 120. These modules are stored on storage device 160, loaded into RAM 150, memory 130 at runtime, or stored in other computer readable storage locations as is known in the art.

演算システムのいくつかの構成要素を開示したが、次に、本開示は、オンラインアプリケーション配信ストア、またはマーケットにおいてパーソナルコンピュータ、ラップトップ、ゲーム機、スマートフォン、移動電話、またはタブレットPC等のコンピュータ装置上のプリ・インストール・ソフトウェアをユーザ・アカウントに「関連付ける」(リンクする、またはアドプションするに類似する)技術の説明に戻る。本明細書において説明される手法は、オンラインストア、または配信センター等のオンライン配信サイト上のユーザ・アカウントにプリ・インストール・ソフトウェアをリンクすることにより、そのプリ・インストール・ソフトウェアを更新し、或いはコンピュータ装置に再インストールする際の効率性及び利便性を高めるものである。オンライン配信サイトは、ユーザ・アカウントに関連付けられたプリ・インストール・ソフトウェアをそのユーザ・アカウントにリンクされた1つ以上のコンピュータ装置に送信する。プリ・インストール・ソフトウェア及びプリ・インストール・ソフトウェアに対する更新は、双方とも、1つ以上のコンピュータ装置に送信することができる。いくつかの例において、配信サイトは、所定のユーザ・アカウントに関連付けられたソフトウェアを受信することがゆるされた、その所定のユーザ・アカウントに関連付けられたコンピュータ装置の数に対する制限を指定することができる。他の例においては、プリ・インストール・ソフトウェアとは、一度は生成されたが、その後に、一グループのコンピュータ装置の各々に対して繰り返され複製された標準「イメージ」の一部である。例えば、標準的な装置「イメージ」とは、オペレーティングシステム、ドライバ、プログラム及び設定等を含む。従って、「イメージ」された装置の各々は、プリ・インストール・ソフトウェアを含む同一のソフトウェア構成を有し、エンドユーザ(、または他のエンティティ)が装置を設定した後、プリ・インストール・ソフトウェアは、オンラインストア、またはオンライン市場においてアドプションされ、ユーザ・アカウントに関連付けることができる。   Having disclosed several components of the computing system, the present disclosure is then directed to an online application distribution store or marketplace on a computer device such as a personal computer, laptop, game console, smartphone, mobile phone, or tablet PC. Return to the description of the technique of “associating” (similar to linking or adopting) a pre-installed software with a user account. The techniques described herein update the pre-installed software by linking the pre-installed software to a user account on an online store or online distribution site such as a distribution center, or a computer This improves the efficiency and convenience when re-installing the apparatus. The online distribution site sends pre-installed software associated with the user account to one or more computing devices linked to the user account. Both pre-installed software and updates to pre-installed software can be sent to one or more computer devices. In some examples, the distribution site may specify a limit on the number of computing devices associated with the given user account that are allowed to receive software associated with the given user account. it can. In another example, pre-installed software is part of a standard “image” that was generated once but then repeated for each of a group of computing devices. For example, a standard device “image” includes an operating system, drivers, programs, settings, and the like. Thus, each “imaged” device has the same software configuration, including pre-installed software, and after the end user (or other entity) sets up the device, the pre-installed software Adopted in online stores or online markets and can be associated with user accounts.

図2は、例示的なアプリケーション配信システムを示す。この例において、配信システム200は、配信センター210、アプリケーション・データベース220、設定サーバ230、インターネット250、または他のネットワーク、コンピュータ装置260、コンピュータ装置270及び携帯装置280を示す。配信センター210、アプリケーション・データベース220及び設定サーバ230は、共にクライアント−サーバモデルのサーバ側240の種々の独立構成要素を示す。同様に、コンピュータ装置260、コンピュータ装置270及び携帯装置280は、クライアント−サーバモデルのクライアント側290の種々の独立構成要素を示す。従って、配信システム200の広範な概要は、インターネット250を介してクライアント側290と通信するサーバ側240を含むことができる。一例として、サーバ側240は、ユーザにとっては、アプリケーション、または多数のクラウドサーバを販売し、配信するオンラインストアとして表現できる。クライアント側290の装置は、装置上に格納されたアプリケーション管理コンピュータプログラムを使用してオンラインストアと通信することができる。他の例において、インターネット250は、例えばコンピュータネットワーク、電話回線、イーサネット、ローカルエリアネットワーク、有線ネットワーク及び無線ネットワーク等の他の通信ネットワークで置換することができる。   FIG. 2 illustrates an exemplary application distribution system. In this example, the distribution system 200 shows a distribution center 210, an application database 220, a configuration server 230, the Internet 250 or other network, a computer device 260, a computer device 270, and a portable device 280. Distribution center 210, application database 220, and configuration server 230 together represent various independent components on the server side 240 of the client-server model. Similarly, computing device 260, computing device 270, and portable device 280 represent various independent components on the client side 290 of the client-server model. Thus, a broad overview of the distribution system 200 can include a server side 240 that communicates with the client side 290 via the Internet 250. As an example, the server side 240 can be expressed to the user as an online store that sells and distributes applications or multiple cloud servers. The client-side 290 device can communicate with the online store using an application management computer program stored on the device. In other examples, the Internet 250 can be replaced with other communication networks such as computer networks, telephone lines, Ethernet, local area networks, wired networks, and wireless networks.

コンピュータ装置260はアプリケーション261を含むことができる。アプリケーション261は、コンピュータ装置260にプリ・インストールされたアプリケーション、パッケージの一部として提供されたアプリケーション、、または何らかの種類のインストールメディアが提供されたアプリケーションを含み得る。ある一般的な例において、コンピュータ装置260の所有者は、製造業者からこれらのアプリケーションが既にインストールされているコンピュータ装置260を購入した、とする。このアプリケーション261のなかには、他の手段を介してコンピュータ装置260により取得されたアプリケーション、(またはソフトウェアパッケージ)、例えば2、3例を挙げると、贈与され、購入され、または無償で配信されたアプリケーションを更に含む。アプリケーション261は、コンピュータ装置260のユーザにより配信センター210から購入されたアプリケーションを更に含むことができる。ユーザは、配信センター210から所望のアプリケーションを購入する際に、ユーザが既に購入したアプリケーションと関連付けられたメタデータ、そして、所望のアプリケーションと引き換えで配信センター210に支払いをするための支払情報に関連付けられたメタデータなどを含むユーザ・アカウント291にログインする。ログインすると、ユーザは購入したいアプリケーションを選択する。ユーザがアプリケーションの購入額を支払うことに同意すると、このユーザの支払情報が用いられて取引が完了する。取引が完了すると、その所望のアプリケーションはユーザ・アカウント291と関連付けられることとなり、ユーザは、当該所望のアプリケーションとその所望アプリケーションの更新とをダウンロードできるようになる。ユーザ・アカウント291と関連付けられたこれらアプリケーション等は、ユーザ・アカウント291と関連付けられる他の装置に更にダウンロード若しくは再ダウンロード可能となる。   The computing device 260 can include an application 261. Application 261 may include an application pre-installed on computing device 260, an application provided as part of a package, or an application provided with some type of installation media. In one common example, the owner of computing device 260 may have purchased computing device 260 from a manufacturer that already has these applications installed. Among the applications 261 are applications acquired by the computer device 260 via other means (or software packages), for example, applications given, purchased, or distributed free of charge, to name a few. In addition. Application 261 may further include an application purchased from distribution center 210 by a user of computing device 260. When a user purchases a desired application from the distribution center 210, the user associates with metadata associated with the application that the user has already purchased, and payment information for paying the distribution center 210 in exchange for the desired application. Log in to the user account 291 that includes the metadata etc. When logged in, the user selects the application that he wants to purchase. If the user agrees to pay for the application purchase, the user's payment information is used to complete the transaction. When the transaction is complete, the desired application will be associated with the user account 291 and the user will be able to download the desired application and updates to the desired application. These applications and the like associated with the user account 291 can be further downloaded or re-downloaded to other devices associated with the user account 291.

いくつかの例においては、ユーザは、この時点では、アプリケーションをユーザ・アカウントに関連付けしないというオプションを有することができる。例えば、贈与としてアプリケーションを受け取るユーザは、ユーザ・アカウントを有さないか、有していても、アプリケーションをユーザ・アカウントに関連付けたくないであろう。第1の例においては、ユーザは、ユーザ・アカウントを設定するまでもなく、アプリケーションをコンピュータ装置260にインストールできる。ユーザが更新を受信したいか、或いは、自身が所有する他の電子装置にそのアプリケーションをインストールしたい場合には、当該ユーザは、ユーザ・アカウントを選択し、そのアプリケーションを前記ユーザ・アカウントとリンクする(すなわち、アドプションする)。この例においては、コンピュータ装置260、コンピュータ装置270及び携帯装置280は、全てユーザ・アカウント291と関連付けられている、そのため、ユーザ・アカウント291と関連付けられている全てのアプリケーションの更新及び再ダウンロードを受信できるように構成されている。更に、携帯装置280は、コンピュータ装置270と通信し、これら2つの装置間でデジタルデータ及びアプリケーションを転送することができる。一例においては、コンピュータ装置270は、ユーザ・アカウント291に関連付けられた全てのアプリケーションを格納するリポジトリセンター(記憶センター)となって、選択されたアプリケーションを携帯装置280に転送できるように構成されている。本明細書において、「アプリケーション」という用語は、ソフトウェアプロバイダにより提供されたソフトウェアプログラム、またはアプリケーションのコピー或いは複製物を意味する。他の例においては、コンピュータ装置に最初にプリ・インストールされたソフトウェアアプリケーション及びソフトウェアプログラム(例えば、システムソフトウェア、企業向けソフトウエア、マルチメディアファイル、ビデオファイル、オーディオファイル及び画像ファイル)等に加えて、他のデジタル製品、例えば、ユーザが所有権を有するソフトウェアアプリケーション等は、また、ユーザ・アカウント291に関連付けて、配信センター210により配信/再配信することができる。   In some examples, the user may have an option not to associate the application with a user account at this point. For example, a user who receives an application as a gift may or may not have a user account and do not want to associate the application with the user account. In the first example, the user can install the application on the computing device 260 without having to set up a user account. If the user wants to receive updates or wants to install the application on other electronic devices he owns, the user selects a user account and links the application to the user account ( Ie Adopt). In this example, computing device 260, computing device 270, and portable device 280 are all associated with user account 291 and thus receive updates and re-downloads of all applications associated with user account 291. It is configured to be able to. In addition, the portable device 280 can communicate with the computer device 270 to transfer digital data and applications between the two devices. In one example, computing device 270 is configured to be a repository center (storage center) that stores all applications associated with user account 291 and to transfer selected applications to portable device 280. . As used herein, the term “application” refers to a software program provided by a software provider, or a copy or copy of an application. In other examples, in addition to software applications and software programs (e.g., system software, enterprise software, multimedia files, video files, audio files, and image files) that are first pre-installed on a computer device, etc., Other digital products, such as software applications that the user has ownership of, can also be distributed / redistributed by distribution center 210 in association with user account 291.

配信センター210は、アプリケーション・データベース220に結合され、アプリケーション・データベース220から、アプリケーションを販売し、供給し、及び維持するように構成されている。アプリケーション・データベース220は、サーバ側240から配信可能なアプリケーションのうちの一部、または全てを格納するように構成することができる。これらのアプリケーションは、インターネット250を介してクライアント側290の装置に販売し、更新し、そして、供給(すなわち、送信)することができる。従って、配信センター210は、アプリケーションに対するオンラインストアを意味する。例えば、アプリケーション・データベース220は、配信センター210からアプリケーションに対する要求を受信し、要求に応答して、要求されたアプリケーションを配信センター210に送信し、配信センター210は、その後アプリケーションを要求側装置に送信する。要求されたアプリケーションとは、購入可能なアプリケーション、または以前にユーザ・アカウントに関連付けられたアプリケーション(すなわち、アドプションされている、別途取得され、またはプリ・インストールされたアプリケーション)である。他の例において、アプリケーション・データベース220は、要求されたアプリケーションを要求側装置に直接送信できる。更に他の例において、アプリケーション・データベース220はクライアント側290に常駐できるのであり、このクライアント側で、サーバ側240は、アプリケーション・データベース220の特定のアプリケーションへのアクセスを、当該ユーザ・アカウントに関連付けられたアプリケーションに基づいて許可することできる。   Distribution center 210 is coupled to application database 220 and configured to sell, supply, and maintain applications from application database 220. The application database 220 can be configured to store some or all of the applications that can be distributed from the server side 240. These applications can be sold, updated, and delivered (ie, sent) to client-side 290 devices via the Internet 250. Accordingly, the distribution center 210 means an online store for applications. For example, the application database 220 receives a request for an application from the distribution center 210 and sends the requested application to the distribution center 210 in response to the request, which then sends the application to the requesting device. To do. A requested application is an application that can be purchased or previously associated with a user account (ie, an application that has been applied, acquired separately, or pre-installed). In other examples, the application database 220 can send the requested application directly to the requesting device. In yet another example, the application database 220 can reside on the client side 290, where the server side 240 is associated with access to a particular application in the application database 220 associated with the user account. Can be allowed based on different applications.

クライアント側290の装置は、ソフトウェア・アドプション要求を送信して、装置上のプリ・インストールアプリケーション、または別途取得されてはいるがアドプションされていないアプリケーションを、ユーザ・アカウントにリンクする(すなわち、関連付けるか、或いはアドプションする)ことができる。1つのアプリケーションをリンクすることにより、ユーザは、そのアプリケーションを1つのユーザ・アカウントに関連付けることができるため、同ユーザは、同ユーザ・アカウントに同じく関連付けられた他の装置に、このアプリケーションをダウンロードすることができる。この処理は、アプリケーションの「リンク」、「アドプション」、または「関連付け」と呼ばれる。例えばコンピュータ装置260は、アプリケーション261からのアプリケーションをユーザ・アカウント291とリンクするように要求することができる。この要求は、インターネット250を介してアプリケーション、またはコンピュータ装置260と関連付けられた一意的識別子(例えば、一意的ハードウェア識別子)と共に配信センター210に送信され、ここで、アプリケーションがユーザ・アカウント291と関連付けられているかが判定される。一意的ハードウェア識別子は、特定の装置を他の全ての装置と区別するために使用される一意的な識別子であり、その装置のハードウェアに基づくことができる。例えば、製造業者は、自らの製造になる装置が、一意的であり、それ故に、他のあらゆる装置の一意的ハードウェア識別子とは異なるところの一意的ハードウェア識別子を有する、ことを保証することができる。一例として、一意的ハードウェア識別子は、装置のロジックボードシリアル番号及び/またはイーサネットハードウェアアドレスに基づくこともできる。一例において、これらの2つの値は、連結され、ハッシュされて、一意的ハードウェア識別子を生成する。他の例においては、この装置に特有な他のメタデータを、一意的ハードウェア識別子を形成するための種々のデータ操作アルゴリズムを用いて、連結し、ハッシュし、または合成してもよい。更に他の例において、そのアプリケーションがユーザ・アカウント291と関連付け可能かを判定するために使用される一意的識別子は、その一意的識別子と関連付けられるアプリケーション(すなわち、ソフトウェアパッケージ)がソフトウェア製造業者から合法的に取得されたことの証拠となる他のあらゆる購買証明、または資格に基づくことができる。一例において、一意的識別子は、アプリケーションと関連付けられたメタデータ、または属性から導出される。別の例において、一意的識別子は、アプリケーション、クライアント装置、ユーザ・アカウント、ユーザ・アカウントに関連付けられた他のクライアント装置、または上記の1つ以上の任意の組合せ、などと関連付けられたメタデータから導出することができる。   The client-side 290 device sends a software admission request to link a pre-installed application on the device or a separately acquired but not adopted application to the user account (ie, Associated or adopted). By linking one application, the user can associate that application with one user account, so the user downloads the application to other devices that are also associated with the user account. be able to. This process is called “linking”, “adopting”, or “associating” the application. For example, computing device 260 may request that an application from application 261 be linked with user account 291. This request is sent to the distribution center 210 along with a unique identifier (eg, a unique hardware identifier) associated with the application or computing device 260 over the Internet 250, where the application is associated with the user account 291. It is determined whether or not A unique hardware identifier is a unique identifier used to distinguish a particular device from all other devices and can be based on the hardware of that device. For example, a manufacturer must ensure that the device that it manufactures is unique and therefore has a unique hardware identifier that is different from the unique hardware identifier of any other device. Can do. As an example, the unique hardware identifier may be based on the device's logic board serial number and / or Ethernet hardware address. In one example, these two values are concatenated and hashed to generate a unique hardware identifier. In other examples, other metadata specific to this device may be concatenated, hashed, or synthesized using various data manipulation algorithms to form a unique hardware identifier. In yet another example, the unique identifier used to determine whether the application can be associated with the user account 291 is that the application associated with the unique identifier (ie, the software package) is legal from the software manufacturer. Can be based on any other proof of purchase or qualification that provides evidence that In one example, the unique identifier is derived from metadata or attributes associated with the application. In another example, the unique identifier is from metadata associated with an application, client device, user account, other client devices associated with the user account, or any combination of one or more of the above, etc. Can be derived.

一実施形態において、配信センター210は、一意的識別子を受信し、それを処理、または解析してアプリケーションがユーザ・アカウントに関連付け可能かを判定する。ある特定の例において、アプリケーションはユーザ・アカウントに関連付けることはできない。例えば、アプリケーションが以前に別のユーザ・アカウントに関連付けられていた場合、装置のアプリケーションはユーザ・アカウントに関連付けられない。別の例として、アプリケーションは、正規のコピーでない場合には、ユーザ・アカウントに関連付けることができない。これは、ユーザが元々ある装置から別の装置にインストールされていたアプリケーションを手動でコピーする場合に発生する。更に別の例として、この関連付け処理は、アプリケーションをユーザ・アカウントにリンクするために、ユーザが電子装置上のユーザのアカウントにログインされていることを必要とする。   In one embodiment, distribution center 210 receives the unique identifier and processes or parses it to determine if the application can be associated with the user account. In certain examples, an application cannot be associated with a user account. For example, if an application was previously associated with another user account, the device application is not associated with the user account. As another example, an application cannot be associated with a user account if it is not a legitimate copy. This occurs when the user manually copies an application that was originally installed from one device to another. As yet another example, this association process requires the user to be logged into the user's account on the electronic device in order to link the application to the user account.

別の実施形態において、配信センター210は、一意的識別子を受信し、それを処理、または解析して、アプリケーションがユーザ・アカウントに関連付けられるかを判定する。一例として、一意的識別子を処理することは、一意的識別子をデータベースと比較することで一意的識別子を検証することを含む。データベースは、各々がアプリケーションの正規のコピーと関連付けられた一意的識別子を格納する複数のエントリを有する。比較の結果は、アプリケーションのアドプション状況、例えばアプリケーションが正当なコピーであるか、不当なコピーであるか、或いはユーザ・アカウントと既に関連付けられているかを判定するために使用される。別の例として、一意的識別子の処理は、一意的識別子をハッシュテーブルに入力してアプリケーションのアドプション状況を判定することを含むことができる。更に別の例において、一意的識別子を検証エンジンへ受信するようにして、このエンジンがアプリケーションのこのようなインストールが有効ではあるか、まだアドプションされていないかを判定するようにすることができる。更に他の例においては、他のデータ処理技術を一意的識別子に適用して、アプリケーションがユーザ・アカウントに関連付けることができるかを判定することができる。アプリケーションは、最近でも、ユーザにより取得可能である。換言すると、アプリケーションは、配信、または製造から、電子装置を購入し、受け取った後でも、ユーザが取得し終えたようにようにすることができる。或いは、アプリケーションは、電子装置が購入された時に取得可能である。配信センター210によりアドプション状況が判定されると、アドプション状況に係る確認が電子装置に送信される。確認が送信され、アドプション処理の状況を電子装置に報知する。確認に基づいて、電子装置は、ソフトウェアパッケージのダウンロード、または更新を要求する。他の例において、配信センター210は、アドプション状況に従って電子装置に対してソフトウェアパッケージのダウンロード処理、または更新処理を自動的に開始する。   In another embodiment, distribution center 210 receives the unique identifier and processes or parses it to determine if the application is associated with a user account. As an example, processing the unique identifier includes validating the unique identifier by comparing the unique identifier with a database. The database has a plurality of entries each storing a unique identifier associated with a legitimate copy of the application. The result of the comparison is used to determine the application's application status, for example, whether the application is a legitimate copy, an illegal copy, or is already associated with a user account. As another example, the processing of the unique identifier can include entering the unique identifier into a hash table to determine the application's admission status. In yet another example, a unique identifier may be received by the verification engine so that the engine determines whether such an installation of the application is valid or not yet applied. . In yet another example, other data processing techniques can be applied to the unique identifier to determine whether an application can be associated with a user account. The application can be acquired by the user even recently. In other words, the application can appear to have been acquired by the user even after purchasing and receiving the electronic device from distribution or manufacture. Alternatively, the application can be acquired when the electronic device is purchased. When the distribution status is determined by the distribution center 210, a confirmation related to the application status is transmitted to the electronic device. A confirmation is sent to inform the electronic device of the status of the admission process. Based on the confirmation, the electronic device requests a download or update of the software package. In another example, the distribution center 210 automatically starts a software package download process or an update process for the electronic device according to the application status.

サーバ側240は、多数のサーバ及びテーブルを組み込んでおり、リンク要求が許可されるべきかを判定する。例えば配信センター210は一意性サーバ211を備え、このサーバは、一意的識別子を処理しって、リンク要求の正当性、または合法性を判定するように構成されている。一意性サーバ211は、データベースを維持するように構成された一意性テーブル、またはユーザ・アカウントとリンクされた1つ以上のプリ・インストールアプリケーションを有している電子装置のテーブルを含む。一例として、一意性テーブルは、プリ・インストールアプリケーションをユーザ・アカウントと既にリンクしている装置(すなわち、装置と関連付けられたプリ・インストールアプリケーションを既にアドプションしている装置)の一意的ハードウェア識別子を格納するように構成される。一意性テーブルは、ユーザ・アカウントに関連付けられているアプリケーションと関連付けられたメタデータを格納するように更に構成される。装置がアプリケーションのうちのいくつか、または全てをユーザ・アカウントとアドプション(すなわち、リンク)する場合、装置の一意的ハードウェア識別子、またはアドプションされたアプリケーションの一意的識別子は、一意性テーブル内に格納される。これにより、既にアドプションされているアプリケーションをリンクする今後の要求を阻止する。例えば、一意的識別子が一意性テーブルにあるかに関するクエリを実行することは、一意的ハードウェア識別子と関連付けられた装置がプリ・インストールアプリケーションをユーザ・アカウントと既にリンクしているかを判定する。同様に、クエリは、一意的識別子と関連付けられたアプリケーションがユーザ・アカウントと既にリンクされているかを更に判定する。別の例として、一意性テーブルは、以前にアドプションされている(すなわち、ユーザ・アカウントとリンクされている)電子装置の1つ以上のプリ・インストールアプリケーションと関連付けられたメタデータと共に電子装置の一意的ハードウェア識別子を格納するように構成される。換言すると、一意性テーブルは、装置の一意的ハードウェア識別子と選択的にアドプションされている装置のプリ・インストールアプリケーションと関連付けられた1つ以上のメタデータとの間の1対多数マッピングとして構成される。一意的ハードウェア識別子に対して一意性テーブルをクエリすることは、一意的ハードウェア識別子が一意性テーブルに存在しない場合には何も返送せず、一意的ハードウェア識別子が一意性テーブルに存在する場合には選択的にアドプションされているプリ・インストールアプリケーションと関連付けられたメタデータを返送する。この結果、第1のユーザ・アカウントで装置上のプリ・インストールアプリケーションを選択的にアドプションし、第2のユーザ・アカウントで装置上の別のプリ・インストールアプリケーションを選択的にアドプションする機能が得られる。更に他の例において、一意性テーブルは、ユーザ・アカウントにリンクされているアプリケーションのデータベース、またはテーブルを維持するように構成される。既にリンクされているアプリケーションは、一意性テーブルに格納された一意的識別子を有することにより、アドプションされているアプリケーションの最新のデータベースを維持する。   Server side 240 incorporates a number of servers and tables to determine if a link request should be allowed. For example, the distribution center 210 includes a uniqueness server 211 that is configured to process the unique identifier to determine the legitimacy or legality of the link request. Uniqueness server 211 includes a uniqueness table configured to maintain a database, or a table of electronic devices having one or more pre-installed applications linked to user accounts. As an example, the uniqueness table may be a unique hardware identifier of a device that has already linked the pre-installed application to the user account (ie, a device that has already adopted the pre-installed application associated with the device). Configured to store. The uniqueness table is further configured to store metadata associated with the application associated with the user account. If the device adopts (ie, links) some or all of the applications with the user account, the device's unique hardware identifier, or the unique identifier of the adopted application, is stored in the uniqueness table. Stored in This prevents future requests to link applications that have already been adopted. For example, executing a query as to whether the unique identifier is in the uniqueness table determines whether the device associated with the unique hardware identifier has already linked the pre-installed application with the user account. Similarly, the query further determines whether the application associated with the unique identifier is already linked with the user account. As another example, the uniqueness table may be stored in the electronic device along with metadata associated with one or more pre-installed applications of the electronic device that have been previously adopted (ie, linked to a user account). It is configured to store a unique hardware identifier. In other words, the uniqueness table is configured as a one-to-many mapping between the device's unique hardware identifier and one or more metadata associated with the selectively installed device's pre-installed application. Is done. Querying the uniqueness table for a unique hardware identifier returns nothing if the unique hardware identifier does not exist in the uniqueness table, and the unique hardware identifier exists in the uniqueness table In some cases, metadata associated with a pre-installed application that is selectively adopted is returned. As a result, there is a function of selectively applying a pre-install application on the device with the first user account and selectively applying another pre-install application on the device with the second user account. can get. In yet another example, the uniqueness table is configured to maintain a database or table of applications linked to the user account. Already linked applications maintain a current database of applications that have been adopted by having a unique identifier stored in a uniqueness table.

一例において、設定サーバ230は、電子装置の元の設定をチェックすることにより、リンク要求の正当性を検証することができるもので、サーバは、電子装置が製造業者から出荷された時に、特定のアプリケーションが当該装置にプリ・インストールされたかを検証、または判定することによりこの検証を行う。この設定サーバは、アプリケーションがユーザ装置にインストールされているか、或いはユーザ・アカウントに関連付けられているか、に関係なく、ユーザが所有権を有するアプリケーションを更に検証し、または識別することができる。従って、ユーザが所有権を有するが、関連付けられていないか、或いはインストールされていないアプリケーションを更に識別できる。設定サーバ230は、製造業者により作成された電子装置の元の設定を格納するデータベースを含む。元の設定は、もしあれば電子装置と共に供給されたオペレーティングシステムのバージョン及びアプリケーションのバージョンを含む。例えば、オンラインストアを通して電子装置を注文するユーザは、購入時に1つ以上のアプリケーションを含む装置を構成することができる。アプリケーションは、購入時の設定に基づいて製造時に電子装置にインストールされる。製造時には、後続の参照のために、電子装置の設定を設定サーバ230に通信する。設定サーバ230は、電子装置から一意的ハードウェア識別子を含む参照要求を受信する場合、データベース上で探索、或いはクエリを実行し、装置にインストールされたオペレーティングシステムのバージョン及び/または電子装置にインストールされたアプリケーションのバージョンを含むリストを返送する。設定サーバ230は、インストールされたアプリケーションのリストをユーザがユーザ・アカウントに関連付けようとしているアプリケーションと比較し、ユーザが関連付けようとしているアプリケーションが正規のインストールであるか、或いは以前に別のユーザ・アカウントに関連付けられているかを判定する。或いは、設定サーバ230は、プリ・インストールアプリケーションのリストを配信センター210に渡し、リンク要求が許可されるべきであるかを判定する。このチェックにより、ユーザがある装置から別の装置にプリ・インストールアプリケーションをコピーすることで配信システム200を迂回しようとすることを阻止する。   In one example, the configuration server 230 can verify the legitimacy of the link request by checking the original configuration of the electronic device, and the server can specify a specific time when the electronic device is shipped from the manufacturer. This verification is performed by verifying or determining whether the application has been pre-installed on the device. This configuration server can further verify or identify the application for which the user has ownership, regardless of whether the application is installed on the user device or associated with a user account. Thus, it is possible to further identify applications for which the user has ownership but is not associated or installed. The setting server 230 includes a database that stores the original settings of the electronic device created by the manufacturer. The original settings include the operating system version and application version supplied with the electronic device, if any. For example, a user who orders an electronic device through an online store can configure a device that includes one or more applications at the time of purchase. The application is installed in the electronic device at the time of manufacture based on the setting at the time of purchase. During manufacturing, the settings of the electronic device are communicated to the setting server 230 for subsequent reference. When the configuration server 230 receives a reference request including a unique hardware identifier from an electronic device, the configuration server 230 performs a search or query on the database and installs the operating system version installed on the device and / or the electronic device. Returns a list containing the application versions. The configuration server 230 compares the list of installed applications with the application that the user is trying to associate with the user account, and whether the application that the user is trying to associate is a legitimate installation or has previously been another user account. It is determined whether it is associated with. Alternatively, the setting server 230 passes a list of pre-installed applications to the distribution center 210 and determines whether the link request should be permitted. This check prevents the user from trying to bypass the distribution system 200 by copying the pre-installed application from one device to another.

サーバ側240の1つ以上の要素がリンク要求を検証すると、そのプリ・インストールアプリケーションはユーザ・アカウントに関連付けられる(すなわち、アプリケーションアドプションされる)。また、一意性サーバ211、または設定サーバ230は、アプリケーションアドプションを考慮するように更新可能である。例えば、電子装置と関連付けられたプリ・インストールアプリケーションのうちのいくつか、または全てがアドプションされているため、新しいエントリが一意性サーバ211の一意性テーブルに追加される。いくつかの例において、配信センター210は、プリ・インストールアプリケーションがユーザ・アカウントに関連付けられた後でプリ・インストールアプリケーションの更新をコンピュータ装置260に送信する。他の例において、配信センター210は、コンピュータ装置270が元々プリ・インストールアプリケーションで構成されていない場合でもコンピュータ装置270等のユーザ・アカウントに関連付けられた他の装置にプリ・インストールアプリケーションを送信する。アプリケーションアドプションに対する同様の要求を通して、アプリケーション271に格納されたコンピュータ装置270のプリ・インストールアプリケーション及びアプリケーション281に格納された携帯装置280のプリ・インストールアプリケーションは、ユーザ・アカウント291と関連付けられ、最終的にコンピュータ装置260、コンピュータ装置270及び/または携帯装置280に配信される。   When one or more elements on the server side 240 validate the link request, the pre-installed application is associated with the user account (ie, application adopted). Also, the uniqueness server 211 or the setting server 230 can be updated to take into account application adoption. For example, because some or all of the pre-installed applications associated with the electronic device have been adopted, a new entry is added to the uniqueness table of the uniqueness server 211. In some examples, the distribution center 210 sends the pre-installed application update to the computing device 260 after the pre-installed application is associated with the user account. In another example, the distribution center 210 transmits the pre-install application to other devices associated with a user account, such as the computer device 270, even if the computer device 270 was not originally configured with a pre-install application. Through similar requests for application adoption, the pre-installation application of the computing device 270 stored in the application 271 and the pre-installation application of the mobile device 280 stored in the application 281 are associated with the user account 291 and finally To the computer device 260, the computer device 270, and / or the portable device 280.

図3は、例示的なクライアント−サーバシステムを示す。クライアント−サーバシステム300は、クライアント装置350及びサーバ360を備える。サーバ360は、クライアント装置350からの要求に応答するように構成され、図2のサーバ側240の1つ以上の要素を含む。クライアント装置350は、ページ要求をサーバ360に提供することでアプリケーション(プリ・インストール、または別の方法で取得された)をユーザ・アカウントに関連付ける。クライアント装置350は、プリ・インストールアプリケーションの場合と同じように、同一のページ要求、または同様のページ要求をサーバ360に提供することで他のアプリケーションをユーザ・アカウントと更に関連付ける。   FIG. 3 illustrates an exemplary client-server system. The client-server system 300 includes a client device 350 and a server 360. Server 360 is configured to respond to requests from client device 350 and includes one or more elements on server side 240 of FIG. Client device 350 associates an application (pre-installed or otherwise obtained) with a user account by providing a page request to server 360. The client device 350 further associates other applications with the user account by providing the same or similar page request to the server 360 as in the pre-installed application.

1種類のページ要求はページ更新要求301である。ページ更新要求301はサーバ360に送信される要求で、利用可能なアプリケーションの更新を求めるクエリを実行する。ページ更新要求301に応答して、サーバ360は、クライアント装置350に格納されたアプリケーションが利用可能な更新を有するようになったことをユーザに報知するように構成されたハイパテキストマークアップ言語(「HTML」)ページ303を返送する。いくつかの例において、サーバ360はメタデータをクライアント装置350に返送し、入れ替わり、クライアント装置350は、ユーザに提示するためのHTMLページを生成する。ページ更新要求301は、クライアント装置350に格納されているアプリケーション毎にデジタルレシートを含む。このレシートは、当該アプリケーションに関連し、そのソフトウェアの購入または所有権を記載するメタデータを含むものである。1つの種類のレシートとして、購入されたアプリケーション、またはアドプションされたアプリケーションと関連付けられる実際のレシートである。実際のレシートは、アプリケーションの説明、アプリケーションのバージョン番号、アプリケーションが購入された際のアプリケーションの購入者に関する情報及びアプリケーションが最初にインストールされた装置に関する情報等を含む。換言すると、実際のレシートとは、購入者に及び/またはアプリケーションが購入された電子装置に一意的な購入の証明である。別の種類のレシートはスタブ・レシートである。スタブ・レシートは、実際のレシートに情報の部分集合を含み、アプリケーションがユーザ・アカウントによりアドプションされていない場合はアプリケーションの一部である。一例において、スタブ・レシートは、一意的に他のコピーからこのアプリケーションのコピーを識別する。これにより、サーバは、この特定のアプリケーションのコピー(ユーザに贈与されるか、或いはユーザにより別の方法で取得される)がユーザによりアドプション可能であるかを判定できる。別の例において、スタブ・レシートは、プリ・インストールアプリケーションと関連付けられるレシートとして製造業者により生成される。製造業者によるアプリケーションのインストールを促進及び簡略化にするため、スタブ・レシートは、実際のレシートより少ない最小の情報量を含む。例えばスタブ・レシートは、サーバに対するアプリケーションを識別するアプリケーション識別子を含み、アプリケーションのバージョンを識別するバージョン番号を更に含む。アプリケーション識別子は、アプリケーションと関連付けられた名前である。スタブ・レシートは、アプリケーションが購入された時等の購入者に特有の情報と、アプリケーションの購入者、またはプリ・インストールアプリケーションがインストールされた装置に関する情報とを含まない。換言すると、スタブ・レシートは、ユーザ・アカウント、ユーザ・アカウント情報、或いはクライアント装置、コンピュータ装置、または他の装置に関する情報を含まない。アプリケーション識別子は、プリ・インストールアプリケーションと関連付けられた名前である。いくつかの例において、スタブ・レシートは、アプリケーションが装置にプリ・インストールアプリケーションされている時、または装置が供給の準備をしている時に製造業者により生成される。他の例において、スタブ・レシートは、サーバ360により生成され、その後プリ・インストールアプリケーションと関連付けられるクライアント装置350に送信される。サーバ360は、クライアント装置350による要求、またはサーバ360とクライアント装置350との間で定期的にスケジュールされた通信に応答してスタブ・レシートを生成する。プリ・インストールアプリケーションがアドプションされると、スタブ・レシートは実際のレシートで置換される。別の例において、スタブ・レシートは、アプリケーションが取得された場合にクライアント装置と関連付けられていない購入、贈与、または別の方法で取得されたアプリケーションと関連付けられるレシートとして生成される。このスタブ・レシートは、製造業者、アプリケーション配信者、またはオンラインストア等により生成される。場合によっては、スタブ・レシートは、配信のためにバッチ処理され、アプリケーションに割り当てられる。スタブ・レシートは、サーバ上に保存され、アドプション要求を認証するために使用される。前の例と同様に、スタブ・レシートは、アプリケーションアドプション処理中に実際のレシートで置換される。実際のレシートは、クライアント−サーバシステム300のクライアント装置350、サーバ360、または他の要素により生成される。   One type of page request is a page update request 301. A page update request 301 is a request transmitted to the server 360 and executes a query for updating available applications. In response to the page update request 301, the server 360 is configured to notify the user that an application stored on the client device 350 has an available update, and a hypertext markup language (“ HTML ") page 303 is returned. In some examples, the server 360 returns metadata to the client device 350 and swaps, and the client device 350 generates an HTML page for presentation to the user. The page update request 301 includes a digital receipt for each application stored in the client device 350. This receipt is associated with the application and includes metadata describing the purchase or ownership of the software. One type of receipt is an actual receipt associated with a purchased application or an adopted application. The actual receipt includes a description of the application, the version number of the application, information regarding the purchaser of the application when the application is purchased, information regarding the device on which the application is first installed, and the like. In other words, the actual receipt is a proof of purchase unique to the purchaser and / or the electronic device from which the application was purchased. Another type of receipt is a stub receipt. A stub receipt contains a subset of the information in the actual receipt and is part of the application if the application is not advertised by a user account. In one example, the stub receipt uniquely identifies a copy of this application from other copies. This allows the server to determine whether a copy of this particular application (given to the user or otherwise obtained by the user) can be adopted by the user. In another example, the stub receipt is generated by the manufacturer as a receipt associated with the pre-installed application. To facilitate and simplify application installation by manufacturers, stub receipts contain a minimum amount of information that is less than the actual receipt. For example, the stub receipt includes an application identifier that identifies the application to the server, and further includes a version number that identifies the version of the application. The application identifier is a name associated with the application. The stub receipt does not include information specific to the purchaser, such as when the application is purchased, and information regarding the purchaser of the application or the device on which the pre-installed application is installed. In other words, the stub receipt does not include user account, user account information, or information about client devices, computer devices, or other devices. The application identifier is a name associated with the pre-installed application. In some examples, the stub receipt is generated by the manufacturer when the application is pre-installed on the device or when the device is preparing to supply. In another example, the stub receipt is generated by the server 360 and then sent to the client device 350 associated with the pre-installed application. Server 360 generates a stub receipt in response to a request by client device 350 or a regularly scheduled communication between server 360 and client device 350. When the pre-installed application is adopted, the stub receipt is replaced with the actual receipt. In another example, a stub receipt is generated as a receipt that is associated with a purchase, gift, or otherwise acquired application that is not associated with a client device when the application is acquired. This stub receipt is generated by a manufacturer, an application distributor, or an online store. In some cases, stub receipts are batched for delivery and assigned to an application. The stub receipt is stored on the server and used to authenticate the admission request. Similar to the previous example, the stub receipt is replaced with the actual receipt during the application admission process. The actual receipt is generated by the client device 350, server 360, or other element of the client-server system 300.

この例において、ページ更新要求301は、プリ・インストールアプリケーション310と関連付けられたスタブ・レシートA311、プリ・インストールアプリケーション320と関連付けられたスタブ・レシートB321及びアプリケーション330と関連付けられた実際のレシート331を含む。アプリケーション330は、クライアント装置350の購入後にサーバ360から購入されたため、実際のレシートを含む。ページ更新要求301に応答して、サーバ360は、プリ・インストールアプリケーション310、プリ・インストールアプリケーション320、またはアプリケーション330がサーバ360からダウンロードされる利用可能な更新を有するかをユーザに報知するHTML303を生成する。アドプションされていない(すなわち、ユーザ・アカウントとリンクされていないか、或いは関連付けられていない)プリ・インストールアプリケーションと関連付けられた利用可能な更新は、プリ・インストールアプリケーションがユーザ・アカウントに対してアドプションされるまでダウンロードされない。利用可能な更新がクライアント装置350にダウンロード及びインストールされると、スタブ・レシートは、アプリケーションが購入された時(すなわち、利用可能な更新がインストールされた日付)、アプリケーションを購入したユーザ及びアプリケーションが最初にインストールされた電子装置等の他のメタデータを含む実際のレシートで置換される。   In this example, the page update request 301 includes a stub receipt A 311 associated with the pre-install application 310, a stub receipt B 321 associated with the pre-install application 320, and an actual receipt 331 associated with the application 330. . Since the application 330 is purchased from the server 360 after the purchase of the client device 350, the application 330 includes an actual receipt. In response to the page update request 301, the server 360 generates an HTML 303 that informs the user whether the pre-install application 310, the pre-install application 320, or the application 330 has an available update downloaded from the server 360. To do. Available updates associated with a pre-installed application that is not adopted (ie, not linked or associated with a user account) will cause the pre-installed application to be added to the user account. It will not be downloaded until it is activated. When an available update is downloaded and installed on the client device 350, the stub receipt is displayed when the application is purchased (i.e., the date when the available update was installed) and the user and application that purchased the application first. Is replaced with an actual receipt that includes other metadata such as the electronic device installed.

別の種類のページ要求はページ購入要求302である。ページ購入要求302は、サーバ360に送信され、クライアント装置350のユーザにより購入されているアプリケーションのリストを要求する。要求に応答して、サーバ360は、クライアント装置350のユーザにより購入されているアプリケーション及び必要に応じてクライアント装置350にインストールされているアプリケーションをユーザに報知するように構成されたHTMLページ303を返送する。クライアント装置350に格納されない購入されたアプリケーションは、ダウンロード及びインストールされる。HTMLページ303は、アドプション(すなわち、ユーザ・アカウントとリンクすること、または関連付けること)可能なアプリケーションを更に含む。ユーザ・アカウントに関連付けられていないクライアント装置上のアプリケーションは、ページ更新要求301、またはページ購入要求302を介してアドプションのために選択される。未アドプションのアプリケーションは、要求におけるレシート、または他の形態の資格証明を送信し、アプリケーション、または所望のアプリケーションをクライアント装置にインストールする。   Another type of page request is a page purchase request 302. The page purchase request 302 is transmitted to the server 360 and requests a list of applications purchased by the user of the client device 350. In response to the request, the server 360 returns an HTML page 303 configured to notify the user of applications purchased by the user of the client device 350 and applications installed on the client device 350 as needed. To do. Purchased applications that are not stored on the client device 350 are downloaded and installed. The HTML page 303 further includes an application that can be adopted (ie, linked to or associated with a user account). Applications on the client device that are not associated with a user account are selected for adoption via a page update request 301 or a page purchase request 302. The unadopted application sends a receipt in the request, or other form of credentials, and installs the application or desired application on the client device.

ページ購入要求302はマニフェスト340を含む。マニフェスト340は、プリ・インストールアプリケーション、または別の方法で取得されたアプリケーションと関連付けられた情報を格納するように構成される。この情報は、アドプション可能なアプリケーションをユーザに報知するためにサーバ360により使用される。マニフェスト340は、クライアント装置350にアプリケーションのバージョン番号を格納するように構成されたリスト、テーブル、または他のデータ構造を含む。アプリケーションのバージョン番号は、アプリケーションと関連付けられたスタブ・レシート、または他のメタデータにおいて見つけられる。一例において、マニフェスト340は、クライアント装置350が起動して初めて生成される。例えばマニフェストは、後でマニフェストを生成するために使用されるスタブ・レシートに対してコンピュータを探索するためにクライアント装置上でスポットライト(すなわち、探索)機能を利用することにより、クライアント装置の第1のブート中に生成される。以下において説明するように、マニフェストは、アプリケーションをユーザ・アカウントとリンクする間、または電子装置の回復モード中にアクセスされる設定サーバに格納される。   The page purchase request 302 includes a manifest 340. Manifest 340 is configured to store information associated with pre-installed applications or otherwise obtained applications. This information is used by server 360 to inform the user of applications that can be adopted. The manifest 340 includes a list, table, or other data structure configured to store the version number of the application on the client device 350. The version number of the application can be found in the stub receipt associated with the application, or other metadata. In one example, the manifest 340 is generated only after the client device 350 is activated. For example, the manifest may utilize a spotlight (ie, search) function on the client device to search the computer for stub receipts that are later used to generate the manifest, thereby providing a first of the client device. Generated during boot. As described below, the manifest is stored on a configuration server that is accessed while linking the application with the user account or during the recovery mode of the electronic device.

この例において、クライアント装置350は、後でマニフェスト340を生成するために使用されるスタブ・レシート311及びスタブ・レシート321を配置するようにクエリされる。クライアント装置350の再フォーマット、または回復中、プリ・インストールアプリケーション及び別の方法で取得されたアプリケーションは、共にクライアント装置350から削除される。ユーザ・アカウントとリンクされているアプリケーションは、クライアント装置350に再ダウンロードされる。しかし、ユーザ・アカウントとリンクされていないプリ・インストールアプリケーションは、完全に失われる危険性がある。以下において更に詳細に説明するように、マニフェスト340は、未アドプションのアプリケーションの損失を防止する機構として機能する。アドプション可能なアプリケーションは、プリ・インストールアプリケーションがユーザ・アカウントとリンクされるか、或いは関連付けられるまでダウンロードされない。利用可能な更新がクライアント装置350にダウンロード及びインストールされると、マニフェスト340は、現在アドプションされているアプリケーションと関連付けられたスタブ・レシートを除去するように編集される。また、インストールされたアプリケーションは実際のレシートを含む。いくつかの例において、HTMLページ303の処理及び検索を伴うページ更新要求301及びページ購入要求302の生成は、クライアント装置350にインストールされたアプリケーション管理プログラム(不図示)により管理され、処理される。アプリケーション管理プログラムは、製造業者により自社開発され、特に製造業者に属するサーバと通信するように構成される。   In this example, the client device 350 is queried to place a stub receipt 311 and a stub receipt 321 that are later used to generate the manifest 340. During the reformatting or recovery of the client device 350, both the pre-installed application and the application obtained by another method are deleted from the client device 350. The application linked to the user account is re-downloaded to the client device 350. However, pre-installed applications that are not linked to a user account are at risk of being completely lost. As described in more detail below, manifest 340 functions as a mechanism to prevent loss of unadopted applications. Adoptable applications are not downloaded until the pre-installed application is linked or associated with a user account. As available updates are downloaded and installed on client device 350, manifest 340 is edited to remove the stub receipt associated with the currently applied application. The installed application includes an actual receipt. In some examples, the processing of the HTML page 303 and the generation of the page update request 301 and the page purchase request 302 accompanied by the search are managed and processed by an application management program (not shown) installed in the client device 350. The application management program is developed in-house by the manufacturer and is specifically configured to communicate with a server belonging to the manufacturer.

クライアント−サーバシステム300は、クライアント装置350により取得されるが、ユーザ・アカウントに関連付けられない(例えば、贈与、購入されるがユーザ・アカウントにリンクされないか、或いは他の手段を介してクライアント装置に配信される)アプリケーションを更にアドプションする。一例として、取得されたアプリケーションは、ページ更新要求、ページ購入要求、または他のページ要求を介してユーザ・アカウントとリンクされる。要求は、スタブ・レシート、或いはスタブ・レシートと関連付けられたメタデータ、またはスタブ・レシートから導出されたメタデータを含む。別の例として、未アドプションのアプリケーション(すなわち、まだユーザ・アカウントとリンクされていないアプリケーション)がクライアント装置350により取得される場合、マニフェスト340は更新される。   The client-server system 300 is acquired by the client device 350 but is not associated with a user account (eg, gifted, purchased but not linked to a user account, or to the client device via other means). Adopt more applications to be delivered. As an example, the acquired application is linked to a user account via a page update request, a page purchase request, or other page request. The request includes a stub receipt, metadata associated with the stub receipt, or metadata derived from the stub receipt. As another example, if an unadopted application (ie, an application that has not yet been linked to a user account) is obtained by client device 350, manifest 340 is updated.

図4は、ページ更新要求を処理する例示的な方法を示す。クライアント及びサーバにより実行された動作を示す方法400は、ページ更新要求中にクライアントとサーバとの通信を管理するように構成される。サーバにより実行された動作は、配信センター上に格納された配信プログラム、またはサーバ側に配置された他の構成要素により実行され、クライアントにより実行された動作は、クライアントの電子装置上に格納されたアプリケーション管理プログラムにより実行される。方法400は、クライアント装置により供給されたグラフィックスユーザインタフェースにおいてユーザが更新タブ・リンクを選択することから開始する。例示的な更新タブ・リンクは、図5のリンク451である。クライアントは、ページ更新に対するユーザ要求を受信すると(401)、クライアント装置にインストールされたアプリケーションと関連付けられたレシート、または他の形態の資格証明に対してクライアント装置をクエリ、或いは探索する(403)。他の例において、クエリは、ユーザ対話なしで自動的に開始する。例えばサーバは、所定の時間間隔、または時点でクライアントと通信することでクエリを開始する。探索は、クライアント装置のオペレーティングシステム、或いはクライアント装置上に格納されたアプリケーション、またはルーチンと関連付けられた機能性を使用して実行される。見つけられるレシート、またはレシートのコピーは、サーバに送信される(405)。レシートは、例えばイーサネット、インターネット及びローカルエリアネットワーク等のあらゆる通信ネットワークを介して転送される。サーバは、レシートを受信し、レシートと関連付けられたアプリケーションが更新を有するかを判定する(407)ようにレシートを処理する。これは、図2のアプリケーション・データベース220等のアプリケーション・データベースにアクセスし、レシートのバージョン番号をアプリケーション・データベースに格納されたアプリケーションのバージョン番号と比較することを含む。これは、クライアント装置にインストールされたアプリケーションがサーバにより配信されるように構成されることを判定することにより、アプリケーションがアドプションの対象となること検証することを更に含む。いくつかの実施形態において、サーバは、アプリケーションがこの時点で以前にアドプションされていないこと更に検証する。これは、インストールされたアプリケーションのコピーを一意的に識別する一意的識別子を検索する(サーバ、またはクライアントから)ステップ及び一意的識別子がいずれのユーザ・アカウントとも関連付けられていないこと検証するステップを含む。更新を含むアプリケーションのリストは、HTMLページを生成する(408)ために、或いはデスクトップアプリケーション、またはスマートフォンアプリケーション等の他の何らかのユーザインタフェースを操作するために使用される。HTMLページは、利用可能な更新を含むアプリケーションに関する情報を含む。この情報は、アプリケーションの元の購入日、アプリケーションの記述及び更新されたアプリケーションにおける変更、または修正の記述を含む。HTMLは、1つ以上のアプリケーションが更新を有するか、或いはアドプション可能であることをクライアントに通知するようにクライアントに送出される通知の一例にすぎない。その後サーバは、HTMLページをクライアントに送信する(409)。いくつかの例において、サーバは、クライアントがレシートを送信した同一のチャネルを介してHTMLページを送信する。サーバは、HTMLページをクライアントにプリパッケージ及び送信するのではなく、ローカルでインストールされたクライアントアプリケーションを更新するのに十分な情報をクライアントに送信する。   FIG. 4 illustrates an exemplary method for processing a page update request. The method 400 illustrating the operations performed by the client and server is configured to manage communication between the client and server during a page update request. Operations performed by the server are performed by a distribution program stored on the distribution center or other components located on the server side, and operations performed by the client are stored on the client's electronic device It is executed by an application management program. The method 400 begins with the user selecting an update tab link in a graphics user interface supplied by the client device. An exemplary update tab link is link 451 of FIG. When the client receives a user request for a page update (401), the client queries or searches the client device for a receipt associated with an application installed on the client device, or other form of credentials (403). In other examples, the query starts automatically without user interaction. For example, the server initiates a query by communicating with the client at a predetermined time interval or point in time. The search is performed using functionality associated with the operating system of the client device, or an application or routine stored on the client device. The receipt found or a copy of the receipt is sent to the server (405). Receipts are transferred via any communication network such as Ethernet, the Internet, and a local area network. The server receives the receipt and processes the receipt to determine if the application associated with the receipt has an update (407). This includes accessing an application database, such as application database 220 of FIG. 2, and comparing the receipt version number to the application version number stored in the application database. This further includes verifying that the application is subject to adoption by determining that the application installed on the client device is configured to be delivered by the server. In some embodiments, the server further verifies that the application has not been previously adopted at this point. This includes searching for a unique identifier that uniquely identifies a copy of the installed application (from a server or client) and verifying that the unique identifier is not associated with any user account. . The list of applications including updates is used to generate 408 HTML pages or to manipulate some other user interface such as a desktop application or a smartphone application. The HTML page contains information about the application including available updates. This information includes the original purchase date of the application, a description of the application and a description of changes or modifications in the updated application. HTML is just one example of a notification sent to the client to notify the client that one or more applications have updates or are available for adoption. Thereafter, the server transmits an HTML page to the client (409). In some examples, the server sends an HTML page over the same channel that the client sent the receipt. Rather than pre-packaging and sending an HTML page to the client, the server sends enough information to the client to update the locally installed client application.

図5は、オンラインストア、またはオンライン市場においてアドプションされているか、或いはユーザのアカウントと関連付けられているプリ・インストールアプリケーションに対するページ更新要求と関連付けられたHTMLページの一例を示す。HTMLページ450は、ページ更新を要求するためにユーザにより選択される更新(Updates)リンク451を含む。更新リンク451は、「特集」、「トップチャート」、「カテゴリ」及び「購入」等の他のリンクと共にメニューバー上に配置され、ユーザがアプリケーション管理プログラムの種々の機能にアクセスするための便利で迅速な方法を提供する。いくつかの例において、更新リンク451を示すアイコンは、利用可能な更新を有するクライアント装置に格納されたアプリケーションの数を規定する数を含む。アイコンの数は、ユーザがサーバとクライアント装置との定期的な通信を通して更新タブ・リンク451を選択する前に生成される。   FIG. 5 shows an example of an HTML page associated with a page update request for a pre-installed application that is advertized in an online store or online marketplace or associated with a user account. The HTML page 450 includes an Updates link 451 that is selected by the user to request a page update. The update link 451 is arranged on the menu bar together with other links such as “Special Feature”, “Top Chart”, “Category” and “Purchase”, and is convenient for the user to access various functions of the application management program. Provide a quick way. In some examples, the icon indicating the update link 451 includes a number that defines the number of applications stored on the client device that have available updates. The number of icons is generated before the user selects the update tab link 451 through periodic communication between the server and the client device.

例えばクライアント装置は、定期的にサーバと通信し、利用可能な更新を有する格納されたアプリケーションの最新のバージョン番号を検索する。この例において、更新リンク451が選択されており、利用可能な更新を含む1つのアプリケーションは、HTMLページ450内に提示される。1つのアプリケーションは、アプリケーションを記述するアプリケーション記述457を提示される。アプリケーション記述457は、アプリケーションの名前、アプリケーションの作成者、アプリケーションのバージョン番号、アプリケーションのリリース日、またはアプリケーションと関連付けられた他の情報を含む。アプリケーション記述457は、アイデンティティをアプリケーションに提供するアイコン455及びこのアプリケーションの更新バージョンにおいて実現された変更の概要459を更に含む。これによりユーザに情報を提供するため、ユーザは、十分に情報を得た上で更新したいかの判断を行うことができる。HTMLページ450は、ユーザがアプリケーション更新を受信したいかを選択できる選択可能なリンク461を更に含む。利用可能な更新の数は表題453に表示される。表題453は、ユーザが利用可能な更新の数を迅速に判定できる別の便利な場所を提供するように構成される。いくつかの例において、HTMLページ450は、利用可能な更新を有する全てのアプリケーションを更新する表題453に隣接する選択可能なリンクを更に含む。   For example, the client device periodically communicates with the server to retrieve the latest version number of the stored application that has available updates. In this example, update link 451 has been selected and one application containing available updates is presented in HTML page 450. One application is presented with an application description 457 that describes the application. Application description 457 includes the name of the application, the creator of the application, the version number of the application, the release date of the application, or other information associated with the application. The application description 457 further includes an icon 455 that provides identity to the application and a summary of changes 459 implemented in the updated version of the application. Thus, since the information is provided to the user, the user can determine whether or not to update the information after sufficiently obtaining the information. The HTML page 450 further includes a selectable link 461 that allows the user to select whether they want to receive application updates. The number of available updates is displayed in title 453. Title 453 is configured to provide another convenient place where a user can quickly determine the number of updates available. In some examples, the HTML page 450 further includes a selectable link adjacent to the title 453 that updates all applications that have available updates.

図4に戻ると、クライアントは、送信されたHTMLを受信し、HTMLページをユーザに提示する(411)。図5で説明したように、HTMLページは、利用可能な更新を含むアプリケーション、アプリケーションの記述及びアプリケーションの更新を許可するようにユーザにより選択可能な1つ以上のリンクを一覧表示するグラフィカルユーザインタフェースを提示する。クライアントは、ユーザ認証を受信し、アプリケーションを更新する(413)。ユーザ認証が受信されている場合、クライアントは、アプリケーションが更新される前にアドプションを必要とするかを判定する(415)。これは、レシートがスタブ・レシートであるかを判定するためにクライアントにインストールされたアプリケーションのレシートをチェックすることを含む。レシートがスタブ・レシートである場合、スタブ・レシートと関連付けられたアプリケーションは、潜在的にまだユーザ・アカウントに対してアドプションされていないプリ・インストールアプリケーションである。従って、ユーザ認証が必要であり、クライアントは、ユーザ・アカウントに対してアプリケーションをアドプションするか、または関連付けるためにユーザ認証を要求する(417)ユーザにHTMLページを提示する。ユーザ認証は、通信ネットワークを介して個人情報を送信することを含む。プライバシーの理由から、HTMLページは、認証処理中に個人情報が送出されることをユーザに報知し、通信ネットワークを介してこの個人情報を送信するための許可を要求する。   Returning to FIG. 4, the client receives the transmitted HTML and presents the HTML page to the user (411). As described in FIG. 5, the HTML page provides a graphical user interface that lists the applications that contain available updates, a description of the application, and one or more links that can be selected by the user to allow application updates. Present. The client receives the user authentication and updates the application (413). If user authentication has been received, the client determines whether the application requires an admission before being updated (415). This includes checking the receipt of the application installed on the client to determine if the receipt is a stub receipt. If the receipt is a stub receipt, the application associated with the stub receipt is a pre-installed application that is potentially not yet applied to the user account. Accordingly, user authentication is required and the client presents an HTML page to the user requesting (417) user authentication to adopt or associate the application to the user account. User authentication includes transmitting personal information over a communication network. For privacy reasons, the HTML page informs the user that personal information will be sent during the authentication process and requests permission to transmit this personal information over the communication network.

図6は、アプリケーションをアドプションするためにユーザ認証を要求するHTMLページの一例を示すもので、このアプリケーションは、コンピュータ装置の購入と共に一括して販売され、及び/またはプリ・インストールされていたかも知れないものである。HTMLページ470は、利用可能な更新を含む4つのアプリケーションをユーザに提示するページ更新である。従って、更新(Updates)リンク471のアイコンは数「4」を含む。この例において、ユーザは、「全て更新」(UPDATE ALL)リンク475を介して全てのアプリケーションを更新することを選択した。しかし、他の例において、ユーザは、更新リンク476、477、478、または479のうちの1つを選択することで単一のアプリケーションを更新することを更に選択することができる。利用可能な更新を含むアプリケーションは、プリ・インストールアプリケーション472及び購入したアプリケーション473を含む。いくつかの例において、この段階においてプリ・インストールアプリケーション及び購入したアプリケーションの提示に差はない。しかし、ユーザがプリ・インストールされたアプリケーション、またはユーザ・アカウントとリンクされていないアプリケーションを更新することを選択すると、HTMLページ470は、プロンプト480をユーザに提示することができる。図7において、プロンプト480を更に詳細に説明する。   FIG. 6 shows an example of an HTML page that requires user authentication to adopt an application, which may have been sold together and / or pre-installed with the purchase of a computer device. It is unknown. The HTML page 470 is a page update that presents the user with four applications including available updates. Accordingly, the icon of the Updates link 471 includes the number “4”. In this example, the user has chosen to update all applications via the “UPDATE ALL” link 475. However, in other examples, the user may further choose to update a single application by selecting one of the update links 476, 477, 478, or 479. Applications that include available updates include pre-installed applications 472 and purchased applications 473. In some examples, there is no difference in the presentation of pre-installed applications and purchased applications at this stage. However, if the user chooses to update a pre-installed application or an application that is not linked to a user account, the HTML page 470 can present a prompt 480 to the user. In FIG. 7, prompt 480 is described in further detail.

図7は、アプリケーションをアドプションするためにユーザ認証を要求するHTMLページの別の例を示す。認証プロンプトとしても既知であるプロンプト480は、コンピュータにプリ・インストールされておらず且つ場合によってはユーザ・アカウントに関連付けられていないか、或いはユーザ・アカウントに関連付けられていない取得されただけのアプリケーションを更新することをユーザが選択すると、ユーザに提示される。この例において、プロンプト480は、アイコン481、ログイン482、パスワード483、パスワード支援484、記述485、ヘルプリンク486、アカウント作成487、キャンセル488及びサインイン489を含む。記述485は、ユーザがアプリケーションを更新したい場合には、この電子装置上にプリ・インストール(すなわち、一括販売(バンドル))されたアプリケーションがユーザ・アカウントに関連付けられることを報知するテキスト情報を提供する。この記述485は、アプリケーションをアドプションするために、電子装置と関連付けられた一意的ハードウェア識別子がサーバに送出され、アプリケーションアドプションが許可されるべきかを判定することをユーザに更に報知する。アイコン481は、アプリケーション管理プログラムのアプリケーション更新機能をブランド化するために使用される。ログイン482及びパスワード483は、ユーザがプリ・インストールアプリケーションを関連付けたいユーザ・アカウントを指定する。パスワード支援484は、パスワードに支援を必要とするユーザにより選択される。所望のユーザ・アカウント及び正しいパスワードが入力されると、ユーザは、サインイン489を選択することでアドプション処理を開始する。ユーザは、ユーザ・アカウントを有さないか、或いはプリ・インストールアプリケーションを新しいアカウントと関連付けたい場合、アカウント作成487を選択する。ユーザは、アプリケーションをキャンセルし、更新したくない場合、キャンセル488を選択する。ユーザは、上述のあらゆる要素に関するより詳細な記述を望む場合、ヘルプリンク486を選択する。電子装置にプリ・インストールされていないが、電子装置により別に取得されるアプリケーションを関連付けるためにHTMLページがユーザ認証を要求している他の例において、記述485は、適切なメッセージをユーザに搬送するように変更される。例えば記述485は、「今後の更新を受信するため、アプリケーション「X」、「Y」及び「Z」がこのapple IDに割り当てられます。コンピュータに格納された一意的識別子は、資格を検証するためにAppleに送出されなければなりません」と記載する。   FIG. 7 shows another example of an HTML page that requires user authentication to adopt an application. Prompt 480, also known as an authentication prompt, refers to a just-obtained application that is not pre-installed on a computer and possibly not associated with a user account or associated with a user account. When the user selects to update, it is presented to the user. In this example, prompt 480 includes icon 481, login 482, password 483, password assistance 484, description 485, help link 486, account creation 487, cancel 488 and sign-in 489. Description 485 provides text information that informs that an application pre-installed (ie bundled) on this electronic device is associated with the user account if the user wants to update the application. . This description 485 further informs the user that the unique hardware identifier associated with the electronic device is sent to the server to determine whether the application admission should be allowed to adopt the application. Icon 481 is used to brand the application update function of the application management program. Login 482 and password 483 specify the user account that the user wishes to associate with the pre-installed application. Password assistance 484 is selected by a user who needs assistance with the password. Once the desired user account and correct password are entered, the user begins the admission process by selecting sign-in 489. If the user does not have a user account or wishes to associate the pre-installed application with a new account, the user selects Create Account 487. If the user cancels the application and does not want to update, the user selects cancel 488. The user selects help link 486 if he wants a more detailed description of any of the elements described above. In another example where the HTML page requires user authentication to associate an application that is not pre-installed on the electronic device but is otherwise acquired by the electronic device, description 485 carries the appropriate message to the user. Will be changed as follows. For example, description 485 states that “applications“ X ”,“ Y ”and“ Z ”are assigned to this applet ID to receive future updates. The unique identifier stored on the computer must be sent to Apple to verify the credentials. "

図4に戻ると、クライアントは、ユーザ認証を受信し、アプリケーションをアドプションする(419)。このユーザ認証は、図7で説明したようなクライアントにより提示されたプロンプトにユーザ・アカウント及びパスワードを入力するユーザにより受信できる。クライアントは、ユーザ認証を受信すると、アプリケーションのアドプションに進む(421)。アプリケーションをユーザ・アカウントに対してアドプションする例示的な処理を図12において以下に説明する。いくつかの例において、全てのプリ・インストールアプリケーションは、同時にユーザ・アカウントに関連付けられなければならない。従って、ユーザは、ある電子装置と関連付けられた1つのプリ・インストールアプリケーションを1つのユーザ・アカウントと選択的にリンクすることはできず、その電子装置と関連付けられた別のプリ・インストールアプリケーションを別のユーザ・アカウントと選択的にリンクできない。プリ・インストールアプリケーションがアドプションされているサーバを通知するのに電子装置と関連付けられた一意的ハードウェア識別子で十分であるため、電子装置上で全てのプリ・インストールアプリケーションを同時にアドプションすることにより、アドプション処理を管理する計算オーバヘッドを簡略化する。他の例において、電子装置上のプリ・インストールアプリケーションは、選択的に多数のアカウントと関連付けられる。従って、第1のプリ・インストールアプリケーションは第1の電子装置と関連付けられ、第2のプリ・インストールアプリケーションは第2の電子装置と関連付けられる。しかし、サーバ上でプリ・インストールアプリケーションを管理するには、電子装置の一意的ハードウェア識別子及びアドプションされているプリ・インストールアプリケーションを格納する必要がある。これらの例は、電子装置の購入とは別に取得されるアプリケーションにも適用可能である。例えば、電子装置にインストール及び贈与されたアプリケーションが大量の場合には、個々に、またはグループとしてユーザ・アカウントに関連付けられる。   Returning to FIG. 4, the client receives user authentication and adopts the application (419). This user authentication can be received by a user entering a user account and password at the prompt presented by the client as described in FIG. When the client receives the user authentication, the client proceeds to the application application (421). An exemplary process for applying an application to a user account is described below in FIG. In some examples, all pre-installed applications must be associated with a user account at the same time. Thus, a user cannot selectively link one pre-installed application associated with an electronic device to one user account, and cannot separate another pre-installed application associated with the electronic device. Cannot selectively link with other user accounts. By simultaneously applying all pre-installed applications on the electronic device, the unique hardware identifier associated with the electronic device is sufficient to notify the server to which the pre-installed application has been applied. Simplify the computational overhead of managing the admission process. In other examples, pre-installed applications on the electronic device are selectively associated with multiple accounts. Accordingly, the first pre-install application is associated with the first electronic device and the second pre-install application is associated with the second electronic device. However, managing a pre-installed application on the server requires storing the unique hardware identifier of the electronic device and the pre-installed application that has been adopted. These examples are also applicable to applications acquired separately from the purchase of electronic devices. For example, if a large number of applications are installed and gifted on an electronic device, they are associated with a user account individually or as a group.

図8は、ページ購入要求を処理する例示的な方法を示す。方法500は、クライアント及びサーバにより実行される動作を示すものであり、この方法500は、ページ購入要求中にクライアントとサーバとの通信を管理するように構成される。サーバにより実行される動作は、配信センター上に格納された配信プログラム、またはサーバ側に配置された他の構成要素により実行される一方、クライアントにより実行される動作は、クライアント側の電子装置上に格納されたアプリケーション管理プログラムにより実行される。いくつかの例において、配信センター上に格納された配信プログラム及び電子装置上に格納されたアプリケーション管理プログラムは、ページ更新要求中に図4の方法400を更に実行するように構成される。方法500は、クライアント装置により供給されたグラフィックスユーザインタフェースにてユーザが購入タブ・リンクを選択することから開始する。例示的な購入タブ・リンクは、図9のリンク551である。クライアントは、ページ購入に対するユーザ要求を受信すると(501)、アプリケーション情報に対して探索、またはクエリを実行する。この例示的な方法において、アプリケーション情報は、マニフェスト及び/またはレシートを含む(503)。他の例において、アプリケーション情報は、ユーザ・アカウントに関連付けられていないアプリケーション、またはソフトウェアパッケージを含む。ユーザ・アカウントは、ソフトウェアパッケージの所有権を有する。所有権は、デジタルレシート等の資格証明である。いくつかの例において、マニフェストは、図3のマニフェスト340と同様であるか、或いはほぼ同様である。探索、またはクエリは、クライアント上で使用可能な1つ以上のプログラム、または機能により実行されtでもよい。マニフェスト、レシート(実際のとスタブのレシート)、並びにユーザ・アカウント情報等(例えば、まだアドプションされていないアプリケーションに対する資格証明、または所有権)を含むアプリケーション情報は、いくつかの例において、ソフトウェア・アドプション要求としてサーバに送信される(505)。アプリケーション情報は、インストールされているアプリケーション、インストール可能なアプリケーション及びアドプションされるアプリケーションをユーザに報知するページ購入を生成するためにサーバに送信される(505)。送信されるアプリケーション情報は、ユーザがクライアント上にサインインしているかに依存する。例えばユーザ・アカウント情報は、アクセス可能であり、ユーザがクライアント上にサインインされる場合にアプリケーション情報の一部として送信される。上述したように、ユーザ・アカウント情報は、ユーザ・アカウントに関連付けられたアプリケーションに関する情報を含む。同様に、レシートは、クライアントが実行している電子装置と関連付けられたアプリケーションに関する情報を含む。マニフェストは、電子装置に元々プリ・インストールされていたアプリケーションの情報、或いはユーザが所有権を有するがユーザ装置にインストールされていないか、またはユーザ・アカウントに関連付けられていないアプリケーションの情報を含む。他の種類のアプリケーション情報がページ購入を生成するためにサーバに更に送信されるため、これらは、例示的な種類のアプリケーション情報にすぎない。   FIG. 8 illustrates an exemplary method for processing a page purchase request. Method 500 illustrates operations performed by a client and a server, and the method 500 is configured to manage communication between the client and server during a page purchase request. Operations performed by the server are performed by a distribution program stored on the distribution center or other components located on the server side, while operations performed by the client are performed on the electronic device on the client side. It is executed by the stored application management program. In some examples, the distribution program stored on the distribution center and the application management program stored on the electronic device are configured to further perform the method 400 of FIG. 4 during a page update request. The method 500 begins with the user selecting a purchase tab link in a graphics user interface supplied by the client device. An exemplary purchase tab link is link 551 of FIG. When the client receives a user request for page purchase (501), the client searches or queries the application information. In this exemplary method, the application information includes a manifest and / or a receipt (503). In other examples, the application information includes an application or software package that is not associated with a user account. The user account has ownership of the software package. Ownership is a credential such as a digital receipt. In some examples, the manifest is similar or substantially similar to manifest 340 of FIG. The search or query may be performed by one or more programs or functions available on the client. Application information, including manifests, receipts (actual and stub receipts), and user account information, etc. (e.g., credentials or ownership for applications that have not yet been adopted) It is transmitted to the server as an admission request (505). The application information is sent to the server to generate a page purchase that informs the user of installed applications, installable applications, and applications to be adopted (505). The application information sent depends on whether the user is signed in on the client. For example, user account information is accessible and is sent as part of the application information when the user is signed in on the client. As described above, the user account information includes information regarding the application associated with the user account. Similarly, the receipt includes information about the application associated with the electronic device that the client is executing. The manifest includes information about applications that were originally pre-installed on the electronic device, or information about applications that the user has ownership but is not installed on the user device or associated with a user account. Since other types of application information are further transmitted to the server to generate page purchases, these are only exemplary types of application information.

サーバは、送信されたアプリケーション情報(すなわち、マニフェスト、レシート、ユーザ・アカウント及び他のユーザ・アカウント情報)を受信し、受信した情報に基づいてアプリケーションの1つ以上のリストを作成する(507)。アプリケーションリスト及びアプリケーションリストを作成するために使用された処理は、受信した情報に依存して変動する。第1のアプリケーションリストは、クライアントの電子装置にインストールされるアプリケーションを含む。第2のアプリケーションリストは、ユーザ・アカウントに関連付けられるアプリケーションを含み、クライアントの電子装置にインストールされる。第3のアプリケーションリストは、場合によってはユーザ・アカウントとリンクされるアプリケーションを含む。第3のリストのアプリケーションは、クライアントの電子装置にプリ・インストールされたアプリケーション、並びに/或いはクライアントが所有権を有するが、アドプション、またはインストールしていないアプリケーションを含む。また、他のアプリケーションリストは、ユーザ・アカウントに関連付けられていない購入されるか、または別の方法で取得されるなどして生成されたアプリケーションである。サーバが受信したアプリケーション情報に依存して、上述のアプリケーションリストのうちの1つ以上が作成される。いくつかの例において、アプリケーションリストの作成は、図2のアプリケーション・データベース220等のアプリケーション・データベースにアクセスすることを含む。サーバは、作成されたアプリケーションリストに基づいてHTMLページを生成する(508)。HTMLページの生成は、アプリケーション・データベースにアクセスし、アプリケーションリストのアプリケーションと関連付けられたメタデータを受信することを含む。例えばメタデータは、アプリケーションの名前、アプリケーションの記述、アプリケーションのバージョン番号、アプリケーションの購入日及びアプリケーションと関連付けられたイメージ等を含む。HTMLページが生成されると、サーバは、HTMLページをクライアントに送信する(509)。クライアントは、次にHTMLページをユーザに提示する(511)。ユーザがクライアント上にサインインしているかに依存して、異なる情報をユーザに提示する。   The server receives the transmitted application information (ie, manifest, receipt, user account, and other user account information) and creates one or more lists of applications based on the received information (507). The application list and the process used to create the application list vary depending on the information received. The first application list includes applications installed on the client electronic device. The second application list includes applications associated with the user account and is installed on the client electronic device. The third application list includes applications that are sometimes linked with user accounts. The third list of applications includes applications pre-installed on the client's electronic device and / or applications that the client has ownership of, but is not adopted or installed. In addition, the other application list is an application generated by being purchased or otherwise obtained without being associated with the user account. Depending on the application information received by the server, one or more of the application lists described above are created. In some examples, creating the application list includes accessing an application database, such as application database 220 of FIG. The server generates an HTML page based on the created application list (508). Generation of the HTML page includes accessing an application database and receiving metadata associated with the application in the application list. For example, the metadata includes an application name, an application description, an application version number, an application purchase date, an image associated with the application, and the like. When the HTML page is generated, the server transmits the HTML page to the client (509). The client then presents the HTML page to the user (511). Depending on whether the user is signed in on the client, different information is presented to the user.

図9は、ユーザがサインインしていない場合にページ購入要求と関連付けられたHTMLページの一例を示す。この例において、HTMLページ550は、アドプション可能なアプリケーションのリスト557をユーザに提示する。アドプション可能な3つのアプリケーションのうち、アプリケーション「iMovie」及び「GarageBand」は、それぞれ文章558及び559により示されるように利用可能な更新(Update Available)を有する。HTMLページ550は購入リンク551を含む。いくつかの例において、購入リンク551は、図5の更新リンク451と同様に、またはほぼ同様に機能する。HTMLページ550は、アドプション可能なアプリケーションの数をユーザに報知するヘッドライン553を更に含む。記述555は、ユーザがアプリケーションをアドプションしたいか否かを判定するのを支援することを期待してアドプション処理の説明をユーザに提供する。HTMLページ550は、ユーザ・アカウントに関連付けられる購入(purchases)に関する情報を受信するためにユーザ・アカウントにサインインしなければならないことをユーザに報知する命令552を更に含む。この例において、HTMLページ550は、ユーザにより選択される場合にアドプション処理を開始する1つの承諾(ACCEP)リンク554を含む。他の例において、HTMLページ550がアドプション可能なアプリケーション毎に承諾リンクを含むため、ユーザは、アドプション可能な単一のアプリケーション、アドプション可能な複数のアプリケーション、またはアドプション可能な全てのアプリケーションを承諾することを選択できる。ユーザは、タッチスクリーン、マウスクリック、キーボード、または他のユーザ入力装置を介して承諾リンク554を選択する。   FIG. 9 shows an example of an HTML page associated with a page purchase request when the user is not signed in. In this example, HTML page 550 presents a list 557 of applications that can be adopted to the user. Of the three applications that can be adopted, the applications “iMovie” and “GarageBand” have available updates (Update Available) as indicated by sentences 558 and 559, respectively. The HTML page 550 includes a purchase link 551. In some examples, purchase link 551 functions in a manner similar to or substantially similar to update link 451 of FIG. The HTML page 550 further includes a headline 553 that informs the user of the number of applications that can be adopted. Description 555 provides the user with an explanation of the admission process in the hope that it will assist the user in determining whether he wants to adopt the application. The HTML page 550 further includes instructions 552 that inform the user that they must sign in to the user account to receive information regarding purchases associated with the user account. In this example, HTML page 550 includes one acceptance (ACCEP) link 554 that initiates the admission process when selected by the user. In other examples, the HTML page 550 includes a consent link for each application that can be adopted, so that the user can adopt a single application that can be adopted, multiple applications that can be adopted, or all applications that can be adopted. You can choose to accept The user selects the consent link 554 via a touch screen, mouse click, keyboard, or other user input device.

図10は、ユーザがサインインしている場合にページ購入要求と関連付けられたHTMLページの別の例を示す。HTMLページ560は、2つのアプリケーションリストをユーザに提示する。この例において、アプリケーションリスト562の提示はアドプション可能なアプリケーションを含み、アプリケーションリスト564の提示は以前に購入されているアプリケーションを含む。2つのアプリケーションリストは、HTMLページ560の独立した別個の部分において提示される。アプリケーションリスト564の提示は、アプリケーションの名前、アプリケーションと関連付けられたイメージ、ソフトウェアメーカ、購入日及び状況566等の以前に購入されたアプリケーションと関連付けられたメタデータを含む。状況566は、購入されたアプリケーションの現在の状態を表示するように構成される。例えば、アプリケーションが現在クライアントの電子装置にインストールされている場合、状況566は「インストール済状態」である。状況566は、この状態の場合に文章「インストール済」を表示するように構成される。この例において、購入された4つのアプリケーションは、全てクライアントの電子装置にインストールされる。別の例として、アプリケーションが購入されるが、クライアントの電子装置にインストールされない場合、状況566は「インストール状態」である。例えばアプリケーションは、この装置にダウンロードされていないか、或いは選択的に装置から削除されている。状況566は、この状態の場合に文章「インストール」を表示するように構成される。更に状況566は、「インストール状態」の場合にユーザが選択可能なリンクを含む。ユーザが選択可能なリンクを選択する結果、アプリケーションは、電子装置にダウンロード及びインストールされる。   FIG. 10 shows another example of an HTML page associated with a page purchase request when the user is signed in. The HTML page 560 presents two application lists to the user. In this example, presentation of application list 562 includes applications that can be adopted, and presentation of application list 564 includes previously purchased applications. The two application lists are presented in separate and separate parts of the HTML page 560. The presentation of application list 564 includes metadata associated with previously purchased applications such as the name of the application, the image associated with the application, software manufacturer, purchase date and status 566. Status 566 is configured to display the current status of the purchased application. For example, if the application is currently installed on the client's electronic device, status 566 is “installed state”. The situation 566 is configured to display the sentence “Installed” in this state. In this example, all four purchased applications are installed on the client's electronic device. As another example, if the application is purchased but not installed on the client's electronic device, status 566 is “installed”. For example, the application has not been downloaded to this device or has been selectively deleted from the device. The situation 566 is configured to display the sentence “install” in this state. Furthermore, the status 566 includes a link that can be selected by the user in the case of “installed status”. As a result of the user selecting a selectable link, the application is downloaded and installed on the electronic device.

図8に戻ると、クライアントは、アプリケーションをアドプションする要求としてユーザ入力を受信する(513)。いくつかの例において、ユーザ入力は、図9の承諾リンク554を選択することである。クライアントは、アプリケーションをユーザ・アカウントにリンクするためにユーザ認証を要求する(515)。アプリケーションをユーザ・アカウントにリンクするためにユーザ認証を要求する認証プロンプトを含むHTMLページの一例を図11に示す。   Returning to FIG. 8, the client receives user input as a request to adopt the application (513). In some examples, the user input is to select the accept link 554 of FIG. The client requests user authentication to link the application to the user account (515). An example HTML page containing an authentication prompt requesting user authentication to link an application to a user account is shown in FIG.

図11は、認証プロンプトを含むページ購入要求と関連付けられたHTMLページの別の例を示す。ユーザがプリ・インストールアプリケーションのアドプションを承諾することを選択する場合、HTMLページ570は認証プロンプト575を含む。認証プロンプト575は、サーバから送信されたHTMLページの一部として含まれ、ユーザがプリ・インストールアプリケーションのアドプションを承諾することを選択した後でユーザに提示される。いくつかの例において、認証プロンプト575は、図7の認証プロンプト480と同一であるか、或いはほぼ同様である。   FIG. 11 shows another example of an HTML page associated with a page purchase request that includes an authentication prompt. If the user chooses to accept the pre-installed application admission, the HTML page 570 includes an authentication prompt 575. An authentication prompt 575 is included as part of the HTML page sent from the server and is presented to the user after the user chooses to accept the pre-installed application admission. In some examples, authentication prompt 575 is identical or substantially similar to authentication prompt 480 of FIG.

図8に戻ると、クライアントは、ユーザ認証を受信し、アプリケーションをユーザ・アカウントにリンクする。ユーザ・アカウントは、ユーザ認証中に入力されるユーザ・アカウントである。例えばユーザは、アプリケーションに関連付けられるユーザ・アカウントのユーザ名及びパスワードを入力する。クライアントは、ユーザ認証を受信した後、アプリケーションのアドプションに進む(519)。アプリケーションをユーザ・アカウントに対してアドプションする例示的な処理を図12において以下に説明する。いくつかの例において、全てのプリ・インストールアプリケーションは、同時にユーザ・アカウントに関連付けられなければならない。従って、ユーザは、電子装置と関連付けられた1つのプリ・インストールアプリケーションを1つのユーザ・アカウントと選択的にリンクできず、電子装置と関連付けられた別のプリ・インストールアプリケーションを別のユーザ・アカウントと選択的にリンクできない。プリ・インストールアプリケーションがアドプションされていることをサーバを通知するには電子装置と関連付けられた一意的ハードウェア識別子で十分であるため、電子装置上で全てのプリ・インストールアプリケーションを同時にアドプションすることにより、アドプション処理を管理する際の計算オーバヘッドは簡略化される。電子装置上のプリ・インストールアプリケーションが選択的に多数のアカウントと関連付けられる他の例において、サーバ上でプリ・インストールアプリケーションを管理するには、電子装置の一意的ハードウェア識別子に加えてアドプションされているプリ・インストールアプリケーションを格納する必要がある。   Returning to FIG. 8, the client receives the user authentication and links the application to the user account. The user account is a user account that is input during user authentication. For example, the user enters a user name and password for a user account associated with the application. After receiving the user authentication, the client proceeds to the application application (519). An exemplary process for applying an application to a user account is described below in FIG. In some examples, all pre-installed applications must be associated with a user account at the same time. Thus, a user cannot selectively link one pre-installed application associated with an electronic device with one user account and another pre-installed application associated with the electronic device with another user account. Cannot selectively link. Since the unique hardware identifier associated with the electronic device is sufficient to notify the server that a pre-installed application is being applied, all pre-installed applications on the electronic device are simultaneously applied This simplifies the computational overhead in managing the admission process. In another example where a pre-installed application on an electronic device is selectively associated with a large number of accounts, managing the pre-installed application on the server is adopted in addition to the unique hardware identifier of the electronic device. Need to store pre-installed applications.

図12は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする例示的な方法を示す。クライアントとサーバとの間で実行された通信プロトコルを示す方法600は、プリ・インストールアプリケーションをユーザ・アカウントにリンクする処理を管理するように構成される。サーバにより実行された動作は、配信センター上のプログラム、またはサーバ側の他の構成要素により実行され、クライアントにより実行された動作は、クライアントの電子装置上に格納されたアプリケーション管理プログラムにより実行される。アプリケーション管理プログラムは、クライアント上に格納されたソフトウェアアプリケーションをインストール、削除、維持、または別の方法で管理するように構成される。いくつかの例において、配信センター上に格納された配信プログラム及び電子装置上に格納されたアプリケーション管理プログラムは、図4の方法400及び/または図5の方法500を更に実行するように構成される。いくつかの例において、方法600は、図4の「アプリケーションアドプションに進む」(421)、または図8の「アプリケーションアドプションに進む」(519)の後で実行される。   FIG. 12 illustrates an exemplary method for linking a pre-installed application to a user account. The method 600 for indicating a communication protocol executed between a client and a server is configured to manage the process of linking a pre-installed application to a user account. Operations executed by the server are executed by a program on the distribution center or other components on the server side, and operations executed by the client are executed by an application management program stored on the client electronic device. . The application management program is configured to install, delete, maintain, or otherwise manage software applications stored on the client. In some examples, the distribution program stored on the distribution center and the application management program stored on the electronic device are configured to further perform the method 400 of FIG. 4 and / or the method 500 of FIG. . In some examples, the method 600 is performed after “Proceed to Application Adoption” (421) of FIG. 4 or “Proceed to Application Adoption” (519) of FIG.

方法600は、一意的ハードウェア識別子を生成する(620)。一意的ハードウェア識別子は、正当なアプリケーションの所有権、または資格のデジタルレシートとして機能する。一意的ハードウェア識別子は、電子装置に特有の1つ以上の識別子を組み合わせることから生成される。例えば一意的ハードウェア識別子は、電子装置のハードウェアコンポーネントと関連付けられた1つ以上の識別子に基づく。ハードウェアコンポーネントの識別子が一意であるため、2つの一意的ハードウェア識別子は同一ではない。一例として、一意的ハードウェア識別子は、装置のロジックボードシリアル番号を装置のイーサネットハードウェアアドレスと組み合わせることで生成される。ロジックボードシリアル番号及びイーサネットハードウェアアドレスは、連結、ハッシング、符号化方式、または他のデータ操作アルゴリズムを使用して組み合わされる。一意的ハードウェア識別子は、プリ・インストールアプリケーションをユーザ・アカウントに関連付ける要求の一部としてクライアントからサーバに送信される(630)。プリ・インストールアプリケーションが選択的にアドプションされる他の例において、プリ・インストールアプリケーションと関連付けられたメタデータは、クライアントからサーバに更に送信される。メタデータが詳細をサーバに提供することにより、サーバは、ユーザがユーザ・アカウントにアドプションしようとしている選択されたプリ・インストールアプリケーションを識別できる。サーバは、一意的ハードウェア識別子及び必要に応じてメタデータを受信した後、プリ・インストールアプリケーションがユーザ・アカウントと既にリンクされているかを判定する(640)ことにより、資格証明を検証する。サーバは、一意的ハードウェア識別子に対する一意性テーブルをチェックすることでアプリケーションが既にリンクされているかを判定する。一意性テーブルがプリ・インストールアプリケーションを既にアドプションしている電子装置の一意的ハードウェア識別子を含むエントリを格納するため、テーブルにおいて見つけられない一意的ハードウェア識別子は、電子装置がまだいずれのプリ・インストールアプリケーションも関連付けていないことを示す。方法600により、プリ・インストールアプリケーションを選択的にアドプションできる場合、判定は、一意的ハードウェア識別子と関連付けられたエントリに対する一意性テーブルをクエリすることを含む。一意的ハードウェア識別子が見つけられる場合、判定は、プリ・インストールアプリケーションのメタデータでエントリを評価し、選択されたプリ・インストールアプリケーションが以前にアドプションされているかを判定する。   The method 600 generates a unique hardware identifier (620). The unique hardware identifier serves as a digital receipt of legitimate application ownership or entitlement. The unique hardware identifier is generated from combining one or more identifiers specific to the electronic device. For example, the unique hardware identifier is based on one or more identifiers associated with the hardware component of the electronic device. Because the hardware component identifier is unique, the two unique hardware identifiers are not identical. As an example, the unique hardware identifier is generated by combining the device's logic board serial number with the device's Ethernet hardware address. The logic board serial number and Ethernet hardware address are combined using concatenation, hashing, encoding, or other data manipulation algorithms. The unique hardware identifier is sent from the client to the server as part of the request to associate the pre-installed application with the user account (630). In other examples where the pre-installed application is selectively adopted, metadata associated with the pre-installed application is further transmitted from the client to the server. The metadata provides details to the server so that the server can identify the selected pre-installed application that the user is trying to apply to the user account. After receiving the unique hardware identifier and optional metadata, the server verifies the credentials by determining 640 whether the pre-installed application is already linked to the user account. The server determines whether the application is already linked by checking the uniqueness table for the unique hardware identifier. Because the uniqueness table stores an entry that contains the unique hardware identifier of the electronic device that has already applied the pre-installed application, the unique hardware identifier that is not found in the table is the one that the electronic device still has -Indicates that the installed application is not associated. If the method 600 allows selective application of a pre-installed application, the determination includes querying a uniqueness table for an entry associated with the unique hardware identifier. If a unique hardware identifier is found, the determination evaluates the entry with the pre-installed application metadata to determine if the selected pre-installed application has been previously adopted.

一意性テーブルを探索(すなわち、クエリ)することからアプリケーションが以前にアドプションされていると判定される場合、エラーが再度クライアントに送信される(641)。クライアントは、エラーを受信し、アプリケーションが既にアドプションされているという警告をユーザに提示する(642)。図13は、アドプション警告の一例を示す。警告700は、プリ・インストールアプリケーションが異なるユーザ・アカウントに既に割り当てられているため、ユーザが自身のユーザ・アカウントに関連付けたい1つ以上のアプリケーションを割り当てられないことをユーザに通知する。一方、一意性テーブルを探索することからアプリケーションが以前にアドプションされてないと判定される場合、サーバは、サニティチェックを実行し、プリ・インストールアプリケーションが電子装置の元の設定、すなわちデフォルト設定の一部であるかを判定する(650)。換言すると、サーバは、プリ・インストールアプリケーションがインストールされた状態で電子装置が構成され、製造業者から供給されたかを判定する。このようなサニティチェックにより、ユーザがある電子装置に元々インストールされていたプリ・インストールアプリケーションを別の電子装置にコピーし、違法コピーをユーザ・アカウントに関連付けようとすることを阻止する。サーバは、一意的ハードウェア識別子を含む設定サーバをクエリし、一意的ハードウェア識別子と関連付けられた電子装置の元の設定を受信する。元の設定は、プリ・インストールアプリケーションのリストを判定するように調査される。このプリアプリケーションのリストは、ユーザがアドプションしようとしているアプリケーションと比較され、そのアプリケーションがアドプション可能であるかを判定する。他の例において、元の設定に対してクエリするために使用されたデータベースのコピーが配信センターに格納されることにより、一意的ハードウェア識別子を配信センターにおいて完全に評価できる。これにより、設定サーバへのネットワークトラフィックが減少する。   If it is determined from searching (ie, querying) the uniqueness table that the application has been previously adopted, an error is again sent to the client (641). The client receives the error and presents a warning to the user that the application has already been adopted (642). FIG. 13 shows an example of the admission warning. Alert 700 informs the user that the pre-installed application has already been assigned to a different user account, so the user cannot assign one or more applications that he wants to associate with his user account. On the other hand, if it is determined from searching the uniqueness table that the application has not been previously applied, the server performs a sanity check and the pre-installed application is set to the original setting of the electronic device, ie the default setting. It is determined whether it is a part (650). In other words, the server determines whether the electronic device is configured with the pre-installed application installed and supplied from the manufacturer. Such a sanity check prevents a user from attempting to copy a pre-installed application that was originally installed on one electronic device to another electronic device and to associate the illegal copy with the user account. The server queries a configuration server that includes the unique hardware identifier and receives the original configuration of the electronic device associated with the unique hardware identifier. The original setting is examined to determine a list of pre-installed applications. This list of pre-applications is compared with the application that the user is trying to adopt to determine whether the application can be adopted. In another example, the unique hardware identifier can be fully evaluated at the distribution center by storing a copy of the database used to query the original configuration at the distribution center. This reduces network traffic to the configuration server.

ユーザがアドプションしたいアプリケーションが電子装置の元の設定の一部ではないと判定される場合、エラーメッセージがクライアントに送信される(651)。クライアントは、エラーメッセージを受信すると、電子装置がアドプションの対象とならないという警告をユーザに提示する(642)。図14は、アドプション警告の別の例を示す。電子装置(本明細書において「Mac」と名付けられた)がプリ・インストールアプリケーションをユーザ・アカウントに関連付ける資格がないため、警告750は、アプリケーションをユーザ・アカウントに割り当てられないことをユーザに通知する。他の例において、警告750は、電子装置が元々プリ・インストールアプリケーションで構成されていないことをユーザに報知するために提供された図、または他の文を含む。一方、ユーザがアドプションしたいアプリケーションが電子装置の元の設定の一部であると判定される場合、更なるサニティチェックがあれば実行される。サーバは、プリ・インストールアプリケーションがユーザ・アカウントにリンクされることを検証すると、サーバ上に格納された一意性テーブル及びユーザ・アカウントを更新し(660)、電子装置のプリ・インストールアプリケーションがアドプションされている(従って、別のユーザ・アカウントによりアドプションされない)ことを示す。上述したように、アドプションされているプリ・インストールアプリケーションは、次にユーザ・アカウントに関連付けられる電子装置のプリ・インストールアプリケーションであるため、アプリケーションと関連付けられた更新及び再ダウンロードは、ユーザ・アカウントに関連付けられた電子装置にダウンロードされる。サーバは、認可メッセージをクライアントに送信し、要求が認可されることをクライアントに報知する(670)。要求をリンクすることが評価され、真の要求であることが分かっているため、認可メッセージは、プリ・インストールアプリケーションが次にサーバ上のユーザ・アカウントに関連付けられることをクライアントに報知、または通知する。クライアントは、認可メッセージを受信し、プリ・インストールアプリケーションをクライアント上に格納されたユーザ・アカウントとリンクする(680)。いくつかの例において、クライアントは、ユーザ・アカウントとリンクされているプリ・インストールアプリケーションと関連付けられたメタデータをマニフェストから削除することにより、電子装置上に格納されたマニフェストを更に更新する。プリ・インストールアプリケーションと関連付けられたメタデータを削除することは、アプリケーションがアドプション可能であるかを判定するために実行されるチェックを最小限にすることでアドプション処理を簡略化する。クライアントは、要求を配信センター、またはサーバの他の構成要素に送信し、アプリケーションをダウンロードする(690)。   If it is determined that the application that the user wants to adopt is not part of the original configuration of the electronic device, an error message is sent to the client (651). Upon receiving the error message, the client presents a warning to the user that the electronic device is not subject to adoption (642). FIG. 14 shows another example of the admission warning. Alert 750 notifies the user that the application cannot be assigned to the user account because the electronic device (named “Mac” herein) is not eligible to associate the pre-installed application with the user account. . In other examples, alert 750 includes a diagram or other sentence provided to inform the user that the electronic device was not originally configured with a pre-installed application. On the other hand, if it is determined that the application that the user wants to adopt is part of the original settings of the electronic device, it is executed if there is a further sanity check. When the server verifies that the pre-installed application is linked to the user account, the server updates the uniqueness table and user account stored on the server (660), and the pre-installed application of the electronic device adopts the application. (Thus not being adopted by another user account). As described above, the preinstalled application being applied is the preinstalled application of the electronic device that is next associated with the user account, so updates and redownloads associated with the application are Downloaded to the associated electronic device. The server sends an authorization message to the client to inform the client that the request is authorized (670). The authorization message informs or informs the client that the pre-installed application is next associated with the user account on the server, since linking the request is evaluated and known to be a true request . The client receives the authorization message and links the pre-installed application with the user account stored on the client (680). In some examples, the client further updates the manifest stored on the electronic device by deleting from the manifest the metadata associated with the pre-installed application that is linked to the user account. Deleting the metadata associated with the pre-installed application simplifies the admission process by minimizing the checks performed to determine if the application is adoptable. The client sends the request to the distribution center or other component of the server to download the application (690).

方法600は、ポストインストールアプリケーション(すなわち、ユーザがインストールしたアプリケーション)をアドプションするために更に構成される。ポストインストールアプリケーションは、装置が製造業者から出荷された後、またはユーザにより購入された後にユーザの装置にインストールされている贈与、購入、償還、或いは別の方法で取得されたアプリケーションを含む。例えば方法600は、一意的ハードウェア識別子を生成するのではなく、アプリケーションと関連付けられた一意的識別子を生成する(620)。一意的識別子は、資格証明、またはアプリケーションの購入の証明を示すために使用されるアプリケーションと関連付けられたメタデータである。一意的識別子は、アプリケーションのメタデータに格納され、次にクライアント装置により検索される。、或いは、一意的識別子は、アプリケーションのメタデータに基づいて生成される。例えば一意的識別子は、アプリケーションの一意的レシート、または非一意的レシート、アプリケーションが取得された日付及び/または場所等のアプリケーションを受信することに関連したメタデータ、クライアント装置と関連付けられた一意的識別子、並びに/或いはアプリケーション、またはクライアント装置と関連付けられた他のメタデータから導出される。   The method 600 is further configured to adopt a post-install application (ie, a user-installed application). Post-installation applications include applications that are installed on the user's device after the device is shipped from the manufacturer or purchased by the user, acquired, redeemed, or otherwise obtained. For example, the method 600 does not generate a unique hardware identifier, but generates a unique identifier associated with the application (620). The unique identifier is metadata associated with the application that is used to indicate credentials or proof of purchase of the application. The unique identifier is stored in the application metadata and then retrieved by the client device. Alternatively, the unique identifier is generated based on application metadata. For example, the unique identifier may be a unique receipt of the application or a non-unique receipt, metadata associated with receiving the application, such as the date and / or location where the application was obtained, a unique identifier associated with the client device. And / or from other metadata associated with the application or client device.

いくつかの例において、通信プロトコルは、一意的識別子がプリ・インストールアプリケーション(すなわち、製造業者がインストールしたアプリケーション)、またはポストインストールアプリケーション(すなわち、ユーザがインストールしたアプリケーション)と関連付けられるかに依存する。例えば、クライアントから受信した一意的識別子がポストインストールされたアプリケーションと関連付けられるために電子装置の元の設定の一部ではない場合、通信プロトコルは、アプリケーションが電子装置の元の設定の一部であると確認する(650)ことをスキップする。代わりに、サーバは、一意的識別子を正当な一意的識別子のデータベースと比較することにより、資格証明、またはアプリケーションの所有権を検証する。これにより、サーバは、アプリケーションの正当なコピーと不当なコピーとを区別及び判別できる。資格証明が検証されると、アプリケーションはユーザ・アカウントの一部としてアドプションされる。アプリケーションがプリ・インストール、またはポストインストールされるかを判定するため、サーバは、フラグ、または一意的識別子と関連付けられた他のメタデータを解析する。   In some examples, the communication protocol depends on whether the unique identifier is associated with a pre-installed application (ie, a manufacturer installed application) or a post-installed application (ie, a user installed application). For example, if the unique identifier received from the client is not part of the original setting of the electronic device because it is associated with the post-installed application, the communication protocol is part of the original setting of the electronic device. (650) is skipped. Instead, the server verifies the credentials, or ownership of the application, by comparing the unique identifier with a database of valid unique identifiers. Thereby, the server can distinguish and discriminate between a legitimate copy and an illegal copy of the application. Once the credentials are verified, the application is adopted as part of the user account. To determine whether the application is pre-installed or post-installed, the server parses a flag or other metadata associated with the unique identifier.

更に他の例において、通信プロトコルは、クライアントから受信した一意的識別子がクライアント電子装置と関連付けられたメタデータに基づくかに依存する。例えば、アプリケーションが既にリンクされているかを判定するためにサーバによりアクセスされたデータベース、またはテーブルは、一意的識別子に依存する。第1のデータベースは、クライアント電子装置と関連付けられた一意的識別子に対してサーバによりアクセス及び更新される。第1のデータベースは、電子装置のハードウェアに基づいてキー入力され、探索可能である。第2のデータベースは、クライアント装置と関連付けられない一意的識別子に対してサーバによりアクセス及び更新される。換言すると、これらの一意的識別子がアプリケーションと関連付けられた資格証明のみに基づくため、第2のデータベースを探索することは、資格証明、または資格証明の何らかの変形例に基づく。   In yet another example, the communication protocol depends on whether the unique identifier received from the client is based on metadata associated with the client electronic device. For example, the database or table accessed by the server to determine if the application is already linked depends on the unique identifier. The first database is accessed and updated by the server for a unique identifier associated with the client electronic device. The first database is keyed based on the hardware of the electronic device and can be searched. The second database is accessed and updated by the server for a unique identifier that is not associated with the client device. In other words, searching these second databases is based on credentials, or some variation of credentials, because these unique identifiers are based solely on credentials associated with the application.

図15は、電子装置上の回復モードに対する例示的な処理を示す。一般に、回復モードにより、電子装置は、アプリケーション、またはオペレーティングシステムに対する内部の致命的エラーを解決できる。オペレーティングシステム全体を回復する極端な例において、この手法は、記憶装置を再フォーマットし、オペレーティングシステムを再インストールする。回復モードの特定の実現例に依存して、再インストールされているオペレーティングシステムは変動する。一例として、再インストールされたオペレーティングシステムは、元々電子装置にインストールされており、その後手動及び/または自動的に更新されるオペレーティングシステムである。別の例として、再インストールされたオペレーティングシステムは、元々インストールされていたオペレーティングシステム以来リリースされている1つ以上の更新を組み込む。更に他の例において、製造業者から利用可能な最新のオペレーティングシステムが再インストールされる。一般に回復モードは、プリ・インストールアプリケーションを再インストールせずにオペレーティングシステムのみを再インストールする。そのため、ユーザ・アカウントに関連付けられていないか、或いはリンクされていないプリ・インストールアプリケーションを損失する。処理800は、回復モード中に設定サーバからマニフェストを検索することでこの問題を解決する。   FIG. 15 illustrates an exemplary process for a recovery mode on an electronic device. In general, the recovery mode allows an electronic device to resolve an internal fatal error to an application or operating system. In the extreme case of recovering the entire operating system, this approach reformats the storage device and reinstalls the operating system. Depending on the specific implementation of the recovery mode, the operating system being reinstalled will vary. By way of example, a reinstalled operating system is an operating system that was originally installed on an electronic device and then updated manually and / or automatically. As another example, a reinstalled operating system incorporates one or more updates that have been released since the originally installed operating system. In yet another example, the latest operating system available from the manufacturer is reinstalled. In general, the recovery mode only reinstalls the operating system without reinstalling the pre-installed application. This results in the loss of pre-installed applications that are not associated with or linked to the user account. Process 800 solves this problem by retrieving the manifest from the configuration server during the recovery mode.

処理800は、回復モードに入る(820)ことで開始する。回復モードに入ることは、製造業者から基本オペレーティングシステムをダウンロードすることをトリガする。基本オペレーティングシステムは、一意的ハードウェア生成する(830)ように構成される。一意的ハードウェア識別子は、上述の方法のうちの1つを使用して生成される。一意的ハードウェア識別子が生成されると、基本オペレーティングシステムは、一意的ハードウェア識別子を設定サーバに送信する(840)。受信した一意的ハードウェア識別子に基づいて、設定サーバは、電子装置にプリ・インストールされたアプリケーション及びこれらのアプリケーションのバージョン番号を含むマニフェストを返送する。マニフェストは、電子装置の所有者が所有権を有する他のアプリケーションを更に含む。いくつかの例において、通信サーバは、配信サーバと通信し、電子装置がアプリケーションを既にアドプションしたかを判定する。一意的ハードウェア識別子が配信センターの一意性テーブルにおいて見つけられる場合、電子装置のプリ・インストールアプリケーションのうちの1つ以上は既にアドプションされている。従って、通信サーバは、空のマニフェスト、または既にアドプションされている特定のプリ・インストールアプリケーションを含まないマニフェストを返送する。これにより、プリ・インストールアプリケーションが既にアドプションされている場合にアドプションのためにページ購入要求がプリ・インストールアプリケーションをユーザに提示することを最小限にする。配信センターが構成データベースのローカルコピーを格納する他の例において、一意的ハードウェア識別子は、設定サーバではなく配信センターに送信される。一意的ハードウェア識別子を使用することにより、配信センターは、プリ・インストールアプリケーション及びユーザ・アカウントと既に関連付けられているアプリケーションを判定する。   Process 800 begins by entering 820 a recovery mode. Entering recovery mode triggers downloading the base operating system from the manufacturer. The base operating system is configured to generate unique hardware (830). The unique hardware identifier is generated using one of the methods described above. Once the unique hardware identifier is generated, the base operating system sends the unique hardware identifier to the configuration server (840). Based on the received unique hardware identifier, the configuration server returns a manifest that includes the applications pre-installed on the electronic device and the version numbers of these applications. The manifest further includes other applications for which the owner of the electronic device has ownership. In some examples, the communication server communicates with the distribution server to determine if the electronic device has already adopted the application. If the unique hardware identifier is found in the distribution center uniqueness table, one or more of the electronic device's pre-installed applications have already been adopted. Thus, the communication server returns an empty manifest or a manifest that does not include a particular pre-installed application that has already been adopted. This minimizes the page purchase request presenting the pre-installed application to the user for admission when the pre-installed application has already been adopted. In another example where the distribution center stores a local copy of the configuration database, the unique hardware identifier is sent to the distribution center rather than the configuration server. By using the unique hardware identifier, the distribution center determines applications that are already associated with pre-installed applications and user accounts.

設定サーバ(、または配信センター)は、電子装置に付いてくるオペレーティングシステムのバージョン番号及び電子装置のプリ・インストールアプリケーションに基づくマニフェストを返送する(850)。他の例において、マニフェストは、ユーザ・アカウントとリンクされていない電子装置のポストインストールアプリケーションを更に含む(850)。電子装置がユーザ・アカウントに関連付けられていないアプリケーションをインストールする場合、設定サーバ上に格納されたマニフェストは定期的に更新される。これは、ネットワーク障害、サーバ障害、またはこの時点でアプリケーションをユーザ・アカウントに関連付けないというユーザが選択したオプション等の種々の理由のために発生する。オペレーティングシステムのバージョン番号は、オペレーティングシステムサーバに送信される(860)。その結果、元のオペレーティングシステムを電子装置に送信する。電子装置は、元のオペレーティングシステムを受信し(870)、必要に応じて元のオペレーティングシステムをインストールする。次に、電子装置は、電子装置のプリ・インストールアプリケーションに基づいて元のオペレーティングシステム及びマニフェストの新しいコピーを含む。ユーザは、プリ・インストールアプリケーションをユーザ・アカウントに関連付けていない場合、上述したようにページ購入リンクを選択することでそれを実行する。   The configuration server (or distribution center) returns a manifest based on the version number of the operating system attached to the electronic device and the pre-installed application of the electronic device (850). In another example, the manifest further includes a post-install application for the electronic device that is not linked to the user account (850). When the electronic device installs an application that is not associated with a user account, the manifest stored on the configuration server is periodically updated. This can occur for various reasons, such as a network failure, a server failure, or a user selected option not to associate the application with a user account at this time. The version number of the operating system is transmitted to the operating system server (860). As a result, the original operating system is transmitted to the electronic device. The electronic device receives the original operating system (870) and installs the original operating system as needed. The electronic device then includes a new copy of the original operating system and manifest based on the electronic device's pre-installed application. If the user does not associate the pre-installed application with the user account, he does so by selecting the page purchase link as described above.

本発明の範囲内の実施形態は、コンピュータが実行可能な命令、またはデータ構造を保持するか、或いはそれを格納した有形のコンピュータ可読記憶媒体及び/またはコンピュータ可読の非一時的記憶媒体を更に含む。そのようなコンピュータ可読の非一時的記憶媒体は、汎用コンピュータ、または上述したようにあらゆる専用プロセッサの機能設計を含む専用コンピュータによりアクセスされるあらゆる使用可能な媒体である。非限定例として、そのようなコンピュータ可読の非一時的記憶媒体は、RAM、ROM、EEPROM、CD−ROM、或いは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、或いはコンピュータが実行可能な命令、データ構造、またはプロセッサチップ設計の形態の所望のプログラムコード手段を保持、或いは格納するために使用される他のあらゆる媒体を含む。情報がネットワーク、または別の通信接続(ハードワイヤード、無線、またはそれらの組合せのいずれか)を介してコンピュータに転送、或いは提供される場合、コンピュータは、正式に接続をコンピュータ可読媒体として見なす。従って、そのようなあらゆる接続を正式にコンピュータ可読媒体と呼ぶ。上述の組合せは、コンピュータ可読媒体の範囲内にも含まれるべきである。   Embodiments within the scope of the present invention further include a tangible computer readable storage medium and / or a computer readable non-transitory storage medium that retains or stores computer-executable instructions or data structures. . Such computer-readable non-transitory storage media are any general purpose computer or any usable media that can be accessed by a special purpose computer including the functional design of any special purpose processor as described above. By way of non-limiting example, such computer-readable non-transitory storage media may be RAM, ROM, EEPROM, CD-ROM, or other optical disk storage device, magnetic disk storage device, or other magnetic storage device, or a computer. It includes any other medium used to hold or store the executable program, data structure, or desired program code means in the form of a processor chip design. If information is transferred or provided to a computer via a network or another communication connection (either hardwired, wireless, or a combination thereof), the computer formally regards the connection as a computer-readable medium. Accordingly, any such connection is formally referred to as a computer readable medium. Combinations of the above should also be included within the scope of computer-readable media.

例えば、コンピュータが実行可能な命令は、ある特定の機能、または機能のグループを汎用コンピュータ、専用コンピュータ、或いは専用処理装置に実行させる命令及びデータを含む。コンピュータが実行可能な命令は、スタンドアロン環境、またはネットワーク環境においてコンピュータにより実行されるプログラムモジュールを更に含む。一般にプログラムモジュールは、特定のタスクを実行するか、或いは特定の抽象データ型を実現する専用プロセッサの設計に固有のルーチン、プログラム、構成要素、データ構造、オブジェクト及び機能等を含む。コンピュータが実行可能な命令、関連したデータ構造及びプログラムモジュールは、本明細書において開示した方法のステップを実行するプログラムコード手段の例を示す。そのような実行可能な命令、または関連したデータ構造の特定のシーケンスは、そのようなステップにおいて説明した機能を実現する対応する動作の例を示す。   For example, computer-executable instructions include instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing devices to perform a certain function or group of functions. The computer-executable instructions further include program modules that are executed by the computer in a stand-alone environment or a network environment. Generally, program modules include routines, programs, components, data structures, objects, functions, etc. that are specific to the design of a dedicated processor that performs a specific task or implements a specific abstract data type. Computer-executable instructions, associated data structures, and program modules represent examples of program code means for performing steps of the methods disclosed herein. A particular sequence of such executable instructions, or associated data structures, represents an example of a corresponding operation that implements the functionality described in such steps.

本発明の他の実施形態がパーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの購買者向けの電子機器、またはプログラム可能な購買者向けの電子機器、ネットワークPC、ミニコンピュータ及びメインフレームコンピュータ等を含む多くの種類のコンピュータシステム構成でネットワークコンピューティング環境において実施されることは、当業者により理解されるだろう。実施形態は、通信ネットワークを介してリンクされる(ハードワイヤードリンク、無線リンク、またはそれらの組合せのいずれかにより)ローカル処理装置及びリモート処理装置によりタスクが実行される分散コンピューティング環境において更に実施される。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリ記憶装置及びリモートメモリ記憶装置の双方に配置される。   Other embodiments of the present invention include personal computers, handheld devices, multiprocessor systems, microprocessor-based electronic equipment for buyers, or programmable electronic equipment for buyers, network PCs, minicomputers, mainframe computers, etc. It will be appreciated by those skilled in the art that many types of computer system configurations are implemented in a network computing environment, including: Embodiments are further implemented in distributed computing environments where tasks are performed by local and remote processing devices (either by hard wire drinks, wireless links, or combinations thereof) linked through a communications network. The In a distributed computing environment, program modules are located in both local and remote memory storage devices.

上述した種々の実施形態は、例示するためだけに提供され、本発明の範囲を限定するものとして解釈されるべきではない。本明細書において例示し且つ説明した実施形態及びアプリケーションの例に従わずに、本発明の趣旨及び範囲から逸脱せずに、本明細書において説明した原理に対して行われる種々の変形及び変更は、当業者により容易に理解されるだろう。   The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the invention. Various modifications and changes made to the principles described herein may be made without departing from the spirit and scope of the present invention without following the example embodiments and applications illustrated and described herein. Will be readily understood by those skilled in the art.

Claims (20)

第1のクライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記第1のクライアント装置上にインストールされている当該アプリケーションがサーバによる配信可能に構成されていることを判定することにより、サーバにより検証するステップと、
前記アプリケーションが以前にアドプションされていないことを前記サーバにより検証する検証ステップであって、
前記インストールされたアプリケーションに関連付けられたメタデータから前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップと、
を含む前記検証ステップと、
前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記第1のクライアント装置に配信するステップと、
を備えることを特徴とする方法。
Determining whether an application installed on the first client device is eligible for admission, and determining that the application installed on the first client device is configured to be distributed by a server; Verifying with the server,
A verification step for verifying by the server that the application has not been previously adopted,
Automatically searching for a unique identifier that uniquely identifies an individual copy of the installed application from metadata associated with the installed application;
Verifying that the unique identifier is not associated with any user account;
The verification step comprising:
Delivering a notification from the server to the first client device that the installed application is eligible for adoption;
A method comprising the steps of:
前記サーバにより前記アプリケーションを1つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションとは、前記ユーザ・アカウントに関連付けられた1つ以上のクライアント装置に前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、ことを特徴とする請求項1記載の方法。   The server further comprises the step of adopting the application to a user account, wherein the admission is a benefit related to the application that has been adopted to one or more client devices associated with the user account. The method of claim 1, wherein the user account is configured to allow. 前記特典は、前記アプリケーションを、ダウンロードし、再ダウンロードし、そして、更新することを含む、ことを特徴とする請求項2記載の方法。   The method of claim 2, wherein the benefits include downloading, redownloading, and updating the application. 第2のクライアント装置を前記ユーザ・アカウントに登録するステップと、
前記アドプションされたアプリケーションを前記第2のクライアント装置に送信するステップと、
を更に備える、ことを特徴とする請求項2、または3記載の方法。
Registering a second client device with the user account;
Transmitting the adopted application to the second client device;
The method according to claim 2, further comprising:
前記一意的識別子は、前記個々のコピーに対する資格証明であることを特徴とする請求項1から4のいずれか1項に記載の方法。   5. A method according to any one of the preceding claims, wherein the unique identifier is a credential for the individual copy. 前記アプリケーションは、前記ユーザ・アカウントに関連付けられた1つ以上のクライアント装置に前にインストールされたことがある、ことを特徴とする請求項2から5のいずれか1項に記載の方法。   6. A method according to any one of claims 2 to 5, wherein the application has been previously installed on one or more client devices associated with the user account. 本方法は、ユーザ要求に応答して実行される、ことを特徴とする請求項1から6のいずれか1項に記載の方法。   The method according to claim 1, wherein the method is performed in response to a user request. アドプション可能な複数のアプリケーションを前記クライアント装置に通知するステップと、
アドプションのために、前記複数のアプリケーションのうちの少なくとも1つのアプリケーションを選択する入力を承諾するステップを更に備える、ことを特徴とする請求項1から7のいずれか1項に記載の方法。
Notifying the client device of a plurality of applications that can be adopted;
8. The method of any one of claims 1 to 7, further comprising accepting an input to select at least one application of the plurality of applications for adoption.
自動的に前記一意的識別子を検索する前記ステップは、前記一意的識別子に対して前記サーバ上でデータベースをクエリすることを含むことを特徴とする請求項1から8のいずれか1項に記載の方法。   9. The method of any one of claims 1 to 8, wherein the step of automatically searching for the unique identifier comprises querying a database on the server for the unique identifier. Method. ソフトウェアパッケージをアドプションすることは、前記ソフトウェアパッケージに対する資格証明に基づいてデータベースを更新することを更に含むことを特徴とする請求項1から9のいずれか1項に記載の方法。   10. A method as claimed in any preceding claim, wherein adopting a software package further comprises updating a database based on credentials for the software package. 前記一意的識別子は、前記クライアント装置と関連付けられたハードウェアから導き出し可能な値を含むことを特徴とする請求項1から9のいずれか1項に記載の方法。   The method according to any one of claims 1 to 9, wherein the unique identifier includes a value derivable from hardware associated with the client device. プロセッサと、
記憶装置と、
前記プロセッサを制御する命令を格納するように構成されたメモリと、
を具備するシステムであって、前記命令が、
クライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記クライアント装置にインストールされた前記アプリケーションがサーバにより配信されるように構成されていることを判定することにより、検証するステップと、
前記アプリケーションが前にアドプションされていないことを前記サーバにより検証するステップであって、
前記インストールされたアプリケーションと関連付けられたメタデータから、前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップとを含む、前記検証ステップと、
前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記クライアント装置に配信するステップとを含む、ことを特徴とするシステム。
A processor;
A storage device;
A memory configured to store instructions for controlling the processor;
A system comprising:
Verifying that an application installed on a client device is eligible for adoption by determining that the application installed on the client device is configured to be delivered by a server; ,
Verifying by the server that the application has not been previously adopted,
A sub-step of automatically retrieving a unique identifier that uniquely identifies an individual copy of the installed application from metadata associated with the installed application;
Verifying, comprising verifying that the unique identifier is not associated with any user account;
Delivering a notification from the server to the client device that the installed application is eligible for adoption.
前記メモリは、前記サーバにより前記アプリケーションを1つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションとは、前記ユーザ・アカウントに関連付けられた1つ以上のクライアント装置に前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、
ことを特徴とする請求項12記載のシステム。
The memory further comprises the step of applying the application to a user account by the server, the application being applied to the one or more client devices associated with the user account. Configure the user account to allow benefits related to the application;
The system according to claim 12.
前記特典は、前記アプリケーションを、ダウンロードし、再ダウンロードし、そして、更新することを含む、ことを特徴とする請求項13記載のシステム。   The system of claim 13, wherein the benefits include downloading, redownloading, and updating the application. 前記メモリは、別のクライアント装置を前記ユーザ・アカウントに登録する命令と、前記アドプションされたアプリケーションを前記別のクライアント装置に送信する命令とを更に含む、ことを特徴とする請求項12から14のいずれか1項に記載のシステム。   15. The memory further comprising instructions for registering another client device with the user account and instructions for sending the adopted application to the other client device. The system according to any one of the above. 前記アプリケーションは、前記ユーザ・アカウントに関連付けられた1つ以上のクライアント装置に前にインストールされたことがある、ことを特徴とする請求項12から15のいずれか1項に記載のシステム。   16. A system as claimed in any one of claims 12 to 15, wherein the application has been previously installed on one or more client devices associated with the user account. 前記メモリは、アドプション可能な複数のアプリケーションを前記クライアント装置に通知する命令と、前記複数のアプリケーションのうちの1つを選択する入力を承諾する命令とを更に含む、ことを特徴とする請求項12から16のいずれか1項に記載のシステム。   The memory further comprises instructions for notifying the client device of a plurality of applications that can be adopted and an instruction for accepting an input to select one of the plurality of applications. The system according to any one of 12 to 16. コンピュータ装置に実行させる命令を格納するコンピュータ可読の非一時的記録媒体であって、前記命令は、コンピュータ装置により実行されると、
クライアント装置にインストールされているアプリケーションがアドプションに適格であるかを、前記クライアント装置上にインストールされている当該アプリケーションがサーバによる配信可能に構成されていることを判定することにより、サーバにより検証するステップと、
前記アプリケーションが以前にアドプションされていないことを前記サーバにより検証する検証ステップであって、
前記インストールされたアプリケーションに関連付けられたメタデータから前記インストールされたアプリケーションの個々のコピーを一意的に識別する一意的識別子を自動的に検索する副ステップと、
前記一意的識別子がいずれのユーザ・アカウントとも関連付けられていないことを検証する副ステップと、
を含む前記検証ステップと、
前記インストールされたアプリケーションがアドプションに適格であるという通知を前記サーバから前記第1のクライアント装置に配信するステップとを前記コンピュータ装置に実行させる、
ことを特徴とするコンピュータ可読の非一時的記憶媒体。
A computer-readable non-transitory recording medium storing instructions to be executed by a computer device, wherein the instructions are executed by the computer device.
Whether the application installed on the client device is eligible for adoption is verified by the server by determining that the application installed on the client device is configured to be distributed by the server. Steps,
A verification step for verifying by the server that the application has not been previously adopted,
Automatically searching for a unique identifier that uniquely identifies an individual copy of the installed application from metadata associated with the installed application;
Verifying that the unique identifier is not associated with any user account;
The verification step comprising:
Causing the computing device to execute a notification from the server to the first client device that the installed application is eligible for adoption.
A computer-readable non-transitory storage medium.
前記アプリケーションがクライアント装置にインストールされていることを検証する前記ステップ、前記アプリケーションが以前にアドプションされていないことを検証する前記ステップ、そして前記通知を配信する前記ステップは、ユーザ要求に応答して実行される、ことを特徴とする請求項18記載のコンピュータ可読の非一時的記憶媒体。   In response to a user request, the step of verifying that the application is installed on a client device, the step of verifying that the application has not been previously applied, and the step of delivering the notification. The computer-readable non-transitory storage medium of claim 18, wherein the non-transitory storage medium is executed. 前記サーバにより前記アプリケーションを1つのユーザ・アカウントにアドプションするステップを更に備え、前記アドプションとは、前記ユーザ・アカウントに関連付けられた1つ以上のクライアント装置に前記アドプションされたアプリケーションに関する特典を許可するように、前記ユーザ・アカウントを構成する、ことを特徴とする請求項18、または19記載のコンピュータ可読の非一時的記憶媒体。   The server further comprises the step of adopting the application to a user account, wherein the admission is a benefit related to the application that has been adopted to one or more client devices associated with the user account. 20. A computer-readable non-transitory storage medium according to claim 18 or 19, wherein the user account is configured to allow.
JP2012154900A 2011-07-12 2012-07-10 System and method for linking pre-installed software to an online store user account Active JP5595451B2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US13/181,424 US9319406B2 (en) 2011-07-12 2011-07-12 System and method for linking pre-installed software to a user account on an online store
US13/181,424 2011-07-12
US13/248,942 US10158635B2 (en) 2011-07-12 2011-09-29 System and method for linking pre-installed software to a user account on an online store
US13/248,942 2011-09-29
US201261596928P 2012-02-09 2012-02-09
US61/596,928 2012-02-09
US13/436,609 2012-03-30
US13/436,609 US20130019237A1 (en) 2011-07-12 2012-03-30 System and method for linking pre-installed software to a user account on an online store

Publications (2)

Publication Number Publication Date
JP2013020621A true JP2013020621A (en) 2013-01-31
JP5595451B2 JP5595451B2 (en) 2014-09-24

Family

ID=47625486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012154900A Active JP5595451B2 (en) 2011-07-12 2012-07-10 System and method for linking pre-installed software to an online store user account

Country Status (8)

Country Link
JP (1) JP5595451B2 (en)
KR (1) KR101439604B1 (en)
CN (2) CN106096456B (en)
AU (1) AU2012203903B2 (en)
BR (1) BR102012017289B1 (en)
MX (1) MX2012008138A (en)
NL (1) NL2009157B1 (en)
TW (1) TWI599973B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016533595A (en) * 2013-09-12 2016-10-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Client download and installation method and apparatus
JP2020510924A (en) * 2017-02-27 2020-04-09 マイクロソフト テクノロジー ライセンシング,エルエルシー Remote management of initial operating system setup options
CN112106025A (en) * 2017-05-15 2020-12-18 三星电子株式会社 Server for providing software platform and method for operating server

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325298B2 (en) * 2013-01-22 2019-06-18 General Electric Company Systems and methods for a non-destructive testing ecosystem
KR102124330B1 (en) * 2013-11-19 2020-06-18 에스케이텔레콤 주식회사 Method for updating of application and apparatus for the same
US9626720B2 (en) 2013-11-25 2017-04-18 Apple Inc. Linked user accounts
TWI602066B (en) * 2014-05-30 2017-10-11 宏碁股份有限公司 Method and system for automatically downloading program
US10255449B2 (en) 2014-05-30 2019-04-09 Apple Inc. Permission request
CN104468514B (en) * 2014-10-31 2018-08-31 联想(北京)有限公司 Information processing method, electronic equipment and server
JP6403583B2 (en) 2015-01-21 2018-10-10 キヤノン株式会社 Distribution management server and distribution management method for distributing updated applications
CN105893071A (en) * 2015-11-30 2016-08-24 乐视云计算有限公司 Online tuning method and system for application
JP6419143B2 (en) * 2016-12-20 2018-11-07 株式会社ミロク情報サービス Common program, database management apparatus, and database management method
JP6608878B2 (en) * 2017-07-19 2019-11-20 ファナック株式会社 Application sales management server system
US11544357B2 (en) * 2018-11-02 2023-01-03 Google Llc Systems and methods for authentication
CN109710284A (en) * 2018-11-16 2019-05-03 中天昱品科技有限公司 A kind of charging pile remote upgrade method with safe ciphering and data compression
US20230177190A1 (en) * 2021-12-03 2023-06-08 Dell Products L.P. Systems and methods for transferring information handling systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091595A (en) * 2000-09-11 2002-03-29 Hitachi Ltd Method and system for managing license
JP2005284506A (en) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd Download system, apparatus constituting download system, management station, and removable medium
JP2007265071A (en) * 2006-03-29 2007-10-11 Jordan Kk Application management method and application management system
JP2010049643A (en) * 2008-08-25 2010-03-04 Sourcenext Corp Information processing system, information processing method, and program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324649B1 (en) * 1998-03-02 2001-11-27 Compaq Computer Corporation Modified license key entry for pre-installation of software
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
CN100589096C (en) * 2004-12-02 2010-02-10 现时技术控股有限公司 Apparatus and method for managing unprotected and protected content in private networks
EP1901192A1 (en) * 2006-09-14 2008-03-19 British Telecommunications Public Limited Company Mobile application registration
EP2250783B1 (en) * 2008-02-08 2011-10-26 Telefonaktiebolaget L M Ericsson (publ) Method and apparatus for authorising provision of indirected content associated with a presentity of a presence service
US20090307683A1 (en) * 2008-06-08 2009-12-10 Sam Gharabally Network-Based Update of Application Programs
US8495190B2 (en) * 2008-06-25 2013-07-23 International Business Machines Corporation Providing access by a client application program over an internet protocol (IP) network to a server application program instance
US8725839B2 (en) * 2009-12-22 2014-05-13 International Business Machines Corporation Imposing pre-installation prerequisite checks on the install user to ensure a higher rate of installation success

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091595A (en) * 2000-09-11 2002-03-29 Hitachi Ltd Method and system for managing license
JP2005284506A (en) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd Download system, apparatus constituting download system, management station, and removable medium
JP2007265071A (en) * 2006-03-29 2007-10-11 Jordan Kk Application management method and application management system
JP2010049643A (en) * 2008-08-25 2010-03-04 Sourcenext Corp Information processing system, information processing method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016533595A (en) * 2013-09-12 2016-10-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Client download and installation method and apparatus
JP2020510924A (en) * 2017-02-27 2020-04-09 マイクロソフト テクノロジー ライセンシング,エルエルシー Remote management of initial operating system setup options
JP7021239B2 (en) 2017-02-27 2022-02-16 マイクロソフト テクノロジー ライセンシング,エルエルシー Remote management of initial operating system setup options
CN112106025A (en) * 2017-05-15 2020-12-18 三星电子株式会社 Server for providing software platform and method for operating server

Also Published As

Publication number Publication date
AU2012203903B2 (en) 2015-03-12
MX2012008138A (en) 2013-09-03
JP5595451B2 (en) 2014-09-24
CN106096456B (en) 2019-04-02
CN103207793A (en) 2013-07-17
CN103207793B (en) 2016-08-03
NL2009157A (en) 2013-01-15
AU2012203903A1 (en) 2013-01-31
BR102012017289B1 (en) 2020-12-01
NL2009157B1 (en) 2017-11-08
BR102012017289A2 (en) 2018-02-27
TWI599973B (en) 2017-09-21
TW201308237A (en) 2013-02-16
KR20130008480A (en) 2013-01-22
CN106096456A (en) 2016-11-09
KR101439604B1 (en) 2014-09-12

Similar Documents

Publication Publication Date Title
JP5595451B2 (en) System and method for linking pre-installed software to an online store user account
US11025622B2 (en) System and method for linking pre-installed software to a user account on an online store
US20130019237A1 (en) System and method for linking pre-installed software to a user account on an online store
KR101361313B1 (en) Application products with in-application subsequent feature access using network-based distribution system
CN102057354B (en) Techniques for acquiring updates for application programs
JP5778865B2 (en) Services for adding functionality to applications
KR101492757B1 (en) Application usage policy enforcement
US20100235889A1 (en) Application products with in-application subsequent feature access using network-based distribution system
US20140351321A1 (en) Digital Content Distribution Systems and Methods
US20080027742A1 (en) Information processing method, information processing apparatus, computer program and storage medium
US20090037492A1 (en) Framework for Synchronizing Applications
US20090037287A1 (en) Software Marketplace and Distribution System
US9299075B2 (en) Method and system for activating a software application while provisioning services for the application
EP2188740A2 (en) Software marketplace and distribution system
KR20110006712A (en) Electronic submission of application programs for network-based distribution
US20130124696A1 (en) Application products with in-application subsequent feature access using network-based distribution system
AU2012258433B2 (en) Application products with in-application subsequent feature access using network-based distribution system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140606

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140805

R150 Certificate of patent or registration of utility model

Ref document number: 5595451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250