Electronic License Management
Abstract
In one aspect, this application describes a method for determining a license status of a software application. The method includes receiving a license status request to obtain an indication of whether a software application is licensed for use on a client computing device. The method also includes identifying identity information that corresponds to user identity information, device identity information, or both. The method also includes sending a communication generated from the license status request and the identity information to a licensing service, the communication being used by the licensing service to generate the indication based at least in part on the identity information and licensing information associated with the software application. The method also includes receiving a license status response from the licensing service that includes the indication. The method also includes sending the license status response to the software application for processing by the software application.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method for determining a license status of a software application, the method comprising:
receiving, with a licensing client executing on a client computing device and from a software application executing on the client computing device, a license status request to obtain an indication of whether the software application is licensed for use on the client computing device; identifying, using the licensing client, identity information that corresponds to at least one of the group consisting of user identity information that corresponds to a user of the client computing device and device identity information that corresponds to the client computing device; sending a communication generated from the license status request and the identity information to a licensing service that operates remotely from the client computing device, the communication being used by the licensing service to generate the indication of whether the software application is licensed for use on the client computing device based at least in part on the identity information and licensing information associated with the software application; receiving, with the licensing client, a license status response from the licensing service that includes the indication of whether the software application is licensed for use on the client computing device; and sending the license status response to the software application for processing by the software application.
2 . The method of claim 1 , wherein processing by the software application comprises extracting the indication from the license status response, and disabling at least a portion of the software application when the indication indicates that the software application is not licensed for use on the client computing device.
3 . The method of claim 1 , wherein the licensing client and the licensing service are operated by an organization that distributes copies of the software application through an application marketplace, and is different from a publisher that publishes the software application.
4 . The method of claim 3 , wherein the licensing information associated with the software application comprises purchase records that indicate users who have purchased the software application through the application marketplace.
5 . The method of claim 1 , wherein the license status response is encrypted using a private key that is part of a public-private key pair, and processing by the software application comprises decrypting the license status response using a public key that is part of the public-private key pair.
6 . The method of claim 5 , wherein the public key is embedded in a compiled binary of the software application.
7 . The method of claim 1 , wherein the identity information comprises information that is inaccessible by the software application.
8 . The method of claim 1 , wherein processing by the software application comprises extracting the indication from the license status response, and storing the indication in storage of the client computing device.
9 . The method of claim 8 , further comprising receiving, with the licensing client, a second license status request from the software application, determining, using the licensing client, that the licensing service is unavailable to process the second license status request, and sending a message to the software application indicating failure of the second license status request, wherein the software application, upon receiving the message, retrieves the stored indication, and determines whether the software application is licensed for use on the client computing device based on the stored indication.
10 . A computer-readable storage medium storing instructions that, when executed by one or more processing devices, cause the processing devices to perform operations comprising:
receiving, with a licensing client executing on a client computing device and from a software application executing on the client computing device, a license status request to obtain an indication of whether the software application is licensed for use on the client computing device; identifying, using the licensing client, identity information that corresponds to at least one of the group consisting of user identity information that corresponds to a user of the client computing device and device identity information that corresponds to the client computing device; sending a communication generated from the license status request and the identity information to a licensing service that operates remotely from the client computing device, the communication being used by the licensing service to generate the indication of whether the software application is licensed for use on the client computing device based at least in part on the identity information and licensing information associated with the software application; receiving, with the licensing client, a license status response from the licensing service that includes the indication of whether the software application is licensed for use on the client computing device; and sending the license status response to the software application for processing by the software application.
11 . The storage medium of claim 10 , wherein processing by the software application comprises extracting the indication from the license status response, and disabling at least a portion of the software application when the indication indicates that the software application is not licensed for use on the client computing device.
12 . The storage medium of claim 10 , wherein the licensing client and the licensing service are operated by an organization that distributes copies of the software application through an application marketplace, and is different from a publisher that publishes the software application.
13 . The storage medium of claim 12 , wherein the licensing information associated with the software application comprises purchase records that indicate users who have purchased the software application through the application marketplace.
14 . The storage medium of claim 10 , wherein the license status response is encrypted using a private key that is part of a public-private key pair, and processing by the software application comprises decrypting the license status response using a public key that is part of the public-private key pair.
15 . The storage medium of claim 14 , wherein the public key is embedded in a compiled binary of the software application.
16 . The storage medium of claim 10 , wherein the identity information comprises information that is inaccessible by the software application.
17 . The storage medium of claim 10 , wherein processing by the software application comprises extracting the indication of whether the software application is licensed for use on the client computing device, and storing the indication in storage of the client computing device.
18 . The storage medium of claim 17 , wherein the operations further comprise receiving, with the licensing client, a second license status request from the software application, determining, using the licensing client, that the licensing service is unavailable to process the second license status request, and sending a message to the software application indicating failure of the second license status request, wherein the software application, upon receiving the message, retrieves the stored indication, and determines whether the software application is licensed for use on the client computing device based on the stored indication.
19 . A computer-implemented system for obtaining a license status of a software application, the system comprising:
a client computing device that is arranged to execute a software application and a licensing client; and a licensing server system that is arranged to execute a licensing service, wherein the software application is configured to generate a license status request to obtain from the licensing service an indication of whether the software application is licensed for use on the client computing device, and provide the license status request to the licensing client, wherein the licensing client is configured to receive the license status request from the software application, identify identity information that corresponds to at least one of the group consisting of user identity information that corresponds to a user of the client computing device and device identity information that corresponds to the client computing device, and send a communication generated from the license status request and the identity information to the licensing service, wherein the licensing service is configured to receive the communication from the licensing client, determine whether the software application is licensed for use on the client computing device based at least in part on the identity information and licensing information associated with the software application, generate a license status response that includes the indication of whether the software application is licensed for use on the client computing device, and send the license status response to the licensing client, wherein the licensing client is further configured to receive the license status response from the licensing service, and provide the license status response to the software application, wherein the software application is further configured to receive the license status response from the licensing client, and process the license status response.
20 . The system of claim 19 , wherein the software application processes the response by extracting the indication from the license status response, and disabling at least a portion of the software application when the indication indicates that the software application is not licensed for use on the client computing device.
21 . A computer-implemented method comprising:
receiving, with a licensing service executing on a licensing server system and from a licensing client executing on a client computing device that operates remotely from the licensing server system, a request to determine whether a software application executing on the client computing device is licensed for use on the client computing device, the request comprising identity information that corresponds to at least one of the group consisting of user identity information and device identity information; accessing licensing information that comprises purchase records associated with purchases of the software application through an application marketplace; generating, based at least in part on the licensing information and the identity information, an indication of whether the software application is licensed for use on the client computing device; and sending the indication to the client computing device for processing by the client computing device.
22 . The method of claim 21 , further comprising encrypting the indication using a private key that is part of a public-private key pair, wherein processing by the client computing device comprises decrypting the indication using a public key that is part of the public-private key pair.
23 . The method of claim 22 , wherein the public-private key pair is associated with the software application.
24 . The method of claim 22 , wherein the public-private key pair is associated with a publisher of the software application.
25 . The method of claim 21 , further comprising determining a confidence level that corresponds to how confident the licensing service is that the identity information resolves to a particular user or device.
26 . The method of claim 25 , wherein, when the confidence level exceeds a threshold, generating the indication comprises comparing the particular user or device to the purchase records to determine whether the particular user or device purchased the software application through the application marketplace.
27 . The method of claim 25 , wherein, when the confidence level is lower than a threshold, the indication indicates that the software application is not licensed for use on the client computing device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.