Virtualized administration of software use authorization

US9785928B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9785928-B1
Application numberUS-201113111867-A
CountryUS
Kind codeB1
Filing dateMay 19, 2011
Priority dateMay 19, 2011
Publication dateOct 10, 2017
Grant dateOct 10, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9785928B1 cover?
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…
Who is the assignee on this patent?
Brandwine Eric Jason, Theimer Marvin M, Mercier Benjamin W, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06Q20/1235. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).