The application relates to the transmission of data to or from a wireless device during a circuit switched call, such as a voice call.
Some wireless devices, such as wireless devices operating in 3G networks, are running an increasingly large number of applications. The presence of an increasingly large number of applications has increased the frequency of short data transmissions during a voice call (more generally during a CS (circuit switched) call) either as a result of a user initiated activity or polling by various applications. This, in turn, has increased the probability of call drops due to frequent radio bearer reconfigurations during the voice call. These reconfigurations are caused by the addition and deletion of a multi-RAB (radio access bearer). A multi-RAB is primarily a combination of RABs which can, for example, be CS plus PS (packed switched), CS plus PS plus PS or PS plus PS. Deletion of a PS plus CS multi-RAB can be equivalent to simply releasing the PS RAB, leaving the CS RAB in place.
More specifically, in order to transmit data during a CS call, a PS RAB is activated and there is an associated signaling to establish the PS RAB. If there is no more data to transmit, then the PS RAB is released after completing the associated signaling procedures. The addition and deletion of the PS RAB takes time, for example about one second or more in some implementations. During that time, mobility may be lost; this is because in most networks, the network does not act on measurement reports during the time taken to set up or release the PS RAB. This can adversely affect the user experience, as while conditions may exist that would benefit from a handoff occurring, the handoff does not take place, or at least is delayed, with the result that the call may be dropped.
In addition, signaling overhead for the network operators has been increased. Typically, a network operator is not paid for signalling, and yet if the amount of signalling increases dramatically, the network may incur infrastructure costs to upgrade their network to accommodate the increased signalling.
Examples of applications that might perform background polling include Facebook™, Twitter™, and WeatherEye™. Another example of non-user initiated polling is the keep-alive/ping transmissions that take place for always-on applications or devices. Such devices may have an always-on PDP (packet data protocol) context. The wireless device uses a keep-alive/ping mechanism to prevent the PDP context from being closed by the network.
According to a broad aspect, the disclosure provides a method in a wireless device, the method comprising: transmitting user initiated polling data during a circuit switched call and when there is no circuit switched call in progress; transmitting non-user initiated polling data only when there is no circuit switched call in progress.
Another broad aspect provides a computer readable storage medium having stored thereon instructions for execution by a wireless device, that when executed cause the wireless device to execute a method comprising: transmitting user initiated polling data during a circuit switched call and when there is no circuit switched call in progress; transmitting non-user initiated polling data only when there is no circuit switched call in progress.
Another broad aspect provides a wireless device comprising: at least one antenna; wherein the wireless device is configured to transmit user initiated polling data during a circuit switched call and when there is no circuit switched call in progress, and the wireless device is further configured to transmit non-user initiated polling data only when there is no circuit switched call in progress.
Another broad aspect provides a method comprising: in a network, receiving at least one measurement report from a wireless device; based on the at least one measurement report received from the wireless device, the network allowing or suspending wireless device terminated data transfer during a circuit switched call.
Another broad aspect provides a method comprising: in a network, based on RF conditions on the radio link, allowing or suspending mobile originated data transmission during a circuit switched call.
Another broad aspect provides a computer readable storage medium having stored thereon instructions for execution by a network, that when executed cause the network to execute a method comprising: in a network, receiving at least one measurement report from a wireless device; based on the at least one measurement report received from the wireless device, the network allowing or suspending wireless device terminated data transfer during a circuit switched call.
Another broad aspect provides a computer readable storage medium having stored thereon instructions for execution by a wireless device, that when executed cause the wireless device to execute a method comprising: in a network, based on RF conditions on an uplink connection to the network, allowing or suspending mobile originated data transmission during a circuit switched call.
Another broad aspect provides a network comprising: a mobile terminated data suspender configured to receive at least one measurement report from a wireless device, and based on the at least one measurement report received from the wireless device, to allow or suspend wireless device terminated data transfer during a circuit switched call.
Another broad aspect provides a network comprising: a mobile originated data suspender configured to, based on RF conditions on an uplink connection to the network, allow or suspend mobile originated data transmission during a circuit switched call.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the claimed subject matter and illustrate the best mode of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those skilled in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Moreover, it will be appreciated that any module, component, or device exemplified herein that executes instructions may include or otherwise have access to computer readable storage medium or media for storage of information, such as computer readable instructions, data structures, program modules, or other data. A non-exhaustive list of examples of computer readable storage media include magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as CD-ROM, digital versatile disks (DVD) or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, RAM, ROM, EEPROM, flash memory or other memory technology. Any such computer storage media may be part of the device or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable storage media.
Allow non-user initiated polling data transmission only when there is no circuit switched call in progress
In a first embodiment, the wireless device is configured to allow non-user initiated polling data transmission only when there is no circuit switched call in progress. Polling is the procedure whereby an application on the wireless device tries to connect with a server to determine if there is any data for itself, for example as in case of a Facebook application looking for updates. This can be contrasted with user initiated actual data transmission such as browsing initiated by the user or an email sent by the wireless device. User-initiated polling can be due to the fact when a user opens an application, this can force an update of the application content to occur. The multi-RAB behavior will be reduced by eliminating the transmission of non-user initiated polling data from the wireless device during an active voice call, for example from native and other 3rd party applications running on the wireless device. This will reduce the multi-RAB behavior and hence the call drop rates and signaling load for the operator and should have a minimal effect on the user experience of the wireless device.
Referring now to
In some embodiments, an option is provided to the user to disable or enable non-user initiated polling data during the CS call. This option may, for example, be made available to the user through a user interface, such as a graphical user interface.
In some embodiments, an option is provided to the user to specify which application or applications are to be allowed to send non-user initiated polling data during a CS call; in this case, the remaining applications are not allowed to send non-user initiated polling data. Alternatively, an option is provided to the user to specify which application or applications are not to be allowed to send non-user initiated polling data; in this case, the remaining applications are allowed to send non-user initiated polling data. This will ensure that the user has control over the functioning of his/her wireless device.
In another embodiment, a user is given the choice of choosing between a first option in which the transmission of non-user initiated polling data during a CS call is completely disabled, and a second option that allows the user to select a limited number of applications which can send polling data during a CS call. A flowchart of such a method is depicted in
In some embodiments, the applications generate the polling data irrespective of the enable/disable status, and another entity such as the below-discussed polling manager, forwards the polling data to the radio layer, or not based on whether the transmission of non-user initiated polling data is enabled during a CS call and whether a CS call is ongoing.
In some embodiments, a polling manager is implemented that manages polling for multiple applications. The polling manager may also interact with a NAS (non-access stratum) layer of the wireless device to determine whether a CS call is ongoing or whether the device is in an idle state.
In some embodiments, the polling, either generally, or for specific applications, is allowed again following a CS call after the wireless device has been in the idle state for at least a predetermined amount of time, for example more than 5 seconds. Similarly, in some embodiments, following termination of a circuit switched call, the wireless device is configured to wait at least a predetermined period, and if no further circuit switched call is initiated during the predetermined period, then transmission of non-user initiated polling data is enabled.
In any of the options described, configuration may be performed on a per-call basis, or may be configured once in which case the selection stays in place until a further configuration takes place.
In some embodiments, each application is made aware of whether a CS call is in progress. This may, for example be achieved by maintaining a state variable to this effect. When the application has a non-user initiated polling data to send, the application self-controls whether or not to send the non-user initiated poll as a function whether or not a CS call is in progress. Specifically, if a CS call is in progress, the application does not send the non-user initiated polling data, while if there is no CS call in progress, the application does send the non-user initiated polling data. User initiated polling is still allowed irrespective of whether there is a CS call in progress.
In some embodiments, each application is made aware of whether a CS call is in progress. This may, for example be achieved by maintaining a state variable to this effect. When the application has a non-user initiated polling data to send, the application self-controls whether or not to send the non-user initiated poll as a function whether or not a CS call is in progress, and whether or not polling is enabled during a CS call or not, either for the specific application, or applications generally. Specifically, if a CS call is in progress and non-user initiated polling is disabled, the application does not send the non-user initiated polling data, while if there is no CS call in progress, the application does send the non-user initiated polling data. If a CS call is in progress and polling is not disabled, the application sends the non-user initiated polling data. User initiated polling is still allowed irrespective of whether there is a CS call in progress.
Referring now to
For the purpose of providing a context, an example network 40 is also depicted in
A wireless connection 30 is shown between the wireless device 10 and the network 40. A CS RAB 31, when present, connects the wireless device 10 to the CS MSC 48. A PS RAB 32, when present connects the wireless device to the PS SGSN 50. It is to be understood that the network 40 is a very specific example, and that the wireless device 10 can be used with networks having different configurations. In general, a CS RAB will provide CS connectivity to a CS core network, and a PS RAB will provide PS connectivity to a PS core network.
The wireless device 10 controls RABs through a RAB manager 23, for example, and is aware of whether a CS call is in progress or not.
The wireless devices of
In some embodiments, at least one of the applications 12,14 is configured to pass polling data to the polling manager 16 in such a manner that the polling manager can tell whether the polling data is user initiated or non-user initiated. In a first example, this is achieved by adding a tag to at least some of the polling data to distinguish between user initiated or non-user initiated polling data. A specific example is shown in
In a second example, the two types of polling data are sent to the polling manager through respective logical channels. An example of this is depicted in
In some embodiments, RF conditions are also used as an input to a decision as to whether to enable or disable non-user initiated polling data transmission. For example, the transmission of non-user initiated polling data can be enabled or disabled as a function of a metric representative of signal quality. This alone can be used to enable/disable the transmission, or alternatively this metric can be combined with user input. In a specific example, the wireless device is configured to receive a user input to allow a user to select whether or not to consider RF conditions for the purpose of enabling/disabling non-user polling. If the user selects that radio conditions be considered, then radio conditions are used as an input to a decision as to whether to enable or disable non-user polling. If the user selects that no radio conditions be considered, then RF conditions are not used as an input to a decision as to whether to enable or disable non-user polling.
In another embodiment, RABs are efficiently used to increase the amount of data sent per RAB. This may help to decrease the chatty behavior of the applications and increase the amount of data transmitted per unit of signaling. In some embodiments, the non-user initiated polling data from multiple applications is grouped to form grouped non-user initiated polling data. Then, the grouped non-user initiated polling data is transmitted within a single RAB. This reduces associated air interface signaling to set up multiple RABs which is costly for the operator.
In a first example of grouping polling data, at least some of the time the polling of multiple applications is combined in the sense that polling data from multiple applications is combined into a single PDU (protocol data unit) before being sent to the radio layer. For example, a respective SDU (service data unit) may be generated for multiple applications. These are then combined into one PDU for transmission. At the radio network side the SDUs are extracted. In some embodiments, this type of combining of polling data from multiple applications into a single PDU is done or not as a function of an enable/disable setting may be set at the option of a user and/or as a function of RF conditions.
An example of this is depicted in
A corresponding method is depicted in
In another example of grouping polling data, the grouping is achieved by synchronizing the timing of multiple applications. In some embodiments, such synchronization is done or not as a function of an enable/disable setting set at the option of a user and/or as a function of RF conditions. All the applications register with the polling manager with their respective polling intervals. The polling manager arranges that the polling intervals of various applications are synchronized so that the polling data can be combined and sent as a single PDU to the radio layer.
For example, assume the following polling intervals:
It can be seen that at 12:00, the polls for Twitter, Facebook, and Weathereye can all be sent without the need to establish multiple PS RABs. The polling data can be combined into a single PDU as described above. In some embodiments, the data is not combined into a single PDU; however, the benefit of reduced PS RAB setup is still achieved.
An example of this is shown in
In some embodiments, the polling interval synchronizer 230 sends messages back to the applications that instruct them to align their polling, in accordance with a determination made by the polling interval synchronizer. Referring to the example polling intervals above, this approach can be used to align the 12:02 poll by Facebook with the 12:00 poll by Twitter, such that both are sent at 12:00.
In some embodiments, the polling interval synchronizer 230 achieves synchronization by delaying the polling of one application to align it with another. Referring to the example polling intervals, above, this can be used to align the 12:02 poll by Facebook with the 12:00 poll by Twitter by receiving the poll from Twitter at 12:02, but delaying transmission of the poll until 12:02 such that both are sent at 12:02. With this approach, the polling interval synchronizer 230 does not need to signal back to the applications to achieve the synchronization. In some embodiments, the polling manager 228 operates as a function of a user input 229 and/or RF conditions input 231 which can enable or disable the synchronization of polling data.
A corresponding method is depicted at
Piggy-Back Non-User Initiated Polling Data Along with User initiated Polling Data
In another embodiment, at least some of the time, non-user initiated polling data is piggy-backed along with user initiated polling data or other data such as user-initiated actual data or application layer acknowledgements to user-terminated data. In some embodiments, the piggy-backing is performed for data from one application. In some embodiments, the piggy-backing is done for data from the same or different applications. In some embodiments, this piggy-backing is only performed when a CS call is in progress. In some embodiments, this piggy-backing is performed irrespective of whether or not a CS call is in progress. For example, suppose there is actual data, application layer acknowledgement, or user-initiated polling data to send at 11:59, and an application is scheduled/expected to send a poll at 12:00. The application can be asked for its poll early such that it can be combined with the actual data, application layer acknowledgement or user-initiated polling data. Alternatively, a copy of the polling information can be maintained, and the copy used to combine with the actual data. Then, when the 12:00 poll arrives, it is discarded. Alternatively, the schedule for the application can be moved forward by a minute such that there is no 12:00 poll at all. This piggy-backing can be in the sense of combining the data into a single PDU to be sent to the radio layer, or in the sense of not setting up multiple PS RABs. In some embodiments, a polling manager does this combining.
A first example is depicted in
A corresponding method is depicted in
A second example is depicted in
A corresponding method is depicted in
As indicated previously, in some networks, the network does not act on measurement reports from the wireless device during the multi-RAB reconfiguration procedure effectively creating a mobility lock. For example, in some 3G networks, the UTRAN (UMTS Terrestial Radio Access Network) does not act on the measurement reports from the wireless device during the multi-RAB reconfiguration. In challenging RF conditions, bursty data activity triggers multi-RAB reconfiguration which in turn causes mobility lock and may lead to call drops, as the RF conditions may deteriorate to a point of being unable to sustain the call. In some embodiments, the network takes steps to reduce multi-RAB behavior during poor RF (radio frequency) conditions.
Based on the measurement reports from the wireless device, the network can allow or suspend the mobile terminated data transfer during the circuit switched call. An example of this is depicted in
A corresponding method is depicted in
In some embodiments, based on the RF conditions on the uplink, during which the RF conditions on the downlink may be acceptable or not, the network can allow or suspend the mobile originated data transfer during the circuit switched call. An example of this is depicted in
A corresponding method is depicted in
For the examples of
Referring now to
The wireless device 100 has a housing that may be elongated vertically, or may take on other sizes and shapes (including clamshell housing structures). The keyboard 114 may include a mode selection key, or other hardware or software for switching between text entry and telephony entry. Alternatively, the wireless device 100 may have a housing that does not take on other sizes and shapes.
A microprocessor 128 is shown schematically as coupled between a keyboard 114 and a display 126. The microprocessor 128 controls operation of the display 126, as well as overall operation of the wireless device 100, in response to actuation of keys on the keyboard 114 by a user.
In addition to the microprocessor 128, other parts of the wireless device 100 are shown schematically. These include: a communications subsystem 170; a short-range communications subsystem 102; the keyboard 114 and the display 126, along with other input/output devices including a set of LEDs 104, a set of auxiliary I/O devices 106, a serial port 108, a speaker 111 and a microphone 112; as well as memory devices including a flash memory 116 and a Random Access Memory (RAM) 118; and various other device subsystems 120. The keyboard 114, speaker 111, microphone 112, display 126, and LEDs 104 are part of the user-interface.
The wireless device 100 may have a battery 121 to power the active elements of the wireless device 100. The wireless device 100 is in some embodiments a two-way radio frequency (RF) communication device having voice and data communication capabilities. In addition, the wireless device 100 in some embodiments has the capability to communicate with other computer systems via the Internet.
Operating system software executed by the microprocessor 128 is in some embodiments stored in a persistent store, such as the flash memory 116, but may be stored in other types of memory devices, such as a read only memory (ROM) or similar storage element. In addition, system software, specific device applications, or parts thereof, may be temporarily loaded into a volatile store, such as the RAM 118. Communication signals received by the wireless device 100 may also be stored to the RAM 118.
The microprocessor 128, in addition to its operating system functions, enables execution of software applications on the wireless device 100. A predetermined set of software applications that control basic device operations, such as a voice communications module 130A and a data communications module 130B, may be installed on the wireless device 100 during manufacture. In addition, a personal information manager (PIM) application module 130C may also be installed on the wireless device 100 during manufacture. The PIM application is in some embodiments capable of organizing and managing data items, such as e-mail, calendar events, voice mails, appointments, and task items. The PIM application is also in some embodiments capable of sending and receiving data items via a wireless network 110. In some embodiments, the data items managed by the PIM application are seamlessly integrated, synchronized and updated via the wireless network 110 with the device user's corresponding data items stored or associated with a host computer system.
Additional software modules, illustrated as another software module 130N, may be installed during manufacture. The software modules may, for example, include one or more modules that control the execution of the methods described above.
Communication functions, including data and voice communications, are performed through the communication subsystem 170, and possibly through the short-range communications subsystem 102. The communication subsystem 170 includes a receiver 150, a transmitter 152, a GPS receiver 162, and one or more antennas, illustrated as a receive antenna 154, a transmit antenna 156, and a GPS antenna 164. In addition, the communication subsystem 170 also includes a processing module, such as a digital signal processor (DSP) 158, and local oscillators (LOs) 160.
The specific design and implementation of the communication subsystem 170 is dependent upon the communication network in which the wireless device 100 is intended to operate. For example, the communication subsystem 170 of the wireless device 100 may be designed to operate with the Mobitex™, DataTAC™ or General Packet Radio Service (GPRS) mobile data communication networks and also designed to operate with any of a variety of voice communication networks, such as Advanced Mobile Phone Service (AMPS), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Personal Communications Service (PCS), Global System for Mobile Communications (GSM), etc. Examples of CDMA include 1X and 1x EV-DO. The communication subsystem 170 may also be designed to operate with an 802.11 Wi-Fi network, and/or an 802.16 WiMAX network. Other types of data and voice networks, both separate and integrated, may also be utilized with the wireless device 100.
Network access may vary depending upon the type of communication system. For example, in the Mobitex™ and DataTAC™ networks, wireless devices are registered on the network using a unique Personal Identification Number (PIN) associated with each device. In GPRS networks, however, network access is typically associated with a subscriber or user of a device. A GPRS device therefore typically has a subscriber identity module, (often referred to as a SIM card), in order to operate on a GPRS network.
When network registration or activation procedures have been completed, the wireless device 100 may send and receive communication signals over the communication network 110. Signals received from the communication network 110 by the receive antenna 154 are routed to the receiver 150, which provides for signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog-to-digital conversion of the received signal allows the DSP 158 to perform more complex communication functions, such as demodulation and decoding. In a similar manner, signals to be transmitted to the network 110 are processed (e.g., modulated and encoded) by the DSP 158 and are then provided to the transmitter 152 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network 110 (or networks) via the transmit antenna 156.
In addition to processing communication signals, the DSP 158 provides for control of the receiver 150, the transmitter 152, and the GPS receiver 162. For example, gains applied to communication signals in the receiver 150 and the transmitter 152 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 158.
In a data communication mode, a received signal, such as a text message or web page download, is processed by the communication subsystem 170 and is input to the microprocessor 128. The received signal is then further processed by the microprocessor 128 for an output to the display 126, or alternatively to some other auxiliary I/O devices 106. A device user may also compose data items, such as e-mail messages, using the keyboard 114 and/or some other auxiliary I/O device 106, such as a touchpad, a rocker switch, a thumb-wheel, or some other type of input device. The composed data items may then be transmitted over the communication network 110 via the communication subsystem 170.
In a voice communication mode, overall operation of the device is substantially similar to the data communication mode, except that received signals are output to a speaker 111, and signals for transmission are generated by a microphone 112. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the wireless device 100. In addition, the display 126 may also be utilized in voice communication mode, for example, to display the identity of a calling party, the duration of a voice call, or other voice call related information.
Location determination using GPS technology involves receiving GPS signals from GPS satellites 166 on the antenna 164. The GPS signals are received using the GPS receiver 162 and processed by the DSP 158. Typically, GPS signals from at least four satellites are processed. Further details of GPS are known in the art and are omitted for simplicity.
The short-range communications subsystem 102 enables communication between the wireless device 100 and other proximate systems or devices, which need not necessarily be similar devices. For example, the short range communications subsystem may include an infrared device and associated circuits and components, or a Bluetooth™ communication module to provide for communication with similarly-enabled systems and devices.
Numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure may be practiced otherwise than as specifically described herein.
For example, while the specific examples have assumed a 3G network, the same approach can be applied in other networks. In one specific example, the approach is applied to a 2G network with DTM (dual transfer mode).
Where various embodiments feature behaviour that is contingent on RF conditions, more generally such behaviour can be made dependent on some metric representative of signal quality.