# US 11,444,854 B2 · System to collect and visualize software usage metrics

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

- Number: US 11,444,854 B2
- Document ID: US11444854B2
- Status: Granted
- Kind: B2
- Application number: 16/730,561
- Filed: 2019-12-30
- Published: 2020-06-25
- Granted: 2022-09-13
- Earliest claimed: 2016-06-09
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Cody Moore; Yiwei Gao; Andrew Colombi; David Karesh; William Ward; Alexander Ince-Cushman; Mohammad Bukhari; Daniel Kozlowski; Jason Richardson
- Web page: https://patentgrep.com/patent/US11444854B2

## CPC

- H04N 1/00506: {Customising to the data to be displayed}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 67/01: Protocols
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Example embodiments involve a metrics collection system for collecting software usage metrics from one or more client devices at deployments. A computer, such as a server configured to execute the metrics collection system, collects software usage metrics (e.g., as a metrics submission from a client device) of the software product at the deployment, identifies a metrics type of the software usage metrics collected, assigns the software usage metrics to a metrics category, and calculates and updates a metrics score of the metrics category, based on the software usage metrics collected.

## Claims

### Claim 1

A system comprising:
one or more processors; and
a memory comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving an input that selects an identifier associated with a deployment from within a dropdown menu presented within a graphical user interface (GUI), the deployment comprising a plurality of client devices;
assigning a metrics submission interval to the identifier associated with the deployment that comprises the plurality of client devices of the deployment in response to the input that selects the identifier associated with the deployment;
querying each of the plurality of client devices based on the metrics submission interval assigned to the identifier associated with the deployment;
receiving a metrics submission from a client device from among the plurality of client devices;
assigning the metrics submission received from the client device from among the plurality of client devices to a metrics category, the metrics category comprising a plurality of metrics submissions;
generating a score of the metrics category based on the plurality of metrics submissions that include the metrics submission received from the client device;
determining a visualization type based on at least the deployment; and
causing display of a presentation of the score of the metrics category based on the visualization type.

### Claim 2 (depends on 1)

The system of claim 1, wherein the receiving the input that selects the identifier associated with the deployment includes:
causing display of a metrics collection interface, the metrics collection interface including a presentation of a list of deployment identifiers, the list of deployment identifiers including the identifier associated with the deployment; and
receiving a selection of the deployment identifier from among the list of deployment identifiers.

### Claim 3 (depends on 1)

The system of claim 1, wherein
the metrics submission comprises at least a duration string that indicates a metrics type of the metrics submission.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further comprise:
causing display of a visualization of the metrics submission based on a metrics type of the metrics submission.

### Claim 5 (depends on 1)

The system of claim 1, wherein the generating the score of the metric category further comprises:
applying a scoring calculation to quantify each of the deployments, wherein the scoring calculation comprises of an algorithm that counts all instances of a software application running with a plurality of users;
assigning a point to each client device running the software application running with the plurality of users; and
summing, using the algorithm, the points for the plurality of client devices to generate the score.

### Claim 6 (depends on 3)

The system of claim 3, wherein the metrics submission further comprises indications of one or more of:
a frequency of use of a software application executed by the client device;
a number of unique users of the software application at the client device; and
a list of actions executed with the software application at the client device.

### Claim 7 (depends on 3)

The system of claim 3, wherein the metrics submission further comprises a feature identifier, a product identifier, and the identifier of the deployment, and the operations further comprise:
receiving a request that includes an identification of one or more of the feature identifier, the product identifier, and the identifier of the deployment from the metrics submission; and
generating a visualization of the metrics submission in response to the request.

### Claim 8

A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
receiving an input that selects an identifier associated with a deployment from within a dropdown menu presented within a graphical user interface (GUI), the deployment comprising a plurality of client devices;
assigning a metrics submission interval to the identifier associated with the deployment that comprises the plurality of client devices of the deployment in response to the input that selects the identifier associated with the deployment;
querying each of the plurality of client devices based on the metrics submission interval assigned to the identifier associated with the deployment;
receiving a metrics submission from a client device from among the plurality of client devices;
assigning the metrics submission received from the client device from among the plurality of client devices to a metrics category, the metrics category comprising a plurality of metrics submissions;
generating a score of the metrics category based on the plurality of metrics submissions that include the metrics submission received from the client device;
determining a visualization type based on at least the deployment; and
causing display of a presentation of the score of the metrics category based on the visualization type.

### Claim 9 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the receiving the input that selects the identifier associated with the deployment includes:
causing display of a metrics collection interface, the metrics collection interface including a presentation of a list of deployment identifiers, the list of deployment identifiers including the identifier associated with the deployment; and
receiving a selection of the deployment identifier from among the list of deployment identifiers.

### Claim 10 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein
the metrics submission comprises at least a duration string that indicates a metrics type of the metrics submission.

### Claim 11 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the operations further comprise:
causing display of a visualization of the metrics submission based on a metrics type of the metrics submission.

### Claim 12 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the operations further comprise:
applying a scoring calculation to quantify each of the deployments, wherein the scoring calculation comprises of an algorithm that counts all instances of a software application running with a plurality of users;
assigning a point to each client device running the software application running with the plurality of users; and
summing, using the algorithm, the points for the plurality of client devices to generate the score.

### Claim 13 (depends on 10)

The non-transitory machine-readable storage medium of claim 10, wherein the metrics submission further comprises indications of one or more of:
a frequency of use of a software application executed by the client device;
a number of unique users of the software application at the client device; and
a list of actions executed with the software application at the client device.

### Claim 14 (depends on 10)

The non-transitory machine-readable storage medium of claim 10, wherein the metrics submission further comprises a feature identifier, a product identifier, and the identifier of the deployment, and the operations further comprise:
receiving a request that includes an identification of one or more of the feature identifier, the product identifier, and the identifier of the deployment from the metrics submission; and
generating a visualization of the metrics submission in response to the request.

### Claim 15

A method comprising:
receiving an input that selects an identifier associated with a deployment, the deployment comprising a plurality of client devices;
receiving an input that selects an identifier associated with a deployment from within a dropdown menu presented within a graphical user interface (GUI), the deployment comprising a plurality of client devices;
assigning a metrics submission interval to the identifier associated with the deployment that comprises the plurality of client devices of the deployment in response to the input that selects the identifier associated with the deployment;
querying each of the plurality of client devices based on the metrics submission interval assigned to the identifier associated with the deployment;
receiving a metrics submission from a client device from among the plurality of client devices;
assigning the metrics submission received from the client device from among the plurality of client devices to a metrics category, the metrics category comprising a plurality of metrics submissions;
generating a score of the metrics category based on the plurality of metrics submissions that include the metrics submission received from the client device;
determining a visualization type based on at least the deployment; and
causing display of a presentation of the score of the metrics category based on the visualization type.

### Claim 16 (depends on 15)

The method of claim 15, wherein the receiving the input that selects the identifier associated with the deployment includes:
causing display of a metrics collection interface, the metrics collection interface including a presentation of a list of deployment identifiers, the list of deployment identifiers including the identifier associated with the deployment; and
receiving a selection of the deployment identifier from among the list of deployment identifiers.

### Claim 17 (depends on 15)

The method of claim 15, wherein the metrics submission comprises at least a duration string that indicates a metrics type of the metrics submission.

### Claim 18 (depends on 15)

The method of claim 15, wherein the method further comprises:
causing display of a visualization of the metrics submission based on a metrics type.

### Claim 19 (depends on 15)

The method of claim 15, wherein the generating the score of the metric category further comprises:
applying a scoring calculation to quantify each of the deployments, wherein the scoring calculation comprises of an algorithm that counts all instances of a software application running with a plurality of users;
assigning a point to each client device running the software application running with the plurality of users; and
summing, using the algorithm, the points for the plurality of client devices to generate the score.

### Claim 20 (depends on 17)

The method of claim 17, wherein the metrics submission further comprises indications of one or more of:
a frequency of use of a software application executed by the client device;
a number of unique users of the software application at the client device; and
a list of actions executed with the software application at the client device.
