This invention generally relates to re-using product licenses.
Conventionally, when a client purchases a product, such as an application, he also purchases a license to use that product. Sometimes, products are combined and offered for sale as a set of products. This set of products may include that product for which the client has already purchased a license. The client is then asked to purchase a license to use that product, within the set of products, for which a license has already been purchased.
Thus, clients are being charged twice for a single product (e.g., application). The current method of charging twice for a product's license has the potential effect of alienating important and existing clients.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate various embodiments and, together with the Description of Embodiments, serve to explain principles discussed below. The drawings referred to in this brief description should not be understood as being drawn to scale unless specifically noted.
Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. While various embodiments are discussed herein, it will be understood that they are not intended to be limiting. On the contrary, the presented embodiments are intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope the various embodiments as defined by the appended claims. Furthermore, in this Description of Embodiments, numerous specific details are set forth in order to provide a thorough understanding. However, embodiments may be practiced without one or more of these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the described embodiments.
Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present Description of Embodiments, discussions utilizing terms and variation of such terms such as “accesses”, “determines”, “presents”, “acquires”, “purchases”, “converts”, “compares”, “matches”, or the like, often refer to the actions and processes of an electronic computing device (or portion thereof), module or system, such as, but not limited to, a product license converter (See
Conventionally, when a client purchases a product, such as an application, he also purchases a license to use that product. Sometimes, products are combined and offered for sale as a set of products. This set of products may include that product for which the client has already purchased a license. The client is then asked to purchase a license to use that product, within the set of products, for which a license has already been purchased.
Thus, clients are being charged twice for a single product (e.g., application). The current method of charging twice for a product's license has the potential effect of alienating important and existing clients. What is needed is a method and system for enabling a consumer to use an already purchased product license for a new product.
Embodiments of the present technology provide a solution, via a product license converter, and methods described herein, for converting licenses from one product to another product.
The following discussion will begin with a glossary of terms. The discussion continues with a general description of embodiments. Then, a more detailed description of embodiments ensues, including a description of a product license converter and a system that includes the product license converter (
Hyper-Converged Appliance: A hyper-converged appliance (“HCA”) is a type of infrastructure system with a software-centric architecture that tightly integrates compute, storage, networking and virtualization resources and other technologies from scratch in a commodity hardware box supported by a single vendor. A hyper-converged system allows the integrated technologies to be managed as a single system through a common toolset. Hyper-converged systems can be expanded through the addition of nodes to the base unit. Common use cases include virtualized workloads to control the hyper-converged appliance. For example, a Linux Container™ (LXC™) is a workload that has operating system-level capabilities which make it possible to run multiple isolated Linux™ systems or containers, on one control host (the LXC™ host). LXC™ serves as a lightweight alternative to full machine virtualization via hypervisors like KVM™, VMware's ESXi™ or Xen™. The technologies in a hyper-converged infrastructure are so integrated that they cannot be broken down into separate components. (Margaret Rouse. (Oct. 25, 2015) What is hyper-convergence? Definition from WhatIs.com [Online]. Available: http://searchvirtualstorage.techtarget.com/definition/hyper-convergence.) For example, one type of HCA is “EVO:RAIL Hyper-Converged Infrastructure Appliance”™ (“EVO:RAIL™”) by VMware™. EVO:RAIL™ combines compute, network, storage and management into a hyper-converged infrastructure appliance. (VMware [2015] EVO:RAIL Hyper-Converged Infrastructure Appliance: VMware [Online]. Available: https://www.vmware.com/products/evorail.)
Client: A client is a person or organization using the product and/or services of another professional person or company.
Various embodiments provide a system and method for converting licenses from one product to another product. The following is a general case scenario involving a system and/or method of the present technology. A client acquires a product, such as an HCA. For clarity, an HCA will be used herein in as the “second product” with regard to a description of embodiments. However, it should be appreciated that the second product may be a product other than an HCA.
The HCA which the client purchased, in one embodiment, includes three integrated components, “A”, “B”, and “C” (which are products that may be or have been sold individually and separately). However, the client has also already purchased the products “A” and “C” separately, as well as the product licenses accompanying these components. When purchasing the HCA, the client wishes to only pay for the license for component “B”. The client does not wish to pay for multiple licenses that cover the operation of the HCA (that includes multiple components. More specifically, the client does not wish to pay again for a license to use the products “A” and “C” within the HCA. Embodiments of the present technology enable the client to only purchase product licenses for components of an HCA for which the client has not already purchased individual licenses.
For example, residing on the HCA is a product license converter. The product license converter looks at the client product licenses that the client has acquired, compares these product licenses to a table of product license information, and then determines which client product licenses are unused and convertible and which cover particular components of the HCA. If it is determined that the client's product licenses for products “A” and “C” will be unused during the use of the HCA, then the product license converter determines that the client's product license for products “A” and “C” will substitute for a portion of the product license required to be purchased for the HCA. Client will only have to pay the determined price for the component “B”. It should be appreciated that the purchase price of the HCA is not necessarily equivalent to that which would be the purchase price of product “B” bought separately. There may be additional costs, such as, but not limited to being, a surcharge to the client for the convenience of having three products integrated into one product.
If the product license converter does not find a match between the client's product license information and the table of product license information, then the HCA takes steps to acquire the one or more product licenses that are needed for the client to operate the HCA. It should be appreciated that the table of product license information may reside at the HCA or at a location accessible by the HCA but remote from the HCA.
In another embodiment, the client is able to input into the computer a list of previously owned licenses. The product license converter will then compare this manually entered list with a table of product license information, and determine which client product licenses are unused and convertible and which cover particular components of the HCA.
Thus, embodiments of the present technology enable product licenses for one product to be converted into product licenses for another product.
The license information accessor 105 accesses client product license information 125 for a client 120, wherein the client product license information 125 includes product licenses 130 acquired by said client 120. The license analyzer 110 determines if the client product license information 125 includes an available license 135 that covers the first product and that could cover the second product associated with the client 120. Of note, the client 120 is a customer who has purchased a second product (e.g., HCA 200). The client 120 may have already purchased a first product (a product purchased before the second product was purchased) and the license for the first product. The second product refers to a product bought after the first product was bought. In one embodiment, the second product, as described herein, is an HCA 200.
The license analyzer 110 determines if the client product license information 125 includes an available license 135 that covers the first product and that could cover the second product associated with the client 120. A second product being associated with the client 120 refers to the client 120 owning, leasing, and/or having authorization over the second product. For example, the client 120 may purchase an HCA, the second product, and thus owns the HCA. An available license 135 refers to a license being any of the following: unused; convertible; and for an equivalent product. For example, suppose a client 120 has a license for product “D” (which the client 120 owns) and then buys an HCA “Z” that integrates components (products) “D”, “E”, and “F”. The license analyzer 110 determines that the license for individually bought product “D” will be “unused” if the client 120 is using the HCA “Z”, and also determines that the license for the individually bought product “D” is able to be converted to being used as a product license for the HCA “Z” (and is thus, “convertible”). In another example, suppose a client 120 has a license for a product “G” (which the client 120 leases) and then buys an HCA “Y” that integrates components (products) “H” and “I”. The license analyzer 110 determines that the license for the individually product “G” is equivalent to the license for the product “I” of the HCA “Y”. Thus, the client 120 only is required to buy a license for the component “H” of the HCA “Y”, or some other determined price that accounts for component “H” in the context of the HCA “Y”.
For example, and with reference to
Thus, and with reference to the client product license information 125 and the table 300, the license comparer 205 of the license analyzer 110 compares the client product license information 125 to the store 305 of product license information 310 shown in the table 300 and that is associated with the second product (the HCA 200). As noted, in this example, the HCA 200 is the second product “O”.
The match determiner 210, based on the comparing, determines a match of a portion of the client product license information 125 to a portion of the product license information 310, wherein a matched portion includes the available license(s) 135 to cover the second product (HCA 200, product “O”) associated with the client 120. As can be seen by the connecting line 325, the table 300 shows that the client product license “J” matches with the product license “O” for HCA 200, as the product license “O” requires licenses for the components “J”, “W” and “X”. Additionally, as can be seen by the connecting line 330, the client product license “L” is equivalent to the product license “J”. Thus, using the table 300, the match determiner 210 determines the matched portion of the client's available licenses that cover the second product, the HCA 200. In this instance, the match determiner 210 determines that the client product license “J” matches the product license “O” of the HCA 200. Additionally, the match determiner 210 determines that that client product license “L” is equivalent to the product license “O” of the HCA 200.
The license presenter 115, if a status determination is made that the available license exists, then presents a discovered available license for conversion from covering the first product to cover the second product. For example, and with reference to the case scenario above, since a status determination was made by the match determiner 210 that a match exists and therefore, an available license 135 exists, then the license presenter 115 presents a discovered available license, such as the product license “J” and/or “L” for conversion, from covering the first product (for which the product license “J” covers) to covering the second product, HCA 200 (for which the product license “O” covers).
As noted above, the license presenter 115 optionally includes: the conversion instruction presenter 215; the selectable license presenter 220; and the recommendation presenter 225.
The conversion instruction presenter 215 presents instructions for the client to take steps to cause the discovered available license to be converted to cover the second product. For example and with reference to the case scenario above, the conversion instruction presenter 215 presents (e.g., via a display screen and/or audio) the instructions to the client 120, such that the client 120 may take the necessary steps to cause the available license that was determined to match (or be equivalent) at least a portion of the product license for the HCA 200 to be converted. These instructions may, in a non-limiting example, direct the client 120 to log onto a particular website address and follow instructions thereon for converting product licenses.
The selectable license presenter 220 presents at least one selectable license for selection for covering components of the second product. For example and with reference to the case scenario above, for the client 120 to be able to operate the HCA 200, the client must have acquired the necessary product licenses, those of product licenses, “J”, “W” and “X”. The selectable license presenter 220 presents (e.g., via a display screen and/or audio) at least one selectable license, such as product license “W” and “X” for selection for covering components of the HCA 200.
The recommendation presenter 225 presents a recommendation of a set of available licenses for the client to use. For example, the table 300 of product license information 310 may show that multiple product license, for which the client 120 has already acquired, may be converted to use for the product license of the second product. However, the recommendation presenter 225 determines which product licenses of the available and matched product licenses would be the best choice to use. This determination may take into any of the following factors, but is not limited to such: the unused product license age; the cost of the product for which the unused product license covers; the number of newer versions of the product for which the unused product license covers; how likely the client 120 is to use the product for which the unused product license covers; and any contractual restraints on the unused product license.
As noted herein, the product license converter 100 optionally includes any of the following: a license acquirer 230; and a conversion module 235.
The license acquirer 230, if the determination is made that the available license does not exist, then acquires one or more needed product licenses to cover the second product. For example and with reference to the case scenario above, if it was determined, by the license analyzer 110, that a client product license 130 does not exist, such as the product license “W” and “X”, then the license acquirer 230 acquires the needed product licenses, “W” and “X” to cover the second product. This acquisition, in one embodiment, is performed without consulting the client 120. In another embodiment, this acquisition is only performed after consulting with and receiving approval from the client 120.
The conversion module 235 converts the discovered available license to cover the second product. For example and with reference to the case scenario above, the conversion module 235 converts the discovered available license “J” and/or “L”, to cover the component “J” of the second product “O”. In one embodiment, this conversion is performed without consulting the client 120. In another embodiment, this conversion is only performed after consulting with and receiving approval for such conversion from the client 120.
In one embodiment, and with reference to
The following discussion sets forth in detail some example methods of operation of embodiments. With reference to
The following discussion of method 400 references
At step 405 of method 400, in one embodiment and as described herein, client product licensing information is accessed, wherein the client product licensing information includes product licenses acquired by the client. For example, the client product licensing information 125 is accessed, wherein the client product licensing information 125 includes product licenses 130 acquired by the client 120.
At step 410 of method 400, in one embodiment and as described herein, it is determined if the client product license information includes an available license that covers the first product and that could cover the second product associated with the client. For example, it is determined if the client product license information 125 includes an available license 135 that covers the first product and that could cover the second product associated with the client 120.
In one embodiment and as described herein, the step 410 includes the step 415 of method 400: comparing the client product licensing information to a store of product license information associated with the second product; and matching a portion of the client product license information to a portion of the product license information, wherein the matched portion includes the available license to cover the second product associated with the client. For example, the client product license information 125 is compared to a store 305 of product license information 310 associated with the second product. Further, a portion of the client product license information 125 is matched to a portion of the product license information 310, wherein the matched portion includes the available license(s) 135 to cover the second product associated with the client 120.
At step 425 of method 400, in one embodiment and as described herein, if a status determination is made that the available license exists, then a discovered available license for conversion from covering the first product to cover the second product is presented. For example, if a status determination is made at step 410 that an available license(s) 135 exists, then the discovered available license (that is determined to exist) for conversion from covering the first product to cover the second product is presented.
In one embodiment and as described herein, the step 425 includes the step 430 of method 400: presenting instructions for the client 120 to take steps to cause the discovered available license to be converted to cover the second product. In one embodiment and as described herein, the step 425 includes the step 435 of method 400: presenting at least one selectable license for selection by the client 120 for covering the second product. In one embodiment and as described herein, the step 425 includes the step 440 of method 400: presenting a recommendation of a set of available licenses for said client to use.
At step 445, in one embodiment and as described herein, the method 400 further includes, if the determination is made that the available license 135 does not exist, then one or more needed product licenses are acquired to cover the second product.
At step 450, in one embodiment and as described herein, the method 400 further includes: purchases the one or more needed product licenses to cover the second product without consulting with the client 120.
At step 455, in one embodiment and as described herein, the method 400 further includes: converting the discovered available license to cover the second product.
The processor 610, in one embodiment: accesses client product license information for a client, wherein the client product license information comprises product licenses acquired by said client; determines if the client product license information comprises an available license that covers the first product and that could cover the second product associated with the client; and if a status determination is made that said available license exists, then presents a discovered available license for conversion from covering the first product to cover the second product.
The transmitter 620 sends a signal for accessing the client product license information and presents the discovered available license for conversion.
The receiver 615 receives the client product licensing information.
In one embodiment, the method 400 of
In yet another embodiment, the transmitter 620 sends a signal to access the client product license information that is located external to the system 600. As described, the receiver 615 then receives the client product license information, which is sent in response to the transmitter's 620 signal. However, of note, in various embodiments, the receiver 615 receives the client product license information at the initiation of an external source, and not the transmitter 620.
In one embodiment, the processor 610 performs step 410, determining if the client product license information includes an available license that covers the first product and that could cover the second product associated with the client. Then, in one embodiment, the processor 610 performs step 425, presenting a discovered available license for conversion from covering the first product to cover the second product, if a status determination (from step 410) is made that the available license exists. In one embodiment, the transmitter 620 aids in the presenting of available license for conversion of step 425.
Thus, the system 600, and the hyper-converged appliance 605 thereof, is able to perform the method 400 of
Example Computer System
With reference now to
System 500 of
System 500 also includes computer usable non-volatile memory 510, e.g., read only memory (ROM), coupled with bus 504 for storing static information and instructions for processors 506A, 506B, and 506C. Also present in system 500 is a data storage unit 512 (e.g., a magnetic or optical disk and disk drive) coupled with bus 504 for storing information and instructions. System 500 also includes an optional alphanumeric input device 514 including alphanumeric and function keys coupled with bus 504 for communicating information and command selections to processor 506A or processors 506A, 506B, and 506C. System 500 also includes an optional cursor control device 516 coupled with bus 504 for communicating user input information and command selections to processor 506A or processors 506A, 506B, and 506C. In one embodiment, system 500 also includes an optional display device 518 coupled with bus 504 for displaying information.
Referring still to
Referring still to