A method for assisting multi-tasking computer users includes receiving from a user a specification of a task being performed by the user or an indication of completion of a task, collecting state changes in multiple executing programs, predicting a current task being performed by the user based on a...http://www.google.sh/patents/US7565340?utm_source=gb-gplus-sharePatent US7565340 - Methods for assisting computer users performing multiple tasks