Patent ID: 8218502

Claim:
A method of maintaining a network connection with a roaming wireless client, the method comprising: detecting a neighboring wireless network access point in a first network subnet different than a current network subnet; receiving tunneling information from the neighboring wireless network access point, wherein the tunneling information is adapted to establish a tunnel network connection between a first network device in the first network subnet and a second network device in the current network subnet; receiving predictive roaming information adapted to identify the wireless clients connected with the neighboring wireless access point in the first subnet; storing the predictive roaming information; connecting with a first wireless client; receiving identifying information from the first wireless client; comparing the identifying information of the first wireless client with the stored predictive roaming information; in response to the determination that the identifying information matches at least a portion of the stored predictive roaming information, establishing a first network connection, including a tunnel network connection, from the first wireless client to the first network device in the first network subnet via the second network device in the current network subnet, wherein all network traffic associated with the first wireless client passes through the tunnel network connection, wherein the tunnel network connection enables the first wireless client to retain a network address associated with the current network subnet while connected with the first network subnet; in response to the determination that the identifying information does not match at least a portion of the stored predictive roaming information, sending a query message adapted to identify a home network subnet associated with the first wireless client; receiving a response to the query message including additional tunneling information adapted to establish a network connection between a third network device in the home network subnet and the second network device in the current network subnet; establishing a second network connection from the first wireless client to the third network device in the home network subnet via the second network device in the current network subnet, wherein all network traffic associated with the first wireless client passes through the third network device in the home network subnet via the second network connection.