IP Library Granted Patent US 10,382,298
Granted Patent B2
US 10,382,298 · App. 15/338,450 · Granted Aug 13, 2019

Automatic web page load detection

Inventor: Ryan O'Connell (San Francisco, CA)
Assignee: Cisco Technology, Inc.
H04L43/067H04L43/045H04L67/02
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,382,298
App. No.
15/338,450
Granted
Aug 13, 2019
Kind
B2
Abstract

In one aspect, a system for automatic detection of webpage loading at a web browser of a client device in a monitored environment is disclosed. The system includes: a processor; a memory; and one or more modules stored in the memory and executable by a processor to perform operations. The operations include: detect start of loading of a webpage at the web browser of the client device in the monitored environment; set a dynamic watchdog repeating timer at a value; start the timer; recursively check for completion of the loading of the webpage; when determined that the loading of the webpage has completed, determine whether a Java script engine of the web browser loading the webpage is idle; and when determined that the Java script engine of the web browser loading the webpage is idle, stop the timer and generate a report of the webpage.

Claims (86)

1. A system for automatic detection of web page loading at a web browser of a client device in a monitored environment, the system including:

a processor;

a memory; and

one or more modules stored in the memory and executable by a processor to perform operations including:

detect start of loading of a web page at the web browser of the client device in the monitored environment;

set a dynamic watchdog repeating timer at a value; start the timer;

recursively check for completion of the loading of the web page;

when determined that the loading of the web page has completed, determine whether a Java script engine of the web browser loading the web page is idle;

when determined that the Java script engine of the web browser loading the web page is idle, stop the timer and generate a report of the web page; and

send the generated report to a device in the network receiving data associated with the monitored environment including applications performed over a distributed system of interconnected nodes of machines to correlate the received data with the generated report;

wherein the device including a processor and a memory, is configured to:

identify nodes of interest and one or more chains of nodes connected to the nodes of interest from the interconnected nodes based on the received data,

generate an interactive flow map of the interconnected nodes in the distributed system,

provide the interactive flow map to a user interface for displaying the interactive flow map, and

cause the user interface to automatically display the interactive flow map and the correlated report through the provided user interface.

2. The system of claim 1 , wherein when determining that that the loading of the web page has not completed, the one or more modules are executable to perform operations including:

reset the timer;

restart the timer; and

perform the recursively check for completion of the loading of the web page.

3. The system of claim 1 , wherein when determining whether the Java script engine of the web browser loading the web page is idle, the one or more modules are executable to perform operations including:

determine whether any network requests have ended in a most recent pre-determined time period.

4. The system of claim 1 , wherein the one or more modules are executable to perform the recursive check that the loading of the web page has completed including:

determine whether all pending network requests have finished; or

determine whether a global ceiling has been reached; or

determine both that all the pending network requests have finished and the global ceiling has been reached.

5. The system of claim 1 , wherein the one or more modules are executable to perform the recursive check that the loading of the web page has completed including:

check for one or more iframes; and

attach load listeners to the one or more iframes when found.

6. The system of claim 1 , the device is further configured to:

identify performance issues with the monitored applications from the received data; and

determine a relationship between the identified performance issues and the generated report of the web page.

7. A method for automatic detection of web page loading at a web browser of a client device in a monitored environment, the method including:

detecting start of loading of a web page at the web browser of the client device in the monitored environment;

setting a dynamic watchdog repeating timer at a value; start the timer;

recursively checking for completion of the loading of the web page;

when determined that the loading of the web page has completed, determine whether a Java script engine of the web browser loading the web page is idle;

when determined that the Java script engine of the web browser loading the web page is idle, stop the timer and generate a report of the web page; and

sending the generated report to a device in the network receiving data associated with the monitored environment including applications performed over a distributed system of interconnected nodes of machines to correlate the received data with the generated report;

wherein the device including a processor and a memory, is configured to:

identify nodes of interest and one or more chains of nodes connected to the nodes of interest from the interconnected nodes based on the received data,

generate an interactive flow map of the interconnected nodes in the distributed system;

provide the interactive flow map to a user interface for displaying the interactive flow map, and

cause the user interface to automatically display the interactive flow map and the correlated report through the provided user interface.

8. The method of claim 7 , wherein when determining that that the loading of the web page has not completed, performing operations including:

resetting the timer;

restarting the timer; and

performing the recursively check for completion of the loading of the web page.

9. The method of claim 7 , wherein when determining whether the Java script engine of the web browser loading the web page is idle, performing operations including:

determining whether any network requests have ended in a most recent pre-determined time period.

10. The method of claim 7 , wherein recursively checking for completion of the loading of the web page include:

determining whether all pending network requests have finished; or

determining whether a global ceiling has been reached; or

determining that both all the pending network requests have finished and the global ceiling has been reached.

11. The method of claim 7 , wherein recursively checking for completion of the loading of the web page includes:

checking for one or more iframes; and

attaching load listeners to the one or more iframes when found.

12. The method of claim 7 , wherein the device is further configured to:

identify performance issues with the monitored applications from the received data, and

determine a relationship between the identified performance issues and the generated report of the web page.

13. A non-transitory computer readable medium embodying instructions when executed by a processor to cause operations to be performed for automatic detection of web page loading at a web browser of a client device in a monitored environment, the operations including:

detecting start of loading of a web page at the web browser of the client device in the monitored environment;

setting a dynamic watchdog repeating timer at a value; start the timer;

recursively checking for completion of the loading of the web page;

when determined that the loading of the web page has completed, determine whether a Java script engine of the web browser loading the web page is idle;

when determined that the Java script engine of the web browser loading the web page is idle, stop the timer and generate a report of the web page; and

sending the generated report to a device in the network receiving data associated with the monitored environment including applications performed over a distributed system of interconnected nodes of machines to correlate the received data with the generated report;

wherein the device including a processor and a memory, is configured to:

identify nodes of interest and one or more chains of nodes connected to the nodes of interest from the interconnected nodes based on the received data,

generate an interactive flow map of the interconnected nodes in the distributed system,

provide the interactive flow map to a user interface for displaying the interactive flow map, and

cause the user interface to automatically display the interactive flow map and the correlated report through the provided user interface.

14. The non-transitory computer readable medium of claim 13 , wherein when determining that that the loading of the web page has not completed, performing operations including:

resetting the timer;

restarting the timer; and

performing the recursively check for completion of the loading of the web page.

15. The non-transitory computer readable medium of claim 13 , wherein when determining whether the Java script engine of the web browser loading the web page is idle, performing operations including: determining whether any network requests have ended in a most recent pre-determined time period.

16. The non-transitory computer readable medium of claim 13 , wherein recursively checking for completion of the loading of the web page include:

determining whether all pending network requests have finished; or

determining whether a global ceiling has been reached; or

determining that both all the pending network requests have finished and the global ceiling has been reached.

17. The non-transitory computer readable medium of claim 13 , wherein recursively checking for completion of the loading of the web page includes:

checking for one or more iframes; and

attaching load listeners to the one or more iframes when found.

18. The non-transitory computer readable medium of claim 13 , wherein the device is further configured to:

identify performance issues with the monitored applications from the received data, and

determine a relationship between the identified performance issues and the generated report of the web page.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2017
From: O'CONNELL, RYAN
To: APPDYNAMICS, INC.
Reel/Frame 041426/0708 →
Continuity (1)
Related Publication 20180123921A1 · May 3, 2018