Patent ID: 8358638

Claim:
A method for creating and maintaining a dynamically expendable and updatable wireless network, comprising: distributing a plurality of clients to a plurality of users mobile devices; installing a server and coupling the server to the Internet; receiving at the server resource reports from the clients and using the reports to construct and update a network of Internet connectivity resources, wherein for each resource the reports comprise at least the resource geographical location, the signal strength, and connectivity quality; transmitting to the plurality of clients updates, the updates comprising location, connection profile, and connectivity quality of resources in at least the geographical vicinity of each respective mobile device; and operating each client to periodically perform neighboring resources verification wherein during the neighboring resources verification the client is operated to perform at least one of: checking whether communication traffic is flowing between the mobile device and a default resource; checking whether other resources are available at the current geographical location of the mobile device; disconnecting from current resource, select a neighboring resource, and attempt to connect to the neighboring resource, and: if connection is successful, execute Dynamic Host Configuration Protocol (DHCP) discovery and, if successful, storing neighboring resource identifier (ID), geographical location, and availability of Internet connection, then proceed to check whether counter passed a predetermined count threshold; if connection is not successful, storing neighboring resource ID, geographical location, and indication of unsuccessful connection attempt; checking whether counter passed a predetermined count threshold and, if not, go to sleep for a predetermined period; otherwise transmit report to server.