Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

Methods and apparatus for merging peer-to-peer overlay networks. A method includes receiving an advertisement from a second overlay network, determining a size of the second overlay network, performing a self search on the second overlay network based on a persistent node identifier, if the size of the second overlay network is greater than the size of a first overlay network, and joining the second overlay network if the persistent node identifier is not part of the second overlay network. An apparatus includes a transceiver to receive an advertisement from a second overlay network, and a processor coupled to the transceiver to determine a size of the second overlay network, perform a self search on the second overlay network based on a persistent node identifier, and join the second overlay network if the persistent node identifier is not part of the second overlay network.

Claims

1. A method for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the method comprising:

receiving an advertisement from a selected node in the second overlay network;

determining a size of the second overlay network;

performing a self search on the second overlay network based on a persistent node identifier associated with the first node, if the size of the second overlay network is greater than a size of the first overlay network; and

joining the second overlay network if the self search determines that the persistent node identifier is not part of the second overlay network.

2. The method of claim 1, further comprising obtaining the persistent node identifier from a trusted source.

3. The method of claim 1, wherein said joining comprises transmitting a leave message to nodes on the first overlay network, wherein the leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

4. The method of claim 1, wherein said joining comprises joining the second overlay based on a probability criteria, if the size of the second overlay network is approximately equal to the size of the first overlay network.

5. The method of claim 1, further comprising measuring a backoff time interval prior to said operation of performing to prevent oscillatory merging behavior.

6. The method of claim 1, wherein said determining comprises obtaining the size of the second overlay network from the advertisement.

7. The method of claim 1, wherein said performing comprises attempting to access the persistent node identifier on the second overlay network.

8. The method of claim 1, wherein the first node is a portable device.

9. An apparatus for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the apparatus comprising:

a transceiver configured to receive an advertisement from a selected node in the second overlay network; and

a processor coupled to the transceiver and configured to:
determine a size of the second overlay network;
perform a self search on the second overlay network based on a persistent node identifier associated with the first node, if the size of the second overlay network is greater than a size of the first overlay network; and
join the second overlay network if the self search determines that the persistent node identifier is not part of the second overlay network.

10. The apparatus of claim 9, wherein said processor is configured to obtain the persistent node identifier from a trusted source.

11. The apparatus of claim 9, wherein said processor is configured to transmit a leave message to nodes on the first overlay network, wherein the leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

12. The apparatus of claim 9, wherein said processor is configured to join the second overlay based on a probability criteria, if the size of the second overlay network is approximately equal to the size of the first overlay network.

13. The apparatus of claim 9, further comprising a timer configured to measure a backoff time interval prior to said operation of performing to prevent oscillatory merging behavior.

14. The apparatus of claim 9, wherein said processor is configured to obtain the size of the second overlay network from the advertisement.

15. The apparatus of claim 9, wherein said processor is configured to perform the self search by attempting to access the persistent node identifier on the second overlay network.

16. The apparatus of claim 9, wherein the first node is a portable device.

17. An apparatus for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the apparatus comprising:

means for receiving an advertisement from a selected node in the second overlay network;

means for determining a size of the second overlay network;

means for performing a self search on the second overlay network based on a persistent node identifier associated with the first node, if the size of the second overlay network is greater than a size of the first overlay network; and

means for joining the second overlay network if the self search determines that the persistent node identifier is not part of the second overlay network.

18. The apparatus of claim 17, further comprising means for obtaining the persistent node identifier from a trusted source.

19. The apparatus of claim 17, wherein said means for joining comprises means for transmitting a leave message to nodes on the first overlay network, wherein the leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

20. The apparatus of claim 17, wherein said means for joining comprises means for joining the second overlay based on a probability criteria, if the size of the second overlay network is approximately equal to the size of the first overlay network.

21. The apparatus of claim 17, further comprising means for measuring a backoff time interval prior to said operation of performing to prevent oscillatory merging behavior.

22. The apparatus of claim 17, wherein said means for determining comprises means for obtaining the size of the second overlay network from the advertisement.

23. The apparatus of claim 17, wherein said means for performing comprises means for attempting to access the persistent node identifier on the second overlay network.

24. The apparatus of claim 17, wherein the first node is a portable device.

25. A computer program product for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the computer program product comprising:

a computer-readable medium embodying codes executable by a processor to:

receive an advertisement from a selected node in the second overlay network;

determine a size of the second overlay network;

perform a self search on the second overlay network based on a persistent node identifier associated with the first node, if the size of the second overlay network is greater than a size of the first overlay network; and
join the second overlay network if the self search determines that the persistent node identifier is not part of the second overlay network.

26. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to obtain the persistent node identifier from a trusted source.

27. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to transmit a leave message to nodes on the first overlay network, wherein the leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

28. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to join the second overlay based on a probability criteria, if the size of the second overlay network is approximately equal to the size of the first overlay network.

29. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to measure a backoff time interval prior to said operation of performing to prevent oscillatory merging behavior.

30. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to obtain the size of the second overlay network from the advertisement.

31. The computer-readable medium of claim 25, wherein said codes are configured to cause the processor to perform the self search by attempting to access the persistent node identifier on the second overlay network.

32. The computer-readable medium of claim 25, wherein the first node is a portable device.

33. A method for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the method comprising:

receiving a first leave message from a second node in the first overlay network;

receiving a first advertisement for a second overlay network from the second node; and

joining the second overlay network utilizing the second node.

34. The method of claim 9, further comprising determining that the second overlay network is larger than the first overlay network based on the first advertisement.

35. The method of claim 9, wherein said joining comprises transmitting a second leave message on the first overlay network, wherein the second leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

36. The method of claim 9, further comprising transmitting a second advertisement for the second overlay network from the first node.

37. The method of claim 9, wherein the first node is a portable device.

38. An apparatus for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the apparatus comprising:

a transceiver configured to receive a first leave message from a second node in the first overlay network and receive a first advertisement for a second overlay network from the second node; and

a processor coupled to the transceiver and configured to join the second overlay network utilizing the second node.

39. The apparatus of claim 38, wherein said processor is configured to determine that the second overlay network is larger than the first overlay network based on the first advertisement.

40. The apparatus of claim 38, wherein said processor is configured to transmit a second leave message on the first overlay network, wherein the second leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

41. The apparatus of claim 38, wherein said processor is configured to transmit a second advertisement for the second overlay network from the first node.

42. The apparatus of claim 38, wherein the first node is a portable device.

43. An apparatus for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the apparatus comprising:

means for receiving a first leave message from a second node in the first overlay network;

means for receiving a first advertisement for a second overlay network from the second node; and

means for joining the second overlay network utilizing the second node.

44. The apparatus of claim 43, further comprising means for determining that the second overlay network is larger than the first overlay network based on the first advertisement.

45. The apparatus of claim 43, wherein said means for joining comprises means for transmitting a second leave message on the first overlay network, wherein the second leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

46. The apparatus of claim 43, further comprising means for transmitting a second advertisement for the second overlay network from the first node.

47. The apparatus of claim 43, wherein the first node is a portable device.

48. A computer program product for merging a first node in a first peer-to-peer overlay network with a second peer-to-peer overlay network, the computer program product comprising:

a computer-readable medium embodying codes executable by a processor to:

receive a first leave message from a second node in the first overlay network;

receive a first advertisement for a second overlay network from the second node; and

join the second overlay network utilizing the second node.

49. The computer-readable medium of claim 48, wherein said codes are configured to cause the processor to determine that the second overlay network is larger than the first overlay network based on the first advertisement.

50. The computer-readable medium of claim 48, wherein said codes are configured to cause the processor to transmit a second leave message on the first overlay network, wherein the second leave message comprises a merge flag indicating a reason for leaving and an overlay name identifying an overlay for joining.

51. The computer-readable medium of claim 48, wherein said codes are configured to cause the processor to transmit a second advertisement for the second overlay network from the first node.

52. The computer-readable medium of claim 48, wherein the first node is a portable device.