WO2013188244A2 - Produits d'application avec un accès à des fonctions subséquentes dans l'application à l'aide d'un système de distribution basé sur un réseau - Google Patents

Produits d'application avec un accès à des fonctions subséquentes dans l'application à l'aide d'un système de distribution basé sur un réseau Download PDF

Info

Publication number
WO2013188244A2
WO2013188244A2 PCT/US2013/044824 US2013044824W WO2013188244A2 WO 2013188244 A2 WO2013188244 A2 WO 2013188244A2 US 2013044824 W US2013044824 W US 2013044824W WO 2013188244 A2 WO2013188244 A2 WO 2013188244A2
Authority
WO
WIPO (PCT)
Prior art keywords
download
supplemental
application program
client device
application
Prior art date
Application number
PCT/US2013/044824
Other languages
English (en)
Other versions
WO2013188244A3 (fr
Inventor
Michael Kuohao Chu
Sean B. Kelly
Thomas Alsina
Mihailo Despotovic
Original Assignee
Apple Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/735,939 external-priority patent/US20130124696A1/en
Application filed by Apple Inc. filed Critical Apple Inc.
Publication of WO2013188244A2 publication Critical patent/WO2013188244A2/fr
Publication of WO2013188244A3 publication Critical patent/WO2013188244A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Definitions

  • the present invention relates to distribution of digital products and, more particularly, to network-based distribution of digital products.
  • the invention relates to a system, device and method for accessing locked (secured) features of digital products with assistance from a product distribution site.
  • a digital product can be submitted to a product distribution site for network-based distribution.
  • the digital product can be initially provided such that it provides base functionality but contains one or more locked features that, if unlocked, can supplement the base functionality. If the digital product that has been submitted is approved, the digital product becomes available at the product distribution site such that users can search, browse and purchase the digital product. Once the digital product has been purchased, download and installed on a user's computing device, the user is able to utilized the digital product. However, since the digital product itself includes one or more locked features, the user is not able to utilize such features until a subsequent purchase is performed. Advantageously, the subsequent purchase can be invoked from the digital product.
  • the digital product interacts (directly or indirectly) with remote server (e.g., the product distribution site) to purchase access or usage for one or more of the locked features within the digital product.
  • remote server e.g., the product distribution site
  • the one or more locked features within the digital product can be unlocked and thereafter utilized.
  • a user of a client device may have previously acquired rights or permissions to access one or more supplemental features of one or more digital products (e.g., application programs).
  • supplemental features of one or more digital products
  • a user would purchase an application program and then sometime later also purchase supplemental features for use with the application program.
  • the supplemental features can be purchased using the digital products
  • the user desires to make use of such previously acquired one or more supplemental features on another client device.
  • the user may wish or need to transfer from a former client device to a new client device.
  • the user may wish to utilized (e.g., show) such previously acquired one or more supplemental features with another client device associated with the user, such as another client device within user's account.
  • the digital products are computer program products (e.g., computer software programs).
  • the product distribution site can also be referred to as an online product hosting site.
  • features of the digital products can vary depending on implementation, some examples of features include: modules, tools, characters, functionality, content, or data.
  • a client device can have a download interface that facilitates application programs operating on a client device to request and receive downloads from a remote data repository.
  • a user of a client device may have previously acquired rights or permissions to access one or more supplemental content for use by one or more application programs.
  • a user would purchase an application program and then sometime later, using the application program, also purchase supplemental content for use with the application program.
  • the supplemental content can be purchased using the application program itself. Once the supplemental content is purchased, it needs to be downloaded to the client device. Download policies are used to manage the download of supplemental content.
  • third-party content can be submitted to and distributed by a content distribution system.
  • the third-party content can be hosted (and distributed) by the content distribution system.
  • the content distribution system can allow application programs to be supplemented by supplemental content that is associated with a previously obtained (e.g., purchased) application program.
  • the invention can be implemented in numerous ways, including as a method, system, device, apparatus (including computer readable medium and graphical user interface). Several embodiments of the invention are discussed below.
  • a computer-implemented method for re-acquiring supplemental features for an application program can operate to receive a re- grant request from a requestor via a computing device for access to one or more supplemental features previously acquired from a network-based application distribution system.
  • a set of one or more supplemental features previously acquired by the requestor from the network-based application distribution system can be determined.
  • the computing device can then be permitted to utilize the one or more supplemental features in the set of one or more supplemental features.
  • a computer readable medium including at least computer program code tangibly stored thereon for acquiring supplemental features for an application program can include computer program code for receiving a request from a requestor for access to one or more supplemental features previously acquired from a network-based application distribution system.
  • the computer readable medium can also include computer program code for determining a set of one or more supplemental features previously acquired by the requestor from the network-based application distribution system, and computer program code for permitting the application program to utilize the one or more supplemental features in the set of one or more supplemental features determined to have been previously acquired by the requestor from the network-based application distribution system.
  • a computer-implemented method for acquiring supplemental features for an application program can be achieved by at least the following operations.
  • a re-grant request can be received from a requestor for access to one or more supplemental features that were previously acquired from a network-based application distribution system.
  • the one or more supplemental features are for use with an application program.
  • An acquisition history associated with the requestor can be accessed to identify one or more supplemental features previously acquired by the requestor from a network- based application distribution system.
  • Re-grant eligibility for those of the one or more identified supplemental features can be determined based on at least one eligibility rule. Access can then be enabled to those of the one or more identified supplemental features determined to be re-grant eligible.
  • a computer readable medium including at least computer program code tangibly stored thereon for acquiring supplemental features for an application program can include computer program code for receiving a request from a requestor via a computing device for access to at least one supplemental feature previously acquired for use with an application program.
  • the computer readable medium can also include computer program code for determining whether the requestor previously acquired the application program with assistance of the network-base application distribution system, and computer program code for determining whether the requestor previously acquired the at least one supplemental feature with assistance of the network- base application distribution system.
  • the computer program code can include computer program code for permitting the application program to access the at least one supplemental feature, provided that (i) it is determined that the requestor previously acquired the application program with the
  • a computer-implemented method for acquiring supplemental features for an application program can be achieved by at least the following operations.
  • the method can receive at least one download policy from a remote server to a local client device via at least one network, and store the at least one download policy at the local client device.
  • the method can also manage downloads for at least one application program operable on the client device based on the at least one download policy.
  • a non-transitory computer readable medium including at least computer program code for managing download of electronic content to client devices can, for example, include computer program code for receiving at least one download policy from a remote server to a local client device via at least one network, and computer program code for storing the at least one download policy at the local client device.
  • the non-transitory computer readable medium can further include computer program code for managing downloads for at least one application program operable on the client device based on the at least one download policy.
  • a mobile computing device can, for example, include at least one application program able to operate in the mobile computing device.
  • the mobile computing device can further include a commerce server resident on the mobile computing device, and a download manager.
  • the commerce server can be configured to interact with a remote server to facilitate access to supplemental content for use with the at least one application program.
  • the download manager resident on the mobile computing device can be configured to manage download of the supplemental content over a network to the mobile computing device, provided that the remote server permits access to the supplemental content.
  • a portable client computing device can include an operating system, and a data storage device.
  • the operating system can include a commerce server and a download manager.
  • the commerce server can be configured to communicate over a network with a remote server to acquire or activate application programs and supplemental features therefore.
  • the download manager can be configured to manage download of at least the supplemental features.
  • the operating system can also include a data storage device configured to store an application program and also storing at least one supplemental feature for use by the application program.
  • the application program can be configured to communicate with the commerce server to: (i) acquire rights to access the at least one supplemental feature, and (ii) render the at least one supplemental feature accessible by the application program if the rights to acquire the at least one supplemental feature have been acquired.
  • the application program can be configured to communicate with the download manager to receive the at least one supplemental feature and thereafter access the at least one supplemental feature.
  • the method operates on a computing device, and the method can execute an application program on the computing device.
  • the application program can have been previously acquired from a remote network-based distribution system.
  • the method also can determine that a user of the application program desires to acquire usage of at least one supplemental feature that is available from the remote network-based distribution system.
  • the method also can request that the remote network-based distribution system approve access to the at least one supplemental feature, and receive download information from the remote network-based application distribution system that the at least one supplemental feature is approved for access. Thereafter, the method can further download the at least one supplemental feature to the computing device, thereby permitting the application program to utilize the at least one supplemental feature.
  • FIG. 1 is a block diagram of a product submission and distribution system according to one embodiment of the invention.
  • FIG. 2 is a block diagram of a client, or client device, according to one embodiment of the invention.
  • FIGs. 3A-3C are diagrams illustrating accessing supplemental features according to one embodiment of the invention.
  • FIG. 4 is a flow diagram of a digital product submission process according to one embodiment of the invention.
  • FIG. 5 is a flow diagram of a supplemental feature client process according to one embodiment of the invention.
  • FIGs. 6A and 6B are flow diagrams of a supplemental feature client process according to one embodiment of the invention.
  • FIG. 7 is a flow diagram of a supplemental feature server process according to one embodiment of the invention.
  • FIG. 8 is a block diagram of a product distribution site according to one embodiment.
  • FIG. 9 is a flow diagram of a feature re-acquisition process according to one embodiment.
  • FIG. 10 is a flow diagram of previously acquired features process according to one embodiment.
  • FIG. 1 1 is a flow diagram of a supplemental feature access process according to one embodiment.
  • FIG. 12 is a re-grant process according to one embodiment.
  • FIG. 13 illustrates a flow diagram of a supplemental feature access process according to one embodiment.
  • FIG. 14 is a block diagram of a client, or client device, according to another embodiment.
  • FIG. 15 is a flow diagram of a download management process according to one embodiment.
  • FIGs. 16A and 16B illustrate a download management process according to another embodiment.
  • FIG. 17A is a block diagram of a network-based content distribution system according to one embodiment.
  • FIG. 17B is a block diagram of the network-based content distribution system shown in FIG. 17A when supplemental content acquired and
  • the invention relates to a system, device and method for accessing locked (secured) features of digital products with assistance from a product distribution site.
  • a digital product can be submitted to a product distribution site for network-based distribution.
  • the digital product can be initially provided such that it provides base functionality but contains one or more locked features that, if unlocked, can supplement the base functionality. If the digital product that has been submitted is approved, the digital product becomes available at the product distribution site such that users can search, browse and purchase the digital product. Once the digital product has been purchased, download and installed on a user's computing device, the user is able to utilized the digital product. However, since the digital product itself includes one or more locked features, the user is not able to utilize such features until a subsequent purchase is performed. Advantageously, the subsequent purchase can be invoked from the digital product.
  • the digital product interacts (directly or indirectly) with a remote server (e.g., the product distribution site) to purchase access or usage for one or more of the locked features within the digital product.
  • a remote server e.g., the product distribution site
  • the one or more locked features within the digital product can be unlocked and thereafter utilized.
  • the digital products are computer program products (e.g., computer software programs).
  • the product distribution site can also be referred to as an online product hosting site.
  • features of the digital products can vary depending on implementation, some examples of features include: modules, tools, characters, functionality, content, or data.
  • FIG. 1 is a block diagram of a product submission and distribution system 100 according to one embodiment of the invention.
  • the product submission and distribution system 100 includes a product distribution site 102.
  • the product distribution site 102 provides an online access point for distribution of various digital products.
  • the product distribution site 102 can be referred to as an online store.
  • a product submission and management system 104 operates to receive submissions of digital products from various digital product submitters.
  • the product submission and management system 104 can process submission of digital products and authorize distribution of approved digital products.
  • the digital products can be stored in a products store 106.
  • the products store 106 includes a mass data store and/or one or more databases.
  • the products store 106 provides mass storage of the numerous digital products that are available for distribution (e.g., purchase).
  • digital products that have been purchased can be accessed from the products store 106 over a data network 108 by way of the product distribution site 102.
  • Examples of digital products are computer program products such as applications (or application programs), animations, or presentations.
  • the product submission and distribution system 100 also includes a first client 1 10 and a second client 1 12.
  • the product submission and distribution system 100 would include a plurality of different clients 1 10, 1 12.
  • the first client 1 10 includes a network access program 1 14.
  • the second client 1 12 includes a product submission program 1 16.
  • Some clients can also include both the network access program 1 14 and the product submission program 1 16.
  • the network access program 1 14 is an application program (e.g., software
  • the first client 1 10 can be coupled to the product distribution site 102 through the data network 108. Hence, any of the first clients 1 10 can interact with the product distribution site 102 to review, purchase and/or manage digital products.
  • the product submission program 1 16 is also an application program (e.g., software application) that operates on the second client 1 12, which is a computing device.
  • the product submission program 1 16 is used to submit digital products to the product submission and management system 104 for eventual distribution by the media distribution site 102.
  • the network access program 1 14 and the product submission program 1 16 are shown in FIG. 1 as separate programs, it should be understood that such programs can be integrated into a single program or reside on the same client machine.
  • the digital products are submitted to the product submission and management system 104 by way of the product submission program 1 16.
  • the digital products that have been submitted e.g., via the second client 1 12
  • the stored digital products are available to be purchased from the product distribution site 102.
  • the product submission and distribution system 100 allows a user of the client 1 10 to utilize the network access program 1 14 to browse, search or sort through a plurality of digital products that can be purchased from the product distribution site 102.
  • the network access program 1 14 may also allow the user to preview or demo some or all of a digital product.
  • the user via the network access program 1 14
  • the product distribution site 102 can engage in an online commerce transaction in which the user pays for access rights to the particular digital product.
  • a credit card associated with the user is credited for a purchase or rental amount of the particular digital product.
  • the product distribution site 102 Upon purchasing a particular digital product, the product distribution site 102 permits the digital data for the particular digital product to be retrieved from the products store 106 and then delivered (e.g., downloaded) from the product distribution site 102 to the requesting client 1 10 through the data network 108.
  • the product distribution site 102 or some other delivery server obtains the digital data corresponding to the particular digital product from the products store 106 and downloads such digital data through the data network 108 to the client 1 10.
  • the downloaded digital data can then be stored on the client 1 10.
  • the downloaded digital data is encrypted as received at the client 1 10 but is decrypted and then perhaps re- encrypted before being persistently stored on the client 1 10.
  • the client 1 10 can utilize (e.g., execute) the digital data of the digital product at the client 1 10.
  • the submission and purchase of the digital products can be achieved over the data network 108.
  • the submission and purchase of the digital products can be achieved online.
  • the purchase of media items online can also be referred to as electronic commerce (e-commerce).
  • the data network 108 makes use of at least a portion of the Internet.
  • the connections through the data network 108 between the product distribution site 102 and the clients 1 10, 1 12 can be through secure connections, such as Secure Sockets Layer (SSL).
  • SSL Secure Sockets Layer
  • the clients 1 10, 1 12 can vary with application but generally are computing devices that have memory storage.
  • the clients 1 10, 1 12 are personal computers or other computing devices that are capable of storing and presenting media to their users.
  • the clients 1 10, 1 12 are personal computers or other computing devices that are capable of storing and presenting media to their users.
  • one or more of the clients can be portable computing devices (e.g., laptop or network computers) or handheld computing devices (e.g., PDAs, smart phones, multi-function electronic devices, or media players).
  • portable computing devices e.g., laptop or network computers
  • handheld computing devices e.g., PDAs, smart phones, multi-function electronic devices, or media players.
  • the digital products can include one or more supplemental features.
  • the supplemental features can serve to supplement or augment corresponding digital products.
  • a digital product 1 18 acquired and downloaded from the product distribution site 102 via the data network 108 can be stored on the client 1 10.
  • the digital product 1 18 can include a supplemental feature 120.
  • the digital product 1 18 can initiate acquisition of usage of the supplemental feature 120.
  • the digital product 1 18 (itself or with assistance of an operating system) can communicate with a feature acquisition manager 122 of the product distribution site 102.
  • the digital product 1 18 was previously acquired from the product distribution site 102.
  • the feature acquisition manager 122 manages processing of incoming requests for access to supplemental features. For example, the feature acquisition manager 122 receives the incoming requests for access to supplemental features, determines whether the request is valid and permitted to be processed, processes payment, if any, for such access, and sends an authorization response to the requesting client device 1 10.
  • the digital product 1 18 can render the supplemental feature 120 accessible (i.e., unlocked).
  • the supplemental feature is provided with the digital product 1 18 as initially downloaded to the client 1 10, and thereafter only an authorization need to be delivered to the client 1 10 to render the supplemental feature 120 active.
  • the supplemental feature 120 could be delivered to the client 1 10 only after authorized (and thus provided separately from the delivery of the digital product 1 18).
  • the product submission and management system 104 can be incorporated into the product distribution site 102.
  • the products store 106 can be incorporated into the product distribution site 102 or the product submission and management system 104.
  • the product distribution site 102 can support an Application Programming Interface (API).
  • API Application Programming Interface
  • the APIs for the product distribution site 102 might, in once embodiment, include the following APIs shown in Appendix A of U.S. Patent Application No. 12/767,756, which is incorporated herein by reference.
  • FIG. 2 is a block diagram of a client 200, or client device, according to one embodiment of the invention.
  • the client 200 can, for example, be suitable for use as the client 1 10 illustrated in FIG. 1 .
  • the client 200 includes an operating system (OS) 202 that operates on the client 200 to provide basic computing services to application programs that may execute on the client 200.
  • the operating system 202 includes a commerce server 204.
  • the commerce server 204 is utilized by application programs operating on the client 200 to perform commerce operations with respect to a remote server, such as a remote digital product distribution server.
  • the remote server can pertain to the product distribution server 102 illustrated in FIG. 1 .
  • the client 200 can also includes one or more application programs that are installed on the client 200 and which can be executed by the client 200.
  • these application where acquired and download from a remote server (e.g., product distribution server 102) to the client 200.
  • the applications resident and installed on the client 200 are represented by application program A 206 and application program B 208.
  • the application program A 206 includes a supplemental feature X 210 and a supplemental feature Y 212.
  • the supplemental features 210 and 212 are present but "locked” and thus are not currently usable.
  • the application program B 208 as acquired includes the supplemental feature Z 214 which is initially "locked”.
  • the application program A 206 and the application program B 208 can interact with the remote server (e.g., remote digital product distribution server) by way of the commerce server 204 so as to have the desired one or more of the supplemental features 210, 212 and 214 "unlocked”. Once a supplemental feature becomes "unlocked", the associated application program can thereafter utilize the supplemental feature.
  • the remote server e.g., remote digital product distribution server
  • the commerce server 204 can support an Application Programming Interface (API).
  • API Application Programming Interface
  • the APIs for the commerce server 204 might, in one embodiment, include the following APIs shown in Appendix B of U.S. Patent Application No. 12/767,756, which is incorporated herein by reference.
  • FIGs. 3A-3C are diagrams illustrating accessing supplemental features according to one embodiment of the invention.
  • FIG. 3A illustrates an exemplary digital product 300 according to one embodiment.
  • the exemplary digital product 300 can be acquired from a remote server, such as the product distribution site 102 illustrated in FIG. 1 .
  • the exemplary digital product 300 includes not only an application program 302 but also a supplemental feature X 304 and a
  • the supplemental feature X 304 and the supplemental feature Y 306 are both in the "locked” state.
  • the supplemental features of an application program can be unlocked.
  • the supplemental features can be unlocked individually and in some cases a quantity (greater than one) of like features can be made available.
  • FIG. 3B the supplemental feature X 304 of the exemplary digital product 300 has been "unlocked” such that it can be used in conjunction with the application program A 302.
  • the supplemental feature Y 306 remains “locked” in FIG. 3B.
  • the supplemental feature X 304 and the supplemental feature Y 306 of the exemplary digital product 300 have both been "unlocked” such that they can be used in conjunction with the application program A 302.
  • the supplemental features (or supplemental components) of application programs (or digital products) can vary depending on implementation.
  • the supplemental features can pertain to: modules, tools, characters, functionality, content, or data.
  • the supplemental features can be: new weapons, new characters, extended lives, additional game levels, etc.
  • the supplemental feature can be: additional modules (e.g., yearly module,
  • geographic module content-based module, etc.
  • additional or enhanced functions wireless communications, printing, storage, etc.
  • wireless communications wireless communications, printing, storage, etc.
  • the supplemental feature can be: additional content or data, additional learning or information modules, etc.
  • FIG. 4 is a flow diagram of a digital product submission process 400 according to one embodiment of the invention.
  • the digital product submission process 400 can, for example, be performed by a client device, such as the client 1 12, or a server device, such as the product submission and management system 104.
  • the digital product submission process 400 can receive 402 product information pertaining to a digital product.
  • the product information can vary depending upon the type of digital product being submitted. In one
  • one type of digital product that can be submitted to an online repository by the digital product submission process 400 is a digital program product, such as a computer program product.
  • product information for a computer program product can include one or more of: a product name, a supported device type indication, genre indication, version number, product identifier, support information, and license agreement information.
  • the digital product submission process 400 can also receive 404 supplemental information for the one or more supplemental features.
  • a least one electronic file pertaining to a digital product can be uploaded 406.
  • the digital product can have one or more electronic files associated therewith.
  • the digital product may include a binary file, a support or help file, and/or one more exemplary screen illustrations.
  • a least one distribution parameter to be used with the digital product can be received 408.
  • a distribution parameter is a parameter that can be utilized to control or influence the manner in which the digital product is able to be distributed.
  • a distribution parameter is a pricing parameter.
  • a pricing parameter can specify a price or a price tier to be associated with the digital product.
  • Other distribution parameters can pertain to digital storefronts from which the digital product is to be distributed from. Still further, distribution parameters could also pertain to preview eligibility, license categories (types), etc.
  • the digital product can be submitted 410 to the online repository.
  • the online repository can, for example, correspond to the product submission and management system 104.
  • the online repository can receive the one or more electronic files, the associated product information, the
  • the online repository can then operate to permit distribution of the digital product, as contained in the one or more electronic files, from a product distribution site (e.g., an online store) in accordance with the product information and the one or more distribution parameters.
  • the online repository can also then operate to facilitate subsequent access to the one or more supplemental features of the digital product.
  • FIG. 5 is a flow diagram of a supplemental feature client process 500 according to one embodiment of the invention.
  • the supplemental feature client process 500 can, for example, be performed on a client (i.e., client device), such as the client 1 10 illustrated in FIG. 1 .
  • the supplemental feature client process 500 can execute 502 an application program previously acquired from a remote network-based
  • the remote network-based application description system can, for example, pertain to the product
  • an application program that was previously acquired from the remote network-based application distribution system is executed 502 at the client.
  • a decision 504 can be presented at the client.
  • the decision 504 determines whether or not acquisition of a supplemental feature is to be performed.
  • the decision 504 can be determined based on user input indicating whether or not a user of the client desires to acquire the supplemental feature for the application program.
  • the application program can present a supplemental feature offer to the user, and the user can respond to the offer, thereby indicating whether or not the supplemental feature is desired by the user.
  • a decision 506 can determine whether the application program should quit (i.e., end). When the decision 506 determines that the application program should not quit, then the application program continues and the supplemental feature client process 500 returns to repeat the decision 504. Alternatively, when the decision 506 determines that the
  • a request 508 can be made to the remote network-based application distribution system.
  • the request 508 can be a request that the remote network-based application distribution system approve unlocking of the supplemental feature.
  • a decision 510 can then determine whether the remote network-based application distribution system has approved the unlocking of the supplemental feature.
  • the application program can be unlocked 512.
  • the remote network-based application distribution system can inform the client that the supplemental feature is approved to be unlocked, and then the application program can operate to unlock the supplemental feature.
  • the decision 510 determines that the remote network-based application distribution system has not approved (i.e., denied) the unlocking of the supplemental feature
  • the request to unlock the supplemental feature is denied 514.
  • the application program does not operate to unlock the supplemental feature, whereby the supplemental feature remains locked.
  • the supplemental feature client process 500 can end.
  • a receipt can be used by the remote network- based application distribution system to determine whether to approve unlocking of a supplemental feature.
  • the client can receive a receipt when a digital product is acquired, e.g., through purchase or otherwise. Hence, the receipt can be received and archived at the client. Subsequently, if there is a need to determine whether the client previously properly acquired the digital product, the archived digital receipt can be used.
  • the receipt can be cryptographically signed to preserve its integrity.
  • the receipt is an electronic document, such as a markup language document, that can specify at least a digital product identifier (e.g., supplemental feature identifier), an application identifier, a transaction date, a transaction identifier, subscription identifier and an expiration indication.
  • a digital product identifier e.g., supplemental feature identifier
  • the receipt can include a quantity in the even that the receipt is for more than one of the supplemental features.
  • FIGs. 6A and 6B are flow diagrams of a supplemental feature client process 600 according to one embodiment of the invention.
  • the supplemental feature client process 600 can, for example, be performed by a client (client device), such as the client 1 10 illustrated in FIG. 1 .
  • the supplemental feature client process 600 can begin by download 602 of an application program from a network-based application distribution system. For example, a user of the client can interact with the network-based application distribution system to identify, purchase and download the application program. Once downloaded, the application program can be installed on the client. Thereafter, a decision 604 can determine whether the application program is to be executed. When the decision 604 determines that the application program is not the executed, the supplemental feature client process 600 effectively waits until the application program is executed. Once the decision 604 determines that the application program is to be executed, the application program is executed 606.
  • a decision 608 can determine whether a supplemental feature is to be offered at the client. When the decision 608 determines that a
  • a decision 610 can determine whether the supplemental feature client process 600 should quit (end). When the decision 610 determines that the supplemental feature client process 600 should end, then the supplemental feature client process 600 can end without rendering a supplemental feature available. Alternatively, when the decision 610
  • the supplemental feature client process 600 can return to repeat the decision 608.
  • a supplemental feature offer can be presented 612.
  • the supplemental feature offer being presented 612 can be viewed or heard by the user of the client operating the application program.
  • the supplemental feature offer is presented 612 by the application program being executed on the client.
  • a decision 614 can then determine whether the user accepts the supplemental feature offer. When the decision 614 determines that the user has not accepted the supplemental feature offer, the supplemental feature client process 600 can return to repeat the decision 610 whereby the supplemental feature client process 600 can continue or quit.
  • supplemental feature information can be requested 616 from the network-based application distribution system.
  • a decision 618 determines whether a response has been received to the request for the supplemental feature information.
  • the supplemental feature client process 600 can await such a response.
  • the supplemental feature information can then be presented 620.
  • the supplemental feature information is presented 620 to provide the user of the application program operating on the client with information about the supplemental feature being offered.
  • the supplemental feature information can be displayed by the client, such as the application program or by an operating system.
  • a decision 622 can determine whether the user has confirmed acquisition of the supplemental feature. According to one implementation, apart from the application program, the operating system can require that the user confirm that they desire to acquire the supplemental feature. This decision 622 serves to manage the acquisition of supplemental features in a controlled way so that application programs do not carelessly or inappropriately acquire
  • the supplemental feature client process 600 can await such a confirmation. In the event that the confirmation does not occur within a predetermined period of time, the decision 622 could alternatively cause the supplemental feature client process 600 to end.
  • authorization to access the supplemental feature can be requested 624.
  • the request for authorization to access the supplemental feature can, for example, be made to the networked-based application distribution system.
  • a decision 626 can then determine whether authorization to access the supplemental feature has been received.
  • the authorization can be provided as or within an authorization response.
  • the authorization response if provided, is received by the client.
  • the decision 626 determines whether the authorization response has been received.
  • a decision 628 can determine whether a timeout has occurred.
  • the supplemental feature client process 600 can end.
  • the supplemental feature client process 600 can return to repeat the decision 626 to await the reception of the authorization response. Once the decision 626 determines that the authorization response has been received, the supplemental feature of the application program can be unlocked 630. Typically, the
  • the application program itself can act to unlock the supplemental feature if the authorization response is provided to the client.
  • the supplemental feature client process 600 can end.
  • FIG. 7 is a flow diagram of a supplemental feature server process 700 according to one embodiment of the invention.
  • the supplemental feature server process 700 is, for example, performed by a server (server device) such as the product distribution site 102 illustrated in FIG. 1 .
  • the supplemental feature server process 700 can began with a decision 702.
  • the decision 702 can determine whether a supplemental feature information request has been received.
  • the supplemental feature information request can be received from a client.
  • the supplemental feature information request can be received from a client.
  • supplemental feature information request can be initiated by block 616 of the supplemental feature client process 600 illustrated in FIGs. 6A and 6B.
  • the supplemental feature information associated with the supplemental feature can be retrieved at 704.
  • the server has access to data storage that can store the supplemental feature information for a plurality of different supplemental features.
  • the supplemental feature information can be part of the product information stored in the products storage 106, which may be a database.
  • the supplemental feature information that has been retrieved 704 can then be sent 706.
  • the supplemental feature information is sent 706 to the client that initiated the supplemental feature information request.
  • the blocks 704 and 706 can be bypassed.
  • the supplemental feature server process 700 can perform processing associated with unlocking a supplemental feature. Specifically, a decision 708 can determine whether an unlock request has been received. Typically, the unlock request can be received from the client. As an example, the unlock request (which is also an
  • authorization request can be initiated by block 624 of the supplemental feature client process 600 illustrated in FIGs. 6A and 6B.
  • the supplemental features server process 700 can determine 710 whether the unlock request is to be approved. In one implementation, the approval can require that one or more requirement be met. The requirements can vary with implementation be can include one or more of payment for the supplemental feature, prior purchase of the application program, existence of user account, etc.
  • the supplemental feature server process 700 can send 714 a denial response to the client that made the unlock request. The denial response may indicate a reason for the denial.
  • an authorization response to unlock the supplemental feature can be sent 716 to the client providing the unlock request.
  • the authorization response can include an authorization code or codes can that can be utilized to unlock the particular supplemental feature for which the unlock has been requested.
  • the authorization response is sent 716 to the application program operating on the client, and the application program can then act to unlock the supplemental feature (e.g., block 630 of the supplemental feature client process 600 illustrated in FIGs. 6A and 6B).
  • the decision 708 determines that an unlock request has not been received, the block 710-716 can be bypassed. Following the blocks 714 or 716 (or the bypass of such blocks), the supplemental features server process 700 can return to repeat the decision 702.
  • a user of a client device may have previously acquired rights or permissions to access one or more supplemental features of one or more digital products (e.g., application programs).
  • supplemental features e.g., application programs
  • a user would purchase an application program and then sometime later also purchase supplemental features for use with the application program.
  • the supplemental features can be purchased using the digital products (e.g., application programs).
  • the user desires to make use of such previously acquired one or more supplemental features on another client device.
  • the user may wish or need to transfer from a former client device to a new client device.
  • the user may wish to utilized (e.g., share) such previously acquired one or more supplemental features with another client device associated with the user, such as another client device within user's account.
  • FIG. 8 is a block diagram of a product distribution site 800 according to one embodiment.
  • the product distribution site 800 is coupled to a data network and can operate as a remote server for numerous client devices. That is, the product distribution site 800 can facilitate providing digital products, such as digital media items, to client devices associated with users that have been authorized to receive such digital products.
  • the product distribution site 800 can, for example, represent one embodiment of the product distribution site 102 illustrated in FIG. 1 .
  • the product distribution site 800 can include a feature acquisition manager 802.
  • the feature acquisition manager 802 can, via a network, interact with an application program operating on a client device.
  • the feature acquisition manager 802 can thus control access to one of more features associated with the application program.
  • the application program can offer a user of the client device the ability to access (e.g., purchase) one or more features associated with the application program.
  • These features can be referred to as supplemental features since they serve to supplement the basic operation of the application program, and can thus be used to enhance operation of the application program on the client device.
  • the feature acquisition manager 802 can manage the payment processing (if any) as well as subsequent authorization for the user to access to the one or more features for which payment has been made.
  • the user may have a need to subsequently again obtain the same supplemental feature for the same application program.
  • the supplemental features originally obtained may have been inadvertently deleted at the client device, the user may have obtained a replacement client device, or the like.
  • the user of the client device may visit the product distribution site 800 and acquire access to one or more supplemental features as if they never previously acquired the one or more supplemental features (i.e., with payment for such access).
  • a more robust and user-friendly system can offer the user to the ability to re-acquire the one or more supplemental features (e.g., provided that the user originally previously acquired the one or more
  • the product distribution site 800 can further include a re-acquisition manager 804.
  • the re-acquisition manager 804 can operate to enable the product distribution site 800 to support users of client devices with re-acquisition of one or more supplemental features that they previously acquired.
  • the product distribution site 800 can store purchase history information 806, account information 808, and eligibility rules 810.
  • the purchase history 806 can provide a database of purchase information regarding purchases of any supplemental features previously made by users.
  • the account information 808 can store information regarding various users in user accounts.
  • a user account can associate a user to a client device.
  • the purchase history 806 can also be provided on a per account, per user and/or per client device basis.
  • the eligibility rules 810 can serve to limit the extent to which users are able to re-acquire supplemental features.
  • the eligibility rules can serve to restrict re- acquisition to certain situations.
  • the eligibility rules might limit re-acquisition to supplemental features that (i) are non-consumable, (ii) are for an application program (for which the supplemental features are associated) that was previously acquired (e.g., purchased), and (iii) are supplemental features that were previously acquired (e.g., purchased).
  • the eligibility rules can require that the previous acquisitions be by the same user or device.
  • the eligibility rules can require that the previous acquisitions by any device or user associated with a user account or set of related user accounts.
  • the eligibility rules can require that the previous acquisitions be from one or more client devices that are associated (e.g., linked) with a user account (e.g., the client device is an authorized computer on the account) of the requesting user.
  • the product distribution site 800 can include or access an e-commerce module 812 that can serve to initiate payment
  • FIG. 9 is a flow diagram of a feature re-acquisition process 900 according to one embodiment.
  • the feature re-acquisition process 900 can be performed at least in part by the re-acquisition manager 804 of the product distribution site 800 illustrated in FIG. 8.
  • the feature re-acquisition process 900 can begin with a decision 902 that determines whether a request to access supplemental features has been received.
  • the request to access supplemental features if received, can be received at the re-acquisition manager 804 from a client device associated with a requestor (user).
  • the decision 902 determines that a request to access supplemental features has not been received, the feature-acquisition process 900 can await such a request.
  • the feature re-acquisition process 900 can permit 906 the application program (which requestor presumably already has) to use the determined set of one or more supplemental features.
  • the re-acquisition manager 804 can notify the application program already having the supplemental features (e.g., locked) that the requestor (user) is authorized to use the determined set of one or more supplemental features (e.g., supplemental features can be unlocked).
  • the re-acquisition manager 804 can cause the product distribution site to facilitate download of the determined set of one or more supplemental feature to the client device where they can be used (including unlocked if needed) for use with the application program.
  • the feature re-acquisition process 900 can end.
  • FIG. 10 is a flow diagram of previously acquired features process 1000 according to one embodiment.
  • the previously acquired features process 1000 can, for example, be associated with processing performed by block 904 of the re-acquisition process 900 illustrated in FIG. 9, according to one embodiment.
  • the previously acquired features process 1000 can access 1002 acquisition history data associated with the requestor.
  • the acquisition history data can be stored in the purchase history 806 at the product distribution site 800, and access 1002 to the acquisition history data can cause the appropriate acquisition history data to be retrieved from the purchase history 806.
  • the purchase history 806 can store information regarding prior transactions for application programs as well as supplemental features by various requestors. After the acquisition history data for the requestor has been accessed 1002, one or more supplemental features previously acquired by the requestor can be identified 1004 based on the acquisition history data.
  • FIG. 1 1 is a flow diagram of a supplemental feature access process 1 100 according to one embodiment.
  • the supplemental feature access process 1 100 can, for example, be performed at least in part by the re-acquisition manager 804 of the product distribution site 800 illustrated in FIG. 8.
  • the supplemental feature access process 1 100 can begin with a decision 1 102 that determines whether an acquisition request for a supplemental feature to an application program has been received. When the decision 1 102 determines that an acquisition request for a supplemental feature has not been received, the supplemental feature access process 1 100 can await such a request.
  • a decision 1 104 can determine whether the requestor of the acquisition request is a prior purchaser of an appropriate application program.
  • the acquisition request is for a
  • purchase history data can be used to determine whether the requestor previously purchased the particular application program.
  • a decision 1 106 can determine whether the supplemental feature being requested is a non-consumable feature.
  • a non-consumable feature is a feature that is effectively reusable with respect to the application program, and it is not consumed immediately upon use.
  • a decision 1 108 can determine whether the supplemental feature being requested was previously purchased by the requestor.
  • the purchase history data being archived at a product distribution site can be utilized in determining whether the supplemental feature being requested was previously purchased by the requestor.
  • the supplemental feature access process 1 100 can enable 1 1 10 the requestor to access the supplemental feature being requested.
  • the acquisition request for the supplemental feature by the requestor is satisfied by enabling 1 1 10 the requestor to access the supplemental feature.
  • the requestor can access the supplemental feature by unlocking the supplemental feature already resident in the application program on the client device.
  • the requestor can access the supplemental feature by downloading the supplemental feature to the client device for being used with the application program (and being unlocked if needed).
  • the supplemental feature access process 1 100 operates to require 1 1 12 the requestor to purchase the supplemental feature.
  • a decision 1 1 14 can then determine whether in the supplemental feature has been successfully purchased. When the decision 1 1 14 determines that the purchase of the supplemental feature has been successful, then the supplemental feature access process 1 100 can proceed to thereafter enable 1 1 10 the requestor to access the supplemental feature.
  • the supplemental feature can be downloaded to the requestor or unlocked if already available to the application program.
  • a receipt can also be provided to the requestor.
  • the receipt is an electronic document, such as a markup language document (e.g., XML document), that can specify at least a digital product identifier (e.g., supplemental feature identifier), an application identifier, a transaction date, and a transaction identifier.
  • a digital product identifier e.g., supplemental feature identifier
  • the receipt can also include an original purchase identifier and an original purchase date.
  • the receipt can include an expiration date.
  • the receipt can be cryptographically signed to preserve its integrity.
  • the receipt can also include original transaction identifier and an original transaction date.
  • the supplemental feature access process 1 100 can end following block 1 1 10 with the requestor gaining access to the supplemental feature.
  • the decision 1 1 14 determines that the purchase of the supplement feature was not successful, the supplemental feature access process 1 1 10 can end without the requestor gaining access to the supplemental feature.
  • supplemental feature access process 1 100 is discussed in FIG. 1 1 with reference to accessing a single supplemental feature, it should be understood that the supplemental feature access process 1 100 can also be used to access a plurality of supplemental features.
  • providing access to a single supplemental feature can be considered a re-download process.
  • providing access to a plurality of supplemental features can be considered a re-download process.
  • supplemental features can be considered a re-grant process.
  • FIG. 12 is a re-grant process 1200 according to one embodiment.
  • the re-grant process 1200 can, for example, be performed at least in part by the re-acquisition manager 804 of the product distribution site 800 illustrated in FIG. 8.
  • the re-grant process 1200 can begin with a decision 1202 that determines whether a re-grant request for one or more supplemental features has been received. When the decision 1202 determines that a re-grant request for one or more supplemental features has not been received, the re-grant process 1200 can await such a request. Once the decision 1202 determines that a re-grant request has been received, acquisition history associated with a requestor can be accessed 1204 to identify one or more supplemental features previously acquired by the requestor. Then, re-grant eligibility can be determined 1206 for those of the one or more identified supplemental features based on one or more eligibility rules.
  • the one or more eligibility rules can be provided by the eligibility rules 810 of the product distribution site 800 illustrated in FIG. 8. Thereafter, access can be enabled 1208 to those of the one or more identified supplemental features that have been determined to be re-grant eligible. Following the block 1208, the re-grant process 1200 can end.
  • FIG. 13 illustrates a flow diagram of a supplemental feature access process 1300 according to one embodiment.
  • the supplemental feature access process 1300 can be performed by server computer.
  • the supplemental feature access process 1300 can be performed by a developer server associated with the application program supporting the supplemental features.
  • the developer server can, for example, couple to the data network 100 illustrated in FIG. 1 .
  • the supplemental feature access process 1300 can begin with a decision 1302 that determines whether a supplemental feature access request has been received. When the decision 1302 determines that a supplemental feature access request has not been received, the supplemental feature access process 1300 awaits such a request. In other words, the supplemental feature access process 1300 can effectively be invoked when a supplemental feature access request has been received. Typically, the supplemental feature access request will be received from a client device performing processing such as in block 508 of the supplemental feature client process 500 illustrated in FIG. 5.
  • the supplemental feature access process 1300 can perform processing in response to the supplemental feature access request.
  • a receipt for the requested supplemental feature can be received 1304 from the client device.
  • the receipt can be part of the supplemental feature access request or can be separately provided.
  • a decision 1306 can determine whether the receipt that has been received is valid.
  • the validation of the receipt can involve a digital signature check.
  • a receipt not valid response can be returned 1308 to the client device.
  • the supplemental feature access process 1300 can end since the subscriber has not tendered a valid receipt and thus is not permitted to access supplemental feature.
  • receipt verification can be requested 1310 from an online commerce server.
  • the online commerce server is, for example, the product distribution site 102 illustrated in FIG. 1 .
  • a decision 1312 can determine whether the receipt has been verified by the online commerce server.
  • the server computer e.g., developer server
  • the supplemental feature access process 1300 can receive from the online commerce server an indication whether the receipt has been verified.
  • a receipt not valid response can be returned 1314 to the client device.
  • the online commerce server has informed the server computer that the receipt is not able to be verified (i.e., invalid) for the supplemental feature being requested.
  • the receipt is bad and the client device is thus not entitled to receive the supplemental feature being requested.
  • the receipt can be considered valid for any of a number of reasons.
  • the receipt can be invalidated prior to its expiration if the requestor has been canceled (or purchase money refunded) the transaction for access to the supplemental feature since the receipt was produced.
  • the receipt can be invalidated if deemed fraudulent.
  • the supplemental feature access process 1300 can end since they subscriber has been determined not eligible to receive the requested supplemental feature.
  • access to the requested supplemental feature at the client device can be enabled 1316.
  • the client device can access the requested supplemental feature in any of a variety of different ways depending upon implementation. For example, the client device could have the requested supplemental feature "unlocked” in cases where the supplemental feature is previously stored on the client device in a "locked" condition.
  • the client device could download the requested supplemental feature from the server computer. The download could occur immediately following block 1316 or could be deferred until a more suitable time. Following the block 1316, the supplemental feature access process 1300 can end.
  • the server computer can itself verify a renewal receipt without having to request receipt verification from the online commerce server over a network connection.
  • the server computer is able to verify a receipt faster and with less loading imposed on the online commerce server.
  • a subscription for a digital product can provide digital content to subscribers for a period of time.
  • a subscription for a digital product can be purchased from an online store, and then a subscriber can receive digital content associated with the subscription. The subscription may require renewal if the subscription is to be continued.
  • a subscription server can be provided to manage renewal of subscriptions, including payment of subscription renewal fees, so that subscriptions can be renewed and thus continued. Receipts for payments can be electronically distributed so that, upon renewal, digital content providers for subscriptions can verify that a given subscriber has renewed a particular subscription for a digital product.
  • the digital products provided as a subscription can be any type of digital data.
  • the digital data can be digital media assets (audio, graphic, video, etc.), games (or game levels or features), application programs (or program features), or periodicals
  • a client device can have a download interface that facilitates application programs operating on a client device to request and receive downloads from a remote data repository.
  • a user of a client device may have previously acquired rights or permissions to access one or more supplemental content for use by one or more application programs.
  • a user would purchase an application program and then sometime later, using the application program, also purchase supplemental content for use with the application program.
  • the supplemental content can be purchased using the application program itself. Once the supplemental content is purchased, it needs to be downloaded to the client device. Download policies are used to manage the download of supplemental content.
  • FIG. 14 is a block diagram of a client 1400, or client device, according to another embodiment.
  • the client 1400 can, for example, be suitable for use as the client 1 10 illustrated in FIG. 1 .
  • the client 1400 includes an operating system (OS) 1402 that operates on the client 1400 to provide basic computing services to application programs that may execute on the client 1400.
  • the operating system 1402 includes a commerce server 1404.
  • the commerce server 1404 is utilized by application programs operating on the client 1400 to perform commerce operations with respect to a remote server, such as a remote digital product distribution server.
  • the remote server can pertain to the product distribution server 102 illustrated in FIG. 1 .
  • the client 1400 can also includes one or more application programs that are installed on the client 1400 and which can be executed by the client 1400. Typically, these application where acquired and download from a remote server (e.g., product distribution server 102) to the client 1400.
  • the applications resident and installed on the client 1400 are represented by application program A 1406 and application program B 1408.
  • the operating system 1402 can also include a download manager 1410 to manage downloads for the application programs 1404 and 1408.
  • the application program A 1406 includes a supplemental feature X 1412 and supplemental content Y 1414.
  • the supplemental feature X 1412 can be present but "locked” and thus are not currently usable.
  • the application program A 1406 can interact with the remote server (e.g., remote digital product distribution server) by way of the commerce server 1404 so as to have the supplemental feature 1410 "unlocked”. Once a supplemental feature becomes "unlocked", the associated application program can thereafter utilize the supplemental feature.
  • the remote server e.g., remote digital product distribution server
  • the remote server may have supplemental content for the application program A 1406.
  • the remote server may have supplemental content for the application program B 1408.
  • the supplemental content is digital data that can be used by an application program.
  • the supplemental content is presentable by the application program for the user of the client 1400.
  • the download manager 1410 serves to manage the download of supplemental content for application programs.
  • the download manager 1410 can manage download of supplemental content for one or more application programs.
  • the download manager 1410 can use one or more download policies to manage the downloads for the one or more applications.
  • FIG. 15 is a flow diagram of a download management process 1500 according to one embodiment.
  • the download management process 1500 is, for example, performed by a client device, such as the client 1 10 (client device) illustrated in FIG. 1 .
  • the download management process 1500 can receive 1502 one or more download policies from a remote server.
  • the remote server controls access and distribution of numerous digital assets, including supplemental content for use with applications.
  • the remote server can, for example, be the product distribution site 102 illustrated in FIG. 1 , which can be implemented by one or more server computers.
  • the remote server can also be referred to as a cloud server.
  • the client device can request the one or more download policies from the remote server at predetermined times.
  • the download management process 1500 is associated with an application program operating on the client device. On invoking the application program, the download policies can be obtained at the client device from the remote server. Alternatively, the client device could periodically confirm that it has the most current download policies. Still further yet, in another embodiment, the remote server could notify the client device when revised download policies are available.
  • the one or more download policies can be stored 1504 at the client device.
  • the download policies can be stored in volatile or nonvolatile manner at the client device.
  • the client device can manage 1506 downloads for one or more application programs operating on the client device based on the one or more download policies.
  • the downloads can pertain to download of
  • the download management process 1500 can end.
  • FIGs. 16A and 16B illustrate a download management process 1600 according to another embodiment.
  • the download management process 1600 can be performed by a client device, such as the client 1 10 (client device) illustrated in FIG. 1 .
  • the download management process 1600 can begin with a decision 1602 that determines whether a download request has been received. For example, an application program operating on the client device can be operating and a user of the client device may interact with the application to request a download. For example, the request to download can request to download content, such as supplemental content, that can be utilized by the application program. When the decision 1602 determines that the download request has not yet been received, the download management process 1600 can await such a request.
  • an appropriate download policy can be accessed 1604.
  • the client device currently stores or obtains the appropriate download policy.
  • the download policy can vary dependent upon on or more of various criteria, such as type of digital asset (content) being requested, type of device being utilized as the client device, user preferences, size of digital asset (content) to be
  • the download management process 1600 can perform a decision 1606 that determines whether network performance is high.
  • network performance is performance of the network coupled between the client device and the remote server.
  • the network performance is high if the network is a high-speed network.
  • a local area network e.g., Wi-Fi
  • the network performance is deemed high.
  • the client device is coupled to the remote server by way of a cellular link, the network performance is low and thus not deemed high performance.
  • a decision 1608 can determine whether the size of the content being requested for download is less than a maximum size for high performance downloads. When the decision 1608 determines that the size of the requested content is less than the maximum size for high performance
  • a decision 1610 can determine whether the application operating on the client device is presently operating in the foreground. When the decision 1610 determines that the application is operating in the foreground, the requested download is permitted. 1612. Hence, the requested download can be performed so that the content requested by the download request can be received at the client device.
  • the requested download can also be permitted 1614.
  • the duration of the download can be limited 1616 if the client device is being battery-powered.
  • the download policy presents excessive battery drain due to downloads.
  • whether the application is operating in the foreground or the background can be referred to as its application operating state.
  • the requested download can be deferred 1618 because the requested content is too large to permit download.
  • the requested content could later be provided to the client device when connected to a high speed wireless network, such as when coupled to a host computer that has a wired link to the Internet.
  • a decision 1620 can determine whether the download has been completed.
  • the download management process 1600 can return to repeat the decision 1606 so that the download can not only continue but also so that conditions influencing the download can be updated, such as network performance and
  • the download management process 1600 can end.
  • a decision 1622 determines whether the network performance is low. When the decision 1622 determines that network performance is low, a decision. 1624 determines whether the size of the requested content is less than the maximum size for low performance downloads. When the size of the requested content is less than the maximum size for the lower performance download, a decision 1626 determines whether the application is in the foreground. When the decision 1626 determines that the application is in the foreground, the requested download can be permitted 1628. Here, the requested download is permitted 1628 because, although the network performance low, the size of the requested content is less than the maximum size and the application making a request for the content is operating in the foreground. In addition, when the requested download is permitted. 1628, the duration for the download can be limited 1630, particularly if the client device is being battery-powered.
  • the requested download can be deferred 1632. In other words, the requested download would not be performed due to the conditions being evaluated.
  • the download management process 1600 returns to the decision 1620 which determines whether or not the download has completed.
  • third-party content can be submitted to and distributed by a content distribution system.
  • the third-party content can be hosted (and distributed) by the content distribution system.
  • the content distribution system can allow application programs to be supplemented by supplemental content that is associated with a previously obtained (e.g., purchased) application program.
  • FIG. 17A is a block diagram of a network-based content distribution system 1700 according to one embodiment.
  • the network-based content distribution system 1700 includes a content distribution server system 1702, which supports a plurality of client devices 1704 by way of communications through a data network 1706.
  • the content distribution server system 1702 includes a server 1708 for controlling overall operation of the content distribution server system 1702.
  • the server 1708 couples to a content storage 1710.
  • the content storage. 1710 can store various digital assets that are able to be distributed electronically by the content distribution server system 1702.
  • the digital assets stored in the content storage 1710 can, for example, include application programs as well as supplemental content for application programs.
  • the server 1708 can couple to user accounts which stores account information on users having accounts.
  • the server 1708 can also couple to a transaction queue 1714.
  • the transaction queue 1714 stores transaction information for acquisitions (purchases) of certain of the digital assets stored in the content storage 1710.
  • the client device 1704 illustrated in FIG. 17A represents an exemplary client device suitable for interacting with the content distribution server system 1702 by way of the data network 1706.
  • the client device 1704 includes an operating system. 1706, which controls the overall operation of the client device, typically via the execution of a processor.
  • the operating system 1716 for supporting content distribution further includes a commerce server 1718 and a download manager 1720.
  • the commerce server 1718 provides programming resources that facilitate the client device 1704 interacting with the content distribution server system 1702 to perform a commerce transaction, such as purchasing an application program or supplemental content.
  • the download manager 1720 is used by the client device. 1704 to download digital assets that have been acquired from the content distribution server system 1702.
  • the download manager 1720 can operate to manage one or more downloads to the client device 1704 in accordance with download policies. At least a portion of the download policies can be provided to the client device 1704 from the content distribution server system 1702.
  • the download manager 1720 provides the client device 1704 with the ability to control download, namely, to start, stop and pause download depending upon various conditions known to the client device 1704.
  • the download manager 1720 can download to the client device 1704 an application program or supplemental content that has been acquired (e.g., purchased) from the content distribution server system 1702.
  • the client device 1704 also includes an application program 1722. Typically, however, the client device 1704 would store a plurality of distinct application programs.
  • the application program 1722 can be considered a representative program. If the client device 1704 has acquired (purchased) supplemental content 1724 from the content distribution server system 1702 using the commerce server 1718, the download manager 1720 can then operate to manage the download of the supplemental content 1724 from the content distribution server system 1702 to the client device. 1704.
  • FIG. 17B is a block diagram of the network-based content distribution system 1700 shown in FIG. 17A when supplemental content acquired and downloaded.
  • the application program 1722 issues an acquisition request to the commerce server 1718 (step 1 ).
  • the acquisition request is a request to acquire, through purchase or otherwise, supplemental content to be utilized by the application program 1722.
  • the commerce server 1718 then issues a content request with appropriate credentials to the server 1708 of the content distribution server system 1702 (step 2).
  • the server 1708 then processes the content request, and in so doing inserts transaction information into the transaction queue 1714 (step 3).
  • the processing of the content request may also utilize account information 1712 associated with the user of the client device 1704.
  • the server 1708 informs the commerce server 1718 that the content request has been processed and the appropriate transaction information, including a receipt corresponding to the acquisition, is provided in the transaction queue 1714 (step 4).
  • the commerce server 1718 can then access the transaction information from the transaction queue 1714 and provide a transaction response to the application program 1722 (step 5).
  • the transaction response can identify the acquired supplemental content that is permitted, as a result of the
  • the application program 1722 can issue a download request to the download manager 1720 for the acquired supplemental content (step 6).
  • the download manager 1720 can then issue a download request to the server 1708 (step 7).
  • the server 1708 can access the content storage 1710 to retrieve the supplemental content 1724, which can then be provided to the download manager 1720 (step 8).
  • the received supplemental content from the downloading can be processed, such as decrypting and decompressing, and then stored at a predetermined location in the client device 1704.
  • the download manager 1720 can then send a response to the application program 1722 to alert the application program 1722 that the supplemental content is stored at the client device at the predetermined location (step 9).
  • the supplemental content 1724 which was acquired from the content distribution server system 1702, is stored at the client device 1704 and is associated with the application program 1722 such that the application program 1722 can make use of the supplemental content 1724 (step 10).
  • the application program 1722 can then inform the commerce server 1718 that the transaction has been completed and the supplemental content 1724 has been successfully received (step 1 1 ).
  • the commerce server 1718 can then inform the server 1708 that the transaction has completed and that the transaction information can be removed from the transaction queue 1714 (step 12).
  • the download operations discussed herein in FIGs. 17A and 17B can immediately follow acquisition (e.g., purchase) of content, or can be deferred to a later point in time.
  • the downloading of digital content can be performed at different points in time and in different manners depending upon various criteria, such as network performance, content size, power source, application state, and the like.
  • Embodiments of the invention can, for example, be implemented by software, hardware, or a combination of hardware and software. Embodiments of the invention can also be embodied as computer readable code on a computer readable medium.
  • the computer readable medium is any data storage device that can store data which can thereafter be read by a computer system.
  • Examples of the computer readable medium generally include read-only memory and random-access memory. More specific examples of computer readable medium are tangible and include Flash memory, EEPROM memory, memory card, CD-ROM, DVD, hard drive, magnetic tape, and optical data storage device.
  • the computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

La présente invention concerne un système, un dispositif et un procédé améliorés permettant d'accéder à des fonctions de produits numériques avec une assistance fournie par un système de distribution de contenus. Un contenu d'une tierce partie peut être soumis et distribué par le système de distribution de contenus. En d'autres termes, le contenu de la tierce partie peut être hébergé (et distribué) par le système de distribution de contenus. Une interface de téléchargement vers l'aval apporte une aide à des programmes d'application s'exécutant sur un dispositif client pour qu'ils demandent et reçoivent localement des téléchargements provenant du système de distribution de contenus. Typiquement, un utilisateur d'un dispositif client achèterait un programme d'application et ensuite, en peu plus tard, lors de l'utilisation du programme d'application, achèterait également un contenu supplémentaire destiné à être utilisé avec le programme d'application. Dès que le contenu supplémentaire est acheté, il doit être téléchargé vers le dispositif client. Des politiques de téléchargement sont utilisées pour gérer le téléchargement du contenu supplémentaire.
PCT/US2013/044824 2012-06-10 2013-06-07 Produits d'application avec un accès à des fonctions subséquentes dans l'application à l'aide d'un système de distribution basé sur un réseau WO2013188244A2 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261657834P 2012-06-10 2012-06-10
US61/657,834 2012-06-10
US13/735,939 US20130124696A1 (en) 2009-03-16 2013-01-07 Application products with in-application subsequent feature access using network-based distribution system
US13/735,939 2013-01-07

Publications (2)

Publication Number Publication Date
WO2013188244A2 true WO2013188244A2 (fr) 2013-12-19
WO2013188244A3 WO2013188244A3 (fr) 2014-02-27

Family

ID=48672832

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/044824 WO2013188244A2 (fr) 2012-06-10 2013-06-07 Produits d'application avec un accès à des fonctions subséquentes dans l'application à l'aide d'un système de distribution basé sur un réseau

Country Status (1)

Country Link
WO (1) WO2013188244A2 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030021283A1 (en) * 2001-07-30 2003-01-30 See Michael E. Distributed network management system using policies
US20120110317A1 (en) * 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content download manager

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030021283A1 (en) * 2001-07-30 2003-01-30 See Michael E. Distributed network management system using policies
US20120110317A1 (en) * 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content download manager

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ELINA VARTIAINEN ET AL: "Auto-update", PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON MOBILE TECHNOLOGY, APPLICATIONS, AND SYSTEMS AND THE 1ST INTERNATIONAL SYMPOSIUM ON COMPUTER HUMAN INTERACTION IN MOBILE TECHNOLOGY, MOBILITY '07, 1 January 2007 (2007-01-01), page 683, XP055022065, New York, New York, USA DOI: 10.1145/1378063.1378179 ISBN: 978-1-59-593819-0 *

Also Published As

Publication number Publication date
WO2013188244A3 (fr) 2014-02-27

Similar Documents

Publication Publication Date Title
EP2230620A1 (fr) Produits d'application avec un accès ultérieur aux propriétés dans l'application au moyen d'un système de distribution basé sur réseau
US20100235889A1 (en) Application products with in-application subsequent feature access using network-based distribution system
US11025622B2 (en) System and method for linking pre-installed software to a user account on an online store
CA2724858C (fr) Techniques d'acquisition de mises a jour pour programmes d'application
AU2010254444B2 (en) Configuration and management of add-ons to digital application programs for network-based distribution
US20130124696A1 (en) Application products with in-application subsequent feature access using network-based distribution system
US20130019237A1 (en) System and method for linking pre-installed software to a user account on an online store
US20080147530A1 (en) Programmatically transferring applications between handsets based on license information
AU2012203903B2 (en) System and method for linking pre-installed software to a user account on an online store
US20110184880A1 (en) Subscription Renewals for Digital Content
US20140214515A1 (en) Promotional code redemption for in-application features used with application programs
AU2016201249A1 (en) Network-based distribution system supporting transfer of application products
WO2013188244A2 (fr) Produits d'application avec un accès à des fonctions subséquentes dans l'application à l'aide d'un système de distribution basé sur un réseau
AU2012258433B2 (en) Application products with in-application subsequent feature access using network-based distribution system
JP2004334800A (ja) 購入管理サーバ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13731002

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 13731002

Country of ref document: EP

Kind code of ref document: A2