IP Library Granted Patent US 8,646,098
Granted Patent B2
US 8,646,098 · App. 12/823,904 · Granted Feb 4, 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
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,646,098
App. No.
12/823,904
Granted
Feb 4, 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 processor of a physical machine, wherein the processor executes instructions stored in memory and wherein execution of:

a binding agent running on a virtual platform extracts physical binding information of the physical machine, and

a license enforcement module associated with a license and instantiated on a virtual machine hosted on the virtual platform, wherein a license file associated with the license specifies that the physical machine is allowed to run only a specified number of license enforcement modules, the license enforcement module executed to:

maintain heart-beat contact with the binding agent,

communicates with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to the license file and whether there is another machine with the same physical binding information associated with the binding agent, and

enforces a mutex lock to ensure that no more than the specified number of license enforcement modules are running on the physical machine specified by the license file.

2. The system of claim 1 , wherein the specified number of license enforcement modules is one.

3. The system of claim 1 , 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 5 , wherein the license enforcement module compares the extracted physical binding information to a platform type and a hostID type specified by the license file.

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

executing instructions stored in memory of a physical machine, wherein a processor of the physical machine executes:

a binding agent on a virtual platform, the binding agent being executed to extract physical binding information of the physical machine;

a license enforcement module associated with a license and instantiated on a virtual machine hosted on the virtual platform, wherein a license file associated with the license specifies that the physical machine is allowed to run only a specified number of license enforcement modules, the license enforcement module being executed to:

maintain heart-beat contact with the binding agent,

communicate with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to a license file associated with the license and whether there is another machine with the same physical binding information associated with the binding agent, and

enforce a mutex lock to ensure that no more than the specified number of license enforcement modules are running on the physical machine specified by the license file.

8. The method of claim 7 , wherein the specified number of license enforcement modules is one.

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

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

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

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

13. 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 on a virtual platform, the binding agent being executed to extract physical binding information of the physical machine;

executing a license enforcement module associated with a license and instantiated on a virtual machine hosted on the virtual platform, wherein a license file associated with the license specifies that the physical machine is allowed to run only a specified number of license enforcement modules, the license enforcement module being executed to:

maintain heart-beat contact with the binding agent,

communicate with the binding agent to determine whether the extracted physical binding information of the physical machine corresponds to a license file associated with the license and whether there is another machine with the same physical binding information associated with the binding agent, and

enforce a mutex lock ensure that no more than the specified number of license enforcement modules are running on the physical machine specified by the license file.

Assignments (17)
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 →
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 →
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 →
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 PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0617 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2014
From: BANK OF MONTREAL
To: FLEXERA SOFTWARE LLC
Reel/Frame 032581/0652 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0805 →
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Mar 28, 2013
From: FLEXERA SOFTWARE LLC
To: BANK OF MONTREAL, AS COLLATERAL AGENT
Reel/Frame 030111/0362 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 027022/0202 Recorded Mar 25, 2013
From: BNAK OF MONTREAL, AS COLLATERAL AGENT
To: FLEXERA SOFTWARE LLC
Reel/Frame 030081/0156 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 5, 2011
From: FLEXERA SOFTWARE LLC
To: BANK OF MONTREAL, AS COLLATERAL AGENT
Reel/Frame 027021/0054 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 5, 2011
From: FLEXERA SOFTWARE LLC
To: BANK OF MONTREAL, AS COLLATERAL AGENT
Reel/Frame 027022/0202 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Oct 3, 2011
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: FLEXERA SOFTWARE, INC.
Reel/Frame 027004/0601 →
CERTIFICATE OF CONVERSION Recorded Sep 29, 2011
From: FLEXERA SOFTWARE, INC.
To: FLEXERA SOFTWARE LLC
Reel/Frame 026994/0341 →
SECURITY AGREEMENT Recorded Jan 21, 2011
From: FLEXERA SOFTWARE, INC.
To: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
Reel/Frame 025675/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2011
From: VEDANTAM, SAI KENNEDY; WOOLLARD, MARK LANCE
To: FLEXERA SOFTWARE, INC.
Reel/Frame 025766/0396 →
Continuity (2)
Provisional Application 61220444 · Jun 25, 2009
Related Publication 20110047624A1 · Feb 24, 2011