Electronic fulfillment system for distributing digital goods
AssigneeAdobe Systems Incorporated
InventorMurugappan Palaniappan
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for delivering digital goods using an electronic distribution system. Meta-information is generated for a digital product and stored at a fulfillment server. Upon completion of a transaction between a customer and the supplier of a digital product, a download manager installed at the customer's computer communicates with the fulfillment server using a protocol that ensures secure and reliable delivery of the digital product to the customer. In alternative implementations, the customer can be billed before or after successful delivery of the digital product to the customer.
Claims22
1-66. (canceled)
A method for providing downloading information for digital products, the method comprising:
- receiving, by a fulfillment server system from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems and the fulfillment server system;
- storing the received product information by the fulfillment server system, wherein for each digital product from among the multiple digital products the stored product information comprises (i) a location of the digital product at a respective host system, and (ii) version information for download managers operated by multiple client systems to download the digital product;
- receiving, by the fulfillment server system from a supplier system from among the multiple supplier systems, a request for a download transaction on behalf of a client system from among the multiple client systems, wherein the request for the download transaction comprises a supplier identifier of the supplier system, a transaction identifier assigned by the supplier system to the requested download transaction, and a version of a download manager operated by the client system;
- determining, by the fulfillment server system in response to said receiving the request for the download transaction, that the version of the download manager operated by the client system is missing from the version information, associated with the one of the digital products, in the stored product information;
- in response to said determining, transmitting an updated download manager by the fulfillment server system to the client system;
- saving, by the fulfillment server system, a pending record associated with the download transaction, wherein the pending record comprises the transaction identifier and the supplier identifier;
- accessing, by the fulfillment server system in the stored product information for the one of the digital products, a location of the one of digital products at a host system from among the multiple host systems;
- transmitting, by the fulfillment server system to the client system, the transaction identifier and the accessed location of the one of digital products at the host system;
- receiving, by the fulfillment server system from the client system, a message indicating a successful downloading of the one of the digital products from the host system, wherein the message includes the transaction identifier;
- verifying, by the fulfillment server system, that the transaction identifier in the message corresponds to the download transaction identified in the saved pending record;
- and
- in response to said verifying, transmitting, by the fulfillment server system to the supplier system identified in the saved pending record, a message indicating a completion of the download transaction identified in the saved pending record.
A method for providing verification information for digital products, the method comprising:
- receiving, by a fulfillment server system from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems and the fulfillment server system;
- storing the received product information by the fulfillment server system, wherein, for each digital product from among the digital products, the product information comprises verification information to enable the digital product once downloaded by multiple client systems;
- receiving, by the fulfillment server system from a supplier system from among the multiple supplier systems, a notification indicating a download transaction for one of the digital products by a client system from among the multiple client systems, wherein the notification comprises a supplier identifier of the supplier system, and a transaction identifier assigned by the supplier system to the download transaction;
- saving, by the fulfillment server system, a transaction record associated with the download transaction, wherein the transaction record comprises the transaction identifier and the supplier identifier;
- receiving, by the fulfillment server system from the client system, a message indicating a successful downloading of the one of the digital products from a host system from among the multiple host systems, wherein the message includes the transaction identifier;
- verifying, by the fulfillment server system, that the transaction identifier in the message corresponds to the download transaction identified in the saved transaction record;
- in response to said verifying, accessing, by the fulfillment server system in the stored product information for the one of the digital products, verification information for the one of the digital products;
- transmitting, by the fulfillment server system to the client system, the accessed verification information for the one of the digital products;
- receiving, by the fulfillment server system from the client system, a message indicating a successful verification of the one of the digital products in its complete and uncorrupted form using the verification information;
- and
- in response to said receiving the message indicating the successful verification of the one of the digital products, transmitting, by the fulfillment server system to the supplier system identified in the saved transaction record, a message indicating a completion of the download transaction identified in the saved transaction record.
A non-transitory computer-readable medium encoding instructions that, when executed by a programmable processor, cause the programmable processor to perform operations comprising:
- receiving, from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems;
- storing the received product information, wherein for each digital product from among the multiple digital products the stored product information comprises (i) a location of the digital product at a respective host system, and (ii) version information for download managers operated by multiple client systems to download the digital product;
- receiving, from a supplier system from among the multiple supplier systems, a request for a download transaction on behalf of a client system from among the multiple client systems, wherein the request for the download transaction comprises a supplier identifier of the supplier system, a transaction identifier assigned by the supplier system to the requested download transaction, and a version of a download manager operated by the client system;
- determining, in response to said receiving the request for the download transaction, that the version of the download manager operated by the client system is missing from the version information, associated with the one of the digital products, in the stored product information;
- in response to said determining, transmitting an updated download manager to the client system;
- saving a pending record associated with the download transaction, wherein the pending record comprises the transaction identifier and the supplier identifier;
- accessing, in the stored product information for the one of the digital products, a location of the one of digital products at a host system from among the multiple host systems;
- transmitting, to the client system, the transaction identifier and the accessed location of the one of digital products at the host system;
- receiving, from the client system, a message indicating a successful downloading of the one of the digital products from the host system, wherein the message includes the transaction identifier;
- verifying that the transaction identifier in the message corresponds to the download transaction identified in the saved pending record;
- and
- in response to said verifying, transmitting, to the supplier system identified in the saved pending record, a message indicating a completion of the download transaction identified in the saved pending record.
A non-transitory computer-readable medium encoding instructions that, when executed by a programmable processor, cause the programmable processor to perform operations comprising:
- receiving, from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems;
- storing the received product information, wherein, for each digital product from among the digital products, the product information comprises verification information to enable the digital product once downloaded by multiple client systems;
- receiving, from a supplier system from among the multiple supplier systems, a notification indicating a download transaction for one of the digital products by a client system from among the multiple client systems, wherein the notification comprises a supplier identifier of the supplier system, and a transaction identifier assigned by the supplier system to the download transaction;
- saving a transaction record associated with the download transaction, wherein the transaction record comprises the transaction identifier and the supplier identifier;
- receiving, from the client system, a message indicating a successful downloading of the one of the digital products from a host system from among the multiple host systems, wherein the message includes the transaction identifier;
- verifying that the transaction identifier in the message corresponds to the download transaction identified in the saved transaction record;
- in response to said verifying, accessing, in the stored product information for the one of the digital products, verification information for the one of the digital products;
- transmitting, to the client system, the accessed verification information for the one of the digital products;
- receiving, from the client system, a message indicating a successful verification of the one of the digital products in its complete and uncorrupted form using the verification information;
- and
- in response to said receiving the message indicating the successful verification of the one of the digital products, transmitting, to the supplier system identified in the saved transaction record, a message indicating a completion of the transaction identified in the saved transaction record.
A fulfillment server system comprising:
- a processor configured to communicatively couple the fulfillment server system to multiple supplier systems, multiple host systems and multiple client systems different from each other;
- a non-transitory computer-readable medium encoding instructions that, when executed by the processor, cause the fulfillment server system to perform operations comprising receiving, from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems;
- and
- a machine-readable storage device storing the received product information, wherein for each digital product from among the multiple digital products the stored product information comprises (i) a location of the digital product at a respective host system, and (ii) version information for download managers operated by multiple client systems to download the digital product,
- wherein the instructions, when executed by the processor, cause the fulfillment server system to perform further operations comprising:
- receiving, from a supplier system from among the multiple supplier systems, a request for a download transaction on behalf of a client system from among the multiple client systems, wherein the request for the download transaction comprises a supplier identifier of the supplier system, a transaction identifier assigned by the supplier system to the requested download transaction, and a version of a download manager operated by the client system;
- determining, in response to said receiving the request for the download transaction, that the version of the download manager operated by the client system is missing from the version information, associated with the one of the digital products, in the stored product information;
- in response to said determining, transmitting an updated download manager to the client system;
- saving a pending record associated with the download transaction, wherein the pending record comprises the transaction identifier and the supplier identifier;
- accessing, in the stored product information for the one of the digital products, a location of the one of digital products at a host system from among the multiple host systems;
- transmitting, to the client system, the transaction identifier and the accessed location of the one of digital products at the host system;
- receiving, from the client system, a message indicating a successful downloading of the one of the digital products from the host system, wherein the message includes the transaction identifier;
- verifying that the transaction identifier in the message corresponds to the download transaction identified in the saved pending record;
- and
- in response to said verifying, transmitting, to the supplier system identified in the saved pending record, a message indicating a completion of the download transaction identified in the saved pending record.
A fulfillment server system comprising:
- a processor configured to communicatively couple the fulfillment server system to multiple supplier systems, multiple host systems and multiple client systems different from each other;
- a non-transitory computer-readable medium encoding instructions that, when executed by the processor, cause the fulfillment server system to perform operations comprising receiving, from multiple supplier systems, product information about multiple digital products that are stored at multiple host systems different from the supplier systems;
- and
- a machine-readable storage device storing the received product information, wherein, for each digital product from among the digital products, the product information comprises verification information to enable the digital product once downloaded by multiple client systems,
- wherein the instructions, when executed by the processor, cause the fulfillment server system to perform further operations comprising:
- receiving, from a supplier system from among the multiple supplier systems, a notification indicating a download transaction for one of the digital products by a client system from among the multiple client systems, wherein the notification comprises a supplier identifier of the supplier system, and a transaction identifier assigned by the supplier system to the transaction;
- saving a transaction record associated with the download transaction, wherein the transaction record comprises the transaction identifier and the supplier identifier;
- receiving, from the client system, a message indicating a successful downloading of the one of the digital products from a host system from among the multiple host systems, wherein the message includes the transaction identifier;
- verifying that the transaction identifier in the message corresponds to the download transaction identified in the saved transaction record;
- in response to said verifying, accessing, in the stored product information for the one of the digital products, verification information for the one of the digital products;
- transmitting, to the client system, the accessed verification information for the one of the digital products;
- receiving, from the client system, a message indicating a successful verification of the one of the digital products in its complete and uncorrupted form using the verification information;
- and
- in response to said receiving the message indicating the successful verification of the one of the digital products, transmitting, to the supplier system identified in the saved transaction record, a message indicating a completion of the transaction identified in the saved transaction record.
Dependencies are inferred from the claim text.