IP Library Granted Patent US 8,595,361
Granted Patent B2
US 8,595,361 · App. 12/368,438 · Granted Nov 26, 2013

Virtual machine software license management

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,595,361
App. No.
12/368,438
Granted
Nov 26, 2013
Kind
B2
Abstract

Apparatus, systems, and methods may operate to receive reports at a server node, the reports indicating a change in virtual machine status for virtual machines hosted on a virtual machine host node; and to allocate/de-allocate software licenses to the virtual machines based on the change in virtual machine status. In some embodiments, operations may include detecting, at a virtual machine host node, a change in virtual machine status for virtual machines hosted on the host node; and transmitting reports to a server node from the host node. The reports can be used to indicate the change in virtual machine status, enabling the server node to allocate/de-allocate software licenses to the virtual machines based on the change in virtual machine status. Additional apparatus, systems, and methods are disclosed.

Claims (49)

1. An apparatus, comprising:

a server node including a first memory to store a plurality of software licenses; and

a virtual machine state change receiver module to receive reports at the server node, the reports indicating a change in virtual machine status for virtual machines hosted on a virtual machine host node, each of the virtual machines assigned to a universally unique identifier (UUID), the UUIDs for the virtual machines being different from one another, the server node to allocate or de-allocate one or more of the plurality of software licenses to the virtual machines based on the change in virtual machine status and the server node to place a request for a license from one of the virtual machines in a license request queue in response to allocation of a corresponding software license being denied.

2. The apparatus of claim 1 , further comprising:

a second memory to store the license request queue.

3. The apparatus of claim 1 , further comprising: a license allocation module to associate the universally unique identifier (UUID) for each one of the virtual machines with a corresponding one of the software licenses that have been allocated.

4. An apparatus, comprising:

a virtual machine host node including a memory to host a plurality of virtual machines, each of the virtual machines assigned to a universally unique identifier (UUID), the UUIDs for the virtual machines being different from one another; and

a virtual machine state change notifier module to detect, at the virtual machine host node, a change in virtual machine status for the virtual machines, and to transmit reports to a server node, the reports indicating the change in virtual machine status, to enable the server node to allocate or de-allocate one or more of a plurality of software licenses to the virtual machines based on the change in virtual machine status, and to enable the server node to place a request for a license from one of the virtual machines in a license request queue in response to allocation of a corresponding software license being denied.

5. The apparatus of claim 4 , wherein the virtual machine state change notifier module forms part of a hypervisor module to monitor operations of the virtual machines on the virtual machine host node.

6. The apparatus of claim 4 , further comprising:

a universally unique identifier (UUID) management module to create a new UUID for each one of the virtual machines when each one of the virtual machines is created, the UUID to be associated with license requests to the server node.

7. A method of managing a plurality of software licenses implemented in a computer-readable storage medium and adapted to be executed by a processor for performing the method, comprising:

receiving reports at a server node, the reports indicating a change in virtual machine status for virtual machines hosted on a virtual machine host node, each of the virtual machines assigned to a universally unique identifier (UUID), the UUIDs for the virtual machines being different from one another; and

allocating or deallocating one or more of the plurality of software licenses to the virtual machines based on the change in virtual machine status, the allocating or deallocating including placing a request for a license from one of the virtual machines in a license request queue in response to allocation of a corresponding software license being denied.

8. The method of claim 7 , wherein the allocating comprises:

calling a virtual machine preference module that refers to at least one policy to determine the allocating or the deallocating.

9. The method of claim 7 , wherein the allocating comprises:

restricting allocation based on life cycle events associated with the virtual machines.

10. The method of claim 9 , wherein the life cycle events comprise at least one of creation, destruction, cloning, suspension, resumption, or pausing.

11. The method of claim 7 , wherein the change in virtual machine status is determined directly from a single one of the reports.

12. The method of claim 7 , wherein the change in virtual machine status is determined indirectly from multiple ones of the reports.

13. The method of claim 7 , further comprising:

publishing content from the reports to a system administrator.

14. The method of claim 7 , wherein the reports comprise:

at least an identity of at least one of the virtual machines, and a state of the at least one of the virtual machines.

15. The method of claim 14 , wherein the identity comprises:

the universally unique identifier (UUID) assigned to the at least one of the virtual machines.

16. A method of managing a plurality of software licenses implemented in a computer-readable storage medium and adapted to be executed by a processor for performing the method, comprising:

detecting, at a virtual machine host node, a change in virtual machine status for virtual machines hosted on the host node, each of the virtual machines assigned to a universally unique identifier (UUID), the UUIDs for the virtual machines being different from one another; and

transmitting reports to a server node from the host node, the reports indicating the change in virtual machine status, to enable the server node to allocate or de-allocate the software licenses to the virtual machines based on the change in virtual machine status, and to enable the server node to place a request for a license from one of the virtual machines in a license request queue in response to allocation of a corresponding software license being denied.

17. The method of claim 16 , further comprising:

sending a license deactivation request from the virtual machine host node to at least one of the virtual machines.

18. The method of claim 16 , further comprising:

sending a license deactivation request to one of the virtual machines from the virtual machine host node upon determining that the one of the virtual machines has been destroyed or powered down for a selected length of time.

19. The method of claim 16 , wherein the transmitting comprises:

transmitting the reports from a virtual machine state change notifier module residing on the host node to a virtual machine state change receiver module residing on the server node.

20. The method of claim 16 , wherein the transmitting comprises:

transmitting the reports directly from a hypervisor operating on the host node.

21. The method of claim 16 , further comprising:

generating a new universally unique identifier (UUID) to associate with one of the virtual machines when the change in virtual machine status indicates a new status of moved or cloned.

22. The method of claim 16 , further comprising:

receiving notification of license expiration from one of the virtual machines; and

deactivating software associated with the license expiration until a new license is allocated by the server.

23. The method of claim 16 , wherein the reports comprise:

at least one of a status or a change in status of at least one of the virtual machines, and the universally unique identifier (UUID) of the at least one of the virtual machines.

24. The apparatus of claim 1 , wherein the server node is configured to generate a new universally unique identifier (UUID) for a virtual machine that is cloned from one of the virtual machines.

25. The apparatus of claim 1 , wherein the server node is configured to allocate a new software license for a virtual machine that is cloned from one of the virtual machines.

26. The apparatus of claim 1 , wherein the reports comprise the universally unique identifier (UUID) for at least one of the virtual machines.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2009
From: CHATURVEDI, PRADEEP KUMAR; GOPANNAN, PREM SANKAR
To: NOVELL, INC.
Reel/Frame 022361/0720 →