IP Library Granted Patent US 8,166,123
Granted Patent B2
US 8,166,123 · App. 12/978,350 · Granted Apr 24, 2012

Computer system tools and method for development and testing

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 8,166,123
App. No.
12/978,350
Granted
Apr 24, 2012
Kind
B2
Abstract

The current invention allows a user to evaluate web pages, emails, or software across different operating systems without requiring the user to have the operating system being tested. The patent has a novel method to (1) generate screen captures in parallel, (2) create counter-anti-spam reporting and (3) a method to remotely interact any arbitrary operating system (DVA).

Claims (80)

1. A physical computer readable medium having computer readable code thereon, the medium comprising:

instructions for generating a capture request operable to perform screen captures in parallel further including:

instructions for identifying a set of servers each having an independent operating system and responsive to a central server for launching a browser responsive to a Uniform Resource Locator (URL) request;

instructions for receiving, from a user, a request indicative of a URL and the operating system to employ;

instructions for fulfilling, by the browser, the URL request by loading a set of elements in a web page denoted by the URL, each launched browser defining a URL Browser combination;

instructions for remotely interacting with a plurality of operating systems responsive to the capture request for fulfilling the capture request on a completed web page, wherein fulfilling the capture request includes instructions for denoting a specific network identifier corresponding to the server having the requested one of the plurality of operating systems, and wherein performing the screen capture further includes:

instructions for scanning a queue of received web page requests;

instructions for identifying web page requests marked as complete further comprising:

instructions for matching the web page with the queue of web page requests to determine if the web page is marked as complete, wherein determining when the web page is complete further comprises instructions for identifying the set of elements in the web page;

instructions for defining a web page tree corresponding to the set of elements;

instructions for receiving an element in the set of elements;

instructions for marking a corresponding node in the web page tree that the element has been received; and

instructions for determining if all elements defined in the web page tree have been received;

instructions for, upon determining web page completion, taking the screen capture; and

instructions for terminating the browser session by generating a browser kill instruction from the central server, the kill instruction generated in response to an indication of web page completion from the server that launched the browser.

2. The computer readable medium of claim 1 further comprising instructions for receiving a request from a user;

instructions for generating a capture order from the request;

instructions for parsing the capture order; instructions for sending the capture order to individual processing units, the capture orders generated in parallel; and

instructions for delivering results to the user.

3. The computer readable medium of claim 2 further comprising instructions for choosing the individual processing units based on an ability of the individual processing units to perform, the ability based on corresponding operating systems.

4. The computer readable medium of claim 1 wherein the computer readable code thereon is Internet based.

5. The computer readable medium of claim 1 wherein the computer readable code thereon is network based.

6. The computer readable medium of claim 1 wherein the computer readable code thereon is written in Java.

7. The computer readable medium of claim 1 further comprising instructions for selecting a processing means from a server farm, establishing a RFB connection for remote control.

8. The computer readable medium of claim 7 further comprising instructions for initiating billing for the RFB connection.

9. The computer readable medium of claim 8 further comprising instructions for releasing the processing means to the server farm when it is done processing.

10. A physical computer readable medium having computer readable code thereon, the medium comprising:

instructions for generating a capture request operable to perform screen captures in parallel, further including:

instructions for identifying a set of servers each having an independent operating system and responsive to a central server for launching a browser responsive to a Uniform Resource Locator (URL) request;

instructions for receiving, from a user, a request indicative of a URL and the operating system to employ;

instructions for fulfilling, by the browser, the URL request by loading a set of elements in a web page denoted by the URL, each launched browser defining a URL Browser combination;

the instructions for generating the screen captures further including:

instructions for scanning a queue of received web page requests;

instructions for identifying a machine for fulfilling the capture request by denoting a specific network identifier corresponding to the server having the requested operating system;

instructions for identifying web page requests marked as complete;

instructions for matching the web page with the queue of web page requests to determine if the web page is marked as complete, wherein the instructions for determining when the web page is complete further comprises:

instructions for identifying a set of elements in the web page;

instructions for defining a web page tree corresponding to the set of elements;

instructions for receiving an element in the set of elements;

instructions for marking a corresponding node in the web page tree that the element has been received; and

instructions for determining if all elements defined in the web page tree have been received;

instructions for; upon determining web page completion, taking the screen capture; and

instructions for terminating the browser session by generating a browser kill instruction from the central server, the kill instruction generated in response to an indication of web page completion from the server that launched the browser.

11. The computer readable medium of claim 10 further comprising instructions for receiving a request from a user;

instructions for generating a capture order from the request;

instructions for parsing the order;

instructions for sending the order to individual processing units;

instructions for generating the capture orders in parallel; and

instructions for delivering results to the user.

12. The computer readable medium of claim 11 further comprising instructions for choosing the individual processing units based on an ability of the individual processing units to perform.

13. The computer readable medium of claim 10 wherein the computer readable code thereon is Internet based.

14. The computer readable medium of claim 10 wherein the computer readable code thereon is network based.

15. The computer readable medium of claim 10 wherein the computer readable code thereon is written in Java.

16. A method for simultaneously analyzing a plurality of web page requests receivable by target systems comprising:

identifying a set of servers each having an independent operating system and responsive to a central server for launching a browser responsive to a Uniform Resource Locator (URL) request;

receiving a plurality of requests from each of a plurality of users, each of the requests indicative of a URL denoted web page for which analysis is sought and an operating system to which the web page is responsive;

for each of the plurality of requests:

identifying a target machine having the corresponding operating system;

launching a browser responsive to the operating system and the request;

reporting a connection medium through which the launched browser is accessible;

fulfilling, by the browser, the URL request by loading a set of elements in a web page denoted by the URL, each launched browser defining a URL Browser combination;

executing, via the reported connection medium, the target web page; and

identifying when the target web page is delivered, identifying delivery completion further comprising:

building a tree of elements defining the web page;

identifying each element as a terminal object or expandable object, the expandable objects capable of loading other elements;

marking each element as fetched or unfetched, fetched indicative of complete rendering of an element; and

recursively traversing the tree to confirm each element is marked as fetched;

generating analysis results by initiating a plurality of parallel screen captures for each of the executing web pages upon determining web page delivery completion; and

terminating the browser session by generating a browser kill instruction from the central server, the kill instruction generated in response to an indication of web page completion from the server that launched the browser.

17. The method of claim 16 wherein the connection medium is a socket providing an interprocess communication medium (IPC) for initiating user access to the target web page.

18. The method of claim 17 wherein executing the target web page further comprises writing a script indicative of the launched browser and the target web page and invoking the web page via the script.

19. The method of claim 18 wherein the terminal objects are binary objects for rendering and the expandable objects are HTML objects, the HTML objects expandable into other HTML objects and binary objects.

20. The method of claim 16 wherein identifying when the target web page is delivered comprises:

determining that the target web page is delivered;

generating a notification associated with a delivery of the target web page;

transmitting the notification identifying that the target web page is delivered; and

utilizing the notification of delivery of the target web page to invoke at least one of the plurality of parallel screen captures for each of the executing web pages, the notification utilized to minimize idle time, and to prevent the plurality of parallel screen captures from occurring prior to the delivery of the target web page associated with each of the respective screen captures.

21. The method of claim 16 further comprising, for each URL-browser combination:

generating a script file for launching the browser on the server, the script file specific to the operating system on the server; and

launching the browser and ancillary components remotely on the server from the central server, wherein terminating the browser terminates the ancillary components.

Assignments (10)
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 Aug 5, 2015
From: COMPUWARE CORPORATION
To: DYNATRACE LLC
Reel/Frame 036282/0325 →
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 →