Method and apparatus for tracking program usage in a computer system
First Claim
1. A method for monitoring application program usage in a client computer, the client computer having an operating system which controls execution of an application program initiating a task capable of spawning one or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program, said method comprising the steps of:
- detecting a task or subtask executing under the operating system;
identifying the application program associated with the detected task or subtask;
tracking in the client computer information relating to execution of the detected task or subtask in a manner that does not interfere with said execution; and
associating with the identified application program tracked information relating to execution of the task initiated by said application program and tracked information relating to execution of all subtasks spawned by said task.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment of the present invention provides a method for monitoring application program usage in a computer system having an operating system which controls execution of one or more application programs, with each application program consisting of an executable task and one or more executable subtasks. The method includes the steps of detecting an executable task or subtask executing under the operating system, identifying an application program associated with the executable task or subtask, and tracking information relating to execution of the task or subtask in a manner that does not interfere with their execution.
189 Citations
21 Claims
-
1. A method for monitoring application program usage in a client computer, the client computer having an operating system which controls execution of an application program initiating a task capable of spawning one or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program, said method comprising the steps of:
-
detecting a task or subtask executing under the operating system; identifying the application program associated with the detected task or subtask; tracking in the client computer information relating to execution of the detected task or subtask in a manner that does not interfere with said execution; and associating with the identified application program tracked information relating to execution of the task initiated by said application program and tracked information relating to execution of all subtasks spawned by said task. - View Dependent Claims (2, 3)
-
-
4. An instruction set residing on a storage medium for tracking program usage on a client computer, the client computer enabling a user to launch one or more application programs and including an operating system executing the launched application programs, each application program causing the operating system to execute a task and zero or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program, said instruction set comprising instructions for:
-
identifying a launched application program; detecting a task initiated by the launched application program; detecting any subtasks initiated directly or indirectly by the task; compiling information in the client computer relating to the task and subtasks in a manner that does not interfere with their execution; and associating with the launched application program compiled information relating to execution of the task initiated by the launched application program and compiled information relating to all subtasks initiated directly or indirectly by the task. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A program monitor for monitoring program usage in a client computer including an operating system configured to manage execution of an application program initiating a task capable of spawning one or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program, said program monitor being resident in the client computer and comprising:
-
means for recognizing an action by the operating system on a task or subtask; means for identifying an application program associated with the task or subtask acted upon by the operating system; and means for tracking information relating to execution of the task or subtask acted upon by the operating system and combining said information with information relating to execution of all other tasks or subtasks associated with the application program. - View Dependent Claims (14, 15, 16)
-
-
17. A client computer configured to track information relating to usage of application programs and report said information to a server computer, said client computer comprising:
-
an operating system configured to manage execution of an application program initiating a task capable of spawning one or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program; and a program monitor coupled to said operating system, said program monitor comprising a software routine configured to monitor execution of tasks and subtasks by said operating system, identify an application program associated with said monitored tasks and subtasks, compile information relating to execution of all tasks and subtasks associated with the identified application program, and transmit said compiled information to the server computer. - View Dependent Claims (18)
-
-
19. A client-server computer system for central tracking of application program usage by remote users, said client-server computer system comprising:
-
a client computer including a graphical user interface enabling a user to initiate execution of an application program, an operating system for managing execution of said application program, and a program monitor for compiling and reporting information relating to execution of said application program, said application program initiating execution of a task and zero or more subtasks, wherein the operating system views each of said task and subtasks as a distinct executable program, said program monitor being capable of associating said task and said subtasks with said application program, and said information compiled by said program monitor reflecting execution of each task and subtask associated with the application program; and a server computer coupled to said client computer, said server computer including a database for distinctly maintaining information relating to application program usage reported by a plurality of client computers. - View Dependent Claims (20, 21)
-
Specification