A system and methods are provided to learn and infer the time until a user
will be available for communications, collaboration, or information
access, given evidence about such observations as time of day, calendar,
location, presence, and activity. The methods can be harnessed to
coordinate communications between parties via particular modalities of
interaction. The system includes a user state identifier that determines
a user's state from background knowledge, the flow of time, or one or
more context information sources. A data log can be employed to store
information about user state changes and observational evidence to
accumulate statistics and build inferential models of the availability
and unavailability of users for different kinds of communication,
collaboration, and information access. A forecaster is constructed from
the accumulated statistics and/or learned models to enable a
determination of a user's likely return, or, more generally, the
probability distribution over a user's likely return to particular states
of availability. The forecaster can be employed to cache information for
offline access, drive displays of availability and unavailability, to
send messages that include availability forecasts, and to automatically
perform scheduling or rescheduling of communications.