Dynamic software licensing

US9846899B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9846899-B1
Application numberUS-201213601608-A
CountryUS
Kind codeB1
Filing dateAug 31, 2012
Priority dateAug 31, 2012
Publication dateDec 19, 2017
Grant dateDec 19, 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.

A licensing service is disclosed that can be used in a virtual environment. A master license can be used by the licensing service to maintain a pool of licenses associated with a customer number. Multiple ephemeral licenses can be issued from the pool. The ephemeral licenses can have a short duration to ensure periodic renewal of the ephemeral licenses during the life of the master license. Tighter control of the licenses ensures that the ephemeral licenses are only used during the life of the master license. Additionally, autoscaling is promoted through the use of the license pool, which can adapt according to actual use.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for dynamically licensing software, comprising: storing license information associated with a license to use software, the license information including a master license expiration date associated with a master key; receiving a request for use of the license from a software application instance, the request including metadata associated with the software application instance, the metadata having been retrieved by the software application instance through a request to a metadata service and the metadata including identification information of the software application instance so that the software application instance retrieves its own identification information from the metadata service; using the metadata, including the identification information of the software application instance, and the master key, generating an ephemeral license together with a time-to-live parameter, the time-to-live parameter making it so that the ephemeral license expires prior to the master license expiration date; provisioning, from a server computer, the ephemeral license to the software application instance to authorize use of the software under the license; wherein the ephemeral license is a first license and at least a second ephemeral license is generated using the master key so that a plurality of ephemeral licenses are generated using the same master key, the ephemeral licenses being in a license pool associated with the master key, and a number of the ephemeral licenses is dynamically modifiable by a licensor. 2. The method of claim 1 , wherein the metadata includes one or more of the following parameters associated with the software application instance: a customer account number, a unique identifier of the software application instance, a configuration of the software application instance, or a geographic region in which the software application instance is executing. 3. The method of claim 1 , wherein generating the ephemeral license includes generating an ephemeral license key using a key-generation algorithm that receives as parameters a master key, a unique identifier associated with the software application instance, and the time-to-live parameter. 4. The method of claim 1 , wherein the ephemeral license is renewed multiple times prior to the master license expiration date. 5. A method for licensing software, comprising: storing license information associated with a license to use software, the license information including a first expiration date and a number of instances that are available to use the license in a license pool; receiving a request for use of the license from a software application instance, the request including identification information of the software application instance, wherein the software application instance obtained the identification information through a request to a service separate from the software application instance; using the identification information, generating, on a server computer, an ephemeral license together with a second expiration date, different than the first expiration date; provisioning, using a server computer, the ephemeral license to the software application instance to authorize use of the software under the license; modifying the number of licenses available in the license pool in response to provisioning the ephemeral license; and receiving from the software application instance a request to release the license and returning the license to the license pool. 6. The method of claim 5 , wherein the identification information includes attributes associated with an environment in which the software application instance is executing. 7. The method of claim 6 , wherein the attributes include one or more of the following: an account identification, a unique identifier of the software application instance, a configuration of the software application instance, or a geographic region in which the software application instance is executing. 8. The method of claim 5 , wherein the second expiration date expires prior to the first expiration date so that the software application instance needs to renew the ephemeral license multiple times prior to the first expiration date. 9. The method of claim 5 , wherein the license information includes a master key associated with the license and generating the ephemeral license includes generating an ephemeral key different than the license key. 10. The method of claim 9 , wherein the ephemeral key is generated using a key-generation algorithm that receives as parameters the master key, a unique identifier associated with the software application instance, and the first expiration date. 11. The method of claim 5 , further including receiving a request from the software application instance for metadata related to an environment in which the software application instance is running, and wherein the metadata includes the identification information associated with the software application instance. 12. The method of claim 5 , further including storing log information associated with the ephemeral license. 13. The method of claim 5 , further including receiving periodic requests for updating the ephemeral license and generating new ephemeral licenses in response to the requests with new expiration dates prior to the first expiration date. 14. The method of claim 5 , wherein the software application instance includes a licensing module that communicates with a licensing service to receive the ephemeral license. 15. The method of claim 14 , wherein the licensing module cannot access the licensing service unless it is executing on a server computer in a virtual environment containing the license service. 16. The method of claim 5 , wherein the software application instance is executing in a virtual machine and wherein the ephemeral license is checked out from the license pool including a predetermined number of licenses to allow for autoscaling of a number of licenses issued. 17. The method of claim 5 , further including associating the ephemeral license to a customer number so that only a customer associated with the customer number can execute the software application instance. 18. A method for dynamically licensing software, comprising: requesting, to a first server computer, metadata associated with an environment in which an instance of a software application is executing in a virtual machine, the requesting being generated by the instance of the software application itself, including asking for its own identification; in response to the requesting, receiving the metadata from the first server computer including an identifier of the instance of the software application; using a second server computer upon which the instance of the software application is executing, requesting use of a software license, wherein the metadata is included in the request; and in response to the request, receiving an ephemeral license from a third server computer that expires prior to the software license. 19. The method of claim 18 , wherein the metadata further includes an account number, a configuration of the instance of the software application and a geographic region in which the instance is being executed. 20. The method of claim 18 , wherein the software license is associated with a master key and further including receiving an ephemeral key that is different than the master key. 21. The method of claim 18 , further including using the identifier to access a table to determine if the software license is sti

Assignees

Inventors

Classifications

  • Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]} · CPC title

  • G06Q30/06Primary

    Buying, selling or leasing transactions · CPC title

  • Intellectual property management · 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 US9846899B1 cover?
A licensing service is disclosed that can be used in a virtual environment. A master license can be used by the licensing service to maintain a pool of licenses associated with a customer number. Multiple ephemeral licenses can be issued from the pool. The ephemeral licenses can have a short duration to ensure periodic renewal of the ephemeral licenses during the life of the master license. Tig…
Who is the assignee on this patent?
Stickle Thomas C, Matsubara Brian M, Holland Ryan C, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06Q30/06. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 19 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).