Patent ID: 8437307

Claim:
A method comprising: performing, by a first client, an authentication process with an access server, wherein the authentication process results in a profile being received by the first client from the access server, and wherein the profile includes information needed to establish a peer-to-peer communication session with a second client; establishing, by the first client, a first connection with a first network, wherein the first connection is used for the peer-to-peer communication session with the second client; monitoring, by the first client, the first connection with the first network to determine whether a signal strength of the first connection falls below a threshold value; determining, by the first client, a rate at which the signal strength of the first connection is weakening; establishing, by the first client, a second connection with a second network if the signal strength of the first connection falls below the threshold value, wherein establishing the second connection includes obtaining an address and port assignment corresponding to the first client from the second network; establishing, by the first client, the second connection based on the rate at which the signal strength of the first connection is weakening if the rate at which the signal strength is weakening satisfies a delta value, wherein the second connection is established even if the signal strength of the first connection has not fallen below the threshold value; and maintaining, by the first client, the peer-to-peer communication session during the changeover from the first connection to the second connection using the obtained address and port assignment, wherein the maintaining includes: saving a current state of the first client prior to terminating the first connection; using the saved state to maintain the communication session; and refreshing the saved state with a new current state obtained from the access server after the changeover to the second connection, wherein the refreshing updates the first client with information not received by the first client during the changeover.