The invention relates to the field of radio communications and, particularly, to managing network connectivity in a wireless apparatus.
A wireless apparatus may utilize a wireless network to gain access to the Internet and/or other networks. In connection with establishing a network connection, the wireless apparatus establishes a radio connection with the wireless network through an access point, and the network connection is built on top of the radio connection.
According to an aspect of the present invention, there is provided a method as specified in claim 1.
According to another aspect of the present invention, there is provided an apparatus as specified in claim 13.
According to another aspect of the present invention, there is provided an apparatus as specified in claim 26.
According to yet another aspect of the present invention, there is provided a computer program product embodied on a computer readable distribution medium as specified in claim 27.
Embodiments of the invention are defined in the dependent claims.
Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings, in which
The following embodiments are exemplary. Although the specification may refer to “an”, “one”, or “some” embodiment(s) in several locations, this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. Furthermore, words “comprising” and “including” should be understood as not limiting the described embodiments to consist of only those features that have been mentioned and such embodiments may contain also features/structures that have not been specifically mentioned.
A general architecture of a wireless communication system to which embodiments of the invention may be applied is illustrated in
The establishment of a radio connection between the wireless apparatus 104 and the AP 100, 102 may include an authentication process in which an identity of the wireless apparatus is established in the AP 100, 102. The authentication may comprise exchanging an encryption key used in the BSS. The wireless apparatus may have established a concurrent authentication with a plurality of IAPs, e.g. with both APs 100, 102. After the authentication, the wireless apparatus 104 may select an AP to provide the wireless apparatus with an internet connection and, as a consequence, it may carry out an association process in which the STA is fully registered in the BSS of the selected IAP 100 or 102, e.g. by providing the wireless apparatus with an association identifier (AID) for frame transmissions. The association may be considered as a physical and medium access control layer (L1/L2) radio connection between the wireless apparatus and the selected AP 100 or 102.
Let us now describe an embodiment for managing network connectivity in the wireless apparatus 104 according to an embodiment of the invention with reference to a flow diagram of
After completing the establishment of the radio connection, a network connection test is carried out in block 204, the network connection test comprising testing whether or not the access point has a working connection with a network server. Block 204 may thus comprise testing higher layer connectivity after the radio connection has been established so as to verify whether or not the connection from the access point towards the network behind the access point is working. Block 204 may comprise connecting to an internet server, e.g. a dedicated server used for testing the internet connectivity, or connecting to a local network server, e.g. an intranet server or a digital living network alliance (DLNA) server. In yet another embodiment, the network connection test tests connectivity to wireless application protocol (WAP) network services. An address, e.g. an internet protocol (IP) address of the server, may be stored in the wireless apparatus. In block 206, the result of the network connection test is evaluated. If the network connection test fails, the process proceeds to block 208 in which the radio connection is terminated and a classification of the access point is changed temporarily into a no-connectivity class indicating that the access point is not capable of providing the network connection. The duration the access point is maintained in the no-connectivity class is timer-based and defined by a timer counted in the wireless apparatus. The process may then return from block 208 to block 202 to attempt the network connection with another access point. On the other hand, if the network connection test is successful, the process proceeds to block 206 in which the radio connection is maintained and the application requesting the network connection may utilize the radio connection.
The embodiments described herein are directed to testing the internet connectivity, but it should be appreciated that other embodiments of the invention are directed to testing network connectivity in other contexts. With respect to the terminology used in the following description, a term “internet access point (IAP)” is used to refer to an access point, e.g. any one of the APs 100, 102. The IAP refers to that the AP is provided with capability to connect to the Internet. However, because of occasional malfunctions, the connection between the Internet and the IAP may fail, and some embodiments of the invention may be used to test the internet connectivity of the IAPs.
On occasion, a serving IAP may temporarily be unable to connect to the Internet for any number of reasons such as network maintenance, failure to obtain an IP address, etc. When a user attempts to use an internet service such as a web browser, and the serving IAP has an internet connectivity problem at the time, the user may be unaware as to internet browsing is not possible, while it was previously working. Some applications inform the user about the failure in the internet connection after a while, e.g. 30 seconds to 1 minute. Some applications do not provide any indication, so the user is puzzled whether the connection or the application itself is malfunctioning. Correcting this problem could conventionally require the user to manually change settings, power off a transceiver of the wireless apparatus, or even delete the known saved IAP via a user interface of the wireless apparatus so that the wireless apparatus could connect to another IAP. The above-described embodiment provides an automated procedure executed in the wireless apparatus 104 that ensures a working internet connection without user intervention, provided that there exists at least one IAP that is able to provide the internet connection.
In an embodiment, the network connection test comprises testing a network connection speed. The network connection speed test may comprise connecting a network server and measuring data rate or another metric representing the network connection speed of the connection with the server. The metrics may include at least one of the following: the data rate, a round-trip-time, a signal strength, a bandwidth, connection access technology, cost, and a provided quality-of-service (QoS) versus QoS requirements of the application. Then the determined network connection speed with a determined speed threshold which defines a minimum requirement for the network connection speed. If the determined network connection speed is less than the speed threshold, the classification of the access point may be changed in the wireless apparatus temporarily into the no-connectivity class. If the determined network connection speed is higher than the speed threshold, the network access and the radio connection may be allowed.
The no-connectivity classification of the IAP may be used in the wireless apparatus to prevent establishment of the radio connection through the IAP at least for the purpose of accessing the Internet. It should be appreciated that the radio connection to the IAP may be allowed for other purposes, e.g. using the IAP in connection with Digital Living Network Alliance (DLNA) or other services provided within the local network. The IAP may be considered as being included in a blacklist associated with IAPs through which the internet connection is not currently allowed because of the problems in the internet connectivity.
In an embodiment, the timer is the only criterion, while in another embodiment at least one other criterion is used. The other criterion may be, for example, detection that the internet connectivity of the IAP has been restored before the expiry of the timer. For example, upon an application executed in the wireless apparatus requests an internet connection through a specific IAP currently having the no-connectivity classification, the wireless apparatus may reiterate the internet connection test for the requested IAP after the establishment of the radio connection with the requested IAP has been completed. If the internet connection test is successful, the classification of the IAP may be changed from the no-connectivity class to another class that indicates the availability of the internet access. On the other hand, if the internet connection test is again failed, the no-connectivity classification of the internet access point may be maintained. In an embodiment, the counter is reset at this stage to start the counting from the start, while in another embodiment the counter is configured to proceed from its current reading unaffected. Another criterion uses a second timer to count the time for retesting the internet connectivity of all or a subset of blacklisted IAPs. IAPs now providing a working internet connection may be removed from the blacklist. Yet another criterion carries out the internet connection test upon triggered by an event in the operation of the wireless apparatus, e.g. when a screen saver is turned off, when the wireless apparatus is idle (not used by a user) or has been idle for a determined period of time, and/or carrying out an internet connection test for any WLAN IAP before establishing a connection through a cellular communication system (e.g. UMTS) so as to detect available WLAN IAPs. In another embodiment, the internet connection test for any WLAN IAP is carried out during the establishment of the cellular connection or immediately after the cellular connection has been established in order not to delay the establishment of the cellular connection.
In block 304, after fulfilling the criterion for allowing the retrial of the internet connection through the IAP in block 302 the no-connectivity classification of the IAP is removed in block 304. This may comprise changing the classification of the IAP into an access-allowed class or to any other class that allows the trial of the internet connection through the IAP. As a consequence, the removal of the IAP from the blacklist is also an automated process which allows the automated selection of the internet connection through the IAP after the allowance of the internet connectivity. This further improves the user experience.
As mentioned above, the internet connection test verifies the internet connection that utilizes the radio connection. As a connection, the internet connection may be tested on a higher protocol layer than the layer of the radio connection. In an embodiment, the internet connection test is realized on a layer higher than a Medium Access Control (MAC) layer (Layer 2) to test whether or not the internet connection works on top of the radio connection. The internet connection test may be realized on a network layer (Layer 3) or a transport layer (Layer 4), for example.
The wireless apparatus 104 may make the classification in association with IAPs, as described above. From another point of view, the wireless apparatus may see an internet connection through a set of settings that realize the internet connection. From this point of view, the classification may be directed to the set of settings, and the set of settings may include the selection of an IAP. As a consequence, upon failing the internet connection test with one set of settings that set of settings may be classified into the no-connectivity class in the above-described manner.
In an embodiment, the decision of classifying an IAP into the no-connectivity class is made for each IAP independently. For example, after failing the internet connection test of a given IAP only one IAP, the tested IAP, is classified into the no-connectivity class. Naturally, a plurality of IAPs may have the no-connectivity classification upon failing the internet connection test individually. Another embodiment relates to wireless networks where multiple IAPs form a single wireless network, e.g. a service set. In connection with IEEE 802.11 networks, such IAPs may share the same service set identifier (SSID). In this embodiment, upon one IAP of such a wireless network fails the internet connection test, all the IAPs of the same wireless network, e.g. the IAPs sharing the same SSID, security parameters, and network mode are classified into the no-connectivity class. Accordingly, the wireless apparatus may categorize a plurality of inter-related IAPs into the no-connectivity class upon failing the internet connection test in connection with one of the inter-related IAPs.
The connection manager 41 may comprise as sub-units an IAP selector 43 configured to select an IAP to provide a radio connection for the internet connection, an internet connection tester 42 configured to verify the internet connection in the above-described manner after the radio connection to the selected IAP has been established, and a timer 44 counting a quarantine time for the blacklisted IAPs. The connection manager 41 may also store the blacklist 45 listing the IAPs classified into the no-connectivity class. Depending on the embodiment, the timer 44 may count the time separately for each blacklisted IAP, or the counter 44 may count absolute time, and the connection manager may have stored in the blacklist a time instant when each IAP was added to the blacklist and/or a time instant when each IAP shall be removed from the blacklist, wherein each time instant is linked to the absolute time of the timer 44.
Upon receiving the request for the establishment of the internet connection from the application 40, the connection manager 41 may activate the IAP selector 43 to select an IAP for the internet connection. Upon selecting the IAP, the connection manager 41 may inform a radio connection controller 46 about the selected IAP, and the radio connection controller establishes the radio connection with the selected IAP. After the radio connection has been established, e.g. the L2 connection, is ready the radio connection controller may notify the connection manager about the readiness of the radio connection. Then, the connection manager may activate the internet connection tester 42 to test the internet connection to an internet server. The test may be as simple as a “ping” or a request-response type of query to an internet server. If the internet connection is verified to be successful, the connection manager 41 may maintain the radio connection. On the other hand, if the internet connection test fails, the connection manager may put the selected IAP into the blacklist for the determined period of time and instruct the IAP selector to select another IAP. In this manner, the procedure may continue until the verified internet connection is achieved or the IAP selector runs out of possible IAPs.
Now, let us consider an embodiment of the structural entities of the wireless apparatus with reference to
The wireless apparatus 104 may identify those IAPs that are able to provide the internet connection as a list, e.g. a service network access point (SNAP) list, and the CD manager 53 may exclude any blacklisted IAP from the SNAP list and then reinstate the IAP back to the SNAP list upon expiry of the timer. The operation of the CD manager 53 may be controlled by a WLAN maintenance unit 52 configured to call the internet connection tester 42, when required, and upon detecting a need to change a classification of an IAP, to configure the CD manager 53 to carry out the change in the classification of the IAP. The WLAN maintenance unit 52 may also communicate with a connection monitor server 54 configured to monitor the operation of the connections. The connection monitor server 54 may monitor the operation of the radio connections in the wireless apparatus and provide information when the radio connection is ready for the internet connectivity test, for example.
A socket server (ESOCK) module 56 may provide a communication link between the connection manager 41 and the application 40 or a part of the application, e.g. an Application-Level Roaming (ALR) client. The ESOCK module 56 may instruct a Mobility Policy Manager (MPM) to select the WLAN (radio) connection according to a determined criterion. The MPM 55 may realize at least some of the functionalities of the IAP selector 43, and it may utilize the SNAP list in the selection of the IAP. The MPM 55 may return a selection result to the ESOCK module 56, and the ESOCK module 56 may then manage the establishment of the radio connection with the selected IAP and report information on the successful radio connection to the application.
A hotspot framework (HotspotFW) 50 may mark any hotspot WLAN internet access points that have a web authentication using captive portal, for example, and it may utilize the internet connection tester 42 to test the internet connections provided by the hotspot IAPs. In an embodiment, the HotspotFW 50 is configured not to delete a hotspot IAP from a hotspot list of IAPs upon failing an internet connection test. The IAP may also be maintained in the hotspot list whether or not the user has logged in with his/her credentials via web authentication, e.g. the captive portal using the hotspot IAP. A WLAN wizard 51 may be responsible for handling user interaction in connection with the WLAN connections. The WLAN wizard 51 may, for example, control display contents provided to the user through a display of the wireless apparatus. Some embodiments related to the functionality of the WLAN wizard 51 are described in connection with
Let us now consider interaction between the modules of
Upon detecting the opened radio connection with the IAP 1, the connection monitor server 54 indicates in S8 the change in the connection status of the wireless apparatus 104 to the WLAN maintenance unit 52. In response to the reception of the notification, the WLAN maintenance unit 52 calls the internet connection tester (ICT) 42 to execute the internet connection test (S10). Let us now assume that the internet connection with the internet server fails, and the ICT reports the failure to the WLAN maintenance unit in S11. Upon receiving the notification about the failure in the internet connection test, the WLAN maintenance unit 52 may command the CD manager (CDM) to remove the IAP 1 from the SNAP list (S12). The CDM may then carry out a procedure for removing the IAP 1 from the SNAP list and inform the connection monitor server 54 about the change in the SNAP contents (S13). A return of the function is indicated by S14. In S15, the WLAN maintenance unit 52 may instruct the CDM to change the classification of the IAP 1 into the no-connectivity class. The instruction may comprise adding to the IAP 1 meta data that indicates that the IAP 1 is in the blacklist. The CDM may implement the change in the classification of the IAP 1, and the procedure may return in S16. In response to returning of S16, the WLAN maintenance unit 52 may start the timer (S17).
Upon receiving the information on the change of the SNAP contents, the connection monitor server 54 may then implement the actual modification of the SNAP contents and start the procedure of terminating the radio connection with the IAP 1 (S18). The connection monitor server 54 may inform the MPM about the change in the SNAP contents (S19), and the MPM may then start a procedure for disconnecting from the IAP 1 and selecting another IAP through IAP selection logic (S20). Upon disconnecting from the IAP 1, the MPM may instruct the ESOCK module 56 to disconnect from the IAP 1 (S21), and the ESOCK module 56 may carry out the disconnection of the radio connection and report an error in the radio connection to the application in S22. Thereafter, the MPM may select another IAP, and the procedure may proceed in a similar manner for the subsequent IAP. If the ICT 42 detects a successful internet connection after receiving the command of S10, it may report about the successful ICT in S11, and the procedure may then end.
In an embodiment, the application and the ICT use the internet connection simultaneously. In this embodiment, the application may be allowed to use the internet connection before it has been verified to operate, e.g. immediately after S7. In another embodiment, the application is allowed to use the internet connection only after the ICT has tested that the internet connection is working.
Upon receiving the report about the change of SNAP contents, the connection monitor server 54 may process the change in the SNAP contents (S58) and report the change in the SNAP contents to the MPM 55 (S59). Upon detecting the availability of the IAP 1, the MPM may initiate roaming logic to transfer any on-going internet connection to utilize the radio connection through the IAP 1 (S60). As a consequence, the MPM 55 may disconnect the cellular IAP 2 and inform the disconnection to the ESOCK module 56 (S61). The ESOCK module 56 may then forward the disconnection to an application utilizing the cellular connection (S62), and the connection may be transferred to the connection through the IAP 1.
The embodiment of
The wireless apparatus 104 provides in its display unit also information on other wireless networks it has detected. With respect to a second wireless network NW2, the display contents may comprise a unique display content showing that the second wireless network has the no-connectivity classification to indicate that the second wireless network is able to provide a radio connection but not a working internet connection. The unique display contents representing the no-connectivity classification may comprise an icon showing a problem, e.g. an error triangle illustrated in
With respect to a third wireless network NW3, this network may have been detected by the wireless apparatus, but the wireless apparatus has not established any connection with the network NW3. As a consequence, the wireless apparatus may show in textual form that it has no knowledge of the internet connectivity of the wireless network NW3, e.g. with word “unknown”. The icon on the left hand side may be displayed as dimmed to represent that the wireless apparatus 104 has no connection with the network NW3, and the signal strength associated with the network NW3 may be shown with the number of arches.
Another example of the unique display content may be display contents that show that the IAP is able to provide the internet connectivity but a web authentication is needed to gain access to the Internet. For example, a hotspot IAP may require a web authentication. With respect to a fourth wireless network NW4, let us assume that the fourth wireless network is operated by a hotspot IAP, and that the wireless apparatus 104 has detected the fourth wireless network NW4 as the hotspot or, in other words, as an IAP using captive portal, for example. Upon detecting the wireless network NW4 in the list of hotspots, the display contents associated with the wireless network NW4 may show the need for the internet authentication in a textual form, e.g. text “web authentication needed”. This expands the number of unique display contents associated with the different wireless networks by providing two states as combined with those listed above: web authentication needed and web authentication not necessary.
The apparatus may comprise a communication controller circuitry 60 configured to control the communications in the wireless apparatus and the management of the connectivity. The communication controller circuitry 60 may comprise a control part 64 handling control signalling communication with respect to transmission, reception, and extraction of control or management frames including establishing radio connections and terminating the radio connections, as described above. The communication controller circuitry 60 may further comprise a data part 66 that handles transmission and reception of payload data during transmission opportunities of the wireless apparatus (transmission) or transmission opportunities of other wireless apparatuses (reception). The communication controller circuitry 50 may further comprise the above-described connection manager 41 comprising the internet connection tester 42. The connection manager may instruct the control part 64 to establish the radio connection with a selected IAP and, upon receiving a notification of the completed radio connection establishment, the connection manager 41 may call the internet connection tester 42 to test the internet connectivity. The internet connection tester may 42 instruct the data part 66 to transmit a higher layer packet to an internet server so as to test the internet connection. On the basis of whether or not the internet connection tester receives a response from the internet server through the data part 66, the internet connection tester 42 reports the results of the test to the connection manager 41, and the connection manager 41 may select a new IAP, if necessary.
The apparatus may further comprise an application processor circuitry 68 configured to execute applications in the apparatus. The application processor circuitry 68 may be configured to communicate with the communication control circuitry with respect to providing the applications with an internet connection. The apparatus may further comprise the timer 44. In the communication control circuitry 60 or in communication with the communication control circuitry 60 (as shown in
The circuitries 41 and 64 to 68 may be carried out by the one or more physical circuitries or processors. In practice, the different circuitries may be realized by different computer program modules. Depending on the specifications and the design of the apparatus, the apparatus may comprise some of the circuitries 41 and 64 to 68 or all of them.
The apparatus may further comprise a memory 70 to store computer programs (software) configuring the apparatus to perform the above-described functionalities of the wireless apparatus managing the internet connectivity. The memory 70 may also store communication parameters and other information needed for the wireless communications, e.g. the rules for blacklisting IAPs and for removing the IAPs from the blacklist. The apparatus may further comprise radio interface components 62 providing the apparatus with radio communication capabilities IAPs. The radio interface components 62 may comprise standard well-known components such as amplifier, filter, frequency-converter, (de)modulator, and encoder/decoder circuitries and one or more antennas. The apparatus may further comprise a user interface 72 enabling interaction with the user of the wireless apparatus. The user interface 72 may comprise a display, a keypad or a keyboard, a loudspeaker, etc. The internet connectivity may be shown in the user interface, as described above.
In an embodiment, the apparatus carrying out the embodiments of the invention in the wireless apparatus 104 comprises at least one processor and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus to carry out the functionality of the wireless apparatus 104 in any one of the processes of
As used in this application, the term ‘circuitry’ refers to all of the following: (a) hardware-only circuit implementations such as implementations in only analog and/or digital circuitry; (b) combinations of circuits and software and/or firmware, such as (as applicable): (i) a combination of processor(s) or processor cores; or (ii) portions of processor(s)/software including digital signal processor(s), software, and at least one memory that work together to cause an apparatus to perform specific functions; and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
This definition of ‘circuitry’ applies to all uses of this term in this application. As a further example, as used in this application, the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) or portion of a processor, e.g. one core of a multi-core processor, and its (or their) accompanying software and/or firmware. The term “circuitry” would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit (ASIC) for the apparatus according to an embodiment of the invention.
The processes or methods described in
The present invention is applicable to a wireless apparatus of any one of the wireless communication systems defined above or another suitable wireless communication system. The protocols used, the specifications of wireless communication systems, their network elements and subscriber terminals, develop rapidly. Such development may require extra changes to the described embodiments. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI2012/050003 | 1/2/2012 | WO | 00 | 6/17/2014 |