US2008147853A1PendingUtilityA1

Remote monitoring of computer programs

51
Assignee: ANDERSON MARK DPriority: Jun 2, 1995Filed: Nov 20, 2007Published: Jun 19, 2008
Est. expiryJun 2, 2015(expired)· nominal 20-yr term from priority
G06F 11/0715G06F 11/3466G06F 11/362G06F 11/3495G06F 11/366G06F 11/2294G06F 2201/865
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods for remotely monitoring the execution of computer programs are provided. Monitoring instructions are added the computer program so that during execution of the program, data may be collected regarding the program execution. The collected data may be automatically sent to a remote system or site for analysis. The monitoring instructions create little or no performance impact on the client yet provide valuable information to the developer of the program. Additionally, the monitoring instructions may be changes during computer program development.

Claims

exact text as granted — not AI-modified
1 - 39 . (canceled) 
     
     
         40 . A method of remotely monitoring execution of a computer program, the method comprising:
 compiling a computer program to include at least one monitoring instruction, the at least one monitoring instruction directing collection of data regarding execution of the computer program;   transmitting the computer program to a remote computer system; and   receiving the data collected at the remote computer system, the data regarding execution of the computer program at the remote computer system.   
     
     
         41 . The method of  claim 40 , further comprising storing the collected data to a computer-readable medium, the computer-readable medium being one of a CD-ROM, floppy drive, tape, flash memory, system memory, and hard drive. 
     
     
         42 . The method of  claim 40 , wherein the monitoring instruction directs the remote computer system to collect the data regarding execution of the computer program. 
     
     
         43 . The method of  claim 40 , wherein the monitoring instruction directs the remote computer system to transmit the data to a server. 
     
     
         44 . The method of  claim 43 , wherein the monitoring instruction directs the remote computer system to transmit the data automatically upon completion of execution of the program. 
     
     
         45 . The method of  claim 43 , wherein the remote computer system executes the program implementing a first computing platform, and the server collects the data implementing a second platform, the first and second platforms being distinct. 
     
     
         46 . The method of  claim 40 , further comprising classifying execution of the program as normal or abnormal. 
     
     
         47 . The method of  claim 40 , further comprising analyzing the data. 
     
     
         48 . The method of  claim 40 , further comprising providing the collected data to an application programming interface. 
     
     
         49 . The method of  claim 48 , wherein the application programming interface is platform independent. 
     
     
         50 . The method of  claim 40 , further comprising installing the monitoring instruction into source code of the computer program. 
     
     
         51 . The method of  claim 50 , wherein installing the monitoring instruction includes installing a plurality of calls into the source code, the calls controlling data collection during execution of the computer program. 
     
     
         52 . The method of  claim 40 , further comprising generating and storing a module map, the module map indicating functions in each module in the computer program. 
     
     
         53 . The method of  claim 52 , wherein the monitoring instruction directs the remote computer system to generate a module name and relative virtual address list. 
     
     
         54 . The method of  claim 53 , wherein receiving the collected data includes collecting the module name and relative virtual address list from the remote computer system. 
     
     
         55 . The method of  claim 54 , further comprising generating a symbolic call stack from the module map and module name and relative virtual address list. 
     
     
         56 . The method of  claim 55 , further comprising debugging the computer program using the symbolic call stack. 
     
     
         57 . A computer-readable medium storing computer readable code that, when executed by a computer system, cause the system to:
 install a monitoring instruction into source code of a computer program;   compile the computer program based on the source code, the computer program incorporating the monitoring instruction;   transmit the computer program to a remote computer system; and   collect data from the remote computer system, the data regarding execution of the computer program at the remote computer system.   
     
     
         58 . A distributed computing system comprising:
 a server computer configured to install a monitoring instruction into a computer program, the monitoring instruction instructing a computer to collect data regarding execution of the computer program; and   a client computer configured to execute the computer program and transmit the data to the server computer.   
     
     
         59 . An apparatus for remotely monitoring execution of a computer program, the apparatus comprising:
 means for compiling a computer program to include at least one monitoring instruction, the at least one monitoring instruction directing collection of data regarding execution of the computer program;   means for transmitting the computer program to a remote computer system; and   means for receiving the data collected at the remote computer system, the data regarding execution of the computer program at the remote computer system.   
     
     
         60 . An apparatus for remotely monitoring execution of a computer program, the apparatus comprising:
 a processor for compiling a computer program to include at least one monitoring instruction, the at least one monitoring instruction directing collection of data regarding execution of the computer program;   a network interface for transmitting the computer program to a remote computer system; and   a storage device for storing the data collected at the remote computer system, the data regarding execution of the computer program at the remote computer system.   
     
     
         61 . The apparatus of  claim 60 , wherein the storage device is a computer-readable medium, the computer-readable medium being one of a CD-ROM, floppy drive, tape, flash memory, system memory, and hard drive. 
     
     
         62 . The apparatus of  claim 60 , wherein the monitoring instruction directs the remote computer system to collect the data regarding execution of the computer program. 
     
     
         63 . The apparatus of  claim 60 , wherein the monitoring instruction directs the remote computer system to transmit the data to a server. 
     
     
         64 . The apparatus of  claim 63 , wherein the monitoring instruction directs the remote computer system to transmit the data automatically upon completion of execution of the program. 
     
     
         65 . The apparatus of  claim 63 , wherein the remote computer system executes the program implementing a first computing platform, and the server collects the data implementing a second platform, the first and second platforms being distinct. 
     
     
         66 . The apparatus of  claim 60 , wherein the processor classifies execution of the program as normal or abnormal. 
     
     
         67 . The apparatus of  claim 60 , wherein the processor analyzes the data. 
     
     
         68 . The apparatus of  claim 60 , wherein the processor operates an application programming interface. 
     
     
         69 . The apparatus of  claim 68 , wherein the application programming interface is platform independent. 
     
     
         70 . The apparatus of  claim 60 , wherein the processor installs the monitoring instruction into source code of the computer program. 
     
     
         71 . The apparatus of  claim 70 , wherein the monitoring instruction includes a plurality of calls into the source code, the calls controlling data collection during execution of the computer program. 
     
     
         72 . The apparatus of  claim 60 , wherein the processor generates and stores a module map, the module map indicating functions in each module in the computer program. 
     
     
         73 . The apparatus of  claim 72 , wherein the monitoring instruction directs the remote computer system to generate a module name and relative virtual address list. 
     
     
         74 . The apparatus of  claim 73 , wherein the collected data includes the module name and relative virtual address list from the remote computer system. 
     
     
         75 . The apparatus of  claim 74 , wherein the processor generates a symbolic call stack from the module map and module name and relative virtual address list. 
     
     
         76 . The apparatus of  claim 75 , wherein the processor enables debugging of the computer program using the symbolic call stack.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.