WO2017128098A1 - Timing advance value protection in mobile devices - Google Patents
Timing advance value protection in mobile devices Download PDFInfo
- Publication number
- WO2017128098A1 WO2017128098A1 PCT/CN2016/072296 CN2016072296W WO2017128098A1 WO 2017128098 A1 WO2017128098 A1 WO 2017128098A1 CN 2016072296 W CN2016072296 W CN 2016072296W WO 2017128098 A1 WO2017128098 A1 WO 2017128098A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- timing advance
- subscription
- communication device
- mobile communication
- adjustment
- Prior art date
Links
- 238000010295 mobile communication Methods 0.000 claims abstract description 226
- 230000005540 biological transmission Effects 0.000 claims abstract description 145
- 230000004044 response Effects 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000000977 initiatory effect Effects 0.000 claims abstract description 10
- 239000000969 carrier Substances 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 104
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 12
- 230000001413 cellular effect Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 9
- 230000001186 cumulative effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/004—Synchronisation arrangements compensating for timing error of reception due to propagation delay
- H04W56/0045—Synchronisation arrangements compensating for timing error of reception due to propagation delay compensating for timing error by altering transmission time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/02—Hybrid access
Definitions
- SIM Subscriber Identity Module
- mobile communication devices such as smart phones, tablet computers, and laptop computers—contain one or more Subscriber Identity Module (SIM) cards that provide users with access to multiple separate mobile telephony networks.
- mobile telephony networks include Third Generation (3G) , Fourth Generation (4G) , Long Term Evolution (LTE) , Time Division Multiple Access (TDMA) , Code Division Multiple Access (CDMA) , CDMA 2000, Wideband CDMA (WCDMA) , Global System for Mobile Communications (GSM) , Single-Carrier Radio Transmission Technology (1xRTT) , and Universal Mobile Telecommunications Systems (UMTS) .
- a SIM may utilize a particular radio access technology (RAT) to communicate with its respective network.
- RAT radio access technology
- a wireless communication device that includes one or more SIMs and connects to two or more separate mobile telephony networks supporting two or more subscriptions using one or more shared radio frequency (RF) resources/radios may be termed a multi-subscription multi-standby (MSMS) communication device.
- MSMS multi-subscription multi-standby
- One example of an MSMS device is a dual-SIM dual-standby (DSDS) communication device, which includes two SIM cards supporting two or more subscriptions that are each associated with a separate radio access technology (RAT) .
- RAT radio access technology
- the separate subscriptions share one RF resource (sometimes referred to as an RF resource chain) to communicate with two separate mobile telephony networks on behalf of their respective subscriptions.
- the other subscription is in stand-by mode and is not able to communicate using the RF resource.
- One consequence of having a plurality of subscriptions that maintain network connections simultaneously is that the subscriptions may sometimes interfer with each other’s communications.
- two subscriptions on a DSDS communication device utilize a shared RF resource to communicate with their respective mobile telephony networks, and one subscription may use the RF resource to communicate with the subscription’s mobile network at a time.
- the subscription may still need to periodically receive access to the shared RF resource in order to perform various network operations.
- an idle subscription may need the shared RF resource at regular intervals to perform idle-mode operations to receive network paging messages in order to remain connected to the network.
- the subscription actively using an RF resource that is shared with an idle subscription may occasionally be forced to interrupt the active subscription’s RF operations so that the idle subscription may use the shared RF resource to perform the idle subscription’s idle-standby mode operations (e.g., paging monitoring, cell reselection, system information monitoring, etc. ) .
- This process of switching access of the shared RF resource from the active subscription to the idle subscription is sometimes referred to as a “tune-away, ” as the RF resource tunes away from the active subscription’s frequency band or channel and tune to the idle subscription’s frequency bands or channels.
- access to the RF resource may switch from the idle subscription to the active subscription via a “tune-back” operation.
- the tune-away may cause issues with timing advance coordination between the active subscription and its associated network.
- Various examples of methods for initiating a timing advance protection window on a mobile communication device may include determining an uplink transmission interval for a first subscription of the mobile communication device, determining an adjustment threshold based on the uplink transmission interval, incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network, determining whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold, and ignoring the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- Some example methods may further include adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold. Some example methods may further include determining whether the uplink transmission interval is within a predetermined range, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval is not within the predetermined range.
- Some example methods may further include determining whether the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the first subscription has received the predetermined response pattern from the first network.
- the predetermined response pattern may be a threshold number of consecutive acknowledgements.
- Some example methods may further include determining whether a timing advance protection window time period has expired, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the timing advance protection window time period has expired.
- the timing advance protection window time period may be a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- Some example methods may further include determining whether a tune-away from the first subscription to a second subscription of the mobile communication device has been initiated, and initiating a new timing advance protection window time period in response to determining that the tune-away has been initiated. Some example methods may further include determining whether the uplink transmission interval is within a predetermined range, and extending the new timing advance protection window time period in response to determining that the uplink transmission interval is within the predetermined range. In some examples, the new timing advance protection window time period may be extended by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription. Some example methods may further include determining whether the uplink transmission interval exceeds a predetermined upper bound, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval exceeds the predetermined upper bound.
- determining the adjustment threshold may be further based on an estimated velocity of the mobile communication device. Some example methods may further include determining the uplink transmission interval for each of a plurality of timing advance groups, in which each timing advance group includes one or more component carriers of the first subscription, determining the adjustment threshold based on the uplink transmission interval for each of the plurality of timing advance groups, incrementing the timing advance adjustment counter for each of the plurality of timing advance groups by the timing advance adjustment value received from the first network, determining, for each of the plurality of timing advance groups, whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold, and ignoring the timing advance adjustment value for any of the plurality of timing advance groups for which the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- Further examples include a mobile communication device including a memory, a radio frequency (RF) resource, and a processor configured to perform operations of the methods described herein. Further examples include a non-transitory processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a mobile communication device to perform operations of the methods described herein. Further examples include a mobile communication device that includes means for performing functions of the operations of the methods described herein.
- RF radio frequency
- FIG. 1 is a communication system block diagram of mobile telephony networks suitable for use with various examples.
- FIG. 2 is a component block diagram of a multi-SIM communication device according to various examples.
- FIG. 3 is a timing diagram illustrating the operation of timing advances for mobile communication devices in communication with a network base station.
- FIG. 4 is a timing diagram illustrating an error in determining timing advances for mobile communication devices in communication with a network base station.
- FIGS. 5A and 5B are timing diagrams illustrating a timing advance protection window with early termination according to various examples.
- FIG. 6 is a timing diagram illustrating a timing advance protection window triggered by a tune-away according to various examples.
- FIG. 7 is a process flow diagram illustrating a method for initiating a timing advance protection window on a mobile communication device according to various examples.
- FIG. 8 is a process flow diagram illustrating a method for initiating a timing advance protection window triggered by a tune-away on a mobile communication device according to various examples.
- FIG. 9 is a component block diagram of a mobile communication device suitable for implementing some example methods.
- multi-SIM communication device refers to any one or all of cellular telephones, smart phones, personal or mobile multi-media players, personal data assistants, laptop computers, tablet computers, smart books, smart watches, palm-top computers, wireless electronic mail receivers, multimedia Internet-enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices that includes one or more SIM modules (e.g., SIM cards) , a programmable processor, memory, and circuitry for connecting to at least two mobile communication network with one or more shared RF resources.
- SIM modules e.g., SIM cards
- a programmable processor programmable processor
- memory programmable processor
- circuitry for connecting to at least two mobile communication network with one or more shared RF resources.
- Multi-SIM communication devices may be configured to operate in DSDS mode.
- SIM module As used herein, the terms “SIM module, ” “SIM card, ” and “subscriber identification module” are used interchangeably to refer to a memory module that may be an integrated circuit or embedded into a removable card, and that stores an International Mobile Subscriber Identity (IMSI) , related key, and/or other information used to identify and/or authenticate a multi-standby communication device on a network and enable a communication service with the network.
- IMSI International Mobile Subscriber Identity
- the term “subscription” is used herein as a shorthand reference to refer to the communication service associated with and enabled by the information stored in a particular SIM as the SIM and the communication network, as well as the services and subscriptions supported by that network, correlate to one another.
- references are made to a first subscription and a second subscription.
- the references to the first and second subscriptions are arbitrary and are used merely for the purposes of describing the examples.
- the device processor may assign any indicator, name, or other designation to differentiate the subscriptions on the mobile communication device.
- a network base station may utilize timing advance values to coordinate communications with mobile communication devices that are camped on the base station. For example, a base station may communicate with two mobile communication devices, one located next to the base station and other located five kilometers away from the base station. Uplink communications sent by the mobile communication device next to the base station are received by the base station almost instantaneously. However, uplink communications sent by the mobile communication device five kilometers away arrive at the base station after a certain delay period because of the distance traveled by the uplink signal.
- Network base stations usually assign specific time slots in which to receive communications from each mobile communication device camped on the base station. If all the mobile communication devices are the same distance from the base station, then the base station receives communications from each mobile communication device without conflict. However, when the mobile communication devices are varying distances from the base station, the base station may receive one mobile communication device’s uplink communication before the base station is finished receiving another device’s uplink communication. Timing advance values are used by a mobile communication device to adjust for signal propagation delay due to the distance between the mobile communication device and the base station. Timing advances may also counteract a number of other factors that influence uplink timing, including changes in the propagation environment, oscillation drift in the mobile communication device, and other RF propagation effects not related to the transmission distance.
- a base station may utilize time tracking loops to track timing advance values for each mobile communication device camps to the base station.
- a timing advance value may be expressed as an integer, for example an integer between 0-63, with each integer corresponding to a unit of time, for example approximately a half microsecond (0.5 ⁇ s) .
- a timing advance value of 2 may indicate that the mobile communication device should transmit an uplink communication approximately one microsecond before the device’s allotted time slot at the base station (i.e., advance the uplink communication time)
- a timing advance value of -2 may indicate that the mobile communication device should transmit an uplink communication approximately one microsecond after the device’s allotted time slot at the base station (i.e., delay the uplink communication time) .
- the base station may periodically or aperiodically recalculate the uplink timing between the base station and mobile communication device. For example, if the base station determines that the mobile communication device has moved toward or away from the base station (e.g., the device is in a car traveling away from the base station) , the base station may generate a timing advance adjustment value.
- the timing advance adjustment value adjusts the prior timing advance value on the mobile communication device based on the change in uplink timing between the base station and the mobile communication device. That is, the timing advance adjustment value is relative to the last determined timing advance value on the mobile communication device.
- the timing advance adjustment value generated by the base station may be 1.
- the mobile communication device receives the timing advance adjustment value and adjusts the prior timing advance value of 2, resulting in a new timing advance value of 3.
- the new advance timing value may be -1.
- the mobile communication device receives the timing advance adjustment value and adjusts the prior timing advance value of 2, resulting in a new timing advance value of 1.
- the base station sends the timing advance adjustment value to the mobile communication device, which adjusts the timing advance value stored on the mobile communication device accordingly.
- the base station may make an error in determining the timing advance adjustment value (e.g., the change in distance between the base station and the mobile communication device since the last determination) . This may occur when the uplink transmission interval of a subscription is within a certain range, which may cause problems with a connected state reception mode on the network.
- a tune-away may also cause errors in the timing advance adjustment value. For example, during a tune-away the active subscription is not in communication with active subscription’s associated network. After the tune-away, the base station may make an error in determining where the mobile communication device is and thus may generate an erroneous timing advance adjustment value.
- the base station may generate a timing advance adjustment value of 20 after a tune-away, which may imply that the mobile communication device has moved many kilometers during the duration of the tune-away (on the order of milliseconds) .
- a timing advance adjustment value is clearly erroneous.
- communications with the base station may not arrive at the allotted time slot at the base station and may collide with another device’s transmission to the base station.
- the uplink connection between the mobile communication device and the base station may be dropped. Reestablishing the connection and determining the correct timing advance value may take a relatively long time for the mobile communication device and the base station to accomplish.
- the network base station may also increase the redundancy of the modulation and coding scheme used for the mobile communication device, leading to a decrease in throughput even after the uplink connection is restored.
- the various examples include methods implemented with a processor of a mobile communication device for initiating a timing advance protection window on a mobile communication device.
- the mobile communication device may initiate a timing advance protection window under two circumstances. In a first circumstance, the mobile communication device may initiate a timing advance protection window when a tune-away occurs from an active subscription (i.e., the subscription receiving the timing advance adjustment values) to support another subscription. In that case, the timing advance protection window starts when the tune-away starts.
- the mobile communication device may initiate a timing advance protection window when the uplink transmission interval of the subscription is determined to be within a predetermined range of sub-frame values. The mobile communication device may periodically calculate the uplink transmission interval, and trigger the timing advance protection window when uplink transmission interval falls within the predetermined range of sub-frame values.
- the device processor may determine an uplink transmission interval for a first subscription of the mobile communication device and determine an adjustment threshold based on the uplink transmission interval and the estimated velocity of the mobile communication device.
- the device processor may increment a timing advance adjustment counter by a timing advance adjustment value received from a first network.
- the device processor may determine whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold, and ignore the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- the device processor may adjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold.
- the timing advance protection window may terminate after a certain time period, for example after a time period equal to a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription. In some cases, the timing advance protection window may terminate before expiry of the time period if the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network (e.g. a number of consecutive acknowledgements) . If the timing advance protection window is triggered by a tune-away and the uplink transmission interval is within a predetermined range, the time period may be extended by a certain amount. If the first subscription is capable of carrier aggregation, the timing advance protection window may be applied to each of one or more timing advance groups, in which each timing advance group includes one or more component carriers that share the same timing advance value.
- a first mobile network 102 and a second mobile network 104 typically each include a plurality of cellular base stations (e.g., a first base station 130 and a second base station 140) .
- a first multi-SIM communication device 110 may be in communication with the first mobile network 102 through a cellular connection 132 to the first base station 130.
- the first multi-SIM communication device 110 may also be in communication with the second mobile network 104 through a cellular connection 142 to the second base station 140.
- the first base station 130 may be in communication with the first mobile network 102 over a wired connection 134.
- the second base station 140 may be in communication with the second mobile network 104 over a wired connection 144.
- a second multi-SIM communication device 120 may similarly communicate with the first mobile network 102 through the cellular connection 132 to the first base station 130.
- the second multi-SIM communication device 120 may also communicate with the second mobile network 104 through the cellular connection 142 to the second base station 140.
- the cellular connections 132 and 142 may be made through two-way wireless communication links, such as 4G LTE, 3G, CDMA, TDMA, WCDMA, GSM, and other mobile telephony communication technologies.
- the multi-SIM communication devices 110, 120 may be different distances away from the first base station 130 and the second base station 140. For example, the multi-SIM communication device 110 may be much closer to the first base station 130 than the multi-SIM communication device 120.
- the first base station 130 may maintain a time tracking loop for the multi-SIM communication devices 110, 120 to keep track of the distance between the multi-SIM communication devices 110, 120 and the first base station 130.
- the time tracking loops may be used to generate timing advance adjustment values for the multi-SIM communication devices 110, 120, which depend on the change in distance between the first base station 130 and the multi-SIM communication devices 110, 120.
- the multi-SIM communication devices 110, 120 may each maintain timing advance values, which are adjusted by timing advance adjustment values calculated by the first base station 130 and transmitted to each of the multi-SIM communication devices 110, 120.
- the second base station 140 may also maintain a time tracking loop for the multi-SIM communication devices 110, 120 similarly to the first base station 130.
- the multi-SIM communication devices 110, 120 are shown connected to the first mobile network 102 and, optionally, to the second mobile network 104, in some examples (not shown) , the multi-SIM communication devices 110, 120 may include two or more subscriptions to two or more mobile networks and may connect to those subscriptions in a manner similar to those described above.
- the first multi-SIM communication device 110 may optionally establish a wireless connection 152 with a peripheral device 150 used in connection with the first multi-SIM communication device 110.
- the first multi-SIM communication device 110 may communicate over a link with a Bluetooth-enabled personal computing device (e.g., a “smart watch” ) .
- the first multi-SIM communication device 110 may optionally establish a wireless connection 162 with a wireless access point 160, such as over a Wi-Fi connection.
- the wireless access point 160 may be configured to connect to the Internet 164 or another network over a wired connection 166.
- the second multi-SIM communication device 120 may similarly be configured to connect with the peripheral device 150 and/or the wireless access point 160 over wireless links.
- FIG. 2 is a functional block diagram of a multi-SIM communication device 200 suitable for implementing various examples.
- the multi-SIM communication device 200 may be similar to one or more of the multi-SIM communication devices 110, 120 as described.
- the multi-SIM communication device 200 may include a first SIM interface 202a, which may receive a first identity module SIM-1 204a that is associated with a first subscription.
- the multi-SIM communication device 200 may also optionally include a second SIM interface 202b, which may receive an optional second identity module SIM-2 204b that is associated with a second subscription.
- a SIM in various examples may be a Universal Integrated Circuit Card (UICC) that is configured with SIM and/or Universal SIM applications, enabling access to, for example, GSM and/or UMTS networks.
- the UICC may also provide storage for a phone book and other applications.
- a SIM may be a UICC removable user identity module (R-UIM) or a CDMA subscriber identity module (CSIM) on a card.
- R-UIM UICC removable user identity module
- CCM CDMA subscriber identity module
- a SIM card may have a CPU, ROM, RAM, EEPROM and I/O circuits.
- a SIM used in various examples may contain user account information, an international mobile subscriber identity (IMSI) , a set of SIM application toolkit (SAT) commands, and storage space for phone book contacts.
- IMSI international mobile subscriber identity
- SAT SIM application toolkit
- a SIM card may further store home identifiers (e.g., a System Identification Number (SID) /Network Identification Number (NID) pair, a Home PLMN (HPLMN) code, etc. ) to indicate the SIM card network operator provider.
- An Integrated Circuit Card Identity (ICCID) SIM serial number may be printed on the SIM card for identification.
- a SIM may be implemented within a portion of memory of the multi-SIM communication device 200 (e.g., in a memory 214) , and thus need not be a separate or removable circuit, chip or card.
- the multi-SIM communication device 200 may include at least one controller, such as a general processor 206, which may be coupled to a coder/decoder (CODEC) 208.
- the CODEC 208 may in turn be coupled to a speaker 210 and a microphone 212.
- the general processor 206 may also be coupled to the memory 214.
- the memory 214 may be a non-transitory computer-readable storage medium that stores processor-executable instructions.
- the instructions may include routing communication data relating to the first or second subscription though a corresponding baseband-RF resource.
- the memory 214 may store an operating system (OS) , as well as user application software and executable instructions.
- OS operating system
- the memory 214 may store timing advance values for determining timing offsets for communicating with network base stations.
- the general processor 206 and the memory 214 may each be coupled to at least one baseband modem processor 216.
- Each SIM and/or RAT in the multi-SIM communication device 200 e.g., the SIM-1 204a and/or the SIM-2 204b
- a baseband-RF resource may include the baseband modem processor 216, which may perform baseband/modem functions for communications with/controlling a RAT, and may include one or more amplifiers and radios, referred to generally herein as RF resources (e.g., RF resource 218) .
- baseband-RF resources may share the baseband modem processor 216 (i.e., a single device that performs baseband/modem functions for all RATs on the multi-SIM communication device 200) .
- each baseband-RF resource may include physically or logically separate baseband processors (e.g., BB1, BB2) .
- the RF resource 218 may be a transceiver that performs transmit/receive functions for each of the SIMs/RATs on the multi-SIM communication device 200.
- the RF resource 218 may include separate transmit and receive circuitry, or may include a transceiver that combines transmitter and receiver functions. In some examples, the RF resource 218 may include multiple receive circuitries.
- the RF resource 218 may be coupled to a wireless antenna (e.g., a wireless antenna 220) .
- the RF resource 218 may also be coupled to the baseband modem processor 216.
- the general processor 206, the memory 214, the baseband processor (s) 216, and the RF resource 218 may be included in the multi-SIM communication device 200 as a system-on-chip 250.
- the first and second SIMs 204a, 204b and their corresponding interfaces 202a, 202b may be external to the system-on-chip 250.
- various input and output devices may be coupled to components on the system-on-chip 250, such as interfaces or controllers.
- Example user input components suitable for use in the multi-SIM communication device 200 may include, but are not limited to, a keypad 224, a touchscreen display 226, and the microphone 212.
- the keypad 224, the touchscreen display 226, the microphone 212, or a combination thereof may perform the function of receiving a request to initiate an outgoing call.
- the touchscreen display 226 may receive a selection of a contact from a contact list or receive a telephone number.
- either or both of the touchscreen display 226 and the microphone 212 may perform the function of receiving a request to initiate an outgoing call.
- the touchscreen display 226 may receive a user selection of a contact from a contact list or receive a telephone number.
- the request to initiate the outgoing call may be in the form of a voice command received via the microphone 212.
- Interfaces may be provided between the various software modules and functions in the multi-SIM communication device 200 to enable communication between them, as is known in the art.
- the two SIMs 204a, 204b, the baseband processor BB1, BB2, the RF resource 218, and the wireless antenna 220 may constitute two or more radio access technologies (RATs) .
- the multi-SIM communication device 200 may be a communication device that includes a SIM, baseband processor, and RF resource configured to support two different RATs, such as LTE and GSM. More RATs may be supported on the multi-SIM communication device 200 by adding more SIM cards, SIM interfaces, RF resources, and antennae for connecting to additional mobile networks.
- the multi-SIM communication device 200 may include, among other things, additional SIM cards, SIM interfaces, a plurality of RF resources associated with the additional SIM cards, and additional antennae for supporting subscriptions communications with additional mobile networks.
- FIG. 3 illustrates the operation of timing advances for a network base station, such as an eNodeB station for a LTE network.
- a timing diagram 300 shows uplink transmissions for a first mobile communication device 302 (e.g. 110, 200) , labeled UE1, and a second mobile communication device 304, labeled UE2.
- the mobile communication devices 302 and 304 communicate with a base station 306 (e.g., 130, 140 in FIG. 1) , labeled eNodeB.
- the mobile communication devices 302 and 304 are different distances away from the base station 306.
- the first mobile communication device 302 may be farther from base station 306 than the second mobile communication device 304.
- the base station 306 allots specific time slots to receive transmissions from the mobile communication devices 302, 304, illustrated by vertical dashed lines in the timing diagram 300.
- the base station 306 may have time tracking loops that generate timing advance adjustment values for the mobile communication devices 302, 304.
- the second mobile communication device 304 may transmit data blocks 310a, 310b with a timing advance value 314.
- the timing advance value 314 may represent a time offset in which the second mobile communication device 304 should transmit the data blocks 310a, 310b so that the data blocks 310a, 310b arrive at the base station 306 during the allotted time slot for the second mobile communication device 304.
- the first mobile communication device 302 may transmit data blocks 308a, 308b with a timing advance value 312.
- the timing advance value 312 may represent a time offset in which the first mobile communication device 302 should transmit the data blocks 308a, 308b so that the data blocks 308a, 308b arrive at the base station 306 during the allotted time slot for the first mobile communication device 302.
- the timing advance values 312, 314 may initially be zero when the uplink connection is first established, but are periodically adjusted by the base station 306.
- the timing advance value 312 is larger than the timing advance value 314. This may indicate that the first mobile communication device 302 is farther from the base station 306 than the second mobile communication device 304.
- the difference in distance means the data blocks 308a, 308b take a longer time to reach the base station 306 than the data blocks 310a, 310b.
- the timing advance value 312 is greater to account for the additional time for the data blocks 308a, 308b to reach the base station 306.
- Other factors that may influence the uplink timing include changes in the propagation environment, oscillation drift in the mobile communication device, and Doppler effects not related to a change in distance.
- the timing advance values 312, 314 may be stored on the mobile communication devices 302, 304 respectively.
- the base station 306 may store a time tracking loop for each of the mobile communication devices 302, 304 and other devices camped on the base station 306.
- the time tracking loops may calculate timing advance adjustment values that are then sent to the mobile communication devices 302, 304.
- a timing advance value may be expressed as an integer, for example an integer between 0-63. Each integer may correspond to a unit of time, for example approximately a half microsecond (0.5 ⁇ s) .
- the base station 306 may periodically recalculate the uplink timing between the base station 306 and the mobile communication devices 302, 304.
- the base station 306 may determine a timing advance adjustment value for the mobile communication devices 302, 304 based on the uplink timing calculations.
- the base station 306 may generate a timing advance adjustment value for each of the mobile communication devices 302, 304.
- the timing advance adjustment value adjusts the timing advance value for the mobile communication devices 302, 304 based on the change in distance or other factors.
- the base station 306 sends the timing advance adjustment values to each of the mobile communication devices 302, 304, which may result in a change to the timing advance value stored on each of the mobile communication devices 302, 304.
- FIG. 4 illustrates an example of an error in determined timing advance adjustment values.
- a timing diagram 400 shows uplink transmissions for a first mobile communication device 402 (e.g., 110, 200) , labeled UE1, and a second mobile communication device 404, labeled UE2.
- the mobile communication devices 402 and 404 communicate with a base station 406 (e.g., 130, 140) , labeled eNodeB.
- the mobile communication devices 402 and 404 are different distances away from the base station 406.
- the first mobile communication device 402 may be farther from base station 406 than the second mobile communication device 404.
- the base station 406 allots specific time slots to receive transmissions from the mobile communication devices 402, 404, illustrated by vertical dashed lines in the timing diagram 400.
- the base station 406 may have time tracking loops that track the timing advance values for the mobile communication devices 402, 404.
- the second mobile communication device 404 may transmit data blocks 410a, 410b including a timing advance value 414.
- the timing advance value 414 may represent a time offset in which the second mobile communication device 404 should transmit the data blocks 410a, 410b so that the data blocks 410a, 410b arrive at the base station 406 during the allotted time slot for the second mobile communication device 404.
- the first mobile communication device 402 may be scheduled to transmit the data block 408a with a timing advance value 412. However, in the illustrated example, at that time the first mobile communication device 402 performs a tune-away from the active subscription communicating with the base station 406 to another subscription communicating with another network. For example, the first mobile communication device 402 may tune-away from an LTE subscription communicating with the base station 406 to a GSM subscription communicating with another base station. As a result, the data block 408a is not transmitted to the base station 406.
- the base station 406 may calculate an erroneous timing advance adjustment value for the first mobile communication device 402 that does not correspond to the actual changes in the uplink timing. For example, the first mobile communication device 402 may not have moved since before the tune-away, but the base station may calculate a positive timing advance adjustment value, indicating that the first mobile communication device 402 has moved further away from the base station 406.
- the base station 406 may communicate the erroneous timing advance adjustment value to the first mobile communication device 402.
- the mobile communication device adjusts the timing advance value 412 by the timing advance adjustment value, leading to a new timing advance value 416.
- the timing advance value 416 is larger than the timing advance value 412, but the timing advance value 416 may also be smaller depending on the timing advance adjustment value calculated by the base station 406.
- the data block 408b arrives at the base station 406 before the end of the transmission of data block 410b by the second mobile communication device 404. If that happens, the base station 406 may ignore the data block 408b because the data block 408b did not arrive at the allotted time slot. This results in a loss of the uplink connection between the first mobile communication device 402 and the base station 406. It may take a long time for the uplink connection to be reestablished, and the base station may penalize the first mobile communication device 402 by reducing the efficacy of the modulation and coding scheme used to communicate with the first mobile communication device 402.
- timing advance protection window that may be initiated to monitor and protect against erroneous timing advance adjustment values.
- the mobile communication device may determine whether the absolute value of a cumulative sum of the timing advance adjustment values received from the network during the protection window exceeds an adjustment threshold. If the mobile communication device determines that the absolute value of the cumulative sum of the timing advance adjustment values exceeds the adjustment threshold, the mobile communication device may ignore the timing advance adjustment value until the absolute value of the cumulative sum is less than the adjustment threshold or the timing advance protection window ends. As long as the cumulative timing advance adjustment value received from the network is less than the adjustment threshold, the mobile communication device may apply the timing advance adjustment value to the timing advance value stored by the mobile communication device. Calculating the cumulative sum allows the mobile communication device to detect errors in large single values of the timing advance adjustment value, as well as smaller accumulated errors from consecutive timing advance adjustment values.
- the cumulative sum of the timing advance adjustment values may be represented by a timing advance adjustment counter.
- the adjustment threshold may be calculated every time a new timing advance protection window is initiated.
- the adjustment threshold may be based on the uplink transmission interval of the subscription.
- An uplink transmission interval ⁇ T UL-Tx may be determined as the number of sub-frames between two transmission packets sent by the subscription. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames (i.e., ⁇ T UL-Tx ⁇ 5,000) , the adjustment threshold may be set at three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames (i.e., 5,000 ⁇ ⁇ T UL-Tx ⁇ 8,000) , the adjustment threshold may be set at four. This accounts for the fact that as the time between transmissions increase, the larger the timing advance adjustment value may be before the adjustment is likely to be erroneous because there was more time for the mobile communication device to towards or away from the base station.
- the mobile communication device may impose an upper limit on when the adjustment threshold is applied. If the uplink transmission interval exceeds a predetermined upper bound, the mobile communication device may not apply the adjustment threshold, in which case the mobile communication device may accept and apply the timing advance adjustment value received from the network.
- the predetermined upper bound on when the adjustment threshold is applied may be an uplink transmission interval that is long enough that large timing advance adjustment values are valid. In a non-limiting example, the predetermined upper bound on when the adjustment threshold is applied may be determined to be 10, 240 sub-frames (equivalent to 10.24 seconds) .
- the adjustment threshold may also be based on the estimated velocity of the mobile communication device.
- the estimated velocity of the mobile communication device may be calculated as in which v D is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device, CarrierFreq is the center frequency used by the network base station to communicate with the subscription, and c is the speed of light.
- the estimated velocity v D m may be compared to a threshold representing a high speed of travel (e.g., the maximum speed of high speed trains in the country or region of service) .
- the threshold may be 170 kilometers/hour (106 miles per hour) .
- a high speed flag in memory may be set that indicates a higher adjustment threshold may be used. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames (i.e., ⁇ T UL-Tx ⁇ 5,000) and the high speed flag is not set, the adjustment threshold may be set at three. However, if the high speed flag is set, the adjustment threshold may be set at five with the same uplink transmission interval.
- the high speed flag may enable the mobile communication device to account for circumstances in which the device is travelling at a high rate of speed and thus larger timing advance adjustment values may be valid.
- a mobile communication device may store a look-up table that relates combinations of uplink transmission intervals and high speed flag values to adjustment threshold values.
- the timing advance protection window may be initiated when the uplink transmission interval (i.e., the time between uplink transmissions) of a subscription is within a predetermined range. This range may account for periods in which the uplink transmission interval is long enough that the network may generate erroneous timing advance adjustment values (e.g., an uplink transmission interval that triggers a connected state reception mode on the network) .
- the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound and a lower bound (i.e., M ⁇ ⁇ T UL-Tx ⁇ N) .
- the lower bound M may be set at 10 sub-frames
- the upper bound N may be set at 10, 240 sub-frames.
- the timing advance protection window may last for a predetermined time period.
- the duration of the timing advance protection window may be equal to a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
- the inactivity time and the period of the short discontinuous reception cycle are variables that may be maintained by the network and obtained from the network by the mobile communication device when the timing advance protection window is initiated.
- the timing advance protection window may be terminated by the mobile communication device earlier than the usual time period. For example, if the subscription receives a predetermined response pattern from the network in response to uplink transmissions, the mobile communication device may terminate the timing advance protection window.
- a predetermined response pattern may be a threshold number of consecutive acknowledgement (ACK) messages received from the network (e.g. four consecutive ACKs) . This threshold accounts for the fact that successful reception by the network of all transmissions sent by the mobile communication device for a subscription indicates that there is no timing advance value mismatch between the subscription and the network.
- ACK consecutive acknowledgement
- the mobile communication device may treat the reception of an ACK message without the new data indicator (NDI) bit toggled as reception of a non-acknowledgement (NAK) message.
- NDI new data indicator
- Other examples of predetermined response patterns may be a threshold number of non-acknowledgements (NAKs) , or a certain pattern or percentage of ACKs and/or NAKs and/or other messages received from the network.
- a timing advance protection window may also be initiated, or restarted if another protection window was already active when the tune-away occurs.
- the duration of a timing advance protection window triggered by a tune-away may be a set number of sub-frames (e.g., 10 sub-frames) .
- the duration of the timing advance protection window may be extended by an additional time period, for example by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
- the mobile communication device may restart a timing advance protection window triggered by a tune-away if another tune-away occurs during the time period of the current timing advance protection window.
- the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated and utilized in the new timing advance protection window.
- the mobile communication device may separate the component carriers of the subscription into one or more timing adjustment groups.
- the primary component carrier may be in a first timing adjustment group while one or more secondary component carriers may be in a second timing adjustment group.
- Each timing adjustment group may share the same timing advance value and adjustment values received from the network.
- a mobile communication device may implement separate timing advance protection windows for each timing adjustment group.
- FIGS. 5A-5B illustrate timing advance protection windows with early termination according to various examples.
- FIG. 5A shows a timing diagram 500a with a timing advance protection window that is terminated early because of successful reception by the network
- FIG. 5B shows a timing diagram 500b with a timing advance protection window that is terminated early because of a tune-away.
- a subscription in a mobile communication device (labeled “UE” ) may be in communication with a network base station (labeled “eNodeB” ) .
- the mobile communication device may maintain a timing advance value with respect to the network associated with the subscription.
- the network may occasionally send timing advance adjustment values to the subscription, and the mobile communication device may adjust the timing advance value with the timing advanced adjustment value.
- the mobile communication device may transmit data packets for the subscription to the network in an uplink transmission 510, and the network may respond with an acknowledgement 512 if the network successfully received and decoded the packet.
- the mobile communication device may perform data packet transmissions for the subscription according to an uplink transmission interval 502.
- the uplink transmission interval 502 may vary depending on the activities of a user of the mobile communication device (e.g., web browsing, chatting, idle, etc. ) and other factors.
- the mobile communication device may determine whether the uplink transmission interval 502 is within a predetermined range (e.g., between 10 and 10, 240 sub-frames) . In response to determining that the uplink transmission interval 502 is within the predetermined range, the mobile communication device may initiate a timing advance protection window for a time period 504.
- the time period 504 may be calculated by mobile communication device as the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
- the mobile communication device may calculate a cumulative sum of the timing advanced adjustment values received from the network using a timing advance adjustment counter.
- the mobile communication device may ignore the timing advance adjustment values until the absolute value of the timing advance adjustment counter falls under the adjustment threshold or the time period 504 ends.
- the adjustment threshold may be based on the uplink transmission interval 502 and the estimated velocity of the mobile communication device.
- the mobile communication device may transmit additional data packets for the subscription to the network in uplink transmissions 514, and the network may respond with response messages 516.
- the mobile communication device may terminate the timing advance protection window early, after a time period 506 when the predetermined response pattern has been detected.
- the mobile communication device may maintain timing advance protection window until the end of the time period 504.
- the timing diagram 500b in FIG. 5B illustrates that a subscription may start transmitting the uplink transmissions 514 but be interrupted by a tune-away 518.
- the shared RF resource of the mobile communication device may be tuned from the active subscription to an idle subscription so that the idle subscription can perform idle mode operations and receive page notifications.
- the mobile communication device may restart the timing advance protection window for a time period 508.
- the time period 508 may initially last a set number of sub-frames (e.g., ten sub-frames) .
- the mobile communication device may extend the time period 508 of the restarted timing advance protection window by an additional time period, for example by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
- the adjustment threshold, uplink transmission interval 502, inactivity timer value, and the mobile communication device may recalculate the period of a short discontinuous reception cycle and use the recalculated period in the new timing advance protection window.
- FIG. 6 includes a timing diagram 600 illustrating a timing advance protection window triggered by a tune-away according to various examples.
- a subscription in a mobile communication device (labeled “UE” ) may be in communication with a network base station (labeled “eNodeB” ) .
- the mobile communication device may maintain a timing advance value with respect to the network associated with the subscription.
- the network may occasionally send timing advance adjustment values to the mobile communication device for the subscription, and the mobile communication device may adjust the timing advance value with the timing advanced adjustment value.
- the timing diagram 600 illustrates the mobile communication device performing a tune-away 608 at sub-frame k, during which the shared RF resource of the mobile communication device is tuned from the active subscription to an idle subscription so that the idle subscription can perform idle mode operations and receive page notifications.
- the mobile communication device may initiate a timing advance protection window for a time period 602.
- the time period 602 may have a predetermined duration (e.g., N sub-frames) .
- the mobile communication device may calculate a cumulative sum of the timing advanced adjustment values received from the network using a timing advance adjustment counter.
- the mobile communication device may ignore the timing advance adjustment values until the absolute value of the timing advance adjustment counter is less than the adjustment threshold or the time period 602 ends.
- the adjustment threshold may be based on an uplink transmission interval of the subscription, and the estimated velocity of the mobile communication device.
- the mobile communication device may determine whether the uplink transmission interval of the subscription is within a predetermined range (e.g., between 10 and 10, 240 sub-frames) . In response to determining that the uplink transmission interval is within the predetermined range, the mobile communication device may extend the timing advance protection window so that the window lasts for a time period 604.
- the time period 604, denoted as N ext may be the time period 602 plus the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
- the timing diagram 600 illustrates how another tune-away 610 may occur during the time period 604.
- the mobile communication device may restart the timing advance protection window for a time period 606 (e.g. N sub-frames, plus an additional amount if the uplink transmission interval is within a predetermined range) .
- the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated by mobile communication device and utilized in the new timing advance protection window.
- FIG. 7 illustrates a method 700 for initiating a timing advance protection window on a mobile communication device to avoid the problems that may occur when the base station transmits an erroneous timing advance adjustment value according to various examples.
- the method 700 may be implemented with a processor (e.g., the general processor 206, the baseband modem processor 216, a separate controller, and/or the like) of a mobile communication device (such as the multi-SIM communication devices 110, 120, and 200) .
- the mobile communication device may have one RF resource that is shared by a first subscription and a second subscription (e.g., a MSMS communication device) .
- the first subscription may maintain a timing advance value from a first network (e.g., in a protocol stack of the mobile communication device) .
- the first network may occasionally transmit timing advance adjustment values to the mobile communication device for the first subscription.
- the method 700 is extendable to a plurality of component carriers of a subscription in a mobile communication device that is capable of carrier aggregation.
- the component carriers of the subscription may be divided into multiple timing adjustment groups, in which each timing adjustment group shares the same timing advance values and the same frequency band.
- the method 700 may be independently applied to each timing adjustment group of a subscription maintained in the mobile communication device.
- the processor may determine an uplink transmission interval for the first subscription.
- the uplink transmission interval may be the number of sub-frames between consecutive uplink transmissions sent by the subscription. For example, if first subscription is scheduled to transmit an uplink packet every ten sub-frames, the uplink transmission interval will be ten.
- the processor may periodically determine the uplink transmission interval when the first subscription is active on the mobile communication device (i.e., using the shared RF resource) .
- the processor may determine whether the uplink transmission interval of the first subscription is within a predetermined range of values.
- the predetermined range may account for periods in which the uplink transmission interval is long enough that the network may generate erroneous timing advance adjustment values.
- the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound N and a lower bound M.
- the lower bound M may be set at 10 sub-frames
- the upper bound N may be set at 10, 240 sub-frames.
- the processor may adjust the timing advance value maintained by the first subscription by timing advance adjustment values received from the first network in block 706. In other words, after determining that the uplink transmission interval is outside the range in which errors may occur in the received timing advance adjustment values, the processor may apply the received timing advance adjustment values. The processor may periodically re-determine whether the uplink transmission interval of the first subscription is within the predetermined range (i.e., return to the operation in block 702) .
- the processor may initiate a timing advance protection window by determining an adjustment threshold in block 708.
- the adjustment threshold may be based on the uplink transmission interval of the subscription. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames, the processor may set the adjustment threshold at three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames, the processor may set the adjustment threshold at four.
- the adjustment threshold may also be based on the estimated velocity of the mobile communication device.
- the estimated velocity of the mobile communication device may be calculated as in which v D is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device, CarrierFreq is the center frequency used by the first network base station to communicate with the first subscription, and c is the speed of light.
- the estimated velocity may be compared to a threshold representing a high speed of travel (e.g., to account for when the user is travelling on a high speed train) .
- the threshold may be 170 kilometers/hour.
- the processor may set a high speed flag in memory that indicates a higher adjustment threshold may be used. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames and the high speed flag is not set, the processor may set the adjustment threshold to three. However, if the high speed flag is set, the processor may set the adjustment threshold to five instead. Thus, the high speed flag may be set in memory to account for when the mobile communication device is travelling quickly and thus larger timing advance adjustment values may be valid.
- the processor may store a look-up table that associates uplink transmission interval ranges and high speed flag values with adjustment threshold values.
- the processor may increment a timing advance adjustment counter with a timing advance adjustment value received from the first network.
- the processor may set the timing advance adjustment counter to zero.
- the processor may determine whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- the processor may adjust the timing advance value maintained by the first subscription by the timing advance adjustment value received from the first network in block 716.
- the received timing advance adjustment value is likely correct and may be applied when the absolute value of the timing advance adjustment counter is less than the threshold.
- the processor may ignore the timing advance adjustment value received from the first network in block 714.
- the received timing advance adjustment value is likely erroneous and should not be used when the absolute value of the timing advance adjustment counter exceeds the threshold.
- the processor may determine whether a tune-way has been initiated in determination block 718. For example, the mobile communication device may periodically tune the shared RF resource from the first subscription to a second subscription so that the second subscription may perform idle mode operations and check for page notifications.
- the processor may initiate a new timing advance protection window for a certain time period when the tune-away begins in block 720. Timing advance protection windows triggered by a tune-away are discussed in more detail with reference to method 800 of FIG. 8.
- the processor may determine whether the first subscription has received a predetermined response pattern from the first network in determination block 722. For example, the first subscription may be transmitting data packets during the timing advance protection window and the first network may respond with acknowledgements (ACKs) if the packets are successfully received or non-acknowledgements (NAKs) if the packets are not successfully received.
- ACKs acknowledgements
- NAKs non-acknowledgements
- the processor may treat the response as a NAK.
- the predetermined response pattern may be a threshold number of consecutive acknowledgements (e.g., four ACKs) , a threshold number of consecutive NAKs, or a specific pattern or percentage of ACKs and/or NAKs and/or other response messages.
- the processor may treat a timing advance group as a received ACK if all of the component carriers have received an ACK. If at least one component carrier has received a NAK, the processor may treat the timing advance group as a received NAK.
- the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702. In other words, successful reception of all or most of the packets transmitted by the first subscription indicates that there is little or no error in the timing advance adjustment values. Thus, when the first network indicates successful reception of transmitted packets, the processor may terminate the current timing advance protection window and start a new timing advance protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) .
- the processor may determine whether a timing advance protection window time period has expired in determination block 724.
- the processor may start the timing advance protection window time when the processor determines that the uplink transmission interval is within the predetermined range (i.e., after the operations in the determination block 704) .
- the timing advance protection window time period may be calculated as the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. The values of the inactivity timer and the period of a short discontinuous reception cycle may be obtained by the processor from the first network.
- the processor may increment the timing advance adjustment counter with the next received timing advance adjustment value in block 710. In other words, while the advance protection window has not expired, the processor may continue to receive timing advance adjustment values from the network and compare the absolute value of the timing advance adjustment counter to the dynamic adjustment threshold.
- the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702. In other words, the processor may terminate the current timing advance protection window and start a new timing advance protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) . In this manner, the method 700 provides adaptive monitoring and protection of timing advance adjustment values received by a subscription from a network.
- FIG. 8 illustrates a method 800 for initiating a timing advance protection window triggered by a tune-away on a mobile communication device to avoid the problems that may occur when the base station transmits an erroneous timing advance adjustment value according to various examples.
- the method 800 may be implemented with a processor (e.g., the general processor 206, the baseband modem processor 216, a separate controller, and/or the like) of a mobile communication device (such as the multi-SIM communication devices 110, 120, and 200) .
- the mobile communication device may have one RF resource that is shared by a first subscription and a second subscription (e.g., a MSMS communication device) .
- the first subscription may maintain a timing advance value from a first network, which occasionally transmits timing advance adjustment values to the first subscription.
- the method 800 is extendable to a plurality of component carriers of a subscription supported on mobile communication device that is capable of carrier aggregation.
- the component carriers of a subscription may be divided into multiple timing adjustment groups, in which each timing adjustment group shares the same timing advance values and the same frequency band.
- the method 800 may be independently applied to each timing adjustment group.
- the processor may initiate a new timing advance protection window for a time period when a tune-away begins.
- the mobile communication device may periodically tune the shared RF resource from the first subscription to a second subscription so that the second subscription can perform idle mode operations and check for page notifications.
- the processor may start the timing advance protection window for a predetermined time period.
- the predetermined time period may be ten or twenty sub-frames. If a timing advance protection window was already active when the tune-away occurs, the timing advance protection window may be restarted with a duration equal to the predetermined time period.
- the processor may determine an uplink transmission interval for the first subscription.
- the uplink transmission interval may be the number of sub-frames between consecutive uplink transmissions sent by the subscription.
- the first subscription may be scheduled to transmit an uplink packet every ten sub-frames, in which case the uplink transmission interval may be ten.
- the processor may determine an adjustment threshold.
- the adjustment threshold may be based on the uplink transmission interval of the subscription. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames, the processor may set the adjustment threshold to three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames, the processor may set the adjustment threshold to four. As discussed above, varying the adjustment threshold enables the mobile communication device to accept larger timing advance adjustment values when the time between transmissions increases because there is more time for the mobile communication device to move toward or away from the base station.
- the adjustment threshold determined in block 804 may also be based on the estimated velocity of the mobile communication device.
- the estimated velocity of the mobile communication device may be calculated as in which v D is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device, CarrierFreq is the center frequency used by the first network base station to communicate with the first subscription, and c is the speed of light.
- the processor may compare the estimated velocity to a threshold representing a high speed of travel (e.g., the user is travelling on a high speed train) .
- the threshold may be 170 kilometers/hour. If the estimated velocity equals or exceeds the threshold, the processor may set a high speed flag as part of the operations in block 804 to indicate that a higher adjustment threshold may be used. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames and the high speed flag is not set, the processor may set the adjustment threshold to three in block 804. However, if the high speed flag is set, the processor may set the adjustment threshold to five in block 804. Thus, the high speed flag may account for the fact that the mobile communication device may be travelling quickly and thus larger timing advance adjustment values may still be valid.
- the mobile communication device may store a look-up table that associates uplink transmission interval ranges and high speed flag values with adjustment threshold values.
- the processor may determine whether the uplink transmission interval of the first subscription exceeds a predetermined upper bound.
- the predetermined upper bound may represent an uplink transmission interval that is long enough that large timing advance adjustment values may not be considered erroneous.
- the predetermined upper bound may be set at 10, 240 sub-frames.
- the processor may adjust the timing advance value maintained by the first subscription by a timing advance adjustment value received from the first network in block 814. In other words, when the uplink transmission interval is larger than the upper bound, the processor may accept and apply the received timing advance adjustment values.
- the processor may increment a timing advance adjustment counter with a timing advance adjustment value received from the first network in block 808.
- the processor may set the timing advance adjustment counter to zero.
- the processor may ignore the timing advance adjustment value received from the first network in block 812. In other words, the received timing advance adjustment value is likely erroneous and should not be used when the absolute value of the timing advance adjustment counter exceeds the threshold.
- the processor may determine whether a new tune-way has been initiated in determination block 816.
- the processor may initiate a new timing advance protection window for a time period in block 720.
- every new tune-away may trigger a restart of the current timing advance protection window.
- the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated and utilized by the processor in the new timing advance protection window.
- the processor may determine whether the uplink transmission interval of the first subscription is within a predetermined range in determination block 818.
- the predetermined range may account for periods in which the uplink transmission interval is long enough that the network may generate erroneous timing advance adjustment values.
- the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound N and a lower bound M.
- the lower bound M may be set at 10 sub-frames
- the upper bound N may be set at 10, 240 sub-frames.
- the processor may extend the time period of the timing advance protection window time period by a predetermined amount in block 820.
- the predetermined amount may be a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- the processor may obtain the values of the inactivity timer and the period of a short discontinuous reception cycle from the first network.
- the processor may determine whether the timing advance protection window time period has expired in determination block 822.
- the processor may re-determine whether the uplink transmission interval exceeds the predetermined upper bound in determination block 806. In other words, while the timing advance protection window has not expired, the processor may determine whether to apply or ignore the next received timing advance adjustment value from the first network.
- the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702.
- the current timing advance protection window may terminate and the processor may start a new timing advance protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) .
- the method 800 provides adaptive monitoring and protection of timing advance adjustment values that is triggered by a tune-away.
- multi-SIM communication device 900 may be implemented in any of a variety of multi-SIM communication devices, an example of which (e.g., multi-SIM communication device 900) is illustrated in FIG. 9. With reference to FIGS. 1-9, the multi-SIM communication device 900 may be similar to the multi-SIM communication devices 110, 120, 200 and may implement the methods 700 and 800.
- the multi-SIM communication device 900 may include a processor 902 coupled to a touchscreen controller 904 and an internal memory 906.
- the processor 902 may be one or more multi-core integrated circuits designated for general or specific processing tasks.
- the internal memory 906 may be volatile or non-volatile memory, and may also be secure and/or encrypted memory, or unsecure and/or unencrypted memory, or any combination thereof.
- the touchscreen controller 904 and the processor 902 may also be coupled to a touchscreen panel 912, such as a resistive-sensing touchscreen, capacitive-sensing touchscreen, infrared sensing touchscreen, etc. Additionally, the display of the multi-SIM communication device 900 need not have touch screen capability.
- the multi-SIM communication device 900 may have one or more cellular network transceivers 908 coupled to the processor 902 and to one or more antennas 910 and configured for sending and receiving cellular communications.
- the one or more transceivers 908 and the one or more antennas 910 may be used with the above-mentioned circuitry to implement various example methods.
- the multi-SIM communication device 900 may include one or more SIM cards 916 coupled to the one or more transceivers 908 and/or the processor 902 and may be configured as described above.
- the multi-SIM communication device 900 may also include speakers 914 for providing audio outputs.
- the multi-SIM communication device 900 may also include a housing 920, constructed of a plastic, metal, or a combination of materials, for containing all or some of the components discussed herein.
- the multi-SIM communication device 900 may include a power source 922 coupled to the processor 902, such as a disposable or rechargeable battery.
- the rechargeable battery may also be coupled to the peripheral device connection port to receive a charging current from a source external to the multi-SIM communication device 900.
- the multi-SIM communication device 900 may also include a physical button 924 for receiving user inputs.
- the multi-SIM communication device 900 may also include a power button 926 for turning the multi-SIM communication device 900 on and off.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
- the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor.
- non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer.
- Disk and disc includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media.
- the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Methods for initiating a timing advance protection window on a mobile communication device may include determining an uplink transmission interval for a first subscription of the mobile communication device, determining an adjustment threshold based on the uplink transmission interval, and incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network. The mobile communication device may determine whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold, and ignore the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
Description
Some designs of mobile communication devices—such as smart phones, tablet computers, and laptop computers—contain one or more Subscriber Identity Module (SIM) cards that provide users with access to multiple separate mobile telephony networks. Examples of mobile telephony networks include Third Generation (3G) , Fourth Generation (4G) , Long Term Evolution (LTE) , Time Division Multiple Access (TDMA) , Code Division Multiple Access (CDMA) , CDMA 2000, Wideband CDMA (WCDMA) , Global System for Mobile Communications (GSM) , Single-Carrier Radio Transmission Technology (1xRTT) , and Universal Mobile Telecommunications Systems (UMTS) . A SIM may utilize a particular radio access technology (RAT) to communicate with its respective network.
A wireless communication device that includes one or more SIMs and connects to two or more separate mobile telephony networks supporting two or more subscriptions using one or more shared radio frequency (RF) resources/radios may be termed a multi-subscription multi-standby (MSMS) communication device. One example of an MSMS device is a dual-SIM dual-standby (DSDS) communication device, which includes two SIM cards supporting two or more subscriptions that are each associated with a separate radio access technology (RAT) . In DSDS communication devices, the separate subscriptions share one RF resource (sometimes referred to as an RF resource chain) to communicate with two separate mobile telephony networks on behalf of their respective subscriptions. When one subscription is using the RF resource, the other subscription is in stand-by mode and is not able to communicate using the RF resource.
One consequence of having a plurality of subscriptions that maintain network connections simultaneously is that the subscriptions may sometimes interfer with each other’s communications. For example, two subscriptions on a DSDS communication
device utilize a shared RF resource to communicate with their respective mobile telephony networks, and one subscription may use the RF resource to communicate with the subscription’s mobile network at a time. Even when a subscription is in an “idle-standby” mode, meaning that the subscription is not actively communicating with the network, the subscription may still need to periodically receive access to the shared RF resource in order to perform various network operations. For example, an idle subscription may need the shared RF resource at regular intervals to perform idle-mode operations to receive network paging messages in order to remain connected to the network.
In conventional multi-SIM communication devices, the subscription actively using an RF resource that is shared with an idle subscription may occasionally be forced to interrupt the active subscription’s RF operations so that the idle subscription may use the shared RF resource to perform the idle subscription’s idle-standby mode operations (e.g., paging monitoring, cell reselection, system information monitoring, etc. ) . This process of switching access of the shared RF resource from the active subscription to the idle subscription is sometimes referred to as a “tune-away, ” as the RF resource tunes away from the active subscription’s frequency band or channel and tune to the idle subscription’s frequency bands or channels. After the idle subscription has finished network communications, access to the RF resource may switch from the idle subscription to the active subscription via a “tune-back” operation. However, the tune-away may cause issues with timing advance coordination between the active subscription and its associated network.
SUMMARY
Various examples of methods for initiating a timing advance protection window on a mobile communication device may include determining an uplink transmission interval for a first subscription of the mobile communication device, determining an adjustment threshold based on the uplink transmission interval, incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network, determining whether an absolute value of the
timing advance adjustment counter exceeds the adjustment threshold, and ignoring the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
Some example methods may further include adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold. Some example methods may further include determining whether the uplink transmission interval is within a predetermined range, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval is not within the predetermined range.
Some example methods may further include determining whether the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the first subscription has received the predetermined response pattern from the first network. In some examples, the predetermined response pattern may be a threshold number of consecutive acknowledgements.
Some example methods may further include determining whether a timing advance protection window time period has expired, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the timing advance protection window time period has expired. In some examples, the timing advance protection window time period may be a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
Some example methods may further include determining whether a tune-away from the first subscription to a second subscription of the mobile communication
device has been initiated, and initiating a new timing advance protection window time period in response to determining that the tune-away has been initiated. Some example methods may further include determining whether the uplink transmission interval is within a predetermined range, and extending the new timing advance protection window time period in response to determining that the uplink transmission interval is within the predetermined range. In some examples, the new timing advance protection window time period may be extended by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription. Some example methods may further include determining whether the uplink transmission interval exceeds a predetermined upper bound, and adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval exceeds the predetermined upper bound.
In some examples, determining the adjustment threshold may be further based on an estimated velocity of the mobile communication device. Some example methods may further include determining the uplink transmission interval for each of a plurality of timing advance groups, in which each timing advance group includes one or more component carriers of the first subscription, determining the adjustment threshold based on the uplink transmission interval for each of the plurality of timing advance groups, incrementing the timing advance adjustment counter for each of the plurality of timing advance groups by the timing advance adjustment value received from the first network, determining, for each of the plurality of timing advance groups, whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold, and ignoring the timing advance adjustment value for any of the plurality of timing advance groups for which the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
Further examples include a mobile communication device including a memory, a radio frequency (RF) resource, and a processor configured to perform operations of the methods described herein. Further examples include a non-transitory
processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a mobile communication device to perform operations of the methods described herein. Further examples include a mobile communication device that includes means for performing functions of the operations of the methods described herein.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate examples, and together with the general description given above and the detailed description given below, serve to explain the features of the disclosed systems and methods.
FIG. 1 is a communication system block diagram of mobile telephony networks suitable for use with various examples.
FIG. 2 is a component block diagram of a multi-SIM communication device according to various examples.
FIG. 3 is a timing diagram illustrating the operation of timing advances for mobile communication devices in communication with a network base station.
FIG. 4 is a timing diagram illustrating an error in determining timing advances for mobile communication devices in communication with a network base station.
FIGS. 5A and 5B are timing diagrams illustrating a timing advance protection window with early termination according to various examples.
FIG. 6 is a timing diagram illustrating a timing advance protection window triggered by a tune-away according to various examples.
FIG. 7 is a process flow diagram illustrating a method for initiating a timing advance protection window on a mobile communication device according to various examples.
FIG. 8 is a process flow diagram illustrating a method for initiating a timing advance protection window triggered by a tune-away on a mobile communication device according to various examples.
FIG. 9 is a component block diagram of a mobile communication device suitable for implementing some example methods.
Various examples will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the written description or the claims.
As used herein, the term “mobile communication device, ” “multi-SIM communication device” or “multi-SIM device” refers to any one or all of cellular telephones, smart phones, personal or mobile multi-media players, personal data assistants, laptop computers, tablet computers, smart books, smart watches, palm-top computers, wireless electronic mail receivers, multimedia Internet-enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices that includes one or more SIM modules (e.g., SIM cards) , a programmable processor, memory, and circuitry for connecting to at least two mobile communication network with one or more shared RF resources. Various examples may be useful in mobile communication devices, such as smart phones, and so such devices are referred to in the descriptions of various examples. However, the examples may be useful in any electronic devices that may individually maintain a plurality of RATs that utilize at least one shared RF chain, which may include one or more of antennae, radios, transceivers, etc. Multi-SIM communication devices may be configured to operate in DSDS mode.
As used herein, the terms “SIM module, ” “SIM card, ” and “subscriber identification module” are used interchangeably to refer to a memory module that may
be an integrated circuit or embedded into a removable card, and that stores an International Mobile Subscriber Identity (IMSI) , related key, and/or other information used to identify and/or authenticate a multi-standby communication device on a network and enable a communication service with the network. Because the information stored in a SIM enables the multi-SIM communication device to establish a communication link for a particular communication service with a particular network, the term “subscription” is used herein as a shorthand reference to refer to the communication service associated with and enabled by the information stored in a particular SIM as the SIM and the communication network, as well as the services and subscriptions supported by that network, correlate to one another.
In the following descriptions of various examples, references are made to a first subscription and a second subscription. The references to the first and second subscriptions are arbitrary and are used merely for the purposes of describing the examples. The device processor may assign any indicator, name, or other designation to differentiate the subscriptions on the mobile communication device.
A network base station may utilize timing advance values to coordinate communications with mobile communication devices that are camped on the base station. For example, a base station may communicate with two mobile communication devices, one located next to the base station and other located five kilometers away from the base station. Uplink communications sent by the mobile communication device next to the base station are received by the base station almost instantaneously. However, uplink communications sent by the mobile communication device five kilometers away arrive at the base station after a certain delay period because of the distance traveled by the uplink signal.
Network base stations usually assign specific time slots in which to receive communications from each mobile communication device camped on the base station. If all the mobile communication devices are the same distance from the base station, then the base station receives communications from each mobile communication device without conflict. However, when the mobile communication devices are
varying distances from the base station, the base station may receive one mobile communication device’s uplink communication before the base station is finished receiving another device’s uplink communication. Timing advance values are used by a mobile communication device to adjust for signal propagation delay due to the distance between the mobile communication device and the base station. Timing advances may also counteract a number of other factors that influence uplink timing, including changes in the propagation environment, oscillation drift in the mobile communication device, and other RF propagation effects not related to the transmission distance.
A base station may utilize time tracking loops to track timing advance values for each mobile communication device camps to the base station. A timing advance value may be expressed as an integer, for example an integer between 0-63, with each integer corresponding to a unit of time, for example approximately a half microsecond (0.5 μs) . Thus a timing advance value of 2 may indicate that the mobile communication device should transmit an uplink communication approximately one microsecond before the device’s allotted time slot at the base station (i.e., advance the uplink communication time) , while a timing advance value of -2 may indicate that the mobile communication device should transmit an uplink communication approximately one microsecond after the device’s allotted time slot at the base station (i.e., delay the uplink communication time) .
The base station may periodically or aperiodically recalculate the uplink timing between the base station and mobile communication device. For example, if the base station determines that the mobile communication device has moved toward or away from the base station (e.g., the device is in a car traveling away from the base station) , the base station may generate a timing advance adjustment value. The timing advance adjustment value adjusts the prior timing advance value on the mobile communication device based on the change in uplink timing between the base station and the mobile communication device. That is, the timing advance adjustment value is relative to the last determined timing advance value on the mobile communication
device. For example, if the timing advance value for a mobile communication device is currently 2, and the mobile communication device has moved away from the base station since the last time the timing advance was determined, the timing advance adjustment value generated by the base station may be 1. The mobile communication device receives the timing advance adjustment value and adjusts the prior timing advance value of 2, resulting in a new timing advance value of 3. On the other hand, if the mobile communication device has moved closer to the base station then the new advance timing value may be -1. The mobile communication device receives the timing advance adjustment value and adjusts the prior timing advance value of 2, resulting in a new timing advance value of 1. The base station sends the timing advance adjustment value to the mobile communication device, which adjusts the timing advance value stored on the mobile communication device accordingly.
Occasionally, the base station may make an error in determining the timing advance adjustment value (e.g., the change in distance between the base station and the mobile communication device since the last determination) . This may occur when the uplink transmission interval of a subscription is within a certain range, which may cause problems with a connected state reception mode on the network. A tune-away may also cause errors in the timing advance adjustment value. For example, during a tune-away the active subscription is not in communication with active subscription’s associated network. After the tune-away, the base station may make an error in determining where the mobile communication device is and thus may generate an erroneous timing advance adjustment value. For example, the base station may generate a timing advance adjustment value of 20 after a tune-away, which may imply that the mobile communication device has moved many kilometers during the duration of the tune-away (on the order of milliseconds) . Such a timing advance adjustment value is clearly erroneous.
If such an erroneous value is sent to the mobile communication device, and the mobile communication device adjusts the stored timing advance value accordingly, communications with the base station (i.e., uplink transmission) may not arrive at the
allotted time slot at the base station and may collide with another device’s transmission to the base station. When this occurs, the uplink connection between the mobile communication device and the base station may be dropped. Reestablishing the connection and determining the correct timing advance value may take a relatively long time for the mobile communication device and the base station to accomplish. The network base station may also increase the redundancy of the modulation and coding scheme used for the mobile communication device, leading to a decrease in throughput even after the uplink connection is restored.
To overcome this problem, the various examples include methods implemented with a processor of a mobile communication device for initiating a timing advance protection window on a mobile communication device. The mobile communication device may initiate a timing advance protection window under two circumstances. In a first circumstance, the mobile communication device may initiate a timing advance protection window when a tune-away occurs from an active subscription (i.e., the subscription receiving the timing advance adjustment values) to support another subscription. In that case, the timing advance protection window starts when the tune-away starts. A second circumstance, the mobile communication device may initiate a timing advance protection window when the uplink transmission interval of the subscription is determined to be within a predetermined range of sub-frame values. The mobile communication device may periodically calculate the uplink transmission interval, and trigger the timing advance protection window when uplink transmission interval falls within the predetermined range of sub-frame values.
During the timing advance protection window, the device processor may determine an uplink transmission interval for a first subscription of the mobile communication device and determine an adjustment threshold based on the uplink transmission interval and the estimated velocity of the mobile communication device. The device processor may increment a timing advance adjustment counter by a timing advance adjustment value received from a first network. The device processor may determine whether an absolute value of the timing advance adjustment counter
exceeds the adjustment threshold, and ignore the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold. The device processor may adjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold.
The timing advance protection window may terminate after a certain time period, for example after a time period equal to a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription. In some cases, the timing advance protection window may terminate before expiry of the time period if the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network (e.g. a number of consecutive acknowledgements) . If the timing advance protection window is triggered by a tune-away and the uplink transmission interval is within a predetermined range, the time period may be extended by a certain amount. If the first subscription is capable of carrier aggregation, the timing advance protection window may be applied to each of one or more timing advance groups, in which each timing advance group includes one or more component carriers that share the same timing advance value.
Various examples may be implemented within a variety of communication systems 100, such as at least two mobile telephony networks, an example of which is illustrated in FIG. 1. A first mobile network 102 and a second mobile network 104 typically each include a plurality of cellular base stations (e.g., a first base station 130 and a second base station 140) . A first multi-SIM communication device 110 may be in communication with the first mobile network 102 through a cellular connection 132 to the first base station 130. The first multi-SIM communication device 110 may also be in communication with the second mobile network 104 through a cellular connection 142 to the second base station 140. The first base station 130 may be in communication with the first mobile network 102 over a wired connection 134. The
second base station 140 may be in communication with the second mobile network 104 over a wired connection 144.
A second multi-SIM communication device 120 may similarly communicate with the first mobile network 102 through the cellular connection 132 to the first base station 130. The second multi-SIM communication device 120 may also communicate with the second mobile network 104 through the cellular connection 142 to the second base station 140. The cellular connections 132 and 142 may be made through two-way wireless communication links, such as 4G LTE, 3G, CDMA, TDMA, WCDMA, GSM, and other mobile telephony communication technologies.
The multi-SIM communication devices 110, 120 may be different distances away from the first base station 130 and the second base station 140. For example, the multi-SIM communication device 110 may be much closer to the first base station 130 than the multi-SIM communication device 120. The first base station 130 may maintain a time tracking loop for the multi-SIM communication devices 110, 120 to keep track of the distance between the multi-SIM communication devices 110, 120 and the first base station 130. The time tracking loops may be used to generate timing advance adjustment values for the multi-SIM communication devices 110, 120, which depend on the change in distance between the first base station 130 and the multi-SIM communication devices 110, 120. The multi-SIM communication devices 110, 120 may each maintain timing advance values, which are adjusted by timing advance adjustment values calculated by the first base station 130 and transmitted to each of the multi-SIM communication devices 110, 120. The second base station 140 may also maintain a time tracking loop for the multi-SIM communication devices 110, 120 similarly to the first base station 130.
While the multi-SIM communication devices 110, 120 are shown connected to the first mobile network 102 and, optionally, to the second mobile network 104, in some examples (not shown) , the multi-SIM communication devices 110, 120 may include two or more subscriptions to two or more mobile networks and may connect to those subscriptions in a manner similar to those described above.
In some examples, the first multi-SIM communication device 110 may optionally establish a wireless connection 152 with a peripheral device 150 used in connection with the first multi-SIM communication device 110. For example, the first multi-SIM communication device 110 may communicate over alink with a Bluetooth-enabled personal computing device (e.g., a “smart watch” ) . In some examples, the first multi-SIM communication device 110 may optionally establish a wireless connection 162 with a wireless access point 160, such as over a Wi-Fi connection. The wireless access point 160 may be configured to connect to the Internet 164 or another network over a wired connection 166.
While not illustrated, the second multi-SIM communication device 120 may similarly be configured to connect with the peripheral device 150 and/or the wireless access point 160 over wireless links.
FIG. 2 is a functional block diagram of a multi-SIM communication device 200 suitable for implementing various examples. With reference to FIGS. 1-2, the multi-SIM communication device 200 may be similar to one or more of the multi-SIM communication devices 110, 120 as described. The multi-SIM communication device 200 may include a first SIM interface 202a, which may receive a first identity module SIM-1 204a that is associated with a first subscription. The multi-SIM communication device 200 may also optionally include a second SIM interface 202b, which may receive an optional second identity module SIM-2 204b that is associated with a second subscription.
A SIM in various examples may be a Universal Integrated Circuit Card (UICC) that is configured with SIM and/or Universal SIM applications, enabling access to, for example, GSM and/or UMTS networks. The UICC may also provide storage for a phone book and other applications. Alternatively, in a CDMA network, a SIM may be a UICC removable user identity module (R-UIM) or a CDMA subscriber identity module (CSIM) on a card. A SIM card may have a CPU, ROM, RAM, EEPROM and I/O circuits.
A SIM used in various examples may contain user account information, an international mobile subscriber identity (IMSI) , a set of SIM application toolkit (SAT) commands, and storage space for phone book contacts. A SIM card may further store home identifiers (e.g., a System Identification Number (SID) /Network Identification Number (NID) pair, a Home PLMN (HPLMN) code, etc. ) to indicate the SIM card network operator provider. An Integrated Circuit Card Identity (ICCID) SIM serial number may be printed on the SIM card for identification. However, a SIM may be implemented within a portion of memory of the multi-SIM communication device 200 (e.g., in a memory 214) , and thus need not be a separate or removable circuit, chip or card.
The multi-SIM communication device 200 may include at least one controller, such as a general processor 206, which may be coupled to a coder/decoder (CODEC) 208. The CODEC 208 may in turn be coupled to a speaker 210 and a microphone 212. The general processor 206 may also be coupled to the memory 214. The memory 214 may be a non-transitory computer-readable storage medium that stores processor-executable instructions. For example, the instructions may include routing communication data relating to the first or second subscription though a corresponding baseband-RF resource.
The memory 214 may store an operating system (OS) , as well as user application software and executable instructions. The memory 214 may store timing advance values for determining timing offsets for communicating with network base stations.
The general processor 206 and the memory 214 may each be coupled to at least one baseband modem processor 216. Each SIM and/or RAT in the multi-SIM communication device 200 (e.g., the SIM-1 204a and/or the SIM-2 204b) may be associated with a baseband-RF resource. A baseband-RF resource may include the baseband modem processor 216, which may perform baseband/modem functions for communications with/controlling a RAT, and may include one or more amplifiers and radios, referred to generally herein as RF resources (e.g., RF resource 218) . In some
examples, baseband-RF resources may share the baseband modem processor 216 (i.e., a single device that performs baseband/modem functions for all RATs on the multi-SIM communication device 200) . In other examples, each baseband-RF resource may include physically or logically separate baseband processors (e.g., BB1, BB2) .
The RF resource 218 may be a transceiver that performs transmit/receive functions for each of the SIMs/RATs on the multi-SIM communication device 200. The RF resource 218 may include separate transmit and receive circuitry, or may include a transceiver that combines transmitter and receiver functions. In some examples, the RF resource 218 may include multiple receive circuitries. The RF resource 218 may be coupled to a wireless antenna (e.g., a wireless antenna 220) . The RF resource 218 may also be coupled to the baseband modem processor 216.
In some examples, the general processor 206, the memory 214, the baseband processor (s) 216, and the RF resource 218 may be included in the multi-SIM communication device 200 as a system-on-chip 250. In some examples, the first and second SIMs 204a, 204b and their corresponding interfaces 202a, 202b may be external to the system-on-chip 250. Further, various input and output devices may be coupled to components on the system-on-chip 250, such as interfaces or controllers. Example user input components suitable for use in the multi-SIM communication device 200 may include, but are not limited to, a keypad 224, a touchscreen display 226, and the microphone 212.
In some examples, the keypad 224, the touchscreen display 226, the microphone 212, or a combination thereof, may perform the function of receiving a request to initiate an outgoing call. For example, the touchscreen display 226 may receive a selection of a contact from a contact list or receive a telephone number. In another example, either or both of the touchscreen display 226 and the microphone 212 may perform the function of receiving a request to initiate an outgoing call. For example, the touchscreen display 226 may receive a user selection of a contact from a contact list or receive a telephone number. As another example, the request to initiate the outgoing call may be in the form of a voice command received via the microphone
212. Interfaces may be provided between the various software modules and functions in the multi-SIM communication device 200 to enable communication between them, as is known in the art.
Functioning together, the two SIMs 204a, 204b, the baseband processor BB1, BB2, the RF resource 218, and the wireless antenna 220 may constitute two or more radio access technologies (RATs) . For example, the multi-SIM communication device 200 may be a communication device that includes a SIM, baseband processor, and RF resource configured to support two different RATs, such as LTE and GSM. More RATs may be supported on the multi-SIM communication device 200 by adding more SIM cards, SIM interfaces, RF resources, and antennae for connecting to additional mobile networks.
In some examples (not shown) , the multi-SIM communication device 200 may include, among other things, additional SIM cards, SIM interfaces, a plurality of RF resources associated with the additional SIM cards, and additional antennae for supporting subscriptions communications with additional mobile networks.
FIG. 3 illustrates the operation of timing advances for a network base station, such as an eNodeB station for a LTE network. With reference to FIGS. 1-3, a timing diagram 300 shows uplink transmissions for a first mobile communication device 302 (e.g. 110, 200) , labeled UE1, and a second mobile communication device 304, labeled UE2. The mobile communication devices 302 and 304 communicate with a base station 306 (e.g., 130, 140 in FIG. 1) , labeled eNodeB. In the illustrated example, the mobile communication devices 302 and 304 are different distances away from the base station 306. For example, the first mobile communication device 302 may be farther from base station 306 than the second mobile communication device 304. The base station 306 allots specific time slots to receive transmissions from the mobile communication devices 302, 304, illustrated by vertical dashed lines in the timing diagram 300. The base station 306 may have time tracking loops that generate timing advance adjustment values for the mobile communication devices 302, 304.
The second mobile communication device 304 may transmit data blocks 310a, 310b with a timing advance value 314. The timing advance value 314 may represent a time offset in which the second mobile communication device 304 should transmit the data blocks 310a, 310b so that the data blocks 310a, 310b arrive at the base station 306 during the allotted time slot for the second mobile communication device 304. Likewise, the first mobile communication device 302 may transmit data blocks 308a, 308b with a timing advance value 312. The timing advance value 312 may represent a time offset in which the first mobile communication device 302 should transmit the data blocks 308a, 308b so that the data blocks 308a, 308b arrive at the base station 306 during the allotted time slot for the first mobile communication device 302. The timing advance values 312, 314 may initially be zero when the uplink connection is first established, but are periodically adjusted by the base station 306. In the example illustrated in the timing diagram 300, the timing advance value 312 is larger than the timing advance value 314. This may indicate that the first mobile communication device 302 is farther from the base station 306 than the second mobile communication device 304. The difference in distance means the data blocks 308a, 308b take a longer time to reach the base station 306 than the data blocks 310a, 310b. Thus, the timing advance value 312 is greater to account for the additional time for the data blocks 308a, 308b to reach the base station 306. Other factors that may influence the uplink timing include changes in the propagation environment, oscillation drift in the mobile communication device, and Doppler effects not related to a change in distance. The timing advance values 312, 314 may be stored on the mobile communication devices 302, 304 respectively.
The base station 306 may store a time tracking loop for each of the mobile communication devices 302, 304 and other devices camped on the base station 306. The time tracking loops may calculate timing advance adjustment values that are then sent to the mobile communication devices 302, 304. A timing advance value may be expressed as an integer, for example an integer between 0-63. Each integer may correspond to a unit of time, for example approximately a half microsecond (0.5 μs) .
The base station 306 may periodically recalculate the uplink timing between the base station 306 and the mobile communication devices 302, 304. The base station 306 may determine a timing advance adjustment value for the mobile communication devices 302, 304 based on the uplink timing calculations. The base station 306 may generate a timing advance adjustment value for each of the mobile communication devices 302, 304. The timing advance adjustment value adjusts the timing advance value for the mobile communication devices 302, 304 based on the change in distance or other factors. The base station 306 sends the timing advance adjustment values to each of the mobile communication devices 302, 304, which may result in a change to the timing advance value stored on each of the mobile communication devices 302, 304.
Occasionally a base station may make errors in determining the timing advance adjustment values, which may lead to transmission collisions between mobile communication devices transmitting to the base station. FIG. 4 illustrates an example of an error in determined timing advance adjustment values. With reference to FIGS. 1-4, a timing diagram 400 shows uplink transmissions for a first mobile communication device 402 (e.g., 110, 200) , labeled UE1, and a second mobile communication device 404, labeled UE2. The mobile communication devices 402 and 404 communicate with a base station 406 (e.g., 130, 140) , labeled eNodeB. The mobile communication devices 402 and 404 are different distances away from the base station 406. For example, the first mobile communication device 402 may be farther from base station 406 than the second mobile communication device 404. The base station 406 allots specific time slots to receive transmissions from the mobile communication devices 402, 404, illustrated by vertical dashed lines in the timing diagram 400. The base station 406 may have time tracking loops that track the timing advance values for the mobile communication devices 402, 404.
The second mobile communication device 404 may transmit data blocks 410a, 410b including a timing advance value 414. The timing advance value 414 may represent a time offset in which the second mobile communication device 404 should
transmit the data blocks 410a, 410b so that the data blocks 410a, 410b arrive at the base station 406 during the allotted time slot for the second mobile communication device 404. The first mobile communication device 402 may be scheduled to transmit the data block 408a with a timing advance value 412. However, in the illustrated example, at that time the first mobile communication device 402 performs a tune-away from the active subscription communicating with the base station 406 to another subscription communicating with another network. For example, the first mobile communication device 402 may tune-away from an LTE subscription communicating with the base station 406 to a GSM subscription communicating with another base station. As a result, the data block 408a is not transmitted to the base station 406.
Once the tune-away is complete, the base station 406 may calculate an erroneous timing advance adjustment value for the first mobile communication device 402 that does not correspond to the actual changes in the uplink timing. For example, the first mobile communication device 402 may not have moved since before the tune-away, but the base station may calculate a positive timing advance adjustment value, indicating that the first mobile communication device 402 has moved further away from the base station 406. The base station 406 may communicate the erroneous timing advance adjustment value to the first mobile communication device 402. The mobile communication device adjusts the timing advance value 412 by the timing advance adjustment value, leading to a new timing advance value 416. In the example illustrated in the timing diagram 400, the timing advance value 416 is larger than the timing advance value 412, but the timing advance value 416 may also be smaller depending on the timing advance adjustment value calculated by the base station 406.
If the first mobile communication device 402 transmits the data block 408b to the base station 406 using the timing advance value 416 as illustrated, the data block 408b arrives at the base station 406 before the end of the transmission of data block 410b by the second mobile communication device 404. If that happens, the base station 406 may ignore the data block 408b because the data block 408b did not arrive at the allotted time slot. This results in a loss of the uplink connection between the
first mobile communication device 402 and the base station 406. It may take a long time for the uplink connection to be reestablished, and the base station may penalize the first mobile communication device 402 by reducing the efficacy of the modulation and coding scheme used to communicate with the first mobile communication device 402.
Various examples disclosed herein provide for a timing advance protection window that may be initiated to monitor and protect against erroneous timing advance adjustment values. During the timing advance protection window, the mobile communication device may determine whether the absolute value of a cumulative sum of the timing advance adjustment values received from the network during the protection window exceeds an adjustment threshold. If the mobile communication device determines that the absolute value of the cumulative sum of the timing advance adjustment values exceeds the adjustment threshold, the mobile communication device may ignore the timing advance adjustment value until the absolute value of the cumulative sum is less than the adjustment threshold or the timing advance protection window ends. As long as the cumulative timing advance adjustment value received from the network is less than the adjustment threshold, the mobile communication device may apply the timing advance adjustment value to the timing advance value stored by the mobile communication device. Calculating the cumulative sum allows the mobile communication device to detect errors in large single values of the timing advance adjustment value, as well as smaller accumulated errors from consecutive timing advance adjustment values. The cumulative sum of the timing advance adjustment values may be represented by a timing advance adjustment counter.
The adjustment threshold may be calculated every time a new timing advance protection window is initiated. The adjustment threshold may be based on the uplink transmission interval of the subscription. An uplink transmission interval ΔTUL-Tx may be determined as the number of sub-frames between two transmission packets sent by the subscription. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames (i.e., ΔTUL-Tx ≤ 5,000) , the adjustment threshold may be
set at three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames (i.e., 5,000 < ΔTUL-Tx ≤ 8,000) , the adjustment threshold may be set at four. This accounts for the fact that as the time between transmissions increase, the larger the timing advance adjustment value may be before the adjustment is likely to be erroneous because there was more time for the mobile communication device to towards or away from the base station.
In some cases, the mobile communication device may impose an upper limit on when the adjustment threshold is applied. If the uplink transmission interval exceeds a predetermined upper bound, the mobile communication device may not apply the adjustment threshold, in which case the mobile communication device may accept and apply the timing advance adjustment value received from the network. The predetermined upper bound on when the adjustment threshold is applied may be an uplink transmission interval that is long enough that large timing advance adjustment values are valid. In a non-limiting example, the predetermined upper bound on when the adjustment threshold is applied may be determined to be 10, 240 sub-frames (equivalent to 10.24 seconds) .
The adjustment threshold may also be based on the estimated velocity of the mobile communication device. The estimated velocity of the mobile communication device may be calculated asin which vD is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device, CarrierFreq is the center frequency used by the network base station to communicate with the subscription, and c is the speed of light.
The estimated velocity vD mmay be compared to a threshold representing a high speed of travel (e.g., the maximum speed of high speed trains in the country or region of service) . For example, the threshold may be 170 kilometers/hour (106 miles per hour) . If the estimated velocity equals or exceeds the threshold, a high speed flag in memory may be set that indicates a higher adjustment threshold may be used. For
example, if the uplink transmission interval is less than or equal to 5000 sub-frames (i.e., ΔTUL-Tx ≤ 5,000) and the high speed flag is not set, the adjustment threshold may be set at three. However, if the high speed flag is set, the adjustment threshold may be set at five with the same uplink transmission interval. Thus, the high speed flag may enable the mobile communication device to account for circumstances in which the device is travelling at a high rate of speed and thus larger timing advance adjustment values may be valid. In an example, a mobile communication device may store a look-up table that relates combinations of uplink transmission intervals and high speed flag values to adjustment threshold values.
The timing advance protection window may be initiated when the uplink transmission interval (i.e., the time between uplink transmissions) of a subscription is within a predetermined range. This range may account for periods in which the uplink transmission interval is long enough that the network may generate erroneous timing advance adjustment values (e.g., an uplink transmission interval that triggers a connected state reception mode on the network) . For example, the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound and a lower bound (i.e., M ≤ ΔTUL-Tx ≤ N) . In a non-limiting example, the lower bound M may be set at 10 sub-frames, and the upper bound N may be set at 10, 240 sub-frames.
The timing advance protection window may last for a predetermined time period. For example, the duration of the timing advance protection window may be equal to a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. The inactivity time and the period of the short discontinuous reception cycle are variables that may be maintained by the network and obtained from the network by the mobile communication device when the timing advance protection window is initiated.
Under some conditions, the timing advance protection window may be terminated by the mobile communication device earlier than the usual time period. For example, if the subscription receives a predetermined response pattern from the
network in response to uplink transmissions, the mobile communication device may terminate the timing advance protection window. A non-limiting example of a predetermined response pattern may be a threshold number of consecutive acknowledgement (ACK) messages received from the network (e.g. four consecutive ACKs) . This threshold accounts for the fact that successful reception by the network of all transmissions sent by the mobile communication device for a subscription indicates that there is no timing advance value mismatch between the subscription and the network. When the network is utilizing adaptive re-transmission, the mobile communication device may treat the reception of an ACK message without the new data indicator (NDI) bit toggled as reception of a non-acknowledgement (NAK) message. Other examples of predetermined response patterns may be a threshold number of non-acknowledgements (NAKs) , or a certain pattern or percentage of ACKs and/or NAKs and/or other messages received from the network.
If a tune-away occurs from the active subscription to another subscription, a timing advance protection window may also be initiated, or restarted if another protection window was already active when the tune-away occurs. The duration of a timing advance protection window triggered by a tune-away may be a set number of sub-frames (e.g., 10 sub-frames) . However, if the uplink transmission interval of the subscription is within a predetermined range (e.g., 10 ≤ ΔTUL-Tx ≤ 10, 240) , the duration of the timing advance protection window may be extended by an additional time period, for example by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. The mobile communication device may restart a timing advance protection window triggered by a tune-away if another tune-away occurs during the time period of the current timing advance protection window. When restarted, the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated and utilized in the new timing advance protection window.
If the subscription is capable of carrier aggregation (e.g., a LTE subscription) , the mobile communication device may separate the component carriers of the
subscription into one or more timing adjustment groups. For example, the primary component carrier may be in a first timing adjustment group while one or more secondary component carriers may be in a second timing adjustment group. There may be one timing adjustment group per frequency band utilized by the network. Each timing adjustment group may share the same timing advance value and adjustment values received from the network. Thus, a mobile communication device may implement separate timing advance protection windows for each timing adjustment group.
FIGS. 5A-5B illustrate timing advance protection windows with early termination according to various examples. With reference to FIGS. 1-5B, FIG. 5A shows a timing diagram 500a with a timing advance protection window that is terminated early because of successful reception by the network, while FIG. 5B shows a timing diagram 500b with a timing advance protection window that is terminated early because of a tune-away. In both of the timing diagrams 500a, 500b, a subscription in a mobile communication device (labeled “UE” ) may be in communication with a network base station (labeled “eNodeB” ) . The mobile communication device may maintain a timing advance value with respect to the network associated with the subscription. The network may occasionally send timing advance adjustment values to the subscription, and the mobile communication device may adjust the timing advance value with the timing advanced adjustment value.
In the timing diagram 500a illustrated in FIG. 5A, the mobile communication device may transmit data packets for the subscription to the network in an uplink transmission 510, and the network may respond with an acknowledgement 512 if the network successfully received and decoded the packet. The mobile communication device may perform data packet transmissions for the subscription according to an uplink transmission interval 502. The uplink transmission interval 502 may vary depending on the activities of a user of the mobile communication device (e.g., web browsing, chatting, idle, etc. ) and other factors.
The mobile communication device may determine whether the uplink transmission interval 502 is within a predetermined range (e.g., between 10 and 10, 240 sub-frames) . In response to determining that the uplink transmission interval 502 is within the predetermined range, the mobile communication device may initiate a timing advance protection window for a time period 504. The time period 504 may be calculated by mobile communication device as the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. During the timing advance protection window, the mobile communication device may calculate a cumulative sum of the timing advanced adjustment values received from the network using a timing advance adjustment counter. In response to determining that the absolute value of the timing advance adjustment counter exceeds an adjustment threshold, the mobile communication device may ignore the timing advance adjustment values until the absolute value of the timing advance adjustment counter falls under the adjustment threshold or the time period 504 ends. The adjustment threshold may be based on the uplink transmission interval 502 and the estimated velocity of the mobile communication device.
During the time period 504, the mobile communication device may transmit additional data packets for the subscription to the network in uplink transmissions 514, and the network may respond with response messages 516. In response to the mobile communication device receiving a predetermined response pattern (e.g., a threshold number of consecutive ACKs) for the subscription in the response messages 516 from the network, the mobile communication device may terminate the timing advance protection window early, after a time period 506 when the predetermined response pattern has been detected. In response to determining that the response messages 516 do not include the predetermined response pattern, the mobile communication device may maintain timing advance protection window until the end of the time period 504.
The timing diagram 500b in FIG. 5B illustrates that a subscription may start transmitting the uplink transmissions 514 but be interrupted by a tune-away 518. During the tune-away 518, the shared RF resource of the mobile communication
device may be tuned from the active subscription to an idle subscription so that the idle subscription can perform idle mode operations and receive page notifications. When the tune-away 518 begins, the mobile communication device may restart the timing advance protection window for a time period 508. The time period 508 may initially last a set number of sub-frames (e.g., ten sub-frames) . However, if the uplink transmission interval 502 is within a predetermined range (e.g., between 10 and 10, 240 sub-frames) , the mobile communication device may extend the time period 508 of the restarted timing advance protection window by an additional time period, for example by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. When restarted, the adjustment threshold, uplink transmission interval 502, inactivity timer value, and the mobile communication device may recalculate the period of a short discontinuous reception cycle and use the recalculated period in the new timing advance protection window.
FIG. 6 includes a timing diagram 600 illustrating a timing advance protection window triggered by a tune-away according to various examples. With reference to FIGS. 1-6, a subscription in a mobile communication device (labeled “UE” ) may be in communication with a network base station (labeled “eNodeB” ) . The mobile communication device may maintain a timing advance value with respect to the network associated with the subscription. The network may occasionally send timing advance adjustment values to the mobile communication device for the subscription, and the mobile communication device may adjust the timing advance value with the timing advanced adjustment value.
The timing diagram 600 illustrates the mobile communication device performing a tune-away 608 at sub-frame k, during which the shared RF resource of the mobile communication device is tuned from the active subscription to an idle subscription so that the idle subscription can perform idle mode operations and receive page notifications. When the tune-away 608 occurs, the mobile communication device may initiate a timing advance protection window for a time period 602. The time period 602 may have a predetermined duration (e.g., N sub-frames) . During the
timing advance protection window, the mobile communication device may calculate a cumulative sum of the timing advanced adjustment values received from the network using a timing advance adjustment counter. In response to determining that the absolute value of the timing advance adjustment counter exceeds an adjustment threshold, the mobile communication device may ignore the timing advance adjustment values until the absolute value of the timing advance adjustment counter is less than the adjustment threshold or the time period 602 ends. The adjustment threshold may be based on an uplink transmission interval of the subscription, and the estimated velocity of the mobile communication device.
During the time period 602, the mobile communication device may determine whether the uplink transmission interval of the subscription is within a predetermined range (e.g., between 10 and 10, 240 sub-frames) . In response to determining that the uplink transmission interval is within the predetermined range, the mobile communication device may extend the timing advance protection window so that the window lasts for a time period 604. The time period 604, denoted as Next, may be the time period 602 plus the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription.
The timing diagram 600 illustrates how another tune-away 610 may occur during the time period 604. When that tune-away 610 begins, the mobile communication device may restart the timing advance protection window for a time period 606 (e.g. N sub-frames, plus an additional amount if the uplink transmission interval is within a predetermined range) . When restarted, the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated by mobile communication device and utilized in the new timing advance protection window.
FIG. 7 illustrates a method 700 for initiating a timing advance protection window on a mobile communication device to avoid the problems that may occur when the base station transmits an erroneous timing advance adjustment value according to various examples. With reference to FIGS. 1-7, the method 700 may be
implemented with a processor (e.g., the general processor 206, the baseband modem processor 216, a separate controller, and/or the like) of a mobile communication device (such as the multi-SIM communication devices 110, 120, and 200) . The mobile communication device may have one RF resource that is shared by a first subscription and a second subscription (e.g., a MSMS communication device) . The first subscription may maintain a timing advance value from a first network (e.g., in a protocol stack of the mobile communication device) . The first network may occasionally transmit timing advance adjustment values to the mobile communication device for the first subscription.
The method 700 is extendable to a plurality of component carriers of a subscription in a mobile communication device that is capable of carrier aggregation. The component carriers of the subscription may be divided into multiple timing adjustment groups, in which each timing adjustment group shares the same timing advance values and the same frequency band. Thus, the method 700 may be independently applied to each timing adjustment group of a subscription maintained in the mobile communication device.
In block 702, the processor may determine an uplink transmission interval for the first subscription. The uplink transmission interval may be the number of sub-frames between consecutive uplink transmissions sent by the subscription. For example, if first subscription is scheduled to transmit an uplink packet every ten sub-frames, the uplink transmission interval will be ten. The processor may periodically determine the uplink transmission interval when the first subscription is active on the mobile communication device (i.e., using the shared RF resource) .
In determination block 704, the processor may determine whether the uplink transmission interval of the first subscription is within a predetermined range of values. The predetermined range may account for periods in which the uplink transmission interval is long enough that the network may generate erroneous timing advance adjustment values. For example, the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound N and a
lower bound M. In a non-limiting example, the lower bound M may be set at 10 sub-frames, and the upper bound N may be set at 10, 240 sub-frames.
In response to determining that the uplink transmission interval is not within the predetermined range (i.e., determination block 704 = “No” ) , the processor may adjust the timing advance value maintained by the first subscription by timing advance adjustment values received from the first network in block 706. In other words, after determining that the uplink transmission interval is outside the range in which errors may occur in the received timing advance adjustment values, the processor may apply the received timing advance adjustment values. The processor may periodically re-determine whether the uplink transmission interval of the first subscription is within the predetermined range (i.e., return to the operation in block 702) .
In response to determining that the uplink transmission interval is within the predetermined range (i.e., determination block 704 = “Yes” ) , the processor may initiate a timing advance protection window by determining an adjustment threshold in block 708. The adjustment threshold may be based on the uplink transmission interval of the subscription. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames, the processor may set the adjustment threshold at three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames, the processor may set the adjustment threshold at four. These adjustments in the uplink transmission enable may enable the mobile communication device to accommodate larger timing advance adjustment values when the time between transmissions increases because there is more time for the mobile communication device to move toward or away from the base station.
The adjustment threshold may also be based on the estimated velocity of the mobile communication device. The estimated velocity of the mobile communication device may be calculated asin which vD is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device,
CarrierFreq is the center frequency used by the first network base station to communicate with the first subscription, and c is the speed of light.
As part of the operations in block 708, the estimated velocity may be compared to a threshold representing a high speed of travel (e.g., to account for when the user is travelling on a high speed train) . For example, the threshold may be 170 kilometers/hour. In response to determining that the estimated velocity equals or exceeds the threshold, the processor may set a high speed flag in memory that indicates a higher adjustment threshold may be used. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames and the high speed flag is not set, the processor may set the adjustment threshold to three. However, if the high speed flag is set, the processor may set the adjustment threshold to five instead. Thus, the high speed flag may be set in memory to account for when the mobile communication device is travelling quickly and thus larger timing advance adjustment values may be valid. The processor may store a look-up table that associates uplink transmission interval ranges and high speed flag values with adjustment threshold values.
In block 710, the processor may increment a timing advance adjustment counter with a timing advance adjustment value received from the first network. When the timing advance protection window is initiated or restarted, the processor may set the timing advance adjustment counter to zero. As the first subscription receives timing advance adjustment values from the first network, the processor may increment the timing advance adjustment counter by each received value. For example, in response to the first subscription initially receiving a timing advance adjustment value of 2, the processor may increment the timing advance adjustment counter by 2. If the next timing advance adjustment value received is –1, the processor may set the timing advance adjustment counter to 1 (i.e., 2 + (–1) = 1) .
In determination block 712, the processor may determine whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
In response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold (i.e., determination block 712 = “No” ) , the processor may adjust the timing advance value maintained by the first subscription by the timing advance adjustment value received from the first network in block 716. In other words, the received timing advance adjustment value is likely correct and may be applied when the absolute value of the timing advance adjustment counter is less than the threshold.
In response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold (i.e., determination block 712 =“Yes” ) , the processor may ignore the timing advance adjustment value received from the first network in block 714. In other words, the received timing advance adjustment value is likely erroneous and should not be used when the absolute value of the timing advance adjustment counter exceeds the threshold.
After either applying the received timing advance adjustment value in block 716 or ignoring the adjustment in block 714, the processor may determine whether a tune-way has been initiated in determination block 718. For example, the mobile communication device may periodically tune the shared RF resource from the first subscription to a second subscription so that the second subscription may perform idle mode operations and check for page notifications.
In response to determining that a tune-away has been initiated (i.e., determination block 718 = “Yes” ) , the processor may initiate a new timing advance protection window for a certain time period when the tune-away begins in block 720. Timing advance protection windows triggered by a tune-away are discussed in more detail with reference to method 800 of FIG. 8.
In response to determining that a tune-away has not been initiated (i.e., determination block 718 = “No” ) , the processor may determine whether the first subscription has received a predetermined response pattern from the first network in determination block 722. For example, the first subscription may be transmitting data
packets during the timing advance protection window and the first network may respond with acknowledgements (ACKs) if the packets are successfully received or non-acknowledgements (NAKs) if the packets are not successfully received. In cases when the network is utilizing adaptive re-transmission, if an ACK is received but the new data indicator (NDI) bit is not toggled, the processor may treat the response as a NAK. In some non-limiting examples, the predetermined response pattern may be a threshold number of consecutive acknowledgements (e.g., four ACKs) , a threshold number of consecutive NAKs, or a specific pattern or percentage of ACKs and/or NAKs and/or other response messages. If the first subscription is capable of carrier aggregation, the processor may treat a timing advance group as a received ACK if all of the component carriers have received an ACK. If at least one component carrier has received a NAK, the processor may treat the timing advance group as a received NAK.
In response to determining that the first subscription has received a predetermined response pattern from the first network (i.e., determination block 722 =“Yes” ) , the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702. In other words, successful reception of all or most of the packets transmitted by the first subscription indicates that there is little or no error in the timing advance adjustment values. Thus, when the first network indicates successful reception of transmitted packets, the processor may terminate the current timing advance protection window and start a new timing advance protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) .
In response to determining that the first subscription has not received a predetermined response pattern from the first network (i.e.,determination block 722 =“No” ) , the processor may determine whether a timing advance protection window time period has expired in determination block 724. The processor may start the timing advance protection window time when the processor determines that the uplink transmission interval is within the predetermined range (i.e., after the operations in the
determination block 704) . In some examples, the timing advance protection window time period may be calculated as the sum of an inactivity timer and a period of a short discontinuous reception cycle of the subscription. The values of the inactivity timer and the period of a short discontinuous reception cycle may be obtained by the processor from the first network.
In response to determining that the timing advance protection window time period has not expired (i.e., determination block 724 = “No” ) , the processor may increment the timing advance adjustment counter with the next received timing advance adjustment value in block 710. In other words, while the advance protection window has not expired, the processor may continue to receive timing advance adjustment values from the network and compare the absolute value of the timing advance adjustment counter to the dynamic adjustment threshold.
In response to determining that the timing advance protection window time period has expired (i.e., determination block 724 = “Yes” ) , the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702. In other words, the processor may terminate the current timing advance protection window and start a new timing advance protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) . In this manner, the method 700 provides adaptive monitoring and protection of timing advance adjustment values received by a subscription from a network.
FIG. 8 illustrates a method 800 for initiating a timing advance protection window triggered by a tune-away on a mobile communication device to avoid the problems that may occur when the base station transmits an erroneous timing advance adjustment value according to various examples. With reference to FIGS. 1-8, the method 800 may be implemented with a processor (e.g., the general processor 206, the baseband modem processor 216, a separate controller, and/or the like) of a mobile communication device (such as the multi-SIM communication devices 110, 120, and 200) . The mobile communication device may have one RF resource that is shared by
a first subscription and a second subscription (e.g., a MSMS communication device) . The first subscription may maintain a timing advance value from a first network, which occasionally transmits timing advance adjustment values to the first subscription.
The method 800 is extendable to a plurality of component carriers of a subscription supported on mobile communication device that is capable of carrier aggregation. The component carriers of a subscription may be divided into multiple timing adjustment groups, in which each timing adjustment group shares the same timing advance values and the same frequency band. Thus, the method 800 may be independently applied to each timing adjustment group.
In block 720, the processor may initiate a new timing advance protection window for a time period when a tune-away begins. For example, the mobile communication device may periodically tune the shared RF resource from the first subscription to a second subscription so that the second subscription can perform idle mode operations and check for page notifications. When the tune-away occurs, the processor may start the timing advance protection window for a predetermined time period. In a non-limiting example, the predetermined time period may be ten or twenty sub-frames. If a timing advance protection window was already active when the tune-away occurs, the timing advance protection window may be restarted with a duration equal to the predetermined time period.
In block 802, the processor may determine an uplink transmission interval for the first subscription. The uplink transmission interval may be the number of sub-frames between consecutive uplink transmissions sent by the subscription. For example, the first subscription may be scheduled to transmit an uplink packet every ten sub-frames, in which case the uplink transmission interval may be ten.
In block 804, the processor may determine an adjustment threshold. The adjustment threshold may be based on the uplink transmission interval of the subscription. For example, if the uplink transmission interval is less than or equal to
5000 sub-frames, the processor may set the adjustment threshold to three, whereas if the uplink transmission interval is between 5,000 and 8,000 sub-frames, the processor may set the adjustment threshold to four. As discussed above, varying the adjustment threshold enables the mobile communication device to accept larger timing advance adjustment values when the time between transmissions increases because there is more time for the mobile communication device to move toward or away from the base station.
The adjustment threshold determined in block 804 may also be based on the estimated velocity of the mobile communication device. The estimated velocity of the mobile communication device may be calculated as
in which vD is the estimated velocity of the mobile communication device, DopplerSpread is a Doppler spread value obtained from a Doppler estimation unit in the mobile communication device, CarrierFreq is the center frequency used by the first network base station to communicate with the first subscription, and c is the speed of light.
In determining the adjustment threshold in block 804, the processor may compare the estimated velocity to a threshold representing a high speed of travel (e.g., the user is travelling on a high speed train) . For example, the threshold may be 170 kilometers/hour. If the estimated velocity equals or exceeds the threshold, the processor may set a high speed flag as part of the operations in block 804 to indicate that a higher adjustment threshold may be used. For example, if the uplink transmission interval is less than or equal to 5000 sub-frames and the high speed flag is not set, the processor may set the adjustment threshold to three in block 804. However, if the high speed flag is set, the processor may set the adjustment threshold to five in block 804. Thus, the high speed flag may account for the fact that the mobile communication device may be travelling quickly and thus larger timing advance adjustment values may still be valid. The mobile communication device may
store a look-up table that associates uplink transmission interval ranges and high speed flag values with adjustment threshold values.
In determination block 806, the processor may determine whether the uplink transmission interval of the first subscription exceeds a predetermined upper bound. The predetermined upper bound may represent an uplink transmission interval that is long enough that large timing advance adjustment values may not be considered erroneous. In a non-limiting example, the predetermined upper bound may be set at 10, 240 sub-frames.
In response to determining that the uplink transmission interval exceeds the predetermined upper bound (i.e., determination block 806 = “Yes” ) , the processor may adjust the timing advance value maintained by the first subscription by a timing advance adjustment value received from the first network in block 814. In other words, when the uplink transmission interval is larger than the upper bound, the processor may accept and apply the received timing advance adjustment values.
In response to determining that the uplink transmission interval does not exceed the predetermined upper bound (i.e., determination block 806 = “No” ) , the processor may increment a timing advance adjustment counter with a timing advance adjustment value received from the first network in block 808. When the timing advance protection window is initiated or restarted, the processor may set the timing advance adjustment counter to zero. As the first subscription receives timing advance adjustment values from the first network, the processor may increment the timing advance adjustment counter by each received value. For example, if the first subscription initially receives a timing advance adjustment value of 2, the processor may increment the timing advance adjustment counter to 2. If the next timing advance adjustment value received is –1, the processor may set the timing advance adjustment counter to 1 (i.e., 2 + (–1) = 1) .
In determination block 810, the processor may determine whether the absolute value of the timing advance adjustment counter exceeds the adjustment
threshold. In response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold (i.e., determination block 810 = “No” ) , the processor may adjust the timing advance value maintained by the first subscription by the timing advance adjustment value received from the first network in block 814. In other words, the received timing advance adjustment value is likely correct and may be applied when the absolute value of the timing advance adjustment counter is less than the threshold.
In response to determining that the absolute value of the timing advance adjustment counter does exceeds the adjustment threshold (i.e., determination block 810 = “Yes” ) , the processor may ignore the timing advance adjustment value received from the first network in block 812. In other words, the received timing advance adjustment value is likely erroneous and should not be used when the absolute value of the timing advance adjustment counter exceeds the threshold.
After either applying the received timing advance adjustment value in block 814 or ignoring the adjustment value in block 812, the processor may determine whether a new tune-way has been initiated in determination block 816.
In response to determining that a new tune-away has been initiated (i.e., determination block 816 = “Yes” ) , the processor may initiate a new timing advance protection window for a time period in block 720. In other words, every new tune-away may trigger a restart of the current timing advance protection window. When restarted, the adjustment threshold, uplink transmission interval, inactivity timer value, and the period of a short discontinuous reception cycle may be re-calculated and utilized by the processor in the new timing advance protection window.
In response to determining that a new tune-away has not been initiated (i.e., determination block 816 = “No” ) , the processor may determine whether the uplink transmission interval of the first subscription is within a predetermined range in determination block 818. The predetermined range may account for periods in which the uplink transmission interval is long enough that the network may generate
erroneous timing advance adjustment values. For example, the timing advance protection window may be initiated when the uplink transmission interval is between an upper bound N and a lower bound M. In a non-limiting example, the lower bound M may be set at 10 sub-frames, and the upper bound N may be set at 10, 240 sub-frames.
In response to determining that the uplink transmission interval is within the predetermined range (i.e., determination block 818 = “Yes” ) , the processor may extend the time period of the timing advance protection window time period by a predetermined amount in block 820. The predetermined amount may be a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription. The processor may obtain the values of the inactivity timer and the period of a short discontinuous reception cycle from the first network.
In response to determining that the uplink transmission interval is not within the predetermined range (i.e., determination block 818 = “No” ) , or after extending the timing advance protection window time period in block 820, the processor may determine whether the timing advance protection window time period has expired in determination block 822.
In response to determining that the timing advance protection window time period has not expired (i.e., determination block 822 = “No” ) , the processor may re-determine whether the uplink transmission interval exceeds the predetermined upper bound in determination block 806. In other words, while the timing advance protection window has not expired, the processor may determine whether to apply or ignore the next received timing advance adjustment value from the first network.
In response to determining that the timing advance protection window time period has expired (i.e., determination block 822 = “Yes” ) , the processor may terminate the timing advance protection window and resume determination of the uplink transmission interval in block 702. In other words, the current timing advance protection window may terminate and the processor may start a new timing advance
protection window at a future time (e.g., when a future uplink transmission interval falls within the predetermined range) . In this manner, the method 800 provides adaptive monitoring and protection of timing advance adjustment values that is triggered by a tune-away.
Various examples may be implemented in any of a variety of multi-SIM communication devices, an example of which (e.g., multi-SIM communication device 900) is illustrated in FIG. 9. With reference to FIGS. 1-9, the multi-SIM communication device 900 may be similar to the multi-SIM communication devices 110, 120, 200 and may implement the methods 700 and 800.
The multi-SIM communication device 900 may include a processor 902 coupled to a touchscreen controller 904 and an internal memory 906. The processor 902 may be one or more multi-core integrated circuits designated for general or specific processing tasks. The internal memory 906 may be volatile or non-volatile memory, and may also be secure and/or encrypted memory, or unsecure and/or unencrypted memory, or any combination thereof. The touchscreen controller 904 and the processor 902 may also be coupled to a touchscreen panel 912, such as a resistive-sensing touchscreen, capacitive-sensing touchscreen, infrared sensing touchscreen, etc. Additionally, the display of the multi-SIM communication device 900 need not have touch screen capability.
The multi-SIM communication device 900 may have one or more cellular network transceivers 908 coupled to the processor 902 and to one or more antennas 910 and configured for sending and receiving cellular communications. The one or more transceivers 908 and the one or more antennas 910 may be used with the above-mentioned circuitry to implement various example methods. The multi-SIM communication device 900 may include one or more SIM cards 916 coupled to the one or more transceivers 908 and/or the processor 902 and may be configured as described above.
The multi-SIM communication device 900 may also include speakers 914 for providing audio outputs. The multi-SIM communication device 900 may also include a housing 920, constructed of a plastic, metal, or a combination of materials, for containing all or some of the components discussed herein. The multi-SIM communication device 900 may include a power source 922 coupled to the processor 902, such as a disposable or rechargeable battery. The rechargeable battery may also be coupled to the peripheral device connection port to receive a charging current from a source external to the multi-SIM communication device 900. The multi-SIM communication device 900 may also include a physical button 924 for receiving user inputs. The multi-SIM communication device 900 may also include a power button 926 for turning the multi-SIM communication device 900 on and off.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of various examples are performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing examples may be performed in any order. Words such as “thereafter, ” “then, ” “next, ” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a, ” “an” or “the” is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions
should not be interpreted as causing a departure from the scope of the present examples.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein,
includes compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
The preceding description of the disclosed examples is provided to enable any person skilled in the art to make or use the present examples. Various modifications to these examples will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to some examples without departing from the spirit or scope of the written description. Thus, the present disclosure is not intended to be limited to the examples shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.
Claims (30)
- A method for initiating a timing advance protection window on a mobile communication device, comprising:determining an uplink transmission interval for a first subscription of the mobile communication device;determining an adjustment threshold based on the uplink transmission interval;incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network;determining whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andignoring the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- The method of claim 1, further comprising adjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold.
- The method of claim 1, further comprising:determining whether the uplink transmission interval is within a predetermined range; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval is not within the predetermined range.
- The method of claim 1, further comprising:determining whether the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the first subscription has received the predetermined response pattern from the first network.
- The method of claim 4, wherein the predetermined response pattern comprises a threshold number of consecutive acknowledgements.
- The method of claim 1, further comprising:determining whether a timing advance protection window time period has expired; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the timing advance protection window time period has expired.
- The method of claim 6, wherein the timing advance protection window time period comprises a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- The method of claim 1, further comprising:determining whether a tune-away from the first subscription to a second subscription of the mobile communication device has been initiated; andinitiating a new timing advance protection window time period in response to determining that the tune-away has been initiated.
- The method of claim 8, further comprising:determining whether the uplink transmission interval is within a predetermined range; andextending the new timing advance protection window time period in response to determining that the uplink transmission interval is within the predetermined range.
- The method of claim 9, wherein the new timing advance protection window time period is extended by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- The method of claim 8, further comprising:determining whether the uplink transmission interval exceeds a predetermined upper bound; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval exceeds the predetermined upper bound.
- The method of claim 1, wherein determining the adjustment threshold is further based on an estimated velocity of the mobile communication device.
- The method of claim 1, further comprising:determining the uplink transmission interval for each of a plurality of timing advance groups, wherein each timing advance group comprises one or more component carriers of the first subscription;determining, for each of the plurality of timing advance groups, the adjustment threshold based on the uplink transmission interval;incrementing, for each of the plurality of timing advance groups, the timing advance adjustment counter by the timing advance adjustment value received from the first network;determining, for each of the plurality of timing advance groups, whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andignoring the timing advance adjustment value for any of the plurality of timing advance groups for which the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- A mobile communication device comprising:a memory;a radio frequency (RF) resource; anda processor coupled to the memory and the RF resource, configured to connect to a first subscriber identity module (SIM) associated with a first subscription and a second SIM associated with a second subscription, and configured to:determine an uplink transmission interval for the first subscription;determine an adjustment threshold based on the uplink transmission interval;increment a timing advance adjustment counter by a timing advance adjustment value received from a first network;determine whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andignore the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- The mobile communication device of claim 14, wherein the processor is further configured to adjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter does not exceed the adjustment threshold.
- The mobile communication device of claim 14, wherein the processor is further configured to:determine whether the uplink transmission interval is within a predetermined range; andadjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval is not within the predetermined range.
- The mobile communication device of claim 14, wherein the processor is further configured to:determine whether the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network; andadjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the first subscription has received the predetermined response pattern from the first network.
- The mobile communication device of claim 17, wherein the predetermined response pattern comprises a threshold number of consecutive acknowledgements.
- The mobile communication device of claim 14, wherein the processor is further configured to:determine whether a timing advance protection window time period has expired; andadjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the timing advance protection window time period has expired.
- The mobile communication device of claim 19, wherein the processor is further configured to adjust the timing advance value associated with the first subscription by the timing advance adjustment value based on a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- The mobile communication device of claim 14, wherein the processor is further configured to:determine whether a tune-away of the RF resource from the first subscription to the second subscription has been initiated; andinitiate a new timing advance protection window time period in response to determining that the tune-away has been initiated.
- The mobile communication device of claim 21, wherein the processor is further configured to:determine whether the uplink transmission interval is within a predetermined range; andextend the new timing advance protection window time period in response to determining that the uplink transmission interval is within the predetermined range.
- The mobile communication device of claim 22, wherein the processor is further configured to extend the new timing advance protection window time period by a sum of an inactivity timer and a period of a short discontinuous reception cycle of the first subscription.
- The mobile communication device of claim 21, wherein the processor is further configured to:determine whether the uplink transmission interval exceeds a predetermined upper bound; andadjust a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval exceeds the predetermined upper bound.
- The mobile communication device of claim 14, wherein the processor is further configured to determine an adjustment threshold based on the uplink transmission interval based on an estimated velocity of the mobile communication device.
- The mobile communication device of claim 14, wherein the processor is further configured to:determine the uplink transmission interval for each of a plurality of timing advance groups, wherein each timing advance group comprises one or more component carriers of the first subscription;determine, for each of the plurality of timing advance groups, the adjustment threshold based on the uplink transmission interval;increment, for each of the plurality of timing advance groups, the timing advance adjustment counter by the timing advance adjustment value received from the first network;determine, for each of the plurality of timing advance groups, whether the absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andignore the timing advance adjustment value for any of the plurality of timing advance groups for which the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a mobile communication device to perform operations comprising:determining an uplink transmission interval for a first subscription of the mobile communication device;determining an adjustment threshold based on the uplink transmission interval;incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network;determining whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andignoring the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
- The non-transitory computer readable storage medium of claim 27, wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations further comprising:determining whether the uplink transmission interval is within a predetermined range; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the uplink transmission interval is not within the predetermined range.
- The non-transitory computer readable storage medium of claim 27, wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations further comprising:determining whether the first subscription has received a predetermined response pattern from the first network in response to transmissions sent from the first subscription to the first network; andadjusting a timing advance value associated with the first subscription by the timing advance adjustment value in response to determining that the first subscription has received the predetermined response pattern from the first network.
- A mobile communication device, comprising:means for determining an uplink transmission interval for a first subscription of the mobile communication device;means for determining an adjustment threshold based on the uplink transmission interval;means for incrementing a timing advance adjustment counter by a timing advance adjustment value received from a first network;means for determining whether an absolute value of the timing advance adjustment counter exceeds the adjustment threshold; andmeans for ignoring the timing advance adjustment value in response to determining that the absolute value of the timing advance adjustment counter exceeds the adjustment threshold.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201680079864.4A CN108605360B (en) | 2016-01-27 | 2016-01-27 | Timing advance value protection in mobile devices |
EP16886985.7A EP3409062A4 (en) | 2016-01-27 | 2016-01-27 | Timing advance value protection in mobile devices |
PCT/CN2016/072296 WO2017128098A1 (en) | 2016-01-27 | 2016-01-27 | Timing advance value protection in mobile devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/072296 WO2017128098A1 (en) | 2016-01-27 | 2016-01-27 | Timing advance value protection in mobile devices |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017128098A1 true WO2017128098A1 (en) | 2017-08-03 |
Family
ID=59397127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/072296 WO2017128098A1 (en) | 2016-01-27 | 2016-01-27 | Timing advance value protection in mobile devices |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3409062A4 (en) |
CN (1) | CN108605360B (en) |
WO (1) | WO2017128098A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111108787A (en) * | 2017-09-22 | 2020-05-05 | 高通股份有限公司 | Carrier selection for location measurement |
CN112425257A (en) * | 2019-07-12 | 2021-02-26 | 北京小米移动软件有限公司 | Timing advance indicating method, device, communication equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154984A (en) * | 2006-09-25 | 2008-04-02 | 大唐移动通信设备有限公司 | Method and system for remaining ascending synchronization |
US20130279433A1 (en) | 2012-04-20 | 2013-10-24 | Esmael Hejazi Dinan | Cell Timing in a Wireless Device and Base Station |
CN103379653A (en) * | 2012-04-27 | 2013-10-30 | 中兴通讯股份有限公司 | Method and device for indicating TD-LTE terminal to receive downlink pilot time slot |
WO2014059116A1 (en) | 2012-10-10 | 2014-04-17 | Qualcomm Incorporated | Uplink timing control to reduce call drop |
US20150230194A1 (en) | 2014-02-10 | 2015-08-13 | Qualcomm Incorporated | Uplink timing adjustment for wireless communication |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2514238A4 (en) * | 2009-12-17 | 2016-03-09 | Lg Electronics Inc | Apparatus and method of avoiding control channel blocking |
US20150124712A1 (en) * | 2013-11-07 | 2015-05-07 | Nokia Corporation | Methods and apparatus for wireless networking |
WO2015120616A1 (en) * | 2014-02-14 | 2015-08-20 | 华为技术有限公司 | Preamble sending method, power control method, terminal, and device |
-
2016
- 2016-01-27 CN CN201680079864.4A patent/CN108605360B/en active Active
- 2016-01-27 EP EP16886985.7A patent/EP3409062A4/en not_active Withdrawn
- 2016-01-27 WO PCT/CN2016/072296 patent/WO2017128098A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154984A (en) * | 2006-09-25 | 2008-04-02 | 大唐移动通信设备有限公司 | Method and system for remaining ascending synchronization |
US20130279433A1 (en) | 2012-04-20 | 2013-10-24 | Esmael Hejazi Dinan | Cell Timing in a Wireless Device and Base Station |
CN103379653A (en) * | 2012-04-27 | 2013-10-30 | 中兴通讯股份有限公司 | Method and device for indicating TD-LTE terminal to receive downlink pilot time slot |
WO2014059116A1 (en) | 2012-10-10 | 2014-04-17 | Qualcomm Incorporated | Uplink timing control to reduce call drop |
US20150230194A1 (en) | 2014-02-10 | 2015-08-13 | Qualcomm Incorporated | Uplink timing adjustment for wireless communication |
Non-Patent Citations (1)
Title |
---|
See also references of EP3409062A4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111108787A (en) * | 2017-09-22 | 2020-05-05 | 高通股份有限公司 | Carrier selection for location measurement |
CN111108787B (en) * | 2017-09-22 | 2021-04-23 | 高通股份有限公司 | Carrier selection for location measurement |
CN112425257A (en) * | 2019-07-12 | 2021-02-26 | 北京小米移动软件有限公司 | Timing advance indicating method, device, communication equipment and storage medium |
US20220295432A1 (en) * | 2019-07-12 | 2022-09-15 | Beijing Xiaomi Mobile Software Co., Ltd. | Method for indicating timing advance, and communication device and storage medium |
EP3998838A4 (en) * | 2019-07-12 | 2023-03-29 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for indicating timing advance, and communication device and storage medium |
CN112425257B (en) * | 2019-07-12 | 2023-08-29 | 北京小米移动软件有限公司 | Timing Advance Indication Method, Device, Communication Equipment and Storage Medium |
Also Published As
Publication number | Publication date |
---|---|
EP3409062A4 (en) | 2019-08-28 |
CN108605360A (en) | 2018-09-28 |
EP3409062A1 (en) | 2018-12-05 |
CN108605360B (en) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9780822B2 (en) | Managing transmitter collisions | |
US10736058B2 (en) | Adjustment of timing advance values in mobile devices | |
US9549354B2 (en) | Receiver-only tune-away | |
US20190082446A1 (en) | Uplink Transmission Handling in the Presence of Tune-Aways | |
EP3384701B1 (en) | Deliberating retransmissions to avoid new hybrid automatic repeat requests (harq) | |
WO2017136228A1 (en) | Managing data reception following a tune-away | |
US20170070940A1 (en) | Systems and Methods for Managing Carrier Transmission After a Tune-Away | |
WO2017128098A1 (en) | Timing advance value protection in mobile devices | |
US9504011B1 (en) | Methods for improved single radio long term evolution (SRLTE) mobile termination (MT) call success rate for mobile switching center (MSC)-sub paging scenarios | |
WO2017193533A1 (en) | Handling packet acknowledgements during tune-aways on mobile devices | |
CN109417461B (en) | HS-SCCH order recovery in a multi-user identification module (SIM) wireless communication device | |
KR102719146B1 (en) | Planned retransmission to avoid new Hybrid Automatic Repeat Requests (HARQ) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16886985 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |