Claims
- 1. A method of creating expressway for overlay routing, comprising
organizing an existing peer-to-peer network into a plurality of zones; organizing said plurality of zones into a plurality of levels; identifying neighboring zones for each zone of said plurality of zones; identifying one or more representatives for each neighboring zone; and creating a routing table based on said plurality of zones, said neighboring zones, said one or more representatives, and said plurality of levels.
- 2. The method according to claim 1, wherein said organizing of said existing peer-to-peer network into a plurality of zones further comprises:
defining an entire space of said existing peer-to-peer network as a zone at an initial level, said zone being included in said plurality of zones.
- 3. The method according to claim 1, wherein said organizing of said existing peer-to-peer network into a plurality of zones further comprises:
defining a zone candidate to join said plurality of zones at a selected level; and comparing said zone candidate with a base zone of said existing peer-to-peer network.
- 4. The method according to claim 3, further comprising:
recording said zone candidate as a zone at said selected level.
- 5. The method according to claim 4, further comprising:
identifying said respective neighboring zones for said zone candidate in response to said zone being larger than said base zone.
- 6. The method according to claim 5, further comprising:
selecting one or more representatives for each said respective neighboring zones based on closest distance; and recording said one or more representatives, said respective neighboring zones in said routing table.
- 7. The method according to claim 6, further comprising:
subdividing said zone into a plurality of subzones; and selecting said subzone based on said subzone encompassing a base zone.
- 8. The method according to claim 7, further comprising:
setting said subzone as said zone candidate.
- 9. A system for creating an overlay network, said system comprising:
a peer-to-peer network; and a routing table associated with each peer of said peer-to-peer network, wherein said routing table of a selected peer comprises:
a plurality of zones, wherein each zone is of differing size and each zone encompasses a base zone of said selected peer in said peer-to-peer network; a plurality of neighbor zones, each neighbor zone being associated with a respective zone of said plurality of zones; one or more representative peers for each neighbor zone; and a plurality of spans; each span being associated with a selected zone and respective neighbor zones.
- 10. The system according to claim 9, further comprising a routing module, wherein said routing module to build said routing table.
- 11. The system according to claim 10, wherein said routing module is configured to initialize a span indicator and a zone candidate to an entire space of said peer-to-peer network.
- 12. The system according to claim 11, wherein said routing module is configured to compare said zone candidate to a base zone in said peer-to-peer network of said selected peer.
- 13. The system according to claim 12, wherein said routing module is configured to cease building said routing table in response to said zone candidate being smaller or equal to said base zone of said selected peer.
- 14. The system according to claim 12, wherein said routing module is configured to determine neighbor zones of said zone candidate, said neighbor zones are a subplurality of said plurality of neighbor zones in response to said zone candidate being larger than said base zone of said selected peer.
- 15. The system according to claim 14, wherein said routing module is configured to determine one or more representatives for said neighbor zones of similar span and to record said zone candidate as a zone at a span indicated by said span indicator, neighbor zones of said zone candidate, and said one or more zone representative peers for said neighbor zones of said zone candidate.
- 16. The system according to claim 15, wherein said routing module is configured to increment said span indicator and subdivide said zone candidate into a plurality of subzones.
- 17. The system according to claim 16, wherein said routing module is configured to select a subzone that encompasses said base zone of said selected peer from said plurality of subzones and to set said zone candidate to said subzone.
- 18. A method of creating a routing table for an overlay network in an existing peer-to-peer (P2P) network for a selected peer, comprising:
initializing a level indicator; setting a zone variable to an entire space of said existing P2P network; comparing said zone variable with a base zone in said existing P2P network of said selected peer; and recording said zone variable as a zone for a level indicated by said level indicator in response to said zone variable being larger than said base zone.
- 19. The method according to claim 18, further comprising:
identifying neighboring zones to said zone at said level indicated by said level indicator.
- 20. The method according to claim 19, further comprising:
determining one or more representatives for each neighboring zones.
- 21. The method according to claim 20, further comprising:
maintaining said one or more representatives in a soft state associated with said selected peer.
- 22. The method according to claim 20, further comprising:
determining said one or more representatives based on a closest distance to said selected peer.
- 23. The method according to claim 22, further comprising:
recording neighboring zones and said one or more representatives.
- 24. The method according to claim 23, further comprising:
incrementing said level indicator; and subdividing said zone into a plurality of subzones.
- 25. The method according to claim 24, further comprising:
selecting a subzone based on said subzone encompassing said base zone of said selected peer.
- 26. A computer readable storage medium on which is embedded one or more computer programs, said one or more computer programs implementing a method of creating an overlay network for expressway routing, said one or more computer programs comprising a set of instructions for:
initializing a level indicator; setting a zone variable to an entire space of said existing P2P network; comparing said zone variable with a base zone in said existing P2P network of said selected peer; and recording said zone variable as a zone for a level indicated by said level indicator in response to said zone variable being larger than said base zone.
- 27. The computer readable storage medium in according to claim 26, said set of instructions further comprises:
identifying neighboring zones to said zone at said level indicated by said level indicator.
- 28. The computer readable storage medium in according to claim 27, said set of instructions further comprises:
determining one or more representatives for each neighboring zones.
- 29. The computer readable storage medium in according to claim 28, said set of instructions further comprises:
determining said one or more representatives based on a closest distance to said selected peer.
- 30. The computer readable storage medium in according to claim 29, said set of instructions further comprises:
recording neighboring zones and said one or more representatives.
- 31. The computer readable storage medium in according to claim 30, said set of instructions further comprises:
incrementing said level indicator; and subdividing said zone into a plurality of subzones.
- 32. The computer readable storage medium in according to claim 31, said set of instructions further comprises:
selecting a subzone based on said subzone encompassing said base zone of said selected peer.
- 33. An apparatus for creating expressway for overlay routing, comprising
means for organizing an existing peer-to-peer network into a plurality of zones; means for organizing said plurality of zones into a plurality of levels; means for identifying neighboring zones for each zone of said plurality of zones; means for identifying one or more representatives for each neighboring zone; and means for creating a routing table based said plurality of zones, said neighboring zones, one or more representatives, and said plurality of levels.
- 34. The apparatus according to claim 34, wherein said means for organizing of said existing peer-to-peer network into a plurality of zones further comprises:
means for defining an entire space of said existing peer-to-peer network as a zone at an initial level, said zone being included in said plurality of zones.
- 35. The apparatus according to claim 33, wherein said means for organizing of said existing peer-to-peer network into a plurality of zones further comprises:
means for defining a zone candidate to join said plurality of zones at a selected level; and means for comparing said zone candidate with a base zone of said existing peer-to-peer network.
- 36. The apparatus according to claim 35, further comprising:
means for recording said zone candidate as a zone at said selected level.
- 37. The apparatus according to claim 36, further comprising:
means for identifying said respective neighboring zones for said zone candidate in response to said zone being larger than said base zone.
- 38. The apparatus according to claim 37, further comprising:
means for selecting one or more representatives for each said respective neighboring zones based on closest distance; and means for recording said one or more representatives, said respective neighboring zones in said routing table.
- 39. The apparatus according to claim 38, further comprising:
means for subdividing said zone into a plurality of subzones; and means for selecting said subzone based on said subzone encompassing said base zone.
- 40. The apparatus according to claim 39, further comprising:
means for setting said subzone as said zone candidate.
CROSS-REFERENCE
[0001] The present invention is related to pending U.S. application Ser. No.______, (Attorney Docket No. 100202082-1) filed on Aug. 29, 2002, and entitled “EXPRESSWAY ROUTING AMONG PEERS”, by Xu et al., which is assigned to the assignee and is incorporated by reference herein in its entirety.