Providing configurable pricing for execution of software images
First Claim
1. A computer-implemented method for managing execution of software images, the method comprising:
- registering, by one or more configured computing systems of a software image execution service, a first software virtual machine image from a first user that is available for execution via the software image execution service, the first software virtual machine image being a bootable image that includes operating system software and at least one application program, the registering including;
causing information to be communicated to the first user about one or more prices charged by the software image execution service for execution of software virtual machine images that vary based at least in part on amounts of use of resources of the software image execution service; and
receiving information for a usage model configured by the first user for the first software virtual machine image, the configured usage model specifying which other users are authorized to initiate execution of the first software virtual machine image, the configured usage model further specifying one or more prices to charge the other users for the execution of the first software virtual machine image that exceed the one or more prices charged by the software image execution service;
after the registering of the first software virtual machine image, receiving, by the one or more configured computing systems, an execution request from a second user to initiate execution of the first software virtual machine image, the first user being distinct from the second user;
determining, by the one or more configured computing systems, that the second user is authorized to initiate the execution of the first software virtual machine image based at least in part on the configured usage model;
executing, by the one or more configured computing systems, the first software virtual machine image on behalf of the second user by loading the first software virtual machine image on one of multiple virtual machines provided by the software image execution service;
determining, by the one or more configured computing systems, a first fee to be paid by the second user for the execution of the first software virtual machine image and automatically determining a second fee to be paid to the first user, the second fee being a portion of the first fee, the determining of the first and second fees being based at least in part on the configured usage model; and
providing one or more indications of the determined first and second fees.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for facilitating sharing of executable software images between users in a configurable manner. In at least some situations, the executable software images are virtual machine images, and while executing may access and use remote network-accessible services (e.g., Web services). In addition, some or all shared executable software images may be made available in a fee-based manner by creator users, such that execution of such a fee-based software image by a software image execution service on behalf of a user other than the creator user is performed in exchange for fees from the other user as specified by the creator user. The creator user may further receive at least some of the specified fees paid by the other user, such as at least some of a difference between the specified fees and fees charged by the software image execution service for the execution.
20 Citations
25 Claims
-
1. A computer-implemented method for managing execution of software images, the method comprising:
-
registering, by one or more configured computing systems of a software image execution service, a first software virtual machine image from a first user that is available for execution via the software image execution service, the first software virtual machine image being a bootable image that includes operating system software and at least one application program, the registering including; causing information to be communicated to the first user about one or more prices charged by the software image execution service for execution of software virtual machine images that vary based at least in part on amounts of use of resources of the software image execution service; and receiving information for a usage model configured by the first user for the first software virtual machine image, the configured usage model specifying which other users are authorized to initiate execution of the first software virtual machine image, the configured usage model further specifying one or more prices to charge the other users for the execution of the first software virtual machine image that exceed the one or more prices charged by the software image execution service; after the registering of the first software virtual machine image, receiving, by the one or more configured computing systems, an execution request from a second user to initiate execution of the first software virtual machine image, the first user being distinct from the second user; determining, by the one or more configured computing systems, that the second user is authorized to initiate the execution of the first software virtual machine image based at least in part on the configured usage model; executing, by the one or more configured computing systems, the first software virtual machine image on behalf of the second user by loading the first software virtual machine image on one of multiple virtual machines provided by the software image execution service; determining, by the one or more configured computing systems, a first fee to be paid by the second user for the execution of the first software virtual machine image and automatically determining a second fee to be paid to the first user, the second fee being a portion of the first fee, the determining of the first and second fees being based at least in part on the configured usage model; and providing one or more indications of the determined first and second fees. - View Dependent Claims (2)
-
-
3. A computer-implemented method for managing execution of software images for users of a software image execution service, the method comprising:
-
receiving, by one or more configured computing systems affiliated with a software image execution service, information from multiple users of the software image execution service regarding registering multiple shared software images, each of the multiple software images being created by one of the multiple users and being registered so as to be available for execution by at least some other users of the software image execution service, the software image execution service having a plurality of host computing systems for use in executing software images of users; receiving, by the one or more configured computing systems, a request from a first user of the software image execution service to execute an indicated one of the multiple software images that was created by a second user distinct from the first user, the indicated software image being a bootable image that includes operating system software and that is executed by loading the indicated software image; determining, by the one or more configured computing systems, that the first user is authorized to execute the indicated software image; and initiating, by the one or more configured computing systems, execution of a copy of the indicated software image by the software image execution service on behalf of the first user, the execution of the indicated software image copy being performed by loading the indicated software image on at least one of the plurality of host computing systems. - View Dependent Claims (4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
7. The method of claim wherein the determined one or more fees are variable fees that vary based on at least one of a group including an amount of time of the execution of the indicated software virtual machine image copy and amounts of use by the executing indicated software virtual machine image copy of resources of the software image execution service, and wherein the method further comprises obtaining payment from the first user for the determined one or more fees.
-
16. A non-transitory computer-readable medium whose contents configure a computing system to manage execution of software images for users of a software image execution service, by performing a method comprising:
-
receiving information from a first user of a software image execution service that indicates a software image available for execution by at least some other users of the software image execution service, the indicated software image being a bootable image that is executed by loading the indicated software image, the received information further indicating a usage model configured by the first user for use in determining fees for other users who execute the indicated software image via the software image execution service, such that the fees determined based on the configured usage model for use of the indicated software image differ from usage fees charged by the software image execution service for execution of the indicated software image; after receiving a request from a second user distinct from the first user to execute the indicated software image, executing the indicated software image via the software image execution service on behalf of the second user, the executing being performed by at least one of a plurality of computing systems of the software image execution service; determining a fee to be paid by the second user for the executing of the indicated software image on behalf of the second user, the determining being based at least in part on the configured usage model and at least in part on use of resources by the executing indicated software image; and providing an indication of the determined fee. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A computing system configured to manage execution of software programs by users of a software execution service, comprising:
-
one or more memories; and a system manager component that is configured to manage execution of software virtual machine programs for users of a software execution service, the software execution service having a plurality of computing systems for use in executing software programs of users such that one or more of the plurality of computing systems each hosts one or more virtual machines that are each capable of executing at least one software virtual machine program, the managing of the execution of the software virtual machine programs including; receiving information from multiple users regarding multiple shared software virtual machine programs created by the multiple users, the multiple software virtual machine programs being available for execution by other users via the software execution service, the received information indicating a usage model configured by one of the multiple users for use in determining fees for other users to execute an indicated one of the multiple software virtual machine programs via the software execution service, such that at least a portion of the fees determined based on the configured usage model are provided to the one user; after receiving a request to execute the indicated one software virtual machine program via the software execution service on behalf of a first user who is distinct from the one user, initiating execution of the indicated one software virtual machine program by at least one of the hosted virtual machines of the software execution service on behalf of the first user; and automatically determining a first fee to be paid by the first user for the executing of the indicated one software virtual machine program on behalf of the first user and automatically determining a second fee to be paid to the one user for the executing of the indicated one software virtual machine program on behalf of the first user, the second fee being at least a portion of the first fee, the determining of the first and second fees being based at least in part on the usage model configured by the one user. - View Dependent Claims (22, 23, 24, 25)
-
Specification