Patent ID: 7596633

Claim:
A method, executed by a processor, of island recovery in a peer system in a peer-to-peer relay network, comprising: tracking all connections among peer systems in the peer-to-peer relay network; detecting a total number of islands in the peer-to-peer relay network by sequentially detecting and marking every peer system in the peer-to-peer relay network, wherein the detecting step detects whether an unmarked peer system has a peer-to-peer connection with any of existing islands, and when the unmarked peer system has no peer-to-peer connection with any of the existing islands, the peer system is marked with an identifier indicating a new island and is treated as a starting peer of the new island, and wherein each island includes at least one peer system; and joining two detected islands by connecting a peer system in a first island to a peer system in a second island through a peer-to-peer connection, wherein the peer system in a first island sends to the peer system in a second island a force connection message that, if the peer system in the second island does not have an available peer-to-peer connection, causes the peer system in the second island to select an existing peer-to-peer connection and close the selected existing peer-to-peer connection, the peer system in the first island and the peer system in the second island being randomly selected, and wherein peer systems in the first island are not connected with peer systems in the second island through a peer-to-peer connection before joining the first island and the second island.