IP Library Granted Patent US 7,685,273
Granted Patent B1
US 7,685,273 · App. 11/471,319 · Granted Mar 23, 2010

Methods and apparatus for collecting and displaying performance metrics from a web site

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 7,685,273
App. No.
11/471,319
Granted
Mar 23, 2010
Kind
B1
Abstract

A system obtains a script containing at least one transaction to be performed with the web site, the at least one transaction defining a sequence of page requests identifying at least one web page to obtain from the web site. The system executes the script to perform the at least one transaction, performance of the at least one transaction including retrieving the sequence of the at least one web page. The system detects a capture event associated with the at least one web page, and in response to the capture event, captures content of the at least one web page. The system packages the content of the at least one web page into a container capable of being rendered, such that the container provides a plurality of components associated with the at least one captured web page, and delivers the container to a repository.

Claims (158)

1. Using an agent, a computer-implemented method in which a computer system initiates execution of software instructions stored in memory for measuring and displaying performance associated with a web site, the computer-implemented method comprising:

obtaining a script, at a remote agent, containing at least one transaction to be performed with the web site, the at least one transaction defining a sequence of page requests identifying at least one web page to obtain from the web site;

executing the script to perform the at least one transaction with the web site, performance of the at least one transaction including retrieving the sequence of the at least one web page;

detecting a capture event associated with the at least one web page, detecting the capture event including receiving a request to capture a visual representation of locally stored content according to how the locally stored content would be rendered in a web browser;

in response to the capture event, capturing content of the at least one web page, capturing content including capturing a plurality of components including visible and non visible components associated with the at least one web page;

packaging the content of the at least one web page into a container capable of being rendered, such that the container provides a plurality of components associated with the at least one captured web page;

delivering the container to a repository

wherein detecting a capture event associated with the at least one web page comprises:

identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of:

i) a user defined capture event; and

ii) an error capture event;

wherein identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

identifying a user defined capture event including at least one of:

i) a timing threshold, specified by a user, that has been exceeded;

ii) a user supplied test datum that does not match with a component of the web page; and

iii) a user supplied test datum that purposely triggers a false error.

2. The computer-implemented method of claim 1 wherein detecting a capture event associated with the at least one web page comprises:

receiving a request to capture the content of the at least one web page upon an occurrence of an error on the at least one web page, the request provided by a switch in the script executing to monitor the at least one web page.

3. The computer-implemented method of claim 1 wherein identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

identifying an error capture event including at least one of:

i) a timing threshold that has been exceeded;

ii) a universal resource locator error that has occurred;

iii) a network error that has occurred;

iv) an object error that has occurred, the object identified as a component of the web page; and

v) a byte count associated with the at least one web page.

4. The computer-implemented method of claim 1 wherein detecting a capture event associated with the at least one web page comprises:

receiving a request to capture at least one of:

i) at least one header associated with the at least one web page; and

ii) a trace route associated with the web server computer system that hosts the at least one web page.

5. The computer-implemented method of claim 1 wherein capturing a plurality of components including visible and non visible components associated with the at least one web page comprises:

traversing the at least one web page to identify each of the components within the plurality of components on the at least one web page; and

locally storing a copy of each of the components within the plurality of components.

6. The computer-implemented method of claim 5 wherein traversing the at least one web page to identify each of the components within the plurality of components on the at least one web page comprises:

identifying at least one component in the plurality of components as a reference to a remotely located object;

storing a copy of the remotely located object locally such that the copy of the remotely located object is a locally stored object; and

modifying the reference to the remotely located object to reference the locally stored object.

7. The computer-implemented method of claim 5 wherein traversing the at least one web page to identify each of the components within the plurality of components on the at least one web page comprises:

identifying at least one component in the plurality of components as a style;

identifying that a set of instructions defining the style resides separately from the plurality of components on the web page; and

capturing a copy of the set of instructions defining the style.

8. The computer-implemented method of claim 5 wherein traversing the at least one web page to identify each of the components within the plurality of components on the at least one web page comprises:

identifying at least one component in the plurality of components as a data field for receiving input from a user; and

wherein identifying at least one component in the plurality of components as a data field for receiving input from a user comprises:

identifying the data field contains input; and

capturing the data field containing the input.

9. The computer-implemented method of claim 1 wherein packaging the content of the at least one web page into a container capable of being rendered, such that the container provides a plurality of components associated with the at least one captured web page comprises:

archiving a plurality of web pages in the container;

creating a container reference to the container;

transmitting notification of the container reference; and

queuing the container reference for delivery of the container.

10. A computerized device comprising:

a memory;

a processor;

a communications interface;

an interconnection mechanism coupling the memory, the processor and the communications interface;

wherein the memory is encoded with an agent application that when executed on the processor is capable of for measuring performance associated with a web site on the computerized device by performing the operations of:

obtaining a script containing at least one transaction to be performed with the web site, the at least one transaction defining a sequence of page requests identifying at least one web page to obtain from the web site;

executing the script to perform the at least one transaction with the web site, performance of the at least one transaction including retrieving the sequence of the at least one web page;

detecting a capture event associated with the at least one web page, detecting the capture event including receiving a request to capture a visual representation of locally stored content according to how the locally stored content would be rendered in a web browser;

in response to the capture event, capturing content of the at least one web page, capturing content including capturing a plurality of components including visible and non visible components associated with the at least one web page;

packaging the content of the at least one web page into a container capable of being rendered, such that the container provides a plurality of components associated with the at least one captured web page;

delivering the container to a repository

wherein detecting a capture event associated with the at least one web page comprises:

identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of:

i) a user defined capture event; and

ii) an error capture event;

wherein identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

identifying a user defined capture event including at least one of:

i) a timing threshold, specified by a user, that has been exceeded;

ii) a user supplied test datum that does not match with a component of the web page; and

iii) a user supplied test datum that purposely triggers a false error.

11. A computer readable medium encoded with computer programming logic that when executed on a process in a computerized device provides performance measuring associated with a web site, the medium comprising:

instructions for obtaining a script containing at least one transaction to be performed with the web site, the at least one transaction defining a sequence of page requests identifying at least one web page to obtain from the web site;

instructions for executing the script to perform the at least one transaction with the web site, performance of the at least one transaction including retrieving the sequence of the at least one web page;

instructions for detecting a capture event associated with the at least one web page, detecting the capture event including receiving a request to capture a visual representation of locally stored content according to how the locally stored content would be rendered in a web browser;

in response to the capture event, instructions for capturing content of the at least one web page, capturing content including capturing a plurality of components including visible and non visible components associated with the at least one web page;

instructions for packaging the content of the at least one web page into a container capable of being rendered, such that the container provides a plurality of components associated with the at least one captured web page;

instructions for delivering the container to a repository;

wherein instructions for detecting a capture event associated with the at least one web page comprises:

instructions for identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of:

i) a user defined capture event; and

ii) an error capture event;

wherein instructions for identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

instructions for identifying a user defined capture event including at least one of:

i) a timing threshold, specified by a user, that has been exceeded;

ii) a user supplied test datum that does not match with a component of the web page; and

iii) a user supplied test datum that purposely triggers a false error.

12. The computer-implemented method of claim 1 , further comprising:

rendering the container to display content of the at least one captured web page to display content including:

a screen capture information region;

a screen shot identification region; and

a web page detail region.

13. The computer-implemented method of claim 12 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering the screen capture information region to include at least one of:

i) a script identifier identifying a script that invokes the at least one transaction to monitor the at least one captured web page;

ii) a timestamp associated with the script;

iii) an server identifier identifying a server on which the script is executing;

iv) an error code associated with the script;

v) an error name associated with the script; and

vi) an option to display the contents of the container.

14. The computer-implemented method of claim 12 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering at least one web page identifier identifying the at least one captured web page contained within the container; and

wherein rendering at least one web page identifier identifying the at least one captured web page contained within the container comprises:

rendering the at least one web page identifier to identify at least one of:

i) a web page successfully executed by a script;

ii) a web page unsuccessfully executed by the script; and

iii) a web page not executed by the script.

15. The computer-implemented method of claim 12 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering the web page detail region to include at least one of:

i) a screen shot of the least one captured web page;

ii) a source code listing of the at least one captured web page, the source code including unaltered source code;

iii) at least one header associated with the least one captured web page; and

iv) a trace route associated with the least one captured web page; and wherein rendering the web page detail region comprises:

rendering the screen shot of the least one captured web page displayed at the time an error occurred, the error associated with a script invoking the at least one transaction.

16. The computer-implemented method of claim 1 , wherein executing the script includes accessing embedded scheduling information that indicates how frequently to execute the script within the remote agent; and wherein executing the script includes interacting with the website without rendering associated web pages on a graphical user interface.

17. The computer-implemented method of claim 5 , further comprising:

rendering the container to display content of the at least one captured web page to display content including:

a screen capture information region;

a screen shot identification region; and

a web page detail region.

18. The computer-implemented method of claim 5 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering the screen capture information region to include at least one of:

i) a script identifier identifying a script that invokes the at least one transaction to monitor the at least one captured web page;

ii) a timestamp associated with the script;

iii) an server identifier identifying a server on which the script is executing;

iv) an error code associated with the script;

v) an error name associated with the script; and

vi) an option to display the contents of the container.

19. The computer-implemented method of claim 5 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering at least one web page identifier identifying the at least one captured web page contained within the container; and

wherein rendering at least one web page identifier identifying the at least one captured web page contained within the container comprises:

rendering the at least one web page identifier to identify at least one of:

i) a web page successfully executed by a script;

ii) a web page unsuccessfully executed by the script; and

iii) a web page not executed by the script.

20. The computer-implemented method of claim 5 wherein rendering the content of the at least one captured web page to include at least one of a screen capture information region, a screen shot identification region and a web page detail region comprises:

rendering the web page detail region to include at least one of:

i) a screen shot of the least one captured web page;

ii) a source code listing of the at least one captured web page;

iii) at least one header associated with the least one captured web page; and

iv) a trace route associated with the least one captured web page; and

wherein rendering the web page detail region comprises:

rendering the screen shot of the least one captured web page displayed at the time an error occurred, the error associated with a script invoking the at least one transaction.

21. The computer-implemented method of claim 5 , wherein detecting a capture event associated with the at least one web page comprises:

identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of:

i) a user defined capture event; and

ii) an error capture event.

22. The computer-implemented method of claim 21 wherein identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

identifying a user defined capture event including at least one of:

i) a timing threshold, specified by a user, that has been exceeded;

ii) a user supplied test datum that does not match with a component of the web page; and

iii) a user supplied test datum that purposely triggers a false error wherein identifying in the script, a capture event definition indicating a condition that may exist during retrieval of the at least one web page in the at least one transaction, the capture event including at least one of a user defined capture event, and an error capture event comprises:

identifying an error capture event including at least one of:

i) a timing threshold that has been exceeded;

ii) a universal resource locator error that has occurred;

iii) a network error that has occurred;

iv) an object error that has occurred, the object identified as a component of the web page; and

v) a byte count associated with the at least one web page.

Assignments (14)
SECURITY INTEREST Recorded Dec 16, 2022
From: DYNATRACE LLC
To: BMO HARRIS BANK N.A.
Reel/Frame 062142/0187 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 046923/0557 Recorded Dec 5, 2022
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: DYNATRACE, LLC
Reel/Frame 062056/0562 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 46923/0528 Recorded Aug 6, 2019
From: JEFFERIES FINANCE LLC, COLLATERAL AGENT
To: DYNATRACE LLC
Reel/Frame 049966/0518 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 24, 2018
From: DYNATRACE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046923/0528 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 24, 2018
From: DYNATRACE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046923/0557 →
RELEASE OF FIRST LIEN PATENT SECURITY AGREEMENT RECORDED AT REEL\FRAME 035200\0973 AND 035200\0955 Recorded Aug 23, 2018
From: JEFFERIES FINANCE LLC
To: DYNATRACE LLC; COMPUWARE CORPORATION
Reel/Frame 046922/0886 →
TERMINATION OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 035201/0065 Recorded Feb 14, 2018
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: COMPUWARE CORPORATION
Reel/Frame 045325/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: COMPUWARE CORPORATION
To: DYNATRACE LLC
Reel/Frame 035491/0172 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035200/0973 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035201/0065 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE TO 12/31/2009 AND ASSIGNEE ADDRESS TO C/O COMPUWARE CORPORATION, ONE CAMPUS MARTIUS, DETROIT, MI 48226 PREVIOUSLY RECORDED ON REEL 023741 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR: GOMEZ, INC. ASSIGNEE: GOMEZ ACQUISITION CORP.. Recorded Jan 8, 2010
From: GOMEZ, INC.
To: GOMEZ ACQUISITION CORP.
Reel/Frame 023750/0684 →
MERGER Recorded Jan 6, 2010
From: GOMEZ ACQUISITION CORP.
To: COMPUWARE CORPORATION
Reel/Frame 023741/0343 →
MERGER Recorded Jan 6, 2010
From: GOMEZ, INC.
To: GOMEZ ACQUISITION CORP.
Reel/Frame 023741/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2006
From: ANASTAS, PAUL; BREEN, WILLIAM RYAN; BREWER, VERNON A. III; SHAW, CHRISTOPHER M.
To: GOMEZ, INC.
Reel/Frame 017992/0234 →