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

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

Info

Publication number
TWI599973B
TWI599973B TW101125195A TW101125195A TWI599973B TW I599973 B TWI599973 B TW I599973B TW 101125195 A TW101125195 A TW 101125195A TW 101125195 A TW101125195 A TW 101125195A TW I599973 B TWI599973 B TW I599973B
Authority
TW
Taiwan
Prior art keywords
application
user account
user
server
client
Prior art date
Application number
TW101125195A
Other languages
Chinese (zh)
Other versions
TW201308237A (en
Inventor
佩德洛姆R 帕德波許
克雷格M 費德瑞吉
丹尼爾I 費爾德曼
格里葛瑞T 闊克
傑克R 馬修
康 傑奇 李
珍 沛瑞 休戴德
莫妮卡E 葛蘿麥克
湯瑪士K 伯克霍德
丹尼爾 伊密爾 朴
山姆 蓋拉貝利
伊利斯 馬休 費洛碩博
黃允肅
Original Assignee
蘋果公司
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 蘋果公司 filed Critical 蘋果公司
Publication of TW201308237A publication Critical patent/TW201308237A/en
Application granted granted Critical
Publication of TWI599973B publication Critical patent/TWI599973B/en

Links

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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/40
    • 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

Description

用於將預安裝之軟體連結至一線上商店之一使用者帳戶之系統及方法 System and method for linking pre-installed software to a user account of an online store

本發明大體而言係關於數位產品之散佈,且更具體而言係關於用於將軟體應用程式連結至線上商店之使用者帳戶的技術。 The present invention relates generally to the dissemination of digital products and, more particularly, to techniques for linking software applications to user accounts of online stores.

本申請案為2011年7月12日申請之題為「用於將預安裝之軟體連結至線上商店之使用者帳戶的系統及方法(SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE)」之美國專利申請案第13/181,424號的部分接續申請案;本申請案亦為2011年9月29日申請之題為「用於將預安裝之軟體連結至線上商店之使用者帳戶的系統及方法(SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE)」之美國專利申請案第13/248,942號的部分接續申請案;且本申請案亦主張來自2012年2月9日申請之題為「用於將預安裝之軟體連結至線上商店之使用者帳戶的系統及方法(SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE)」之美國臨時專利申請案第61/596,928號的優先權;所有該等申請案特此以全文引用之方式併入本文中。 This application is filed on July 12, 2011 entitled "System and Method for Linking Pre-installed Software to User Accounts of Online Stores (SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN Part of the continuation application of US Patent Application No. 13/181,424 to ONLINE STORE); this application is also entitled "Users for linking pre-installed software to online stores" on September 29, 2011 Part of the continuation application of U.S. Patent Application Serial No. 13/248,942, the entire disclosure of which is incorporated herein by reference. The United States, which was filed on February 9th, entitled "SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE" The priority of Provisional Patent Application No. 61/596,928, the entire disclosure of which is hereby incorporated by reference in its entirety.

電子裝置之製造商通常向消費者提供多種可用選項以在 購買之前個人化及定製電子裝置。舉例而言,可藉由選擇處理器、記憶體、硬碟機或配件來定製諸如電腦之個人計算裝置。製造商亦與各種軟體供應商合作以提供可連同電腦一起購買且在消費者提取電腦之前預安裝的軟體應用程式或程式。通常由製造商建立但亦可包括第三方應用程式之一些軟體應用程式可手動地或作為(例如)預設原廠映像之部分而免費預安裝於計算裝置上。因此,硬體組件及預安裝之軟體可由消費者進行個人化以確保購買之產品滿足消費者需求。 Manufacturers of electronic devices often offer consumers a variety of options available at Personalize and customize electronic devices before purchase. For example, a personal computing device such as a computer can be customized by selecting a processor, a memory, a hard drive, or an accessory. Manufacturers also work with a variety of software vendors to provide software applications or programs that can be purchased with a computer and pre-installed before the consumer extracts the computer. Some software applications, which are typically established by the manufacturer but may also include third party applications, can be pre-installed on the computing device for free, either manually or as part of, for example, a preset factory image. Thus, the hardware components and pre-installed software can be personalized by the consumer to ensure that the purchased product meets the consumer's needs.

在消費者接收電子裝置之後,消費者在未來可能有時需要重新安裝或更新預安裝之軟體。舉例而言,軟體提供者可能發行了預安裝於電子裝置上之軟體的更新版本。此通常稱為軟體更新。為了獲得軟體更新,消費者訪問軟體提供者之實體或線上商店且購買或獲取軟體之更新版本。然而,此程序為耗時的且有時為混亂的。類似地,當購買者重新格式化電子裝置之儲存器時,購買者通常必須重新安裝軟體。在重新安裝期間,可向購買者提示含有預安裝之軟體的各種緊密光碟(CD)或其他媒體。然而,購買者可能誤置了CD,因此使得重新安裝程序非常麻煩。 After the consumer receives the electronic device, the consumer may sometimes need to reinstall or update the pre-installed software in the future. For example, a software provider may issue an updated version of software pre-installed on an electronic device. This is often referred to as a software update. In order to obtain a software update, the consumer accesses the entity or online store of the software provider and purchases or obtains an updated version of the software. However, this procedure is time consuming and sometimes confusing. Similarly, when the purchaser reformats the storage of the electronic device, the purchaser typically has to reinstall the software. During reinstallation, the purchaser can be prompted with a variety of compact discs (CDs) or other media containing pre-installed software. However, the purchaser may have misplaced the CD, thus making the reinstallation process very cumbersome.

本發明之額外特徵及優點將在隨後之描述中加以闡述,且將部分地自該描述顯而易見,或可藉由實踐本文中所揭示之原理而得知。可借助於在隨附申請專利範圍中特定指出的器具及組合來實現及獲得本發明之特徵及優點。本發 明之此等及其他特徵將自以下描述及隨附申請專利範圍變得更加完全地顯而易見,或可藉由實踐本文中所闡述之原理而得知。 The additional features and advantages of the invention will be set forth in part in the description. The features and advantages of the present invention can be realized and obtained by means of the instrument and combinations particularly pointed out in the appended claims. This hair These and other features will become more fully apparent from the following description and the appended claims.

本發明揭示用於使應用程式(亦即,套裝軟體)、預安裝之應用程式或單獨購買之應用程式與使用者帳戶相關聯的系統、方法及非暫時性電腦可讀儲存媒體。該使用者帳戶可與線上商店相關聯或儲存於線上商店上。此程序可稱為採用。採用可向該使用者帳戶提供某些特殊權限,諸如應用程式之下載、重新下載及更新。在其他實例中,採用可組態該使用者帳戶以准許關於經採用之應用程式的其他特殊權限,諸如贈送經採用之應用程式或出售經採用之應用程式。在一常見情境下,新電腦包括某些預安裝之軟體。使用者可執行且使用新電腦上之預安裝之軟體。然而,為了接收及/或能更新、備份及/或其他軟體相關內容或服務,使用者可「採用」預安裝之軟體。藉由採用預安裝之軟體,預安裝之軟體與特定使用者帳戶(諸如,線上電子商店帳戶)相關聯。接著,線上電子商店可處置更新、備份、還原、應用程式內購買等。然而,使用者可選擇使用預安裝之軟體而不以完整功能性「採用」預安裝之軟體,依賴於使用者帳戶或對線上電子商店帳戶之存取的特徵除外。當使用者採用預安裝之軟體時,線上電子商店可修改帳戶、資料庫及/或軟體自身以使得預安裝之軟體不適合由另一使用者採用。在另一常見情境下,將已購買、贈送或由使用者以其他方式獲取的套裝軟體或應用程式安裝於 使用者之計算裝置上。計算裝置可將由使用者帳戶採用套裝軟體或應用程式之軟體採用請求傳輸至伺服器。該軟體採用請求可包括套裝軟體之指示及與使用者帳戶相關聯之識別符。在一些實例中,權利證明亦包括於採用請求中作為對套裝軟體之真確性的證明。該權利證明可為可僅自擁有套裝軟體而導出的值。舉例而言,該權利證明可與套裝軟體之序號相關聯或自套裝軟體之序號導出。該權利證明亦可為可自套裝軟體導出的值及與電子裝置相關聯之後設資料。舉例而言,與電子裝置相關聯之後設資料可為可自與電子裝置相關聯之硬體導出的值。一旦已採用應用程式,更新、備份及/或其他軟體相關內容或服務便可用於使用者。 The present invention discloses systems, methods, and non-transitory computer readable storage media for associating an application (ie, a packaged software), a pre-installed application, or a separately purchased application with a user account. The user account can be associated with an online store or stored on an online store. This procedure can be called adoption. Use can provide certain special permissions to the user account, such as application downloads, re-downloads, and updates. In other instances, the user account can be configured to permit other special permissions regarding the employed application, such as a gifted application or a sale of the employed application. In a common situation, the new computer includes some pre-installed software. The user can execute and use the pre-installed software on the new computer. However, in order to receive and/or update, back up and/or other software related content or services, the user may "use" the pre-installed software. Pre-installed software is associated with a particular user account (such as an online e-shop account) by employing pre-installed software. The online e-shop can then handle updates, backups, restores, in-app purchases, and more. However, the user may choose to use pre-installed software instead of "featured" pre-installed software with full functionality, with the exception of features that rely on user accounts or access to online e-shop accounts. When the user uses pre-installed software, the online e-shop can modify the account, database, and/or software itself so that the pre-installed software is not suitable for use by another user. In another common scenario, install a packaged software or application that has been purchased, presented, or otherwise obtained by the user. On the user's computing device. The computing device can transmit the request to the server by the user account using the software of the package software or the application. The software employs an indication that the request can include the package software and an identifier associated with the user account. In some instances, proof of entitlement is also included in the request to prove the authenticity of the packaged software. This proof of entitlement can be a value that can be derived only from owning the packaged software. For example, the proof of entitlement can be associated with the serial number of the packaged software or derived from the serial number of the packaged software. The proof of entitlement may also be a value that can be derived from the packaged software and associated with the electronic device. For example, the data associated with the electronic device can be a value that can be derived from the hardware associated with the electronic device. Once the application has been adopted, updates, backups, and/or other software-related content or services are available to the user.

經組態以實踐該方法之系統呈現可用於下載之應用程式、接收將該應用程式下載至計算裝置之請求,且判定該應用程式為預安裝之應用程式。接著,該系統呈現經組態以請求將應用程式與使用者帳戶連結之使用者授權的授權提示,接收該使用者授權,且回應於接收到該使用者授權而產生唯一硬體識別符或擷取與計算裝置相關聯之權利證明。該系統基於唯一硬體識別符或權利證明判定應用程式可連結,且在可採用應用程式可連結時將該可採用應用程式與使用者帳戶連結。該系統可藉由接收對更新頁面之請求而呈現可用於下載之應用程式,且回應於接收到該請求而收集與該應用程式相關聯之存根收據。該存根收據可包括與應用程式相關聯之版本號碼及名稱。接著,該系統基 於該版本號碼及該名稱判定應用程式之更新在伺服器上可用於下載,且呈現應用程式之名稱。 The system configured to practice the method presents an application available for downloading, receives a request to download the application to the computing device, and determines that the application is a pre-installed application. Next, the system presents an authorization prompt configured to request authorization of the user to link the application to the user account, receive the user authorization, and generate a unique hardware identifier or response in response to receiving the user authorization. Take the proof of entitlement associated with the computing device. The system determines that the application can be linked based on a unique hardware identifier or proof of entitlement and links the available application to the user account when the application can be linked. The system can present an application available for download by receiving a request to update the page and collect a stub receipt associated with the application in response to receiving the request. The stub receipt can include the version number and name associated with the application. Then, the system base The update of the version number and the name determination application is available for download on the server and the name of the application is presented.

或者,該系統可藉由以下步驟呈現可用於下載之應用程式:接收對購買頁面之請求;接收與計算裝置相關聯之資訊清單;及基於該資訊清單呈現預安裝之應用程式的清單。該資訊清單可包括可用於自伺服器下載之預安裝之應用程式的清單,其中預安裝之應用程式的該清單包括該應用程式。該系統可藉由搜尋應用程式資料庫及比較儲存於計算裝置上之應用程式之版本號碼與儲存於應用程式資料庫上之應用程式之版本號碼來判定應用程式在伺服器上具有可用更新。基於版本號碼之比較,可作出關於應用程式之更新是否存在於應用程式資料庫上之判定。系統可藉由判定應用程式與存根收據相關聯來判定應用程式為預安裝之應用程式。該系統可藉由以下步驟來判定應用程式為預安裝之應用程式:接收與計算裝置相關聯之資訊清單,該資訊清單包括預安裝之應用程式之清單;及判定該應用程式包括於預安裝之應用程式之該清單內。系統可藉由將唯一硬體識別符或購買證明傳輸至伺服器及判定該預安裝之應用程式是否已與另一使用者帳戶連結來判定預安裝之應用程式可連結。在另外其他實例中,該系統藉由使該預安裝之應用程式與該使用者帳戶相關聯及更新唯一性表以包括唯一硬體識別符或購買證明來使該預安裝之應用程式與該使用者帳戶連結。該唯一性表可包括與具有另一預安裝之應用程式之另一電子裝置相關聯的另一唯一硬體識別符 或購買證明,且該另一預安裝之應用程式可與另一使用者帳戶連結。 Alternatively, the system can present an application available for download by receiving a request for a purchase page, receiving a list of information associated with the computing device, and presenting a list of pre-installed applications based on the list of information. The list of information may include a list of pre-installed applications available for download from the server, wherein the list of pre-installed applications includes the application. The system can determine that the application has available updates on the server by searching the application database and comparing the version number of the application stored on the computing device with the version number of the application stored on the application database. Based on the comparison of the version numbers, a determination can be made as to whether the application update exists on the application database. The system can determine that the application is a pre-installed application by determining that the application is associated with the stub receipt. The system can determine, by the following steps, that the application is a pre-installed application: receiving a list of information associated with the computing device, the list of information including a list of pre-installed applications; and determining that the application is included in the pre-installation The list of applications. The system can determine that the pre-installed application can be linked by transmitting a unique hardware identifier or proof of purchase to the server and determining whether the pre-installed application has been linked to another user account. In still other examples, the system causes the pre-installed application to use the pre-installed application by associating the pre-installed application with the user account and updating the uniqueness table to include a unique hardware identifier or proof of purchase. Account link. The uniqueness table can include another unique hardware identifier associated with another electronic device having another pre-installed application Or proof of purchase, and the other pre-installed application can be linked to another user account.

在另一變化中,該系統接收將預安裝之應用程式與線上商店之使用者帳戶連結的請求,該線上商店經組態以將與該使用者帳戶相關聯之應用程式傳輸至與該使用者帳戶相關聯之一或多個計算裝置。接著,該系統產生與計算裝置相關聯之唯一硬體識別符或購買證明,且基於該唯一硬體識別符或購買證明來判定該預安裝之應用程式可連結。當該預安裝之應用程式可連結時,該系統將該預安裝之應用程式與該使用者帳戶連結。該唯一硬體識別符可基於電子裝置之一或多個硬體組件,諸如MAC位址、通用裝置識別符(UDID)、邏輯板序號或乙太網路硬體位址。在其他實例中,可使用購買證明。該購買證明可基於電子裝置之硬體組件、與應用程式之贈送、購買或獲取相關聯之後設資料。判定預安裝之應用程式可連結可包括:將唯一硬體識別符或購買證明傳輸至伺服器;及判定該預安裝之應用程式或購買證明是否已與另一使用者帳戶連結。該系統可藉由判定計算裝置之原始組態包括預安裝之應用程式來判定該預安裝之應用程式可連結。將該預安裝之應用程式與該使用者帳戶連結可包括:使該預安裝之應用程式與該使用者帳戶相關聯;更新唯一性表以包括該唯一硬體識別符或購買證明,該唯一性表包括與具有另一預安裝之應用程式之另一電子裝置相關聯的另一唯一硬體識別符或購買證明,該另一預安裝之應用程式已與另一使用者帳戶連結。 在又一實例中,將預安裝之應用程式與使用者帳戶連結進一步包括自資訊清單移除與該預安裝之應用程式相關聯之後設資料,該資訊清單經組態以列出尚未與該使用者帳戶連結之預安裝之應用程式。該系統可將該預安裝之應用程式下載至計算裝置。 In another variation, the system receives a request to link a pre-installed application to a user account of an online store, the online store configured to transfer an application associated with the user account to the user The account is associated with one or more computing devices. Next, the system generates a unique hardware identifier or proof of purchase associated with the computing device and determines that the pre-installed application is linkable based on the unique hardware identifier or proof of purchase. When the pre-installed application is connectable, the system links the pre-installed application to the user account. The unique hardware identifier can be based on one or more hardware components of the electronic device, such as a MAC address, a Universal Device Identifier (UDID), a logical board serial number, or an Ethernet hardware address. In other instances, proof of purchase can be used. The proof of purchase may be based on hardware components of the electronic device, associated with the application, purchase, or acquisition. Determining that the pre-installed application can be linked may include: transmitting a unique hardware identifier or proof of purchase to the server; and determining whether the pre-installed application or proof of purchase has been linked to another user account. The system can determine that the pre-installed application is connectable by determining that the original configuration of the computing device includes a pre-installed application. Linking the pre-installed application to the user account can include: associating the pre-installed application with the user account; updating the uniqueness table to include the unique hardware identifier or proof of purchase, the uniqueness The table includes another unique hardware identifier or proof of purchase associated with another electronic device having another pre-installed application that has been linked to another user account. In yet another example, linking the pre-installed application to the user account further includes removing information from the information listing associated with the pre-installed application, the information listing configured to list the usage not yet used Pre-installed apps linked to the account. The system can download the pre-installed application to the computing device.

為了描述可獲得本發明之上述及其他優點及特徵之方式,將參考在隨附圖式中說明之本發明之特定實施例演現上文簡要描述之原理之更特定描述。應理解,此等圖式僅描繪本發明之例示性實施例,且因此並不將此等圖式視為限制本發明之範疇,本文中之原理將經由使用隨附圖式來額外特定且詳細地描述及解釋。 For a more detailed description of the preferred embodiments of the invention, the invention may It is understood that the drawings are merely illustrative of the exemplary embodiments of the invention, and are not intended to Description and explanation.

下文詳細論述本發明之各種實施例。雖然論述了特定實施,但應理解,僅出於說明目進行此論述。熟習相關技術者將認識到,在不脫離本發明之精神及範疇之情況下可使用其他組件及組態。 Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this discussion is made solely for the purpose of illustration. Those skilled in the art will recognize that other components and configurations can be used without departing from the spirit and scope of the invention.

本發明解決此項技術中對使電子裝置上之預安裝之軟體與散佈中心或線上商店之使用者帳戶相關聯的需求。本發明亦解決此項技術中對使除預安裝之軟體以外的其他類型之軟體與使用者帳戶相關聯的需求。舉例而言,經購買之軟體、作為禮物接收之軟體、自軟體製造商免費散佈或象徵性收費而散佈之軟體或使用其他方法獲取之軟體可與線上商店或店鋪之使用者帳戶相關聯。此程序可稱為線上商店之使用者帳戶對軟體之「採用」。藉由使軟體與線上商 店之使用者帳戶相關聯,可自線上商店下載軟體更新及重新安裝,因此證明管理電子裝置上之軟體的更簡單、更便利方式。此外,與使用者帳戶相關聯之其他計算裝置亦可自線上商店接收軟體更新及重新安裝。圖1至圖15中之以下描述適用於預安裝之應用軟體、套裝軟體及經由其他手段(諸如,禮物、購買或以其他方式散佈或獲取)獲取之應用程式。因而,如本文中所使用,術語「預安裝之應用程式」可與贈送之應用程式、購買之應用程式、散佈之應用程式、獲取之應用程式及其他者互換地使用。換言之,「預安裝之應用程式」可為使用者具有所有權之任何應用程式。類似地,「唯一硬體識別符」可為經組態以將權利證明或所有權提供至安裝於計算裝置上之應用程式的任何唯一識別符。舉例而言,權利證明可為對於建立之應用程式之每一複本而言唯一的值。權利證明亦可為用於兌換應用程式之兌換碼。在其他實例中,權利證明可為唯一值與非唯一值之組合,諸如組合兌換碼(其可能不為唯一的)與唯一識別符(其為唯一的),該唯一識別符與使用者帳戶相關聯。在圖1中說明可用以實踐概念之基本通用系統或計算裝置的簡要介紹性描述。其後將為如何使預安裝之軟體與使用者帳戶相關聯的更詳細描述,包括若干變化,如各種實施例所闡述。本發明現轉向圖1。 The present invention addresses the need in the art to associate pre-installed software on an electronic device with a user account of a distribution center or online store. The present invention also addresses the need in the art to associate other types of software than pre-installed software with user accounts. For example, purchased software, software received as a gift, software distributed free of charge from a software manufacturer or symbolic fee, or software obtained using other methods may be associated with a user account of an online store or store. This program can be referred to as the "adoption" of the user account of the online store. By making software and online quotient The store's user account is associated with the ability to download software updates and reinstalls from online stores, thus demonstrating a simpler and more convenient way to manage software on electronic devices. In addition, other computing devices associated with the user account may also receive software updates and reinstallations from the online store. The following description in Figures 1 through 15 applies to pre-installed application software, packaged software, and applications obtained via other means, such as gifts, purchases, or otherwise distributed or acquired. Thus, as used herein, the term "pre-installed application" may be used interchangeably with the gifted application, the purchased application, the distributed application, the acquired application, and others. In other words, a "pre-installed application" can be any application that the user has ownership of. Similarly, a "unique hardware identifier" can be any unique identifier configured to provide proof of entitlement or ownership to an application installed on a computing device. For example, the proof of entitlement can be a value that is unique to each copy of the established application. The proof of entitlement can also be a redemption code for redemption of the application. In other examples, the proof of entitlement may be a combination of a unique value and a non-unique value, such as a combined redemption code (which may not be unique) and a unique identifier (which is unique) associated with the user account Union. A brief introductory description of a basic general purpose system or computing device that may be used in a practical concept is illustrated in FIG. A more detailed description of how to associate the pre-installed software with the user account will be followed, including several variations, as set forth in various embodiments. The invention now turns to Figure 1.

參看圖1,例示性系統100包括通用計算裝置100,該通用計算裝置100包括處理單元(CPU或處理器)120及系統匯流排110,該系統匯流排110將包括系統記憶體130(諸如, 唯讀記憶體(ROM)140及隨機存取記憶體(RAM)150)之各種系統組件耦接至處理器120。系統100可包括直接與處理器120連接、與處理器120緊密近接或經整合而作為處理器120之部分的高速記憶體之快取記憶體122。系統100將資料自記憶體130及/或儲存裝置160複製至快取記憶體122以供處理器120快速存取。以此方式,快取記憶體提供避免處理器120在等待資料時延遲之效能提昇。此等及其他模組可控制或經組態以控制處理器120執行各種動作。其他系統記憶體130亦可供使用。記憶體130可包括具有不同效能特性之多種不同類型之記憶體。可瞭解,本發明可在具有一個以上處理器120之計算裝置100上操作,或在經網路連接在一起以提供更大處理能力之計算裝置之群組或叢集上操作。處理器120可包括任何通用處理器及硬體模組或軟體模組(諸如,儲存於儲存裝置160中之模組1 162、模組2 164及模組3 166,該等模組經組態以控制處理器120)以及專用處理器(其中軟體指令併入於實際處理器設計中)。處理器120可本質上為完全自含式計算系統,其含有多個核心或處理器、匯流排、記憶體控制器、快取記憶體等。多核心處理器可對稱或不對稱。 Referring to FIG. 1, an exemplary system 100 includes a general purpose computing device 100 that includes a processing unit (CPU or processor) 120 and a system bus 110 that will include system memory 130 (such as, for example, Various system components of read only memory (ROM) 140 and random access memory (RAM) 150) are coupled to processor 120. System 100 can include a cache memory 122 of high speed memory that is directly coupled to processor 120, intimately coupled to processor 120, or integrated as part of processor 120. System 100 copies the data from memory 130 and/or storage device 160 to cache memory 122 for quick access by processor 120. In this manner, the cache memory provides an increase in performance that avoids delays in processor 120 while waiting for data. These and other modules can be controlled or configured to control processor 120 to perform various actions. Other system memory 130 is also available. Memory 130 can include a plurality of different types of memory having different performance characteristics. It will be appreciated that the present invention can operate on computing device 100 having more than one processor 120, or on a group or cluster of computing devices that are connected together via a network to provide greater processing power. The processor 120 can include any general-purpose processor and a hardware module or a software module (such as the module 1 162, the module 2 164, and the module 3 166 stored in the storage device 160. The modules are configured. The control processor 120) and the dedicated processor (where the software instructions are incorporated into the actual processor design). The processor 120 can be essentially a fully self-contained computing system that includes multiple cores or processors, bus bars, memory controllers, cache memory, and the like. Multi-core processors can be symmetric or asymmetrical.

系統匯流排110可為若干類型之匯流排結構中之任一者,該等匯流排結構包括使用多種匯流排架構中之任一者的記憶體匯流排或記憶體控制器、周邊匯流排及區域匯流排。儲存於ROM 140或其類似者中之基本輸入/輸出(BIOS)可提供幫助在計算裝置100內之元件之間傳送資訊(諸如, 在啟動期間)的基本常式。計算裝置100進一步包括儲存裝置160,諸如硬碟機、磁碟機、光碟機、磁帶機或其類似者。儲存裝置160可包括用於控制處理器120之軟體模組162、164、166。預期其他硬體或軟體模組。儲存裝置160係藉由驅動介面連接至系統匯流排110。驅動器及相關聯之電腦可讀儲存媒體提供對電腦可讀指令、資料結構、程式模組及用於計算裝置100之其他資料的非揮發性儲存。在一態樣中,執行特定功能之硬體模組包括儲存於非暫時性電腦可讀媒體中之結合必要硬體組件(諸如,處理器120、匯流排110、顯示器170等)以執行功能的軟體組件。基本組件為熟習此項技術者所已知的,且取決於裝置之類型(諸如,裝置100為小型手持式計算裝置、桌上型電腦抑或電腦伺服器)而預期適當變化。 The system bus bar 110 can be any of several types of bus bar structures including a memory bus or memory controller, a peripheral bus bar, and a region using any of a variety of bus bar architectures. Bus bar. A basic input/output (BIOS) stored in ROM 140 or the like can provide assistance in transferring information between components within computing device 100 (eg, The basic routine during startup. Computing device 100 further includes storage device 160, such as a hard disk drive, a magnetic disk drive, a compact disk drive, a tape drive, or the like. The storage device 160 can include software modules 162, 164, 166 for controlling the processor 120. Other hardware or software modules are expected. The storage device 160 is connected to the system bus bar 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 materials for computing device 100. In one aspect, a hardware module that performs a particular function includes a combination of necessary hardware components (such as processor 120, bus bar 110, display 170, etc.) stored in a non-transitory computer readable medium to perform functions. Software component. The basic components are known to those skilled in the art and are expected to vary as appropriate depending on the type of device, such as the device 100 being a small handheld computing device, a desktop computer, or a computer server.

儘管本文中所描述之例示性實施例使用硬碟160,但熟習此項技術者應瞭解,亦可在例示性作業環境中使用可儲存可由電腦存取之資料的其他類型之電腦可讀媒體,諸如磁帶匣、快閃記憶卡、數位影音光碟、卡匣、隨機存取記憶體(RAM)150、唯讀記憶體(ROM)140、纜線或含有位元串流之無線信號及其類似者。非暫時性電腦可讀儲存媒體明確地將諸如能量、載波信號、電磁波及信號本身之媒體排除在外。 Although the exemplary embodiments described herein use hard disk 160, those skilled in the art will appreciate that other types of computer readable media that can store data accessible by a computer can also be used in an exemplary operating environment. Such as tape cassettes, flash memory cards, digital video discs, cassettes, random access memory (RAM) 150, read only memory (ROM) 140, cable or wireless signals containing bit stream and the like . Non-transitory computer readable storage media explicitly excludes media such as energy, carrier signals, electromagnetic waves, and signals themselves.

為了實現使用者與計算裝置100之互動,輸入裝置190表示任何數目種輸入機構,諸如用於語音之麥克風、用於示意動作或圖形輸入之觸敏式螢幕、鍵盤、滑鼠、運動輸 入、語音等。輸出裝置170亦可為熟習此項技術所已知之數種機構中的一或多者。在一些例子中,多模態系統使得使用者能夠提供多種類型之輸入以與計算裝置100通信。通信介面180大體上控管及管理使用者輸入及系統輸出。不限制在任何特定硬體配置上操作,且因此可容易地用改良之硬體或韌體配置(在其得以開發時)來取代此處之基本特徵。 In order to enable user interaction with the computing device 100, the input device 190 represents any number of input mechanisms, such as a microphone for voice, a touch sensitive screen for gestures or graphical input, a keyboard, a mouse, a sports loser. In, voice, etc. Output device 170 can also be one or more of several mechanisms known to those skilled in the art. In some examples, the multimodal system enables a user to provide multiple types of inputs to communicate with computing device 100. Communication interface 180 generally controls and manages user input and system output. It is not limited to operate on any particular hardware configuration, and thus the improved hardware or firmware configuration (when it is developed) can be readily substituted for the essential features herein.

為了解釋之清晰起見,將說明性系統實施例呈現為包括個別功能區塊,該等個別功能區塊包括標示為「處理器」或處理器120之功能區塊。此等區塊表示之功能可經由使用共用或專用硬體來提供,包括(但不限於)能夠執行軟體之硬體及經專門建置以作為在通用處理器上執行之軟體之等效物而操作的硬體(諸如,處理器120)。舉例而言,圖1中所呈現之一或多個處理器的功能可由單一共用處理器或多個處理器提供。(術語「處理器」之使用不應被解釋為專指能夠執行軟體之硬體)。說明性實施例可包括微處理器及/或數位信號處理器(DSP)硬體、用於儲存執行下文所論述之操作之軟體的唯讀記憶體(ROM)140,及用於儲存結果之隨機存取記憶體(RAM)150。亦可提供超大型積體電路(VLSI)硬體實施例以及與通用DSP電路組合之定製VLSI電路。 For clarity of explanation, illustrative system embodiments are presented as including individual functional blocks including functional blocks labeled "processor" or processor 120. The functions indicated by such blocks may be provided through the use of common or special purpose hardware, including but not limited to hardware capable of executing software and specially constructed to be equivalent to the software executed on a general purpose processor. The hardware of the operation (such as processor 120). For example, the functionality of one or more of the processors presented in FIG. 1 may be provided by a single shared processor or multiple processors. (The use of the term "processor" should not be interpreted as referring specifically to hardware capable of executing software). Illustrative embodiments may include a microprocessor and/or digital signal processor (DSP) hardware, a read-only memory (ROM) 140 for storing software that performs the operations discussed below, and a random number for storing results Access memory (RAM) 150. A very large integrated circuit (VLSI) hardware embodiment and a custom VLSI circuit combined with a general purpose DSP circuit are also available.

將各種實施例之邏輯操作實施為:(1)在通用電腦內之可程式化電路上執行之電腦實施步驟、操作或程序的序列;(2)在專用可程式化電路上執行之電腦實施步驟、操作 或程序的序列;及/或(3)可程式化電路內之互連之機器模組或程式引擎。圖1中所展示之系統100可實踐所敍述方法之全部或部分,可為所敍述系統之部分,及/或可根據所敍述之非暫時性電腦可讀儲存媒體中之指令而操作。可將此等邏輯操作實施為模組,該等模組經組態以控制處理器120根據模組之程式化來執行特定功能。舉例而言,圖1說明為經組態以控制處理器120之模組的三個模組Mod1 162、Mod2 164及Mod3 166。此等模組可儲存於儲存裝置160上且在執行階段載入至RAM 150或記憶體130中或可如此項技術中將已知而儲存於其他電腦可讀記憶體位置中。 The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations or programs executed on a programmable circuit within a general purpose computer; (2) computer implemented steps executed on a dedicated programmable circuit ,operating Or a sequence of programs; and/or (3) an interconnected machine module or program engine within the programmable circuit. The system 100 shown in FIG. 1 can practice all or part of the described methods, can be part of the described system, and/or can operate in accordance with the instructions in the non-transitory computer readable storage medium described. These logical operations can be implemented as modules that are configured to control the processor 120 to perform specific functions in accordance with the stylization of the modules. For example, FIG. 1 illustrates three modules Mod1 162, Mod2 164, and Mod3 166 that are configured to control the modules of processor 120. The modules can be stored on storage device 160 and loaded into RAM 150 or memory 130 during the execution phase or can be stored in other computer readable memory locations as is known in the art.

已揭示計算系統之一些組件,本發明現返回至對特定技術之論述,該技術用於使計算裝置(諸如,個人電腦、膝上型電腦、遊戲控制台、智慧型電話、行動電話或平板PC)上之預安裝之軟體與線上應用程式散佈商店或商場之使用者帳戶相關聯(其類似於連結或採用)。本文中所闡述之方法可藉由將預安裝之軟體連結至線上散佈網站(諸如,線上商店或散佈中心)之使用者帳戶來改良升級預安裝之軟體或將預安裝之軟體重新安裝至計算裝置的效率及便利性。線上散佈網站將與使用者帳戶相關聯之預安裝之軟體傳輸至連結至使用者帳戶之一或多個計算裝置。可將預安裝之軟體及預安裝之軟體之更新兩者傳輸至一或多個計算裝置。在一些實例中,散佈網站可指定對與給定使用者帳戶相關聯之可接收與給定使用者帳戶相關聯之軟體的計算裝置之數目的限制。在其他實例中,預安裝之軟體為 一次產生且複製至裝置群組中之每一者的標準「映像」之部分。舉例而言,標準裝置「映像」可包括作業系統、驅動程式、程式、設定等。因此,每一映像裝置具有相同軟體組態,包括預安裝之軟體,且在終端使用者(或其他實體)設置裝置之後,可採用預安裝之軟體且使其與線上商店或商場之使用者帳戶相關聯。 Having disclosed some components of a computing system, the present invention now returns to a discussion of a particular technique for making a computing device (such as a personal computer, laptop, game console, smart phone, mobile phone, or tablet PC) The pre-installed software on the software is associated with a user account that distributes the store or mall (which is similar to a link or adoption). The methods described herein can be used to upgrade a pre-installed software or reinstall a pre-installed software to a computing device by linking pre-installed software to a user account that distributes the website on an online basis, such as an online store or distribution center. Efficiency and convenience. The online distribution website transmits the pre-installed software associated with the user account to one or more computing devices linked to the user account. Both the pre-installed software and the pre-installed software updates can be transmitted to one or more computing devices. In some instances, the scatter website may specify a limit on the number of computing devices associated with a given user account that can receive software associated with a given user account. In other instances, the pre-installed software is The portion of the standard "image" that is generated and copied to each of the device groups at a time. For example, a standard device "image" may include an operating system, drivers, programs, settings, and the like. Therefore, each imaging device has the same software configuration, including pre-installed software, and after the end user (or other entity) sets up the device, pre-installed software can be used and made to be linked to a user account of an online store or mall. Associated.

圖2說明例示性應用程式散佈系統。在此實例中,散佈系統200包括散佈中心210、應用程式資料庫220、組態伺服器230、網際網路250或其他網路、計算裝置260、計算裝置270及攜帶型裝置280。散佈中心210、應用程式資料庫220及組態伺服器230一起可表示主從式模型之伺服器側240的不同單獨組件。類似地,計算裝置260、計算裝置270及攜帶型裝置280可表示主從式模型之用戶端側290上的不同單獨組件。因此,散佈系統200之寬泛概述包括伺服器側240經由網際網路250與用戶端側290通信。作為一實例,可將伺服器側240向使用者表示為用於出售及散佈應用程式之線上商店,或多個雲端伺服器。來自用戶端側290之裝置可使用儲存於裝置上之應用程式管理電腦程式與線上商店通信。在其他實例中,可用諸如電腦網路、電話網路、乙太網路、區域網路、有線網路、無線網路及其他網路的其他通信網路來替換網際網路250。 Figure 2 illustrates an exemplary application distribution system. In this example, the distribution system 200 includes a distribution center 210, an application database 220, a configuration server 230, an internet 250 or other network, a computing device 260, a computing device 270, and a portable device 280. The distribution center 210, the application repository 220, and the configuration server 230 together may represent different individual components of the server side 240 of the master-slave model. Similarly, computing device 260, computing device 270, and portable device 280 can represent different individual components on the client side 290 of the master-slave model. Thus, a broad overview of the scatter system 200 includes the server side 240 communicating with the client side 290 via the internet 250. As an example, server side 240 may be represented to a user as an online store for selling and distributing applications, or as multiple cloud servers. The device from the client side 290 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 networks, Ethernet, regional networks, wired networks, wireless networks, and other networks.

計算裝置260可包括應用程式261。應用程式261可包括預安裝於計算裝置260上、經提供作為封裝之部分或為之提供某一種類之安裝媒體的應用程式。在一常見情境下, 計算裝置260之所有者自製造商購買已安裝有此等應用程式之計算裝置260。應用程式261亦可包括由計算裝置260經由其他手段獲取之應用程式(或套裝軟體),諸如贈送、購買或免費散佈(僅舉幾個列子)之應用程式。應用程式261亦可包括由計算裝置260之使用者自散佈中心210購買的應用程式。為了自散佈中心210購買所要應用程式,使用者登錄使用者帳戶291,該使用者帳戶291含有與使用者已購買之應用程式相關聯的後設資料及與用於向散佈中心210付款以換取所要應用程式之付款資訊相關聯的後設資料。一旦登錄,使用者便可選擇要購買之所要應用程式。當使用者同意支付該應用程式之購買價格時,使用者之付款資訊用以完成交易。一旦交易完成,所要應用程式便與使用者帳戶291相關聯,因此允許使用者下載所要應用程式以及所要應用程式之更新。與使用者帳戶291相關聯之應用程式亦可更新或重新下載至與使用者帳戶291相關聯之其他裝置上。 Computing device 260 can include an application 261. The application 261 can include an application pre-installed on the computing device 260, provided as part of the package, or provided with a certain type of installation media. In a common situation, The owner of computing device 260 purchases computing device 260 from which the application has been installed from the manufacturer. Application 261 may also include applications (or suites of software) that are obtained by computing device 260 via other means, such as applications that are gifted, purchased, or distributed freely (to name a few). The application 261 can also include an application purchased by the user of the computing device 260 from the distribution center 210. In order to purchase the desired application from the distribution center 210, the user logs into the user account 291, which contains the back-end information associated with the application that the user has purchased and the payment for the payment to the distribution center 210 in exchange for the desired Post-data related to the payment information of the application. Once logged in, the user can select the desired application to purchase. When the user agrees to pay the purchase price of the application, the user's payment information is used to complete the transaction. Once the transaction is completed, the desired application is associated with the user account 291, thus allowing the user to download the desired application and updates to the desired application. The application associated with the user account 291 can also be updated or re-downloaded to other devices associated with the user account 291.

在一些實例中,使用者可具有不在此時間點使應用程式與使用者帳戶相關聯之選項。舉例而言,將應用程式作為禮物接收之使用者可能不具有使用者帳戶或不希望使該應用程式與其使用者帳戶相關聯。在第一情境下,計算裝置260可允許使用者安裝應用程式而不需要使用者設置使用者帳戶。若使用者希望接收更新或將該應用程式安裝於其所擁有之其他電子裝置上,則使用者可選擇使用者帳戶且將該應用程式與其使用者帳戶連結(亦即,採用)。在此實 例中,計算裝置260、計算裝置270及攜帶型裝置280皆與使用者帳戶291相關聯,且因此經組態以接收已與使用者帳戶291相關聯之所有應用程式的更新及重新下載。此外,攜帶型裝置280可與計算裝置270通信以在兩個裝置之間傳送數位資料及應用程式。在一實例中,計算裝置270可經組態而為含有與使用者帳戶291相關聯之所有應用程式的中心儲存庫且將選定應用程式傳送至攜帶型裝置280。在此說明書中,術語「應用程式」指代由軟體提供者提供之軟體程式或應用程式的複本。在其他實例中,最初預安裝於計算裝置上之除軟體應用程式及軟體程式(諸如,系統軟體、企業軟體、多媒體檔案、視訊檔案、音訊檔案及影像檔案)以外的其他數位產品(諸如,使用者具有所有權之軟體應用程式)亦可與使用者帳戶291相關聯及由散佈中心210散佈/重新散佈。 In some instances, the user may have an option to associate the application with the user account at this point in time. For example, a user receiving an application as a gift may not have a user account or would like to associate the application with its user account. In the first scenario, computing device 260 can allow a user to install an application without requiring the user to set up a user account. If the user wishes to receive an update or install the application on other electronic devices owned by the user, the user can select the user account and link the application to its user account (ie, employ). In this In the example, computing device 260, computing device 270, and portable device 280 are all associated with user account 291 and are thus configured to receive updates and re-downloads of all applications that have been associated with user account 291. In addition, portable device 280 can communicate with computing device 270 to transfer digital data and applications between the two devices. In an example, computing device 270 can be configured to be a central repository containing all of the applications associated with user account 291 and to communicate the selected application to portable device 280. In this specification, the term "application" refers to a copy of a software program or application provided by a software provider. In other instances, digital products other than software applications and software programs (such as system software, enterprise software, multimedia files, video files, audio files, and video files) that are pre-installed on computing devices (such as The software application with ownership may also be associated with the user account 291 and distributed/redistributed by the distribution center 210.

耦接至應用程式資料庫220之散佈中心210經組態以出售、遞送及維護來自應用程式資料庫220之應用程式。應用程式資料庫220可經組態以儲存可用於自伺服器側240散佈之應用程式中的一些或全部。該等應用程式可經由網際網路250出售、更新及遞送(亦即,傳輸)至用戶端側290中之裝置。因而,散佈中心210表示應用程式之線上商店。舉例而言,應用程式資料庫220可自散佈中心210接收對應用程式之請求,且回應於該請求而將所請求之應用程式傳輸至散佈中心210,散佈中心210隨後將該應用程式傳輸至請求裝置。所請求之應用程式可為可用於購買之應用程式 或先前與使用者帳戶相關聯之應用程式(亦即,已採用之單獨獲取或預安裝之應用程式)。在其他實例中,應用程式資料庫220可直接將所請求之應用程式傳輸至請求裝置。在另外其他實例中,應用程式資料庫220可駐存於用戶端側290上,其中伺服器側240可基於與使用者帳戶相關聯之應用程式而授予對應用程式資料庫220之特定應用程式的存取。 The distribution center 210 coupled to the application repository 220 is configured to sell, deliver, and maintain applications from the application repository 220. The application repository 220 can be configured to store some or all of the applications available for deployment from the server side 240. The applications can be sold, updated, and delivered (i.e., transmitted) to the devices in the client side 290 via the Internet 250. Thus, the distribution center 210 represents the online store of the application. For example, the application repository 220 can receive a request for an application from the distribution center 210 and, in response to the request, transmit the requested application to the distribution center 210, which then transmits the application to the request. Device. The requested application can be an application that can be used for purchase. Or an application previously associated with a user account (that is, an application that has been acquired separately or pre-installed). In other examples, the application repository 220 can directly transfer the requested application to the requesting device. In still other examples, the application repository 220 can reside on the client side 290, wherein the server side 240 can grant a particular application to the application repository 220 based on the application associated with the user account. access.

用戶端側290之裝置可傳輸軟體採用請求以將裝置上之預安裝之應用程式或以其他方式獲取但未採用之應用程式與使用者帳戶連結(亦即,相關聯或採用)。連結應用程式允許使用者使應用程式與使用者帳戶相關聯,因此允許使用者將應用程式下載至亦與同一使用者帳戶相關聯之其他裝置。此程序可稱作「連結」、「採用」或「關聯」應用程式。舉例而言,計算裝置260可請求將來自應用程式261之應用程式與使用者帳戶291連結。可經由網際網路250將該請求連同與應用程式或計算裝置260相關聯之唯一識別符傳輸至散佈中心210,以判定該應用程式是否可與使用者帳戶291相關聯。唯一硬體識別符為基於裝置硬體之唯一識別符,其用以區別特定裝置與所有其他裝置。舉例而言,製造商可確保所製造之每一裝置皆包括唯一硬體識別符,該唯一硬體識別符為唯一的且因此不同於任何其他裝置之唯一硬體識別符。作為一實例,唯一硬體識別符可基於裝置之邏輯板序號及/或乙太網路硬體位址。在一實例中,此等兩個值可串連且雜湊以產生唯一硬體識別符。在 其他實例中,可串連、雜湊或使用多種資料操縱演算法以其他方式組合對裝置特定之其他後設資料,以形成唯一硬體識別符。在另外其他實例中,用以判定應用程式是否可與使用者帳戶291相關聯之唯一識別符可基於任何其他購買或權利證明,該任何其他購買或權利證明可充當與唯一識別符相關聯之應用程式(亦即,套裝軟體)係自軟體製造商合法獲取的證據。在一例子中,唯一識別符可自與應用程式相關聯之後設資料或屬性導出。在另一例子中,唯一識別符可自與以下各者相關聯之後設資料導出:應用程式、用戶端裝置、使用者帳戶、與使用者帳戶相關聯之其他用戶端裝置,或以上各者中之一或多者的組合。 The device on the client side 290 can transmit a request to connect (i.e., associate or employ) a pre-installed application on the device or an otherwise acquired application that is not employed to the user account. The link application allows the user to associate the application with the user account, thus allowing the user to download the application to other devices that are also associated with the same user account. This program can be called a "link", "take" or "associate" application. For example, computing device 260 can request that the application from application 261 be linked to user account 291. The request can be transmitted via the internet 250 along with a unique identifier associated with the application or computing device 260 to the distribution center 210 to determine if the application can be associated with the user account 291. The unique hardware identifier is a unique identifier based on the device hardware that is used to distinguish a particular device from all other devices. For example, the manufacturer can ensure that each device manufactured includes a unique hardware identifier that is unique and therefore unique to the unique hardware identifier of any other device. As an example, the unique hardware identifier can be based on the logical board number of the device and/or the Ethernet hardware address. In an example, these two values can be concatenated and hashed to produce a unique hardware identifier. in In other examples, a plurality of data manipulation algorithms may be used in tandem, hashed, or otherwise combined with other device-specific post-data to form a unique hardware identifier. In still other examples, the unique identifier used to determine whether the application can be associated with the user account 291 can be based on any other purchase or proof of entitlement that can serve as an application associated with the unique identifier. The program (ie, the package software) is evidence that is legally obtained from the software manufacturer. In one example, the unique identifier can be derived from the data or attributes associated with the application. In another example, the unique identifier can be derived from the association with the following: an application, a client device, a user account, other client devices associated with the user account, or both. A combination of one or more.

在一實施例中,散佈中心210接收唯一識別符,且處理或分析該唯一識別符以判定應用程式是否可與使用者帳戶相關聯。在某些情境下,應用程式不可與使用者帳戶相關聯。舉例而言,若裝置之應用程式先前已與另一使用者帳戶相關聯,則該應用程式不可與使用者帳戶相關聯。作為另一實例,若應用程式並非授權複本,則該應用程式可能不能夠與使用者帳戶相關聯。此情形可能在使用者將最初安裝於一裝置上之應用程式手動複製至另一裝置上時發生。作為又一實例,關聯程序可能需要使用者登錄電子裝置上之使用者帳戶以將應用程式連結至使用者帳戶。 In an embodiment, the distribution center 210 receives the unique identifier and processes or analyzes the unique identifier to determine if the application can be associated with the user account. In some situations, an application cannot be associated with a user account. For example, if the device's application has previously been associated with another user account, the application may not be associated with the user account. As another example, if the application is not an authorized copy, the application may not be associated with a user account. This situation may occur when a user manually copies an application originally installed on one device to another device. As yet another example, the associated program may require the user to log into a user account on the electronic device to link the application to the user account.

在另一實施例中,散佈中心210接收唯一識別符,且處理或分析該唯一識別符以判定應用程式是否可與使用者帳戶相關聯。作為一實例,處理唯一識別符可包括藉由比較 該唯一識別符與資料庫來驗證該唯一識別符。資料庫可具有複數個條目,每一條目儲存與應用程式之授權複本相關聯的唯一識別符。比較之結果可用以判定應用程式之採用狀態,諸如應用程式為有效複本抑或應用程式為無效複本,或應用程式是否已與使用者帳戶相關聯。作為另一實例,處理唯一識別符可包括將唯一識別符輸入至雜湊表中以判定應用程式之採用狀態。在又一實例中,可接收唯一識別符作為至驗證引擎之輸入,驗證引擎判定應用程式之此安裝是否有效且尚未採用。在另外其他實例中,可將其他資料處理技術應用於唯一識別符以判定應用程式是否可與使用者帳戶相關聯。該應用程式可最近由使用者獲取。換言之,應用程式可已由使用者在電子裝置自散佈或製造之購買及接收之後獲取。或者,可在購買電子裝置時獲取應用程式。一旦已藉由散佈中心210判定採用狀態,便可將根據採用狀態之確認傳輸至電子裝置。可傳輸該確認以告知電子裝置採用程序之狀態。基於該確認,電子裝置可請求套裝軟體之下載或套裝軟體之更新。在其他實例中,散佈伺服器210可根據採用狀態自動開始將套裝軟體或套裝軟體之更新下載至電子裝置的程序。 In another embodiment, the distribution center 210 receives the unique identifier and processes or analyzes the unique identifier to determine if the application can be associated with the user account. As an example, processing the unique identifier may include comparing by The unique identifier is associated with the database to verify the unique identifier. The database can have a plurality of entries, each of which stores a unique identifier associated with the authorized copy of the application. The result of the comparison can be used to determine the status of the application, such as whether the application is a valid copy or if the application is an invalid copy, or if the application is already associated with a user account. As another example, processing the unique identifier can include entering the unique identifier into the hash table to determine the state of adoption of the application. In yet another example, the unique identifier can be received as input to the verification engine, and the verification engine determines if the installation of the application is valid and has not been adopted. In still other examples, other data processing techniques can be applied to the unique identifier to determine if the application can be associated with a user account. The app is recently available to the user. In other words, the application may have been acquired by the user after purchase and receipt of the electronic device from the distribution or manufacture. Alternatively, the application can be obtained when purchasing an electronic device. Once the adoption status has been determined by the distribution center 210, an acknowledgment based on the status of use can be transmitted to the electronic device. The confirmation can be transmitted to inform the electronic device of the status of the program. Based on the confirmation, the electronic device can request the download of the package software or the update of the package software. In other examples, the scatter server 210 can automatically begin the process of downloading updates to the packaged software or packaged software to the electronic device based on the state of adoption.

伺服器側240可併有數個伺服器及表以判定是否應授權連結請求。舉例而言,散佈中心210包括經組態以處理唯一識別符以判定連結請求之有效性或合法性的唯一性伺服器211。唯一性伺服器211可包括唯一性表,該唯一性表經組態以維持具有與使用者帳戶連結之一或多個預安裝之應 用程式的電子裝置之資料庫或表。作為一實例,唯一性表可經組態以儲存已將預安裝之應用程式與使用者帳戶連結之裝置(亦即,已採用與裝置相關聯之預安裝之應用程式的裝置)的唯一硬體識別符。唯一性表亦可經組態以儲存與已與使用者帳戶相關聯之應用程式相關聯的後設資料。當裝置藉由使用者帳戶採用其應用程式中之一些或全部(亦即,將其應用程式中之一些或全部與使用者帳戶連結)時,裝置之唯一硬體識別符或經採用之應用程式的唯一識別符儲存於唯一性表內。此情形防止連結已採用之應用程式的未來請求。舉例而言,執行對唯一識別符是否在唯一性表中之查詢判定與唯一硬體識別符相關聯之裝置是否已將其預安裝之應用程式與使用者帳戶連結。類似地,該查詢亦可判定與唯一識別符相關聯之應用程式是否已與使用者帳戶連結。作為另一實例,唯一性表可經組態以儲存電子裝置之唯一硬體識別符連同與電子裝置之先前已採用(亦即,與使用者帳戶連結)的一或多個預安裝之應用程式相關聯的後設資料。換言之,唯一性表經組態為裝置之唯一硬體識別符與一或多筆後設資料之間的一對多映射,該一或多筆後設資料與裝置之已選擇性地採用的預安裝之應用程式相關聯。若唯一硬體識別符並不存在於唯一性表中,則查詢唯一性表以查找唯一硬體識別符可不傳回任何資料,且若唯一硬體識別符確實存在於唯一性表中,則查詢唯一性表以查找唯一硬體識別符可傳回與已選擇性地採用之預安裝之應用程式相關聯的後設資料。此情形可產生 選擇性地藉由第一使用者帳戶採用裝置上之預安裝之應用程式及藉由第二使用者帳戶採用裝置上之另一預安裝之應用程式的能力。在另外其他實例中,唯一性表可經組態以維持已連結至使用者帳戶之應用程式的資料庫或表。已連結之應用程式可具有儲存於唯一性表中之唯一識別符,藉此維持已採用之應用程式的最新資料庫。 The server side 240 can have a number of servers and tables to determine if a connection request should be authorized. For example, the distribution center 210 includes a uniqueness server 211 that is configured to process a unique identifier to determine the validity or legitimacy of the join request. The uniqueness server 211 can include a uniqueness table configured to maintain one or more pre-installed links with the user account A database or table of programs for electronic devices. As an example, the uniqueness table can be configured to store the unique hardware of the device that has the pre-installed application linked to the user account (ie, the device that has the pre-installed application associated with the device). Identifier. The uniqueness table can also be configured to store back-end material associated with an application that has been associated with a user account. The device's unique hardware identifier or adopted application when the device uses some or all of its applications (ie, links some or all of its applications to the user's account) through the user's account. The unique identifier is stored in the uniqueness table. This situation prevents future requests from linking to an already used application. For example, performing a query as to whether the unique identifier is in the uniqueness table determines whether the device associated with the unique hardware identifier has linked its pre-installed application to the user account. Similarly, the query can also determine if the application associated with the unique identifier has been linked to the user account. As another example, the uniqueness table can be configured to store a unique hardware identifier of the electronic device along with one or more pre-installed applications that have been previously employed (ie, linked to the user account) of the electronic device. Associated post-data. In other words, the uniqueness table is configured as a one-to-many mapping between the unique hardware identifier of the device and one or more of the post-set data, and the one or more subsequent sets of data and devices have been selectively employed The installed app is associated. If the unique hardware identifier does not exist in the uniqueness table, then querying the uniqueness table to find a unique hardware identifier may not return any data, and if the unique hardware identifier does exist in the uniqueness table, then the query The uniqueness table looks up the unique hardware identifier to pass back the back-end data associated with the pre-installed application that has been selectively used. This situation can be generated Optionally, the first user account employs a pre-installed application on the device and the second user account employs the ability of another pre-installed application on the device. In still other examples, the uniqueness table can be configured to maintain a database or table of applications that are linked to a user account. Connected applications can have a unique identifier stored in a uniqueness table to maintain an up-to-date database of used applications.

在一實例中,組態伺服器230可藉由以下步驟來驗證連結請求之有效性:檢查電子裝置之原始組態以驗證或判定在電子裝置離開製造商時特定應用程式已預安裝於該裝置上。組態伺服器亦可驗證或識別使用者具有所有權之應用程式,而不管應用程式是否已安裝於使用者裝置上或與使用者帳戶相關聯。因此,亦可識別使用者具有所有權但尚未關聯或安裝之應用程式。組態伺服器230包括儲存由製造商建立之電子裝置之原始組態的資料庫。該原始組態可包括與電子裝置一起遞送之作業系統之版本及應用程式之版本(若存在)。舉例而言,經由線上商店訂購電子裝置之使用者可在購買時將該裝置組態有一或多個應用程式。該等應用程式係藉由在購買時基於組態進行製造而安裝於電子裝置上。製造將電子裝置之組態傳達至組態伺服器230以供後續查找。當組態伺服器230自電子裝置接收含有唯一硬體識別符之查找請求時,組態伺服器230執行對資料庫之搜尋或查詢且傳回安裝於裝置上之作業系統的版本及/或含有安裝於電子裝置上之應用程式之版本的清單。組態伺服器230可比較經安裝之應用程式之清單與使用者正試 圖與使用者帳戶相關聯之應用程式,以判定使用者正試圖關聯之應用程式是否為授權安裝或先前是否已與另一使用者帳戶相關聯。或者,組態伺服器230可將預安裝之應用程式之清單傳遞至散佈中心210以判定是否應授予連結請求。此檢查可防止使用者試圖藉由將預安裝之應用程式自一裝置複製至另一裝置而欺騙(circumvent)散佈系統200。 In an example, the configuration server 230 can verify the validity of the link request by checking the original configuration of the electronic device to verify or determine that the particular application has been pre-installed on the device when the electronic device leaves the manufacturer. on. The configuration server can also verify or identify the application that the user has ownership, regardless of whether the application is already installed on the user device or associated with the user account. Therefore, it is also possible to identify an application that the user has ownership but has not yet associated or installed. The configuration server 230 includes a repository that stores the original configuration of the electronic device established by the manufacturer. The original configuration may include the version of the operating system and the version of the application (if present) delivered with the electronic device. For example, a user who orders an electronic device via an online store can configure the device with one or more applications at the time of purchase. These applications are installed on the electronic device by manufacturing based on the configuration at the time of purchase. Manufacturing communicates the configuration of the electronic device to the configuration server 230 for subsequent lookups. When the configuration server 230 receives a lookup request containing a unique hardware identifier from the electronic device, the configuration server 230 performs a search or query of the database and returns the version and/or contains of the operating system installed on the device. A list of versions of the application installed on the electronic device. The configuration server 230 can compare the list of installed applications with the user's test The application associated with the user account is determined to determine if the application the user is attempting to associate is an authorized installation or has previously been associated with another user account. Alternatively, the configuration server 230 can pass a list of pre-installed applications to the distribution center 210 to determine if a link request should be granted. This check prevents the user from attempting to circumvent the distribution system 200 by copying the pre-installed application from one device to another.

一旦伺服器側240之一或多個元件使連結請求有效,預安裝之應用程式便與使用者帳戶相關聯(亦即,應用程式採用)。此外,唯一性伺服器211或組態伺服器230可經更新以考慮應用程式採用。舉例而言,可將新條目添加至唯一性伺服器211之唯一性表中,此係因為與電子裝置相關聯之預安裝之應用程式中的一些或全部已被採用。在一些實例中,散佈中心210可在預安裝之應用程式與使用者帳戶相關聯之後將預安裝之應用程式的更新傳輸至計算裝置260。在其他實例中,散佈中心210可將預安裝之應用程式傳輸至與使用者帳戶相關聯之諸如計算裝置270的其他裝置,但計算裝置270最初並未組態有預安裝之應用程式。經由對應用程式採用之類似請求,計算裝置270之儲存於應用程式271中的預安裝之應用程式及攜帶型裝置280之儲存於應用程式281中的預安裝之應用程式可與使用者帳戶291相關聯,且最終散佈至計算裝置260、計算裝置270及/或攜帶型裝置280。 Once one or more components on server side 240 have the connection request valid, the pre-installed application is associated with the user account (ie, the application is employed). Additionally, the unique server 211 or the configuration server 230 can be updated to take into account application adoption. For example, a new entry may be added to the uniqueness table of the unique server 211 because some or all of the pre-installed applications associated with the electronic device have been employed. In some examples, the distribution center 210 can transmit an update of the pre-installed application to the computing device 260 after the pre-installed application is associated with the user account. In other examples, the distribution center 210 can transmit the pre-installed application to other devices, such as the computing device 270, associated with the user account, but the computing device 270 is not initially configured with a pre-installed application. The pre-installed application stored in the application 271 and the pre-installed application stored in the application 281 of the portable device 280 by the computing device 270 may be associated with the user account 291 via a similar request to the application. Together, and ultimately distributed to computing device 260, computing device 270, and/or portable device 280.

圖3說明例示性主從式系統。主從式系統300包括用戶端裝置350及伺服器360。伺服器360可經組態以對來自用戶 端裝置350之請求作出回應,且可包括來自圖2之伺服器側240的一或多個元件。用戶端裝置350可藉由將頁面請求提交至伺服器360而使應用程式(預安裝或以其他方式獲取)與使用者帳戶相關聯。用戶端裝置350亦可藉由如在預安裝之應用程式的情境下將相同或類似頁面請求提交至伺服器360而使其他應用程式與使用者帳戶相關聯。 Figure 3 illustrates an exemplary master-slave system. The master-slave system 300 includes a client device 350 and a server 360. Server 360 can be configured to be from a user The request of the end device 350 responds and may include one or more components from the server side 240 of FIG. The client device 350 can associate the application (pre-installed or otherwise acquired) with the user account by submitting the page request to the server 360. The client device 350 can also associate other applications with the user account by submitting the same or similar page request to the server 360 as in the context of a pre-installed application.

一種類型之頁面請求為更新頁面請求301。更新頁面請求301可為傳輸至伺服器360以執行對可用應用程式更新之查詢的請求。回應於更新頁面請求301,伺服器360可傳回超文字標記語言(「HTML」)頁面303,該頁面303經組態以告知使用者儲存於用戶端裝置350中之具有可用更新的應用程式。在一些實例中,伺服器360可將後設資料傳回至用戶端裝置350,該用戶端裝置350又產生HTML頁面以呈現給使用者。更新頁面請求301可包括儲存於用戶端裝置350中之每一應用程式的數位收據(digital receipt)。該收據含有與應用程式有關之後設資料以用於用文件證明軟體之購買或所有權。一種類型之收據為真實收據,其與經購買之應用程式或已採用之應用程式相關聯。真實收據可包括對應用程式之描述、應用程式之版本號碼、購買應用程式之日期、與購買應用程式之購買者有關之資訊、與最初安裝有該應用程式之裝置有關的資訊,及其他資訊。換言之,真實收據為對購買者及/或已購買有應用程式之電子裝置而言唯一的購買證明。另一類型之收據為存根收據。存根收據含有真實收據中之資訊的子集,且在應用程式尚 未藉由使用者帳戶採用時為應用程式之部分。在一實例中,存根收據唯一地將應用程式之此複本與其他複本識別開。此情形可允許伺服器判定應用程式之此特定複本(其可贈送給使用者或由使用者以其他方式獲取)是否可由使用者採用。在另一實例中,存根收據係由製造商產生以作為待與預安裝之應用程式相關聯的收據。為了加速及簡化製造商對應用程式之安裝,存根收據可包括少於真實收據中之資訊量的最少資訊量。舉例而言,存根收據可包括向伺服器識別應用程式之應用程式識別符以及識別應用程式之版本的版本號碼。應用程式識別符可為與應用程式相關聯之名稱。存根收據可能不包括對購買者特定之資訊,諸如購買應用程式之日期及與購買應用程式之購買者或安裝有預安裝之應用程式之裝置有關的資訊。換言之,存根收據可能不含有使用者帳戶、使用者帳戶資訊,或與用戶端裝置、計算裝置或其他裝置有關之資訊。應用程式識別符可為與預安裝之應用程式相關聯之名稱。在一些實例中,存根收據係由製造商在應用程式預安裝於裝置上或裝置準備好遞送時產生。在其他實例中,存根收據可由伺服器260產生且隨後傳輸至用戶端裝置350以與預安裝之應用程式相關聯。伺服器360可回應於由用戶端裝置350進行之請求或伺服器360與用戶端裝置350之間的週期性排程之通信而產生存根收據。一旦採用預安裝之應用程式,便可用真實收據來替換存根收據。在另一實例中,將存根收據產生為與在獲取應用程式時不與用戶端裝置相關聯的已購買、 贈送或以其他方式獲取之應用程式相關聯的收據。此存根收據可由製造商、應用程式散佈者、線上商店或其他者產生。在一些狀況下,存根收據可經分批處理且指派給應用程式以供散佈。存根收據保存於伺服器上且用以鑑認採用請求。如在先前實例中,可在應用程式採用程序期間用真實收據替換存根收據。真實收據可由用戶端裝置350、伺服器360或主從式系統300中之其他元件產生。 One type of page request is an update page request 301. The update page request 301 can be a request to transmit to the server 360 to perform a query for an available application update. In response to the update page request 301, the server 360 can return a Hypertext Markup Language ("HTML") page 303 that is configured to inform the user of the application with the available updates stored in the client device 350. In some examples, server 360 can pass the back data back to client device 350, which in turn generates an HTML page for presentation to the user. The update page request 301 can include a digital receipt stored in each of the applications in the client device 350. The receipt contains information related to the application and is used to document the purchase or ownership of the software. One type of receipt is a real receipt that is associated with a purchased application or an applied application. The actual receipt may include a description of the application, the version number of the application, the date of purchase of the application, information relating to the purchaser of the application, information about the device on which the application was originally installed, and other information. In other words, the real receipt is the only proof of purchase for the purchaser and/or the electronic device that has purchased the application. Another type of receipt is a stub receipt. The stub receipt contains a subset of the information in the real receipt, and the application is still It is part of the application when it is not used by the user account. In one example, the stub receipt uniquely identifies the duplicate of the application with other replicas. This situation may allow the server to determine whether this particular copy of the application (which may be presented to the user or otherwise obtained by the user) is acceptable to the user. In another example, the stub receipt is generated by the manufacturer as a receipt to be associated with the pre-installed application. To speed up and simplify the installation of the application by the manufacturer, the stub receipt can include less information than the amount of information in the real receipt. For example, the stub receipt can include identifying the application identifier of the application to the server and identifying the version number of the version of the application. The application identifier can be the name associated with the application. The stub receipt may not include information specific to the purchaser, such as the date of purchase of the application and information relating to the purchaser of the application or the installation of the pre-installed application. In other words, the stub receipt may not contain user accounts, user account information, or information related to the client device, computing device, or other device. The application identifier can be the name associated with the pre-installed application. In some instances, the stub receipt is generated by the manufacturer when the application is pre-installed on the device or the device is ready for delivery. In other examples, the stub receipt may be generated by the server 260 and subsequently transmitted to the client device 350 for association with the pre-installed application. The server 360 may generate a stub receipt in response to a request by the client device 350 or a periodic schedule communication between the server 360 and the client device 350. Once the pre-installed application is used, the stub receipt can be replaced with a real receipt. In another example, the stub receipt is generated as a purchase that is not associated with the client device when the application is acquired, A receipt associated with an app that is given or otherwise obtained. This stub receipt can be generated by the manufacturer, application spreader, online store, or others. In some cases, stub receipts can be processed in batches and assigned to applications for distribution. The stub receipt is stored on the server and used to authenticate the request. As in the previous example, the stub receipt can be replaced with a real receipt while the application is using the program. The real receipt may be generated by the client device 350, the server 360, or other components in the master-slave system 300.

在此實例中,更新頁面請求301包括與預安裝之應用程式310相關聯的存根收據A 311、與預安裝之應用程式320相關聯的存根收據B 321,及與應用程式330相關聯之真實收據331。在購買用戶端裝置350之後自伺服器360購買應用程式330,且因此應用程式330包括真實收據。回應於更新頁面請求301,伺服器360產生HTML 303,該HTML 303告知使用者預安裝之應用程式310、預安裝之應用程式320或應用程式330是否具有可自伺服器360下載之可用更新。不能下載與尚未採用(亦即,與使用者帳戶連結或與使用者帳戶相關聯)之預安裝之應用程式相關聯的可用更新,直至預安裝之應用程式已由使用者帳戶採用為止。一旦將可用更新下載且安裝於用戶端裝置350上,便可用真實收據來替換存根收據,該真實收據包括其他後設資料,諸如購買應用程式之日期(亦即,安裝可用更新之日期)、購買應用程式之使用者及最初安裝有該應用程式之電子裝置。 In this example, the update page request 301 includes a stub receipt A 311 associated with the pre-installed application 310, a stub receipt B 321, associated with the pre-installed application 320, and a real receipt associated with the application 330 331. The application 330 is purchased from the server 360 after purchase of the client device 350, and thus the application 330 includes a real receipt. In response to the update page request 301, the server 360 generates an HTML 303 that informs the user whether the pre-installed application 310, the pre-installed application 320, or the application 330 has available updates available for download from the server 360. The available updates associated with a pre-installed application that has not been used (ie, associated with a user account or associated with a user account) cannot be downloaded until the pre-installed application has been adopted by the user account. Once the available updates are downloaded and installed on the client device 350, the stub receipt can be replaced with a real receipt, including other back-end materials, such as the date the application was purchased (ie, the date the update was installed), the purchase The user of the application and the electronic device on which the application was originally installed.

另一類型之頁面請求為購買頁面請求302。可將購買頁面請求302傳輸至伺服器360以請求已由用戶端裝置350之 使用者購買之應用程式的清單。回應於該請求,伺服器360可傳回HTML頁面303,HTML頁面303經組態以告知使用者已由用戶端裝置350之使用者購買的應用程式及(視情況)已安裝於用戶端裝置350中之應用程式。可下載及安裝未儲存於用戶端裝置350中之已購買之應用程式。HTML頁面303亦可包括可用於採用(亦即,與使用者帳戶連結或與使用者帳戶相關聯)之應用程式。可經由更新頁面請求301或替代地經由購買頁面請求302選擇用戶端裝置上尚未與使用者帳戶相關聯之應用程式以供採用。未採用之應用程式可在請求中傳輸收據或其他形式之權利證明以將該應用程式或所要應用程式安裝於用戶端裝置上。 Another type of page request is a purchase page request 302. The purchase page request 302 can be transmitted to the server 360 to request that the user device 350 has been requested A list of applications purchased by the user. In response to the request, the server 360 can pass back an HTML page 303 that is configured to inform the user that the application that has been purchased by the user of the client device 350 and, as appropriate, has been installed on the client device 350. The application in the middle. The purchased application not stored in the client device 350 can be downloaded and installed. The HTML page 303 can also include applications that can be used (i.e., linked to a user account or associated with a user account). An application on the client device that is not yet associated with the user account may be selected for adoption via the update page request 301 or alternatively via the purchase page request 302. An unused application can transmit a receipt or other form of proof of entitlement in the request to install the application or desired application on the client device.

購買頁面請求302可包括資訊清單340。資訊清單340可經組態以儲存與預安裝之應用程式或以其他方式獲取之應用程式相關聯的資訊。此資訊可由伺服器360用以告知使用者可用於採用之應用程式。資訊清單340包括清單、表或經組態以儲存用戶端裝置350中之應用程式之版本號碼的其他資料結構。應用程式之版本號碼可在存根收據或與應用程式相關聯之其他後設資料中找到。在一實例中,在用戶端裝置350第一次啟動時產生資訊清單340。舉例而言,可在用戶端裝置之第一次啟動期間藉由利用用戶端裝置上之「spotlight」(亦即,搜尋)功能來搜尋電腦以尋找存根收據來產生資訊清單,該等存根收據隨後用以產生資訊清單。如以下將論述,資訊清單可儲存於組態伺服器中以在將應用程式與使用者帳戶連結期間或在電子裝置之恢 復模式期間存取。 The purchase page request 302 can include an information list 340. The information list 340 can be configured to store information associated with pre-installed applications or otherwise acquired applications. This information can be used by the server 360 to inform the user of the applications available for use. The information list 340 includes a list, a table, or other data structure configured to store the version number of the application in the client device 350. The version number of the application can be found in the stub receipt or other post-data associated with the application. In one example, the information list 340 is generated when the client device 350 is first launched. For example, the information list can be generated by using the "spotlight" (ie, search) function on the client device to search for the stub receipt during the first startup of the client device, and the stub receipts are subsequently generated. Used to generate a list of information. As will be discussed below, the information list can be stored in the configuration server to link the application to the user account or to the electronic device. Access during complex mode.

在此實例中,查詢用戶端裝置350以定位存根收據311及存根收據321,存根收據311及存根收據321隨後用以產生資訊清單340。在用戶端裝置350之重新格式化或恢復期間,可自用戶端裝置350刪除預安裝之應用程式及以其他方式獲取之應用程式兩者。可將已與使用者帳戶連結之應用程式重新下載至用戶端裝置350。然而,尚未與使用者帳戶連結之預安裝之應用程式存在完全丟失之風險。如以下將進一步詳細描述,資訊清單340充當防止尚未採用之應用程式丟失的機制。不能下載可用於採用之應用程式直至預安裝之應用程式已與使用者帳戶連結或相關聯為止。 一旦將可用更新下載且安裝於用戶端裝置350上,資訊清單340便可經編輯以移除與目前採用之應用程式相關聯的存根收據。此外,經安裝之應用程式含有真實收據。在一些實例中,藉由安裝於用戶端裝置350中之應用程式管理程式(圖中未展示)管理及處置更新頁面請求301及購買頁面請求302之產生連同HTML頁面303之處理及擷取。該應用程式管理程式可專屬於製造商且經組態以特定地與屬於製造商之伺服器通信。 In this example, the client device 350 is queried to locate the stub receipt 311 and the stub receipt 321 , and the stub receipt 311 and the stub receipt 321 are then used to generate the information list 340 . During the reformatting or recovery of the client device 350, both the pre-installed application and the otherwise obtained application may be deleted from the client device 350. The application that has been linked to the user account can be re-downloaded to the client device 350. However, pre-installed applications that are not yet linked to a user account are at full risk of loss. As will be described in further detail below, the information manifest 340 acts as a mechanism to prevent application loss that has not yet been adopted. Applications that are available for use cannot be downloaded until the pre-installed application is linked or associated with the user account. Once the available updates are downloaded and installed on the client device 350, the newsletter 340 can be edited to remove the stub receipt associated with the currently employed application. In addition, the installed app contains a real receipt. In some examples, the generation of the update page request 301 and the purchase page request 302 and the processing and retrieval of the HTML page 303 are managed and processed by an application management program (not shown) installed in the client device 350. The application manager can be proprietary to the manufacturer and configured to specifically communicate with servers belonging to the manufacturer.

主從式系統300亦可採用由用戶端裝置350獲取但不與使用者帳戶相關聯(例如,贈送、已購買但未連結至使用者帳戶,或經由其他手段散佈至用戶端裝置)之應用程式。作為一實例,經獲取之應用程式可經由更新頁面請求、購買頁面請求或其他頁面請求與使用者帳戶連結。該請求可 包括存根收據或與該存根收據相關聯或自該存根收據導出之後設資料。作為另一實例,資訊清單340可在藉由用戶端裝置350獲取未採用之應用程式(亦即,尚未與使用者帳戶連結之應用程式)時更新。 The master-slave system 300 can also employ an application that 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 otherwise distributed to the client device) . As an example, the acquired application can be linked to the user account via an update page request, a purchase page request, or other page request. The request can be Include a stub receipt or associate with the stub receipt or export data from the stub receipt. As another example, the information list 340 may be updated when the application device 350 (ie, an application that has not been linked to the user account) is obtained by the client device 350.

圖4說明用於處理更新頁面請求之例示性方法。說明由用戶端及伺服器執行之動作的方法400可經組態以管理在更新頁面請求期間用戶端與伺服器之間的通信。由伺服器執行之動作可由儲存於位於伺服器側上之散佈中心或其他組件上的散佈程式執行,而由用戶端執行之動作可由儲存於用戶端之電子裝置上的應用程式管理程式執行。方法400可以使用者在由用戶端裝置供應之圖形使用者介面中選擇更新標籤連結開始。例示性更新標籤連結可為圖5中之連結451。一旦用戶端已接收對更新頁面之使用者請求(401),用戶端便查詢或搜尋用戶端裝置以查找收據或與安裝於用戶端裝置中之應用程式相關聯的其他形式之權利證明(403)。在其他實例中,查詢可在無使用者互動之情況下自動開始。舉例而言,伺服器可藉由以預定時間間隔或在預定時間點與用戶端通信來起始查詢。可使用與用戶端裝置之作業系統相關聯的功能性或替代地使用儲存於用戶端裝置上之應用程式或常式來執行搜尋。將找到之收據或將收據之複本傳輸至伺服器(405)。可跨越任何通信網路(諸如,乙太網路、網際網路、區域網路或其他網路)傳送該等收據。伺服器接收收據且對其進行處理以判定與收據相關聯之應用程式是否具有更新(407)。此處理可包括存取諸 如圖2中之應用程式資料庫220的應用程式資料庫,及比較收據之版本號碼與儲存於應用程式資料庫中之應用程式之版本號碼。此處理亦可包括藉由判定安裝於用戶端裝置上之應用程式經組態以用於由伺服器散佈來驗證應用程式適合採用。在一些實施例中,伺服器亦可驗證在此時間點應用程式先前尚未被採用,此驗證可包括以下步驟:擷取唯一地識別經安裝之應用程式之複本的唯一識別符;及驗證該唯一識別符尚未與任何使用者帳戶相關聯。可在產生HTML頁面(408)或操縱某一其他使用者介面時使用具有更新之應用程式的清單,諸如桌面應用程式或智慧型電話應用程式。HTML頁面可包括與具有可用更新之應用程式有關的資訊。此資訊可包括應用程式之原始購買日期、應用程式之描述,及經更新之應用程式中之改變或修改的描述。HTML僅為可發送至用戶端以通知用戶端一或多個應用程式具有更新或可用於採用的通知之一實例。伺服器可接著將HTML頁面傳輸至用戶端(409)。在一些實例中,伺服器可經由與用戶端傳輸收據之頻道相同之頻道來傳輸HTML頁面。或者,伺服器可將足夠資訊傳輸至用戶端以更新本端安裝之用戶端應用程式,而非預封裝HTML頁面及將HTML頁面傳輸至用戶端。 Figure 4 illustrates an exemplary method for processing an update page request. The method 400 illustrating the actions performed by the client and the server can be configured to manage communication between the client and the server during the update page request. The actions performed by the server may be performed by a distribution program stored on a distribution center or other component located on the server side, and the actions performed by the client may be performed by an application management program stored on the electronic device of the client. The method 400 can begin by the user selecting an update tag link in a graphical user interface provided by the client device. An exemplary update tag link can be the link 451 in FIG. Once the client has received a user request for the updated page (401), the client queries or searches the client device for a receipt or other form of proof of entitlement associated with the application installed in the client device (403) . In other instances, the query can start automatically without user interaction. For example, the server can initiate the query by communicating with the client at predetermined time intervals or at predetermined time points. The search can be performed using the functionality associated with the operating system of the client device or alternatively using an application or routine stored on the client device. The receipt will be found or a copy of the receipt will be transmitted to the server (405). The receipts can be transmitted across any communication network, such as an Ethernet, internet, regional network, or other network. The server receives the receipt and processes it to determine if the application associated with the receipt has an update (407). This processing can include accessing The application database of the application database 220 in Figure 2, and the version number of the comparison receipt and the version number of the application stored in the application database. The process can also include verifying that the application is suitable for adoption by determining that the application installed on the client device is configured for server dissemination. In some embodiments, the server may also verify that the application has not been previously employed at this point in time, and the verification may include the steps of: capturing a unique identifier that uniquely identifies the replica of the installed application; and verifying the unique The identifier has not been associated with any user accounts. A list of updated applications, such as a desktop application or a smart phone application, can be used when generating an HTML page (408) or manipulating some other user interface. The HTML page can include information about the application with the available updates. This information may include the original purchase date of the application, a description of the application, and a description of the changes or modifications in the updated application. HTML is only one instance of a notification that can be sent to the client to notify the client that one or more applications have updates or are available for adoption. The server can then transfer the HTML page to the client (409). In some instances, the server may transmit the HTML page via the same channel as the channel on which the client transmits the receipt. Alternatively, the server can transmit sufficient information to the client to update the client application installed on the local end, instead of pre-packaging the HTML page and transmitting the HTML page to the client.

圖5說明與對預安裝之應用程式之更新頁面請求相關聯的HTML頁面之實例,該預安裝之應用程式已由線上商店或商場之使用者帳戶採用或與該使用者帳戶相關聯。HTML頁面450包括「updates」連結451,該連結451可由 使用者選擇以請求更新頁面。「Updates」連結451可位於選單列上,該選單列具有諸如「featured」、「top charts」、「categories」及「purchases」之其他連結以向使用者提供存取應用程式管理程式之不同特徵的便利且迅速之方法。在一些實例中,表示「updates」連結451之圖示可包括數字,該數字指定儲存於用戶端裝置中之具有可用更新的應用程式之數目。圖示中之數字可在使用者選擇「updates」標籤連結451之前經由伺服器與用戶端裝置之間的週期性通信產生。 Figure 5 illustrates an example of an HTML page associated with an update page request for a pre-installed application that has been or is associated with a user account of an online store or store. The HTML page 450 includes an "updates" link 451, which can be The user chooses to request an update page. The "Updates" link 451 can be located on a menu bar with other links such as "featured", "top charts", "categories" and "purchases" to provide users with access to different features of the application management program. A convenient and quick method. In some examples, the representation of the "updates" link 451 can include a number that specifies the number of applications having available updates stored in the client device. The numbers in the figure can be generated via periodic communication between the server and the client device before the user selects the "updates" tag link 451.

舉例而言,用戶端裝置可週期性地與伺服器通信且擷取具有可用更新之經儲存之應用程式的最新版本號碼。在此實例中,已選擇「updates」連結451,且包括可用更新之一應用程式呈現於HTML頁面450內。一應用程式係藉由描述該應用程式之應用程式描述457呈現。應用程式描述457可包括應用程式之名稱、應用程式之作者、應用程式之版本號碼、應用程式之發行日期,或與應用程式相關聯之其他資訊。應用程式描述457可進一步包括提供應用程式之識別碼的圖示455,及在該應用程式之此更新版本中實施之改變的概要459。此可將資訊提供給使用者,以使得使用者可作出關於其是否希望升級之旁徵博引的決策。HTML頁面450亦包括可選擇連結461,該可選擇連結461可在使用者希望接收應用程式更新的情況下由使用者選擇。可用更新之數目顯示於標題453處。標題453經組態以提供使用者可迅速判定可用更新之數目的另一便利位置。在一 些實例中,HTML頁面450亦可包括與標題453鄰接之可選擇連結,其用於更新具有可用更新之所有應用程式。 For example, the client device can periodically communicate with the server and retrieve the latest version number of the stored application with the available updates. In this example, the "updates" link 451 has been selected and one of the available updates is presented in the HTML page 450. An application is rendered by an application description 457 describing the application. The application description 457 may include the name of the application, the author of the application, the version number of the application, the date of issue of the application, or other information associated with the application. The application description 457 can further include an icon 455 providing an identification code for the application, and a summary 459 of the changes implemented in the updated version of the application. This provides information to the user so that the user can make a decision about whether or not they wish to upgrade. The HTML page 450 also includes an optional link 461 that can be selected by the user if the user wishes to receive an application update. The number of available updates is shown at heading 453. Header 453 is configured to provide another convenient location where the user can quickly determine the number of available updates. In a In some examples, HTML page 450 may also include a selectable link adjacent to title 453 for updating all applications with available updates.

返回圖4,用戶端接收經傳輸之HTML頁面且將該HTML頁面呈現給使用者(411)。如圖5中所論述,HTML頁面呈現圖形使用者介面,該圖形使用者介面列出具有可用更新之應用程式、該等應用程式之描述及可由使用者選擇以授權應用程式之更新的一或多個連結。用戶端可接收更新應用程式之使用者授權(413)。若已接收使用者授權,則用戶端可在應用程式可更新之前判定該應用程式是否需要採用(415)。此判定可包括檢查安裝於用戶端上之應用程式的收據以判定該收據是否為存根收據。若該收據為存根收據,則與存根收據相關聯之應用程式為可能尚未由使用者帳戶採用的預安裝之應用程式。因此,需要使用者授權,且用戶端可將請求使應用程式由使用者帳戶採用或使應用程式與使用者帳戶相關聯之使用者授權的HTML頁面呈現給使用者(417)。使用者授權可涉及個人資訊跨越通信網路之傳輸。出於私密原因,HTML頁面告知使用者個人資訊將在授權程序期間發送且請求權限以跨越通信網路傳輸此個人資訊。 Returning to Figure 4, the client receives the transmitted HTML page and presents the HTML page to the user (411). As discussed in FIG. 5, the HTML page presents a graphical user interface that lists the applications with available updates, a description of the applications, and one or more updates that can be selected by the user to authorize the application. Links. The client can receive a user authorization to update the application (413). If the user authorization has been received, the client can determine if the application needs to be used (415) before the application can be updated. This determination may include 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 may not have been used by the user account. Thus, user authorization is required, and the client can present the HTML page of the user authorization requesting the application to be used by the user account or associated with the user account (417). User authorization can involve the transmission of personal information across a communication network. For privacy reasons, the HTML page informs the user that personal information will be sent during the authorization process and request permission to transmit this personal information across the communication network.

圖6說明請求採用應用程式之使用者授權之HTML頁面的實例,該等應用程式可能已在購買計算裝置時統整及/或預安裝。HTML頁面470為將具有可用更新之四個應用程式呈現給使用者的更新頁面。因而,「updates」連結471之圖示併有數字「4」。在此實例中,使用者已選擇經由 「update all」連結475更新所有應用程式。然而,在其他實例中,使用者亦可藉由選擇「update」連結476、477、478或479中之一者來選擇更新單一應用程式。具有可用更新之應用程式包括預安裝之應用程式472及經購買之應用程式473。在一些實例中,在此階段,在呈現預安裝之應用程式及經購買之應用程式方面無區別。然而,一旦使用者選擇更新預安裝或以其他方式未與使用者帳戶連結之應用程式,HTML頁面470便將提示480呈現給使用者。在圖7中更詳細地描述提示480。 Figure 6 illustrates an example of an HTML page requesting authorization from a user of an application that may have been consolidated and/or pre-installed upon purchase of a computing device. The HTML page 470 is an update page that presents four applications with available updates to the user. Therefore, the "updates" link 471 has a number "4". In this example, the user has selected via The "update all" link 475 updates all applications. However, in other examples, the user may also choose to update a single application by selecting one of the "update" links 476, 477, 478 or 479. Applications with available updates include pre-installed applications 472 and purchased applications 473. In some instances, at this stage, there is no difference in presenting pre-installed applications and purchased applications. However, once the user chooses to update an application that is pre-installed or otherwise not linked to the user account, the HTML page 470 presents the prompt 480 to the user. The prompt 480 is described in more detail in FIG.

圖7說明請求採用應用程式之使用者授權之HTML頁面的另一實例。當使用者選擇更新預安裝於電腦上且有可能尚未與使用者帳戶相關聯之應用程式或簡單地選擇更新尚未與使用者帳戶相關聯之經獲取之應用程式時,將亦稱為授權提示之提示480呈現給使用者。在此實例中,提示480包括圖示481、登錄482、密碼483、密碼輔助484、描述485、說明(help)連結486、帳戶建立487、取消488及登入489。描述485提供文字資訊以告知使用者:若使用者需要更新該等應用程式,則預安裝(亦即,統整)於此電子裝置上之應用程式將要與使用者帳戶相關聯。描述485亦可告知使用者:為採用該等應用程式,與電子裝置相關聯之唯一硬體識別符將發送至伺服器以判定是否應授權應用程式採用。圖示481可用以加商標於(brand)應用程式管理程式之應用程式更新功能。登錄482及密碼483可指定使用者帳戶,使用者希望預安裝之應用程式與該使用者帳戶相關 聯。密碼輔助484可由需要關於密碼之輔助的使用者選擇。一旦已鍵入所要使用者帳戶且已鍵入正確密碼,使用者便可藉由選擇登入489開始採用程序。若使用者不具有使用者帳戶或使用者希望使預安裝之應用程式與新帳戶相關聯,則使用者可選擇帳戶建立487。若使用者希望取消且不更新應用程式,則使用者可選擇取消488。替代地,若使用者需要關於以上所描述之任何元素的更詳細描述,則使用者可選擇說明連結486。在HTML頁面正請求使用者授權以關聯未預安裝於電子裝置上但替代地由電子裝置單獨獲取之應用程式的其他實例中,可變更描述485以將適當訊息輸送至使用者。舉例而言,描述485可陳述「To receive future updates,applications 'X','Y',and 'Z' will be assigned to this apple ID.A unique identifier stored on your computer must be sent to Apple to verify eligibility」。 Figure 7 illustrates another example of an HTML page requesting authorization from a user of an application. When the user chooses to update an application that is pre-installed on the computer and may not have been associated with the user account or simply choose to update the acquired application that has not been associated with the user account, it will also be referred to as an authorization prompt. The prompt 480 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, cancellation 488, and login 489. Description 485 provides textual information to inform the user that if the user needs to update the applications, the pre-installed (ie, integrated) application on the electronic device will be associated with the user account. The description 485 can also inform the user that for the application, the unique hardware identifier associated with the electronic device will be sent to the server to determine if the application should be authorized for adoption. The icon 481 can be used to add an application update function to the (brand) application management program. Login 482 and password 483 can specify a user account, and the user wants the pre-installed application to be associated with the user account. Union. Password assist 484 may be selected by a user who needs assistance with the password. Once the desired user account has been typed and the correct password has been typed, the user can begin the process by selecting Login 489. If the user does not have a user account or the user wishes to associate the pre-installed application with the new account, the user can select account creation 487. If the user wishes to cancel and does not update the application, the user may choose to cancel 488. Alternatively, if the user desires a more detailed description of any of the elements described above, the user may select the description link 486. In other instances where the HTML page is requesting user authorization to associate an application that is not pre-installed on the electronic device but is otherwise separately acquired by the electronic device, the description 485 can be changed to deliver the appropriate message to the user. For example, the description 485 can state "To receive future updates, applications 'X', 'Y', and 'Z' will be assigned to this apple ID. A unique identifier stored on your computer must be sent to Apple to verify eligibility "."

返回圖4,用戶端可接收採用應用程式之使用者授權(419)。此使用者授權可藉由使用者將使用者帳戶及密碼鍵入至由用戶端呈現之如圖7中所描述的提示中而接收。一旦用戶端已接收使用者授權,用戶端便可繼續應用程式之採用(421)。以下在圖12中描述使應用程式由使用者帳戶採用之例示性程序。在一些實例中,所有預安裝之應用程式必須同時與使用者帳戶相關聯。因此,使用者不能選擇性地將與電子裝置相關聯之一預安裝之應用程式與一使用者帳戶連結,且不能選擇性地將與該電子裝置相關聯之另一預安裝之應用程式與另一使用者帳戶連結。同時採用電子 裝置上之所有預安裝之應用程式可簡化管理採用程序中之計算耗用,此係因為與電子裝置相關聯之唯一硬體識別符可足以通知伺服器預安裝之應用程式已被採用。在其他實例中,可選擇性地使電子裝置上之預安裝之應用程式與多個帳戶相關聯。因此,第一預安裝之應用程式可與第一電子裝置相關聯,而第二預安裝之應用程式可與第二電子裝置相關聯。然而,在伺服器上管理預安裝之應用程式可能需要儲存電子裝置之唯一硬體識別符加上已採用之預安裝之應用程式。此等實例亦適用於與電子裝置之購買分離地獲取的應用程式。舉例而言,贈送且安裝於電子裝置上之應用程式之集束可個別地或作為群組與使用者帳戶相關聯。 Returning to Figure 4, the client can receive a user authorization (419) using the application. This user authorization can be received by the user by typing the user account and password into the prompt as described in FIG. 7 presented by the client. Once the user has received the user authorization, the client can continue to use the application (421). An illustrative procedure for causing an application to be employed by a user account is described below in FIG. In some instances, all pre-installed applications must be associated with a user account at the same time. Therefore, the user cannot selectively connect a pre-installed application associated with the electronic device with a user account, and cannot selectively associate another pre-installed application associated with the electronic device with another A user account link. Using electronics at the same time All pre-installed applications on the device simplify the computational effort in the management application because the unique hardware identifier associated with the electronic device is sufficient to notify the server that the pre-installed application has been adopted. In other examples, a pre-installed application on an electronic device can be selectively associated with multiple accounts. Thus, the first pre-installed application can be associated with the first electronic device and the second pre-installed application can be associated with the second electronic device. However, managing pre-installed applications on the server may require storing the unique hardware identifier of the electronic device plus the pre-installed application that has been used. These examples are also applicable to applications that are acquired separately from the purchase of an electronic device. For example, bundles of applications that are presented and installed on an electronic device can be associated with a user account individually or as a group.

圖8說明用於處理購買頁面請求之例示性方法。說明由用戶端及伺服器執行之動作的方法500可經組態以管理在購買頁面請求期間用戶端與伺服器之間的通信。由伺服器執行之動作可由儲存於位於伺服器側上之散佈中心或其他組件上的散佈程式執行,而由用戶端執行之動作可由儲存於用戶端側之電子裝置上的應用程式管理程式執行。在一些實例中,儲存於散佈中心上之散佈程式及儲存於電子裝置上之應用程式管理程式可經組態以在更新頁面請求期間亦執行圖4之方法400。方法500可以使用者在由用戶端裝置供應之圖形使用者介面中選擇購買標籤連結開始。例示性購買標籤連結可為圖9中之連結551。在用戶端接收到對購買頁面之使用者請求(501)後,用戶端即可執行搜尋或查 詢以查找應用程式資訊。在此例示性方法中,應用程式資訊可包括資訊清單及/或收據(503)。在其他實例中,應用程式資訊可包括尚未與使用者帳戶相關聯之應用程式或套裝軟體,其中使用者帳戶具有套裝軟體之所有權。該所有權可為權利證明,諸如數位收據。在一些實例中,該資訊清單可類似於或實質上類似於圖3之資訊清單340。搜尋或查詢可由可用於用戶端上之一或多個程式或功能執行。在一些例子中,可將應用程式資訊作為軟體採用請求來傳輸至伺服器(505),該應用程式資訊可包括資訊清單、收據(真實收據及存根收據)、使用者帳戶資訊及其他資訊(諸如,尚未採用之應用程式的權利證明或所有權)。出於產生購買頁面之目的,將應用程式資訊傳輸至伺服器505,該購買頁面告知使用者已安裝之應用程式、可用於安裝之應用程式及可採用之應用程式。經傳輸之應用程式資訊可取決於使用者是否已在用戶端上登入。舉例而言,使用者帳戶資訊為可存取的且可在使用者在用戶端上登入的情況下作為應用程式資訊之部分而傳輸。如以上所論述,使用者帳戶資訊可包括關於與使用者帳戶相關聯之應用程式的資訊。類似地,收據可含有關於與正執行用戶端之電子裝置相關聯之應用程式的資訊。資訊清單可包括最初預安裝於電子裝置上之應用程式的資訊,或使用者具有所有權但尚未安裝於使用者裝置上或與使用者帳戶相關聯之應用程式的資訊。此等資訊僅為例示性類型之應用程式資訊,此係因為亦可將其他類型之應用程式傳輸至伺服器以用於產 生購買頁面。 Figure 8 illustrates an exemplary method for processing a purchase page request. A method 500 illustrating the actions performed by the client and server can be configured to manage communication between the client and the server during a purchase page request. The actions performed by the server may be performed by a distribution program stored on a distribution center or other component located on the server side, and the actions performed by the client may be performed by an application management program stored on the electronic device on the user side. In some examples, the scatter program stored on the distribution center and the application management program stored on the electronic device can be configured to perform the method 400 of FIG. 4 during the update page request. The method 500 can begin by the user selecting a purchase tag link in a graphical user interface provided by the client device. An exemplary purchase tag link can be the link 551 in FIG. After the user receives the user request for the purchase page (501), the user can perform a search or check. Ask for application information. In this exemplary method, the application information can include a list of information and/or a receipt (503). In other instances, the application information may include an application or suite of software that has not been associated with a user account, where the user account has ownership of the packaged software. This title can be a proof of entitlement, such as a digital receipt. In some examples, the listing of information can be similar or substantially similar to the listing of information 340 of FIG. The search or query can be performed by one or more programs or functions available on the client. In some examples, application information may be transmitted to the server (505) as a software request, the application information may include a list of information, receipts (real receipts and stub receipts), user account information, and other information (such as , Proof of Entitlement or Ownership of the application that has not been used). For the purpose of generating a purchase page, the application information is transmitted to the server 505, which informs the user of the installed application, the application that can be used for installation, and the application that can be used. The transmitted application information may depend on whether the user has logged in on the client. For example, the user account information is accessible and can be transmitted as part of the application information if the user logs in on the client. As discussed above, user account information may include information about the application associated with the user account. Similarly, the receipt may contain information about the application associated with the electronic device that is executing the client. The information list may include information of an application originally pre-installed on the electronic device, or an application that the user has ownership but is not yet installed on or associated with the user device. This information is only an exemplary type of application information, as other types of applications can also be transferred to the server for production. Health purchase page.

伺服器接收經傳輸之應用程式資訊(亦即,資訊清單、收據、使用者帳戶及其他使用者帳戶資訊),且基於所接收之資訊產生應用程式之一或多個清單(507)。應用程式清單及用以產生應用程式清單之程序可取決於所接收之資訊而變化。第一應用程式清單可包括安裝於用戶端之電子裝置上的應用程式。第二應用程式清單可包括與使用者帳戶相關聯且可安裝於用戶端之電子裝置上的應用程式。第三應用程式清單可包括有可能與使用者帳戶連結之應用程式。第三清單中之應用程式可包括預安裝於用戶端之電子裝置上的應用程式及/或用戶端具有所有權但尚未採用或安裝之應用程式。亦可產生其他應用程式清單,諸如尚未與使用者帳戶相關聯之經購買或以其他方式獲取的應用程式。取決於由伺服器接收之應用程式資訊,可產生以上所描述之應用程式清單中的一或多者。在一些實例中,應用程式清單之產生可涉及存取諸如圖2中之應用程式資料庫220的應用程式資料庫。伺服器可基於所產生之應用程式清單產生HTML頁面(508)。HTML頁面之產生可包括存取應用程式資料庫以接收與應用程式清單中之應用程式相關聯的後設資料。舉例而言,後設資料可包括應用程式之名稱、應用程式之描述、應用程式之版本號碼、應用程式之購買資料、與應用程式相關聯之映像,及其他資訊。一旦產生了HTML頁面,伺服器便將HTML頁面傳輸至用戶端(509)。用戶端隨後將該HTML頁面呈現給使用者(511)。取 決於使用者是否已在用戶端上登入,將不同資訊呈現給使用者。 The server receives the transmitted application information (i.e., the information list, the receipt, the user account, and other user account information), and generates one or more lists of applications based on the received information (507). The list of applications and the programs used to generate the list of applications may vary depending on the information received. The first application manifest can include an application installed on the electronic device of the client. The second application manifest can include an application associated with the user account and mountable on the electronic device of the client. The third application manifest can include applications that may be linked to a user account. The application in the third list may include an application pre-installed on the electronic device of the client and/or an application owned by the client but not yet adopted or installed. Other application listings may also be generated, such as purchased or otherwise acquired applications that are not associated with a user account. Depending on the application information received by the server, one or more of the list of applications described above may be generated. In some instances, the generation of the application manifest may involve accessing an application repository such as the application repository 220 of FIG. The server can generate an HTML page based on the generated application manifest (508). The generation of the HTML page can include accessing an application database to receive post-data associated with the application in the application manifest. For example, the post-data may include the name of the application, the description of the application, the version number of the application, the purchase information of the application, the image associated with the application, and other information. Once 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). take Depending on whether the user has logged in on the client, different information is presented to the user.

圖9說明當使用者未登入時與購買頁面請求相關聯之HTML頁面的實例。在此實例中,HTML頁面550向使用者呈現可用於採用之應用程式之清單557。如分別由文字558及559所說明,在可用於採用之三個應用程式當中,應用程式「iMovie」及「GarageBand」具有可用更新。HTML頁面550包括「purchases」連結551。在一些實例中,「purchases」連結551可與圖5之「updates」連結451相同地或實質上相同地起作用。HTML頁面550進一步包括標題553,標題553告知使用者可用於採用之應用程式的數目。描述555向使用者提供採用程序之解釋,希望輔助使用者判定其是否希望採用應用程式。HTML頁面550亦包括指令552,指令552用以告知使用者:使用者必須登入其使用者帳戶以接收關於與其使用者帳戶相關聯之購買的資訊。在此實例中,HTML頁面550包括一「accept」連結554,當由使用者選擇時,該連結554起始採用程序。在其他實例中,HTML頁面550可包括用於可用於採用之每一應用程式的「accept」連結,因此允許使用者選擇接受可用於採用之單一應用程式、可用於採用之多個應用程式或可用於採用之所有應用程式。使用者可經由觸控式螢幕、滑鼠點選、鍵盤或其他使用者輸入裝置來選擇「accept」連結554。 Figure 9 illustrates an example of an HTML page associated with a purchase page request when the user is not logged in. In this example, the HTML page 550 presents the user with a list 557 of applications that are available for adoption. As explained in the texts 558 and 559 respectively, among the three applications that can be used, the applications "iMovie" and "GarageBand" have available updates. The HTML page 550 includes a "purchases" link 551. In some examples, the "purchases" link 551 can function the same or substantially the same as the "updates" link 451 of FIG. The HTML page 550 further includes a title 553 that informs the user of the number of applications available for adoption. Description 555 provides the user with an explanation of the application, and it is desirable to assist the user in determining whether they wish to adopt the application. The HTML page 550 also includes an instruction 552 to inform the user that the user must log into their user account to receive information about the purchase associated with their user account. In this example, the HTML page 550 includes an "accept" link 554 that, when selected by the user, initiates the application. In other examples, the HTML page 550 can include an "accept" link for each application that can be used, thereby allowing the user to choose to accept a single application available for adoption, multiple applications available for adoption, or available. For all applications used. The user can select the "accept" link 554 via a touch screen, a mouse click, a keyboard or other user input device.

圖10說明當使用者登入時與購買頁面請求相關聯之 HTML頁面的另一實例。HTML頁面560將兩個應用程式清單呈現給使用者。在此實例中,應用程式清單562之呈現包括可用於採用之應用程式,而應用程式清單564之呈現包括先前已購買之應用程式。該兩個應用程式清單在HTML頁面560之獨立且單獨之部分中呈現。應用程式清單564之呈現包括與先前購買之應用程式相關聯的後設資料,諸如應用程式之名稱、與應用程式相關聯之映像、軟體供應商、購買日期及狀態566。狀態566可經組態以顯示經購買之應用程式的當前狀態。舉例而言,當應用程式目前安裝於用戶端之電子裝置中時,狀態566可處於「已安裝狀態」。當在此狀態下時,狀態566可經組態以顯示文字「INSTALLED」。在此實例中,四個經購買之應用程式皆安裝於用戶端之電子裝置中。作為另一實例,當應用程式經購買但未安裝於用戶端之電子裝置中時,狀態566可處於「安裝狀態」。舉例而言,應用程式可能尚未下載至此裝置或該應用程式可能已選擇性地自裝置刪除。當在此狀態下時,狀態566可經組態以顯示文字「INSTALL」。此外,當處於「安裝狀態」下時,狀態566可包括使用者可選擇連結。選擇該使用者可選擇連結導致將應用程式下載至電子裝置且安裝。 Figure 10 illustrates the association with a purchase page request when the user logs in Another example of an HTML page. The HTML page 560 presents two application listings to the user. In this example, the presentation of the application manifest 562 includes an application that is available for adoption, and the presentation of the application manifest 564 includes the previously purchased application. The two application listings are presented in separate and separate sections of the HTML page 560. The presentation of the application manifest 564 includes post-data associated with the previously purchased application, such as the name of the application, the image associated with the application, the software vendor, the date of purchase, and the status 566. State 566 can be configured to display the current status of the purchased application. For example, when the application is currently installed on the electronic device of the client, state 566 can be in an "installed state." When in this state, state 566 can be configured to display the text "INSTALLED". In this example, four purchased applications are installed in the electronic device on the client side. As another example, state 566 may be in an "installed state" when the application is purchased but not installed in the electronic device at the client. For example, an application may not have been downloaded to the device or the application may have been selectively removed from the device. When in this state, state 566 can be configured to display the text "INSTALL". Additionally, when in the "installed state", state 566 can include a user selectable link. Selecting the user to select the link causes the application to be downloaded to the electronic device and installed.

返回圖8,用戶端可接收使用者輸入作為採用應用程式之請求(513)。在一些實例中,該使用者輸入可為選擇圖9之「accept」連結554。用戶端可請求將應用程式連結至使用者帳戶之使用者授權(515)。在圖11中說明含有授權提示 之HTML頁面的實例,該授權提示用於請求將應用程式連結至使用者帳戶之使用者授權。 Returning to Figure 8, the client can receive user input as a request to apply the application (513). In some examples, the user input can be an "accept" link 554 of FIG. The client can request a user authorization to link the application to the user account (515). In Figure 11, the description contains the authorization prompt. An instance of an HTML page that is used to request authorization for a user to link an application to a user account.

圖11說明包括授權提示之與購買頁面請求相關聯之HTML頁面的另一實例。當使用者選擇接受預安裝之應用程式之採用時,HTML頁面570可包括授權提示575。可包括授權提示575作為來自伺服器之經傳輸HTML頁面的部分,且在使用者選擇接受預安裝之應用程式之採用之後將授權提示575呈現給使用者。在一些實例中,授權提示575可與圖7之授權提示480相同或實質上類似。 Figure 11 illustrates another example of an HTML page associated with a purchase page request that includes an authorization prompt. The HTML page 570 can include an authorization prompt 575 when the user chooses to accept the adoption of the pre-installed application. An authorization prompt 575 can be included as part of the transmitted HTML page from the server, and the authorization prompt 575 is presented to the user after the user has selected to accept the application of the pre-installed application. In some examples, authorization prompt 575 can be the same or substantially similar to authorization prompt 480 of FIG.

返回圖8,用戶端可接收將應用程式連結至使用者帳戶之使用者授權。該使用者帳戶為在使用者授權期間鍵入之使用者帳戶。舉例而言,使用者可鍵入將與應用程式相關聯之使用者帳戶的使用者名稱及密碼。在用戶端接收使用者授權之後,用戶端可繼續應用程式之採用(519)。以下在圖12中描述使應用程式由使用者帳戶採用之例示性程序。在一些實例中,所有預安裝之應用程式必須同時與使用者帳戶相關聯。因此,使用者不能選擇性地將與電子裝置相關聯之一預安裝之應用程式與一使用者帳戶相關聯,且不能選擇性地使與該電子裝置相關聯之另一預安裝之應用程式與另一使用者帳戶相關聯。同時採用電子裝置上之所有預安裝之應用程式可簡化管理採用程序中的計算耗用,此係因為與電子裝置相關聯之唯一硬體識別符可足以通知伺服器預安裝之應用程式已被採用。在電子裝置上之預安裝之應用程式可選擇性地與多個帳戶相關聯的其他實例中, 除儲存電子裝置之唯一硬體識別符以外,在伺服器上管理預安裝之應用程式可能亦需要儲存已採用之預安裝之應用程式。 Returning to Figure 8, the client can receive a user authorization to link the application to the user account. The user account is a user account typed during user authorization. For example, the user can type in the username and password of the user account that will be associated with the application. After the user receives the user authorization, the client can continue to use the application (519). An illustrative procedure for causing an application to be employed by a user account is described below in FIG. In some instances, all pre-installed applications must be associated with a user account at the same time. Therefore, the user cannot selectively associate a pre-installed application associated with the electronic device with a user account, and cannot selectively cause another pre-installed application associated with the electronic device. Another user account is associated. Simultaneous use of all pre-installed applications on the electronic device simplifies the computational overhead of the management application because the unique hardware identifier associated with the electronic device is sufficient to notify the server that the pre-installed application has been adopted. . Among other instances in which a pre-installed application on an electronic device can optionally be associated with multiple accounts, In addition to storing the unique hardware identifier of the electronic device, managing the pre-installed application on the server may also require the storage of the pre-installed application that has been used.

圖12說明用於將預安裝之應用程式連結至使用者帳戶的例示性方法。說明在用戶端與伺服器之間執行之通信協定的方法600可經組態以管理將預安裝之應用程式連結至使用者帳戶的程序。由伺服器執行之動作可由伺服器側上之散佈中心或其他組件上的程式執行,而由用戶端執行之動作可由儲存於用戶端之電子裝置上的應用程式管理程式執行。應用程式管理程式可經組態以安裝、刪除、維護或以其他方式管理儲存於用戶端上之軟體應用程式。在一些實例中,儲存於散佈中心上之散佈程式及儲存於電子裝置上之應用程式管理程式可經組態以亦執行圖4之方法400及/或圖5之方法500。在一些實例中,方法600可在圖4之「繼續應用程式採用」(421)或圖8之「繼續應用程式採用」(519)之後執行。 Figure 12 illustrates an exemplary method for linking a pre-installed application to a user account. A method 600 illustrating a communication protocol executed between a client and a server can be configured to manage a program that links a pre-installed application to a user account. The actions performed by the server may be performed by a program on a server or other component on the server side, and the actions performed by the client may be performed by an application management program stored on the electronic device of the client. The application manager can be 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 can be configured to also perform the method 400 of FIG. 4 and/or the method 500 of FIG. In some examples, method 600 can be performed after "Continue Application Adoption" (421) of Figure 4 or "Continue Application Adoption" (519) of Figure 8.

方法600可產生唯一硬體識別符(620)。該唯一硬體識別符可充當應用程式之有效所有權或權利之數位收據。該唯一硬體識別符可自組合對電子裝置特定之一或多個識別符而產生。舉例而言,唯一硬體識別符可基於與電子裝置之硬體組件相關聯的一或多個識別符。因為硬體組件之識別符為唯一的,所以沒有兩個唯一硬體識別符會相同。作為一實例,可藉由組合裝置之邏輯板序號與裝置之乙太網路硬體位址來產生唯一硬體識別符。可使用串連、雜湊、編 碼方案或其他資料調處演算法來組合邏輯板序號及乙太網路硬體位址。可將唯一硬體識別符作為使預安裝之應用程式與使用者帳戶相關聯之請求的部分自用戶端傳輸至伺服器(630)。在可選擇性地採用預安裝之應用程式的其他實例中,亦將與預安裝之應用程式相關聯的後設資料自用戶端傳輸至伺服器。後設資料將允許伺服器識別使用者正試圖由使用者帳戶採用之選定預安裝之應用程式的詳細資料提供至伺服器。在伺服器接收唯一硬體識別符及(視情況)後設資料之後,伺服器可藉由判定預安裝之應用程式是否已與使用者帳戶連結來驗證權利證明(640)。伺服器可藉由檢查唯一性表以查找唯一硬體識別符來判定應用程式是否已連結。因為唯一性表儲存含有已採用預安裝之應用程式的電子裝置之唯一硬體識別符的條目,所以未在表中找到之唯一硬體識別符表示電子裝置尚未與其預安裝之應用程式中的任一者相關聯。若方法600允許預安裝之應用程式的選擇性採用,則判定可包括查詢唯一性表以查找與唯一硬體識別符相關聯之條目。若找到唯一硬體識別符,則判定可評估具有預安裝之應用程式之後設資料的條目以判定選定預安裝之應用程式先前是否已被採用。 Method 600 can generate a unique hardware identifier (620). This unique hardware identifier can serve as a digital receipt for the effective ownership or rights of the application. The unique hardware identifier can be generated by combining one or more identifiers specific to the electronic device. For example, the unique hardware identifier can be based on one or more identifiers associated with a hardware component of the electronic device. Because the identifier of the hardware component is unique, no two unique hardware identifiers will be the same. As an example, a unique hardware identifier can be generated by the logical board number of the combined device and the Ethernet hardware address of the device. Can use tandem, hash, edit Code scheme or other data mediation algorithm to combine the logic board serial number and the Ethernet hardware address. The unique hardware identifier can be transmitted from the client to the server as part of the request to associate the pre-installed application with the user account (630). In other instances where a pre-installed application is optionally employed, post-data associated with the pre-installed application is also transmitted from the client to the server. The post-data will allow the server to identify the details of the selected pre-installed application that the user is attempting to use by the user account to the server. After the server receives the unique hardware identifier and (as appropriate) the data, the server can verify the proof of entitlement by determining if the pre-installed application has been linked to the user account (640). The server can determine if the application is linked by checking the uniqueness table to find a unique hardware identifier. Because the uniqueness table stores entries containing the unique hardware identifier of the electronic device that has the pre-installed application, the unique hardware identifier not found in the table indicates that the electronic device has not been pre-installed with the application. One is associated. If method 600 allows for the selective adoption of a pre-installed application, the decision may include querying the uniqueness table to find an entry associated with the unique hardware identifier. If a unique hardware identifier is found, it is determined that an entry with pre-installed application post-data can be evaluated to determine if the selected pre-installed application has previously been adopted.

若自搜尋(亦即,查詢)唯一性表判定應用程式先前已被採用,則將錯誤傳輸回至用戶端(641)。用戶端接收該錯誤且向使用者呈現應用程式已被採用的警告(642)。圖13說明採用警告之實例。警告700通知使用者:因為使用者希望與其使用者帳戶相關聯的一或多個應用程式已指派給不同 使用者帳戶,所以不能指派該等預安裝之應用程式。另一方面,若自搜尋唯一性表判定應用程式先前未被採用,則伺服器可執行例行性(sanity)檢查以判定預安裝之應用程式是否為電子裝置之原始或預設組態的部分(650)。換言之,伺服器判定電子裝置是否係自製造商組態及遞送而安裝有預安裝之應用程式。此例行性檢查防止使用者將最初安裝於一電子裝置上之預安裝之應用程式複製至另一電子裝置及試圖使非法複本與使用者帳戶相關聯。伺服器可依據唯一硬體識別符來查詢組態伺服器以接收與該唯一硬體識別符相關聯之電子裝置之原始組態。可查驗原始組態以判定預安裝之應用程式的清單。可將預安裝之應用程式的此清單與使用者正試圖採用之應用程式比較,以判定彼應用程式是否可用於採用。在其他實例中,可將用以查詢以查找原始組態之資料庫的複本儲存於散佈中心中,因此允許唯一硬體識別符之評估完全在散佈中心中執行。此情形可減少至組態伺服器之網路訊務。 If the self-search (i.e., query) uniqueness table determines that the application has been previously employed, the error is transmitted back to the client (641). The client receives the error and presents the user with a warning that the application has been taken (642). Figure 13 illustrates an example of the use of a warning. Warning 700 notifies the user that one or more applications that the user wishes to associate with their user account have been assigned to different User accounts, so these pre-installed apps cannot be assigned. On the other hand, if the self-search uniqueness table determines that the application has not been previously used, the server may perform a sanity check to determine whether the pre-installed application is part of the original or preset configuration of the electronic device. (650). In other words, the server determines whether the electronic device is pre-installed with the application configured and delivered by the manufacturer. This routine check prevents the user from copying a pre-installed application originally installed on an electronic device to another electronic device and attempting to associate the illegal copy with the user account. The server can query the configuration server based on the unique hardware identifier to receive the original configuration of the electronic device associated with the unique hardware identifier. The original configuration can be checked to determine a list of pre-installed applications. This list of pre-installed applications can be compared to the application the user is trying to use to determine if the application is available for adoption. In other instances, a copy of the database used to query to find the original configuration may be stored in the distribution center, thus allowing the evaluation of the unique hardware identifier to be performed entirely in the distribution center. This situation can be reduced to the network traffic of the configuration server.

若判定使用者希望採用之應用程式並非電子裝置之原始組態的部分,則可將錯誤訊息傳輸至用戶端(651)。一旦用戶端接收到該錯誤訊息,用戶端便可向使用者呈現電子裝置不適合採用之警告(642)。圖14說明採用警告之另一實例。警告750通知使用者:因為電子裝置(本文中稱為「Mac」)不適合使預安裝之應用程式與使用者帳戶相關聯,所以不能將應用程式指派給使用者帳戶。在其他實例中,警告750可包括出於如下目的而提供之圖式或其他句 子:告知使用者電子裝置最初並未組態有預安裝之應用程式。另一方面,若判定使用者希望採用之應用程式為電子裝置之原始組態的部分,則可執行額外例行性檢查(若存在)。一旦伺服器已驗證預安裝之應用程式可連結至使用者帳戶,伺服器便可更新儲存於伺服器上之唯一性表及使用者帳戶(660),以指示電子裝置之預安裝之應用程式已被採用(且因此不能由另一使用者帳戶採用)。如以上所論述,已採用之預安裝之應用程式為電子裝置之現與使用者帳戶相關聯的預安裝之應用程式,且因此與該應用程式相關聯之更新及重新下載可下載至與使用者帳戶相關聯之電子裝置。伺服器可將核准訊息傳輸至用戶端以告知用戶端請求經核准(670)。該核准訊息告知或通知用戶端:因為連結請求已評估且視為真實請求,所以在伺服器上預安裝之應用程式現與使用者帳戶相關聯。用戶端接收核准訊息且將預安裝之應用程式與儲存於用戶端上之使用者帳戶連結(680)。在一些實例中,用戶端亦可藉由自資訊清單移除與已與使用者帳戶連結之預安裝之應用程式相關聯的後設資料來更新儲存於電子裝置上之資訊清單。移除與預安裝之應用程式相關聯的後設資料可藉由使經執行以判定應用程式是否可採用的檢查最少而簡化採用程序。用戶端可接著將請求傳輸至散佈中心或伺服器之其他組件以下載應用程式(690)。 If it is determined that the application that the user wishes to use is not part of the original configuration of the electronic device, an error message can be transmitted to the client (651). Once the client receives the error message, the client can present the user with a warning that the electronic device is not suitable for use (642). Figure 14 illustrates another example of employing a warning. The warning 750 informs the user that the application cannot be assigned to the user account because the electronic device (referred to herein as "Mac") is not suitable for associating the pre-installed application with the user account. In other examples, the alert 750 can include a schema or other sentence provided for the following purposes Sub: Tells the user that the electronic device was not initially configured with a pre-installed application. On the other hand, if it is determined that the application that the user wishes to use is part of the original configuration of the electronic device, an additional routine check (if any) can be performed. Once the server has verified that the pre-installed application can be linked to the user account, the server can update the uniqueness table and user account (660) stored on the server to indicate that the pre-installed application of the electronic device has been Adopted (and therefore cannot be adopted by another user account). As discussed above, the pre-installed application that has been employed is a pre-installed application of the electronic device that is now associated with the user account, and thus the update and re-download associated with the application can be downloaded to the user. The electronic device associated with the account. The server may transmit an approval message to the client to inform the client that the request is approved (670). The approval message informs or informs the client that the application pre-installed on the server is now associated with the user account because the link request has been evaluated and considered a real request. The client receives the approval message and links the pre-installed application to the user account stored on the client (680). In some examples, the client may also update the list of information stored on the electronic device by removing the post-data associated with the pre-installed application that has been linked to the user account from the information list. Removing the post-data associated with the pre-installed application can simplify the adoption of the program by minimizing the checks performed to determine if the application is available. The client can then transfer the request to the distribution center or other component of the server to download the application (690).

方法600亦可經組態而用於後安裝之應用程式(亦即,由使用者安裝之應用程式)的採用。後安裝之應用程式包括 在使用者之裝置已離開製造商之後或在該裝置已由使用者購買之後已安裝於該裝置上的經贈送、購買、兌換或以其他方式獲取之應用程式。舉例而言,替代產生唯一硬體識別符(620),方法600可產生與應用程式相關聯之唯一識別符。該唯一識別符可為用以展示應用程式之權利證明或購買證明的與應用程式相關聯之後設資料。該唯一識別符可儲存於應用程式之後設資料中,且隨後由用戶端裝置擷取。或者,該唯一識別符可基於應用程式之後設資料而產生。舉例而言,該唯一識別符可由以下各者導出:應用程式之唯一或非唯一收據、與接收應用程式有關之後設資料(諸如,獲取應用程式之日期及/或位置)、與用戶端裝置相關聯之唯一識別符,及/或與應用程式或用戶端裝置相關聯之其他後設資料。 Method 600 can also be configured for use with a post-installed application (i.e., an application installed by a user). Post-installed applications include A gifted, purchased, redeemed, or otherwise obtained application that has been installed on the device after the user's device has left the manufacturer or after the device has been purchased by the user. For example, instead of generating a unique hardware identifier (620), method 600 can generate a unique identifier associated with the application. The unique identifier may be associated with the application to display the application's proof of entitlement or proof of purchase. The unique identifier can be stored in the post-application data and subsequently retrieved by the client device. Alternatively, the unique identifier can be generated based on the data set by the application. For example, the unique identifier may be derived from: a unique or non-unique receipt of the application, a data associated with the receiving application (such as the date and/or location of the application), and associated with the client device. A unique identifier associated with, and/or other post-data associated with the application or client device.

在一些實例中,通信協定可取決於唯一識別符是與預安裝之應用程式(亦即,由製造商安裝之應用程式)抑或後安裝之應用程式(亦即,由使用者安裝之應用程式)相關聯。舉例而言,在自用戶端接收之唯一識別符與後安裝之應用程式相關聯且因此並非電子裝置之原始組態的部分時,通信協定可跳過確認應用程式為電子裝置之原始組態的部分(650)。實情為,伺服器可藉由比較唯一識別符與有效唯一識別符之資料庫來驗證應用程式之權利證明或所有權。此情形可允許伺服器在應用程式之有效複本與無效複本之間進行區別及區分。一旦驗證了權利證明,則採用應用程式作為使用者帳戶之部分。為了判定應用程式是預安裝抑或 後安裝,伺服器可分析旗標或與唯一識別符相關聯之其他後設資料。 In some instances, the communication protocol may depend on whether the unique identifier is an application installed with a pre-installed application (ie, an application installed by the manufacturer) or a later installed application (ie, an application installed by the user) Associated. For example, when the unique identifier received from the client is associated with the post-installed application and is therefore not part of the original configuration of the electronic device, the communication protocol may skip the confirmation that the application is the original configuration of the electronic device. Part (650). The truth is that the server can verify the application's proof of entitlement or ownership by comparing the database of unique identifiers with valid unique identifiers. This situation allows the server to distinguish and distinguish between valid and invalid copies of the application. Once the proof of entitlement is verified, the application is used as part of the user account. To determine if the application is pre-installed or After installation, the server can analyze the flag or other post-data associated with the unique identifier.

在另外其他實例中,通信協定可取決於自用戶端接收之唯一識別符是否基於與用戶端電子裝置相關聯之後設資料。舉例而言,由伺服器存取以判定應用程式是否已連結的資料庫或表可取決於唯一識別符。可針對與用戶端電子裝置相關聯之唯一識別符來由伺服器存取及更新第一資料庫。第一資料庫可基於電子裝置之硬體而鍵控且可搜尋。可針對不與用戶端裝置相關聯之唯一識別符來由伺服器存取及更新第二資料庫。換言之,此等唯一識別符僅基於與應用程式相關聯之權利證明,且因此,搜尋第二資料庫將基於權利證明或權利證明之某一變化。 In still other examples, the communication protocol may depend on whether the unique identifier received from the client is based on the associated data associated with the client electronic device. For example, a database or table accessed by the server to determine if an application has been linked may depend on a unique identifier. The first repository can be accessed and updated by the server for a unique identifier associated with the client electronic device. The first database can be keyed and searchable based on the hardware of the electronic device. The second repository can be accessed and updated by the server for a unique identifier that is not associated with the client device. In other words, these unique identifiers are based only on the proof of entitlement associated with the application, and therefore, searching for the second repository will be based on a change in the proof of entitlement or proof of entitlement.

圖15說明用於電子裝置上之恢復模式的例示性程序。大體而言,恢復模式可允許電子裝置解決應用程式或甚至作業系統之內部嚴重錯誤。在恢復整個作業系統之極端狀況下,此方法可甚至重新格式化儲存單元且重新安裝作業系統。取決於恢復模式之特定實施,重新安裝之作業系統可變化。作為一實例,重新安裝之作業系統可為最初安裝於電子裝置上之作業系統,其可接著經手動及/或自動更新。作為另一實例,重新安裝之作業系統可併有自最初安裝之作業系統以來已發行的一或多個更新。在另外其他實例中,可重新安裝來自製造商之最新可用作業系統。大體而言,恢復模式僅重新安裝作業系統而不重新安裝預安裝之應用程式。出於此原因,尚未與使用者帳戶相關聯或連 結之預安裝之應用程式可丟失。程序800藉由在恢復模式期間自組態伺服器擷取資訊清單來解決此問題。 Figure 15 illustrates an exemplary procedure for a recovery mode on an electronic device. In general, the recovery mode allows the electronic device to resolve serious internal errors in the application or even the operating system. In the extreme case of restoring the entire operating system, this method can even reformat the storage unit and reinstall the operating system. The reinstalled operating system can vary depending on the particular implementation of the recovery model. As an example, the reinstalled operating system can be an operating system initially installed on the electronic device, which can then be manually and/or automatically updated. As another example, the reinstalled operating system may have one or more updates that have been issued since the originally installed operating system. In still other examples, the latest available operating system from the manufacturer can be reinstalled. In general, recovery mode only reinstalls the operating system without reinstalling the pre-installed application. For this reason, it has not been associated or linked to a user account The pre-installed application can be lost. The program 800 solves this problem by extracting a list of information from the configuration server during the recovery mode.

程序800可藉由進入恢復模式開始(820)。進入恢復模式可觸發自製造商下載基本作業系統。該基本作業系統可經組態以產生唯一硬體識別符(830)。可使用以上所描述之方法中的一者產生該唯一硬體識別符。一旦產生了唯一硬體識別符,基本作業系統便可將該唯一硬體識別符傳輸至組態伺服器(840)。基於所接收之唯一硬體識別符,組態伺服器可傳回資訊清單,該資訊清單包括預安裝於電子裝置上之應用程式及彼等應用程式之版本號碼。資訊清單亦可包括電子裝置之所有者具有所有權的其他應用程式。在一些實例中,通信伺服器可與散佈伺服器通信以判定電子裝置是否已採用該等應用程式。若在散佈中心之唯一性表中找到該唯一硬體識別符,則電子裝置之預安裝之應用程式中的一或多者已被採用。因此,通信伺服器可傳回空的資訊清單或不包括已採用之特定預安裝之應用程式的資訊清單。此情形可使得當預安裝之應用程式已採用時最少發生購買頁面請求將該等預安裝之應用程式呈現給使用者的情況。在散佈中心儲存組態資料庫之本端複本的其他實例中,可將唯一硬體識別符傳輸至散佈中心而非組態伺服器。藉由使用唯一硬體識別符,散佈中心可判定預安裝之應用程式及在彼等應用程式當中已與使用者帳戶相關聯之應用程式。 The process 800 can begin by entering a recovery mode (820). Entering recovery mode triggers the download of the basic operating system from the manufacturer. The basic operating system can be configured to generate a unique hardware identifier (830). The unique hardware identifier can be generated using one of the methods described above. Once the unique hardware identifier is generated, the base operating system can transmit the unique hardware identifier to the configuration server (840). Based on the unique hardware identifier received, the configuration server can return a list of information including the applications pre-installed on the electronic device and the version numbers of their applications. The information list may also include other applications that the owner of the electronic device has ownership of. In some examples, the communication server can communicate with the scatter server to determine if the electronic device has employed the applications. If the unique hardware identifier is found in the uniqueness table of the distribution center, one or more of the pre-installed applications of the electronic device have been adopted. Therefore, the communication server can return an empty list of information or a list of information that does not include the particular pre-installed application that has been used. This situation may result in a minimum purchase page request to present the pre-installed application to the user when the pre-installed application has been adopted. In other instances where the local copy of the configuration repository is stored in the distribution center, the unique hardware identifier can be transferred to the distribution center instead of the configuration server. By using a unique hardware identifier, the distribution center can determine pre-installed applications and applications that are associated with user accounts in their applications.

組態伺服器(或散佈中心)可傳回伴隨電子裝置之作業系 統的版本號碼及基於電子裝置之預安裝之應用程式的資訊清單(850)。在其他實例中,資訊清單亦可包括電子裝置之後安裝之應用程式(850),該等後安裝之應用程式尚未與使用者帳戶連結。當電子裝置安裝尚未與使用者帳戶相關聯之應用程式時,儲存於組態伺服器上之資訊清單可週期性地更新。此情形可出於多種原因而發生,諸如網路故障、伺服器故障或使用者選擇在此時間點不使應用程式與使用者帳戶相關聯之選項。將作業系統之版本號碼傳輸至作業系統伺服器(860),該作業系統伺服器又將原始作業系統傳輸至電子裝置。電子裝置接收原始作業系統(870)且視情況安裝原始作業系統。電子裝置現包括原始作業系統之最新複本及基於電子裝置之預安裝之應用程式的資訊清單。若使用者尚未使預安裝之應用程式與使用者帳戶相關聯,則使用者可藉由如以上所描述選擇購買頁面連結而進行此操作。 The configuration server (or distribution center) can return the operating system accompanying the electronic device A list of information on the version number and pre-installed applications based on electronic devices (850). In other examples, the information list may also include an application (850) installed after the electronic device, and the subsequently installed application has not been linked to the user account. When an electronic device installs an application that has not been associated with a user account, the list of information stored on the configuration server can be updated periodically. This situation can occur for a variety of reasons, such as a network failure, a server failure, or an option by the user to not associate an application with a user account at this point in time. The version number of the operating system is transmitted to the operating system server (860), which in turn transmits the original operating system to the electronic device. The electronic device receives the original operating system (870) and installs the original operating system as appropriate. The electronic device now includes a list of the latest copies of the original operating system and a list of pre-installed applications based on the electronic device. If the user has not associated the pre-installed application with the user account, the user can do so by selecting the purchase page link as described above.

在本發明之範疇內之實施例亦可包括用於攜載或儲存有電腦可執行指令或資料結構之有形及/或非暫時性電腦可讀儲存媒體。此等非暫時性電腦可讀儲存媒體可為可由通用或專用電腦(包括如以上所論述之任何專用處理器的功能設計)存取之任何可用媒體。藉由實例且非限制,此等非暫時性電腦可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置,或可用以攜載或儲存呈電腦可執行指令、資料結構或處理器晶片設計之形式之所要程式碼構件的任何其他媒 體。當經由網路或另一通信連接(固線式連接、無線連接或其組合)將資訊傳送或提供至電腦時,該電腦將該連接恰當地視為電腦可讀媒體。因此,將任何此種連接恰當地稱為電腦可讀媒體。以上各者之組合亦應包括於電腦可讀媒體之範疇內。 Embodiments within the scope of the present invention may also include a tangible and/or non-transitory computer readable storage medium for carrying or storing computer executable instructions or data structures. Such non-transitory computer readable storage media can be any available media that can be accessed by a general purpose or special purpose computer, including the functionality of any special purpose processor as discussed above. By way of example and not limitation, such non-transitory computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage or other magnetic storage device, or may be used for carrying or storing Any other medium of the desired code component in the form of a computer executable instruction, data structure or processor chip design body. When information is transmitted or provided to a computer via a network or another communication connection (a fixed line connection, a wireless connection, or a combination thereof), the computer properly views the connection as a computer readable medium. Accordingly, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included in the context of computer readable media.

電腦可執行指令包括(例如)使通用電腦、專用電腦或專用處理裝置執行某一功能或功能群組之指令及資料。電腦可執行指令亦包括由處於獨立或網路環境中之電腦執行的程式模組。大體而言,程式模組包括執行特定任務或實施特定抽象資料類型之常式、程式、組件、資料結構、物件及專用處理器之設計中所固有的功能等。電腦可執行指令、相關聯之資料結構及程式模組表示用於執行本文中所揭示之方法之步驟的程式碼構件之實例。此等可執行指令或相關聯之資料結構的特定序列表示用於實施此等步驟中所描述之功能的相應動作之實例。 Computer-executable instructions include, for example, instructions and materials for causing a general purpose computer, special purpose computer, or special purpose processing device to perform a function or group of functions. Computer-executable instructions also include program modules that are executed by a computer in an independent or network environment. In general, program modules include functions inherent in the design of routines, programs, components, data structures, objects, and specialized processors that perform specific tasks or implement specific abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of code components for performing the steps of the methods disclosed herein. The particular sequences of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in the steps.

熟習此項技術者將瞭解,可藉由許多類型之電腦系統組態在網路計算環境中實踐本發明之其他實施例,該等電腦系統組態包括個人電腦、手持型裝置、多處理器系統、基於微處理器或可程式化之消費型電子裝置、網路PC、小型電腦、大型電腦及其類似者。實施例亦可在分散式計算環境中實施,在分散式計算環境中,藉由本端及遠端處理裝置來執行任務,本端及遠端處理裝置係經由通信網路而鏈接(藉由固線式鏈路、無線鏈路或其組合)。在分散式計算環境中,程式模組可位於本端記憶體儲存裝置及遠端記憶 體儲存裝置兩者中。 Those skilled in the art will appreciate that other embodiments of the present invention can be practiced in a network computing environment, including personal computers, handheld devices, multiprocessor systems, by many types of computer system configurations. , microprocessor-based or programmable consumer electronics, network PCs, small computers, large computers, and the like. The embodiment can also be implemented in a distributed computing environment. In a distributed computing environment, tasks are performed by the local and remote processing devices, and the local and remote processing devices are linked via a communication network (by a fixed line) Link, wireless link or a combination thereof). In a distributed computing environment, the program module can be located in the local memory storage device and remote memory. In both body storage devices.

上文所描述之各種實施例僅藉由說明而提供且不應解釋為限制本發明之範疇。熟習此項技術者將易於認識到,可在不遵循本文中所說明及描述之實例實施例及應用程式的情況下且在不脫離本發明之精神及範疇的情況下,對本文中所描述之原理進行各種修改及改變。 The various embodiments described above are provided by way of illustration only and should not be construed as limiting the scope of the invention. Those skilled in the art will readily appreciate that the embodiments described herein can be carried out without departing from the exemplary embodiments and applications described and described herein, and without departing from the spirit and scope of the invention. The principles are subject to various modifications and changes.

100‧‧‧系統/通用計算裝置 100‧‧‧System/General Purpose Computing

110‧‧‧系統匯流排 110‧‧‧System Bus

120‧‧‧中央處理單元(CPU)或處理器 120‧‧‧Central Processing Unit (CPU) or processor

122‧‧‧快取記憶體 122‧‧‧Cache memory

130‧‧‧系統記憶體 130‧‧‧System Memory

140‧‧‧唯讀記憶體(ROM) 140‧‧‧Read-only memory (ROM)

150‧‧‧隨機存取記憶體(RAM) 150‧‧‧ Random Access Memory (RAM)

160‧‧‧儲存裝置/硬碟 160‧‧‧Storage device/hard disk

162‧‧‧模組1/軟體模組 162‧‧‧Module 1/Software Module

164‧‧‧模組2/軟體模組 164‧‧‧Module 2/Software Module

166‧‧‧模組3/軟體模組 166‧‧‧Module 3/Software Module

170‧‧‧顯示器/輸出裝置 170‧‧‧Display/output device

180‧‧‧通信介面 180‧‧‧Communication interface

190‧‧‧輸入裝置 190‧‧‧ Input device

200‧‧‧散佈系統 200‧‧‧Distribution system

210‧‧‧散佈中心/散佈伺服器 210‧‧‧Distribution Center/Distribution Server

211‧‧‧唯一性伺服器 211‧‧‧ Unique server

220‧‧‧應用程式資料庫 220‧‧‧Application Database

230‧‧‧組態伺服器 230‧‧‧Configuration Server

240‧‧‧伺服器側 240‧‧‧server side

250‧‧‧網際網路 250‧‧‧Internet

260‧‧‧計算裝置 260‧‧‧ Computing device

261‧‧‧應用程式 261‧‧‧Application

270‧‧‧計算裝置 270‧‧‧ computing device

271‧‧‧應用程式 271‧‧‧Application

280‧‧‧攜帶型裝置 280‧‧‧ portable device

281‧‧‧應用程式 281‧‧‧Application

290‧‧‧用戶端側 290‧‧‧User side

291‧‧‧使用者帳戶 291‧‧‧User account

300‧‧‧主從式系統 300‧‧‧Master-slave system

301‧‧‧更新頁面請求 301‧‧‧Update page request

302‧‧‧購買頁面請求 302‧‧‧ Purchase page request

303‧‧‧超文字標記語言(「HTML」)頁面 303‧‧‧ Hypertext Markup Language ("HTML") page

310‧‧‧預安裝之應用程式 310‧‧‧Pre-installed applications

311‧‧‧存根收據A 311‧‧‧Stub receipt A

320‧‧‧預安裝之應用程式 320‧‧‧Pre-installed applications

321‧‧‧存根收據B 321‧‧‧Stub receipt B

330‧‧‧應用程式 330‧‧‧Application

331‧‧‧真實收據 331‧‧ Real receipts

340‧‧‧資訊清單 340‧‧‧Information List

350‧‧‧用戶端裝置 350‧‧‧Customer device

360‧‧‧伺服器 360‧‧‧Server

400‧‧‧說明由用戶端及伺服器執行之動作的方法 400‧‧‧Description of the actions performed by the client and the server

450‧‧‧超文字標記語言(HTML)頁面 450‧‧‧ Hypertext Markup Language (HTML) page

451‧‧‧「Updates」連結 451‧‧‧"Updates" link

453‧‧‧標題 453‧‧‧ heading

455‧‧‧圖示 455‧‧‧ icon

457‧‧‧應用程式描述 457‧‧‧Application Description

459‧‧‧概要 459‧‧‧Overview

461‧‧‧可選擇連結 461‧‧‧Optional link

470‧‧‧超文字標記語言(HTML)頁面 470‧‧‧ Hypertext Markup Language (HTML) page

471‧‧‧「Updates」連結 471‧‧‧"Updates" link

472‧‧‧預安裝之應用程式 472‧‧‧Pre-installed applications

473‧‧‧經購買之應用程式 473‧‧‧ Purchased application

475‧‧‧「update all」連結 475‧‧‧"update all" link

476‧‧‧「update」連結 476‧‧‧"update" link

477‧‧‧「update」連結 477‧‧‧"update" link

478‧‧‧「update」連結 478‧‧‧"update" link

479‧‧‧「update」連結 479‧‧‧"update" link

480‧‧‧提示 480‧‧‧ Tips

481‧‧‧圖示 481‧‧‧ icon

482‧‧‧登錄 482‧‧‧ Login

483‧‧‧密碼 483‧‧‧ password

484‧‧‧密碼輔助 484‧‧‧ Password Assistance

485‧‧‧描述 485‧‧‧Description

486‧‧‧說明連結 486‧‧‧ Description link

487‧‧‧帳戶建立 487‧‧‧ Account Creation

488‧‧‧取消 488‧‧‧ Cancelled

489‧‧‧登入 489‧‧‧ Login

500‧‧‧說明由用戶端及伺服器執行之動作的方法 500‧‧‧Methods for performing actions performed by the client and the server

550‧‧‧超文字標記語言(HTML)頁面 550‧‧‧ Hypertext Markup Language (HTML) page

551‧‧‧「purchases」連結 551‧‧‧"purchases" link

552‧‧‧指令 552‧‧‧ directive

553‧‧‧標題 553‧‧‧ heading

554‧‧‧「accept」連結 554‧‧‧"accept" link

555‧‧‧描述 555‧‧‧Description

557‧‧‧應用程式之清單 557‧‧‧Application list

558‧‧‧文字 558‧‧‧ text

559‧‧‧文字 559‧‧‧ text

560‧‧‧超文字標記語言(HTML)頁面 560‧‧‧ Hypertext Markup Language (HTML) page

562‧‧‧應用程式清單 562‧‧‧Application List

564‧‧‧應用程式清單 564‧‧‧Application List

566‧‧‧狀態 566‧‧‧ Status

570‧‧‧超文字標記語言(HTML)頁面 570‧‧‧ Hypertext Markup Language (HTML) page

575‧‧‧授權提示 575‧‧‧ Authorization Tips

600‧‧‧說明在用戶端與伺服器之間執行之通信協定 的方法 600‧‧‧ Explain the communication protocol between the client and the server Methods

700‧‧‧警告 700‧‧‧ Warning

750‧‧‧警告 750‧‧‧ Warning

800‧‧‧程序 800‧‧‧ procedures

圖1說明一例示性系統實施例;圖2說明一例示性應用程式散佈系統;圖3說明一例示性主從式系統;圖4說明用於處理更新頁面請求之一例示性方法;圖5說明與更新頁面請求相關聯之HTML頁面之一實例;圖6說明請求採用預安裝之應用程式的使用者授權之HTML頁面的一實例;圖7說明請求採用預安裝之應用程式的使用者授權之HTML頁面的另一實例;圖8說明用於處理購買頁面請求之一例示性方法;圖9說明當使用者未登入時與購買頁面請求相關聯之HTML頁面之一實例;圖10說明當使用者登入時與購買頁面請求相關聯之HTML頁面之另一實例;圖11說明包括授權提示之與購買頁面請求相關聯之HTML頁面的另一實例;圖12說明用於將預安裝之應用程式連結至使用者帳戶之 例示性方法; 圖13說明採用警告之一實例; 圖14說明採用警告之另一實例;及 圖15說明用於電子裝置上之恢復模式的例示性程序。 1 illustrates an exemplary system embodiment; FIG. 2 illustrates an exemplary application distribution system; FIG. 3 illustrates an exemplary master-slave system; FIG. 4 illustrates an exemplary method for processing an update page request; FIG. An example of an HTML page associated with an update page request; Figure 6 illustrates an example of a user-authorized HTML page requesting a pre-installed application; Figure 7 illustrates a user-authorized HTML requesting a pre-installed application Another example of a page; Figure 8 illustrates one exemplary method for processing a purchase page request; Figure 9 illustrates one example of an HTML page associated with a purchase page request when the user is not logged in; Figure 10 illustrates when the user logs in Another example of an HTML page associated with a purchase page request; Figure 11 illustrates another example of an HTML page associated with a purchase page request that includes an authorization prompt; Figure 12 illustrates a method for linking a pre-installed application to use Account Exemplary method; Figure 13 illustrates an example of the use of a warning; Figure 14 illustrates another example of the use of a warning; and Figure 15 illustrates an exemplary procedure for a recovery mode on an electronic device.

300‧‧‧主從式系統 300‧‧‧Master-slave system

301‧‧‧更新頁面請求 301‧‧‧Update page request

302‧‧‧購買頁面請求 302‧‧‧ Purchase page request

303‧‧‧超文字標記語言(「HTML」)頁面 303‧‧‧ Hypertext Markup Language ("HTML") page

310‧‧‧預安裝之應用程式 310‧‧‧Pre-installed applications

311‧‧‧存根收據A 311‧‧‧Stub receipt A

320‧‧‧預安裝之應用程式 320‧‧‧Pre-installed applications

321‧‧‧存根收據B 321‧‧‧Stub receipt B

330‧‧‧應用程式 330‧‧‧Application

331‧‧‧真實收據 331‧‧ Real receipts

340‧‧‧資訊清單 340‧‧‧Information List

350‧‧‧用戶端裝置 350‧‧‧Customer device

360‧‧‧伺服器 360‧‧‧Server

Claims (20)

一種用於將軟體應用程式連結至一使用者帳戶之方法,其包含:由一伺服器藉由判定已安裝於一第一用戶端裝置上之一應用程式經組態用於由一伺服器散佈來驗證該第一用戶端裝置上之該經安裝之應用程式係適合採用(adoption),其中該採用涉及將該使用者帳戶與該經安裝之應用程式相關聯;藉由該伺服器驗證該應用程式先前尚未被採用,其包括:自動地擷取一唯一識別符,該唯一識別符自與該經安裝之應用程式相關聯的後設資料(metadata)唯一地識別該經安裝之應用程式的一個別複本,及驗證該唯一識別符尚未與任何使用者帳戶相關聯;及自該伺服器將該經安裝之應用程式適合採用的一通知遞送至該第一用戶端裝置。 A method for linking a software application to a user account, comprising: configuring, by a server, an application installed on a first client device to be distributed by a server Determining that the installed application on the first client device is suitable for adoption, wherein the employing relates to associating the user account with the installed application; verifying the application by the server The program has not been previously employed, and includes automatically capturing a unique identifier that uniquely identifies one of the installed applications from a metadata associated with the installed application (metadata) An individual replica, and verifying that the unique identifier has not been associated with any user account; and delivering a notification from the server suitable for the installed application to the first client device. 如請求項1之方法,其進一步包含藉由該伺服器使該應用程式為該使用者帳戶所採用,其中該採用組態該使用者帳戶以准許與該使用者帳戶相關聯之一或多個用戶端裝置具有關於該經採用之應用程式的特殊權限。 The method of claim 1, further comprising employing, by the server, the application for the user account, wherein configuring the user account to permit one or more associations with the user account The client device has special permissions with respect to the employed application. 如請求項2之方法,其中該等特殊權限包括該應用程式之下載、重新下載及更新。 The method of claim 2, wherein the special rights include downloading, re-downloading, and updating the application. 如請求項2至3中任一項之方法,其進一步包含:向該使用者帳戶註冊一第二用戶端裝置;及 將該經採用之應用程式傳輸至該第二用戶端裝置。 The method of any one of claims 2 to 3, further comprising: registering a second client device with the user account; and Transmitting the employed application to the second client device. 如請求項1至3中任一項之方法,其中該唯一識別符為該個別複本之一權利證明。 The method of any one of claims 1 to 3, wherein the unique identifier is one of the individual copies of the proof of entitlement. 如請求項2至3中任一項之方法,其中該應用程式先前已安裝於與該使用者帳戶相關聯之一或多個用戶端裝置上。 The method of any one of clauses 2 to 3, wherein the application has previously been installed on one or more client devices associated with the user account. 如請求項1至3中任一項之方法,其中該方法係回應於一使用者請求而執行。 The method of any one of clauses 1 to 3, wherein the method is performed in response to a user request. 如請求項1至3中任一項之方法,其進一步包含:通知該用戶端裝置複數個應用程式可用於採用;及接受選擇該複數個應用程式中之至少一者用於採用的一輸入。 The method of any one of claims 1 to 3, further comprising: notifying the client device that the plurality of applications are available for adoption; and accepting an input for selecting at least one of the plurality of applications for adoption. 如請求項1至3中任一項之方法,其中自動地擷取該唯一識別符包含:查詢該伺服器上之一資料庫以查找該唯一識別符。 The method of any one of claims 1 to 3, wherein automatically capturing the unique identifier comprises querying a database on the server to find the unique identifier. 如請求項1至3中任一項之方法,其中採用套裝軟體進一步包含:基於該套裝軟體之一權利證明來更新一資料庫。 The method of any one of claims 1 to 3, wherein the using the package software further comprises: updating a database based on a proof of entitlement of the package software. 如請求項1至3中任一項之方法,其中該唯一識別符包含可自與該用戶端裝置相關聯之硬體導出之一值。 The method of any one of clauses 1 to 3, wherein the unique identifier comprises a value that can be derived from a hardware associated with the client device. 一種用於將軟體應用程式連結至一使用者帳戶之系統,其包含:一處理器;一儲存裝置; 一記憶體,其經組態以儲存用於控制該處理器執行包括以下各者之步驟的指令:由一伺服器藉由判定已安裝於一用戶端裝置上之一應用程式經組態用於由一伺服器散佈來驗證該用戶端裝置上之該經安裝之應用程式係適合採用,其中該採用涉及將該使用者帳戶與該經安裝之應用程式相關聯;藉由該伺服器驗證該應用程式先前尚未被採用,其包括:自動地擷取一唯一識別符,該唯一識別符自與該經安裝之應用程式相關聯的後設資料唯一地識別該經安裝之應用程式的一個別複本,及驗證該唯一識別符尚未與任何使用者帳戶相關聯;及自該伺服器將該經安裝之應用程式適合採用的一通知遞送至該用戶端裝置。 A system for linking a software application to a user account, comprising: a processor; a storage device; A memory configured to store instructions for controlling the processor to perform steps comprising: configuring, by a server, an application installed on a client device to be configured for Detecting, by a server, that the installed application on the client device is suitable for use, wherein the employing involves associating the user account with the installed application; verifying the application by the server The program has not been previously employed, and includes automatically capturing a unique identifier that uniquely identifies a duplicate of the installed application from a post-data associated with the installed application. And verifying that the unique identifier has not been associated with any user account; and delivering a notification from the server suitable for the installed application to the client device. 如請求項12之系統,其中該記憶體進一步包含用於藉由該伺服器使該應用程式為該使用者帳戶所採用的指令,其中該採用組態該使用者帳戶以准許與該使用者帳戶相關聯之一或多個用戶端裝置具有關於該經採用之應用程式的特殊權限。 The system of claim 12, wherein the memory further comprises instructions for causing the application to be the user account by the server, wherein the user account is configured to permit the user account The associated one or more client devices have special permissions regarding the employed application. 如請求項13中任一項之系統,其中該等特殊權限包括該應用程式之下載、重新下載及更新。 The system of claim 13, wherein the special rights include downloading, re-downloading, and updating the application. 如請求項12至14中任一項之系統,其中該記憶體進一步包含用於向該使用者帳戶註冊另一用戶端裝置及將該經 採用之應用程式傳輸至該另一用戶端裝置的指令。 The system of any one of claims 12 to 14, wherein the memory further comprises for registering another user device with the user account and An instruction transmitted by the application to the other client device. 如請求項12至14中任一項之系統,其中該應用程式先前已安裝於與該使用者帳戶相關聯之該一或多個用戶端裝置上。 The system of any one of claims 12 to 14, wherein the application has previously been installed on the one or more client devices associated with the user account. 如請求項12至14中任一項之系統,其中該記憶體進一步包含用於通知該用戶端裝置複數個應用程式可用於採用及接受選擇該複數個應用程式中之一者之一輸入的指令。 The system of any one of claims 12 to 14, wherein the memory further comprises instructions for notifying the client device that the plurality of applications are operable to accept and accept selection of one of the plurality of applications . 一種非暫時性電腦可讀記錄媒體,其儲存當由一計算裝置執行時使該計算裝置執行包含以下各者之步驟的指令:由一伺服器藉由判定已安裝於一用戶端裝置上之一應用程式經組態用於由一伺服器散佈來驗證該用戶端裝置上之該經安裝之應用程式適合採用,其中該採用涉及將一使用者帳戶與該經安裝之應用程式相關聯;藉由該伺服器驗證該應用程式先前尚未被採用,其包括:自動地擷取一唯一識別符,該唯一識別符自與該經安裝之應用程式相關聯的後設資料唯一地識別該經安裝之應用程式的一個別複本,及驗證該唯一識別符尚未與任何使用者帳戶相關聯;及自該伺服器將該經安裝之應用程式適合採用的一通知遞送至該用戶端裝置。 A non-transitory computer readable recording medium storing, when executed by a computing device, causing the computing device to execute an instruction comprising the steps of: determining, by a server, that one of the user devices is installed The application is configured to be verified by a server to verify that the installed application on the client device is suitable for use, wherein the employing involves associating a user account with the installed application; The server verifies that the application has not been previously employed, and includes automatically capturing a unique identifier that uniquely identifies the installed application from a post-profile associated with the installed application A duplicate of the program, and verifying that the unique identifier has not been associated with any user account; and delivering a notification from the server suitable for the installed application to the client device. 如請求項18之非暫時性電腦可讀記錄媒體,其中該等驗證該應用程式已安裝於一用戶端裝置上、驗證該應用程 式先前尚未被採用及遞送該通知的步驟係回應於一使用者請求而執行。 The non-transitory computer readable recording medium of claim 18, wherein the verification application is installed on a client device, and the application is verified The steps that have not previously been adopted and delivered the notification are performed in response to a user request. 如請求項18至19中任一項之非暫時性電腦可讀記錄媒體,其進一步包含藉由該伺服器使該應用程式為該使用者帳戶所採用,其中該採用組態該使用者帳戶以准許與該使用者帳戶相關聯之一或多個用戶端裝置具有關於該經採用之應用程式的特殊權限。 The non-transitory computer readable recording medium of any one of claims 18 to 19, further comprising, by the server, causing the application to be used by the user account, wherein the user account is configured to One or more of the client devices associated with the user account are permitted to have special privileges with respect to the employed application.
TW101125195A 2011-07-12 2012-07-12 System and method for linking pre-installed software to a user account on an online store TWI599973B (en)

Applications Claiming Priority (4)

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/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
US201261596928P 2012-02-09 2012-02-09
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
TW201308237A TW201308237A (en) 2013-02-16
TWI599973B true TWI599973B (en) 2017-09-21

Family

ID=47625486

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101125195A TWI599973B (en) 2011-07-12 2012-07-12 System and method for linking pre-installed software to a user account on an online store

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)

Families Citing this family (15)

* 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
CN104468637B (en) * 2013-09-12 2018-08-31 阿里巴巴集团控股有限公司 A kind of method and apparatus downloaded and install client
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
US10255449B2 (en) 2014-05-30 2019-04-09 Apple Inc. Permission request
TWI602066B (en) * 2014-05-30 2017-10-11 宏碁股份有限公司 Method and system for automatically downloading program
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
US10365931B2 (en) * 2017-02-27 2019-07-30 Microsoft Technology Licensing, Llc Remote administration of initial computer operating system setup options
JP6608878B2 (en) * 2017-07-19 2019-11-20 ファナック株式会社 Application sales management server system
WO2020091809A1 (en) * 2018-11-02 2020-05-07 Google Llc Systems and methods for authenticated parameterized application installation and launch
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

Family Cites Families (13)

* 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
JP2002091595A (en) * 2000-09-11 2002-03-29 Hitachi Ltd Method and system for managing license
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
JP2005284506A (en) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd Download system, apparatus constituting download system, management station, and removable medium
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
JP2007265071A (en) * 2006-03-29 2007-10-11 Jordan Kk Application management method and application management system
EP1901192A1 (en) * 2006-09-14 2008-03-19 British Telecommunications Public Limited Company Mobile application registration
WO2009097902A1 (en) * 2008-02-08 2009-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatuses 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
JP2010049643A (en) * 2008-08-25 2010-03-04 Sourcenext Corp Information processing system, information processing method, and program
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI599973B (en) System and method for linking pre-installed software to a user account on an online store
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
US9990475B2 (en) Apparatus and method of in-application licensing
US7676436B2 (en) Digital content distribution systems and methods
KR100962747B1 (en) In-system reconfiguring of hardware resources
US20100235889A1 (en) Application products with in-application subsequent feature access using network-based distribution system
BRPI0720581A2 (en) PROGRAMMATICALLY APPLICATION BETWEEN PHONE DEVICES BASED ON LICENSE INFORMATION
KR20130027541A (en) Application products with in-application subsequent feature access using network-based distribution system
US20130124696A1 (en) Application products with in-application subsequent feature access using network-based distribution system
US20160224957A1 (en) Distributed digital rights-managed file transfer and access control
WO2013188244A2 (en) Application products with in-application subsequent feature access using network-based distribution system