Patent ID: 8108513
Filing Date: 2012-01-31
Classification: G06F

Abstract:
1. One or more computer-readable storage media, the one or more computer-readable storage media not being a signal, the one or more computer-readable storage media comprising computer-executable instructions for modifying an application program to provide for 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, the parsing comprising generating an intermediate representation of the intercepted remotely executed portion of the application program and identifying the instrumentation points with reference to the generated intermediate representation; modifying the remotely executed portion of the application program to provide for instrumentation computer-executable instructions associated with at least one of the identified instrumentation points in accordance with one or more instrumentation policies, the inserted instrumentation computer-executable instructions comprising logging computer-executable instructions for recording information in a log and transmitting the logged information to a log collector, the modifying being adjusted according to information received by the log collector from previous instrumentation computer-executable instructions that were provided for by previously modified remotely executed portions of the application program, and the modifying comprising deleting one or more computer-executable instructions from the received remotely executed portion of the application program; and delivering the remotely executed portion of the application program without modification if the client is not a predetermined client subject to receiving modified remotely executed portions of the application program.