IP Library Granted Patent US 12,124,541
Granted Patent B2
US 12,124,541 · App. 15/334,238 · Granted Oct 22, 2024

Incorporating license management data into a virtual machine

Inventor: Haroon Azmat (Maidenhead, GB)
Assignee: Flexera Software LLC
G06F21/105G06F9/45533G06F21/53G06F2009/45587G06F21/1078
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,124,541
App. No.
15/334,238
Granted
Oct 22, 2024
Kind
B2
Abstract

Certain aspects of the technology disclosed involve providing a virtual machine instance with license management data to identify and differentiate various virtual machine instances. A virtual appliance may generate license management data in response to a triggering event of a virtual machine. The triggering event may include any of a migration, clone, snapshot, or request via a representational state transfer endpoint. The virtual machine may provide the license management data to a license server and a licensed application configured to run on the virtual machine. The license management data may be used in resource management systems, such as a license management system, to defeat licensing exploits in a cloud computing environment.

Claims (36)

1. A method for incorporating license management data into a virtual machine instance, the method being implemented by a virtual appliance and a compute node, and the method comprising:

detecting, by the virtual appliance, a triggering event resulting in formation of the virtual machine instance from an originating virtual machine instance, wherein the virtual appliance is running as a first guest instance on the compute node without attachment to any physical component of a physical machine, and wherein the compute node hosts the originating virtual machine instance and the virtual machine instance;

in response to detecting the triggering event, generating, by the virtual appliance, license management data including a unique identifier associated with the virtual machine instance and a specific decoration, wherein the specific decoration is required to modify a file anchor which is configured to store the unique identifier;

storing, by the virtual appliance, the license management data into a first trusted storage associated with the virtual appliance, wherein the first trusted storage includes an association between the license management data and the virtual machine instance, and wherein the first trusted storage includes a first file anchor which is modified to store the unique identifier;

providing, by the virtual appliance, the license management data to a second trusted storage of a license server running as a second guest instance on the compute node, wherein the second trusted storage includes a second file anchor which is modified to store the unique identifier;

inserting, by the virtual appliance via an application programming interface, the license management data into the virtual machine instance, wherein the virtual machine instance stores a third file anchor which is modified by the virtual appliance to store the unique identifier, wherein the license management data is inserted prior to launching of the virtual machine instance, and wherein the virtual machine instance is configured to run a licensed application;

causing, by the virtual appliance, the virtual machine instance to change the specific decoration into a second specific decoration, wherein subsequent to the change, the second specific decoration is required to modify the file anchor stored in the virtual machine instance; and

authorizing, by the virtual appliance, launching of the virtual machine instance by the compute node subsequent to the insertion of the license management data.

2. The method of claim 1 , wherein the third file anchor stored in the virtual machine instance is modified to include the unique identifier based on the specific decoration.

3. The method of claim 1 , wherein the specific decoration required to modify the third file anchor changes based on a time indicated by an irreversible time stamp stored in the virtual machine instance.

4. The method of claim 3 , wherein causing the virtual machine to change the specific decoration comprises:

generating, by the virtual appliance, another irreversible time stamp, wherein the another irreversible time stamp indicates a later time than the irreversible time stamp;

providing, by the virtual appliance, the another irreversible time stamp to the virtual machine instance subsequent to inserting the license management data into the licensed application;

modifying, via the specific decoration based on the another irreversible time stamp, the unique identifier to change to the second specific decoration,

wherein the second specific decoration is not provided to the virtual machine instance.

5. A system for incorporating license management data into a virtual machine instance comprising:

a control node managing a compute node in a cloud computing environment, wherein the compute node is configured to host virtual machine instances; and

a virtual appliance running on the compute node, wherein the virtual appliance is configured to:

detect a triggering event resulting in formation of the virtual machine instance from an originating virtual machine instance, wherein the virtual appliance is running as a first guest instance on the compute node without attachment to any physical component of a physical machine, and wherein the compute node hosts the originating virtual machine instance and the virtual machine instance;

in response to detecting the triggering event, generate license management data including a unique identifier associated with the virtual machine instance and a specific decoration, wherein the specific decoration is required to modify a file anchor which is configured to store the unique identifier;

store the license management data into a first trusted storage associated with the virtual appliance, wherein the first trusted storage includes an association between the license management data and the virtual machine instance, and wherein the first trusted storage includes a first file anchor which is modified to store the unique identifier;

provide the license management data to a second trusted storage of a license server running as a second guest instance on the compute node, wherein the second trusted storage includes a second file anchor which is modified to store the unique identifier; and

insert, via an application programming interface, the license management data into the virtual machine instance, wherein the virtual machine instance stores a third file anchor which is modified by the virtual appliance to store the unique identifier, wherein the license management data is inserted prior to launching of the virtual machine instance, and wherein the virtual machine instance is configured to run a licensed application;

cause the virtual machine instance to change the specific decoration into a second specific decoration, wherein subsequent to the change, the second specific decoration is required to modify the file anchor stored in the virtual machine instance; and

authorize launching of the virtual machine instance by the compute node subsequent to the insertion of the license management data.

6. The system of claim 5 , wherein the virtual appliance is further configured to receive a notification of the triggering event from the control node prior to launch of the virtual machine instance.

7. The system of claim 5 , wherein the virtual appliance is further configured to transmit the authorization to launch the virtual machine instance to the control node to cause a hypervisor to launch the virtual machine instance.

8. The method of claim 1 , wherein the triggering event includes any of a migration, clone, or snapshot operation.

9. The method of claim 1 , further comprising:

receiving, by the virtual appliance, a notification of the triggering event from a control node managing the compute node, the notification being received by the control node prior to launch of the virtual machine instance.

10. The method of claim 1 , wherein authorizing launching of the virtual machine instance comprises:

transmitting, by the virtual appliance to a control node managing the compute node, the authorization to launch the virtual machine instance subsequent to providing the license management data to the licensed application.

11. The method of claim 1 , wherein the specific decoration is based on a first time stamp, and wherein causing the virtual machine instance to change the specific decoration comprises:

generating a second time stamp; and

inserting the second time stamp into the virtual machine instance, thereby changing the specific decoration into the second specific decoration.

12. The method of claim 1 , wherein causing the virtual machine instance to change the specific decoration into the second decoration eliminates user interception of the specific decoration to determine how to modify the file anchor.

Assignments (8)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 045441/ 0499 Recorded Aug 25, 2025
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
Reel/Frame 072552/0558 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Feb 28, 2020
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION; RIGHTSCALE, INC.; RISC NETWORKS, LLC
Reel/Frame 052049/0560 →
SECOND LIEN SECURITY AGREEMENT Recorded Feb 27, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045451/0499 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 26, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045441/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2017
From: AZMAT, HAROON
To: FLEXERA SOFTWARE LLC
Reel/Frame 041243/0756 →
Continuity (1)
Related Publication 20180113999A1 · Apr 26, 2018