IP Library Granted Patent US 8,849,985
Granted Patent B1
US 8,849,985 · App. 12/326,087 · Granted Sep 30, 2014

On-the-fly instrumentation of Web applications, Web-pages or Web-sites

Inventors: Paul Colton (Hillsborough, CA); Uri Sarid (Menlo Park, CA); Kevin Edward Lindsey (Benbrook, TX)
Assignee: Appcelerator, Inc.
G06F9/45529G06F11/3644
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,849,985
App. No.
12/326,087
Granted
Sep 30, 2014
Kind
B1
Abstract

A system and method for on-the-fly instrumentation of a rich Web-site is disclosed herein. On a server-side, a plurality of objects of an HTML page are modified by adding additional instrumentation code and attributes to create a modified HTML page, which is served to a client-side.

Claims (40)

1. A method for on-the-fly instrumentation of a Web site, the method comprising:

receiving a request for a Web-page at a server-computer on a server-side of a network from a user-computer on a client-side of the network;

retrieving an HTML document for the Web-page at the server-computer on the server-side of the network;

transferring the HTML document for the Web-page to a script server on the server-side of the network on-the-fly prior to transmission to the user-computer on the client-side of the network;

parsing the HTML document for the Web-page at the script server on the server-side of the network;

building a Document Object Model of the Web-page at the script server on the server-side of the network;

identifying at least one original JavaScript function of the Document Object Model of the Web-page for modification at the script server on the server-side, wherein the at least one original JavaScript function is configured to be executed by the server-computer on the server-side of the network;

modifying each one of the at least one original JavaScript function of the Document Object Model of the Web-page identified for modification by adding additional instrumentation code and attributes to create a modified JavaScript function for each respective one of the at least one original JavaScript function identified for modification and a modified Document Object Model of the Web-page comprising the modified JavaScript function at the script server on the server-side of the network, wherein the modified JavaScript function enables the user-computer on the client-side of the network to request execution of the respective original JavaScript function by the server-computer on the server-side of the network;

and

transmitting an HTML document for the Web-page with the modified Document Object Model to the user-computer on the client-side of the network.

2. The method according to claim 1 further comprising reporting to the server-computer on the server-side based on the additional instrumentation code and attributes.

3. The method according to claim 2 wherein the reporting comprises a usage of page control.

4. The method according to claim 2 wherein the reporting comprises errors encountered at the user-computer on the client-side of the network by a user.

5. The method according to claim 2 wherein the reporting comprises timing and performance of the additional instrumentation code in a browser of the user-computer on the client-side of the network.

6. The method according to claim 2 wherein the reporting comprises AJAX type interactions with a plurality of server-computers on the server-side of the network.

7. The method of claim 1 comprising the step of serializing the modified Document Object Model of the Web-page at the script server on the server-side of the network into the HTML document for the Web-page with the modified Document Object Model.

8. The method of claim 1 comprising the step of transmitting the HTML document for the Web-page with the modified Document Object Model to a Web-server on the server-side of the network.

9. The method of claim 1 comprising the step of caching the at least one original JavaScript function at a Web-server on the server-side of the network.

10. The method of claim 1 , wherein the modified JavaScript function adds a data element to the modified Document Object Model when executed by the user-computer.

11. The method of claim 1 , wherein the step of modifying each one of the at least one original JavaScript function of the Document Object Model of the Web-page identified for modification by adding additional instrumentation code and attributes to create a modified JavaScript function for each respective one of the at least one original JavaScript function identified for modification comprises replacing the at least one original JavaScript function with the modified JavaScript function, wherein the modified JavaScript function comprises a proxy for the at least one original JavaScript function.

12. The method of claim 1 , wherein the server-computer comprises the script server.

13. A method for on-the-fly instrumentation of a Web site, the method comprising:

receiving a request for a Web-page at a server-computer on a server-side of a network from a user-computer on a client-side of the network;

retrieving an HTML document for the Web-page at the server-computer on the server-side of the network;

transferring the HTML document for the Web-page to a script server on the server-side of the network on-the-fly prior to transmission to the user-computer on the client-side of the network;

parsing the HTML document for the Web-page at the script server on the server-side of the network;

building a Document Object Model of the Web-page at the script server on the server-side of the network;

identifying at least one original JavaScript function of the Document Object Model of the Web-page for modification at the script server on the server-side, wherein the at least one original JavaScript function is configured to be executed by the server-computer on the server-side of the network;

modifying each one of the at least one original JavaScript function of the Document Object Model of the Web-page identified for modification by adding additional instrumentation code and attributes to create a modified JavaScript function for each respective one of the at least one original JavaScript function identified for modification and a modified Document Object Model of the Web-page comprising the modified JavaScript function at the script server on the server-side of the network, wherein the modified JavaScript function enables the user-computer on the client-side of the network to request execution of the respective original JavaScript function by the server-computer on the server-side of the network;

transmitting an HTML document for the Web-page with the modified Document Object Model to a Web-server on the server-side of the network;

caching the modified JavaScript function at the Web-server; and

transmitting the HTML document for the Web-page with the modified Document Object Model to the user-computer on the client-side of the network.

14. The method according to claim 13 further comprising reporting to the server-computer on the server-side based on the additional instrumentation code and attributes.

15. The method according to claim 14 wherein the reporting comprises a usage of page control.

16. The method according to claim 14 wherein the reporting comprises errors encountered at the user-computer on the client-side of the network by a user.

17. The method according to claim 14 wherein the reporting comprises timing and performance of the instrumentation code in a browser of the user-computer on the client-side of the network.

18. The method according to claim 14 wherein the reporting comprises AJAX type interactions with a plurality of server-computers on the server-side of the network.

19. The method of claim 13 comprising the step of serializing the modified Document Object Model of the Web-page at the script server on the server-side of the network into the HTML document for the Web-page with the modified Document Object Model.

20. The method of claim 13 wherein the server-computer comprises the Web-server.

21. The method of claim 13 wherein the step of caching the modified JavaScript function at the Web-server allows the server-computer to interact with the modified JavaScript function on the server-side of the network.

Assignments (5)
SECURITY INTEREST Recorded Aug 27, 2015
From: APPCELERATOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 036442/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2012
From: COLTON, PAUL; SARID, URI; LINDSEY, KEVIN EDWARD
To: APPCELERATOR, INC.
Reel/Frame 028491/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2011
From: LINDSEY, KEVIN EDWARD
To: APPCELERATOR, INC.
Reel/Frame 026552/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2011
From: APTANA, INC.
To: APPCELERATOR, INC.
Reel/Frame 026552/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2011
From: COLTON, PAUL; SARID, URI
To: APTANA INCORPORATED
Reel/Frame 026339/0385 →
Continuity (1)
Provisional Application 60991768 · Dec 3, 2007