Remote monitoring of local behavior of network applications
First Claim
1. One or more computer-readable memory, the one or more computer-readable memory comprising computer-executable instructions for debugging an application program by providing remote monitoring of a remotely executed portion of the application program, the computer-executable instructions directed to steps comprising:
- intercepting, from a server associated with a network hosted portion of the application program, the remotely executed portion of the application program that was directed to a client that will execute the remotely executed portion of the application program, wherein each combination of the network hosted portion of the application program and the remotely executed portion of the application program comprise a distributed replicated copy of the application program, and wherein further the network hosted portion of the application program can interact with multiple remotely executed portions of the application program to form multiple distributed replicated copies of the application program;
parsing the intercepted remotely executed portion of the application program to identify instrumentation points therein;
selecting only a subset of the identified instrumentation points, the selected subset of the identified instrumentation points differing from a previously selected subset of identified instrumentation points in a previously intercepted remotely executed portion of the application program, the previously intercepted remotely executed portion of the application program being another copy of the intercepted remotely executed portion of the application program; and
modifying the remotely executed portion of the application program to insert, at the selected subset of the identified instrumentation points, debugging computer-executable instructions.
2 Assignments
0 Petitions
Accused Products
Abstract
Computer-executable instructions comprising some or all of a program can be delivered to a client for execution on a real-time basis such that the client receives anew the computer-executable instructions for each new execution of the program. Such an environment enables instrumentation instructions to be inserted into the computer-executable instructions after a request and prior to the delivery of the computer-executable instructions. The inserted instrumentation instructions can be spread across multiple deliveries of the same computer-executable instructions, and they can be modified to account for information received from previously inserted instrumentation instructions. The instrumentation instructions can be inserted as part of the server process, the client process, or as part of a proxy server that can be used at the discretion of the program developer.
-
Citations
20 Claims
-
1. One or more computer-readable memory, the one or more computer-readable memory comprising computer-executable instructions for debugging an application program by providing remote monitoring of a remotely executed portion of the application program, the computer-executable instructions directed to steps comprising:
-
intercepting, from a server associated with a network hosted portion of the application program, the remotely executed portion of the application program that was directed to a client that will execute the remotely executed portion of the application program, wherein each combination of the network hosted portion of the application program and the remotely executed portion of the application program comprise a distributed replicated copy of the application program, and wherein further the network hosted portion of the application program can interact with multiple remotely executed portions of the application program to form multiple distributed replicated copies of the application program; parsing the intercepted remotely executed portion of the application program to identify instrumentation points therein; selecting only a subset of the identified instrumentation points, the selected subset of the identified instrumentation points differing from a previously selected subset of identified instrumentation points in a previously intercepted remotely executed portion of the application program, the previously intercepted remotely executed portion of the application program being another copy of the intercepted remotely executed portion of the application program; and modifying the remotely executed portion of the application program to insert, at the selected subset of the identified instrumentation points, debugging computer-executable instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for debugging an application program by providing remote monitoring of a remotely executed portion of the application program comprising the steps of:
-
intercepting, from a server associated with a network hosted portion of the application program, the remotely executed portion of the application program that was directed to a client that will execute the remotely executed portion of the application program, wherein each combination of the network hosted portion of the application program and the remotely executed portion of the application program comprise a distributed replicated copy of the application program, and wherein further the network hosted portion of the application program can interact with multiple remotely executed portions of the application program to form multiple distributed replicated copies of the application program; parsing the intercepted remotely executed portion of the application program to identify instrumentation points therein; selecting only a subset of the identified instrumentation points, the selected subset of the identified instrumentation points differing from a a previously selected subset of identified instrumentation points in a previously intercepted remotely executed portion of the application program, the previously intercepted remotely executed portion of the application program being another copy of the intercepted remotely executed portion of the application program; and modifying the remotely executed portion of the application program to insert, at the selected subset of the identified instrumentation points, debugging computer-executable instructions. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for debugging an application program by providing remote monitoring of a remotely executed portion of the application program, the system comprising:
-
one or more server computing devices comprising a network hosted portion of the application program such that each combination of the network hosted portion of the application program and a remotely executed portion of the application program comprise a distributed replicated copy of the application program, and wherein further the network hosted portion of the application program can interact with multiple remotely executed portions of the application program to form multiple distributed replicated copies of the application program; one or more log collectors for receiving information from inserted debugging computer-executable instructions; and one or more computer-readable media comprising computer-executable instructions for real-time modification of delivered application programs, the computer-executable instructions directed to steps comprising;
parsing a received remotely executed portion of the application program to identify instrumentation points therein;selecting only a subset of the identified instrumentation points, the selected subset of the identified instrumentation points differing from a previously selected subset of identified instrumentation points in a previously intercepted remotely executed portion of the application program; and modifying the remotely executed portion of the application program to insert, at the selected subset of the identified instrumentation points, debugging computer-executable instructions. - View Dependent Claims (18, 19, 20)
-
Specification