A method and software for determining the presence status of a client
device while decreasing the use of available bandwidth used. A software
module collects a client's presence status, optionally over one or more
time periods. The collected presence status is combined to create an
observed presence profile for a client. The observed presence profile is
compared with one or more model presence profiles to determine the model
presence profile that is the closest match to the observed presence
profile. When the closest match is determined, a status code representing
the model profile is transmitted to a requesting client device, obviating
the need to transmit a plurality of presence status updates.