IP Library Granted Patent US 9,342,669
Granted Patent B2
US 9,342,669 · App. 14/327,813 · Granted May 17, 2016

Systems and methods of licensing and identification of virtual network appliances

Inventors: Ritesh Patani (Fremont, CA); Chien Cheng (Freemont, CA)
Assignee: Dialogic, Inc.
G06F21/10G06F9/45533G06F9/45558G06F2221/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 9,342,669
App. No.
14/327,813
Granted
May 17, 2016
Kind
B2
Abstract

Systems and methods of licensing and identification of a virtual network appliance. The systems and methods obtain information specific to an instance of a virtual machine corresponding to the virtual network appliance. The instance of the virtual machine is deployed on a predetermined virtualization platform. The systems and methods can generate an identifier as well as a serial number for the virtual machine based at least on the information specific to the instance of the virtual machine, and generate a license including license data for the virtual network appliance, embedding at least the identifier for the virtual machine in the license data. The information specific to the instance of the virtual machine can include a universally unique identifier (UUID) and at least one virtual media access control (MAC) address for the virtual machine deployed on the predetermined virtualization platform.

Claims (54)

1. A method of licensing and identification of a virtual network appliance in a virtualized environment, a representation of the virtual network appliance being received at a client computer over a network as a virtual machine (VM) image instance within the virtualized environment, the method comprising:

receiving, at a licensing server over the network from the client computer, a request for a license for the virtual network appliance, the request including identification information for the virtual network appliance, the identification information including a virtual media access control (MAC) address and a universally unique identifier (UUID) for the VM image instance received at the client computer;

extracting, at the licensing server, the virtual MAC address and the UUID for the VM image instance from the identification information included in the request;

selecting, at the licensing server, one or more portions of the UUID for the VM image instance;

generating, at the licensing server, a VM identifier for the VM image instance from at least the virtual MAC address and the one or more selected portions of the UUID for the VM image instance;

generating, at the licensing server, a virtual network appliance identifier for the virtual network appliance from at least the one or more selected portions of the UUID for the VM image instance;

generating, at the licensing server, the license for the virtual network appliance, the license including license data, the generating of the license including embedding at least the VM identifier in the license data; and

sending, from the licensing server over the network, the license and the virtual network appliance identifier to the client computer for licensing and identification of the virtual network appliance in the virtualized environment.

2. The method of claim 1 wherein the extracting of the virtual MAC address and the UUID for the VM image instance further includes obtaining a hash of at least the UUID for the VM image instance.

3. The method of claim 1 wherein the UUID for the VM image instance includes one or more of (1) one or more bytes, (2) one or more characters, and (3) one or more digits, and wherein the selecting of the one or more portions of the UUID for the VM image instance includes selecting one or more of (1) one or more bytes, (2) one or more characters, and (3) one or more digits of the UUID for the VM image instance.

4. The method of claim 1 further comprising:

generating a checksum value based at least on the virtual MAC address and the UUID for the VM image instance.

5. The method of claim 4 wherein the generating of at least the VM identifier for the VM image instance includes verifying the virtual MAC address and the UUID for the VM image instance against the checksum value.

6. The method of claim 1 wherein the virtual network appliance identifier is a serial number, and wherein the generating of the virtual network appliance identifier includes performing, at the licensing server, a data conversion on at least the one or more selected portions of the UUID for the VM image instance to obtain the serial number for the virtual network appliance.

7. The method of claim 6 further comprising:

appending, at the licensing server, one of a prefix character and a suffix character to the serial number for the virtual network appliance.

8. The method of claim 1 wherein the generating of the license for the virtual network appliance includes encrypting the VM identifier using the virtual network appliance identifier as an encryption key, and wherein the embedding of the VM identifier in the license data includes embedding the VM identifier in the license data in an encrypted form.

9. The method of claim 8 further comprising:

extracting the VM identifier from the license data using the virtual network appliance identifier as the encryption key in conjunction with a symmetric encryption algorithm.

10. The method of claim 5 wherein the VM identifier embedded in the license data is referred to as a licensed VM identifier, and wherein the method further comprises:

generating, at the licensing server, a runtime VM identifier for the VM image instance from at least the virtual MAC address and the one or more selected portions of the UUID for the VM image instance.

11. The method of claim 10 further comprising:

verifying, at the licensing server, the licensed VM identifier against the runtime VM identifier.

12. A system for licensing and identification of a virtual network appliance in a virtualized environment, a representation of the virtual network appliance being received at a client computer over a network as a virtual machine (VM) image instance within the virtualized environment, the system comprising:

a licensing server including at least one processor operative to execute at least one computer program out of at least one memory:

to receive, over the network from the client computer, a request for a license for the virtual network appliance, the request including identification information for the virtual network appliance, the identification information including a virtual media access control (MAC) address and a universally unique identifier (UUID) for the VM image instance received at the client computer;

to extract the virtual MAC address and the UUID for the VM image instance from the identification information included in the request;

to select one or more portions of the UUID for the VM image instance;

to generate a VM identifier for the VM image instance from at least the virtual MAC address and the one or more selected portions of the UUID for the VM image instance;

to generate a virtual network appliance identifier for the virtual network appliance from at least the one or more selected portions of the UUID for the VM image instance;

to generate the license for the virtual network appliance, the license including license data;

to embed at least the VM identifier in the license data; and

to send, over the network, the license and the virtual network appliance identifier to the client computer for licensing and identification of the virtual network appliance in the virtualized environment.

13. The system of claim 12 wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory to obtain a hash of at least the UUID for the VM image instance.

14. The system of claim 12 wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory to generate a checksum value based at least on the virtual MAC address and the UUID for the VM image instance.

15. The system of claim 14 wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory to verify the virtual MAC address and the UUID for the VM image instance against the checksum value.

16. The system of claim 12 wherein the virtual network appliance identifier is a serial number, and wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory to perform a data conversion on at least the one or more selected portions of the UUID for the VM image instance to obtain the serial number for the virtual network appliance.

17. The system of claim 15 wherein the VM identifier embedded in the license data is referred to as a licensed VM identifier, and wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory:

to generate a runtime VM identifier for the VM image instance from at least the virtual MAC address and the one or more selected portions of the UUID for the VM image instance.

18. The system of claim 17 wherein the at least one processor is further operative to execute the at least one computer program out of the at least one memory to verify the licensed VM identifier against the runtime VM identifier.

19. A system for licensing and identification of a virtual network appliance in a virtualized environment including a network, comprising:

a licensing server; and

a virtual machine (VM) image client, the licensing server and the VM image client being communicably coupled to one another by the network,

wherein the VM image client is operative to receive a representation of the virtual network appliance over the network as a VM image instance, and

wherein the licensing server includes at least one first processor operative to execute at least one computer program out of at least one first memory:

to receive, over the network from the VM image client, a request for a license for the virtual network appliance, the request including identification information for the virtual network appliance, the identification information including a virtual media access control (MAC) address and a universally unique identifier (UUID) for the VM image instance received at the VM image client;

to extract the virtual MAC address and the UUID for the VM image instance from the identification information included in the request;

to select one or more portions of the UUID for the VM image instance;

to generate a VM identifier for the VM image instance from at least the virtual MAC address and the one or more selected portions of the UUID for the VM image instance;

to generate a virtual network appliance identifier for the virtual network appliance from at least the one or more selected portions of the UUID for the VM image instance;

to generate the license for the virtual network appliance, the license including license data;

to embed at least the VM identifier in the license data; and

to send, over the network, the license and the virtual network appliance identifier to the VM image client for licensing and identification of the virtual network appliance in the virtualized environment.

20. The system of claim 19 wherein at least one software application is provided with the VM image instance received at the VM image client, and wherein the VM image client includes at least one second processor operative to execute the at least one software application out of at least one second memory to generate the identification information for the virtual network appliance by obtaining a hash of the virtual MAC address and the UUID for the VM image instance.

Assignments (3)
FIRST SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 1, 2016
From: DIALOGIC (US) INC.; DIALOGIC INC.; DIALOGIC US HOLDINGS INC.; DIALOGIC DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED; DIALOGIC CORPORATION; DIALOGIC GROUP INC.
To: SILICON VALLEY BANK
Reel/Frame 040542/0297 →
SECURITY AGREEMENT Recorded Jun 30, 2015
From: DIALOGIC (US) INC.; DIALOGIC INC.; DIALOGIC US HOLDINGS INC.; DIALOGIC DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED; DIALOGIC CORPORATION; DIALOGIC GROUP INC.
To: SILICON VALLEY BANK
Reel/Frame 036037/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2014
From: PATANI, RITESH; CHENG, CHIENG
To: DIALOGIC INC.
Reel/Frame 033286/0031 →
Continuity (2)
Provisional Application 61845128 · Jul 11, 2013
Related Publication 20150020069A1 · Jan 15, 2015