# US 2018/0027088 A1 · Performance monitoring to provide real or near real time remediation feedback

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

- Number: US 2018/0027088 A1
- Document ID: US20180027088A1
- Status: Published application
- Kind: A1
- Application number: 15/720,983
- Filed: 2017-09-29
- Published: 2018-01-25
- Earliest claimed: 2013-11-22
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Cheng ZOU; Dhanasekaran RAJU; Pravjit TIWANA; Olexiy KARPUS
- Web page: https://patentgrep.com/patent/US20180027088A1

## CPC

- G06F 11/3495: {for systems}
- G06F 11/3082: {the data filtering being achieved by aggregating or compressing the monitored data}
- H04L 41/065: {involving logical or physical relationship, e.g. grouping and hierarchies}
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- G06F 11/3409: {for performance assessment}
- H04L 41/0654: using network fault recovery (ring fault isolation or reconfiguration in loop networks without recovery actions by a network management system H04L12/437)
- H04L 41/34: Signalling channels for network management communication
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Embodiments provide for monitoring of an online user experience and/or remediating performance issues, but are not so limited. A computer-implemented method of an embodiment operates to receive, pre-aggregate, and aggregate client performance data as part of providing an end-to-end diagnostics monitoring and resolution service. A system of an embodiment is configured to aggregate performance data of a plurality of client devices or systems as part of identifying latency issues at one or more of a tenant level, geographic location level, and/or service provider level. Other embodiments are included.

## Claims

### Claim at position 1

-20. (canceled)

### Claim 21

A system comprising:
at least one processor; and
at least one memory storing computer-executable instructions that when executed by the at least on processor cause the system to:
receive first performance data from a first client of a plurality of clients, wherein the first performance data is associated with a first IP address and a first tenant;
receive second performance data from a second client of the plurality of clients, wherein the second performance data is associated with a second IP address and a second tenant;
pre-aggregate the first performance data and the second performance data, comprising:
mapping the first performance data to at least one of a first Internet Service Provider (ISP), a first geographic location, and the first tenant;
mapping the second performance data to at least one of a second Internet Service Provider (ISP), a second geographic location, and the second tenant, wherein the first tenant and the second tenant are different;
grouping the first performance data in a first group associated with the first tenant;
grouping the second performance data in a second group associated with the second tenant; and
aggregate the first performance data with additional performance data to generate first aggregated data to identify a first latency issue associated with the first group; and
aggregate the second performance data with additional performance data to generate second aggregated data to identify a second latency issue associated with the second group.

### Claim 22 (depends on 21)

The system of claim 21, wherein the first geographic location and the second geographic location are within a geographic region, the computer-executable instructions further causing the system to:
group the first performance data and the second performance data in a third group associated with the geographic region; and
aggregate the first performance data with the second performance data to generate third aggregated data to identify a third latency issue associated with the third group.

### Claim 23 (depends on 21)

The system of claim 21, wherein the first ISP and the second ISP are different, the computer-executable instructions further causing the system to:
group the first performance data in a fourth group associated with the first ISP; and
aggregate the first performance data with additional performance data to generate fourth aggregated data to identify a fourth latency issue associated with the fourth group.

### Claim 24 (depends on 21)

The system of claim 21, wherein the first ISP and the second ISP are the same ISP, the computer-executable instructions further causing the system to:
group the first performance data and the second performance data in a fifth group associated with the same ISP; and
aggregate the first performance data with the second performance data to generate fifth aggregated data to identify a fifth latency issue associated with the fifth group.

### Claim 25 (depends on 21)

The system of claim 21, the computer-executable instructions further causing the system to:
apply a number of rules to at least the first aggregated data and the second aggregated data as part of performing failure zone analysis.

### Claim 26 (depends on 21)

The system of claim 21, the computer-executable instructions further causing the system to:
provide a report associated with mitigating a performance issue for one or more tenants.

### Claim 27 (depends on 21)

The system of claim 21, the computer-executable instructions further causing the system to:
collect the first performance data and the second performance data using a server log file including one or more of: navigation timing data, resource or load timing data, and custom markers.

### Claim 28 (depends on 21)

The system of claim 21, the computer-executable instructions further causing the system to:
group latency metrics by one or more of a location class, an Internet Service Provider (ISP) class, and a tenant class.

### Claim 29 (depends on 21)

The system of claim 21, wherein the first client is associated with a first server node and wherein the second client is associated with a second server node, the computer-executable instructions further causing the system to:
pre-aggregate the first performance data at the first server node and the second performance data at the second server node before performing a final aggregation to reduce processing resources used while aggregating.

### Claim 30

A method performed by a computing system, the method comprising:
receiving first performance data from a first client of a plurality of clients, wherein the first performance data is associated with a first IP address and a first tenant;
receiving second performance data from a second client of the plurality of clients, wherein the second performance data is associated with a second IP address and a second tenant;
pre-aggregating the first performance data and the second performance data, comprising:
mapping the first performance data to at least one of a first Internet Service Provider (ISP), a first geographic location, and the first tenant;
mapping the second performance data to at least one of a second Internet Service Provider (ISP), a second geographic location, and the second tenant, wherein the first tenant and the second tenant are different;
grouping the first performance data in a first group associated with the first tenant;
grouping the second performance data in a second group associated with the second tenant; and
aggregating the first performance data with additional performance data to generate first aggregated data to identify a first latency issue associated with the first group; and
aggregating the second performance data with additional performance data to generate second aggregated data to identify a second latency issue associated with the second group.

### Claim 31 (depends on 30)

The method of claim 30, wherein the first geographic location and the second geographic location are within a geographic region, the method further comprising:
grouping the first performance data and the second performance data in a third group associated with the geographic region; and
aggregating the first performance data with the second performance data to generate third aggregated data to identify a third latency issue associated with the third group.

### Claim 32 (depends on 30)

The method of claim 30, wherein the first ISP and the second ISP are different, the method further comprising:
grouping the first performance data in a fourth group associated with the first ISP; and
aggregating the first performance data with additional performance data to generate fourth aggregated data to identify a fourth latency issue associated with the fourth group.

### Claim 33 (depends on 30)

The method of claim 30, wherein the first ISP and the second ISP are the same ISP, the method further comprising:
grouping the first performance data and the second performance data in a fifth group associated with the same ISP; and
aggregating the first performance data with the second performance data to generate fifth aggregated data to identify a fifth latency issue associated with the fifth group.

### Claim 34 (depends on 30)

The method of claim 30, further comprising:
applying a number of rules to at least the first aggregated data and the second aggregated data as part of performing failure zone analysis.

### Claim 35 (depends on 30)

The method of claim 30, further comprising:
providing a report associated with mitigating a performance issue for one or more tenants.

### Claim 36 (depends on 30)

The method of claim 30, further comprising:
collecting the first performance data and the second performance data using a server log file including one or more of: navigation timing data, resource or load timing data, and custom markers.

### Claim 37 (depends on 30)

The method of claim 30, wherein the first client is associated with a first server node and wherein the second client is associated with a second server node, the method further comprising:
pre-aggregating the first performance data at the first server node and the second performance data at the second server node before performing a final aggregation to reduce processing resources used while aggregating.

### Claim 38 (depends on 30)

The method of claim 30, wherein the first client and the second client are associated with a same server node, the method further comprising:
grouping the first performance data and the second performance data in a sixth group associated with the same server node; and
aggregating the first performance data with the second performance data to generate sixth aggregated data to identify a sixth latency issue associated with the sixth group.

### Claim 39

A computer storage device storing computer-executable instructions that when executed by at least on processor cause the at least one processor to:
receive first performance data from a first client of a plurality of clients, wherein the first performance data is associated with a first IP address and a first tenant;
receive second performance data from a second client of the plurality of clients, wherein the second performance data is associated with a second IP address and a second tenant;
pre-aggregate the first performance data and the second performance data, comprising:
mapping the first performance data to at least one of a first Internet Service Provider (ISP) and the first tenant;
mapping the second performance data to at least one of a second Internet Service Provider (ISP) and the second tenant, wherein the first tenant and the second tenant are different;
grouping the first performance data in a first group associated with the first tenant;
grouping the second performance data in a second group associated with the second tenant; and
aggregate the first performance data with additional performance data to generate first aggregated data to identify a first latency issue associated with the first tenant; and
aggregate the second performance data with additional performance data to generate second aggregated data to identify a second latency issue associated with the second tenant.

### Claim 40 (depends on 39)

The computer storage device of claim 39, wherein the first ISP and the second ISP are the same ISP, the method further comprising:
grouping the first performance data and the second performance data in a third group associated with the same ISP; and
aggregating the first performance data with the second performance data to generate third aggregated data to identify a third latency issue associated with the third group.
