A notification engine manages subscriptions of applications to data events
in a file-sharing environment. A subscription includes a data event
recovery time stamp indicating the time when a first change to subscribed
data objects occurred of which an application was not aware. When the
data event occurs on a computer, the engine finds applications subscribed
to that data event and sets the time stamp in the subscriptions for
non-local applications to the current time if the data event recovery
time stamp is clear. An application that was not notified of the data
event that occurred on another computer learns about the data event when
it is called back. The application uses a data event recovery time stamp
indicated in the callback to issue a query for a current version of
subscribed data objects to which data events occurred at or after the
time indicated in the time stamp.