Patent ID: 7536467

Claim:
An end host comprising: a memory including: executable instructions; storage for respective identifiers for respective peers of the end host in a peer-to-peer system, wherein the storage comprises: a multilevel routing table cache (MRTC), each level in the MRTC includes a maximum number of entries, each level in the MRTC represents a segment of a number space corresponding to an identifier of the end host, the top level of the MRTC spans the entire number space, each successively lower level comprises successively smaller spans, each said span in a level below the top level is a smaller segment than the entire number space, each said span is clustered around one said identifier of a corresponding said peer, and the relative proximity between the peers corresponds to the respective identifiers, an array for each said peer of the end host, wherein: each said array includes a neighbor hint table (NHT); each said array includes one or more entries; and each said entry corresponds to one neighbor peer of one peer of the end host (NPOP); and includes an identifier for the NPOP, wherein each said identifier for the NPOP comprises: an IP address of the respective said NPOP; a port number of the respective said NPOP; and an ID generated from a public key of the respective said NPOP, wherein relative proximity between the NPOPs is a function of the proximity of the respective identifiers of the peers; a processor for executing the executable instructions which, when executed, cause the processor to interact with the end host as a peer in a peer-to-peer fashion in the peer-to-peer system, the interacting comprising: when a message is sent from the end host to a destination, said peer having an identifier not found in the MRTC, forming a message for a destination peer for which the identifier thereof is not found in the MRTC, wherein the message includes the identifier of the destination peer; and addressing the message to an intermediate said peer for which the identifier thereof is in the memory and where the intermediate said peer has an address which is proximally closest to the identifier of the destination said peer; wherein the executable instructions further comprise an architecture that includes: logic for a kernel layer wherein the logic for the kernel layer comprises: an internet protocol (IP) layer comprising an end-to- end mobility module for end communications between the end host and another end host in the peer to peer system; and a transport layer on the IP layer for communications across interconnected networks of the peer-to-peer system; and logic for an application layer on the kernel layer and wherein the logic for the application layer comprises: a name resolution module for resolving said identifier for a respective said peer in the peer-to-peer system to IP address, and storing the identifier of the respective said peers of the end host in the storage; and a notification module of the name resolution module for storing the identifier for each said NPOP in each said entry in each said array.