Patent ID: 8140964

Claim:
A non-transitory computer-readable medium containing a program which, when executed by a processor, performs operations comprising: receiving, from a user, a request for an annotation for one or more portions of a data object; prior to receiving the request for the annotation: creating the requested annotation; calculating a previous change detection value; and creating an annotation record containing at least an index to the one or more portions, the previous change detection value, and the requested annotation; calculating a current change detection value for data extracted from the one or more portions in response to receiving the request; comparing the current change detection value to the previous change detection value calculated for data extracted from the one or more portions prior to receiving the request; and upon determining that the current change detection value and the previous change detection value do not match, indicating to the user that the requested annotation is invalid due to a change in the one or more portions of the data object by generating a message that provides the user with the option of overwriting the previous change detection value with the current change detection value.