IP Library Granted Patent US 10,827,013
Granted Patent B2
US 10,827,013 · App. 15/853,479 · Granted Nov 3, 2020

Dynamically modifying systems to increase system efficiency

Inventors: Jonathan Karon (Portland, OR); David Nichol (Portland, OR)
Assignee: NEW RELIC, INC.
H04L67/22G06F16/2457G06F16/24578G06F17/10H04L67/025
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,827,013
App. No.
15/853,479
Granted
Nov 3, 2020
Kind
B2
Abstract

Users of client devices can take any number of actions using applications of an application system to achieve an outcome. A monitoring system aggregates the interactions into a user interaction path. Over time, the monitoring system generates a large number of user interaction paths. The monitoring system analyzes the user interaction paths for correlation between interactions and outcomes. The monitoring system can correlate user interaction paths to generated interactions of a system interaction path. The monitoring system determines a correlation between interactions and outcomes by calculating a success factor based on an efficiency score and a prevalence score. The success factor is a measure correlation between a particular interaction of the application system and an outcome, the prevalence score is a measure of how often a particular interaction occurs, and the efficiency score is a measure of the application system performance for a particular interaction.

Claims (75)

1. A method for optimizing the number of users achieving an outcome of an application system comprising:

receiving a set of user interaction paths, wherein:

each user interaction path includes a set of executed interactions, and

each set of executed interactions includes a subset of a plurality of potential interactions between a user of a client device and the application system;

partitioning the set of user interaction paths into a first group of user interaction paths and a second group of user interaction paths, wherein:

the first group includes user interaction paths of the set that achieve the outcome of the application system, and

the second group includes the remaining user interaction paths of the set that do not achieve the outcome of the application system;

for each executed interaction of the user interaction paths:

analyzing the executed interaction to determine an efficiency score and a prevalence score of the executed interaction for the first group and the second group, the efficiency score representing a performance metric of the executed interaction in the application system, and the prevalence score representing the prevalence of the executed interaction in the user interaction paths;

calculating a success factor for the executed interaction based on the prevalence score and the efficiency score, the success factor describing an effect of the executed interaction on achieving the outcome of the application system; and

modifying the application system based on the calculated success factors to increase a likelihood that users of the client device achieve the outcome of the application system.

2. The method of claim 1 , further comprising:

receiving a correlation request including a correlation policy from the client device;

analyzing each executed interaction of the received user interaction paths based on the correlation policy; and

sending a result of the correlation request including the calculated success factor to the client device.

3. The method of claim 1 , further comprising:

generating a visual representation of the calculated success factors for the executed interactions.

4. The method of claim 1 , further comprising:

generating a set of interactions for the user of the client device after a specific executed interaction is received.

5. The method of claim 1 wherein analyzing the executed interactions is based on a system interaction path, the system interaction path a set of interactions generated for the user of the client device to facilitate achieving the outcome.

6. The method of claim 1 wherein calculating the success factor further comprises:

assigning a first weight to the prevalence score and a second weight to the efficiency score; and

calculating the success factor using a weighting function, the weighted prevalence score, and the weighted efficiency score.

7. The method of claim 1 further comprising:

filtering at least one user interaction path from the set of user interaction paths based on a correlation policy.

8. The method of claim 1 wherein modifying the application system further comprises:

assigning additional hardware resources to executed interactions based on the success factor for the executed interaction.

9. The method of claim 1 wherein modifying the application system further comprises:

removing at least one interaction from a plurality of potential interactions based on the success factor for the executed interaction.

10. The method of claim 1 wherein modifying the application system further comprises:

generating an encouraging interaction for the user of the client device based on the success factor, the encouraging interaction configured to promote the prevalence of an executed interaction.

11. A non-transitory computer readable storage medium comprising instructions, that when executed by a processor, causing the processor to:

receive a set of user interaction paths, wherein:

each path includes a set of executed interactions, and

each set of executed interactions includes a subset of a plurality of potential interactions between a user of a client device and the application system;

partition the set of user interaction paths into a first group of user interaction paths and a second group of user interactions paths, wherein:

the first group includes user interaction paths of the set that achieve the outcome of the application system, and

the second group includes the remaining user interaction paths of the set that do not achieve the outcome of the application system;

for each executed interaction of the user interaction paths:

analyze the executed interaction to determine an efficiency score and a prevalence score of the executed interaction for the first group and the second group, the efficiency score representing a performance metric of the executed interaction in the application system, and the prevalence score representing the prevalence of the executed interaction in the user interaction paths;

calculate a success factor for the executed interaction based on the prevalence score and the efficiency score, the success factor describing an effect of the executed interaction on achieving the outcome of the application system; and

modify the application system based on the calculated success factors to increase a likelihood that users of the client device achieve the outcome of the application system.

12. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the processor to:

receiving a correlation request including a correlation policy from the client device;

analyzing each executed interaction of the received user interaction paths based on the correlation policy; and

sending a result of the correlation request including the calculated success factor to the client device.

13. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the processor to:

generate a visual representation of the calculated success factors for the executed interactions.

14. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the processor to:

generate a set of interactions for the user of the client device after a specific executed interaction is received.

15. The non-transitory computer readable storage medium of claim 11 , wherein analyzing the executed interactions is based on a system interaction path, the system interaction path a set of interactions generated for the user of the client device to facilitate achieving the outcome.

16. The non-transitory computer readable storage medium of claim 11 wherein calculating the success factor further causes the processor to:

assign a first weight to the prevalence score and a second weight to the efficiency score; and

calculate the success factor using a weighting function, the weighted prevalence score, and the weighted efficiency score.

17. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the processor to:

filtering at least one user interaction path from the set of user interaction paths based on a correlation policy.

18. The non-transitory computer readable storage medium of claim 11 , wherein modifying the application system further causes the processor to:

assign additional hardware resources to executed interactions based on the success factor for the executed interaction.

19. The non-transitory computer readable storage medium of claim 11 , wherein modifying the application system further causes the processor to:

remove at least one interaction from a plurality of potential interactions based on the success factor for the executed interaction.

20. The non-transitory computer readable storage medium of claim 11 , wherein modifying the application system further causes the processor to:

generate an encouraging interaction for the user of the client device based on the success factor, the encouraging interaction configured to promote the prevalence score of an executed interaction.

21. A system comprising:

a computer processor;

a memory storing instructions that, when executed by the computer processor, cause the computer processor to:

receive a set of user interaction paths, wherein:

each user interaction path includes a set of executed interactions, and

each set of executed interactions includes a subset of a plurality of potential interactions between a user of a client device and the application system;

partition the set of user interaction paths into a first group of user interactions paths and a second group of user interaction paths, wherein:

the first group includes user interaction paths of the set that achieve the outcome of the application system, and

the second group includes the remaining user interaction paths of the set that do not achieve the outcome of the application system;

for each executed interaction of the user interaction paths:

analyze the executed interaction to determine an efficiency score and a prevalence score of the executed interaction for the first group and the second group, the efficiency score representing a performance metric of the executed interaction in the application system, and the prevalence score representing the prevalence of the executed interaction in the user interaction paths;

calculate a success factor for the executed interaction based on the prevalence score and the efficiency score, the success factor describing an effect of the executed interaction on achieving the outcome of the application system; and

modify the application system based on the calculated success factors to increase a likelihood that users of the client device achieve the outcome of the application system.

Assignments (2)
SECURITY INTEREST Recorded Nov 8, 2023
From: NEW RELIC, INC.
To: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 065491/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2018
From: KARON, JONATHAN; NICHOL, DAVID
To: NEW RELIC, INC.
Reel/Frame 045685/0752 →
Continuity (1)
Related Publication 20190199810A1 · Jun 27, 2019
Cited By (1)
US 12,189,507