Peer-to-peer (P2P) mobility system, and method
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-015/173
출원번호
UP-0828400
(2004-04-20)
등록번호
US-7536467
(2009-07-01)
발명자
/ 주소
Guo, Chuanxiong
Wu, Haitao
Tan, Kun
Zhang, Qian
Zhu, Wenwu
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Lee & Hayes, PLLC
인용정보
피인용 횟수 :
6인용 특허 :
13
초록▼
An end host in a peer-to-peer system stores identifiers for both its peers and the neighbors of its peers. When the IP address of the end host and one of the peers changes, the end host's new IP address can be sent to each neighbor of the peer so that communication between the end host and the peer
An end host in a peer-to-peer system stores identifiers for both its peers and the neighbors of its peers. When the IP address of the end host and one of the peers changes, the end host's new IP address can be sent to each neighbor of the peer so that communication between the end host and the peer will not be lost. The order in which the neighbors of the peer are stored can be prioritized for faster delivery of the end host's changed IP address to the peer. The prioritizing can be by available bandwidth of the neighbors, proximity of the neighbors, trust between the peer and its neighbors, the probability that the IP address of the neighbors will change, etc. Proximity of the peers from each other and the end host can be a function of the identifier, which can be generated from a public key.
대표청구항▼
What is claimed is: 1. 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 max
What is claimed is: 1. 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. 2. The end host as defined in claim 1, wherein the proximally closest identifier of the intermediate said peer is found in a portion of the memory selected from the group consisting of: one said entry in one said array; and the MRTC. 3. The end host as defined in claim 1, Wherein a message be is delivered to a destination said peer from the end host by transmission via a number of said peers, wherein the number of said peers being no more than O(/Ogk N) on average over time; k is a factor by which t-he spans of each said successively lower level is successively smaller; and N is a number of said identifiers in an identifier naming space for the MRTC. 4. The end host as defined in claim 1, wherein the interaction of the end host as a peer in peer-to-peer fashion in the peer-to-peer system comprises forming a message for delivery to a destination said peer via one or more neighbor peers of said destination said peer. 5. The end host as defined in claim 1, wherein the interaction of the end host as a peer in peer-to-peer fashion in the peer-to-peer system comprises addressing a message for transmission to each said NPOP of the peer to which the end host is unable to communicate for further transmission to the peer to which the end host is unable to communicate. 6. The end host as defined in claim 5, wherein the message includes a new IP address of the end host when the IP address of the end host has-changed changes. 7. The end host as defined in claim 1, wherein the interaction of the end host as a peer in peer-to-peer fashion in the peer-to-peer system comprises registering one said identifier for the end host with each of the respective peers of the end host in the peer-to-peer system. 8. The end host as defined in claim 1, wherein the interaction of the end host as a peer in peer-to-peer fashion in the peer-to-peer system comprises: establishing a communication connection between the end host and one said peer of the end host; losing the established communication connection for a predetermined time threshold; receiving a message from the one said peer of the end host wherein the message includes a new IP address of the one said peer; and resuming, using the new IP address, the communication connection between the end host and one said peer of the end host. 9. The end host as defined in claim 8, wherein the message is received via one said NPOP. 10. The end host as defined in claim 1, wherein relative proximity between the peers in the peer-to-peer system is a function of the proximity of the respective identifiers of the peers. 11. The end host as defined in claim 1, wherein: each said identifier of each said peer is a numerical expression; and relative proximity between the peers in the peer-to-peer system corresponds to numerical proximity of the respective identifiers of the peers. 12. The end host as defined in claim 1, wherein each said identifier of each said peer comprises: an IP address of the peer; and an ID generated from a public key of the peer, wherein relative proximity between the peer and other said peers in the peer-to-peer system is a function of the proximity of the respective identifiers of the peers. 13. The end host as defined in claim 1, wherein the entries in each said array are ordered according to a priority of the NPOP selected from the group consisting of: available bandwidth of the NPOP; proximity of the NPOP to the corresponding said peer of the end host; degree of trust between the NPOP and the corresponding said peer of the end host; probability that the IP address of the NPOP will change; and a combination of the foregoing. 14. The end host as defined in claim 1, wherein the transport layer on the IP layer is a TCP UDP layer. 15. The end host as defined in claim 1, wherein each said peer in the peer-to-peer system is selected from the group consisting of: a cellular telephone; a computing device having a wired connection to the peer to peer system; and a computing device having a wireless connection to the peer to peer system. 16. The end host as defined in claim 1, wherein the interaction of the end host as a peer in peer-to-peer fashion in the peer-to-peer system comprises: receiving updates to the identifier for the NPOP for each entry in each array; and sending an updated IP address for the end host to each peer of the end host. 17. A peer to peer system comprising first and second means for interacting as respective peers in a peer-to-peer fashion in a peer-to-peer system, wherein each said first and second means respectively comprises: a processing means for interacting in the peer-to-peer system; one or more close peers in the peer-to-peer system, wherein each said close peer includes one or more neighbor peers (NP); means for storing one identifier in memory for each of the one or more close peers, wherein the means for storing one identifier for each of the one or more close peers comprises a multilevel routing table cache (MRTC), wherein each level in the MRTC includes a maximum number of entries, wherein each level in the MRTC represents a segment of a number space corresponding to an identifier of the respective first and second means, wherein the top level of the MRTC spans the entire number space, wherein each successively lower level includes successively smaller spans, wherein each said span in a level below the top level is a smaller segment than the entire number space, wherein each said span is clustered around one said identifier of a corresponding said close peer, and wherein the relative proximity between the close peers corresponds to the respective identifiers; means for storing an array for each said close peer, 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 said NP; and includes an identifier for the NP; includes an identifier for the NP, wherein each said identifier for the NPOP comprises: an IP address of the respective said NP; a port number of the respective said NP; and an ID generated from a public key of the respective said NP, wherein relative proximity between the NPs is a function of the proximity of the respective identifiers of the peers; wherein the first means is a close peer to the second means when the IP address of the first means changes and there is a break in an ongoing communication between the first and second means for longer than a predetermined time threshold, each of the first and second means further comprises: means for addressing a message for transmission to each NP of each close peer of the other of the first and second means for delivery of the message thereto via each NP, wherein the message includes the changed IP address thereof; and means for: receiving the message via the NP; extracting the changed IP address of the other of the first and second means from the message; and resuming the ongoing communication using the changed IP address of the other of the first and second means. wherein the communication between the first and second means 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. 18. The peer-to-peer system as defined in claim 17, wherein, when the IP address of either of the first and second means changes, said either of the first and second means respectively further comprises: means for addressing a message for transmission to each said NP when communication can not be made, after a predetermined threshold, to the corresponding said close peer, wherein the message includes the changed IP address; and means for: receiving the message; extracting the changed IP address from the message; and communicating with the corresponding said close peer using the changed IP address. 19. The peer-to-peer system as defined in claim 17, wherein each of the first and second means further comprises: means for registering an identifier thereof with each of the close peers; and means for receiving an identifier for each of the NP of each of the close peers. 20. The peer-to-peer system as defined in claim 17, wherein for the first means, when a message is sent to a peer in the peer to peer system having an identifier not found in the MRTC of the first means, the first means further comprises: means for forming a message for a destination said peer for which the identifier thereof is not found in the memory, wherein the message includes the identifier of the destination said peer; and means for addressing the message to an intermediate said peer for which the identifier thereof is in the memory of the intermediate said peer, and is the proximally closest to the identifier of the destination said peer. 21. The peer-to-peer system as defined in claim 17, wherein the proximally closest said identifier of the intermediate said peer is found in a portion of the memory selected from the group consist of: one said entry in one said array; and the MRTC. 22. The peer-to-peer system as defined in claim 17, wherein: the message is delivered to the destination said peer from the first means by transmission via a number of said peers, wherein the number of said peers being no more than o(Iogk N) in average; k is a factor by which the spans of each said successively lower level is successively smaller; and N is a number of identifiers in an identifier naming space for the MRTC. 23. The peer-to-peer system as defined in claim 17, wherein each said peer is selected from the group consisting of: a cellular telephone; a computing device having a wired connection to the peer to peer system; and a computing device having a wireless connection to the peer to peer system.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (13)
Bayer, Rudolf, Database system and method of organizing an n-dimensional data set.
Hanson, Aaron D.; Sturniolo, Emil A.; Menn, Anatoly; Olson, Erik D.; Savarese, Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
Hanson, Aaron D.; Sturniolo, Emil A.; Menn, Anatoly; Olson, Erik D.; Savarese, Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
Hanson,Aaron D.; Sturniolo,Emil A.; Menn,Anatoly; Olson,Erik D.; Savarese,Joseph T., Method and apparatus for providing mobile and other intermittent connectivity in a computing environment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.