Patent ID: 8239452

Claim:
A computer-implemented method for publishing and discovering presence information on a network, comprising: while a local user is on the network, a presence service periodically publishing a contact of the local user representing that the local user is on the network; wherein the published contact of the local user includes a lifetime property that indicates a predetermined period of time of how long the published contact of the local user is valid for indicating the local user is currently on the network and a display name and a unique identifier of the local user; wherein the lifetime property is provided in case the presence service terminates before an ending message is published in response to the local user disabling the presence service; wherein expiration of the lifetime property notified other users that the local user's presence on the network has timed out; wherein periodically publishing the contact of the local user comprises publishing the contact of the local user with a new display name when the display name for the local user changes while keeping the unique identifier for the local user; monitoring for presence of a nearby contact representing a nearby user on the network while the local user is on the network; wherein monitoring for the presence of a contact representing a nearby user includes determining whether a user is within a proximity to the local user, and considering the user as a nearby user when the user is within the proximity; retrieving an alive message from the nearby contact that includes information about the nearby contact; determining whether the nearby contact is associated with an entry within a personal contacts folder of the local user; when the nearby contact is not associated with an entry within the personal contacts folder of the local user: instantiating a person object associated with the nearby contact; populating the person object with the information retrieved from the alive message; associating the person object with a contact entry in a people near me (PNM) folder; when the nearby contact is associated with an entry within the personal contacts folder of the local user: creating a relationship between an entry in the personal contacts folder of the local user and the nearby contact by associating the contact entry in the personal contacts folder with a contact entry in the PNM folder such that when the entry is opened within the personal contacts folder the current presence information of the entry is displayed; and producing an output notifying the local user of the presence of all of the nearby users currently on the network.