Time and work tracker
First Claim
1. A computer-implemented automatically-operated user-activity monitoring system for automatically collecting and analyzing information about time and continuous work performed on a computer without manually starting and stopping a clock or having a user specify that work is being performed prior to the user beginning the work, comprising:
- automatic data collector means for monitoring certain portions of a user'"'"'s computer activity;
automatic data collector means for logging into a log file certain portions of a user'"'"'s computer activity;
data analyzer means for determining, by means of rules defining work previously defined by a user, which portions of a user'"'"'scomputer activity constitutes work;
wherein the log file includes a series of events including file activity and one or more external user input activities;
wherein the data analyzer means include means for reading the series of chronologically ordered events from the log file and for categorizing activities as belonging to a certain predetermined task;
wherein for each task a respective timer is provided by the data analyzer means for accumulating actual time worked on a task for time intervals greater than an idle time limit interval;
wherein a respective timer is started by the data analyzer means when an activity for a task is detected and wherein the timer stops after expiration of a preset idle time limit interval;
wherein the timer is restarted when another subsequent activity for a task is detected; and
such that when an idle time limit interval is determined to have elapsed in the log file between activities belonging to a work task, means are provided for totaling the time for the task as a work period.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for automatically collecting and for analyzing information about time and work performed on a computer includes the following elements: data collector means for monitoring certain portions of a user'"'"'s computer activity; data collector means for logging into a log file those certain portions of a user'"'"'s computer activity; data analyzer means for determining, by means of user-defined rules, which portions of those certain portions of a user'"'"'s computer activity constitutes continuous work activities and how this work should be categorized by project and task with project; and external interface means for building the rules defining work. The data collector means for monitoring certain portions of a user'"'"'s computer activity includes a resident module, such as a TSR (terminate-and-stay-resident) module, which extends the file system of the computer so that detailed records are kept of file activities. The data collector means for monitoring certain portions of a user'"'"'s computer activity includes means for routing information about file activity to the data collection means and includes means for tabulating and writing such information to a user'"'"'s disk periodically. The data collector means for monitoring certain portions of a user'"'"'s computer activity includes means for routing information about keyboard activity to the data collection means and includes means for periodically tabulating and writing such information to a user'"'"'s disk.
270 Citations
42 Claims
-
1. A computer-implemented automatically-operated user-activity monitoring system for automatically collecting and analyzing information about time and continuous work performed on a computer without manually starting and stopping a clock or having a user specify that work is being performed prior to the user beginning the work, comprising:
-
automatic data collector means for monitoring certain portions of a user'"'"'s computer activity; automatic data collector means for logging into a log file certain portions of a user'"'"'s computer activity; data analyzer means for determining, by means of rules defining work previously defined by a user, which portions of a user'"'"'scomputer activity constitutes work; wherein the log file includes a series of events including file activity and one or more external user input activities; wherein the data analyzer means include means for reading the series of chronologically ordered events from the log file and for categorizing activities as belonging to a certain predetermined task; wherein for each task a respective timer is provided by the data analyzer means for accumulating actual time worked on a task for time intervals greater than an idle time limit interval; wherein a respective timer is started by the data analyzer means when an activity for a task is detected and wherein the timer stops after expiration of a preset idle time limit interval; wherein the timer is restarted when another subsequent activity for a task is detected; and such that when an idle time limit interval is determined to have elapsed in the log file between activities belonging to a work task, means are provided for totaling the time for the task as a work period. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
7. The system of claim i wherein the data analyzer means includes means for copying the log file and for creating a new empty log file for further data collection.
-
20. An event analyzer module which reads a computer activity log file over a date range for a plurality of tasks, comprising:
-
wherein each task includes one or more computer activities; wherein for each task there are associated four times, including;
a) total time, which is all time cumulated for a task since a last system reset, b) current time, which is all time since the current start of the task, c) active time, which is the real-time time of a last event for the task, and d) idle time limit, which is a predetermined interval of time;an analyzer loop, including; means for loading all of the total times for all tasks from an activity log file; means for zeroing all of the current times for each of the tasks; means for determining to which task an activity belongs; means for determining if an event is not to be analyzed and for then providing means for checking active times; means for determining if an event is to be analyzed and then providing means for setting current time equal to the differences between a current activity time and a previous activity time; means for setting active time of a task equal to the current event time; means for checking the active times for all other tasks to determine if any are idle; wherein the means for checking the active times is a loop including; means for determining if the active time interval between this activity time and a previous activity time for this task is greater than the idle time limit and, if so, for then determining that the task is idle; means for setting current time an event equal to a previous time for an event plus the idle time limit so that the total time for a task is an accumulation of such current times for a task; means for accumulating total time for each task into current time; and means for writing time information to a file. - View Dependent Claims (21, 22)
-
-
23. A computer-implemented method for automatically collecting and analyzing information about time and work performed on a computer without the manual starting and stopping of a clock or specifying that work is being performed prior to beginning work, comprising the steps of:
-
automatically logging into a log file certain portions of a user'"'"'s computer activity; determining, by means of rules previously defined by a user, which portions of a user'"'"'s computer activity constitutes a measurable work task; when a certain user-defined and task-specific time period has elapsed between certain activities in the log file for a given task, accumulating the time as a work period for the given task; wherein the step of determining which portions of a user'"'"'scomputer activity constitutes a measurable work task includes the steps of; loading current times for each of a number of events from a cumulative time file; for each event in the event file; (a) getting the event from the log file; (b) determining the owner of the task to which the event belongs; (c) if an event is to be included in a task, then accumulating job time; (d) if an event is not to be included in a task, then checking time duration of the active time for the event; (e) checking the active time for the event; wherein the step of checking the active time for an event includes for each task; (a) calculating the difference between a current activity and a previous activity for a task; (b) if the difference is greater than an idle time limit interval, accumulating task time; and
(c) accumulating total time for each task; andwriting time data for each task to a file. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A computer-implemented method for automatically collecting information about time and work performed on a computer without the manual starting and stopping of a clock or specifying that work is being performed prior to beginning the work, comprising the steps of:
-
automatically monitoring certain portions of a user'"'"'s computer activity; automatically logging into a log file those certain portions of a user'"'"'scomputer activity; determining, by means of rules previously defined by a user, which portions of those certain portions of a user'"'"'scomputer activity constitutes work and how this work is categorized by sets and subsets within a set; wherein, when a certain user-defined and task-specific time period has elapsed between certain activities in the log file, the time for the certain activities is cumulated as a work period; wherein the step of determining includes reading the contents of the activity log file over a particular range of days for a plurality of tasks, comprising; wherein for each task there are associated four times, including;
a. total time, which is time total cumulated for a task since a last system reset, b. current time, which is time total since start of the task, c. active time, which is the real-time time of a last event for the task, and d. idle time limit, which is a predetermined interval of time;analyzing the contents of the activity log file, including the steps of; for each activity, determining to which task the activity belongs; if this event is not to be included in a task to be measured, then identifying this event as a system event and begin checking active times; if this event is to be included in a task to be measured, then updating current time for a task and setting the active time equal to the event time; checking active time for each task as follows; if the difference between the time of this activity and the time of a previous activity is greater that the idle time limit interval, then identifying the task as an idle task; if the difference between the time of this activity and the time of a previous activity is less that the idle time limit interval, then setting the current time equal to the time of the previous activity plus the idle time limit; accumulating the current time into the total time; and if any totals are updated, then writing such totals to a file for a corresponding task.
-
Specification