IP Library Granted Patent US 10,789,088
Granted Patent B2
US 10,789,088 · App. 16/045,764 · Granted Sep 29, 2020

Peer-to-peer license enforcement in virtualized computing environments

Inventors: Junfei Wu (Beijing, CN); Yingfeng Ou (Beijing, CN); Dongyang Li (Beijing, CN); Xiaodong Ye (Beijing, CN); Xinzheng Wang (Beijing, CN)
Assignee: VMWARE, INC.
G06F9/45558G06F21/105H04L67/104G06F2009/45595G06F2221/0768
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 10,789,088
App. No.
16/045,764
Granted
Sep 29, 2020
Kind
B2
Abstract

An example method is provided for a first host running a client software to provision a virtual machine on the first host in a virtualized computing environment including one or more hosts. The method may include generating a license key message, transmitting the license key message to a second host via a peer-to-peer (P2P) network including the first host and the second host, receiving a determination of the second host whether the virtual machine can be provisioned on the first host via the P2P network, and deciding whether to provision the virtual machine on the first host based on the determination. Some example license key messages may include a license key and a seat number and a sharable level indicator associated with the license key.

Claims (63)

1. A method for a first host running a client software to provision a virtual machine on the first host in a virtualized computing environment including one or more hosts, comprising:

generating, by the first host, a license key message to include a license key, a seat number corresponding to a number of virtual machines to be provisioned based on the license key and a sharable level indicator of the license key;

transmitting, by the first host, the license key message to a second host via a peer-to-peer (P2P) network including the first host and the second host;

receiving, by the first host, a determination of the second host whether the virtual machine can be provisioned on the first host via the P2P network; and

deciding, by the first host, whether to provision the virtual machine on the first host based on the determination.

2. The method of claim 1 , wherein the license key is received at the first host via an input device of the first host or is received from other hosts in the virtualized computing environment via the P2P network.

3. The method of claim 1 , wherein the sharable level indicator of the license key refers to whether the seat number can be counted as a part of a total seat number by the one or more hosts in the P2P network after the first host is offline from the P2P network.

4. The method of claim 1 , wherein the method further comprises transmitting an online or offline status associated with the first host and a client module configured to run on the first host to the second host via the P2P network.

5. A method for a second host running a client software to determine whether a virtual machine is provisioned on a first host in a virtualized computing environment including one or more hosts, comprising:

receiving a first license key message;

extracting information associated with a first license key, a first seat number corresponding to a number of virtual machines to be provisioned based on the first license key and a first sharable level indicator of the first license key from the first license key message;

locally storing the extracted information associated with the first license key message;

calculating a total seat number based on the first seat number and the first sharable level indicator;

determining whether the virtual machine is provisioned on the first host based on an available seat associated with the total seat number; and

transmitting the determination to the first host via a P2P network including the first host, the second host and the one or more hosts, wherein the first sharable level indicator refers to that the first seat number can be counted as a part of the total seat number after the first host is offline from the P2P network.

6. The method of claim 5 , wherein the method further comprises receiving an online or offline status associated with the first host and a client module that is running on the first host via the P2P network.

7. The method of claim 5 , wherein the method further comprises:

receiving a second license key message from a third host;

extracting information associated with a second license key, a second seat number corresponding to a number of virtual machines to be provisioned based on the second license key and a second sharable level indicator of the second license key from the second license key message; and

locally storing the extracted information associated with the second license key message.

8. The method of claim 7 , wherein:

the second sharable level indicator refers to that the second seat number can be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number further comprises aggregating the first seat number and the second seat number.

9. The method of claim 7 , wherein:

the third host is online on the P2P network;

the second sharable level indicator refers to that the second seat number cannot be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number further comprises aggregating the first seat number and the second seat number.

10. The method of claim 7 , wherein:

the third host is being offline from the P2P network;

the second sharable level indicator refers to that the second seat number cannot be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number is based on the first seat number but not based on the second seat number.

11. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a first host, cause the processor to perform a method for the first host running a client software to provision a virtual machine on the first host in a virtualized computing environment including one or more hosts, wherein the method comprises:

generating, by the first host, a license key message to include a license key, a seat number corresponding to a number of virtual machines to be provisioned based on the license key and a sharable level indicator of the license key;

transmitting, by the first host, the license key message to a second host via a peer-to-peer (P2P) network including the first host and the second host;

receiving, by the first host, a determination of the second host whether the virtual machine can be provisioned on the first host via the P2P network; and

deciding, by the first host, whether to provision the virtual machine on the first host based on the determination.

12. The non-transitory computer-readable storage medium of claim 11 wherein the license key is received at the first host via an input device of the first host or is received from other hosts in the virtualized computing environment via the P2P network.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the sharable level indicator of the license key refers to whether the seat number can be counted as a part of a total seat number by the one or more hosts in the P2P network after the first host is offline from the P2P network.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises transmitting an online or offline status associated with the first host and a client module configured to run on the first host to the second host via the P2P network.

15. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a second host running a client software, cause the processor to determine whether a virtual machine is provisioned on a first host in a virtualized computing environment including one or more hosts, wherein the method comprises:

receiving a first license key message;

extracting information associated with a first license key, a first seat number corresponding to a number of virtual machines to be provisioned based on the first license key and a first sharable level indicator of the first license key from the first license key message;

locally storing the extracted information associated with the first license key message;

calculating a total seat number based on the first seat number and the first sharable level indicator;

determining whether the virtual machine is provisioned on the first host based on an available seat associated with the total seat number; and

transmitting the determination to the first host via a P2P network including the first host, the second host and the one or more hosts, wherein the first sharable level indicator refers to that the first seat number can be counted as a part of the total seat number after the first host is offline from the P2P network.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises receiving an online or offline status associated with the first host and a client module that is running on the first host via the P2P network.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

receiving a second license key message from a third host;

extracting information associated with a second license key, a second seat number corresponding to a number of virtual machines to be provisioned based on the second license key and a second sharable level indicator of the second license key from the second license key message; and

locally storing the extracted information associated with the second license key message.

18. The non-transitory computer-readable storage medium of claim 17 , wherein:

the third host is online on the P2P network;

the second sharable level indicator refers to that the second seat number cannot be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number further comprises aggregating the first seat number and the second seat number.

19. The non-transitory computer-readable storage medium of claim 17 , wherein:

the third host is online on the P2P network;

the second sharable level indicator refers to that the second seat number cannot be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number further comprises aggregating the first seat number and the second seat number.

20. The non-transitory computer-readable storage medium of claim 17 , wherein:

the third host is being offline from the P2P network;

the second sharable level indicator refers to that the second seat number cannot be counted as a part of the total seat number after the third host is offline from the P2P network; and

the calculating the total seat number is based on the first seat number but not based on the second seat number.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2018
From: WU, JUNFEI; OU, YINGFENG; LI, DONGYANG; YE, XIAODONG; WANG, XINZHENG
To: VMWARE, INC.
Reel/Frame 047097/0933 →