# US 12,111,748 B2 · Automated multi-tier debug information collection

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

- Number: US 12,111,748 B2
- Document ID: US12111748B2
- Status: Granted
- Kind: B2
- Application number: 17/590,755
- Filed: 2022-02-01
- Published: 2023-09-07
- Granted: 2024-10-08
- Earliest claimed: 2022-02-01
- Assignees: Bby Solutions, Inc.
- Applicants: Bby Solutions, Inc.
- Inventors: David Adolphson; Praveen Kotla
- Web page: https://patentgrep.com/patent/US12111748B2

## CPC

- G06F 11/362: Debugging of software
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/3409: {for performance assessment}
- G06F 11/3419: {by assessing time}
- G06F 11/3495: {for systems}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and techniques for automated multi-tier debug information collection are described herein. A request may be received to debug a web page from a client computing device. An origin response may be obtained for the request from a content server. Child fragment calls may be identified that are in a downstream tier using the origin response. Debugging information may be extracted from the child fragment calls. The debugging information may be aggregated from the child fragment calls. The aggregated debugging information may be parsed for output on a display device.

## Claims

### Claim 1

A system for automated multi-tier debug information collection comprising:
at least one processor; and
memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
receive a request to debug a web page submitted by a client computing device;
obtain an origin response for the request from a content server;
identify child fragment calls that are for a downstream tier using the origin response, wherein the child fragment calls are for content fragments of the web page to be retrieved from web delivery architecture tiers that are downstream from the content server;
extract debugging information from the child fragment calls;
aggregate the debugging information from the child fragment calls; and
parse the aggregated debugging information to store the parsed aggregated debugging information for display on the client computing device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the origin response includes a universal resource locator for the web page of a web server.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions to identify the child fragment calls further cause the at least one processor to perform operations to parse edge-side include (ESI) instructions of the origin response to identify the child fragment calls.

### Claim 4 (depends on 1)

The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit a child fragment call of the child fragment calls to a snoop endpoint; and
receive a response to the child fragment call from the snoop endpoint, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 5 (depends on 1)

The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
modify a child fragment call of the child fragment calls to include a snoop header;
transmit the modified child fragment call to a web server in the downstream tier; and
receive a response to the child fragment call from the web server, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 6 (depends on 1)

The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
recursively transmit the child fragment calls to respective services; and
receive responses to the child fragment calls from the respective services, wherein the debugging information is extracted from the responses to the child fragment calla.

### Claim 7 (depends on 1)

The system of claim 1, wherein the debugging information includes at least one of a content delivery network (CDN) edge time-to-live (TTL) value for a child page fragment of the web page, CDN cache control information for the child page fragment, tags for the child page fragment, a size for the child page fragment, a load time for the child page fragment, a status code for the child page fragment, or a fragment type for the child page fragment.

### Claim 8 (depends on 1)

The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit the parsed aggregated debugging information to a client-side application plugin for display on a display device of the client computing device.

### Claim 9 (depends on 1)

The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit the parsed aggregated debugging information to a web-based user interface for display on a display device of the client computing device.

### Claim 10

At least one non-transitory machine-readable medium including instructions for automated multi-tier debug information collection that, when executed by at least one processor, cause the at least one processor to perform operations to:
receive a request to debug a web page submitted by a client computing device;
obtain an origin response for the request from a content server;
identify child fragment calls that are for a downstream tier using the origin responses, wherein the child fragment calls are for content fragments of the web page to be retrieved from web delivery architecture tiers that are downstream from the content server;
extract debugging information from the child fragment calls;
aggregate the debugging information from the child fragment calls; and
parse the aggregated debugging information to store the parsed aggregated debugging information for display on the client computing device.

### Claim 11 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, wherein the origin response includes a universal resource locator for the web page of a web server.

### Claim 12 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, wherein the instructions to identify the child fragment calls further cause the at least one processor to perform operations to parse edge-side include (ESI) instructions of the origin response to identify the child fragment calls.

### Claim 13 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit a child fragment call of the child fragment calls to a snoop endpoint; and
receive a response to the child fragment call from the snoop endpoint, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 14 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
modify a child fragment call of the child fragment calls to include a snoop header;
transmit the modified child fragment call to a web server in the downstream tier; and
receive a response to the child fragment call from the web server, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 15 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
recursively transmit the child fragment calls to respective services; and
receive responses to the child fragment calls from the respective services, wherein the debugging information is extracted from the responses to the child fragment calla.

### Claim 16 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, wherein the debugging information includes at least one of a content delivery network (CDN) edge time-to-live (TTL) value for a child page fragment of the web page, CDN cache control information for the child page fragment, tags for the child page fragment, a size for the child page fragment, a load time for the child page fragment, a status code for the child page fragment, or a fragment type for the child page fragment.

### Claim 17 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit the parsed aggregated debugging information to a client-side application plugin for display on a display device of the client computing device.

### Claim 18 (depends on 10)

The at least one non-transitory machine-readable medium of claim 10, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:
transmit the parsed aggregated debugging information to a web-based user interface for display on a display device of the client computing device.

### Claim 19

A method for automated multi-tier debug information collection comprising:
receiving a request to debug a web page submitted by a client computing device;
obtaining an origin response for the request from a content server;
identifying child fragment calls that are for a downstream tier using the origin responses, wherein the child fragment calls are for content fragments of the web page to be retrieved from web delivery architecture tiers that are downstream from the content server;
extracting debugging information from the child fragment calls;
aggregating the debugging information from the child fragment calls; and
parsing the aggregated debugging information to store the parsed aggregated debugging information for display on the client computing device.

### Claim 20 (depends on 19)

The method of claim 19, wherein the origin response includes a universal resource locator for the web page of a web server.

### Claim 21 (depends on 19)

The method of claim 19, wherein identifying the child fragment calls further comprises parsing edge-side include (ESI) instructions of the origin response to identify the child fragment calls.

### Claim 22 (depends on 19)

The method of claim 19, further comprising:
transmitting a child fragment call of the child fragment calls to a snoop endpoint; and
receiving a response to the child fragment call from the snoop endpoint, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 23 (depends on 19)

The method of claim 19, further comprising:
modifying a child fragment call of the child fragment calls to include a snoop header;
transmitting the modified child fragment call to a web server in the downstream tier; and
receiving a response to the child fragment call from the web server, wherein the debugging information is extracted from the response to the child fragment call.

### Claim 24 (depends on 19)

The method of claim 19, further comprising:
recursively transmitting the child fragment calls to respective services; and
receiving responses to the child fragment calls from the respective services, wherein the debugging information is extracted from the responses to the child fragment calla.

### Claim 25 (depends on 19)

The method of claim 19, wherein the debugging information includes at least one of a content delivery network (CDN) edge time-to-live (TTL) value for a child page fragment of the web page, CDN cache control information for the child page fragment, tags for the child page fragment, a size for the child page fragment, a load time for the child page fragment, a status code for the child page fragment, or a fragment type for the child page fragment.

### Claim 26 (depends on 19)

The method of claim 19, further comprising:
transmitting the parsed aggregated debugging information to a client-side application plugin for display on a display device of the client computing device.

### Claim 27 (depends on 19)

The method of claim 19, further comprising:
transmitting the parsed aggregated debugging information to a web-based user interface for display on a display device of the client computing device.
