Embodiments will now be described with reference to the attached drawings in which:
Unfortunately, when there has been a change in the network identifier value, the radio layer does not always inform the transport layer. Therefore, the transport layer periodically polls the radio layer for the network identifier value. A high frequency of polls allows the transport layer to maintain an accurate network identifier value. However, polling the radio layer for network identifier values at a high frequency consumes battery power of the wireless device.
According to a broad aspect there is provided a method comprising: polling for a network identifier value on a first basis; upon occurrence of an event of a predefined type, polling for the network identifier value on a more frequent basis than the first basis; and at some later time, polling for the network identifier value on the first basis.
According to another broad aspect there is provided a computer readable medium having computer executable instructions stored thereon for execution on a processor so as to implement the method summarized above.
According to a broad aspect there is provided a wireless device comprising: a wireless access radio adapted to communicate with a wireless network; a radio function adapted to facilitate communication over the wireless access radio; a transport function and an application function, one of the transport function and application function comprising a network identifier polling function, the network identifier polling function being adapted to: a) poll the radio function for a network identifier value on a first basis; b) upon occurrence of an event of a predefined type, poll the radio function for the network identifier value on a more frequent basis than the first basis, and c) at some later time, poll the radio function for the network identifier value on the first basis.
Referring now to
In
In operation, the wireless device 10 is adapted to communicate with a wireless network (not shown) via the wireless access radio 11. Such communication may be in respect of one or more of the applications 18 of the application layer 17. The radio layer 12 uses the protocol stack 13 to facilitate protocol communications over the wireless access radio 11. The radio layer 12 is aware of the network identifier value of the zone in which the wireless device 10 resides. The transport layer 14 polls for network identifier values from the radio layer 12. In some implementations, if there has been a change in the network identifier value, then the transport layer 14 initiates a registration to ensure that the wireless device 10 is “always-on”. Always-on connectivity may be important to one or more of the applications 18 of the application layer 17.
According to an embodiment of the application, the network identifier polling function 16 implements a polling scheme whereby the frequency of polling is dependent upon one or more predefined events. The transport layer 14 polls for a network identifier value on a first basis; however, upon occurrence of an event of a predefined type, the transport layer 14 polls for the network identifier value on a more frequent basis than the first basis. The higher frequency of polls allows for any changes to the network identifier value to be detected more quickly than if a slower frequency of polling was used. At some later time, the transport layer 14 resumes polling on the first basis so as to conserve battery power,.
There are many possibilities for the polling on the first basis and for the polling on the more frequent basis. The polling on the first basis involves any appropriate polling scheme such that polling is performed at a relatively low frequency or range of frequencies so as to conserve battery power. The polling on the more frequent basis involves any appropriate polling scheme such that polling is performed on a more frequent basis than the polling on the first basis. Example implementation details of the polling schemes are provided with reference to the subsequent Figures.
In the illustrated example, the network identifier polling function 16 is implemented as software and is executed on the processor 19. However, more generally, the network identifier polling function 16 may be implemented as software, hardware, firmware, or any appropriate combination thereof.
The network identifier being polled is implementation-specific and typically depends on the type of wireless system in which the wireless device 10 resides. There are many possibilities for the wireless system. In some implementations, the wireless device 10 is in a CDMA (Code Division Multiple Access) system and the network identifier is a SID (system identifier). For CDMA systems, always-on connectivity involves PPP (point-to-point protocol) connectivity. In some implementations, the wireless system includes an EVDO (Evolution Data Optimised) network. EVDO is an overly to CDMA 1X. From data connectivity point of view, EVDO and CDMA share the same PCF (Packet Control Function) box on the network side, which the wireless device connects to in order to establish a new connection. PCF is sitting behind the PDSN (Packet Data Serving Node) in network topology. In some network implementations, EVDO overlay goes further than CDMA signal so there is coverage by EVDO signals but not CDMA signals. For such areas, monitoring network identifier change of EVDO network will allow reestablishment of service if EVDO network identifier changes. The network identifier for EVDO includes a Sector ID and/or a Color Code.
In other implementations, the wireless device 10 is in a GPRS (General Packet Radio Service) system and the network identifier includes both an mcc (mobile country code) and mnc (mobile network code). For GPRS systems, always-on connectivity involves PDP (Packet Data Protocol) connectivity. In some implementations, the wireless system includes an EDGE (Evolution Data Optimised) network. Implementations with EDGE follow similar principles discussed above for EVDO, as EDGE is an enhancement to GPRS, which is an overlay to GSM.
In other implementations, the wireless device 10 is in a UMTS (Universal Mobile Telecommunications System) and the network identifier includes both an mcc and an mnc. Other wireless systems and associated network identifiers are possible. More generally, embodiments of the application are applicable to any wireless system whereby the radio layer does not provide network identification change notifications to the transport or application layer.
It is to be understood that the wireless device 10 is shown with a very specific arrangement of components and is for example purposes only. Different arrangements of components are possible. The wireless device 10 is shown with “layers” such as the radio layer 12 for implementing various functionality; however, more generally, any “function”, whether layered or not layered, may be implemented. Furthermore, components that are shown separately may be combined as a single component. For example, in some implementations, the network identifier polling function 16 is combined with the transport stack 15 as a single component. Other combinations are possible.
Referring now to
Referring first to
In some implementations, if the transport layer receives the network identifier value from the radio layer and observes that there has been a network identifier change, then the transport layer initiates a registration. Referring now to
There are many implementation specific possibilities for the event that that is predetermined to trigger polling on the more frequent basis. In some implementations, if it is known that changes to a network identifier value are more likely upon occurrence of a particular event, then the particular event is predetermined to trigger the higher frequency of polling. In other implementations, if it is known that having an accurate network identifier value is more important upon occurrence of a particular event, then the particular event is predetermined to trigger the higher frequency of polling. Referring now to
In some implementations, the polling on the more frequent basis is performed in a manner that is dependent upon the event that has occurred. Referring now to
There are many ways that the polling on the more frequent basis can be dependent upon the event that has occurred. In some implementations, the transport layer polls for the network identifier value for a time duration that is dependent upon the event that has occurred. In other implementations, the transport layer polls for the network identifier value with a constant frequency that is dependent upon the event that has occurred. In other implementations, the transport layer polls for the network identifier value with a variable frequency that is dependent upon the event that has occurred. Other implementations are possible.
Referring now to
There are many ways that the transport layer may determine whether or not the polling on the more frequent basis should be restarted. In some implementations, the transport layer makes this determination based on user input. For example, the user of the wireless device can input their preference for PPP connectivity versus preserving battery power. If the user prefers to conserve battery power, then the transport layer does not restart the polling on the more frequent basis. However, if the user has a stronger preference for PPP connectivity, then the transport layer restarts the polling on the more frequent basis. In other implementations, the transport layer determines whether or not to restart polling based on a hard-coded setting that cannot be manipulated by the user. Other implementations are possible.
In some implementations, the transport layer polls for the network identifier only if the wireless access radio of the wireless device is on. If the wire less access radio is not on, then PPP connectivity is no longer possible. Therefore, there is little or no use in polling for the network identifier when the wireless access radio is off.
Referring now to
Referring first to
In the illustrated example, the polling for the network identifier value on the more frequent basis, f2 71, is done so with a constant frequency of polling. However, in other implementations, a variable frequency of polling is accomplished.
Referring now to
In the illustrated example, the decrease in frequency is non-linear. However, in other implementations, the decrease in frequency is linear. More generally, the decrease in frequency may be linear, non-linear, or an appropriate combination thereof (i.e. portions that are linear and portions that are non-linear).
In the illustrated example, the frequency of polling decreases to f1 70 at the same time as the timeout at t2 74. However, in other implementations, the frequency of polling is greater than f1 70 at the timeout at t2 74. In some implementations, the frequency of polling decreases to f1 70 upon the timeout at t2 74.
In the examples provided above with reference to
Referring now to
In the illustrated example, the observing of a network identifier change prompts the polling on the more frequent basis to end. However, in other implementations, the polling on the more frequent basis is restarted. An example of this is provided below with reference to
Referring now to
In the illustrated example, the timeout at t3 76 occurs because the transport layer does not observe another network identifier value change. In some implementations, if another network identifier value change is observed before t3 76, then the polling on the more frequent basis is restarted a second time. In some implementations, the polling on the more frequent can be restarted many times so long as network identifier changes are observed before a timeout period.
With reference to
Numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the application may be practised otherwise than as specifically described herein.