Embodiments of a distributed instant messaging system that uses a
distributed index in peer-to-peer networks. A distributed index may be
used to implement an instant messaging system in a group of participating
peers. The distributed index may be used, for example, to route messages
between participating peers, in identifying and authenticating peers
wishing to participate, in notifying peers of newly joined peers, and in
notifying joining peers of participating peers. In one embodiment, zones
of the distributed index may be moved to joining peers. In one
embodiment, zones of the distributed index stored on departing peers may
be moved to participating peers. One embodiment may be implemented in
peer-to-peer networks implemented according to a peer-to-peer platform
including one or more peer-to-peer platform protocols for enabling peer
nodes to discover each other, communicate with each other, and cooperate
with each other to form peer groups and share network resources.