US20130128815A1 - Dynamically created and expanded wireless network - Google Patents

Dynamically created and expanded wireless network Download PDF

Info

Publication number
US20130128815A1
US20130128815A1 US13/736,223 US201313736223A US2013128815A1 US 20130128815 A1 US20130128815 A1 US 20130128815A1 US 201313736223 A US201313736223 A US 201313736223A US 2013128815 A1 US2013128815 A1 US 2013128815A1
Authority
US
United States
Prior art keywords
client
network
connection
resources
wireless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/736,223
Inventor
Tamir Scherzer
Shimon Scherzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WEFI Inc
Contigo Mobility Inc
Original Assignee
WEFI Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WEFI Inc filed Critical WEFI Inc
Priority to US13/736,223 priority Critical patent/US20130128815A1/en
Publication of US20130128815A1 publication Critical patent/US20130128815A1/en
Assigned to CONTIGO MOBILITY, INC. reassignment CONTIGO MOBILITY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCHERZER, SHIMON, SCHERZER, TAMIR
Assigned to WEFI INC. reassignment WEFI INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CONTIGO MOBILITY, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/22Self-organising networks, e.g. ad-hoc networks or sensor networks with access to wired networks

Definitions

  • the subject invention relates to the establishment and maintenance of wireless networks, such as wireless networks enabling access to the World Wide Web.
  • Traditional data/voice networks are built based on usage forecasting and speculations.
  • a cellular network is normally deployed to provide service over given area (city, district etc.) based on forecasted usage pattern in that area. That is, the capacity and capability of the network is designed based upon forecasting and estimated usage.
  • voice usage pattern is relatively predictable due to long-term experience in the industry
  • broadband wireless service usage is highly speculative. Consequently, traditional wireless broadband network deployment may be inefficient and expansive (already experienced in city WiFi networks). That is, without accurate knowledge of future wireless broadband usage it is difficult to effectively design the location of access points and the capacity and capability of the network.
  • Wireless operators face a great financial challenge providing acceptable voice service (as required by the spectrum allocation contracts). Financing broadband wireless service may be much more challenging due to much higher deployment density required by the short range of WiFi transmitters as compared with cellular telephony.
  • Devices that do not include adequate or convenient user interface may require automated connection capability, since user based selection process is not possible or not easily implemented.
  • the network should be updatable in real time as resources are added or removed from service. Additionally, the network controller should communicate with clients to provide updates and enable improved connectivity even during motion.
  • Various embodiments of the subject invention provide a radically different approach for data network deployment; namely, a network that grows spontaneously with usage and is updated in real time with usage.
  • Various embodiments of the subject invention provide a spontaneous network that, unlike traditional network where infrastructure is physically deployed, can be created by its users by providing and receiving information. As users are connected to various resources and use the Internet, they enable each other to gain access to the Internet.
  • the network can be created by the users as part of social network activity. In either case, the users are using automated resources discovery, verification and optionally mapping as a comprehensive wireless resources search engine. Once few locations are mapped as wireless service “hot spots,” the service area can be expanded to “free WiFi zones” as users keep discovering and mapping more resources.
  • These existing wireless Internet access resources could be mined by users to create spontaneous wireless network providing wide area high-speed data service with a-priory knowledge of availability and service quality.
  • Various embodiments of the subject invention provide automated discovery, verification and seamless connectivity to generate the spontaneous wireless network.
  • the process depends on users' participation and, therefore, the discovery, verification and seamless connectivity processes are made as seamless as possible to encourage participation.
  • the automated discovery, verification and seamless connectivity is enabled by a client that runs on the user's mobile device and reports to a central server about its activities, so as to update the network in real time.
  • connection profile i.e., accessibility
  • connection quality is stored for each access point.
  • connection profile relates to the objective data needed in order to gain access to a resource. This may include, e.g., SSID, password, gateway IP address, DNS IP, MAC address, set of strings that are used to provide for automated registration when captive portal is used, username, password, etc.
  • connection quality includes subjective variable that describe the quality of service available from the resource. This may include, e.g., data rate (or average data rate), data rate vs. signal strength (vector of few values), rate of dropped connections in given time, stability, bandwidth loading, etc.
  • connection quality may also include descriptors of the physical location where the access point is located.
  • the descriptors may include the type of establishment (restaurant, coffee shop, etc.), environment condition (e.g., seating available, noisy location, etc.), other services available (e.g., close to train station, food service available, etc.), and other descriptors.
  • connection type describes accessibility characteristics, such as, e.g., free access, encrypted WPA, encrypted WEP, captive portal (ex. Google). Etc.
  • a system for creating and maintaining a dynamically expendable and updatable wireless network comprising: a network server connected to a network, the network server comprising a processor and a database, the database storing data relating to access point resources of the wireless network, wherein the sever receives updates from clients regarding available wireless access points, and stores data included in the updates to maintain the database and to thereby dynamically expand and update the wireless network.
  • the updates from clients may include location of access point, connection profile, and connection quality available from the access point.
  • the connection quality comprises one or more of: descriptor of data rate vs. signal strength, rate of dropped connections, bandwidth loading expected data rate, reliability, stability, and location's physical characteristics.
  • the processor may calculate an access quality estimation value based at least on the time elapsed from the first discovery of the AP to the most recent connection by any user, number of users who successfully utilized the AP since its discovery, and average data rate provided by the AP to all of the users who successfully utilized the AP.
  • the server may transmit connectivity data to a respective client upon at least one of the following events: each time a registered user logs in to the Internet, when general location of the client is known, when connection is available, and when the client requests the information.
  • the connectivity data may comprise availability of connection and access quality estimation for at least one of: all AP's in a geographical location of the registered user; and, all AP's in a geographical location selected by the user.
  • the client may select access points for connection based on the connectivity data received form server.
  • the client may sort access points for connection based on the connectivity data by decreasing order of connection quality.
  • the connectivity data may be transmitted via at least one of broadband connection and cellular connection.
  • a system for creating and maintaining updatable broadband service comprising: a network server connected to a network, the network server comprising a processor and a database, the database storing data relating to access point resources of the wireless network; a plurality of clients, each installed on a respective mobile computing device of a respective user; wherein each of the clients searches for access points in the vicinity of its respective mobile device and perform quality check of at least one discovered access point and sends a report to the network server about the discovered access points, their locations, their connection profile, and the results of the quality check; and wherein the sever receives the reports from the clients and uses the updates to maintain the database to thereby dynamically expand and update the wireless network.
  • the quality check may comprise a check of at least one of: estimated potential data rate, descriptor of data rate vs. signal strength, rate of dropped connections, bandwidth loading, reliability, location's physical characteristics, and connection stability.
  • the server may transmit connectivity data to a respective client upon at least one of the following events: each time a registered user logs in to the Internet, when general location of the client is known, when connection is available, and when the client requests the information.
  • the connectivity data may comprise connection profile, connection type, and access quality estimation for at least one of: all AP's in a geographical location of the registered user; and, all AP's in a geographical location selected by the user.
  • Each client may maintain a plurality of updatable cache entries, each cache entry corresponding to an access point and comprises at least: SSID; MAC address; and location of the access point.
  • Each cache entry may further comprise at least one of quality, persistency, networking parameters, access timing, and captive portal rules of the corresponding access point and location type.
  • the access timing may comprise at least one of association response time, WPA response time, and DHCP response time; networking parameters comprise at least one of gateway, subnet, external IP, and DNS; and captive portal rules comprises indication whether login and payment are required.
  • 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.
  • the client may be operated to periodically: check for transmitted/received packets and, if packets are transmitted or received, sleep for a predetermined period; otherwise attempt DHCP a preprogrammed number of times and, if successful, sleep for a predetermined period; otherwise disconnect from the resource and clear the SSID and thereafter initiate a new connection procedure.
  • the client may be operated to periodically perform Internet availability testing.
  • the internet availability testing may be performed by connecting to an access point, sending a message to a server via the access point, and receiving a reply from the server via a second access point.
  • the message may comprise a return address pointing to the second access point.
  • the method may further comprise determining whether a received response is from a captive portal resource and reporting to the server whether the resource is captive portal or not.
  • the method may further comprise operating each client to periodically perform neighboring resources verification. During the neighboring resources verification the client may be operated to perform the steps: a. check whether communication traffic is flowing between the mobile device and a default resource and, if so, sleep for a predetermined period; otherwise b. check whether other resources are available at the current geographical location of the mobile device and, if not, sleep for a predetermined period; otherwise c.
  • step c when connection is successful, the client may send a message to a target server and terminate the connection to the neighboring resource and reconnect to the default resource.
  • a method for performing neighboring resources verification in a current geographical location of a mobile device comprising:
  • connection if connection is successful, send message to a target server, disconnect from the neighboring resource, reconnect to the current resource, and listen for a reply from the target server via the current resource.
  • the step of sending a message may comprise appending to the message a return address pointing to the current resource.
  • FIG. 1 is a general layout schematic diagram of the dynamic network according to an embodiment of the invention.
  • FIG. 2 illustrate a more detailed layout schematic of the dynamic network of FIG. 1 .
  • FIG. 3 is a flow chart illustrating a method to be executed by a client, according to an embodiment of the invention.
  • FIG. 4 is a flow chart illustrating the overall operation of connecting to an AP according to an embodiment of the invention.
  • FIG. 5 is a flow chart illustrating the operation of an access point suitability verification daemon according to an embodiment of the invention.
  • FIG. 6A is a flow chart illustrating the operation of an Internet availability verification daemon according to an embodiment of the invention, while FIG. 6B is a slightly modified example of the Internet availability verification daemon of FIG. 6A .
  • FIG. 7 is a flow chart illustrating the operation of a neighboring resources verification daemon according to an embodiment of the invention.
  • the following description of various embodiments of the subject invention illustrate a network that can be created by its users during normal use of mobile devices, so that the network is created and modified spontaneously with usage.
  • the network may be created as part of social network activity.
  • the users are using automated or semi-automated resource discovery, verification and mapping, as a comprehensive wireless resources search engine. Once few locations are mapped as wireless service “hot spots,” the service area can be expanded as users' clients keep discovering and mapping more resources.
  • These existing wireless Internet access resources could be mined by users to create spontaneous wireless network providing wide area high-speed data service.
  • the network is updated in real time as user's mobile devices are connected to the Internet.
  • the client residing on the user's device utilizes data of the network to enable easy connection and transfer from one access point to another when the user moves geographically or when a better access point is available.
  • FIG. 1 is a general schematic illustrating a system layout according to an embodiment of the invention, while FIG. 2 illustrates further details of the layout of FIG. 1 .
  • FIG. 2 relevant details of the main server 210 and client 280 A residing in terminal 220 a are shown.
  • the access points 170 a - 170 d are not shown in FIG. 2 , but it is understood that all communication with the terminals is done via at least one access point or cellular network.
  • various computing terminals e.g., laptops, PDA's, smart phones, etc., 120 a - 120 e attempt to connect to the network 100 , e.g., the Internet.
  • various access points (AP's) 170 a - 170 d provide radio communication and may or may not enable connectivity to the network 100 , and may or may not require login and/or payment of access fee.
  • the access points are installed world-wide by various individuals and/or entities desiring to provide connectivity to the Internet via radio communication.
  • terminal 120 b is able to received radio transmission from either AP 170 a or 170 b (indicated by arrows 130 ) and may select one of them to connect to the Internet.
  • Terminals 120 c and 120 d receive radio communication from AP's 170 c and 170 d, respectively.
  • Terminal 120 a is transmitting radio communication to AP 170 d, while terminal 120 e is unable to receive any radio communication.
  • Each of the terminals 120 a - 120 e runs a client implemented according to an embodiment of the subject invention.
  • the client communicates with server 100 to enable dynamic updating of the network and improved connectivity of the terminals.
  • client 280 A is installed and is run on terminal 220 a. Similar clients run in the other terminals, and are referred to collectively herein as clients 280 . Certain elements of clients 280 are depicted in exemplary client 280 A. As shown in FIG.
  • client 280 A comprises an access point suitability verification daemon or module 222 , an Internet connection verification daemon or module 224 , neighboring access points verification daemon or module 226 , and AP database 228 .
  • the functionality of these elements will be described below with respect to a method implemented according to an embodiment of the invention.
  • the terminal When any of the terminals running client 280 is connected to the Internet, the terminal sends updates in the form of connectivity reports to server 210 , as shown by arrows 221 , 223 .
  • the updates include data collected when each client attempts to connect to an access point and may be in the form of historical report of several historical attempts, as will be explained further below.
  • the terminal when the terminal connects to the Internet it also receives updates from the server 210 .
  • These updates include data about new AP's recently added to the network and AP's that were removed from the network, AP current loads, access parameters, etc.
  • the updates may be all encompassing or only relating to AP's in the geographical area(s) of interest to the user.
  • Server 210 includes database 250 , which stores historical data about radio broadband access resources. Server 210 also includes a processing module 260 , which evaluates accessibility (i.e., connection profile) and bandwidth of various AP's based on clients' reports and stores the information as an update in database 210 , as shown by arrow 231 A processor 270 controls the operations of the database 250 and evaluation module 260 , and communication with the clients 280 .
  • database 250 which stores historical data about radio broadband access resources.
  • Server 210 also includes a processing module 260 , which evaluates accessibility (i.e., connection profile) and bandwidth of various AP's based on clients' reports and stores the information as an update in database 210 , as shown by arrow 231
  • a processor 270 controls the operations of the database 250 and evaluation module 260 , and communication with the clients 280 .
  • the database 250 of server 210 may be empty, at which point no network is constructed.
  • processing evaluates the reports and determine whether they includes data on a new AP, revised data on previously stored AP, or already available data about previously stored AP.
  • the new and revised data is used to update the database 250 , to thereby construct and update a network in real time as reports are received.
  • the entity maintaining the server 210 need not deploy a network and access points beforehand; rather, as other entities deploy AP's and these AP's are discovered by clients 280 , these AP's are added to the list of resources maintained in the database 250 . Consequently, the network constructed in database 250 relates to AP's of actual usage, not of forecasted usage.
  • the server 210 continuously receives measurements from various clients 280 that are connected to access points.
  • the server 210 uses the measurements from the clients to update the database 250 so as to dynamically update the network.
  • the database 250 is enhanced and continuously updated to include up to date data on any AP's that were newly put to service, modified, or removed from service.
  • This data is sent to the clients 280 , so as to update each client's database.
  • only data relating to AP's in the client's general neighborhood is sent.
  • the user can indicate for which geographical area the user wishes to obtain updates.
  • the client can request an update of available AP's at the destination location beforehand.
  • the user may request constant updates for these indicated locations.
  • the network clients continuously collect radio resources information. These clients could be executing on laptops, handheld devices (PDA's), cellphones, or any other devices that incorporate radio facility, such as WiFi.
  • laptop based clients can conduct radio survey while the laptop is on. Handheld units can execute this function either while activated for Internet use or while idle (i.e., in the user's pocket).
  • Each active user terminal should be able to conduct radio resources' survey whenever it is in use. This is achieved by “measurement trips”: the client is directed to associate with an AP in reach (sometimes—, other than the one used for current Internet connection), and conduct data acquisition as described below.
  • these “trips” are executed while no time-sensitive traffic is performed, so as to avoid degradation of the user's experience, as described below.
  • the measurement trips can be executed while time sensitive traffic continues.
  • the term “down time” is utilized to indicate a time where the client can perform such trips. This may be a time where the system idles, a time where there is a sufficiently long break in transmission activity, etc. In this context, “down time” does not indicate that the system must be in off position.
  • the client may check one or any of: AP's accessibility, Internet reachability and estimate connection quality. This is executed from time to time by either leaving the current connection (when already connected) or trying to connect to APs in reach and performing certain actions as detailed below. This may be done during live connection (if do not interfere with an on-going session or when the device is not in session (ex. Idling Phone with WiFi).
  • FIG. 3 is a flow chart illustrating a method to be executed by a client, according to an embodiment of the invention. While the steps illustrated in FIG. 3 and described herein are in certain order, it should be appreciated that the various steps may be performed in a different order.
  • the client 220 A executes the process described below with respect to FIG. 4 .
  • the client checks whether the device is in downtime, e.g., there is a lull in communication between the device and the network. If so, at Step 350 the client measures parameters of other available AP's and at Step 360 the client reports the measurements to the server 110 .
  • the client may receive an update from server 210 , which may include data obtained from other clients and sent to the server 210 , and use that data to update its local database 228 .
  • the parameter quality of connection may take into account bandwidth loading. For example, in situations where many AP's are available and many users are present, it often happens that most users use one specific AP, e.g., the first listed AP. Consequently, one AP may experience high load, while others low load. Therefore, it may be the case that one AP may have lower radio reception strength, but be very lightly loaded so that it would be preferable to choose such an AP over one with high reception strength, but which is heavily loaded.
  • the client according to the embodiment of the invention therefore checks load in addition to other connection quality parameters.
  • individual user's clients may exploit gaps in traffic communication to execute radio measurements on radio resources (ex. WiFi access points) in their neighborhood (i.e., resources “in reach”) to evaluate their ability to provide broadband access.
  • radio resources ex. WiFi access points
  • this evaluation goes way beyond the normal RSSI/security evaluation done by typical WiFi clients. Specific example of such evaluation will be provided further below.
  • the client's measurements reports are relayed to network server, so that the historical radio resources database (i.e., slow varying data) is gradually expanded and updated at the network server.
  • Various embodiments of the subject invention provide automated discovery, verification and seamless connectivity and reporting mechanism to generate the spontaneous wireless network.
  • the process depends on users' participation so the discovery, verification and seamless connectivity processes are made as seamless as possible. Therefore, embodiments of the subject invention provide methods for expediting and maintaining connection over WiFi networks.
  • These methods utilize real-time connection verification with historical data of connection resources.
  • Real time process may be based on, for example, conventional 802.11 basic measurements (RSSI, encryption status).
  • RSSI 802.11 basic measurements
  • Historical data is produced by examining long term statistics of the persistency and average speed of data, as provided to community of users. As the amount and quality of the historical data increase, the real-time process becomes less critical.
  • the evaluation process may incorporate the following verification elements:
  • the 802.11 scan may be implemented according to conventional and well-defined protocols in the relevant art (Step 410 of FIG. 4 ).
  • the access point verification daemon continuously evaluates the connected access point suitability to provide wireless service and its quality. This daemon incorporates:
  • the client performs an active test by trying a DHCP exchange (or partial DHCP exchange) with the access point.
  • the client may generate ARP to access point's gateway.
  • a healthy access point will respond to DHCP request (or discover) or to ARP request by proper message: DHCP discovery will be responded by DHCP address and offer, while ARP request will be responded by ARP response.
  • the active test should be used very sparely since it loads the network with undesirable traffic. However, especially at first access when no other information is available, active test may be a required. Also, when roaming capability is needed, the daemon will test connection RSSI to determine whether to roam to another access point.
  • FIG. 5 is a flow chart illustrating the operation of an access point suitability verification daemon according to an embodiment of the invention.
  • the access point suitability verification daemon operates upon termination of a predetermined count, e.g., k seconds, illustrated in Step 500 .
  • k seconds e.g., k seconds
  • the daemon checks for packet transmission or reception at Step 510 . If at Step 520 transmission or reception of packets is detected, the process reverts to Step 500 where the daemon sleeps for another k seconds. On the other hand, if no packet transmission or reception has been detected in Step 520 , the process proceeds to Step 530 , wherein the daemon tries DHCP for predetermined times, e.g., L times.
  • Step 540 If at Step 540 it is determined that DHCP was successful, the process proceeds to Step 570 ; otherwise the process proceeds to Step 550 .
  • Step 550 the client disconnects from the AP and clears the SSID in the 802.11 scan list for a predetermined time period, e.g., P seconds.
  • the process then proceeds to Step 560 , wherein the client initiates conventional connection procedure (e.g., scans for AP's and connects to best or selected AP).
  • the process then reverts to Step 500 .
  • Step 570 it is determined whether the RSSI is less than a predetermined value, e.g., R. If so, the process proceeds to Step 550 ; otherwise the process reverts to Step 500 .
  • a predetermined value e.g., R.
  • the Internet access verification daemon operates as follows. WiFi resources normally support Internet access through wide area network (WAN) that is used as backhaul. The decision to either connect or stay connected to a specific access point could be based on backhaul quality (connected/not-connected, speed, etc.). For example, other users may excessively load the backhaul; causing traffic to dramatically slow down.
  • WAN wide area network
  • the Internet access verification includes:
  • the Internet access verification daemon passive test is very similar to the passive test described above and is aimed at identifying WAN originated traffic. This test is constantly performed while connected to the access point to identify loss of Internet connectivity or excessive traffic load on WAN. The client constantly measures the traffic load and reports it to the server. The server further uses this gathered information for aiding the client in evaluating the bandwidth availability at the AP and evaluates the quality of the connection.
  • the active test may be used to evaluate Internet connection quality.
  • Internet connection quality can be determined by calling upon known websites; this may be executed using, e.g.:
  • FIG. 6A is a flow chart illustrating the operation of an Internet availability verification daemon according to an embodiment of the invention.
  • This daemon also wakes periodically (Step 600 ) and performs Internet connection procedures (Step 660 ) as follows. If at Step 605 the client detects a packet transmission or reception from the WAN, it reports the connection is fine (Step 635 ) and reverts to step 600 . On the other hand, if no packet is detected, the process proceeds to Step 610 where the client transmits HTTP request to a known URL, such as YahooTM, GoogleTM, etc. At Step 615 the client checks whether a response is received from the URL. If a response is received, the process proceeds to Step 640 ; otherwise it proceeds to Step 620 .
  • a known URL such as YahooTM, GoogleTM, etc.
  • Step 620 the client increases a failure counter and at Step 625 checks whether the failure count exceeds a preset threshold, K. If the threshold is not reached, the process reverts to Step 610 ; otherwise the process proceeds to Step 630 .
  • Step 630 the client declares no connection and reverts to Step 600 .
  • Step 640 the client checks whether the connection is via a captive portal. If not, the process proceeds to Step 635 to declare Internet connection is fine, and reverts to Step 600 . If the connection is via a captive portal, at Step 645 it is checked whether a login is required. If not, the process proceeds to Step 635 ; otherwise the process proceeds to Step 650 , wherein the captive response is checked against known list to determine whether the captive provider is listed in the login list and whether it is free or requires payment. The process then proceeds to Step 635 .
  • FIG. 6B illustrate a slightly modified version the operation of an Internet availability verification daemon.
  • the process of FIG. 6B is similar to that of FIG. 6A , except that at Step 640 it is checked whether the received response was received by redirecting the requested HTTP. If it was not redirected, it means that there is no captive portal and the process proceeds to Step 635 . On the other hand, if redirecting occurred, it may mean one of two things: either the computer got logged automatically to the captive portal and was redirected to the requested URL, or the computer was redirected to a login page of the captive portal. Therefore, at Step 645 it is checked whether login is required and from there the process proceeds as in FIG. 6A .
  • the neighboring resources verification daemon operates as follows. To expedite wireless resources validation process, each client, is continuously verifying neighboring wireless resources that can be seen by the user terminal. This operation is called “measurement trip” and is executed by “neighboring resources verification daemon”. During each measurement trip the terminal must temporarily disconnect from current resource and try to connect to the neighboring resource. This trip requires that time critical traffic be active, hence special traffic detector is employed.
  • the client If the client successfully associated with the neighboring resource, the client executes DHCP discovery to validate the ability of the resource to serve as an Internet access point. Successful validation is registered and reported to the network server. To avoid excessive traffic load, several trip reports are collected and sent together. To further reduce traffic load, the trip report is generated only if a change occurred in the resource's status. The number of observation per resource can be part of the reporting.
  • FIG. 7 is a flow chart illustrating the operation of a neighboring resources verification daemon according to an embodiment of the invention.
  • the daemon wakes up intermittently (Step 700 ) and performs neighboring resources verification.
  • the daemon checks whether traffic pass via the current connection and, if so, it reverts to Step 700 . If no traffic passes, at Step 710 the client checks whether there are other resources available for connection and, if not, it reverts to Step 700 . Otherwise, the client disconnects the current connection at Step 715 and selects available resource at Step 720 .
  • the client attempts to connect to the selected resource.
  • Step 755 the client executes a DHCP discovery to verify that the resource enables connection to the Internet. If at Step 760 the request is successful, the information about the resource is stored and the process proceeds to Step 740 . On the other hand, if at Step 730 the connection attempt was not successful, the information about this resource and the failed connection attempt are stored at Step 735 , and the process proceeds to Step 740 .
  • a counter determines whether a time period exceeds a given value, K. If not, the process reverts to Step 700 . If the time period has exceeded, at Step 745 the client checks whether there was any change in the information relating to the stored resources. That is, if the information stored in Steps 735 and/or 765 relate to a newly discovered resources or relates to a resource that was already visited but that its status has been changed, then this data is reported to the network server 750 and the process reverts to Step 700 .
  • client When in a “trip,” client can send either UDP, TCP or HTTP frame to a special server (cache server) and not wait for response. Once back from trip and back at the default connection the cache server can send response back to client. If response arrives, at least uplink connection at the checked AP was verified.
  • cache server When response arrives, at least uplink connection at the checked AP was verified.
  • the advantage of this approach is saving time that would be required to wait for the response while on the checked AP. This time period could be problematic for some transport protocols that do not “like” long breaks in connection.
  • a feature of the subject invention is that when the client performs any excursion to test an AP, it may send a message to be received at the target server, but it does not need to wait for the response.
  • the client may disconnect from a current AP, connect to a different AP and send a message (e.g., a ping) to a target server and then reconnect to the original AP.
  • the target server sends the response to the original AP.
  • This can be done by, e.g., having the server send the message to the default AP or formatting the message sent by the client to include a header that indicate the return address to be the original AP. In this manner, the likelihood of interruption in service due to client excursions is reduced as the client spends less time on each excursion.
  • the client if after returning to the original AP, if the client does not receive the reply, it can request the server to send the reply again. This may occur in a situation where the server sends the reply before the client was able to reconnect to the original server, so that the client missed the reply.
  • Community generated data may also be used for access point verification. That is, a-priori information of WiFi resources can vastly increase probability of connection and selection of AP having the best connection quality and expedite connection time. For example, if specific WiFi resource is known to be very predictable, the client can favor it over other resources. The predictable resource does not require much verification and consequently allow speedy connection. Connection time is expediting by making sure the first attempt to connect (given multiple options) will be to a verified AP and consequently the likelihood for repeating trials is minimized.
  • a-priory information can be generated by the client over time
  • a-priory information can be the main goal of the community collaboration. That is, according to embodiments of the invention, users of the system are helping each other by characterizing WiFi resources to enable each other achieving high quality wireless Internet access.
  • the a-priory information may consist:
  • the locations of wireless resources can be determined automatically when GPS is part of the terminal.
  • the client may check whether other already located resources are available at that location and, if so, the location is set to be similarity to those other resources.
  • manual resource mapping can be exercised by, e.g.:
  • a client Whenever a client gets connected, it continuously evaluates its own connection WiFi access point via AP verification and Internet verification daemons, as explained above. In addition, the client conducts “measurement trips” to evaluate access points in its neighborhood. Collectively the information gathered is used to estimate AP quality. For example:
  • a client in each terminal maintains wireless resource cache.
  • the wireless resources cache incorporates the clients' own experience and data processed by the network server as mentioned above.
  • the first step in connecting to WiFi network is executed according to 802.11 standards by scanning for active networks (Step 410 of FIG. 4 ). Once a set of access points with sufficient ( ⁇ 90 dBm or higher) signal level are found, the client performs the following:
  • the wireless network may be expanded by using a social network.
  • a social network One issue observed by the inventors is that generally private owners of radio access points are averse to sharing the AP resource with people they don't know. However, if there has been certain a priory contact, owners are much more likely to share the resource. Such an a priory contact may be made in the form of a social network. This can be explained with reference to FIG. 1 .
  • access point 170 d belongs to a user who also uses access device 120 a, such as a laptop, a PDA, etc. The user generally is able to access the Internet 100 by connecting device 120 a to access point 170 d wirelessly.
  • access point 170 d operates to a certain range, which may generally allow other users to receive the signal of access point 170 d.
  • terminal 120 d may also be in the range of and be able to communicate with AP 170 d.
  • the security of access point 170 d may be set to allow no access to third parties, allow limited access to third parties, or allow all access by all third parties, by the choice of the owner.
  • the owner may register access point 170 d with server 110 , as member of the social network.
  • the owner may specify the amount of bandwidth the owner is willing to allocate to third parties who are in the vicinity of the access point 170 d and who are members of the social network of server 110 .
  • the owner may specify other parameters, such as access password, etc.
  • third parties connect to access point 170 d, their client report connection data of access point 170 d to the server 110 . In this manner, relevant and updated information regarding access point 170 d is stored in the database of server 110 .
  • the client of device 120 a queries its database to determine which member's access point is available and at what connection quality. The client then connects the device 120 a to the preferred access point. The client then sends connection information to the server 110 to update its database. In this manner, by agreeing to provide connectivity via its own access point, the user is able to obtain access to the network when the user is away from its own access point. That is, other members in the social network will allow the user to access the Internet via their own access points. Moreover, a database is built which stores relevant and updated information regarding the location and quality of all members' access points. In this way, availability of radio access point is increased and connection to access points is improved.

Abstract

A system and method for the establishment and maintenance of wireless network, such as wireless network enabling access to the World Wide Web. The network can be created by its users as part of social network activity. The users are using automated resources discovery, verification and mapping as a comprehensive wireless resources search engine. Once few locations are mapped as wireless service “hot spots,” the service area can be expanded as users keep discovering and mapping more resources. These existing wireless Internet access resources could be mined by users to create spontaneous wireless network providing wide area high-speed data service.

Description

    RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 11/853,987 filed Sep. 12, 2007, and claims any and all benefits of the prior filed applications as provided by law and the contents of each of the earlier filed applications are hereby incorporated by reference in its entirety.
  • U.S. patent application Ser. No. 11/853,987 claims priority under 35 U.S.C. §119(e) of U.S. Provisional Patent Application, Ser. No. 60/940,028 filed on May 24, 2007, the disclosure of which is incorporated herein by reference in its entirety.
  • BACKGROUND
  • 1. Field of the Invention
  • The subject invention relates to the establishment and maintenance of wireless networks, such as wireless networks enabling access to the World Wide Web.
  • 2. Related Art
  • Traditional data/voice networks are built based on usage forecasting and speculations. For example, a cellular network is normally deployed to provide service over given area (city, district etc.) based on forecasted usage pattern in that area. That is, the capacity and capability of the network is designed based upon forecasting and estimated usage. However, while voice usage pattern is relatively predictable due to long-term experience in the industry, broadband wireless service usage is highly speculative. Consequently, traditional wireless broadband network deployment may be inefficient and expansive (already experienced in city WiFi networks). That is, without accurate knowledge of future wireless broadband usage it is difficult to effectively design the location of access points and the capacity and capability of the network. Wireless operators face a great financial challenge providing acceptable voice service (as required by the spectrum allocation contracts). Financing broadband wireless service may be much more challenging due to much higher deployment density required by the short range of WiFi transmitters as compared with cellular telephony.
  • The fast proliferation of WiFi creates a new reality in wireless Internet access: free wireless Internet access is rapidly proliferating by various entities. For example, various establishments, such as coffee shops, book stores, etc., provide wireless Internet access by WiFi in order to increase customer traffic. While such establishments create access points to the Internet, currently no integration of these access points is provided. Therefore, knowledge of the location and coverage area of such access points cannot be obtained prior to actually being at a location and attempting to connect to such an access point. Consequently, in this sense all of these access points are sporadic individual resources that do not form a network. In this context, a network is considered to exist when its resources are accessible and usable; i.e., its elements are discovered and located such that users can exploit them.
  • In the current state of the art, clients are installed on wireless communication devices (e.g., Intel™ PROSet Wireless client for laptops) in order to detect and connect to wireless access points. Most current WiFi clients evaluate signal level measurements and encryption status before settling on a new WiFi resource (access point). Unfortunately these measurements are far from sufficient to guarantee seamless connectivity, for example:
      • Radio link is not symmetrical (i.e., uplink and downlink characteristics). Consequently it is hard to rely on access point signal level as received by the client in order to predict whether the access point can properly hear the client device.
      • Many WiFi access points incorporate various connection barriers such as MAC filtering (or EUI filtering or layer 2 address filtering).
      • Some WiFi access points DHCP servers are disabled, thereby preventing access to the Internet even if the client connects to the access point. The DHCP (Dynamic Host Configuration Protocol) is a set of rules used by communications devices such as a computer, router or network adapter to allow the device to request and obtain an IP address from a server which has a list of addresses available for assignment.
      • Backhaul may be either disconnected or overwhelmed by Internet traffic, thereby preventing access to the Internet or providing poor service even if the client connects to the access point.
      • Typical WiFi clients, such as Windows WZC, Intel, Dell and others present a choice of WiFi resources (access points) that can be heard by user terminal. The user then must select one of the presented resources and initiate connection. Since the client does not pre-validate the WiFi source Internet capability, the connection may fail and the user must select and try another resource. Moreover, as noted above, even if the connection succeeds, Internet connection may not be available, may be poor, or may require sign up and/or payment to a captive portal (e.g., T-Mobile™ HotSpot™, etc.). Consequently, the user may need to spend time searching and trying various resources until achieving success. Moreover, even if a successful connection achieved, there may be another resource providing better connection, but the user may not know that unless the user tries all of the available resources, which may take much time and effort.
  • Devices that do not include adequate or convenient user interface (screen, keyboard, etc.) may require automated connection capability, since user based selection process is not possible or not easily implemented.
  • As mobile communication proliferates, users expect continuous connectivity even during motion. Such connectivity requires “hopping” or roaming between access points. Internet access verification is instrumental while roaming between WiFi resources; i.e., once the client must leave the current access point and jump to a new one, it better make sure that the new access point is available and provides solid service. However, current devices and clients only check for AP encryption status and signal strength, but do not test for connectivity and access to the Internet.
  • Accordingly, a solution is needed for constructing a wireless network that provides service commensurate with usage. The network should be updatable in real time as resources are added or removed from service. Additionally, the network controller should communicate with clients to provide updates and enable improved connectivity even during motion.
  • SUMMARY
  • The following summary of the invention is provided in order to provide a basic understanding of some aspects and features of the invention. This summary is not an extensive overview of the invention and as such it is not intended to particularly identify key or critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented below.
  • Various embodiments of the subject invention provide a radically different approach for data network deployment; namely, a network that grows spontaneously with usage and is updated in real time with usage.
  • Various embodiments of the subject invention provide a spontaneous network that, unlike traditional network where infrastructure is physically deployed, can be created by its users by providing and receiving information. As users are connected to various resources and use the Internet, they enable each other to gain access to the Internet. In various embodiments the network can be created by the users as part of social network activity. In either case, the users are using automated resources discovery, verification and optionally mapping as a comprehensive wireless resources search engine. Once few locations are mapped as wireless service “hot spots,” the service area can be expanded to “free WiFi zones” as users keep discovering and mapping more resources. These existing wireless Internet access resources could be mined by users to create spontaneous wireless network providing wide area high-speed data service with a-priory knowledge of availability and service quality.
  • Various embodiments of the subject invention provide automated discovery, verification and seamless connectivity to generate the spontaneous wireless network. The process depends on users' participation and, therefore, the discovery, verification and seamless connectivity processes are made as seamless as possible to encourage participation. In various embodiments the automated discovery, verification and seamless connectivity is enabled by a client that runs on the user's mobile device and reports to a central server about its activities, so as to update the network in real time.
  • According to various embodiments of the invention, connection profile (i.e., accessibility) and connection quality is stored for each access point. In the context of this description, connection profile relates to the objective data needed in order to gain access to a resource. This may include, e.g., SSID, password, gateway IP address, DNS IP, MAC address, set of strings that are used to provide for automated registration when captive portal is used, username, password, etc. On the other hand, connection quality includes subjective variable that describe the quality of service available from the resource. This may include, e.g., data rate (or average data rate), data rate vs. signal strength (vector of few values), rate of dropped connections in given time, stability, bandwidth loading, etc. According to a feature of the invention, connection quality may also include descriptors of the physical location where the access point is located. For example, the descriptors may include the type of establishment (restaurant, coffee shop, etc.), environment condition (e.g., seating available, noisy location, etc.), other services available (e.g., close to train station, food service available, etc.), and other descriptors. Also, in the context of this description connection type describes accessibility characteristics, such as, e.g., free access, encrypted WPA, encrypted WEP, captive portal (ex. Google). Etc.
  • According to aspects of the invention, a system for creating and maintaining a dynamically expendable and updatable wireless network is provided, comprising: a network server connected to a network, the network server comprising a processor and a database, the database storing data relating to access point resources of the wireless network, wherein the sever receives updates from clients regarding available wireless access points, and stores data included in the updates to maintain the database and to thereby dynamically expand and update the wireless network. The updates from clients may include location of access point, connection profile, and connection quality available from the access point. The connection quality comprises one or more of: descriptor of data rate vs. signal strength, rate of dropped connections, bandwidth loading expected data rate, reliability, stability, and location's physical characteristics. For each AP, the processor may calculate an access quality estimation value based at least on the time elapsed from the first discovery of the AP to the most recent connection by any user, number of users who successfully utilized the AP since its discovery, and average data rate provided by the AP to all of the users who successfully utilized the AP. The server may transmit connectivity data to a respective client upon at least one of the following events: each time a registered user logs in to the Internet, when general location of the client is known, when connection is available, and when the client requests the information. The connectivity data may comprise availability of connection and access quality estimation for at least one of: all AP's in a geographical location of the registered user; and, all AP's in a geographical location selected by the user. The client may select access points for connection based on the connectivity data received form server. The client may sort access points for connection based on the connectivity data by decreasing order of connection quality. The connectivity data may be transmitted via at least one of broadband connection and cellular connection.
  • According to further aspects of the invention, a system for creating and maintaining updatable broadband service is provided, comprising: a network server connected to a network, the network server comprising a processor and a database, the database storing data relating to access point resources of the wireless network; a plurality of clients, each installed on a respective mobile computing device of a respective user; wherein each of the clients searches for access points in the vicinity of its respective mobile device and perform quality check of at least one discovered access point and sends a report to the network server about the discovered access points, their locations, their connection profile, and the results of the quality check; and wherein the sever receives the reports from the clients and uses the updates to maintain the database to thereby dynamically expand and update the wireless network. The quality check may comprise a check of at least one of: estimated potential data rate, descriptor of data rate vs. signal strength, rate of dropped connections, bandwidth loading, reliability, location's physical characteristics, and connection stability. The server may transmit connectivity data to a respective client upon at least one of the following events: each time a registered user logs in to the Internet, when general location of the client is known, when connection is available, and when the client requests the information. The connectivity data may comprise connection profile, connection type, and access quality estimation for at least one of: all AP's in a geographical location of the registered user; and, all AP's in a geographical location selected by the user. Each client may maintain a plurality of updatable cache entries, each cache entry corresponding to an access point and comprises at least: SSID; MAC address; and location of the access point. Each cache entry may further comprise at least one of quality, persistency, networking parameters, access timing, and captive portal rules of the corresponding access point and location type. The access timing may comprise at least one of association response time, WPA response time, and DHCP response time; networking parameters comprise at least one of gateway, subnet, external IP, and DNS; and captive portal rules comprises indication whether login and payment are required.
  • According to yet further aspects of the invention, a method for creating and maintaining a dynamically expendable and updatable wireless network is provided, 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. During the time the mobile device is connected to a resource, the client may be operated to periodically: check for transmitted/received packets and, if packets are transmitted or received, sleep for a predetermined period; otherwise attempt DHCP a preprogrammed number of times and, if successful, sleep for a predetermined period; otherwise disconnect from the resource and clear the SSID and thereafter initiate a new connection procedure. The client may be operated to periodically perform Internet availability testing. The internet availability testing may be performed by connecting to an access point, sending a message to a server via the access point, and receiving a reply from the server via a second access point. The message may comprise a return address pointing to the second access point. The method may further comprise determining whether a received response is from a captive portal resource and reporting to the server whether the resource is captive portal or not. The method may further comprise operating each client to periodically perform neighboring resources verification. During the neighboring resources verification the client may be operated to perform the steps: a. check whether communication traffic is flowing between the mobile device and a default resource and, if so, sleep for a predetermined period; otherwise b. check whether other resources are available at the current geographical location of the mobile device and, if not, sleep for a predetermined period; otherwise c. disconnect from current resource, select a neighboring resource, and attempt to connect to the neighboring resource, and: if connection is successful, execute DHCP discovery and, if successful, stored neighboring resource ID, geographical location, and availability of Internet connection, then proceed to step d; if connection is not successful, save neighboring resource ID, geographical location, and indication of unsuccessful connection attempt, then go to step d; d. check whether counter passed a predetermined count threshold and, if not, go to sleep for a predetermined period; otherwise transmit report to server. In step c, when connection is successful, the client may send a message to a target server and terminate the connection to the neighboring resource and reconnect to the default resource.
  • According to other aspects of the invention, a method for performing neighboring resources verification in a current geographical location of a mobile device is provided, comprising:
  • a. checking whether communication traffic is flowing between the mobile device and a current resource and, if so, sleep for a predetermined period; otherwise
  • b. checking whether other resources are available at the current geographical location of the mobile device and, if not, sleep for a predetermined period; otherwise
  • c. disconnect from the current resource, select a neighboring resource, and attempt to connect to the neighboring resource, and:
  • d. if connection is successful, send message to a target server, disconnect from the neighboring resource, reconnect to the current resource, and listen for a reply from the target server via the current resource. The step of sending a message may comprise appending to the message a return address pointing to the current resource.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Other aspects and features of the invention would be apparent from the detailed description, which is made with reference to the following drawings. It should be appreciated that the detailed description and the drawings provides various non-limiting examples of various embodiments of the invention, which is defined by the appended claims.
  • The accompanying drawings, which are incorporated in and constitute a part of this specification, exemplify the embodiments of the present invention and, together with the description, serve to explain and illustrate principles of the invention. The drawings are intended to illustrate major features of the exemplary embodiments in a diagrammatic manner. The drawings are not intended to depict every feature of actual embodiments nor relative dimensions of the depicted elements, and are not drawn to scale.
  • FIG. 1 is a general layout schematic diagram of the dynamic network according to an embodiment of the invention.
  • FIG. 2 illustrate a more detailed layout schematic of the dynamic network of FIG. 1.
  • FIG. 3 is a flow chart illustrating a method to be executed by a client, according to an embodiment of the invention.
  • FIG. 4 is a flow chart illustrating the overall operation of connecting to an AP according to an embodiment of the invention.
  • FIG. 5 is a flow chart illustrating the operation of an access point suitability verification daemon according to an embodiment of the invention.
  • FIG. 6A is a flow chart illustrating the operation of an Internet availability verification daemon according to an embodiment of the invention, while FIG. 6B is a slightly modified example of the Internet availability verification daemon of FIG. 6A.
  • FIG. 7 is a flow chart illustrating the operation of a neighboring resources verification daemon according to an embodiment of the invention.
  • DETAILED DESCRIPTION
  • The following description of various embodiments of the subject invention illustrate a network that can be created by its users during normal use of mobile devices, so that the network is created and modified spontaneously with usage. The network may be created as part of social network activity. According to various embodiments of the invention, the users are using automated or semi-automated resource discovery, verification and mapping, as a comprehensive wireless resources search engine. Once few locations are mapped as wireless service “hot spots,” the service area can be expanded as users' clients keep discovering and mapping more resources. These existing wireless Internet access resources could be mined by users to create spontaneous wireless network providing wide area high-speed data service. The network is updated in real time as user's mobile devices are connected to the Internet. The client residing on the user's device utilizes data of the network to enable easy connection and transfer from one access point to another when the user moves geographically or when a better access point is available.
  • FIG. 1 is a general schematic illustrating a system layout according to an embodiment of the invention, while FIG. 2 illustrates further details of the layout of FIG. 1. Notably, in FIG. 2 relevant details of the main server 210 and client 280A residing in terminal 220 a are shown. For clarity, the access points 170 a-170 d are not shown in FIG. 2, but it is understood that all communication with the terminals is done via at least one access point or cellular network.
  • In FIG. 1, various computing terminals, e.g., laptops, PDA's, smart phones, etc., 120 a-120 e attempt to connect to the network 100, e.g., the Internet. In this example, various access points (AP's) 170 a-170 d provide radio communication and may or may not enable connectivity to the network 100, and may or may not require login and/or payment of access fee. The access points are installed world-wide by various individuals and/or entities desiring to provide connectivity to the Internet via radio communication.
  • As is shown in FIG. 1, terminal 120 b is able to received radio transmission from either AP 170 a or 170 b (indicated by arrows 130) and may select one of them to connect to the Internet. Terminals 120 c and 120 d receive radio communication from AP's 170 c and 170 d, respectively. Terminal 120 a is transmitting radio communication to AP 170 d, while terminal 120 e is unable to receive any radio communication.
  • Each of the terminals 120 a-120 e runs a client implemented according to an embodiment of the subject invention. Once a terminal connects to the Internet 100 via any AP, the client communicates with server 100 to enable dynamic updating of the network and improved connectivity of the terminals. For example, client 280A is installed and is run on terminal 220 a. Similar clients run in the other terminals, and are referred to collectively herein as clients 280. Certain elements of clients 280 are depicted in exemplary client 280A. As shown in FIG. 2, according to this embodiment, client 280A comprises an access point suitability verification daemon or module 222, an Internet connection verification daemon or module 224, neighboring access points verification daemon or module 226, and AP database 228. The functionality of these elements will be described below with respect to a method implemented according to an embodiment of the invention.
  • When any of the terminals running client 280 is connected to the Internet, the terminal sends updates in the form of connectivity reports to server 210, as shown by arrows 221, 223. The updates include data collected when each client attempts to connect to an access point and may be in the form of historical report of several historical attempts, as will be explained further below. Similarly, when the terminal connects to the Internet it also receives updates from the server 210. These updates include data about new AP's recently added to the network and AP's that were removed from the network, AP current loads, access parameters, etc. Depending on the implementation and on the user's preferences, the updates may be all encompassing or only relating to AP's in the geographical area(s) of interest to the user.
  • Server 210 includes database 250, which stores historical data about radio broadband access resources. Server 210 also includes a processing module 260, which evaluates accessibility (i.e., connection profile) and bandwidth of various AP's based on clients' reports and stores the information as an update in database 210, as shown by arrow 231 A processor 270 controls the operations of the database 250 and evaluation module 260, and communication with the clients 280.
  • According to an embodiment of the invention, at time zero the database 250 of server 210 may be empty, at which point no network is constructed. However, when clients 280 begin to send connectivity reports to the server 210, processing evaluates the reports and determine whether they includes data on a new AP, revised data on previously stored AP, or already available data about previously stored AP. The new and revised data is used to update the database 250, to thereby construct and update a network in real time as reports are received. In this manner, the entity maintaining the server 210 need not deploy a network and access points beforehand; rather, as other entities deploy AP's and these AP's are discovered by clients 280, these AP's are added to the list of resources maintained in the database 250. Consequently, the network constructed in database 250 relates to AP's of actual usage, not of forecasted usage.
  • As can be understood, the server 210 continuously receives measurements from various clients 280 that are connected to access points. The server 210 uses the measurements from the clients to update the database 250 so as to dynamically update the network. In this manner, the database 250 is enhanced and continuously updated to include up to date data on any AP's that were newly put to service, modified, or removed from service. This data is sent to the clients 280, so as to update each client's database. However, in order to conserve resources, according to one embodiment, only data relating to AP's in the client's general neighborhood is sent. According to another embodiment the user can indicate for which geographical area the user wishes to obtain updates. In this manner, for example, if the user intends to take a trip to a different location, the client can request an update of available AP's at the destination location beforehand. Similarly, if the user continuously commutes between two or more locations, the user may request constant updates for these indicated locations.
  • According to embodiments of the invention, the network clients continuously collect radio resources information. These clients could be executing on laptops, handheld devices (PDA's), cellphones, or any other devices that incorporate radio facility, such as WiFi. For example, laptop based clients can conduct radio survey while the laptop is on. Handheld units can execute this function either while activated for Internet use or while idle (i.e., in the user's pocket). Each active user terminal should be able to conduct radio resources' survey whenever it is in use. This is achieved by “measurement trips”: the client is directed to associate with an AP in reach (sometimes—, other than the one used for current Internet connection), and conduct data acquisition as described below. In one embodiment, these “trips” are executed while no time-sensitive traffic is performed, so as to avoid degradation of the user's experience, as described below. In another embodiment, if fast enough, the measurement trips can be executed while time sensitive traffic continues. In any case, to simplify description the term “down time” is utilized to indicate a time where the client can perform such trips. This may be a time where the system idles, a time where there is a sufficiently long break in transmission activity, etc. In this context, “down time” does not indicate that the system must be in off position.
  • Using the trips performed during down time, the client may check one or any of: AP's accessibility, Internet reachability and estimate connection quality. This is executed from time to time by either leaving the current connection (when already connected) or trying to connect to APs in reach and performing certain actions as detailed below. This may be done during live connection (if do not interfere with an on-going session or when the device is not in session (ex. Idling Phone with WiFi).
  • FIG. 3 is a flow chart illustrating a method to be executed by a client, according to an embodiment of the invention. While the steps illustrated in FIG. 3 and described herein are in certain order, it should be appreciated that the various steps may be performed in a different order. In order to connect to a broadband network, in Step 300 the client 220A executes the process described below with respect to FIG. 4. While the client's device is connected, at Step 340 the client checks whether the device is in downtime, e.g., there is a lull in communication between the device and the network. If so, at Step 350 the client measures parameters of other available AP's and at Step 360 the client reports the measurements to the server 110. At Step 370 the client may receive an update from server 210, which may include data obtained from other clients and sent to the server 210, and use that data to update its local database 228.
  • According to embodiments of the invention, among the parameters reported and stored for each AP is quality of connection. The parameter quality of connection may take into account bandwidth loading. For example, in situations where many AP's are available and many users are present, it often happens that most users use one specific AP, e.g., the first listed AP. Consequently, one AP may experience high load, while others low load. Therefore, it may be the case that one AP may have lower radio reception strength, but be very lightly loaded so that it would be preferable to choose such an AP over one with high reception strength, but which is heavily loaded. The client according to the embodiment of the invention therefore checks load in addition to other connection quality parameters.
  • As can be seen from the above, according to one embodiment of the invention, individual user's clients may exploit gaps in traffic communication to execute radio measurements on radio resources (ex. WiFi access points) in their neighborhood (i.e., resources “in reach”) to evaluate their ability to provide broadband access. According to one particular embodiment, this evaluation goes way beyond the normal RSSI/security evaluation done by typical WiFi clients. Specific example of such evaluation will be provided further below. The client's measurements reports are relayed to network server, so that the historical radio resources database (i.e., slow varying data) is gradually expanded and updated at the network server.
  • Various embodiments of the subject invention provide automated discovery, verification and seamless connectivity and reporting mechanism to generate the spontaneous wireless network. The process depends on users' participation so the discovery, verification and seamless connectivity processes are made as seamless as possible. Therefore, embodiments of the subject invention provide methods for expediting and maintaining connection over WiFi networks. These methods utilize real-time connection verification with historical data of connection resources. Real time process may be based on, for example, conventional 802.11 basic measurements (RSSI, encryption status). Historical data is produced by examining long term statistics of the persistency and average speed of data, as provided to community of users. As the amount and quality of the historical data increase, the real-time process becomes less critical. The evaluation process may incorporate the following verification elements:
      • 802.11 scan
      • Access point suitability verification daemon
      • Internet connection verification daemon
      • Neighboring access points verification daemon
      • Historical data processing and caching
      • WiFi connection procedure as illustrated in FIG. 4.
        These elements of the connection process are provided as follows.
  • The 802.11 scan may be implemented according to conventional and well-defined protocols in the relevant art (Step 410 of FIG. 4).
  • The access point verification daemon continuously evaluates the connected access point suitability to provide wireless service and its quality. This daemon incorporates:
      • Passive test: traffic activity originated at access point.
      • Active test: DHCP server activity or ARP (Address Resolution Protocol) to gateway.
        The passive test is provided as follows. “Healthy” WiFi access point properly connected to wide area network (WAN) generates miscellaneous traffic frames on the network. This traffic may be driven by applications running on user terminal (SKYPE, IM etc.), other devices on the network (ARP), control frames, etc. The daemon monitors the traffic traversing through and determines the activity on the connection accordingly. The connection is considered healthy if traffic activity is detected. In addition, RSSI is tested against pre-determined minimum threshold. RSSI (Received Signal Strength Indication) is a measurement of the received radio signal strength (energy integral, not the quality).
  • If during passive test no traffic activity has been detected, the client performs an active test by trying a DHCP exchange (or partial DHCP exchange) with the access point. Alternatively, the client may generate ARP to access point's gateway. In either case a healthy access point will respond to DHCP request (or discover) or to ARP request by proper message: DHCP discovery will be responded by DHCP address and offer, while ARP request will be responded by ARP response. Notably, the active test should be used very sparely since it loads the network with undesirable traffic. However, especially at first access when no other information is available, active test may be a required. Also, when roaming capability is needed, the daemon will test connection RSSI to determine whether to roam to another access point.
  • FIG. 5 is a flow chart illustrating the operation of an access point suitability verification daemon according to an embodiment of the invention. The access point suitability verification daemon operates upon termination of a predetermined count, e.g., k seconds, illustrated in Step 500. When k seconds pass, the daemon checks for packet transmission or reception at Step 510. If at Step 520 transmission or reception of packets is detected, the process reverts to Step 500 where the daemon sleeps for another k seconds. On the other hand, if no packet transmission or reception has been detected in Step 520, the process proceeds to Step 530, wherein the daemon tries DHCP for predetermined times, e.g., L times. If at Step 540 it is determined that DHCP was successful, the process proceeds to Step 570; otherwise the process proceeds to Step 550. At Step 550 the client disconnects from the AP and clears the SSID in the 802.11 scan list for a predetermined time period, e.g., P seconds. The process then proceeds to Step 560, wherein the client initiates conventional connection procedure (e.g., scans for AP's and connects to best or selected AP). The process then reverts to Step 500. On the other hand, at Step 570 it is determined whether the RSSI is less than a predetermined value, e.g., R. If so, the process proceeds to Step 550; otherwise the process reverts to Step 500.
  • The Internet access verification daemon operates as follows. WiFi resources normally support Internet access through wide area network (WAN) that is used as backhaul. The decision to either connect or stay connected to a specific access point could be based on backhaul quality (connected/not-connected, speed, etc.). For example, other users may excessively load the backhaul; causing traffic to dramatically slow down. The Internet access verification includes:
      • Passive test: checking WAN originated traffic.
      • Active test: calling known websites.
  • The Internet access verification daemon passive test is very similar to the passive test described above and is aimed at identifying WAN originated traffic. This test is constantly performed while connected to the access point to identify loss of Internet connectivity or excessive traffic load on WAN. The client constantly measures the traffic load and reports it to the server. The server further uses this gathered information for aiding the client in evaluating the bandwidth availability at the AP and evaluates the quality of the connection.
  • The active test may be used to evaluate Internet connection quality. Internet connection quality can be determined by calling upon known websites; this may be executed using, e.g.:
      • “HTTP get” calls to multiple websites. Once an HTTP get is successful, Internet connection is determined to be alive.
      • Generating a UDP (User Datagram Protocol) frame (via ports 53 and 80 or any other port) to a special server at the network control center. Arrival of this UDP frames shows Internet connection is active. The advantage of this approach is that there is no need for response; the feedback can be delivered through normal conversation between client and network server later on.
  • FIG. 6A is a flow chart illustrating the operation of an Internet availability verification daemon according to an embodiment of the invention. This daemon also wakes periodically (Step 600) and performs Internet connection procedures (Step 660) as follows. If at Step 605 the client detects a packet transmission or reception from the WAN, it reports the connection is fine (Step 635) and reverts to step 600. On the other hand, if no packet is detected, the process proceeds to Step 610 where the client transmits HTTP request to a known URL, such as Yahoo™, Google™, etc. At Step 615 the client checks whether a response is received from the URL. If a response is received, the process proceeds to Step 640; otherwise it proceeds to Step 620.
  • At Step 620 the client increases a failure counter and at Step 625 checks whether the failure count exceeds a preset threshold, K. If the threshold is not reached, the process reverts to Step 610; otherwise the process proceeds to Step 630. At Step 630 the client declares no connection and reverts to Step 600. On the other hand, at Step 640 the client checks whether the connection is via a captive portal. If not, the process proceeds to Step 635 to declare Internet connection is fine, and reverts to Step 600. If the connection is via a captive portal, at Step 645 it is checked whether a login is required. If not, the process proceeds to Step 635; otherwise the process proceeds to Step 650, wherein the captive response is checked against known list to determine whether the captive provider is listed in the login list and whether it is free or requires payment. The process then proceeds to Step 635.
  • FIG. 6B illustrate a slightly modified version the operation of an Internet availability verification daemon. The process of FIG. 6B is similar to that of FIG. 6A, except that at Step 640 it is checked whether the received response was received by redirecting the requested HTTP. If it was not redirected, it means that there is no captive portal and the process proceeds to Step 635. On the other hand, if redirecting occurred, it may mean one of two things: either the computer got logged automatically to the captive portal and was redirected to the requested URL, or the computer was redirected to a login page of the captive portal. Therefore, at Step 645 it is checked whether login is required and from there the process proceeds as in FIG. 6A.
  • The neighboring resources verification daemon operates as follows. To expedite wireless resources validation process, each client, is continuously verifying neighboring wireless resources that can be seen by the user terminal. This operation is called “measurement trip” and is executed by “neighboring resources verification daemon”. During each measurement trip the terminal must temporarily disconnect from current resource and try to connect to the neighboring resource. This trip requires that time critical traffic be active, hence special traffic detector is employed.
  • If the client successfully associated with the neighboring resource, the client executes DHCP discovery to validate the ability of the resource to serve as an Internet access point. Successful validation is registered and reported to the network server. To avoid excessive traffic load, several trip reports are collected and sent together. To further reduce traffic load, the trip report is generated only if a change occurred in the resource's status. The number of observation per resource can be part of the reporting.
  • FIG. 7 is a flow chart illustrating the operation of a neighboring resources verification daemon according to an embodiment of the invention. As shown in FIG. 7, the daemon wakes up intermittently (Step 700) and performs neighboring resources verification. At Step 705 the daemon checks whether traffic pass via the current connection and, if so, it reverts to Step 700. If no traffic passes, at Step 710 the client checks whether there are other resources available for connection and, if not, it reverts to Step 700. Otherwise, the client disconnects the current connection at Step 715 and selects available resource at Step 720. At Step 725 the client attempts to connect to the selected resource. If the attempt is successful (Step 730), at Step 755 the client executes a DHCP discovery to verify that the resource enables connection to the Internet. If at Step 760 the request is successful, the information about the resource is stored and the process proceeds to Step 740. On the other hand, if at Step 730 the connection attempt was not successful, the information about this resource and the failed connection attempt are stored at Step 735, and the process proceeds to Step 740.
  • At Step 740 a counter determines whether a time period exceeds a given value, K. If not, the process reverts to Step 700. If the time period has exceeded, at Step 745 the client checks whether there was any change in the information relating to the stored resources. That is, if the information stored in Steps 735 and/or 765 relate to a newly discovered resources or relates to a resource that was already visited but that its status has been changed, then this data is reported to the network server 750 and the process reverts to Step 700.
  • When in a “trip,” client can send either UDP, TCP or HTTP frame to a special server (cache server) and not wait for response. Once back from trip and back at the default connection the cache server can send response back to client. If response arrives, at least uplink connection at the checked AP was verified. The advantage of this approach is saving time that would be required to wait for the response while on the checked AP. This time period could be problematic for some transport protocols that do not “like” long breaks in connection. Notably, a feature of the subject invention is that when the client performs any excursion to test an AP, it may send a message to be received at the target server, but it does not need to wait for the response. For example, the client may disconnect from a current AP, connect to a different AP and send a message (e.g., a ping) to a target server and then reconnect to the original AP. The target server sends the response to the original AP. This can be done by, e.g., having the server send the message to the default AP or formatting the message sent by the client to include a header that indicate the return address to be the original AP. In this manner, the likelihood of interruption in service due to client excursions is reduced as the client spends less time on each excursion. Also, if after returning to the original AP, if the client does not receive the reply, it can request the server to send the reply again. This may occur in a situation where the server sends the reply before the client was able to reconnect to the original server, so that the client missed the reply.
  • Community generated data may also be used for access point verification. That is, a-priori information of WiFi resources can vastly increase probability of connection and selection of AP having the best connection quality and expedite connection time. For example, if specific WiFi resource is known to be very predictable, the client can favor it over other resources. The predictable resource does not require much verification and consequently allow speedy connection. Connection time is expediting by making sure the first attempt to connect (given multiple options) will be to a verified AP and consequently the likelihood for repeating trials is minimized.
  • Although a-priory information can be generated by the client over time, a-priory information can be the main goal of the community collaboration. That is, according to embodiments of the invention, users of the system are helping each other by characterizing WiFi resources to enable each other achieving high quality wireless Internet access. The a-priory information may consist:
  • Location Information.
      • According to one illustrative embodiment, mapping of the resources may be done manually. For example, users may enter zip code or street address of their location when connecting to an AP. According to another embodiment, devices having automatic location capability (e.g., GPS) automatically determine their location each time they are connected to an AP and report this location.
  • Quality Information.
      • Each WiFi resource quality may be characterized by connection quality and persistency. The connection quality (average data rate, disconnection rate, etc.) may be registered each time a client connects to an AP. The frequency of connections indicates the visibility and persistency of the WiFi resource. It could also indicate how friendly the WiFi location is: shade, tables etc. All this information may be reported and stored at the system's central server facilities.
  • The locations of wireless resources can be determined automatically when GPS is part of the terminal. When GPS is not available, the client may check whether other already located resources are available at that location and, if so, the location is set to be similarity to those other resources. When these conditions are not fulfilled, manual resource mapping can be exercised by, e.g.:
      • User highlights the desired resource to be mapped and open area map.
      • Map will normally initialized to show the general neighborhood of the selected wireless resource
      • User then drags a special pointer to the assumed location where the resource is located and clicks to mark it.
      • Once selected resource is mapped, all other resources seen by the client at that time are marked as well. If some of the resources have already been mapped, their location can be refined.
  • Whenever a client gets connected, it continuously evaluates its own connection WiFi access point via AP verification and Internet verification daemons, as explained above. In addition, the client conducts “measurement trips” to evaluate access points in its neighborhood. Collectively the information gathered is used to estimate AP quality. For example:
      • Persistency is estimated by number of times the resource has been observed as being active by “measurement trips” and by connected client (via AP and Internet verification daemons)
      • Quality is estimated by average data rate and RSSI among all users that were connected to the specific resource lately
        This information is reported to the system central server for further processing to create compact data tables. According to one embodiment, the server receives all this reports and calculates for each AP an access quality estimation based on, e.g., the time elapsed from the first discovery of the AP to the most recent connection by any user, how many users successfully utilized the AP since its discovery, and the average data rate provided by the AP to all of the users.
  • A client in each terminal maintains wireless resource cache. The wireless resources cache incorporates the clients' own experience and data processed by the network server as mentioned above. For each wireless resource (ex. WiFi access point) there is a cache entry where some or all of the following information is stored:
      • SSID
      • MAC address
      • Quality/persistency
      • Location
      • Networking parameters (GW, Subnet, External IP, DNS)
      • Access timing (Association, WPA (WiFi Protected Access), and DHCP response times)
      • Captive portal rules (requires login, require payment, free)
        This information can be sorted by location and resource quality. For example, to avoid overwhelming traffic load, cache update (by network server) may start with first installment containing the closest and the highest quality resources. As time goes by, installments with farther and lower quality resources can be downloaded. Although there will always be cases where cache has not been updated, only a single connection is necessary to perform this process and consequently assuring good service in most cases.
  • The first step in connecting to WiFi network is executed according to 802.11 standards by scanning for active networks (Step 410 of FIG. 4). Once a set of access points with sufficient (−90 dBm or higher) signal level are found, the client performs the following:
      • a) Check if found AP list includes favorite APs (favorite list includes APs that user defined their password). If yes, create “favorite candidate list” where APs are sorted by descending RSSI (415 of FIG. 4).
      • b) Checks found unlocked AP list against cached AP list. Collect all unlocked APs that are part of cached list into “cached candidate list” where APs are sorted by descending RSSI (430 of FIG. 430).
      • c) If at least one unlocked AP is found during the 802.11 scan (that is not part of the cached list), these APs are sorted by RSSI level to form “non-cached candidate list” where APs are sorted by descending RSSI (435 and 440 in FIG. 4).
      • d) The client selects an AP for connection as follows: if favorite candidate list has members, select the highest RSSI member, else
        • If cached list has members select the highest RSSI AP out of this list, else
        • If non-cached candidate list has members, select the highest RSSI of this list and
        • Execute 802.11 connection (420 of FIG. 4): association, authentication (WPA) and IP address acquisition (DHCP).
      • e) If DHCP process is successful (425 in FIG. 4), client declares connection to the selected AP. If 802.11 connection fail, temporary delete the correspondent AP from its associated list and go back to d). If the connection achieved with a non-cached candidate list AP, proceed to f).
      • f) Client than checks for Internet access. If captive portal is identified, client declares the AP as captive portal AP and goes back to b. If captive portal is known as free (free captive portal list has been updated at client during log-in procedure) or no captive portal, client continues to g.
      • g) Client will now monitor traffic activity through AP passive test. If passive test fails, active test is executed.
      • h) If both tests fail, client will disconnect form the current AP and go to b).
      • i) If all tries fail, client declares failure to connect.
        User can manually force connection to any AP by “double clicking” on the specific AP's icon.
  • After initial connection has been established, either wireless transmission or backhaul conditions may deteriorate to the point that the connection may need to be switched to another WiFi access point (roaming). Consequently the client periodically performs Internet connectivity tests as described above. If this test fails, the client must determine which access point out of WiFi scan list user terminal should switch to. This will be done through the process described above.
  • According to an aspect of the invention, the wireless network may be expanded by using a social network. One issue observed by the inventors is that generally private owners of radio access points are averse to sharing the AP resource with people they don't know. However, if there has been certain a priory contact, owners are much more likely to share the resource. Such an a priory contact may be made in the form of a social network. This can be explained with reference to FIG. 1. Assume for this example that access point 170 d belongs to a user who also uses access device 120 a, such as a laptop, a PDA, etc. The user generally is able to access the Internet 100 by connecting device 120 a to access point 170 d wirelessly. As is known, access point 170 d operates to a certain range, which may generally allow other users to receive the signal of access point 170 d. For example, terminal 120 d may also be in the range of and be able to communicate with AP 170 d.
  • The security of access point 170 d may be set to allow no access to third parties, allow limited access to third parties, or allow all access by all third parties, by the choice of the owner. According to this embodiment, the owner may register access point 170 d with server 110, as member of the social network. The owner may specify the amount of bandwidth the owner is willing to allocate to third parties who are in the vicinity of the access point 170 d and who are members of the social network of server 110. The owner may specify other parameters, such as access password, etc. When third parties connect to access point 170 d, their client report connection data of access point 170 d to the server 110. In this manner, relevant and updated information regarding access point 170 d is stored in the database of server 110.
  • Conversely, when the owner of device 120 a is away from its own access point 170 d, the client of device 120 a queries its database to determine which member's access point is available and at what connection quality. The client then connects the device 120 a to the preferred access point. The client then sends connection information to the server 110 to update its database. In this manner, by agreeing to provide connectivity via its own access point, the user is able to obtain access to the network when the user is away from its own access point. That is, other members in the social network will allow the user to access the Internet via their own access points. Moreover, a database is built which stores relevant and updated information regarding the location and quality of all members' access points. In this way, availability of radio access point is increased and connection to access points is improved.
  • It should be understood that processes and techniques described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components. Further, various types of general purpose devices may be used in accordance with the teachings described herein. It may also prove advantageous to construct specialized apparatus to perform the method steps described herein. The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention. For example, the described methods and systems may be implemented in a wide variety of programming or scripting languages, such as Assembler, C/C++, perl, shell, PHP, Java, etc.
  • The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention. Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

Claims (1)

1. A system for creating and maintaining a dynamically expendable and updatable wireless network, comprising:
a network server connected to a network, the network server comprising a processor and a database, the database storing data relating to access point resources of the wireless network, wherein the sever receives updates from clients regarding available wireless access points, and stores data included in the updates to maintain the database and to thereby dynamically expand and update the wireless network.
US13/736,223 2007-05-24 2013-01-08 Dynamically created and expanded wireless network Abandoned US20130128815A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/736,223 US20130128815A1 (en) 2007-05-24 2013-01-08 Dynamically created and expanded wireless network

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US94002807P 2007-05-24 2007-05-24
US11/853,987 US8358638B2 (en) 2007-05-24 2007-09-12 Dynamically created and expanded wireless network
US13/736,223 US20130128815A1 (en) 2007-05-24 2013-01-08 Dynamically created and expanded wireless network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/853,987 Continuation US8358638B2 (en) 2007-05-24 2007-09-12 Dynamically created and expanded wireless network

Publications (1)

Publication Number Publication Date
US20130128815A1 true US20130128815A1 (en) 2013-05-23

Family

ID=40072888

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/853,987 Active 2031-02-21 US8358638B2 (en) 2007-05-24 2007-09-12 Dynamically created and expanded wireless network
US13/736,223 Abandoned US20130128815A1 (en) 2007-05-24 2013-01-08 Dynamically created and expanded wireless network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/853,987 Active 2031-02-21 US8358638B2 (en) 2007-05-24 2007-09-12 Dynamically created and expanded wireless network

Country Status (1)

Country Link
US (2) US8358638B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147882A1 (en) * 2006-10-26 2008-06-19 Research In Motion Limited Transient WLAN Connection Profiles
US20110235624A1 (en) * 2006-11-21 2011-09-29 Research In Motion Limited Handling Virtual Private Network Connections over a Wireless Local Area Network
US20150142980A1 (en) * 2013-11-15 2015-05-21 Scott M. Bragg Context-Based Selection of Instruction Sets for Connecting Through Captive Portals
WO2015073755A1 (en) * 2013-11-15 2015-05-21 Microsoft Technology Licensing, Llc Generating sequenced instructions for connecting through captive portals
US20150142946A1 (en) * 2013-11-15 2015-05-21 Mohammad Shabbir Alam Applying Sequenced Instructions to Connect Through Captive Portals
US20150173002A1 (en) * 2012-07-04 2015-06-18 Softbank Mobile Corp. Terminal and connection method for same
US20160316379A1 (en) * 2015-04-22 2016-10-27 Vonage Network, Llc Systems and methods for controlling the data rate of an internet protocol communication
US9629076B2 (en) 2014-11-20 2017-04-18 At&T Intellectual Property I, L.P. Network edge based access network discovery and selection
US9655034B2 (en) 2014-10-31 2017-05-16 At&T Intellectual Property I, L.P. Transaction sensitive access network discovery and selection
US10129706B2 (en) 2015-06-05 2018-11-13 At&T Intellectual Property I, L.P. Context sensitive communication augmentation
US10162351B2 (en) 2015-06-05 2018-12-25 At&T Intellectual Property I, L.P. Remote provisioning of a drone resource
US10470241B2 (en) 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Multiple mesh drone communication
US10560853B2 (en) 2013-11-15 2020-02-11 Microsoft Technology Licensing, Llc Configuring captive portals with a cloud service

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10225788B2 (en) * 2006-05-25 2019-03-05 Truconnect Technologies, Llc Method and system for selecting a wireless network for offloading
US9326138B2 (en) 2006-09-06 2016-04-26 Devicescape Software, Inc. Systems and methods for determining location over a network
US8553623B2 (en) * 2007-07-20 2013-10-08 Broadcom Corporation Method and system for utilizing standardized interface in a wireless device to discover and use local and remote resources
US8718561B2 (en) * 2007-11-20 2014-05-06 Aruba Networks, Inc. Method and apparatus for detecting and avoiding interference in a communications network
US7860982B2 (en) * 2008-03-14 2010-12-28 Microsoft Corporation Internet connectivity verification
US8787171B2 (en) * 2008-04-07 2014-07-22 Wavemarket, Inc. Efficient collection of wireless transmitter characteristics
US8185060B2 (en) * 2008-04-22 2012-05-22 Qualcomm Incorporated Serving base station selection using backhaul quality information
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US11134102B2 (en) 2009-01-28 2021-09-28 Headwater Research Llc Verifiable device assisted service usage monitoring with reporting, synchronization, and notification
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
CA2733035C (en) 2008-08-05 2013-06-18 Mediafriends, Inc. Sms technology for computerized devices
US9271129B2 (en) 2008-08-05 2016-02-23 HeyWire, Inc. Mobile messaging hub enabling enterprise office telephone numbers
US11172067B1 (en) 2008-08-05 2021-11-09 HeyWire, Inc. Call center mobile messaging
US9356907B2 (en) 2008-08-05 2016-05-31 HeyWire, Inc. Messaging system having multiple number, dual mode phone support
US8918085B2 (en) * 2008-08-05 2014-12-23 Mediafriends, Inc. Social messaging hub
US20120221962A1 (en) 2008-08-05 2012-08-30 Eugene Lee Lew Social messaging hub system
JP5097052B2 (en) * 2008-08-21 2012-12-12 キヤノン株式会社 Information processing apparatus and control method thereof
JP5337879B2 (en) * 2008-09-29 2013-11-06 株式会社東芝 Prior evaluation of multiple network access points
KR101511386B1 (en) * 2008-10-15 2015-04-13 엘지전자 주식회사 Direct link setup procedure in Tunneled Direct Link Setup(TDLS) wireless network
KR101558304B1 (en) * 2008-11-20 2015-10-07 삼성전자주식회사 Method and apparatus for improving unbalance of service of cell edge in wireless local area network
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US9532197B1 (en) 2009-03-30 2016-12-27 Salesforce.Com, Inc. DID line type provisioning verification
KR101589434B1 (en) * 2009-06-12 2016-01-29 삼성전자주식회사 Apparatus and method for connecting wlan in portable terminal
US8750265B2 (en) * 2009-07-20 2014-06-10 Wefi, Inc. System and method of automatically connecting a mobile communication device to a network using a communications resource database
CN102656579A (en) * 2009-11-04 2012-09-05 塞德克西斯公司 Internet infrastructure survey
JP5293649B2 (en) * 2010-03-09 2013-09-18 セイコーエプソン株式会社 Wireless communication system, wireless communication terminal, and wireless communication method
IL206826A0 (en) * 2010-07-06 2010-12-30 Zelikman Semion
KR101587003B1 (en) * 2010-09-07 2016-01-20 삼성전자주식회사 Apparatus and method for determining validity of wifi connection in wireless communication system
KR101724020B1 (en) 2010-12-22 2017-04-06 삼성전자주식회사 Apparatus and method for reducing power consumption in portable terminal
US8634348B2 (en) 2010-12-29 2014-01-21 Motorola Mobility Llc Method and system for facilitating wireless communication via alternate wireless pathway
US8630231B2 (en) 2010-12-29 2014-01-14 Motorola Mobility Llc Method and system for facilitating wireless communication via alternate wireless pathway
KR101788639B1 (en) * 2011-01-10 2017-10-20 삼성전자 주식회사 Method and apparatus for connecting or releasing to network of mobile terminal
EP2676399A4 (en) 2011-02-14 2016-02-17 Devicescape Software Inc Systems and methods for network curation
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
JP5756564B2 (en) * 2011-05-04 2015-07-29 エンパイア テクノロジー ディベロップメント エルエルシー Method for distributed interference coordination in femtocell environment
JP5799624B2 (en) * 2011-07-13 2015-10-28 富士通株式会社 Wireless communication system, wireless communication terminal, and wireless communication method
US9055519B2 (en) * 2011-09-09 2015-06-09 Qualcomm Incorporated Access Points selection apparatus and methods
US20130246575A1 (en) * 2011-09-16 2013-09-19 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US9736045B2 (en) 2011-09-16 2017-08-15 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US9143962B2 (en) 2011-10-20 2015-09-22 At&T Intellectual Property I, L.P. Method and apparatus to analyze a wireless information delivery system
US8856290B2 (en) * 2011-10-24 2014-10-07 General Instrument Corporation Method and apparatus for exchanging configuration information in a wireless local area network
EP2783535B1 (en) 2011-11-25 2016-09-14 Bandwidthx Inc. System for providing intelligent network access selection for a mobile wireless device
TW201327370A (en) * 2011-12-28 2013-07-01 Amtran Technology Co Ltd System and method for resource sharing and broadcasting device thereof
US8326231B1 (en) * 2012-02-02 2012-12-04 Google, Inc. Preserving cell phone battery life
EP2640110B1 (en) 2012-03-12 2017-05-03 Securitas Direct AB Method and apparatus for controlling a home wireless system
CN103581239B (en) * 2012-07-27 2019-01-22 中兴通讯股份有限公司 A kind of discovery method, apparatus of equipment and service
US9048982B2 (en) 2012-08-02 2015-06-02 Empire Technology Development Llc Method for distributed interference coordination in a femtocell environment
US9826464B2 (en) 2013-03-26 2017-11-21 Bandwidthx Inc. Systems and methods for establishing wireless connections based on access conditions
US9538463B2 (en) * 2013-08-02 2017-01-03 Htc Corporation Apparatuses and methods for wireless fidelity (WiFi) network selection
US10135729B2 (en) * 2014-01-31 2018-11-20 Hewlett Packard Enterprise Development Lp Distributed gateway for local subnet
US10469423B2 (en) 2014-02-14 2019-11-05 Salesforce.Com, Inc. Cloud hosted multimedia file handling on mobile devices
US10064024B2 (en) 2014-02-14 2018-08-28 HeyWire, Inc. Cloud hosted multimedia file handling on mobile devices
US9456317B2 (en) 2014-03-04 2016-09-27 HeyWire, Inc. Intelligent presence detection messaging
US9936362B2 (en) 2014-03-04 2018-04-03 HeyWire, Inc. Intelligent presence detection messaging
JP6322037B2 (en) * 2014-04-11 2018-05-09 ローム株式会社 Communication terminal and wireless sensor network system
US9608891B2 (en) * 2014-09-29 2017-03-28 Qualcomm Incorporated Providing simultaneous data calls for client devices on a plurality of subscriptions of a multi-SIM computing device configured with software-enabled access point functionality
US10327110B2 (en) * 2014-11-01 2019-06-18 Samsung Electronics Co., Ltd. Method and system for generating a signal strength map
US20160150029A1 (en) * 2014-11-26 2016-05-26 Avaya Inc. Service discovery using a location database
EP3955229A3 (en) * 2015-03-12 2022-02-23 Alarm.com Incorporated Providing internet access through a property monitoring system
US10360309B2 (en) 2015-04-30 2019-07-23 Salesforce.Com, Inc. Call center SMS-MMS language router
US9854415B2 (en) 2015-04-30 2017-12-26 HeyWire, Inc. Call center A2P-to-P2P message routing conversion
US9591529B2 (en) 2015-05-20 2017-03-07 Xirrus, Inc. Access point providing multiple single-user wireless networks
US10348671B2 (en) 2016-07-11 2019-07-09 Salesforce.Com, Inc. System and method to use a mobile number in conjunction with a non-telephony internet connected device
US10810185B2 (en) 2016-09-22 2020-10-20 At&T Intellectual Property I, L.P. Temporary shared storage
JP6791253B2 (en) * 2016-09-30 2020-11-25 富士通株式会社 Communication control programs, devices, and methods
CN108076469B (en) * 2016-11-08 2022-01-04 上海掌门科技有限公司 Method and router for wireless access point bridging
US10541865B1 (en) 2016-11-15 2020-01-21 Alarm.Com Incorporated Wireless connection validation techniques
CN107071865B (en) * 2016-12-07 2019-09-06 Oppo广东移动通信有限公司 A kind of method and device that Wireless Fidelity quickly connects
US10194382B2 (en) 2016-12-27 2019-01-29 Bandwidthx Inc. Auto-discovery of amenities
US10856151B2 (en) 2016-12-27 2020-12-01 Bandwidthx Inc. Radio management based on user intervention
US20200196152A1 (en) * 2017-07-07 2020-06-18 Huawei Technologies Co., Ltd. Method and Apparatus for Restoring Internet Access by Local Area Network Device
EP3871443A1 (en) * 2018-10-22 2021-09-01 Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A.S. Method and cloud server for cloud based client steering
US11109258B2 (en) * 2019-05-31 2021-08-31 Apple Inc. Crowd sourced privacy preserving access point mapping
US11616784B2 (en) 2019-07-11 2023-03-28 Kyndryl, Inc. Personal-public service set identifiers connection implemented by a WAP
WO2022046361A1 (en) * 2020-08-31 2022-03-03 Veniam, Inc. Dynamic host configuration protocol (dhcp) optimization for wi-fi connectivity in a network of moving things

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738891B2 (en) * 2005-12-02 2010-06-15 Nokia Corporation System, apparatus, and method for dynamically configuring application access point settings
US20140080510A1 (en) * 2004-10-29 2014-03-20 Skyhook Wireless, Inc. Continuous data optimization of moved access points in positioning systems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714559B1 (en) * 1991-12-04 2004-03-30 Broadcom Corporation Redundant radio frequency network having a roaming terminal communication protocol
US6301242B1 (en) * 1998-07-24 2001-10-09 Xircom Wireless, Inc. Communication system with fast control traffic
US7266595B1 (en) * 2000-05-20 2007-09-04 Ciena Corporation Accessing network device data through user profiles
US7103661B2 (en) * 2000-07-12 2006-09-05 John Raymond Klein Auto configuration of portable computers for use in wireless local area networks
US7483984B1 (en) * 2001-12-19 2009-01-27 Boingo Wireless, Inc. Method and apparatus for accessing networks by a mobile device
US7257105B2 (en) * 2002-10-03 2007-08-14 Cisco Technology, Inc. L2 method for a wireless station to locate and associate with a wireless network in communication with a Mobile IP agent
US20050070279A1 (en) * 2003-09-30 2005-03-31 Boris Ginzburg Device, system and method of selecting channels to be scanned in wireless network association
WO2006110181A2 (en) * 2004-10-29 2006-10-19 Skyhook Wireless, Inc. Location beacon database and server, method of building location beacon database, and location based service using same
US20060271517A1 (en) * 2005-05-25 2006-11-30 Deloach James D Jr User-driven calibration for location system
KR100736046B1 (en) * 2005-09-07 2007-07-06 삼성전자주식회사 Method and apparatus for guiding associating stable access point using previous connection history
US7466986B2 (en) * 2006-01-19 2008-12-16 International Business Machines Corporation On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices
US8559369B2 (en) * 2006-02-22 2013-10-15 Elad Barkan Wireless internet system and method
CA2667893A1 (en) * 2006-10-30 2008-05-08 Telcordia Technologies, Inc. Method and system to support scalable application level communication between mobile device and a centralized application server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140080510A1 (en) * 2004-10-29 2014-03-20 Skyhook Wireless, Inc. Continuous data optimization of moved access points in positioning systems
US7738891B2 (en) * 2005-12-02 2010-06-15 Nokia Corporation System, apparatus, and method for dynamically configuring application access point settings

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719431B2 (en) 2006-10-26 2014-05-06 Blackberry Limited Transient WLAN connection profiles
US20080147882A1 (en) * 2006-10-26 2008-06-19 Research In Motion Limited Transient WLAN Connection Profiles
US20110235624A1 (en) * 2006-11-21 2011-09-29 Research In Motion Limited Handling Virtual Private Network Connections over a Wireless Local Area Network
US20110238824A1 (en) * 2006-11-21 2011-09-29 Research In Motion Limited Wireless Local Area Network Hotspot Registration
US20110238847A1 (en) * 2006-11-21 2011-09-29 Research In Motion Limited Saving a Connection Profile when Unable to Connect to a Wireless Local Area Network
US8595365B2 (en) 2006-11-21 2013-11-26 Research In Motion Limited Handling virtual private network connections over a wireless local area network
US8874764B2 (en) * 2006-11-21 2014-10-28 Blackberry Limited Saving a connection profile when unable to connect to a wireless local area network
US20150173002A1 (en) * 2012-07-04 2015-06-18 Softbank Mobile Corp. Terminal and connection method for same
US9392537B2 (en) * 2012-07-04 2016-07-12 Softbank Corp. Terminal and connection method for same
US20150142946A1 (en) * 2013-11-15 2015-05-21 Mohammad Shabbir Alam Applying Sequenced Instructions to Connect Through Captive Portals
US10382305B2 (en) * 2013-11-15 2019-08-13 Microsoft Technology Licensing, Llc Applying sequenced instructions to connect through captive portals
US20150139082A1 (en) * 2013-11-15 2015-05-21 Nicholas A. Banks Generating Sequenced Instructions For Connecting Through Captive Portals
WO2015073755A1 (en) * 2013-11-15 2015-05-21 Microsoft Technology Licensing, Llc Generating sequenced instructions for connecting through captive portals
US10582550B2 (en) * 2013-11-15 2020-03-03 Microsoft Technology Licensing, Llc Generating sequenced instructions for connecting through captive portals
US9554323B2 (en) * 2013-11-15 2017-01-24 Microsoft Technology Licensing, Llc Generating sequenced instructions for connecting through captive portals
US20170094698A1 (en) * 2013-11-15 2017-03-30 Microsoft Technology Licensing, Llc Generating Sequenced Instructions For Connecting Through Captive Portals
US20150142980A1 (en) * 2013-11-15 2015-05-21 Scott M. Bragg Context-Based Selection of Instruction Sets for Connecting Through Captive Portals
US10560853B2 (en) 2013-11-15 2020-02-11 Microsoft Technology Licensing, Llc Configuring captive portals with a cloud service
US10057302B2 (en) * 2013-11-15 2018-08-21 Microsoft Technology Licensing, Llc Context-based selection of instruction sets for connecting through captive portals
US9655034B2 (en) 2014-10-31 2017-05-16 At&T Intellectual Property I, L.P. Transaction sensitive access network discovery and selection
US10028211B2 (en) 2014-10-31 2018-07-17 At&T Intellectual Property I, L.P. Transaction sensitive access network discovery and selection
US9629076B2 (en) 2014-11-20 2017-04-18 At&T Intellectual Property I, L.P. Network edge based access network discovery and selection
US10542487B2 (en) 2014-11-20 2020-01-21 At&T Intellectual Property I, L.P. Network edge based access network discovery and selection
US9961625B2 (en) 2014-11-20 2018-05-01 At&T Intellectual Property I, L.P. Network edge based access network discovery and selection
US20160316379A1 (en) * 2015-04-22 2016-10-27 Vonage Network, Llc Systems and methods for controlling the data rate of an internet protocol communication
US10162351B2 (en) 2015-06-05 2018-12-25 At&T Intellectual Property I, L.P. Remote provisioning of a drone resource
US10129706B2 (en) 2015-06-05 2018-11-13 At&T Intellectual Property I, L.P. Context sensitive communication augmentation
US11039002B2 (en) 2015-06-05 2021-06-15 At&T Intellectual Property I, L.P. Context sensitive communication augmentation
US11144048B2 (en) 2015-06-05 2021-10-12 At&T Intellectual Property I, L.P. Remote provisioning of a drone resource
US11644829B2 (en) 2015-06-05 2023-05-09 At&T Intellectual Property I, L.P. Remote provisioning of a drone resource
US10470241B2 (en) 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Multiple mesh drone communication
US10973083B2 (en) 2016-11-15 2021-04-06 At&T Intellectual Property I, L.P. Multiple mesh drone communication

Also Published As

Publication number Publication date
US20080293404A1 (en) 2008-11-27
US8358638B2 (en) 2013-01-22

Similar Documents

Publication Publication Date Title
US8358638B2 (en) Dynamically created and expanded wireless network
US10959168B2 (en) Collaborative scheme for selection of optimal accesses and seamless transition between accesses
US10045238B2 (en) Providing easy access to radio networks
US9402216B2 (en) Methods, media, and devices for moving a connection from one point of access to another point of access
KR100933760B1 (en) Seamless IP interface selection, handoff, and management of multiple IP network interface mobile devices
US9787855B2 (en) Billing engine and method of use
JP5025736B2 (en) Load management for each class of proactive type
CN110476458B (en) Method, device and data carrier for accessing voice service
US7161914B2 (en) Context aware application level triggering mechanism for pre-authentication, service adaptation, pre-caching and handover in a heterogeneous network environment
KR101007419B1 (en) Optimized information transfer associated with relocation of an ip session in a mobile communication system
US10637997B2 (en) Billing engine and method of use
US20140204834A1 (en) Offloading traffic via a wireless peer-to-peer connection
Castignani et al. Urban 802.11 community networks for mobile users: Current deployments and prospectives
JP2015519761A (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, COMMUNICATION SYSTEM, CONTROL DEVICE, AND PROGRAM
US11665634B2 (en) Interface selection using domain name service (DNS) round trip time (RTT)
EP3292673B1 (en) Billing engine and method of use
KR101859382B1 (en) Scheduling policy server and method for controlling wireless data network connect function in scheduling policy server

Legal Events

Date Code Title Description
AS Assignment

Owner name: WEFI INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:CONTIGO MOBILITY, INC.;REEL/FRAME:031078/0892

Effective date: 20070321

Owner name: CONTIGO MOBILITY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHERZER, TAMIR;SCHERZER, SHIMON;REEL/FRAME:031078/0774

Effective date: 20070828

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION