A mechanism for information retrieval in fully decentralized, distributed,
peer-to-peer network systems. Peer profiles are aggregated and collected
in real-time by each peer. Each peer uses and integrates knowledge that
it collects during query-reply cycles for each future query received,
thereby learning over time and making information retrieval a more
intelligent and rapid process. Each peer then autonomously decides which
of its peers are most likely to have an answer to a given query. A
routine is provided for monitoring the messages and profiling each peer,
building a local peer profile for each node exchanging messages in the
peer-to-peer network based on messages passing through the node.