# US 2020/0394282 A1 · Cluster-wise license information replication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0394282 A1
- Document ID: US20200394282A1
- Status: Published application
- Kind: A1
- Application number: 16/439,729
- Filed: 2019-06-13
- Published: 2020-12-17
- Earliest claimed: 2019-06-13
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Junfeng WANG; Jin HE; Qi LIU; Xiangjun SONG; Yu WANG; Li HE; Xiangdong CHE
- Web page: https://patentgrep.com/patent/US20200394282A1

## CPC

- G06F 21/105: {Arrangements for software license management or administration, e.g. for managing licenses at corporate level}
- G06F 21/16: Program or content traceability, e.g. by watermarking
- G06F 21/1077: {Recurrent authorisation}
- G06K 7/1417: {2D bar codes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

System and methods for replicating and enforcing license information in a computer cluster are described. The method may include: receiving, by a core-node in the computer cluster, a plurality of peer-license-info from a plurality of peer-nodes selected from a plurality of cluster nodes. Each of the plurality of peer-license-info may include license-info collected by and associated with a corresponding one of the plurality of peer-nodes. The method may include generating, by the core-node, a first cluster-license-info based on the plurality of peer-license-info. The method may further include propagating, by the core-node, the first cluster-license-info to each of the plurality of peer-nodes. The first cluster-license-info is configured for detecting license violations among the plurality of cluster nodes.

## Claims

### Claim 1

A method for replicating and enforcing license information in a computer cluster, the method comprising:
receiving, by a core-node selected from a plurality of cluster nodes in the computer cluster, a plurality of peer-license-info from a plurality of peer-nodes selected from the plurality of cluster nodes, wherein each of the plurality of peer-license-info includes license-info collected by and associated with a corresponding one of the plurality of peer-nodes;
generating, by the core-node, a first cluster-license-info based on the plurality of peer-license-info; and
propagating, by the core-node, the first cluster-license-info to each of the plurality of peer-nodes, wherein the first cluster-license-info is configured for detecting license violations among the plurality of cluster nodes.

### Claim 2 (depends on 1)

The method as recited in the claim 1, further comprising:
in response to a license-update event from a first peer-node selected from the plurality of peer-nodes, transmitting, by the core-node, a collection-request message to the first peer-node;
receiving, by the core-node, a first peer-license-info from the first peer-node;
generating, by the core-node, a second cluster-license-info by adjusting the first cluster-license-info based on the first peer-license-info; and
propagating, by the core-node, the second cluster-license-info to each of the plurality of peer-nodes.

### Claim 3 (depends on 2)

The method as recited in the claim 2, wherein the license-update event is a new peer-node event, a license-activation event, a license-termination event, or a license-violation event.

### Claim 4 (depends on 1)

The method as recited in the claim 1, further comprising:
in response to a license-remove event from a first peer-node selected from the plurality of peer-nodes, generating, by the core-node, a second cluster-license-info by removing peer-license-info associated with the first peer-node from the cluster-license-info; and
propagating, by the core-node, the second cluster-license-info to each of the plurality of peer-nodes.

### Claim 5 (depends on 1)

The method as recited in the claim 1, wherein the detecting of license violations in the computer cluster comprises:
extracting from the first cluster-license-info a license-configuration and a license-usage-data associated with a specific software; and
detecting license violations by evaluating the license-usage-data based on the license-configuration.

### Claim 6 (depends on 1)

The method as recited in the claim 1, further comprising:
broadcasting, by the core-node, a collection-request message to each of the plurality of peer-nodes; and
in response to a determination that no peer-license-info is received from a first peer-node selected from the plurality of peer-nodes, retransmitting, by the core-node, the collection-request message to the first peer-node.

### Claim 7 (depends on 1)

The method as recited in the claim 1, further comprising:
receiving, by the core-node, a revised cluster-license-info generated based on the first cluster-license-info, wherein the revised cluster-license-info contains enforcement actions; and
propagating, by the core-node, the revised cluster-license-info to each of the plurality of peer-nodes, wherein each of the plurality of peer-nodes is configured to perform its corresponding enforcement actions to adjust its license configuration.

### Claim 8 (depends on 7)

The method as recited in the claim 7, wherein each of the plurality of peer-nodes perform its corresponding enforcement actions by:
in response to a license violation detected on a specific peer-node of the plurality of peer-nodes, adjusting software on the specific peer-node by activating, deactivating, or changing the software's license configuration.

### Claim 9 (depends on 8)

The method as recited in the claim 8, wherein the license violation is a license-expiration violation, a license-abuse violation, or a no-license violation.

### Claim 10

A non-transitory computer-readable storage medium, containing a set of instructions which, when executed by a processor, cause the processor to perform a method for evaluating license information in a computer cluster, the method comprising:
retrieving, by a license review device, a cluster-license-info from a peer-node selected from a plurality of cluster nodes in the computer cluster, wherein the cluster-license-info contains a plurality of peer-license-info collected from the plurality of cluster nodes;
receiving, by the license review device, a revised cluster-license-info generated by detecting license violations in the cluster-license-info; and
transmitting, by the license review device, the revised cluster-license-info to the peer-node.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of the claim 10, further comprising:
retrieving, by the license review device, the cluster-license-info by scanning a QR code generated by the peer-node; and
decrypting, by the license review device, the cluster-license-info based on the a decryption key associated with the computer cluster.

### Claim 12 (depends on 10)

The non-transitory computer-readable storage medium of the claim 10, further comprising:
evaluating, by the license review device, the cluster-license-info for any license violations; and
in response to a detection of the license violations, generating, by the license review device, a warning for the license violations.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of the claim 10, further comprising:
transmitting, by the license review device, the cluster-license-info to a license validator, wherein the license validator generates the revised cluster-license-info by evaluating the cluster-license-info for any of the license violations,.

### Claim 14 (depends on 11)

The non-transitory computer-readable storage medium of the claim 11, wherein the revised cluster-license-info includes enforcement actions for adjusting license configurations of the plurality of cluster nodes.

### Claim 15

A system for enforcing license information in a computer cluster, the system comprising:
a plurality of peer-nodes selected from a plurality of cluster nodes, wherein each of the plurality of cluster nodes includes a corresponding license configuration; and
a core-node selected from the plurality of cluster nodes, wherein the core-node is configured to
receive a plurality of peer-license-info from the plurality of peer-nodes, wherein each of the plurality of peer-license-info includes license-info collected by and associated with a corresponding one of the plurality of peer-nodes,
generate a first cluster-license-info based on the plurality of peer-license-info, and
propagate the first cluster-license-info to each of the plurality of peer-nodes, wherein the first cluster-license-info is configured for detecting license violations among the plurality of cluster nodes.

### Claim 16 (depends on 15)

The system of claim 15, wherein the core-node is further configured to:
in response to a license-update event from a first peer-node selected from the plurality of peer-nodes, transmit a collection-request message to the first peer-node,
receive a first peer-license-info from the first peer-node,
generate a second cluster-license-info by adjusting the first cluster-license-info based on the first peer-license-info, and
propagate the second cluster-license-info to each of the plurality of peer-nodes.

### Claim 17 (depends on 15)

The system of claim 15, wherein the core-node is further configured to:
in response to a license-remove event from a first peer-node selected from the plurality of peer-nodes, generate a second cluster-license-info by removing peer-license-info associated with the first peer-node from the cluster-license-info, and
propagate the second cluster-license-info to each of the plurality of peer-nodes.

### Claim 18 (depends on 15)

The system of claim 15, wherein the core-node is further configured to:
receive a revised cluster-license-info generated based on the first cluster-license-info, wherein the revised cluster-license-info contains enforcement actions, and
propagate the revised cluster-license-info to each of the plurality of peer-nodes.

### Claim 19 (depends on 18)

The system of claim 18, wherein each of the plurality of peer-nodes is configured to:
Perform its corresponding enforcement actions to adjust its corresponding license configuration.

### Claim 20 (depends on 19)

The system of claim 19, wherein each of the plurality of peer-nodes adjusts its corresponding license configuration by:
in response to a license violation detected on a specific peer-node of the plurality of peer-nodes, adjusting software on the specific peer-node by, activating, deactivating , or changing the software's license configuration.
