Patent JPS60109138A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5949415A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for tracking program usage in a computer system

Assignee: Intel Corp
•
Filing: 1997-06-16
•
Granted: 1999-09-07
•
Expires: 2017-06-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Chihuan Michael Lin
  • 👤 Lani Jean Tan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3476

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 136 words
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.
Claim 2
Independent Claim 136 words
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.
Claim 3
Dependent Claim 27 words
The method of claim 1, wherein the client computer includes a local data store, said step of tracking information comprising recording information in the local data store.
Claim 4
Dependent Claim 49 words
The method of claim 2, wherein the client computer is coupled to a server computer including a remote data store, said method further comprising the step of transmitting a portion of the information recorded in the local data store to the server computer to update the remote data store.
Claim 5
Dependent Claim 158 words
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.
Claim 6
Dependent Claim 158 words
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.
Claim 7
Dependent Claim 42 words
The instruction set of claim 4, wherein the client computer is coupled to a server computer, said instruction set further comprising instructions for transmitting a portion of the compiled information to the server computer with a unique identifier for the client computer.
Claim 8
Dependent Claim 82 words
The instruction set of claim 4, wherein the client computer includes a local data store, said instruction set further comprising instructions for storing a record containing the compiled information in the local data store, said instructions for detecting a task initiated by the launched application program including instructions for: identifying a task being executed by the operating system; and designating the identified task as a newly-initiated task when the local data store does not contain a record associated with the identified task.
Claim 9
Dependent Claim 32 words
The instruction set of claim 6, further comprising instructions for designating the identified task as a task being terminated when the local data store contains a record associated with the identified task.
Claim 10
Dependent Claim 39 words
The instruction set of claim 4, wherein the operating system maintains a system task list identifying active tasks and substasks, said detecting steps comprising interrogating the system task list and extracting an identifier for an active task or subtask.
Claim 11
Dependent Claim 40 words
The instruction set of claim 4, wherein the operating system generates a callback message when a task or a subtask is initiated, said detecting steps comprising receiving the callback message and extracting an identifier for an initiated task or subtask.
Claim 12
Dependent Claim 16 words
The instruction set of claim 4, wherein the storage medium comprises a portable magnetic storage device.
Claim 13
Dependent Claim 21 words
The instruction set of claim 4, wherein the storage medium comprises a downloadable data set residing on a remotely-accessible central computer.
Claim 14
Dependent Claim 17 words
The instruction set of claim 4, wherein the storage medium comprises a hard-disk of the client computer.
Claim 15
Dependent Claim 131 words
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.
Claim 16
Dependent Claim 131 words
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.
Claim 17
Dependent Claim 39 words
The apparatus of claim 13, further comprising a data store for maintaining the information relating to execution of tasks, said data store being configured to distinctly maintain information relating to execution of tasks by a plurality of application programs.
Claim 18
Dependent Claim 54 words
The apparatus of claim 14, wherein the operating system maintains a system task list including a unique task identifier for each currently-active task, said task detection means comprising instructions for reading a unique task identifier for a currently-active task from the system task list and identifying an application program which spawned the currently-active task.
Claim 19
Dependent Claim 73 words
The apparatus of claim 15, wherein the operating system is configured to generate a callback message containing a task identifier when the operating system starts or ends execution of a task, said task detection means comprising instructions for searching said local data store for a corresponding entry including the task identifier, said task detection means determining that the task is being started when no corresponding entry is found in said local data store.
Claim 20
Dependent Claim 126 words
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.
Claim 21
Dependent Claim 126 words
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.
Claim 22
Dependent Claim 39 words
The client computer of claim 17, wherein said operating system supports concurrent execution of multiple instances of an application program, said program monitor being further configured to concurrently compile information relating to execution of all of said multiple instances.
Claim 23
Dependent Claim 159 words
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.
Claim 24
Dependent Claim 159 words
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.
Claim 25
Dependent Claim 22 words
The client-server computer system of claim 19, wherein said client computer communicates with said server computer over a hybrid fiber coax network.
Claim 26
Dependent Claim 32 words
The client-server computer system of claim 20, wherein said graphical user interface enables a user of said client computer to initiate execution of an application program providing access to an on-line service.

References Cited (Backward Citations)

US5537550A Cited
US5592540A Cited
US5528507A Cited
US5694549A Cited
US5553239A Cited
US5644718A Cited
US5586121A Cited
US5655008A Cited
US5710887A Cited
US5712979A Cited
US5717860A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-06 2003-03-08 2003-09-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-06 2007-03-08 2007-09-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-06 2011-03-08 2011-09-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag