Computer-implemented system and method for trustless zero-knowledge contingent payment
US-2024249280-A1 · Jul 25, 2024 · US
US9785928B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9785928-B1 |
| Application number | US-201113111867-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 19, 2011 |
| Priority date | May 19, 2011 |
| Publication date | Oct 10, 2017 |
| Grant date | Oct 10, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for managing software whose use is restricted in one or more manners. In some situations, the software components are fee-based components that are made available by providers of the components for use by others in exchange for fees defined by the components providers, and the software components may also have various other non-price conditions related to their use. The described techniques facilitate use of a software component on a computing node by configuring a virtual computer port or other virtual interface on the computing node, to enable the software component to make a request via the provided virtual interface regarding whether a current use of the software component is authorized. A trusted source receives and responds to the use authorization request in a manner configured by the provider of the software component, such as by a node manager module of a program execution service.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer-readable medium whose contents configure a computer system to perform a method, the method comprising: executing software on a first virtual machine hosted by the configured computer system, the executing software including a software component having an associated usage model that indicates one or more conditions for use of the software component, the configured computer system further executing a hypervisor program that manages operations of one or more virtual machines hosted on the configured computer system that include the first virtual machine; configuring the executing hypervisor program to enable use of the software component on the first virtual machine in accordance with the indicated conditions of the associated usage model; and under control of the executing hypervisor program, facilitating providing by the included software component of one or more types of functionality by: receiving a request from the included software component to confirm authorization for the included software component to provide the one or more types of functionality for the executing software on the first virtual machine, the request being received via a virtual interface accessible from the first virtual machine; and providing a response to the included software component via the virtual interface that indicates whether the authorization is confirmed, the providing of the response being based on the configuring of the executing hypervisor program and on the indicated conditions of the associated usage model. 2. The non-transitory computer-readable medium of claim 1 wherein the executing software on the first virtual machine is a software program that includes the software component, wherein the software program is executed on behalf of a user, wherein the software component is provided by a provider who is distinct from the user and who specifies the one or more conditions for use for the software component, and wherein the configuring of the executing hypervisor program is based at least in part on an indication of agreement by the user to the conditions for use specified by the provider. 3. The non-transitory computer-readable medium of claim 1 wherein the configured computer system is part of a program execution service and hosts multiple virtual machines that are each configurable to operate as a distinct computing node for the program execution service, wherein the executing of the software is initiated by the program execution service on behalf of a user who is a customer of the program execution service, and wherein the method further comprises configuring the first virtual machine to provide the virtual interface. 4. The non-transitory computer-readable medium of claim 3 wherein the one or more indicated conditions for use of the software component include one or more prices for an indicated amount of use of the software component, and wherein the method further comprises: tracking satisfaction of the indicated conditions for use, the tracking of the satisfaction including tracking an actual amount of use of the software component during execution of the software on the first virtual machine; automatically determining a fee owed by the user for the execution of the software based at least in part on the included one or more prices and on the tracked actual amount of use of the software component and on one or more fees charged by the program execution service for the use of the first virtual machine; and providing an indication of the determined owed fee to enable payment to be obtained from the user for the determined owed fee to satisfy the indicated conditions for use of the software component. 5. The non-transitory computer-readable medium of claim 1 wherein the software component is a software application program, wherein the executing software on the first virtual machine is the software application program, wherein the computer-readable medium is a memory of the configured computer system, and wherein the contents are instructions that when executed program the configured computer system to perform the method. 6. A computer-implemented method comprising: executing, by a configured computer system, software on a first virtual machine hosted by the configured computer system, the executing software including a software component having an associated usage model that indicates one or more conditions for use of the software component, the configured computer system further executing a hypervisor program that manages operations of one or more virtual machines hosted on the configured computer system that include the first virtual machine; configuring the executing hypervisor program to enable use of the software component on the first virtual machine in accordance with the indicated conditions of the associated usage model; and under control of the executing hypervisor program on the configured computer system, enabling providing by the included software component of one or more types of functionality by: receiving a request from the included software component to confirm authorization for the included software component to provide the one or more types of functionality for the executing software on the first virtual machine, the request being received via a virtual interface accessible from the first virtual machine; and providing a response to the included software component via the virtual interface that indicates whether the authorization is confirmed, the providing of the response being based on the configuring of the executing hypervisor program and on the indicated conditions of the associated usage model. 7. The computer-implemented method of claim 6 wherein the executing software on the first virtual machine is a software program that includes the software component and includes other software. 8. The computer-implemented method of claim 7 wherein the software program is executed on behalf of a user, wherein the software component is provided by a provider who is distinct from the user and who specifies the one or more conditions for use for the software component, and wherein the configuring of the executing hypervisor program is based at least in part on an indication of agreement by the user to the conditions for use specified by the provider. 9. The computer-implemented method of claim 6 wherein the configured computer system is part of a program execution service and hosts multiple virtual machines that are each configurable to operate as a distinct computing node for the program execution service, and wherein the executing of the software is initiated by the program execution service on behalf of a user who is a customer of the program execution service. 10. The computer-implemented method of claim 9 further comprising, before the executing of the software of the first virtual machine, receiving a request from the user that specifies the software, and provisioning the first virtual machine in response to the request to enable the executing of the software by the first virtual machine. 11. The computer-implemented method of claim 9 wherein the one or more indicated conditions for use of the software component include one or more prices for an indicated amount of use of the software component, and wherein the method further comprises: tracking satisfaction of the indicated conditions for use, the tracking of the satisfaction including tracking an actual amount of use of the software component during execution of the software on the first virtual machine; automatically determining a fee owed by the user for the execution of the software based at least in part on the included one or more prices and on the tracked actual amount of
Installation · CPC title
with control of digital rights management [DRM] · CPC title
to features or functions of an application · CPC title
Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title
Hypervisors; Virtual machine monitors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.