IP Library Granted Patent US 8,918,910
Granted Patent B2
US 8,918,910 · App. 14/162,635 · Granted Dec 23, 2014

Method and system for software licensing under machine virtualization

Inventors: Sai Kennedy Vedantam (Saratoga, CA); Mark Lance Woollard (Portland, ME)
Assignee: Flexera Software LLC
G06F21/105G06F21/10G06F21/121G06F2221/0704
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 8,918,910
App. No.
14/162,635
Granted
Dec 23, 2014
Kind
B2
Abstract

A method and system implementing software licensing management under machine virtualization are disclosed. According to one embodiment, a system comprises a virtual platform running on a physical machine; a binding agent running on a host operating system of the virtual platform; a license enforcement module running on a virtual machine instance of the virtual platform. The license enforcement module is in communication with the binding agent. The binding agent enforces a mutex lock to ensure that only a specified number of license enforcement modules are running on the physical machine.

Claims (30)

1. A system for managing software licensing, the system comprising:

a binding agent that extracts physical binding information of a physical machine on which the binding agent is running, and

a license enforcement module instantiated on a virtual machine, wherein a license specifies that no more than a specified maximum number of license enforcement modules are allowed to run, the license enforcement module executed to communicate with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to the license and whether there is another machine with the same physical binding information associated with the binding agent, and

wherein the binding agent ensures that no more than the specified maximum number of license enforcement modules are running as specified by the license.

2. The system of claim 1 , wherein the license enforcement module maintains heart-beat communication with the binding agent.

3. The system of claim 2 , wherein the heart-beat communication between the binding agent and the license enforcement module allows for configuration of parameters of the license enforcement module.

4. The system of claim 1 , wherein the license enforcement module is reconfigured based on instructions from a software vendor providing software under the license.

5. The system of claim 1 , wherein the physical binding information is selected from the group consisting of an Ethernet address, an IP address, and a disk volume serial number.

6. The system of claim 1 , wherein the license enforcement module compares the extracted physical binding information to a platform type and a hostID type specified by the license.

7. The system of claim 1 , wherein the specified maximum number of license enforcement modules is one, and wherein the binding agent ensures that no more than one license enforcement module is running by enforcing a mutex lock.

8. The system of claim 1 , wherein the specified maximum number of license enforcement modules is two or more.

9. The system of claim 1 , wherein the license is embodied in a license file.

10. The system of claim 1 , wherein the binding agent is running on virtual platform.

11. A method for managing software licensing, the method comprising:

executing a binding agent to extract physical binding information of a physical machine on which the binding agent is running;

executing a license enforcement module instantiated on a virtual machine, wherein a license specifies that no more than a specified maximum number of license enforcement modules are allowed to run, the license enforcement module being executed to communicate with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to the license and whether there is another machine with the same physical binding information associated with the binding agent, and

executing the binding agent to ensure that no more than the specified maximum number of license enforcement modules are running as specified by the license.

12. The method of claim 11 , wherein the license enforcement module maintains heart-beat communication with the binding agent.

13. The method of claim 12 , wherein the heart-beat communication between the binding agent and the license enforcement module allows for configuration of parameters of the license enforcement module.

14. The method of claim 11 , further comprising reconfiguring the license enforcement module based on instructions from a software vendor providing software under the license.

15. The method of claim 11 , wherein the physical binding information is selected from the group consisting of an Ethernet address, an IP address, and a disk volume serial number.

16. The method of claim 11 , wherein the license enforcement module compares the extracted physical binding information to a platform type and a hostID type specified by the license.

17. The method of claim 11 , wherein the specified maximum number of license enforcement modules is one, and wherein the binding agent ensures that no more than one license enforcement module is running by enforcing a mutex lock.

18. The method of claim 11 , wherein the specified maximum number of license enforcement modules is two or more.

19. The method of claim 11 , wherein the license is embodied in a license file.

20. The method of claim 11 , wherein the binding agent is running on virtual platform.

21. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for managing software licensing, the method comprising:

executing a binding agent to extract physical binding information of a physical machine on which the binding agent is running;

executing a license enforcement module instantiated on a virtual machine, wherein a license specifies that no more than a specified number of license enforcement modules are allowed to run, the license enforcement module being executed to communicate with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to the license and whether there is another machine with the same physical binding information associated with the binding agent, and

executing the binding agent to ensure that no more than the specified number of license enforcement modules are running as specified by the license.

Assignments (13)
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 →
TERMINATION OF 2ND LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 032590/0805 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0842 →
TERMINATION OF 1ST LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 032590/0617 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0894 →
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 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0617 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0805 →
CHANGE OF NAME Recorded Jan 24, 2014
From: FLEXERA SOFTWARE, INC.
To: FLEXERA SOFTWARE LLC
Reel/Frame 032138/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: VEDANTAM, SAI KENNEDY; WOOLLARD, MARK LANCE
To: FLEXERA SOFTWARE, INC.
Reel/Frame 032039/0306 →
Continuity (3)
Continuation 12823904 · Jun 25, 2010
Provisional Application 61220444 · Jun 25, 2009
Related Publication 20140143888A1 · May 22, 2014