US20160049976A1 - Managing Transmitter Collisions - Google Patents
Managing Transmitter Collisions Download PDFInfo
- Publication number
- US20160049976A1 US20160049976A1 US14/808,071 US201514808071A US2016049976A1 US 20160049976 A1 US20160049976 A1 US 20160049976A1 US 201514808071 A US201514808071 A US 201514808071A US 2016049976 A1 US2016049976 A1 US 2016049976A1
- Authority
- US
- United States
- Prior art keywords
- subscription
- packet
- level
- transmission
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/3816—Mechanical arrangements for accommodating identification devices, e.g. cards or chips; with connectors for programming identification devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
- H04L1/1877—Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0453—Resources in frequency domain, e.g. a carrier in FDMA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1215—Wireless traffic scheduling for collaboration of different radio technologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/23—Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
- H04W72/566—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/08—Non-scheduled access, e.g. ALOHA
- H04W74/0833—Random access procedures, e.g. with 4-step access
- H04W74/0841—Random access procedures, e.g. with 4-step access with collision treatment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Definitions
- SIM Subscriber Identity Module
- mobile communication devices such as smart phones, tablet computers, and laptop computers—contain two 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), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), Global System for Mobile Communications (GSM), and Universal Mobile Telecommunications Systems (UMTS).
- Example multi-SIM mobile communication devices include mobile phones, laptop computers, smart phones, and other mobile communication devices that are configured to connect to multiple mobile telephony networks.
- a mobile communication device that includes a plurality of SIMs and connects to two or more separate mobile telephony networks using two or more separate radio-frequency (“RF”) transceivers is termed a “multi-SIM-multi-active” or “MSMA” communication device.
- MSMA multi-SIM-multi-active
- An example MSMA communication device is a “dual-SIM-dual-active” or “DSDA” communication device, which includes two SIM cards/subscriptions associated with two mobile telephony networks.
- a multi-SIM-multi-active communication device may use an associated RF resource to communicate with the subscription's mobile network at any time.
- the multi-SIM-multi-active communication device may operate in a transmit-sharing (“Tx-sharing”) mode in which two (or more) subscriptions share a single transmit (“Tx”) resource (e.g., a transmitter or transceiver).
- Tx-sharing a transmit-sharing
- a first subscription e.g., an LTE subscription
- a second subscription e.g., a GSM subscription
- the first subscription and/or the second subscription typically experience degraded transmit performance in situations in which both subscriptions need to use the Tx resource at the same time, such as when both subscriptions are engaged in a data or voice call.
- the various embodiments include methods and mobile communication devices implementing methods for managing potential transmitter collisions of a first subscription.
- the various methods may include attempting to send a packet for the first subscription, determining whether the packet was dropped, determining whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped, determining whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted, and implementing a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription.
- the first subscription and the second subscription may be subscriptions to different radio access technologies.
- Some embodiments may further include performing another HARQ-level retransmission of the packet in response to determining that the threshold number of HARQ-level retransmissions of the packet has not been attempted.
- the method may further include incrementing a radio-link-control-level (RLC-level) retransmission counter, determining whether an RLC-level retransmission timer has expired, and initiating an RLC-level retransmission of the packet in response to determining that the RLC-level retransmission timer has expired.
- RLC-level radio-link-control-level
- implementing a Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription may include initiating a radio-link-control-level (RLC-level) retransmission of the packet that was dropped without waiting for an RLC-level retransmission timer to expire.
- implementing a Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription may include preventing an RLC-level retransmission counter from incrementing.
- the first subscription may have a lower priority than the second subscription.
- the first subscription may be engaged in a data call and the second subscription may be engaged in a voice call.
- Various embodiments further include a mobile communication device having a memory, a radio frequency (RF) resource, and a processor coupled to the memory and the RF resource and configured with processor executable instructions to perform operations of the methods described above.
- Various embodiments include a mobile communication device having means for performing functions of the methods described above.
- Various embodiments include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a mobile communication device to perform operations of the methods described above.
- FIG. 1 is a communication system block diagram of mobile telephony networks suitable for use with various embodiments.
- FIG. 2 is a component block diagram of a multi-SIM-multi-active communication device according to various embodiments.
- FIG. 3 is a component block diagram illustrating components of different transmit/receive chains in a multi-SIM-multi-active communication device according to various embodiments.
- FIG. 4 is a process flow diagram illustrating a method for managing potential transmitter collisions of a first subscription according to various embodiments.
- FIG. 5 is a timeline diagram illustrating transmission schedules of a first subscription and a second subscription according to various embodiments.
- FIG. 6 is a process flow diagram illustrating a method for preventing a scheduling-request transmission to a network of a first subscription in response to determining that a packet transmission associated with the scheduling-request transmission will collide with a transmission of a second subscription according to various embodiments.
- FIG. 7 is another timeline diagram illustrating transmission schedules of a first subscription and a second subscription according to various embodiments.
- FIGS. 8A-8B are signaling and call flow diagrams illustrating communications exchanged between components of a first subscription's communication protocol stack in order to send high-priority messages in packet transmissions that will not collide with transmissions of the second subscription according to various embodiments.
- FIGS. 9A-9B are process flow diagrams illustrating a method for sending high-priority messages of the first subscription in packet transmissions that will not collide with transmissions of the second subscription according to various embodiments.
- FIG. 10 is a signaling and call flow diagram illustrating communications exchanged between components in a first subscription's communication protocol in order to initiate a radio link control (RLC) level retransmission immediately in response to determining that a hybrid automatic repeat request (HARQ) level transmission failure has occurred according to various embodiments.
- RLC radio link control
- HARQ hybrid automatic repeat request
- FIG. 11 is a process flow diagram illustrating a method for immediately initiating an RLC-level retransmission in response to determining that a HARQ-level retransmission failure has occurred according to various embodiments.
- FIG. 12 is a signaling and call flow diagram illustrating communications exchanged between a mobile communication device and a first subscription's network related to reporting an artificially high buffer-size report to the network according to various embodiments.
- FIG. 13 is a process flow diagram illustrating a method for reporting an artificially high buffer-size report to a network of the first subscription according to various embodiments.
- FIG. 14 is a process flow diagram illustrating a method for classifying the priority of messages of the first subscription based on the current radio conditions of the first subscription according to various embodiments.
- FIG. 15 is a component block diagram of a multi-SIM-multi-active communication device suitable for implementing some embodiment methods.
- wireless device As used herein, the terms “wireless device,” “mobile communication device,” and “multi-SIM-multi-active communication device” are used interchangeably and refer to any one or all of cellular telephones, smart phones, personal or mobile multi-media players, personal data assistants, laptop computers, personal computers, tablet computers, smart books, palm-top computers, wireless electronic mail receivers, multimedia Internet-enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices that include a programmable processor, memory, and circuitry for connecting to at least two mobile communication networks.
- the various aspects may be useful in mobile communication devices, such as smart phones, and so such devices are referred to in the descriptions of various embodiments.
- the embodiments may be useful in any electronic devices, such as a DSDA communication device, that may individually maintain a plurality of subscriptions that utilize a plurality of separate RF resources and may operate in a Tx-sharing mode in which two (or more) subscriptions share a single Tx resource.
- a DSDA communication device may individually maintain a plurality of subscriptions that utilize a plurality of separate RF resources and may operate in a Tx-sharing mode in which two (or more) subscriptions share a single Tx resource.
- SIM Subscriber Identification Module
- IMSI International Mobile Subscriber Identity
- subscriber Identification Module a memory 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 mobile communication device on a network and enable a communication service with the network.
- IMSI International Mobile Subscriber Identity
- subscriber Identification Module a memory 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 mobile communication device on a network and enable a communication service with the network.
- IMSI International Mobile Subscriber Identity
- subscription is also be used herein as a shorthand reference 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.
- a first subscription e.g., a subscription to an LTE network or an “LTE subscription”
- a second subscription e.g., a subscription to a GSM network or a “GSM subscription”
- both subscriptions are in active states (i.e., handling voice or data calls)
- the first subscription and the second subscription may need to simultaneously utilize the shared Tx resource, for example, to service calls.
- a priority scheme is typically used to determine one of the first and the second subscriptions that will receive access to the shared Tx resource in the event that both subscriptions simultaneously require access to the shared Tx resource.
- a GSM subscription engaged in a voice call will have priority over an LTE subscription engaged in a data call, and thus, when both subscriptions require access to the shared Tx resource (i.e., during a “transmission” or “Tx” collision event), the GSM subscription receives access to the shared Tx resource and the LTE subscription is denied access to the shared Tx resources.
- the lower-priority LTE subscription's transmission during the Tx collision event may be partially or completely lost in favor of the higher-priority GSM subscription's transmissions, thereby potentially degrading the lower-priority subscription's Tx performance.
- a processor of the mobile communication device may determine when an upcoming transmission of the lower-priority subscription will collide with a transmission of a higher-priority subscription (i.e., may determine when a Tx collision event will occur between the subscriptions) and implement one or more Tx collision management strategies for the lower-priority subscription in response to determining that the lower-priority subscription's upcoming transmission will collide with a transmission of the higher-priority subscription, thus improving the lower-priority subscription's overall performance.
- a lower-priority subscription (e.g., a subscription engaged in a data call) may be referred to herein as a “first subscription,” and a higher-priority subscription (e.g., a subscription engaged in a voice call) may be referred to as a “second subscription.”
- a first subscription at a first time may be a second subscription at a second time
- a second subscription at the first time may be a first subscription at some other time.
- the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by rescheduling the first subscription's upcoming scheduling request (“SR”) transmissions in the event that the device processor determines that packet transmissions associated with the upcoming SR transmissions will collide with a transmission of the second subscription.
- SR scheduling request
- the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by skipping/ignoring uplink grants received from the network that are associated with packet transmissions that will collide with a transmission of the second subscription.
- the device processor may receive other uplink grants associated with other packet transmissions and may wait to send high-priority messages as part of a packet transmission that will not collide with a transmission of the second subscription.
- the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by immediately initiating a radio-link-control-level (RLC-level) retransmission operation in response to determining that one or more attempts to transmit (or retransmit) a packet have failed at a hybrid-automatic-repeat-request (HARQ) level because of a Tx collision with the second subscription's transmissions.
- RLC-level radio-link-control-level
- HARQ hybrid-automatic-repeat-request
- the device processor may ignore HARQ-level packet transmissions/retransmissions that have failed due to a Tx collision with the second subscription, and thus may not update an RLC-level retransmission counter used to determine when the link with the first subscription's network is lost.
- the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by sending an artificially inflated buffer size report (BSR) to the first subscription's network, which may cause the first subscription's network to send a plurality of uplink grants to the mobile communication device.
- BSR buffer size report
- the device processor may analyze each uplink grant received from the first subscription's network, identify one or more of a plurality of uplink grants that are associated with a packet transmission that does not collide with a transmission of the second subscription, and send data to the first subscription's network via a non-colliding packet transmission based on the one or more identified uplink grants.
- the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription in response to determining that an upcoming transmission of the first subscription will collide with a transmission of the second subscription by determining the current radio conditions for the first subscription and adjusting the priority of the first subscription's upcoming transmission based on the current radio conditions of the first subscription. Specifically, the device processor may increase the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are poor or do not satisfy a minimum quality threshold, which may indicate that the first subscription may need to immediately communicate with the subscription's network to initiate a handover to a base station/cell that may provide better service and/or radio conditions.
- the device processor may decrease the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are acceptable or satisfy a minimum quality threshold because the first subscription may not need to immediately communicate with the subscriptions network to prevent a dropped call or lost connection.
- 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 mobile 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 mobile 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 mobile 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 mobile communication device 120 may 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 LTE, 4G, 3G, CDMA, TDMA, WCDMA, GSM, and other mobile telephony communication technologies.
- the mobile communication devices 110 , 120 are shown connected to the mobile networks 102 , 104 , in some embodiments (not shown), the mobile communication devices 110 , 120 may include one or more subscriptions to two or more mobile networks 102 , 104 and may connect to those networks in a manner similar to the described operations.
- the first mobile communication device 110 may establish a wireless connection 152 with a peripheral device 150 used in connection with the first mobile communication device 110 .
- the first mobile communication device 110 may communicate over a Bluetooth® link with a Bluetooth-enabled personal computing device (e.g., a “smart watch”).
- the first mobile communication device 110 may 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 mobile communication device 120 may similarly be configured to connect with the peripheral device 150 and/or the wireless access point 160 over wireless links.
- the first mobile network 102 and the second mobile network 104 may individually include at least one server (e.g., a server 172 and a server 174 , respectively) that may be configured to allocate and/or adjust resource grants (e.g., uplink grants) for subscriptions on the mobile communication devices 110 , 120 .
- a server 172 and a server 174 may be configured to allocate and/or adjust resource grants (e.g., uplink grants) for subscriptions on the mobile communication devices 110 , 120 .
- resource grants e.g., uplink grants
- FIG. 2 is a functional block diagram of a mobile communication device 200 suitable for implementing various embodiments.
- the mobile communication device 200 may be similar to one or more of the mobile communication devices 110 , 120 as described.
- the mobile communication device 200 may include a first SIM interface 202 a, which may receive a first identity module SIM-1 204 a that is associated with a first subscription (e.g., a subscription to an LTE network).
- the mobile communication device 200 may also include a second SIM interface 202 b, which may receive a second identity module SIM-2 204 b that is associated with a second subscription (e.g., a subscription to a GSM network).
- a SIM in various embodiments 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
- Each SIM card may have a central processing unit (CPU), read only memory (ROM), random access memory (RAM), electrically erasable programmable read only memory (EEPROM) and input/out (I/O) circuits.
- CPU central processing unit
- ROM read only memory
- RAM random access memory
- EEPROM electrically erasable programmable read only memory
- I/O input/out
- a SIM used in various embodiments may include 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 Public Land Mobile Number (HPLMN) code, etc.) to indicate the SIM card network operator provider.
- An Integrated Circuit Card Identity (ICCID) SIM serial number is printed on the SIM card for identification.
- a SIM may be implemented within a portion of memory of the mobile communication device 200 (e.g., memory 214 ), and thus need not be a separate or removable circuit, chip or card.
- the mobile communication device 200 may include at least one controller, such as a general-purpose 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-purpose 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 chain.
- the memory 214 may store an operating system (OS), as well as user application software and executable instructions.
- the memory 214 may also store application data, such as an array data structure.
- application data such as an array data structure.
- the memory 214 may also store one or more look-up tables, lists, or various other data structures that may be referenced to determine schedules of upcoming transmissions of the first subscription and/or the second subscription.
- the general-purpose processor 206 and the memory 214 may each be coupled to at least one baseband modem processor 216 .
- Each SIM in the mobile communication device 200 e.g., the SIM-1 204 a and the SIM-2 204 b
- the baseband-RF resource chain may include the baseband modem processor 216 , which may perform baseband/modem functions for communicating with/controlling a radio access technology (RAT), and may include one or more amplifiers and radios, referred to generally herein as RF resources (e.g., RF resources 218 a, 218 b ).
- RAT radio access technology
- baseband-RF resource chains may share the baseband modem processor 216 (i.e., a single device that performs baseband/modem functions for all SIMs on the mobile communication device 200 ).
- each baseband-RF resource chain may include physically or logically separate baseband processors (e.g., BB1, BB2).
- the RF resources 218 a, 218 b may be associated with different SIMs/subscriptions. For example, a first subscription to an LTE network may be associated with the RF resource 218 a, and a second subscription to a GSM network may be associated with the RF resource 218 b.
- the RF resources 218 a , 218 b may each be transceivers that perform transmit/receive functions on behalf of subscriptions/SIMs assigned to each RF resource.
- the RF resources 218 a, 218 b may also include separate transmit and receive circuitry, or may include a transceiver that combines transmitter and receiver functions.
- the RF resources 218 a, 218 b may each be coupled to a wireless antenna (e.g., a first wireless antenna 220 a or a second wireless antenna 220 b ).
- the RF resources 218 a, 218 b may also be coupled to the baseband modem processor 216 .
- the mobile communication device 200 may operate in a Tx-sharing mode in which a plurality of subscriptions utilize a shared Tx resource, such as by sharing the transmit functions of the RF resource 218 a or the RF resource 218 b.
- a processor or the mobile communication device e.g., the general-purpose processor 206 , the baseband modem processor 216 , and or a Tx collision management unit 230 ) may allocate the shared Tx resource to one of the plurality of subscriptions during a Tx collision event.
- the processor(s) may allocate the shared Tx resource to a subscription in the plurality of subscriptions based on that subscription's priority. For example, the processor(s) may allocate the shared Tx resource to a GSM subscription engaged in a voice call instead of an LTE subscription engaged in a data call.
- the general-purpose processor 206 , the memory 214 , the baseband processor(s) 216 , and the RF resources 218 a, 218 b may be included in the mobile communication device 200 as a system-on-chip 250 .
- the first and second SIMs 204 a, 204 b and their corresponding interfaces 202 a, 202 b 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 mobile 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 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 mobile communication device 200 to enable communication between them, as is known in the art.
- the two SIMs 204 a, 204 b, the baseband modem processor 216 , the RF resources 218 a, 218 b, and the wireless antennas 220 a, 220 b may constitute two or more RATs.
- a SIM, baseband processor, and RF resource may be configured to support a GSM RAT, an LTE RAT, and/or a WCDMA RAT.
- More RATs may be supported on the mobile communication device 200 by adding more SIM cards, SIM interfaces, RF resources, and/or antennae for connecting to additional mobile networks.
- the Tx collision management unit 230 may be configured to manage and/or schedule subscriptions' utilization of a shared Tx resource, such as by adjusting a first subscription's transmission schedule to avoid a second subscription's scheduled transmissions during a Tx collision event.
- the Tx collision management unit 230 may be implemented within the general-purpose processor 206 .
- the Tx collision management unit 230 may be implemented as a separate hardware component (i.e., separate from the general-purpose processor 206 ).
- the Tx collision management unit 230 may be implemented as a software application stored within the memory 214 and executed by the general-purpose processor 206 .
- FIG. 3 is a block diagram 300 of transmit and receive components in separate RF resources on the mobile communication device 200 described with reference to FIG. 2 , according to various embodiments.
- a transmitter 302 may be part of the RF resource 218 a, and a receiver 304 may be part of the RF resource 218 b.
- the transmitter 302 may include a data processor 306 that may format, encode, and interleave data to be transmitted.
- the transmitter 302 may include a modulator 308 that modulates a carrier signal with encoded data, such as by performing Gaussian minimum shift keying (GMSK).
- GMSK Gaussian minimum shift keying
- One or more transmit circuits 310 may condition the modulated signal (e.g., by filtering, amplifying, and upconverting) to generate an RF modulated signal for transmission.
- the RF modulated signal may be transmitted by the transmitter 302 to the first base station 130 via the first wireless antenna 220 a, for example.
- the second wireless antenna 220 b may receive RF modulated signals from the second base station 140 on the second wireless antenna 220 b and pass the received signals to the receiver 304 .
- One or more receive circuits 316 may condition (e.g., filter, amplify, and downconvert) the received RF modulated signal, digitize the conditioned signal, and provide samples to a demodulator 318 .
- the demodulator 318 may extract the original information-bearing signal from the modulated carrier wave, and may provide the demodulated signal to a data processor 320 .
- the data processor 320 may de-interleave and decode the signal to obtain the original, decoded data, and may provide decoded data to other components in the mobile communication device 200 . Operations of the transmitter 302 and the receiver 304 may be controlled by a processor, such as the baseband modem processor 216 .
- each of the transmitter 302 and the receiver 304 may be implemented as circuitry that may be separated from corresponding receive and transmit circuitries (not shown).
- the transmitter 302 and the receiver 304 may be respectively combined with corresponding receive circuitry and transmit circuitry, for example, as transceivers associated with the SIM-1 204 a and the SIM-2 204 b.
- mobile communication devices that implement Tx sharing require two (or more) subscriptions to share a Tx resource.
- Tx sharing e.g., to reduce hardware costs
- the transmission schedules of these subscriptions occasionally overlap/collide—for example, when each of the subscriptions is in a connected mode (e.g., handling a voice or data call)—these subscriptions may compete for access to the shared Tx resource during Tx collision events.
- a subscription having a higher/highest priority typically receives access to the shared Tx resource to the exclusion of a lower-priority subscription
- the lower-priority subscription is unable to use the shared Tx resource to communicate with the lower-priority subscription's network while the higher-priority subscription is transmitting.
- various embodiments relate to implementing one or more Tx collision management strategies to mitigate the effects of Tx collision events on the transmission performance of lower-priority subscriptions.
- FIG. 4 illustrates a method 400 for managing one or more potential transmitter collisions by implementing a Tx collision management strategy for a lower-priority subscription (i.e., a first subscription), such as a data call, in response to determining that an upcoming transmission of the first subscription will collide with a transmission of a higher-priority subscription (i.e., a second subscription), such as a voice call, during a Tx collision event.
- a lower-priority subscription i.e., a first subscription
- a second subscription such as a voice call
- the method 400 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , a separate controller, and/or the like) of a multi-SIM-multi-active communication device (e.g., the mobile communication device 200 ).
- the mobile communication device may be operating in a Tx-sharing mode such that the first subscription and the second subscription utilize a shared Tx resource (e.g., 218 a or 218 b ).
- a first subscription and a second subscription may be in a connected mode, such as when the first subscription is engaged in a data call and the second subscription is engaged in a voice call.
- servicing a voice call may have priority over servicing a data call to ensure that the mobile communication device provides high-quality, reliable voice calls.
- the second subscription's transmissions may have priority over the transmissions of the first subscription.
- the device processor may access the first subscription's transmission schedule from memory (e.g., the memory 214 ), retrieve the transmission schedule from the first subscription, and/or obtain the transmission schedule from the first subscription's network. In such embodiments, the device processor may reference the first subscription's transmission schedule to determine whether the first subscription is about to transmit. In some embodiments, the device processor may additionally (or alternatively) determine the first subscription's transmission schedule based on patterns in the first subscription transmission history.
- the device processor may determine the second subscription's transmission schedule relative to the upcoming transmission of the first subscription, in block 408 .
- the device processor may access or obtain the transmission schedule of the second subscription by performing operations similar to those described with reference to blocks 404 - 406 .
- the device processor may determine whether the upcoming transmission of the first subscription will collide with a transmission of the second subscription. In other words, the device processor may determine whether a Tx collision event (i.e., one or more potential collisions) is expected to occur between the first and second subscriptions based on transmission schedules of each subscription. For example, the device processor may determine whether at least one transmission of the first subscription will coincide/overlap with a transmission of the second subscription, which may indicate that the first subscription may be unable to access the shared Tx resource because the second subscription, as a higher-priority subscription, may receive sole access to the shared Tx resource to the exclusion of the first subscription.
- a Tx collision event i.e., one or more potential collisions
- the device processor may send the upcoming transmission for the first subscription to the first subscription's network as usual, in block 414 .
- the device processor and/or various other components on the mobile communication device may enable the first subscription to transmit the upcoming transmission to the first subscription's network as usual and without interruption.
- the device processor may implement a Tx collision management strategy for the first subscription, in block 412 .
- the Tx collision management strategy may reduce the impact of the loss of access to the shared Tx resource during the first subscriptions upcoming transmission.
- the device processor may reschedule upcoming scheduling request (“SR”) transmissions associated with Physical Uplink Shared Channel (“PUSCH”) transmissions (herein referred to as “packet” transmissions) in the event that the device processor determines that the packet transmissions associated with the upcoming SR transmissions will collide with a transmission of the second subscription (see, e.g., FIGS. 5-6 ).
- SR scheduling request
- PUSCH Physical Uplink Shared Channel
- the device processor may implement a Tx collision management strategy for the first subscription by skipping/ignoring uplink grants received from the network that are associated with packet transmissions that the device processor determines will collide with a transmission of the second subscription (see, e.g., FIGS. 7-9B ).
- the device processor may wait to send high-priority messages as part of a packet transmission associated with a new uplink grant received from the first subscription's network that will not collide with a transmission of the second subscription.
- the device processor may implement a Tx collision management strategy for the first subscription in block 412 by immediately initiating a radio-link-control-level (RLC-level) retransmission operation in response to determining that one or more attempts to transmit (or retransmit) a packet have failed at the hybrid-automatic-repeat-request (HARQ) level.
- the device processor may not account for HARQ-level packet transmissions/retransmissions that failed due to a Tx collision with the second subscription, and thus may not update a RLC-level retransmission counter used to determine when the link with the first subscription's network is lost (i.e., a radio link failure) (see, e.g., FIGS. 10-11 ).
- the device processor may implement a Tx collision management strategy for the first subscription in block 412 by sending an artificially inflated buffer size report (BSR) to the first subscription's network, which may cause the network to send a plurality of uplink grants to the mobile communication device for use by the first subscription.
- BSR buffer size report
- the device processor may analyze each uplink grant received from the first subscription's network, identify one or more of plurality of uplink grants that are associated with a packet transmission that does not collide with a transmission of the second subscription (i.e., avoids a Tx collision event), and send data via a non-colliding packet transmission based on the one or more identified uplink grants (see, e.g., FIGS. 12-13 ).
- the device processor may implement a Tx collision management strategy for the first subscription in response to determining that an upcoming transmission of the first subscription will collide with a transmission of the second subscription by determining the current radio conditions for the first subscription and adjusting the priority of the first subscription's upcoming transmission based on the current radio conditions of the first subscription (see, e.g., FIG. 14 ). For example, the device processor may increase the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are poor or do not satisfy a minimum quality threshold, indicating that the first subscription may need to communicate with the subscription's network to initiate handover to a better base station/cell that may provide better radio conditions.
- the device processor may decrease the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are good or satisfy a minimum quality threshold because the first subscription may not need to immediately communicate with the subscription's network to prevent a dropped call or lost connection.
- the device processor may repeat the operations of the method 400 by again monitoring the first subscription's transmission schedule for another upcoming transmission in block 404 .
- the device processor may repeat the operations of the method 400 so long as both the first subscription and the second subscription are in an active/connected mode or while there is a possibility of a Tx collision event occurring between the first subscription and the second subscription.
- FIG. 5 is a timeline diagram 500 illustrating transmission schedules of a first subscription 502 (i.e., “subscription 1 ”) and a second subscription 504 (i.e., “subscription 2 ”) over time 506 while the subscriptions 502 , 504 are in a connected mode and sharing a single Tx resource.
- the first subscription 502 may be considered as having a lower-priority than the priority of the second subscription 504 , as described.
- the first subscription 502 may be prevented from utilizing a shared Tx resource in the event that transmissions of the first subscription 502 collide with transmission of the second subscription 504 because the first subscription 502 has a lower priority than the priority of the second subscription 504 .
- the first subscription 502 may periodically send SR transmissions (e.g., SR transmissions 508 a, 508 b ) to the first subscription's network via a control channel.
- the first subscription 502 may use SR transmissions to request uplink resource allocations (i.e., uplink resource grants) from the first subscription's network, and in response to receiving the SR transmission, the network of the first subscription 502 may send one or more uplink grants (e.g., uplink grants 510 a, 510 b ) to the first subscription 502 that designate a scheduled time during which the first subscription 502 may transmit a data packet(s) to the network via a PUSCH/packet transmission (e.g., packet transmissions 514 , 516 ).
- uplink grants e.g., uplink grants 510 a, 510 b
- the first subscription 502 may communicate with the first subscription's network based on a predetermined schedule.
- the first subscription 502 may be configured to send SR transmissions periodically, receive uplink grants corresponding to those SR transmissions at an expected time, and send packet transmissions at a predetermined time based on the received plurality of uplink grants.
- a device processor on the mobile communication device may anticipate a time at which the first subscription 502 will send a packet transmission based on the time at which the first subscription 502 sends the preceding SR transmission associated with that packet transmission.
- the device processor may access information regarding the transmission schedule of the first subscription 502 to determine the predetermined time between an SR transmission and the SR transmission's corresponding packet transmission. For example, as illustrated in the timeline diagram 500 , the device processor may determine that the packet transmission 514 of the first subscription 502 will begin a predetermined amount of time 512 after the beginning of the SR transmission 508 a. Similarly, the device processor may determine that the first subscription 502 will attempt to send the packet transmission 516 after the predetermined amount of time 512 after the first subscription 502 begins to send the SR transmission 508 b.
- the device processor may have access to (and/or may determine) a transmission schedule of the second subscription 504 , as described (e.g., the method 400 ). For example, the device processor may determine that the second subscription 504 is scheduled to periodically broadcast high-priority (e.g., voice) transmissions 518 a - 518 c.
- high-priority e.g., voice
- the device processor may access and/or determine the transmission schedules of both the first subscription 502 and the second subscription 504 , the device processor may preemptively determine whether an SR transmission of the first subscription 502 may ultimately result in an attempt by the first subscription 502 to send a packet transmission at the same time that the second subscription 504 is scheduled to send a high-priority transmission that may prevent the first subscription 502 from sending the packet transmission (i.e., whether there will be a Tx collision event between the first subscription 502 and the second subscription 504 ). Based on this determination, the device processor may preemptively skip SR transmissions that result in Tx collision events, thereby saving power and Tx resources and preventing wasteful uplink resource allocations from the network of first subscription 502 .
- the device processor may determine that the packet transmission 514 of the first subscription 502 will collide with the high-priority transmission 518 a of the second subscription 504 based on the timing of the SR transmission 508 a. In this example, the device processor may prevent/skip the SR transmission 508 a as the corresponding packet transmission 514 associated with the SR transmission 508 a is expected to be lost/dropped due to a collision with the high-priority transmission 518 a of the second subscription 504 .
- the device processor may determine that the packet transmission 516 of the first subscription 502 will not collide with any high-priority transmission of the second subscription 504 based on the timing of the SR transmission 508 b. As a result, the device processor may enable the first subscription 502 to send the SR transmission 508 b because the corresponding packet transmission 516 is expected to be sent successfully to the first subscription 502 's network.
- FIG. 6 illustrates a method 600 for preventing/skipping SR transmissions of a first subscription that are associated with packet transmissions determined to collide with higher-priority transmissions of a second subscription according to some embodiments.
- the method 600 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200 ).
- the operations of the method 600 implement some embodiments of the operations of the method 400 as described.
- the device processor may determine a time at which the SR transmission for the first subscription is scheduled to occur. As described (see FIG. 5 ), the device processor may have access to the transmission schedule of the first subscription and/or may determine the transmission schedule of the first subscription based on information received directly from the first subscription and/or from the first subscription's network. For example, the device processor may receive information from the first subscription's network indicating that the first subscription sends SR transmissions periodically (e.g., every certain number of milliseconds).
- the device processor may determine the time at which a packet transmission associated with the SR transmission is scheduled to occur, in block 604 .
- the packet transmission may be a PUSCH transmission that includes one or more data packets related to the first subscription's data call.
- the device processor may determine the second subscription's transmission schedule during the time at which the packet transmission of the first subscription is scheduled to occur as determined in block 604 .
- the device processor may determine whether the packet transmission of the first subscription will collide with a transmission of the second subscription, in determination block 608 .
- the device processor may send the SR transmission to the first subscription's network as usual, in block 614 .
- the SR transmission may ultimately result in a packet transmission that is successfully sent to the first subscription's network.
- the device processor may optionally determine whether a threshold number of previously skipped SR transmissions has been reached, in optional determination block 610 .
- the device processor may maintain a count of the number of consecutive SR transmissions that have been skipped/prevented and may continue skipping/preventing SR transmissions that cause a Tx collision event to occur between the first subscription and the second subscription until the threshold number of previously skipped SR transmissions has been reached.
- the device processor may skip only a certain number of consecutive SR transmissions before enabling the first subscription to send the SR transmission, even though the corresponding packet transmission is likely to collide with a higher-priority transmission of the second subscription and be lost/dropped.
- the device processor may send the SR transmission to the first subscription's network as usual, in block 614 , as described.
- the device processor may optionally determine whether a threshold period of time has elapsed since the most recent SR transmission was sent to the first subscription's network, in optional determination block 611 .
- the device processor may maintain a timer that measures a period of time since the most recent SR transmission was sent to the first subscription's network.
- the threshold period of time may indicate a maximum period of time that SR transmissions may be skipped/prevented before an SR transmission must be sent to the first subscription's network (e.g., to maintain a connection with the first subscription's network).
- the device processor may send the SR transmission to the first subscription's network as usual, in block 614 , as described.
- the device processor may prevent the SR transmission from being sent to the first subscription's network in block 612 .
- the device processor may continue performing operations in block 404 of the method 400 by again monitoring the first subscription's transmission schedule for an upcoming transmission.
- FIG. 7 is a timeline diagram 700 illustrating transmission schedules of a first subscription and a second subscription over time 702 while the subscriptions are operating in a connected mode on a mobile communication device.
- a device processor of a mobile communication device e.g., the mobile communication device 200
- the first subscription 502 may receive one or more uplink grants from the network of the first subscription 502 that indicate a time at which the first subscription 502 may send packet transmissions to a network of the first subscription 502 .
- the first subscription 502 may receive uplink grants 704 a, 704 b that indicate times at which the first subscription 502 may send packet transmissions 706 , 708 , respectively.
- the associations between the uplink grants 704 a, 704 b and the packet transmissions 706 , 708 are represented by dashed lines.
- the device processor may prevent SR transmissions of the first subscription 502 that ultimately result in a collision between a packet transmission and a high-priority transmission of the second subscription 504 .
- the device processor may alternatively (or additionally) reschedule when messages of the first subscription 502 are transmitted based on the messages' priorities. Specifically, the device processor may identify packet transmissions that will collide with transmission(s) of the second subscription 504 based on corresponding uplink grants and may reschedule high-priority messages to be included in packet transmissions that are not at risk of colliding with transmissions of the second subscription 504 .
- high-priority messages may represent various measurements, commands, requests, and/or other information that the first subscription may need to send to the first subscription's network to maintain adequate service/performance.
- a high-priority message may include information that the network of the first subscription 502 may use to cause the first subscription 502 to perform a handover operation to a neighboring cell that offers superior performance in comparison with a current serving cell of the first subscription 502 .
- low-priority messages may include information that is not essential (or not immediately essential) to the performance of the first subscription 502 .
- the device processor may determine that the uplink grant 704 a is associated with the packet transmission 706 that will collide with a high-priority transmission 712 a of the second subscription 504 . As a result, the device processor may not include high-priority messages in the packet transmission 706 in order to avoid losing those high-priority messages due to a collision with the high-priority transmission 712 a. In some embodiments, the device processor may include low-priority messages as part of the packet transmission 706 even though the packet transmission 706 will collide with the high-priority transmission 712 a of the second subscription 504 . In alternative embodiments, the device processor may not include any messages as any data packets included in the packet transmission 706 as the messages (data packets) are expected to be dropped.
- the device processor may determine that the corresponding packet transmission 708 will not collide with a transmission of the second subscription 504 , and thus, may determine that the packet transmission 708 is eligible to include high-priority messages that were previously omitted from the packet transmission 706 . In other words, the device processor may wait to include high-priority messages in a packet transmission that is not at risk of colliding with the transmission of the second subscription 504 , thus ensuring that the high-priority messages are not lost or dropped due to Tx collision with the second subscription 504 .
- FIG. 8A is a signaling and call flow diagram 800 illustrating communications exchanged between various components of a first subscription's (e.g., 502 ) communication protocol stack on a multi-SIM-multi-active communication device that ensure that high-priority messages are included in packet transmissions that will not collide with transmissions of a second subscription (e.g., 504 ).
- a first subscription's e.g., 502
- a multi-SIM-multi-active communication device that ensure that high-priority messages are included in packet transmissions that will not collide with transmissions of a second subscription (e.g., 504 ).
- a mobile communication device may include a second layer 804 of the first subscription's communication protocol stack (i.e., “Layer 2”)—such as a medium access control (“MAC”) layer or a radio-link-control (RLC) layer, a first layer 806 of the first subscription's communication protocol stack (i.e., “Layer 1”), and a firmware layer 808 of the first subscription's communication protocol stack (i.e., “Firmware”).
- Layer 2 such as a medium access control (“MAC”) layer or a radio-link-control (RLC) layer
- MAC medium access control
- RLC radio-link-control
- one or more of the communication-protocol-stack layers 804 - 808 may be implemented within one or more processors 802 (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , a separate controller, and/or the like). Alternatively, one or more of the communication-protocol-stack layers 804 - 808 may be implemented as a separate hardware and/or software processor.
- the firmware layer 808 may be configured to receive uplink grants from the first subscription's network and to send data packets to the first subscription's network as part of a packet transmission (see, e.g., FIG. 7 ).
- the first layer 806 may be configured to access and/or determine the transmission schedule of the first subscription and a second subscription and, based on the transmission schedules of the first and second subscriptions, determine whether a packet transmission of the first subscription associated with an uplink grant will collide with a transmission of the second subscription.
- the first layer 806 may request transmission schedule information related to the second subscription directly from the second subscription and/or from an intermediate scheduling component operating on the mobile communication device (e.g., the Tx collision management unit 230 ).
- the second layer 804 may be configured to assemble/build data packets for inclusion in packet transmissions sent to the first subscription's network.
- the second layer 804 may be configured to prioritize messages to be included in a data packet and to identify messages to include in a data packet. For example, the second layer 804 may determine that a message related to a power measurement is a high-priority message and may include that message in a data packet to be sent to the first subscription's network as part of a packet transmission.
- the firmware layer 808 may receive an uplink grant for the first subscription (i.e., “subscription 1 ”) from the first subscription's network (not shown) and may send the uplink grant to the first layer 806 via a signal 810 .
- the first layer 806 may determine that a packet transmission associated with the received uplink grant will collide with a transmission of the second subscription (i.e., “subscription 2 ”) in an operation 812 .
- the first layer 806 may reference the transmission schedule of the second subscription to determine that the second subscription is scheduled to transmit at the same time the first subscription is scheduled to send the packet transmission associated with received uplink grant received.
- the first layer 806 may send to the second layer 804 a packet-build-indication signal 814 indicating that any packet sent as part of a packet transmission based on the received uplink grant may be dropped due to a Tx collision with the second subscription's transmissions.
- the second layer 804 may build a packet that is anticipated to be dropped due to the second subscription's transmissions (i.e., a “colliding packet”).
- the second layer 804 may build/assemble the colliding packet to include no messages (i.e., an “empty” packet) because the packet is expected to be dropped/lost.
- the second layer 804 may build/assemble the colliding packet to include only low-priority messages, such as by prioritizing the messages to be included in the packet and only including those messages in the packet that are determined to have a low priority.
- the first layer may send a scheduling request for the colliding packet to the firmware layer 808 via a signal 818 .
- the scheduling request may prompt the firmware layer 808 to schedule the colliding packet to be sent as part of a packet transmission using known methods, and the firmware layer 808 may drop the colliding packet in operation 820 due to the Tx collision between the first and second subscriptions (as anticipated by the first layer 806 in the operation 812 ).
- the colliding packet While the colliding packet is dropped in the operation 820 , the colliding packet may include no messages (or only low-priority messages), and thus, no high-priority messages are lost, thereby mitigating the overall impact of dropping the colliding packet because those high-priority messages may be included in a packet that is sent at a later time as part of a non-colliding packet transmission.
- the firmware layer 808 may receive a new uplink grant for the first subscription from the first subscription's network (not shown) and may send the new uplink grant to the first layer 806 via signaling 822 .
- the first layer 806 may determine that the packet transmission associated with the new uplink grant will not collide with the transmission of the second subscription in operation 824 , such as by performing operations similar to the operation 812 . In other words, the first layer 806 may determine when the packet transmission associated with the new uplink grant will occur and may determine that the second subscription is not scheduled to transmit at that time.
- the first layer 806 may send a build-packet indication to the second layer 804 via a signal 826 .
- the signal 826 may also indicate that the packet is scheduled to be included in a packet transmission that will not collide with the transmission of the second subscription (i.e., that the packet is not anticipated to be dropped due to a Tx collision with the second subscription's transmissions).
- the second layer 804 may build a packet (i.e., a “non-colliding” packet) that includes, among other messages, the high-priority messages that may have been previously omitted from the colliding packet in the operation 816 .
- a packet i.e., a “non-colliding” packet
- the second layer 804 may include high-priority messages that may have been previously excluded from former packets.
- the first layer may send a packet-scheduling request for the non-colliding packet to the firmware layer 808 via a signal 830 .
- the signal 830 may prompt the firmware layer 808 to send the non-colliding packet to the first subscription's network in operation 832 .
- the non-colliding packet may successfully reach the first subscription's network, and as a result, the first subscription's network may receive the high-priority messages from the first subscription.
- FIG. 8B is a signaling and call flow diagram 850 illustrating communications exchanged between various components of a first subscription's (e.g., 502 ) communication protocol stack on a multi-SIM-multi-active communication device that attempt to send high-priority messages as part of packet transmissions that will not collide with transmissions of a second subscription (e.g., 504 ).
- a mobile communication device e.g., the mobile communication device 200
- the mobile communication device may include the second layer 804 , the first layer 806 , and the firmware layer 808 of the first subscription's communication protocol stack.
- the mobile communication device may include the processor(s) 802 .
- the communication-protocol-stack layers 804 - 808 may be configured to omit high-priority messages from packet transmissions anticipated to collide with a transmission of the second subscription in order to avoid losing the high-priority messages.
- the communication-protocol-stack layers 804 - 808 may send signals various signals and may perform various operations to ensure that high-priority messages are not included in a colliding packet that will be dropped due to a Tx collision with the second subscription as described.
- the firmware layer 808 may receive an uplink grant for the first subscription from the first subscription's network (not shown) and may send the uplink grant to the first layer 806 via the signal 810 , the first layer 806 may determine that a packet transmission associated with uplink grant will collide with a transmission of the second subscription in the operation 812 , the first layer 806 may send a build-packet indication to the second layer 804 via the signal 814 , the second layer 804 may build a colliding packet with no message or with only low-priority messages in the operation 816 , the first layer 806 may send a scheduling request for the colliding packet to the firmware layer 808 via the signal 818 , and the firmware layer 808 may drop the colliding packet due to the Tx collision with the second subscription in the operation 820 .
- high-priority messages are preserved until a new uplink grant is received that is associated with a non-colliding packet transmission, at which point the high-priority messages are sent as part of the non-colliding packet transmission.
- the mobile communication device may receive a first uplink grant associated with a colliding packet transmission, high-priority messages may be retained until a second uplink grant associated with a non-colliding packet transmission is received, and the high-priority messages may be sent to the first subscription's network via the non-colliding packet transmission.
- a retransmission of an uplink grant associated with a colliding packet transmission may be received before a new uplink grant is received.
- the communication-protocol-stack layers 804 - 808 may attempt to send the high-priority messages as part of a packet transmission associated with the retransmitted uplink grant regardless of whether that packet retransmission is anticipated to collide with a transmission of the second subscription.
- the firmware layer 808 may receive a retransmission of a previously sent uplink grant for the first subscription (i.e., a retransmitted uplink grant) and may send the retransmitted uplink grant to the first layer 806 via a signal 852 .
- the first layer 806 may send to the second layer 804 a build-packet-indication signal 854 indicating that the uplink grant is a retransmission and that high-priority messages should be included in an assembled/built packet.
- the second layer 804 may build/assemble a retransmission packet that includes high-priority messages that may have been excluded from previous colliding packets (see the operation 816 ).
- the first layer 806 may send a scheduling request for the retransmission packet to the firmware layer 808 via a signal 858 , and the firmware layer 808 may attempt to send the packet to the first subscription's network in operation 860 .
- FIGS. 9A-9B illustrate methods 900 , 950 for selectively scheduling high-priority messages of a first subscription (e.g., 502 ) to be included or omitted from packet transmissions sent to the first subscription's network based on whether the packet transmissions will collide with transmission of a second subscription (e.g., 504 ), according to some embodiments.
- a first subscription e.g., 502
- a second subscription e.g., 504
- the methods 900 , 950 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , communication-protocol-stack layers 804 - 808 , the processor(s) 802 , a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200 ).
- a processor e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , communication-protocol-stack layers 804 - 808 , the processor(s) 802 , a separate controller, and/or the like
- the operations of the methods 900 , 950 implement some embodiments of the operations of the method 400 as described.
- the device processor may begin performing the operations of the method 900 while the first subscription and the second subscription are sharing a Tx resource and operating in a connected mode in block 402 of the method 400 .
- the device processor may determine a first time at which a first packet transmission of the first subscription is scheduled to occur based on the first uplink grant, in block 906 .
- the device processor may access or determine the transmission schedule of the first subscription and may determine the first time based on that transmission schedule and the first uplink grant.
- the first subscription's network may include the first time in the first uplink grant.
- the device processor may determine the second subscription's transmission schedule during the first time, such as by referencing a predetermined schedule transmissions associated with the second subscription, as described (see, e.g., FIG. 6 ).
- the device processor may determine whether the first packet transmission will collide with a transmission of the second subscription, in determination block 910 .
- the device processor may send the first packet transmission to the first subscription's network via known methods/techniques, in block 912 .
- the device processor may determine whether at least one high-priority message is scheduled to be transmitted as part of the first packet transmission, in determination block 914 .
- a medium access control layer of the first subscription's communication protocol stack e.g., the second layer 804
- the device processor may attempt to send low-priority messages in the first packet transmission to the first subscription's network, in block 916 b. In other words, because there are no high-priority messages scheduled to be transmitted as part of the first packet transmission, the device processor may attempt to send the first packet transmission despite the likelihood of colliding with a transmission of the second subscription (i.e., the likelihood of a Tx collision event occurring between the first subscription and the second subscription).
- the device processor may repeat the operations of the method 900 by monitoring for another uplink grant for the first subscription in block 902 .
- the device processor may optionally attempt to send low-priority message in the first packet transmission to the first subscription's network, in block 916 a, such as by performing operations similar to those described with reference to block 916 b.
- the device processor may still attempt to send low-priority messages in the first packet transmission.
- the loss of the low-priority messages may not substantially affect the transit performance of the first subscription and thus may not need to be preserved until a non-colliding packet transmission is identified in the future.
- the device processor may prevent transmission of the at least one high-priority message as part of the first packet transmission because the first packet transmission is expected to fail due to the anticipated Tx collision with the transmission of the second subscription.
- the device processor may retain any high-priority messages and attempt to send them at a later time via a packet transmission that is not expected to collide with a transmission of the second subscription.
- the device processor may continue with the method 950 illustrated in FIG. 9B according to some embodiments. With reference to FIGS. 1-9B , the device processor may begin performing the operations of the method 950 in response to preventing the transmission of the at least one high-priority message in the packet transmission that will collide with the transmission of the second subscription.
- the second uplink grant may be a new uplink grant (i.e., an uplink grant that is separate from or unrelated to the first uplink grant), whereas the retransmission of the first uplink grant may refer to a previously received uplink grant (e.g., a retransmission of the first uplink grant).
- the device processor may determine whether a second uplink grant was received (i.e., rather than a retransmission of the first uplink grant), in determination block 956 .
- the device processor may attempt to send high-priority messages to the first subscription's network as part of a packet retransmission based on the retransmission of the first uplink grant, in block 960 .
- the device processor may continue to delay sending high-priority messages until a new uplink grant is received that is associated with a non-colliding packet transmission or until a retransmission of a previously received uplink grant (e.g., the first uplink grant) is received.
- the device processor may attempt to send the high-priority messages in a packet retransmission to the first subscription's network.
- the device processor may determine a second time at which a second packet transmission of the first subscription is scheduled to occur based on the second uplink grant, in block 958 .
- the device processor may determine the second subscription's transmission schedule during the second time, in block 962 .
- the device processor may determine whether the second packet transmission will collide with a transmission of the second subscription based on the second subscription's transmission schedule, in determination block 964 .
- the device processor may perform operations similar to those described with reference to blocks 906 - 910 of the method 900 .
- the device processor may send high-priority messages as part of the second packet transmission to the first subscription's network based on the second uplink grant, in block 970 .
- the device processor may include high-priority messages (e.g., those high-priority messages associated with the first uplink grant and omitted from the first packet transmission) in the second packet transmission, thereby improving the first subscription's transmit performance as the high-priority messages are not dropped/lost due to Tx collisions with the second subscription.
- the device processor may optionally determine whether a threshold number of rescheduled high-priority messages has been reached, in optional determination block 966 .
- the device processor may keep track of the consecutive number of times that high-priority messages have been rescheduled (i.e., omitted from packet transmissions). In such embodiments, the device processor may only prevent/reschedule transmissions of high-priority messages a threshold number of times before attempting to send the high-priority messages.
- the device processor may repeat the operations of the method 950 by monitoring for the reception of a third uplink grant (i.e., a new uplink grant) or a retransmission of the first (and/or second) uplink grant, in block 952 .
- a third uplink grant i.e., a new uplink grant
- a retransmission of the first (and/or second) uplink grant in block 952 .
- the device processor may attempt to send high-priority messages to the first subscription's network as part of the second packet transmission based on the second uplink grant, in block 968 .
- the device processor may reschedule priority messages a certain number of times before attempting to send the high-priority messages despite the possibility of a Tx collision with the second subscription.
- the device processor may determine whether a threshold amount of time has passed since the first attempt to send the high-priority message.
- the device processor may attempt to send high-priority messages to the first subscription's network as part of the second packet transmission based on the second uplink grant in block 968 .
- the device processor may continue performing operations in block 902 of the method 900 by monitoring for another uplink grant for the first subscription.
- Some conventional mobile communication devices manage communications between a subscription and the subscription's network based on two or more “levels” of transmissions/retransmissions associated with different layers of the subscription's communication protocol stack.
- a second/data-link layer of the subscription's communication protocol stack e.g., a MAC or RLC layer
- ARQ automatic repeat requests
- ARQ-level transmissions/retransmission (herein referred to as “RLC-level” transmissions and/or retransmission) rely on acknowledgements from the subscription's network that a data packet has been successfully received and decoded, and RLC-level transmissions are usually very reliable, thereby requiring few retransmissions.
- a first/physical layer of the subscription's communication protocol stack typically utilizes hybrid-ARQ (“HARQ”) to coordinate transmissions/retransmission between the subscription and the subscription's network using known methods.
- HARQ-level transmissions/retransmissions are generally faster than RLC-level transmissions/retransmissions, but are more prone to transmission error (and thus require comparatively more retransmissions).
- HARQ-level transmissions/retransmissions are generally faster than RLC-level transmissions/retransmissions, but are more prone to transmission error (and thus require comparatively more retransmissions).
- an RLC-level retransmission timer is initiated, and a packet retransmission on the RLC-level is attempted when the RLC-level retransmission timer expires.
- an RLC-level transmission counter is incremented until the counter reaches a threshold number of failed attempts, at which point the second layer triggers a “Radio-Link Failure” condition that indicates that the connection between the subscription and the subscription's network has been lost.
- the first subscription may be unable to access a shared Tx resource to send packet transmissions to the first subscription's network, causing the first subscription to experience RLC- and HARQ-level transmissions/retransmissions failures regardless of the actual quality of the connection between the first subscription and the first subscription's network.
- the first subscription may experience a transmission or retransmission “failure” because the first subscription is denied access to a shared Tx resource and unable to transmit because of the Tx collision with the second subscription.
- one or more processors of the mobile communication device may identify situations in which the first subscription's transmissions/retransmissions fail because of such Tx collisions with the second subscription.
- the one or more processors may initiate an RLC-level retransmission rather than waiting for the RLC-level retransmission timer to expire.
- the RLC-level retransmission may begin before the RLC-level retransmission timer expires, enabling the RLC-level retransmission to occur sooner than in conventional implementations.
- the one or more processors may not increment the RLC-level transmission counter when a Tx collision with the second subscription causes the first subscription's transmissions/retransmissions to fail as these failures may not reflect the actual quality of the connection between the first subscription and the first subscription's network.
- FIG. 10 is a signaling and call flow diagram 1000 illustrating communications exchanged between various communication-protocol-stack components of a first subscription (e.g., 502 ) of a multi-SIM-multi-active communication device to immediately initiate an RLC-level retransmission operation in response to determining that one or more HARQ-level retransmissions have failed because of a Tx collision with a second subscription (e.g., 504 ).
- a mobile communication device e.g., the mobile communication device 200
- the firmware layer 808 may receive an uplink grant for the first subscription from the first subscription's network (not shown) and may send the uplink grant to the first layer 806 via a signal 1002 , as described (see, e.g., FIGS. 8A-8B ).
- the first layer 806 may send a build-packet indication to the second layer 804 via a signal 1004 , and in response, the second layer 804 may build a packet in operation 1006 .
- the first layer 806 may also send a packet-transmission-scheduling request to the firmware layer 808 via a signal 1008 .
- the firmware layer 808 may drop the packet in operation 1010 due to a collision with a transmission of the second subscription.
- a HARQ-level retransmission attempt may be comparatively faster than an RLC-level retransmission attempt, and thus, the firmware layer 808 may initiate a several HARQ-level retransmission attempts before initiating an RLC-level retransmission attempt.
- the first layer 806 may send another HARQ-level retransmission request to the firmware layer 808 via a signal 1012 , and the firmware layer 808 may again drop the packet in operation 1014 because of another Tx collision with the second subscription's transmissions.
- the first layer 806 may continue to send HARQ-level retransmission scheduling requests to the firmware layer 808 until a threshold number of HARQ-level retransmission attempts have failed. For example, the first layer 806 may send up to an nth HARQ-level retransmission scheduling request (sent via a signal 1016 ), and the firmware layer 808 may again drop the packet in operation 1018 . In response to determining that a threshold number of HARQ-level retransmission attempts have failed (e.g., in response to the nth HARQ-level failure), the first layer 806 may immediately notify the second layer 804 that the threshold number of HARQ-level failures has been reached via a signal 1020 .
- the second layer 804 may immediately initiate an RLC-level retransmission of the packet built in the operation 1006 . Specifically, in some embodiments, the second layer 804 may ignore the RLC-level retransmission timer in order to immediately initiate the RLC-level retransmission.
- the second layer 804 may not count the RLC-level retransmission towards a threshold number of allowed RLC-level retransmission attempts. In other words, rather than incrementing the RLC-level retransmission counter as performed in conventional mobile communication devices, the second layer 804 may ignore RLC-level retransmission attempts that are a result of a Tx collision with the second subscription's transmissions as Tx-collision-related failures may not indicate the actual quality of the connection between the first subscription and the first subscription's network.
- FIG. 11 illustrates a method 1100 for immediately initiating an RLC-level retransmission for a first subscription (e.g., 502 ) in response to determining that a threshold number of HARQ-level retransmission attempts of the first subscription have failed because of a Tx collision with a transmission of a second subscription (e.g., 504 ), according to some embodiments.
- the method 1100 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , the communication-protocol-stack layers 804 - 808 , the processor(s) 802 , a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200 ).
- the operations of the method 1100 implement some embodiments of the operations of the method 400 as described.
- the device processor may build a packet for the first subscription.
- the device processor may attempt to send the packet, in block 1104 .
- NACK negative acknowledgement
- the device processor may determine whether the one or more HARQ-level packet retransmissions collided with a transmission of the second subscription, in determination block 1112 .
- the device processor may determine whether the packet transmissions/retransmissions failures resulted from the first subscription's inability to access the shared Tx resource (i.e., a Tx collision with the second subscription) rather than another transmission problem that may be related to the condition/quality of the first subscription's connection with the first subscription's network.
- the device processor may compare the times of the one or more HARQ-level packet retransmission attempts with times during which the second subscription was actively using the Tx resource.
- the device processor may increment the RLC-level retransmission counter, in block 1116 .
- the device processor may determine whether the RLC-level retransmission timer has expired in determination block 1118 .
- the device processor may continue to wait until the RLC-level retransmission timer has expired.
- the device processor may initiate an RLC-level retransmission of the dropped packet in response to the expiration of the RLC-level retransmission timer in block 1122 .
- the device processor may prevent the RLC-level retransmission counter from incrementing, in block 1114 .
- the device processor may prevent a false determination that the first subscription is unable to communicate with the first subscription's network due to other communication problems and thus may avoid an incorrect determination that the first subscription is experiencing a “Radio Link Failure.”
- the device processor may initiate an RLC-level packet retransmission of the dropped packet without waiting for the RLC-level retransmission timer to expire.
- the device processor may repeat the operations of the method 1100 by again attempting to send the dropped packet, in block 1104 .
- a conventional mobile communication device sends a buffer size report (“BSR”) to the subscription's network that indicates the amount of data the first subscription has waiting in the mobile communication device's buffer that is ready for transmission to the subscription's network.
- BSR buffer size report
- the subscriptions network returns an uplink grant that is typically proportional to the amount of data reported in the BSR.
- Various embodiments attempt to increase the likelihood that a first subscription's network sends at least one uplink grant associated with the packet transmission that avoids a Tx collision with the second subscription by sending an artificially increased BSR to the first subscription's network in an attempt to receive multiple uplink grants.
- the first subscription may have a higher likelihood of identifying at least one of the multiple uplink grants associated with the packet transmission that will not collide with the transmission of the second subscription, as described (see, e.g., FIGS. 7-9B ).
- FIG. 12 is a signaling and call flow diagram 1200 illustrating communications exchanged between a multi-SIM-multi-active communication device and a network of a first subscription according to some embodiments.
- a multi-SIM-multi-active communication device e.g., the mobile communication device 200
- a network 1201 e.g., the mobile network 102
- the mobile communication device 200 may generate an artificially increased BSR in operation 1202 .
- the mobile communication device 200 may determine an actual amount of data waiting to be transmitted to the first subscription's network 1201 that is stored in a buffer and may generate the artificially increased BSR based on a multiple of (or some other factor of) the actual amount of data stored in the buffer.
- the mobile communication device 200 may generate the artificially increased BSR in an attempt to prompt the first subscription's network 1201 to send a particular number of uplink grants.
- the mobile communication device 200 may expect to receive one uplink grant from the first subscription's network 1201 in response to reporting that x amount of data is currently stored in the buffer, and the mobile communication device may prepare a BSR that reports that 2x of data is currently stored in the buffer in an attempt to receive two uplink grants.
- the first subscription's network 1201 may send the mobile communication device 200 a first uplink grant (i.e., “uplink grant 1 ”) via a signal 1204 and a second uplink grant (i.e., “uplink grant 2 ”) via a signal 1206 .
- each of the first uplink grant and the second uplink grant may be grants of a size x.
- the mobile communication device 200 may identify any packet transmissions associated with received grants (e.g., the first and second grants) that will not collide with the second subscription's transmissions (i.e., that will avoid a Tx collision with the second subscription) in operation 1208 .
- the device processor may determine that the packet transmission related to the second uplink grant may be scheduled a time that does not coincide (collide) with a transmission of the second subscription.
- the mobile communication device 200 may skip (i.e., not attempt to send) packet transmissions associated with received grants that will collide with the second subscription's transmissions. For example, the mobile communication device 200 may skip a packet transmission associated with the first uplink grant (i.e., “packet Tx 1 ”) due to an expected collision with the second subscription's transmissions.
- packet Tx 1 a packet transmission associated with the first uplink grant
- the mobile communication device 200 may attempt to send a packet transmission to the first subscription's network 1201 that will not collide with the second subscription's transmissions via a signal 1212 .
- the mobile communication device 200 may attempt to send a packet transmission associated with the second uplink grant (i.e., “packet Tx 2 ”) in response to determining that that packet transmission will not collide with a transmission of the second subscription.
- FIG. 13 illustrates a method 1300 for sending an artificially increased BSR to the first subscription's network to increase the likelihood of receiving an uplink grant associated with a packet transmission that will not collide with the second subscription's transmissions, according to some embodiments.
- the method 1300 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication devices 200 ).
- the operations of the method 1300 implement some embodiments of the operations of the method 400 .
- the device processor may begin performing the operations of the method 1300 while the first subscription and the second subscription are operating in a connected mode (i.e., block 402 of the method 400 ).
- the device processor may generate an artificially increased BSR.
- the device processor may determine the actual amount of data for the first subscription that is stored in a buffer of the mobile communication device (e.g. a buffer in the memory 214 or part of the baseband modem processor 216 ) and awaiting transmission to the first subscription's network. Based on the actual amount of data stored in buffer for the first subscription, the device processor may generate an artificially increased BSR to reflect an amount of data in excess of the actual amount of data stored in the buffer (e.g., two times the actual amount of data). As described (see, e.g., FIG.
- the device processor may cause the first subscription's network to send additional uplink grants for use in sending packet transmissions to the first subscription's network.
- the device processor may have a higher likelihood of identifying at least one uplink grant that is associated with a packet transmission that will not collide with a transmission of the second subscription (i.e., that will avoid a Tx collision with the second subscription).
- the device processor may report the artificially increased BSR to the network of the first subscription.
- the device processor may receive a plurality of uplink grants based on the artificially increased BSR from the network of the first subscription, in block 1304 .
- the device processor may determine times at which a plurality of packet transmissions are scheduled to occur based on the received plurality of uplink grants from the first subscription's network, in block 1304 . In some embodiments, the device processor may determine times in which the plurality of packet transmissions are scheduled to occur based on scheduling information received from the first subscription's network and/or from information included in the plurality of uplink grants.
- the device processor may determine the second subscription's transmission schedule during the times determined in block 1306 . In other words, the device processor may determine whether the second subscription will transmit during one or more of the plurality of packet transmissions associated with the plurality of received uplink grants. In determination block 1310 , the device processor may determine whether there is a packet transmission in the plurality of packet transmissions that will not collide with the second subscription's transmissions. In some embodiments, the determination in determination block 1310 may be based on the second subscription's transmission schedule as determined in block 1308 and based on the times at which the plurality of packet transmission are scheduled to occur as determined in block 1306 .
- the device processor may attempt to transmit a packet to the network of the first subscription through any of the plurality of packet transmissions, in block 1314 .
- the device processor may attempt to transmit the packet as part of one or more of the plurality of packet transmissions as those packet transmissions are expected to fail in light of the collisions with the second subscription's transmissions.
- the device processor may not attempt to send any packet transmissions and may wait to receive additional uplink grants (see, e.g., FIGS. 7-9B ).
- the device processor may send a packet to the network of the first subscription as part of the packet transmission that will not collide the second subscription's transmissions, in block 1312 .
- the device processor may have a high likelihood of successfully sending the packet.
- the device processor may repeat the operations of the method 1300 by again generating an artificially increased BSR, in block 1301 .
- transmissions of the second subscription have a higher priority than the first subscription's transmissions.
- the second subscription may receive access to the shared Tx resource when both subscriptions are scheduled to use the shared Tx resource simultaneously, thereby negatively impacting the transmission performance of the first subscription.
- the priority for the first subscription's packet transmissions may be adjusted based on the first subscription's current radio conditions.
- the device processor may increase the priority of the first subscription's messages in the event that the first subscription is suffering poor radio conditions in order to enable the first subscription to communicate with the first subscription's network, for example, to initiate a handover to a neighboring cell that offers a higher quality of service or better radio conditions.
- the device processor may decrease the priority of the first subscription's messages in the event that the first subscription's radio conditions are satisfactory as enabling the first subscription to communicate with the subscription's network may be less important or necessary (i.e., the first subscription may not be at risk of losing a connection to the subscription's network).
- FIG. 14 illustrates a method 1400 for prioritizing messages of a first subscription to be sent as part of a packet transmission based on the radio conditions of the first subscription, according to some embodiments.
- the method 1400 may be implemented with a processor (e.g., the general-purpose processor 206 , the baseband modem processor 216 , the Tx collision management unit 230 , a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200 ).
- the operations of the method 1400 implement some embodiments of the operations of the method 400 .
- the device processor may determine current radio conditions for the first subscription.
- the device processor may take one or more measurements for the first subscription (e.g., measurements of received signal power, antenna power, etc.) that may indicate the quality and condition of the first subscription's radio connection to the subscription's network.
- the device processor may identify messages to be transmitted as part of the packet transmission for the first subscription, such as messages related to the first subscription's current radio conditions and/or other information that the first subscription intends to communicate to the subscription's network.
- the device processor may determine whether the current radio conditions determined in block 1402 satisfy a minimum quality threshold.
- the minimum quality threshold may indicate a satisfactory or acceptable measurement of the first subscription's radio conditions. For example, radio conditions at or above the minimum quality threshold may indicate that the first subscription is not in immediate danger of losing service, whereas radio conditions below the point threshold may indicate that the first subscription is about to experience a radio link failure unless the first subscription communicates immediately to the subscription's network to initiate a handover to better serving cell.
- the device processor may classify the messages identified in block 1404 as low-priority messages, in block 1410 .
- the device processor may classify the first subscription's messages as low priority. As such, the device processor may attempt to send the identified messages as part of a low-priority packet transmission, in block 1414 .
- the second subscription's transmissions will prevail over the first subscription's low-priority packet transmission (i.e., the second subscription will receive access to a shared Tx resource to the exclusion of the first subscription), and thus, the identified messages and the low-priority packet transmission will likely be dropped as a result of the Tx collision with the second subscription.
- the device processor may classify the messages identified in block 1404 as high-priority messages, in block 1408 , and may send the identified messages as part of a high-priority packet transmission, in block 1412 .
- the first subscription's high-priority packet transmission may take priority over the second subscription's transmissions.
- the device processor may enable the first subscription to receive access to the shared Tx resource to the exclusion of the second subscription to enable the first subscription to send the high-priority packet transmission.
- the device processor may increase the likelihood that the first subscription will be able to communicate with the first subscription's network and may be able to improve radio conditions with the network, such as by negotiating a handover to a better serving cell.
- the device processor may continue performing operations in block 404 of the method 400 by again monitoring the first subscription's transmission schedule for an upcoming transmission.
- FIG. 15 an example on which (e.g., mobile communication device 1500 ) is illustrated in FIG. 15 .
- the mobile communication device 1500 may be similar to the mobile communication devices 110 , 120 , 200 as described.
- the mobile communication device 1500 may implement any of the methods 400 , 600 , 900 , 950 , 1100 , 1300 , 1400 .
- the mobile communication device 1500 may include a processor 1502 coupled to a touchscreen controller 1504 and an internal memory 1506 .
- the processor 1502 may be one or more multi-core integrated circuits designated for general or specific processing tasks.
- the internal memory 1506 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 1504 and the processor 1502 may also be coupled to a touchscreen panel 1512 , such as a resistive-sensing touchscreen, capacitive-sensing touchscreen, infrared sensing touchscreen, etc. Additionally, the display of the mobile communication device 1500 need not have touch screen capability.
- the mobile communication device 1500 may have one or more cellular network transceivers 1508 , 1516 coupled to the processor 1502 and to two or more antennae 1510 , 1511 and configured for sending and receiving cellular communications.
- the transceivers 1508 , 1516 and the antennae 1510 , 1511 may be used with the above-mentioned circuitry to implement the various embodiment methods.
- the mobile communication device 1500 may include two or more SIM cards (e.g., SIMs 1513 a, 1513 b ) coupled to the transceivers 1508 , 1516 and/or the processor 1502 and configured as described.
- the mobile communication device 1500 may include a cellular network wireless modem chip 1517 that enables communication via a cellular network and is coupled to the processor 1502 .
- the mobile communication device 1500 may also include speakers 1514 for providing audio outputs.
- the mobile communication device 1500 may also include a housing 1520 , constructed of a plastic, metal, or a combination of materials, for containing all or some of the components discussed herein.
- the mobile communication device 1500 may include a power source 1522 coupled to the processor 1502 , 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 mobile communication device 1500 .
- the mobile communication device 1500 may also include a physical button 1524 for receiving user inputs.
- the mobile communication device 1500 may also include a power button 1526 for turning the mobile communication device 1500 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 operations 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 operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module that 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, compact disc read only 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)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Various embodiments implemented on a mobile communication device (e.g., a multi-SIM-multi-active communication device) mitigate degraded transmit performance typically experienced by a lower-priority subscription during a Tx collision event in which a higher-priority subscription receives a shared Tx resource of the mobile communication device to the exclusion of the lower-priority subscription. Specifically, in various embodiments, a processor of the mobile communication device may determine when an upcoming transmission of the lower-priority subscription will collide with a scheduled transmission of the higher-priority subscription (i.e., may determine when a Tx collision event will occur between the subscriptions) and may implement one or more Tx collision management strategies in response to determining that the lower-priority subscription's upcoming transmission will collide with a transmission of the higher-priority subscription, thus improving the lower-priority subscription's overall performance.
Description
- This application claims the benefit of priority to U.S. Provisional Patent Application No. 62/036,901 entitled “LTE Transmitter Sharing and Loss Mitigation” filed Aug. 13, 2014, the entire contents of which are incorporated herein by reference.
- Some new designs of mobile communication devices—such as smart phones, tablet computers, and laptop computers—contain two 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), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), Global System for Mobile Communications (GSM), and Universal Mobile Telecommunications Systems (UMTS). Example multi-SIM mobile communication devices include mobile phones, laptop computers, smart phones, and other mobile communication devices that are configured to connect to multiple mobile telephony networks. A mobile communication device that includes a plurality of SIMs and connects to two or more separate mobile telephony networks using two or more separate radio-frequency (“RF”) transceivers is termed a “multi-SIM-multi-active” or “MSMA” communication device. An example MSMA communication device is a “dual-SIM-dual-active” or “DSDA” communication device, which includes two SIM cards/subscriptions associated with two mobile telephony networks.
- Because a multi-SIM-multi-active communication device has a plurality of separate RF communication circuits or “RF resources,” each subscription on the multi-SIM-multi-active communication device may use an associated RF resource to communicate with the subscription's mobile network at any time. However, in some circumstances, the multi-SIM-multi-active communication device may operate in a transmit-sharing (“Tx-sharing”) mode in which two (or more) subscriptions share a single transmit (“Tx”) resource (e.g., a transmitter or transceiver). While operating in a Tx-sharing mode, a first subscription (e.g., an LTE subscription) and a second subscription (e.g., a GSM subscription) cannot simultaneously utilize the shared Tx resource. As a result, the first subscription and/or the second subscription typically experience degraded transmit performance in situations in which both subscriptions need to use the Tx resource at the same time, such as when both subscriptions are engaged in a data or voice call.
- The various embodiments include methods and mobile communication devices implementing methods for managing potential transmitter collisions of a first subscription. The various methods may include attempting to send a packet for the first subscription, determining whether the packet was dropped, determining whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped, determining whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted, and implementing a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription. In various embodiments the first subscription and the second subscription may be subscriptions to different radio access technologies.
- Some embodiments may further include performing another HARQ-level retransmission of the packet in response to determining that the threshold number of HARQ-level retransmissions of the packet has not been attempted.
- In some embodiments, in response to determining that the HARQ-level retransmission of the packet did not collide with the transmission of the second subscription, the method may further include incrementing a radio-link-control-level (RLC-level) retransmission counter, determining whether an RLC-level retransmission timer has expired, and initiating an RLC-level retransmission of the packet in response to determining that the RLC-level retransmission timer has expired. In some embodiments implementing a Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription may include initiating a radio-link-control-level (RLC-level) retransmission of the packet that was dropped without waiting for an RLC-level retransmission timer to expire. In some embodiments implementing a Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription may include preventing an RLC-level retransmission counter from incrementing. In some embodiments, the first subscription may have a lower priority than the second subscription. In some embodiments, the first subscription may be engaged in a data call and the second subscription may be engaged in a voice call.
- Various embodiments further include a mobile communication device having a memory, a radio frequency (RF) resource, and a processor coupled to the memory and the RF resource and configured with processor executable instructions to perform operations of the methods described above. Various embodiments include a mobile communication device having means for performing functions of the methods described above. Various embodiments include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a mobile communication device to perform operations of the methods described above.
- The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the claims, and together with the general description given above and the detailed description given below, serve to explain the features of the claims.
-
FIG. 1 is a communication system block diagram of mobile telephony networks suitable for use with various embodiments. -
FIG. 2 is a component block diagram of a multi-SIM-multi-active communication device according to various embodiments. -
FIG. 3 is a component block diagram illustrating components of different transmit/receive chains in a multi-SIM-multi-active communication device according to various embodiments. -
FIG. 4 is a process flow diagram illustrating a method for managing potential transmitter collisions of a first subscription according to various embodiments. -
FIG. 5 is a timeline diagram illustrating transmission schedules of a first subscription and a second subscription according to various embodiments. -
FIG. 6 is a process flow diagram illustrating a method for preventing a scheduling-request transmission to a network of a first subscription in response to determining that a packet transmission associated with the scheduling-request transmission will collide with a transmission of a second subscription according to various embodiments. -
FIG. 7 is another timeline diagram illustrating transmission schedules of a first subscription and a second subscription according to various embodiments. -
FIGS. 8A-8B are signaling and call flow diagrams illustrating communications exchanged between components of a first subscription's communication protocol stack in order to send high-priority messages in packet transmissions that will not collide with transmissions of the second subscription according to various embodiments. -
FIGS. 9A-9B are process flow diagrams illustrating a method for sending high-priority messages of the first subscription in packet transmissions that will not collide with transmissions of the second subscription according to various embodiments. -
FIG. 10 is a signaling and call flow diagram illustrating communications exchanged between components in a first subscription's communication protocol in order to initiate a radio link control (RLC) level retransmission immediately in response to determining that a hybrid automatic repeat request (HARQ) level transmission failure has occurred according to various embodiments. -
FIG. 11 is a process flow diagram illustrating a method for immediately initiating an RLC-level retransmission in response to determining that a HARQ-level retransmission failure has occurred according to various embodiments. -
FIG. 12 is a signaling and call flow diagram illustrating communications exchanged between a mobile communication device and a first subscription's network related to reporting an artificially high buffer-size report to the network according to various embodiments. -
FIG. 13 is a process flow diagram illustrating a method for reporting an artificially high buffer-size report to a network of the first subscription according to various embodiments. -
FIG. 14 is a process flow diagram illustrating a method for classifying the priority of messages of the first subscription based on the current radio conditions of the first subscription according to various embodiments. -
FIG. 15 is a component block diagram of a multi-SIM-multi-active communication device suitable for implementing some embodiment methods. - Various embodiments 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 claims.
- As used herein, the terms “wireless device,” “mobile communication device,” and “multi-SIM-multi-active communication device” are used interchangeably and refer to any one or all of cellular telephones, smart phones, personal or mobile multi-media players, personal data assistants, laptop computers, personal computers, tablet computers, smart books, palm-top computers, wireless electronic mail receivers, multimedia Internet-enabled cellular telephones, wireless gaming controllers, and similar personal electronic devices that include a programmable processor, memory, and circuitry for connecting to at least two mobile communication networks. The various aspects may be useful in mobile communication devices, such as smart phones, and so such devices are referred to in the descriptions of various embodiments. However, the embodiments may be useful in any electronic devices, such as a DSDA communication device, that may individually maintain a plurality of subscriptions that utilize a plurality of separate RF resources and may operate in a Tx-sharing mode in which two (or more) subscriptions share a single Tx resource.
- As used herein, the terms “SIM,” “SIM card,” and “Subscriber Identification Module” are used interchangeably to refer to a memory 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 mobile communication device on a network and enable a communication service with the network. Because the information stored in a SIM enables the mobile communication device to establish a communication link for a particular communication service with a particular network, the term “subscription” is also be used herein as a shorthand reference 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.
- As described, while a mobile communication device is operating in a Tx-sharing mode, a first subscription (e.g., a subscription to an LTE network or an “LTE subscription”) and a second subscription (e.g., a subscription to a GSM network or a “GSM subscription”) share a single Tx resource. In situations in which both subscriptions are in active states (i.e., handling voice or data calls), the first subscription and the second subscription may need to simultaneously utilize the shared Tx resource, for example, to service calls. In conventional mobile communication devices capable of Tx-sharing mode, a priority scheme is typically used to determine one of the first and the second subscriptions that will receive access to the shared Tx resource in the event that both subscriptions simultaneously require access to the shared Tx resource. For example, a GSM subscription engaged in a voice call will have priority over an LTE subscription engaged in a data call, and thus, when both subscriptions require access to the shared Tx resource (i.e., during a “transmission” or “Tx” collision event), the GSM subscription receives access to the shared Tx resource and the LTE subscription is denied access to the shared Tx resources. As a result, the lower-priority LTE subscription's transmission during the Tx collision event may be partially or completely lost in favor of the higher-priority GSM subscription's transmissions, thereby potentially degrading the lower-priority subscription's Tx performance.
- In overview, various embodiments implemented on a mobile communication device (e.g., a multi-SIM-multi-active communication device) mitigate the degraded transmit performance typically experienced by a lower-priority subscription during a Tx collision event. In various embodiments, a processor of the mobile communication device may determine when an upcoming transmission of the lower-priority subscription will collide with a transmission of a higher-priority subscription (i.e., may determine when a Tx collision event will occur between the subscriptions) and implement one or more Tx collision management strategies for the lower-priority subscription in response to determining that the lower-priority subscription's upcoming transmission will collide with a transmission of the higher-priority subscription, thus improving the lower-priority subscription's overall performance.
- For ease of reference, a lower-priority subscription (e.g., a subscription engaged in a data call) may be referred to herein as a “first subscription,” and a higher-priority subscription (e.g., a subscription engaged in a voice call) may be referred to as a “second subscription.” However, because the priorities of subscriptions may change over time, a first subscription at a first time may be a second subscription at a second time, and a second subscription at the first time may be a first subscription at some other time. Thus, these references are merely for ease of description and not intended to imply or require a particular subscription to always be either a first or second subscription.
- In some embodiments, the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by rescheduling the first subscription's upcoming scheduling request (“SR”) transmissions in the event that the device processor determines that packet transmissions associated with the upcoming SR transmissions will collide with a transmission of the second subscription.
- In some embodiments, the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by skipping/ignoring uplink grants received from the network that are associated with packet transmissions that will collide with a transmission of the second subscription. In such embodiments, the device processor may receive other uplink grants associated with other packet transmissions and may wait to send high-priority messages as part of a packet transmission that will not collide with a transmission of the second subscription.
- In some embodiments, the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by immediately initiating a radio-link-control-level (RLC-level) retransmission operation in response to determining that one or more attempts to transmit (or retransmit) a packet have failed at a hybrid-automatic-repeat-request (HARQ) level because of a Tx collision with the second subscription's transmissions. In such embodiments, the device processor may ignore HARQ-level packet transmissions/retransmissions that have failed due to a Tx collision with the second subscription, and thus may not update an RLC-level retransmission counter used to determine when the link with the first subscription's network is lost.
- In some embodiments, the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription by sending an artificially inflated buffer size report (BSR) to the first subscription's network, which may cause the first subscription's network to send a plurality of uplink grants to the mobile communication device. In such embodiments, the device processor may analyze each uplink grant received from the first subscription's network, identify one or more of a plurality of uplink grants that are associated with a packet transmission that does not collide with a transmission of the second subscription, and send data to the first subscription's network via a non-colliding packet transmission based on the one or more identified uplink grants.
- In some embodiments, the device processor may manage a potential Tx collision by implementing a Tx collision management strategy for the first subscription in response to determining that an upcoming transmission of the first subscription will collide with a transmission of the second subscription by determining the current radio conditions for the first subscription and adjusting the priority of the first subscription's upcoming transmission based on the current radio conditions of the first subscription. Specifically, the device processor may increase the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are poor or do not satisfy a minimum quality threshold, which may indicate that the first subscription may need to immediately communicate with the subscription's network to initiate a handover to a base station/cell that may provide better service and/or radio conditions. In another example, the device processor may decrease the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are acceptable or satisfy a minimum quality threshold because the first subscription may not need to immediately communicate with the subscriptions network to prevent a dropped call or lost connection.
- Various embodiments may be implemented within a variety of
communication systems 100 that include at least two mobile telephony networks, an example of which is illustrated inFIG. 1 . A firstmobile network 102 and a secondmobile network 104 typically each include a plurality of cellular base stations (e.g., afirst base station 130 and a second base station 140). A firstmobile communication device 110 may be in communication with the firstmobile network 102 through acellular connection 132 to thefirst base station 130. The firstmobile communication device 110 may also be in communication with the secondmobile network 104 through acellular connection 142 to thesecond base station 140. Thefirst base station 130 may be in communication with the firstmobile network 102 over awired connection 134. Thesecond base station 140 may be in communication with the secondmobile network 104 over awired connection 144. - A second
mobile communication device 120 may similarly communicate with the firstmobile network 102 through thecellular connection 132 to thefirst base station 130. The secondmobile communication device 120 may communicate with the secondmobile network 104 through thecellular connection 142 to thesecond base station 140. Thecellular connections - While the
mobile communication devices mobile networks mobile communication devices mobile networks - In some embodiments, the first
mobile communication device 110 may establish awireless connection 152 with aperipheral device 150 used in connection with the firstmobile communication device 110. For example, the firstmobile communication device 110 may communicate over a Bluetooth® link with a Bluetooth-enabled personal computing device (e.g., a “smart watch”). In some embodiments, the firstmobile communication device 110 may establish awireless connection 162 with awireless access point 160, such as over a Wi-Fi connection. Thewireless access point 160 may be configured to connect to theInternet 164 or another network over awired connection 166. - While not illustrated, the second
mobile communication device 120 may similarly be configured to connect with theperipheral device 150 and/or thewireless access point 160 over wireless links. - In some embodiments, the first
mobile network 102 and the secondmobile network 104 may individually include at least one server (e.g., aserver 172 and aserver 174, respectively) that may be configured to allocate and/or adjust resource grants (e.g., uplink grants) for subscriptions on themobile communication devices -
FIG. 2 is a functional block diagram of amobile communication device 200 suitable for implementing various embodiments. With reference toFIGS. 1-2 , themobile communication device 200 may be similar to one or more of themobile communication devices mobile communication device 200 may include afirst SIM interface 202 a, which may receive a first identity module SIM-1 204 a that is associated with a first subscription (e.g., a subscription to an LTE network). Themobile communication device 200 may also include asecond SIM interface 202 b, which may receive a second identity module SIM-2 204 b that is associated with a second subscription (e.g., a subscription to a GSM network). - A SIM in various embodiments 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. Each SIM card may have a central processing unit (CPU), read only memory (ROM), random access memory (RAM), electrically erasable programmable read only memory (EEPROM) and input/out (I/O) circuits.
- A SIM used in various embodiments may include 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 Public Land Mobile Number (HPLMN) code, etc.) to indicate the SIM card network operator provider. An Integrated Circuit Card Identity (ICCID) SIM serial number is printed on the SIM card for identification. However, a SIM may be implemented within a portion of memory of the mobile communication device 200 (e.g., memory 214), and thus need not be a separate or removable circuit, chip or card.
- The
mobile communication device 200 may include at least one controller, such as a general-purpose processor 206, which may be coupled to a coder/decoder (CODEC) 208. TheCODEC 208 may in turn be coupled to aspeaker 210 and amicrophone 212. The general-purpose processor 206 may also be coupled to thememory 214. Thememory 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 chain. - The
memory 214 may store an operating system (OS), as well as user application software and executable instructions. Thememory 214 may also store application data, such as an array data structure. In some embodiments, thememory 214 may also store one or more look-up tables, lists, or various other data structures that may be referenced to determine schedules of upcoming transmissions of the first subscription and/or the second subscription. - The general-
purpose processor 206 and thememory 214 may each be coupled to at least onebaseband modem processor 216. Each SIM in the mobile communication device 200 (e.g., the SIM-1 204 a and the SIM-2 204 b) may be associated with a baseband-RF resource chain. The baseband-RF resource chain may include thebaseband modem processor 216, which may perform baseband/modem functions for communicating with/controlling a radio access technology (RAT), and may include one or more amplifiers and radios, referred to generally herein as RF resources (e.g.,RF resources - In some embodiments, the
RF resources RF resource 218 a, and a second subscription to a GSM network may be associated with theRF resource 218 b. TheRF resources RF resources RF resources first wireless antenna 220 a or asecond wireless antenna 220 b). TheRF resources baseband modem processor 216. - In some embodiments, the
mobile communication device 200 may operate in a Tx-sharing mode in which a plurality of subscriptions utilize a shared Tx resource, such as by sharing the transmit functions of theRF resource 218 a or theRF resource 218 b. In such embodiments, a processor or the mobile communication device (e.g., the general-purpose processor 206, thebaseband modem processor 216, and or a Tx collision management unit 230) may allocate the shared Tx resource to one of the plurality of subscriptions during a Tx collision event. In some embodiments, the processor(s) may allocate the shared Tx resource to a subscription in the plurality of subscriptions based on that subscription's priority. For example, the processor(s) may allocate the shared Tx resource to a GSM subscription engaged in a voice call instead of an LTE subscription engaged in a data call. - In some embodiments, the general-
purpose processor 206, thememory 214, the baseband processor(s) 216, and theRF resources mobile communication device 200 as a system-on-chip 250. In some embodiments, the first andsecond SIMs corresponding interfaces 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 themobile communication device 200 may include, but are not limited to, akeypad 224, atouchscreen display 226, and themicrophone 212. - In some embodiments, the
keypad 224, thetouchscreen display 226, themicrophone 212, or a combination thereof, may perform the function of receiving a request to initiate an outgoing call. For example, thetouchscreen 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 thetouchscreen display 226 and themicrophone 212 may perform the function of receiving a request to initiate an outgoing call. For example, thetouchscreen display 226 may receive a 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 themicrophone 212. Interfaces may be provided between the various software modules and functions in themobile communication device 200 to enable communication between them, as is known in the art. - Functioning together, the two
SIMs baseband modem processor 216, theRF resources wireless antennas mobile communication device 200 by adding more SIM cards, SIM interfaces, RF resources, and/or antennae for connecting to additional mobile networks. - In some embodiments, the Tx
collision management unit 230 may be configured to manage and/or schedule subscriptions' utilization of a shared Tx resource, such as by adjusting a first subscription's transmission schedule to avoid a second subscription's scheduled transmissions during a Tx collision event. In some embodiments, the Txcollision management unit 230 may be implemented within the general-purpose processor 206. In some embodiments, the Txcollision management unit 230 may be implemented as a separate hardware component (i.e., separate from the general-purpose processor 206). In some embodiments, the Txcollision management unit 230 may be implemented as a software application stored within thememory 214 and executed by the general-purpose processor 206. -
FIG. 3 is a block diagram 300 of transmit and receive components in separate RF resources on themobile communication device 200 described with reference toFIG. 2 , according to various embodiments. With reference toFIGS. 1-3 , atransmitter 302 may be part of theRF resource 218 a, and areceiver 304 may be part of theRF resource 218 b. In some embodiments, thetransmitter 302 may include adata processor 306 that may format, encode, and interleave data to be transmitted. Thetransmitter 302 may include amodulator 308 that modulates a carrier signal with encoded data, such as by performing Gaussian minimum shift keying (GMSK). One or more transmitcircuits 310 may condition the modulated signal (e.g., by filtering, amplifying, and upconverting) to generate an RF modulated signal for transmission. The RF modulated signal may be transmitted by thetransmitter 302 to thefirst base station 130 via thefirst wireless antenna 220 a, for example. - The
second wireless antenna 220 b may receive RF modulated signals from thesecond base station 140 on thesecond wireless antenna 220 b and pass the received signals to thereceiver 304. One or more receivecircuits 316 may condition (e.g., filter, amplify, and downconvert) the received RF modulated signal, digitize the conditioned signal, and provide samples to ademodulator 318. Thedemodulator 318 may extract the original information-bearing signal from the modulated carrier wave, and may provide the demodulated signal to adata processor 320. Thedata processor 320 may de-interleave and decode the signal to obtain the original, decoded data, and may provide decoded data to other components in themobile communication device 200. Operations of thetransmitter 302 and thereceiver 304 may be controlled by a processor, such as thebaseband modem processor 216. - In various embodiments, each of the
transmitter 302 and thereceiver 304 may be implemented as circuitry that may be separated from corresponding receive and transmit circuitries (not shown). Alternatively, thetransmitter 302 and thereceiver 304 may be respectively combined with corresponding receive circuitry and transmit circuitry, for example, as transceivers associated with the SIM-1 204 a and the SIM-2 204 b. - As described, mobile communication devices that implement Tx sharing (e.g., to reduce hardware costs) require two (or more) subscriptions to share a Tx resource. As the transmission schedules of these subscriptions occasionally overlap/collide—for example, when each of the subscriptions is in a connected mode (e.g., handling a voice or data call)—these subscriptions may compete for access to the shared Tx resource during Tx collision events. As a subscription having a higher/highest priority typically receives access to the shared Tx resource to the exclusion of a lower-priority subscription, the lower-priority subscription is unable to use the shared Tx resource to communicate with the lower-priority subscription's network while the higher-priority subscription is transmitting. This causes the lower-priority subscription to drop data packets and, potentially, causes the lower-priority subscription to lose a connection to the subscription's network. Thus, various embodiments relate to implementing one or more Tx collision management strategies to mitigate the effects of Tx collision events on the transmission performance of lower-priority subscriptions.
-
FIG. 4 illustrates amethod 400 for managing one or more potential transmitter collisions by implementing a Tx collision management strategy for a lower-priority subscription (i.e., a first subscription), such as a data call, in response to determining that an upcoming transmission of the first subscription will collide with a transmission of a higher-priority subscription (i.e., a second subscription), such as a voice call, during a Tx collision event. With reference toFIGS. 1-4 , themethod 400 may be implemented with a processor (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like) of a multi-SIM-multi-active communication device (e.g., the mobile communication device 200). In some embodiments, the mobile communication device may be operating in a Tx-sharing mode such that the first subscription and the second subscription utilize a shared Tx resource (e.g., 218 a or 218 b). - In
block 402, a first subscription and a second subscription may be in a connected mode, such as when the first subscription is engaged in a data call and the second subscription is engaged in a voice call. In some embodiments, servicing a voice call may have priority over servicing a data call to ensure that the mobile communication device provides high-quality, reliable voice calls. Thus, the second subscription's transmissions may have priority over the transmissions of the first subscription. - While the first and second subscriptions are operating in a connected/active mode, the device processor may monitor the first subscription's transmission schedule for an upcoming transmission, in
block 404. Then the device processor may determine whether an upcoming transmission for the first subscription is about to occur, indetermination block 406. The device processor may continue monitoring the first subscription's transmission schedule so long as an upcoming transmission for the first subscription is not about to occur (i.e., whiledetermination block 406=“No”). In some embodiments, the device processor may access the first subscription's transmission schedule from memory (e.g., the memory 214), retrieve the transmission schedule from the first subscription, and/or obtain the transmission schedule from the first subscription's network. In such embodiments, the device processor may reference the first subscription's transmission schedule to determine whether the first subscription is about to transmit. In some embodiments, the device processor may additionally (or alternatively) determine the first subscription's transmission schedule based on patterns in the first subscription transmission history. - In response to determining that an upcoming transmission of the first subscription is about to occur (i.e., determination block 406=“Yes”), the device processor may determine the second subscription's transmission schedule relative to the upcoming transmission of the first subscription, in
block 408. In some embodiments, the device processor may access or obtain the transmission schedule of the second subscription by performing operations similar to those described with reference to blocks 404-406. - In
determination block 410, the device processor may determine whether the upcoming transmission of the first subscription will collide with a transmission of the second subscription. In other words, the device processor may determine whether a Tx collision event (i.e., one or more potential collisions) is expected to occur between the first and second subscriptions based on transmission schedules of each subscription. For example, the device processor may determine whether at least one transmission of the first subscription will coincide/overlap with a transmission of the second subscription, which may indicate that the first subscription may be unable to access the shared Tx resource because the second subscription, as a higher-priority subscription, may receive sole access to the shared Tx resource to the exclusion of the first subscription. - In response to determining that the upcoming transmission of the first subscription will not collide with the transmission of the second subscription (i.e., determination block 410=“No”), the device processor may send the upcoming transmission for the first subscription to the first subscription's network as usual, in
block 414. In other words, in response to determining that there will be no Tx collision event between the first subscription and the second subscription, the device processor and/or various other components on the mobile communication device may enable the first subscription to transmit the upcoming transmission to the first subscription's network as usual and without interruption. - In response to determining that the upcoming transmission of the first subscription will collide with the transmission of the second subscription (i.e., determination block 410=“Yes”), the device processor may implement a Tx collision management strategy for the first subscription, in
block 412. In some embodiments, the Tx collision management strategy may reduce the impact of the loss of access to the shared Tx resource during the first subscriptions upcoming transmission. - In some embodiments of the operations performed in
block 412, the device processor may reschedule upcoming scheduling request (“SR”) transmissions associated with Physical Uplink Shared Channel (“PUSCH”) transmissions (herein referred to as “packet” transmissions) in the event that the device processor determines that the packet transmissions associated with the upcoming SR transmissions will collide with a transmission of the second subscription (see, e.g.,FIGS. 5-6 ). - In some embodiments, the device processor may implement a Tx collision management strategy for the first subscription by skipping/ignoring uplink grants received from the network that are associated with packet transmissions that the device processor determines will collide with a transmission of the second subscription (see, e.g.,
FIGS. 7-9B ). In such embodiments, the device processor may wait to send high-priority messages as part of a packet transmission associated with a new uplink grant received from the first subscription's network that will not collide with a transmission of the second subscription. - In some embodiments, the device processor may implement a Tx collision management strategy for the first subscription in
block 412 by immediately initiating a radio-link-control-level (RLC-level) retransmission operation in response to determining that one or more attempts to transmit (or retransmit) a packet have failed at the hybrid-automatic-repeat-request (HARQ) level. In such embodiments, the device processor may not account for HARQ-level packet transmissions/retransmissions that failed due to a Tx collision with the second subscription, and thus may not update a RLC-level retransmission counter used to determine when the link with the first subscription's network is lost (i.e., a radio link failure) (see, e.g.,FIGS. 10-11 ). - In some embodiments, the device processor may implement a Tx collision management strategy for the first subscription in
block 412 by sending an artificially inflated buffer size report (BSR) to the first subscription's network, which may cause the network to send a plurality of uplink grants to the mobile communication device for use by the first subscription. In such embodiments, the device processor may analyze each uplink grant received from the first subscription's network, identify one or more of plurality of uplink grants that are associated with a packet transmission that does not collide with a transmission of the second subscription (i.e., avoids a Tx collision event), and send data via a non-colliding packet transmission based on the one or more identified uplink grants (see, e.g.,FIGS. 12-13 ). - In some embodiments of the operations performed in
block 412, the device processor may implement a Tx collision management strategy for the first subscription in response to determining that an upcoming transmission of the first subscription will collide with a transmission of the second subscription by determining the current radio conditions for the first subscription and adjusting the priority of the first subscription's upcoming transmission based on the current radio conditions of the first subscription (see, e.g.,FIG. 14 ). For example, the device processor may increase the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are poor or do not satisfy a minimum quality threshold, indicating that the first subscription may need to communicate with the subscription's network to initiate handover to a better base station/cell that may provide better radio conditions. In another example, the device processor may decrease the priority of the first subscription's upcoming transmission in response to determining that the current radio conditions of the first subscription are good or satisfy a minimum quality threshold because the first subscription may not need to immediately communicate with the subscription's network to prevent a dropped call or lost connection. - In response to implementing a Tx collision management strategy for the first subscription in
block 412 or sending the upcoming transmission for the first subscription to the first subscription's network inblock 414, the device processor may repeat the operations of themethod 400 by again monitoring the first subscription's transmission schedule for another upcoming transmission inblock 404. - In some embodiments (not shown), the device processor may repeat the operations of the
method 400 so long as both the first subscription and the second subscription are in an active/connected mode or while there is a possibility of a Tx collision event occurring between the first subscription and the second subscription. -
FIG. 5 is a timeline diagram 500 illustrating transmission schedules of a first subscription 502 (i.e., “subscription1”) and a second subscription 504 (i.e., “subscription2”) overtime 506 while thesubscriptions first subscription 502 may be considered as having a lower-priority than the priority of thesecond subscription 504, as described. As such, thefirst subscription 502 may be prevented from utilizing a shared Tx resource in the event that transmissions of thefirst subscription 502 collide with transmission of thesecond subscription 504 because thefirst subscription 502 has a lower priority than the priority of thesecond subscription 504. - With reference to
FIGS. 1-5 , thefirst subscription 502 may periodically send SR transmissions (e.g.,SR transmissions first subscription 502 may use SR transmissions to request uplink resource allocations (i.e., uplink resource grants) from the first subscription's network, and in response to receiving the SR transmission, the network of thefirst subscription 502 may send one or more uplink grants (e.g., uplink grants 510 a, 510 b) to thefirst subscription 502 that designate a scheduled time during which thefirst subscription 502 may transmit a data packet(s) to the network via a PUSCH/packet transmission (e.g.,packet transmissions 514, 516). - In various embodiments, the
first subscription 502 may communicate with the first subscription's network based on a predetermined schedule. For example, thefirst subscription 502 may be configured to send SR transmissions periodically, receive uplink grants corresponding to those SR transmissions at an expected time, and send packet transmissions at a predetermined time based on the received plurality of uplink grants. In other words, because thefirst subscription 502 and the network of thefirst subscription 502 communicate with each other based on a predetermined schedule, a device processor on the mobile communication device (not shown) may anticipate a time at which thefirst subscription 502 will send a packet transmission based on the time at which thefirst subscription 502 sends the preceding SR transmission associated with that packet transmission. - In some embodiments, the device processor may access information regarding the transmission schedule of the
first subscription 502 to determine the predetermined time between an SR transmission and the SR transmission's corresponding packet transmission. For example, as illustrated in the timeline diagram 500, the device processor may determine that thepacket transmission 514 of thefirst subscription 502 will begin a predetermined amount oftime 512 after the beginning of theSR transmission 508 a. Similarly, the device processor may determine that thefirst subscription 502 will attempt to send thepacket transmission 516 after the predetermined amount oftime 512 after thefirst subscription 502 begins to send theSR transmission 508 b. - In some embodiments, the device processor may have access to (and/or may determine) a transmission schedule of the
second subscription 504, as described (e.g., the method 400). For example, the device processor may determine that thesecond subscription 504 is scheduled to periodically broadcast high-priority (e.g., voice) transmissions 518 a-518 c. - Thus, because the device processor may access and/or determine the transmission schedules of both the
first subscription 502 and thesecond subscription 504, the device processor may preemptively determine whether an SR transmission of thefirst subscription 502 may ultimately result in an attempt by thefirst subscription 502 to send a packet transmission at the same time that thesecond subscription 504 is scheduled to send a high-priority transmission that may prevent thefirst subscription 502 from sending the packet transmission (i.e., whether there will be a Tx collision event between thefirst subscription 502 and the second subscription 504). Based on this determination, the device processor may preemptively skip SR transmissions that result in Tx collision events, thereby saving power and Tx resources and preventing wasteful uplink resource allocations from the network offirst subscription 502. - In an example (as illustrated in the timeline diagram 500), the device processor may determine that the
packet transmission 514 of thefirst subscription 502 will collide with the high-priority transmission 518 a of thesecond subscription 504 based on the timing of theSR transmission 508 a. In this example, the device processor may prevent/skip theSR transmission 508 a as thecorresponding packet transmission 514 associated with theSR transmission 508 a is expected to be lost/dropped due to a collision with the high-priority transmission 518 a of thesecond subscription 504. - In another example, the device processor may determine that the
packet transmission 516 of thefirst subscription 502 will not collide with any high-priority transmission of thesecond subscription 504 based on the timing of theSR transmission 508 b. As a result, the device processor may enable thefirst subscription 502 to send theSR transmission 508 b because thecorresponding packet transmission 516 is expected to be sent successfully to thefirst subscription 502's network. -
FIG. 6 illustrates amethod 600 for preventing/skipping SR transmissions of a first subscription that are associated with packet transmissions determined to collide with higher-priority transmissions of a second subscription according to some embodiments. With reference toFIGS. 1-6 , themethod 600 may be implemented with a processor (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200). The operations of themethod 600 implement some embodiments of the operations of themethod 400 as described. Thus, the device processor may begin performing the operations of themethod 600 in response to determining that an SR transmission (i.e., an upcoming transmission) is about to occur in determination block 406 of the method 400 (i.e., whendetermination block 406=“Yes”). - In
block 602, the device processor may determine a time at which the SR transmission for the first subscription is scheduled to occur. As described (seeFIG. 5 ), the device processor may have access to the transmission schedule of the first subscription and/or may determine the transmission schedule of the first subscription based on information received directly from the first subscription and/or from the first subscription's network. For example, the device processor may receive information from the first subscription's network indicating that the first subscription sends SR transmissions periodically (e.g., every certain number of milliseconds). - Based on the time at which the SR transmission is scheduled to occur as determined in
block 602, the device processor may determine the time at which a packet transmission associated with the SR transmission is scheduled to occur, inblock 604. In some embodiments, the packet transmission may be a PUSCH transmission that includes one or more data packets related to the first subscription's data call. - In
block 606, the device processor may determine the second subscription's transmission schedule during the time at which the packet transmission of the first subscription is scheduled to occur as determined inblock 604. - Based on the time determined in
block 604 and the second subscription's transmission schedule as determined inblock 606, the device processor may determine whether the packet transmission of the first subscription will collide with a transmission of the second subscription, indetermination block 608. In response to determining that the packet transmission will not collide with the transmission of the second subscription (i.e., determination block 608=“No”), the device processor may send the SR transmission to the first subscription's network as usual, inblock 614. In other words, because the packet transmission associated with the SR transmission will not collide with a transmission of the second subscription, the SR transmission may ultimately result in a packet transmission that is successfully sent to the first subscription's network. - In response to determining that the packet transmission will collide with a transmission of the second subscription (i.e., determination block 608=“Yes”), the device processor may optionally determine whether a threshold number of previously skipped SR transmissions has been reached, in
optional determination block 610. In some embodiments, the device processor may maintain a count of the number of consecutive SR transmissions that have been skipped/prevented and may continue skipping/preventing SR transmissions that cause a Tx collision event to occur between the first subscription and the second subscription until the threshold number of previously skipped SR transmissions has been reached. For example, the device processor may skip only a certain number of consecutive SR transmissions before enabling the first subscription to send the SR transmission, even though the corresponding packet transmission is likely to collide with a higher-priority transmission of the second subscription and be lost/dropped. Thus, in response to determining that a threshold number of previously skipped SR transmissions has been reached (i.e., optional determination block 610=“Yes”), the device processor may send the SR transmission to the first subscription's network as usual, inblock 614, as described. - In response to determining that a threshold number of previously skipped SR transmissions has not been reached (i.e., optional determination block 610=“No”) or determining that the packet transmission will collide with a transmission of the second subscription (i.e., determination block 608=“Yes”), the device processor may optionally determine whether a threshold period of time has elapsed since the most recent SR transmission was sent to the first subscription's network, in
optional determination block 611. In some embodiments, in addition to (or instead of) maintaining a count of the number of SR transmissions that have been skipped for the first subscription (see optional determination block 610), the device processor may maintain a timer that measures a period of time since the most recent SR transmission was sent to the first subscription's network. In such embodiments, the threshold period of time may indicate a maximum period of time that SR transmissions may be skipped/prevented before an SR transmission must be sent to the first subscription's network (e.g., to maintain a connection with the first subscription's network). - In response to determining that the threshold period of time has elapsed since the most recent SR transmission was sent to the first subscription's network (i.e., optional determination block 611=“Yes”), the device processor may send the SR transmission to the first subscription's network as usual, in
block 614, as described. In response to determining that the threshold period of time has not elapsed since the most recent SR transmission was sent to the first subscription's network (i.e., optional determination block 611=“No”) or determining that a threshold number of previously skipped SR transmissions has not been reached (i.e., optional determination block 610=“No”), the device processor may prevent the SR transmission from being sent to the first subscription's network inblock 612. - After sending the SR transmission in
block 614 or preventing SR transmission inblock 612, the device processor may continue performing operations inblock 404 of themethod 400 by again monitoring the first subscription's transmission schedule for an upcoming transmission. -
FIG. 7 is a timeline diagram 700 illustrating transmission schedules of a first subscription and a second subscription overtime 702 while the subscriptions are operating in a connected mode on a mobile communication device. With reference toFIGS. 1-7 , a device processor of a mobile communication device (e.g., the mobile communication device 200) may determine and/or access transmission schedules for thefirst subscription 502 and thesecond subscription 504 for use in rescheduling transmissions of thefirst subscription 502 to avoid collisions with the transmissions of thesecond subscription 504. - In some embodiments, the
first subscription 502 may receive one or more uplink grants from the network of thefirst subscription 502 that indicate a time at which thefirst subscription 502 may send packet transmissions to a network of thefirst subscription 502. For example, thefirst subscription 502 may receiveuplink grants first subscription 502 may sendpacket transmissions packet transmissions - As described (see, e.g.,
FIG. 5-6 ), the device processor may prevent SR transmissions of thefirst subscription 502 that ultimately result in a collision between a packet transmission and a high-priority transmission of thesecond subscription 504. In some embodiments, the device processor may alternatively (or additionally) reschedule when messages of thefirst subscription 502 are transmitted based on the messages' priorities. Specifically, the device processor may identify packet transmissions that will collide with transmission(s) of thesecond subscription 504 based on corresponding uplink grants and may reschedule high-priority messages to be included in packet transmissions that are not at risk of colliding with transmissions of thesecond subscription 504. These high-priority messages may represent various measurements, commands, requests, and/or other information that the first subscription may need to send to the first subscription's network to maintain adequate service/performance. For example, a high-priority message may include information that the network of thefirst subscription 502 may use to cause thefirst subscription 502 to perform a handover operation to a neighboring cell that offers superior performance in comparison with a current serving cell of thefirst subscription 502. In contrast, low-priority messages may include information that is not essential (or not immediately essential) to the performance of thefirst subscription 502. - Thus, as illustrated, the device processor may determine that the
uplink grant 704 a is associated with thepacket transmission 706 that will collide with a high-priority transmission 712 a of thesecond subscription 504. As a result, the device processor may not include high-priority messages in thepacket transmission 706 in order to avoid losing those high-priority messages due to a collision with the high-priority transmission 712 a. In some embodiments, the device processor may include low-priority messages as part of thepacket transmission 706 even though thepacket transmission 706 will collide with the high-priority transmission 712 a of thesecond subscription 504. In alternative embodiments, the device processor may not include any messages as any data packets included in thepacket transmission 706 as the messages (data packets) are expected to be dropped. - In response to receiving the
uplink grant 704 b, the device processor may determine that thecorresponding packet transmission 708 will not collide with a transmission of thesecond subscription 504, and thus, may determine that thepacket transmission 708 is eligible to include high-priority messages that were previously omitted from thepacket transmission 706. In other words, the device processor may wait to include high-priority messages in a packet transmission that is not at risk of colliding with the transmission of thesecond subscription 504, thus ensuring that the high-priority messages are not lost or dropped due to Tx collision with thesecond subscription 504. -
FIG. 8A is a signaling and call flow diagram 800 illustrating communications exchanged between various components of a first subscription's (e.g., 502) communication protocol stack on a multi-SIM-multi-active communication device that ensure that high-priority messages are included in packet transmissions that will not collide with transmissions of a second subscription (e.g., 504). - With reference to
FIGS. 1-8A , a mobile communication device (e.g., the mobile communication device 200) may include asecond layer 804 of the first subscription's communication protocol stack (i.e., “Layer 2”)—such as a medium access control (“MAC”) layer or a radio-link-control (RLC) layer, afirst layer 806 of the first subscription's communication protocol stack (i.e., “Layer 1”), and afirmware layer 808 of the first subscription's communication protocol stack (i.e., “Firmware”). In some embodiments, one or more of the communication-protocol-stack layers 804-808 may be implemented within one or more processors 802 (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like). Alternatively, one or more of the communication-protocol-stack layers 804-808 may be implemented as a separate hardware and/or software processor. - In some embodiments, the
firmware layer 808 may be configured to receive uplink grants from the first subscription's network and to send data packets to the first subscription's network as part of a packet transmission (see, e.g.,FIG. 7 ). - The
first layer 806 may be configured to access and/or determine the transmission schedule of the first subscription and a second subscription and, based on the transmission schedules of the first and second subscriptions, determine whether a packet transmission of the first subscription associated with an uplink grant will collide with a transmission of the second subscription. In some embodiments, thefirst layer 806 may request transmission schedule information related to the second subscription directly from the second subscription and/or from an intermediate scheduling component operating on the mobile communication device (e.g., the Tx collision management unit 230). - The
second layer 804 may be configured to assemble/build data packets for inclusion in packet transmissions sent to the first subscription's network. In some embodiments, thesecond layer 804 may be configured to prioritize messages to be included in a data packet and to identify messages to include in a data packet. For example, thesecond layer 804 may determine that a message related to a power measurement is a high-priority message and may include that message in a data packet to be sent to the first subscription's network as part of a packet transmission. - As illustrated in an example, the
firmware layer 808 may receive an uplink grant for the first subscription (i.e., “subscription1”) from the first subscription's network (not shown) and may send the uplink grant to thefirst layer 806 via asignal 810. In response to receiving the uplink grant via thesignal 810, thefirst layer 806 may determine that a packet transmission associated with the received uplink grant will collide with a transmission of the second subscription (i.e., “subscription2”) in anoperation 812. For example, thefirst layer 806 may reference the transmission schedule of the second subscription to determine that the second subscription is scheduled to transmit at the same time the first subscription is scheduled to send the packet transmission associated with received uplink grant received. - Based on the determination reached in the
operation 812, thefirst layer 806 may send to the second layer 804 a packet-build-indication signal 814 indicating that any packet sent as part of a packet transmission based on the received uplink grant may be dropped due to a Tx collision with the second subscription's transmissions. Inoperation 816, thesecond layer 804 may build a packet that is anticipated to be dropped due to the second subscription's transmissions (i.e., a “colliding packet”). In some embodiments, thesecond layer 804 may build/assemble the colliding packet to include no messages (i.e., an “empty” packet) because the packet is expected to be dropped/lost. Alternatively, in some embodiments, thesecond layer 804 may build/assemble the colliding packet to include only low-priority messages, such as by prioritizing the messages to be included in the packet and only including those messages in the packet that are determined to have a low priority. - After the
second layer 804 builds the colliding packet in theoperation 816, the first layer may send a scheduling request for the colliding packet to thefirmware layer 808 via asignal 818. The scheduling request may prompt thefirmware layer 808 to schedule the colliding packet to be sent as part of a packet transmission using known methods, and thefirmware layer 808 may drop the colliding packet inoperation 820 due to the Tx collision between the first and second subscriptions (as anticipated by thefirst layer 806 in the operation 812). - While the colliding packet is dropped in the
operation 820, the colliding packet may include no messages (or only low-priority messages), and thus, no high-priority messages are lost, thereby mitigating the overall impact of dropping the colliding packet because those high-priority messages may be included in a packet that is sent at a later time as part of a non-colliding packet transmission. For example, thefirmware layer 808 may receive a new uplink grant for the first subscription from the first subscription's network (not shown) and may send the new uplink grant to thefirst layer 806 via signaling 822. Thefirst layer 806 may determine that the packet transmission associated with the new uplink grant will not collide with the transmission of the second subscription inoperation 824, such as by performing operations similar to theoperation 812. In other words, thefirst layer 806 may determine when the packet transmission associated with the new uplink grant will occur and may determine that the second subscription is not scheduled to transmit at that time. - In response to determine that the packet transmission associated with the new uplink grant will not collide with the second subscription's transmissions in the
operation 824, thefirst layer 806 may send a build-packet indication to thesecond layer 804 via asignal 826. In some embodiments, thesignal 826 may also indicate that the packet is scheduled to be included in a packet transmission that will not collide with the transmission of the second subscription (i.e., that the packet is not anticipated to be dropped due to a Tx collision with the second subscription's transmissions). In response, inoperation 828, thesecond layer 804 may build a packet (i.e., a “non-colliding” packet) that includes, among other messages, the high-priority messages that may have been previously omitted from the colliding packet in theoperation 816. In other words, because the non-colliding packet is anticipated to be successfully transmitted to the first subscription's network, thesecond layer 804 may include high-priority messages that may have been previously excluded from former packets. - After the non-colliding packet is built/assemble in the
operation 828, the first layer may send a packet-scheduling request for the non-colliding packet to thefirmware layer 808 via asignal 830. In some embodiments, thesignal 830 may prompt thefirmware layer 808 to send the non-colliding packet to the first subscription's network inoperation 832. As there is no anticipated collision with the second subscription's transmissions, the non-colliding packet may successfully reach the first subscription's network, and as a result, the first subscription's network may receive the high-priority messages from the first subscription. -
FIG. 8B is a signaling and call flow diagram 850 illustrating communications exchanged between various components of a first subscription's (e.g., 502) communication protocol stack on a multi-SIM-multi-active communication device that attempt to send high-priority messages as part of packet transmissions that will not collide with transmissions of a second subscription (e.g., 504). With reference toFIGS. 1-8B , a mobile communication device (e.g., the mobile communication device 200) may include thesecond layer 804, thefirst layer 806, and thefirmware layer 808 of the first subscription's communication protocol stack. In some embodiments, the mobile communication device may include the processor(s) 802. - As described (see
FIG. 8A ), the communication-protocol-stack layers 804-808 may be configured to omit high-priority messages from packet transmissions anticipated to collide with a transmission of the second subscription in order to avoid losing the high-priority messages. For example, the communication-protocol-stack layers 804-808 may send signals various signals and may perform various operations to ensure that high-priority messages are not included in a colliding packet that will be dropped due to a Tx collision with the second subscription as described. For instance, thefirmware layer 808 may receive an uplink grant for the first subscription from the first subscription's network (not shown) and may send the uplink grant to thefirst layer 806 via thesignal 810, thefirst layer 806 may determine that a packet transmission associated with uplink grant will collide with a transmission of the second subscription in theoperation 812, thefirst layer 806 may send a build-packet indication to thesecond layer 804 via thesignal 814, thesecond layer 804 may build a colliding packet with no message or with only low-priority messages in theoperation 816, thefirst layer 806 may send a scheduling request for the colliding packet to thefirmware layer 808 via thesignal 818, and thefirmware layer 808 may drop the colliding packet due to the Tx collision with the second subscription in theoperation 820. - In some embodiments, high-priority messages are preserved until a new uplink grant is received that is associated with a non-colliding packet transmission, at which point the high-priority messages are sent as part of the non-colliding packet transmission. For example, the mobile communication device may receive a first uplink grant associated with a colliding packet transmission, high-priority messages may be retained until a second uplink grant associated with a non-colliding packet transmission is received, and the high-priority messages may be sent to the first subscription's network via the non-colliding packet transmission.
- However, in some embodiments, a retransmission of an uplink grant associated with a colliding packet transmission may be received before a new uplink grant is received. In such embodiments, the communication-protocol-stack layers 804-808 may attempt to send the high-priority messages as part of a packet transmission associated with the retransmitted uplink grant regardless of whether that packet retransmission is anticipated to collide with a transmission of the second subscription.
- Thus, in the illustrated example, instead of receiving a new uplink grant (see
FIG. 8A ), thefirmware layer 808 may receive a retransmission of a previously sent uplink grant for the first subscription (i.e., a retransmitted uplink grant) and may send the retransmitted uplink grant to thefirst layer 806 via asignal 852. In response, thefirst layer 806 may send to the second layer 804 a build-packet-indication signal 854 indicating that the uplink grant is a retransmission and that high-priority messages should be included in an assembled/built packet. - In
operation 856, thesecond layer 804 may build/assemble a retransmission packet that includes high-priority messages that may have been excluded from previous colliding packets (see the operation 816). Thefirst layer 806 may send a scheduling request for the retransmission packet to thefirmware layer 808 via asignal 858, and thefirmware layer 808 may attempt to send the packet to the first subscription's network inoperation 860. -
FIGS. 9A-9B illustratemethods FIGS. 1-9A , themethods purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, communication-protocol-stack layers 804-808, the processor(s) 802, a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200). The operations of themethods method 400 as described. - The device processor may begin performing the operations of the
method 900 while the first subscription and the second subscription are sharing a Tx resource and operating in a connected mode inblock 402 of themethod 400. Inblock 902, the device processor may monitor for a first uplink grant for the first subscription, and the device processor may continue monitoring for the first uplink grant so long as the first uplink grant for the first subscription has not been received (i.e., whiledetermination block 904=“No”). - In response to determining that the first uplink grant has been received for the first subscription (i.e., determination block 904=“Yes”), the device processor may determine a first time at which a first packet transmission of the first subscription is scheduled to occur based on the first uplink grant, in
block 906. For example, the device processor may access or determine the transmission schedule of the first subscription and may determine the first time based on that transmission schedule and the first uplink grant. In another example, the first subscription's network may include the first time in the first uplink grant. - In
block 908, the device processor may determine the second subscription's transmission schedule during the first time, such as by referencing a predetermined schedule transmissions associated with the second subscription, as described (see, e.g.,FIG. 6 ). - Based on the first time determined in
block 906 and the second subscription's transmission schedule determined inblock 908, the device processor may determine whether the first packet transmission will collide with a transmission of the second subscription, indetermination block 910. In response to determining that the first packet transmission will not collide with the transmission of the second subscription (i.e., determination block 910=“No”), the device processor may send the first packet transmission to the first subscription's network via known methods/techniques, in block 912. - In response to determining that the first packet transmission will collide with the transmission of the second subscription (i.e., determination block 910=“Yes”), the device processor may determine whether at least one high-priority message is scheduled to be transmitted as part of the first packet transmission, in
determination block 914. In some embodiments, a medium access control layer of the first subscription's communication protocol stack (e.g., the second layer 804) may identify the messages scheduled to be sent as part of the first packet transmission and may determine the respective priorities of the messages based on various criteria. - In response to determining that no high-priority messages are scheduled to be transmitted as part of the first packet transmission (i.e., determination block 914=“No”), the device processor may attempt to send low-priority messages in the first packet transmission to the first subscription's network, in
block 916 b. In other words, because there are no high-priority messages scheduled to be transmitted as part of the first packet transmission, the device processor may attempt to send the first packet transmission despite the likelihood of colliding with a transmission of the second subscription (i.e., the likelihood of a Tx collision event occurring between the first subscription and the second subscription). - In response to sending the first packet transmission to the first subscription's network in block 912 or attempting to send low-priority messages and the first packet transmission to the first subscription's network in
block 916 b, the device processor may repeat the operations of themethod 900 by monitoring for another uplink grant for the first subscription inblock 902. - In response to determining that at least one high-priority message is scheduled to be transmitted as part of the first packet transmission (i.e., determination block 914=“Yes”), the device processor may optionally attempt to send low-priority message in the first packet transmission to the first subscription's network, in
block 916 a, such as by performing operations similar to those described with reference to block 916 b. In other words, while the device processor may omit high-priority messages from the first packet transmission due to the anticipated Tx collision with the second subscription's transmissions, the device processor may still attempt to send low-priority messages in the first packet transmission. In such embodiments, the loss of the low-priority messages may not substantially affect the transit performance of the first subscription and thus may not need to be preserved until a non-colliding packet transmission is identified in the future. - In
block 918, the device processor may prevent transmission of the at least one high-priority message as part of the first packet transmission because the first packet transmission is expected to fail due to the anticipated Tx collision with the transmission of the second subscription. Thus, rather than lose the at least one high-priority message, the device processor may retain any high-priority messages and attempt to send them at a later time via a packet transmission that is not expected to collide with a transmission of the second subscription. - The device processor may continue with the
method 950 illustrated inFIG. 9B according to some embodiments. With reference toFIGS. 1-9B , the device processor may begin performing the operations of themethod 950 in response to preventing the transmission of the at least one high-priority message in the packet transmission that will collide with the transmission of the second subscription. - In
block 952, the device processor may monitor for the reception of either a second uplink grant or a retransmission of the first uplink grant, and may continue monitoring for the reception of either the second uplink grant or the retransmission of the first uplink grant until one of these grants is received from the network of the first subscription (i.e., whiledetermination block 954=“No”). As described (seeFIGS. 8A-8B ), the second uplink grant may be a new uplink grant (i.e., an uplink grant that is separate from or unrelated to the first uplink grant), whereas the retransmission of the first uplink grant may refer to a previously received uplink grant (e.g., a retransmission of the first uplink grant). - In response to determining that either the second uplink grant or the retransmission of the first uplink grant has been received (i.e., determination block 954=“Yes”), the device processor may determine whether a second uplink grant was received (i.e., rather than a retransmission of the first uplink grant), in
determination block 956. In response to determining that a retransmission of the first uplink grant was received (i.e., determination block 956=“No”), the device processor may attempt to send high-priority messages to the first subscription's network as part of a packet retransmission based on the retransmission of the first uplink grant, inblock 960. In some embodiments, the device processor may continue to delay sending high-priority messages until a new uplink grant is received that is associated with a non-colliding packet transmission or until a retransmission of a previously received uplink grant (e.g., the first uplink grant) is received. In response to receiving a retransmission of a previously received uplink grant, the device processor may attempt to send the high-priority messages in a packet retransmission to the first subscription's network. - In response to determining that the second uplink grant was received (i.e., determination block 956=“Yes”), the device processor may determine a second time at which a second packet transmission of the first subscription is scheduled to occur based on the second uplink grant, in
block 958. The device processor may determine the second subscription's transmission schedule during the second time, inblock 962. The device processor may determine whether the second packet transmission will collide with a transmission of the second subscription based on the second subscription's transmission schedule, indetermination block 964. In some embodiments of the operations performed inblocks method 900. - In response to determining that the second packet transmission will not collide with a transmission of the second subscription (i.e., determination block 964=“No”), the device processor may send high-priority messages as part of the second packet transmission to the first subscription's network based on the second uplink grant, in
block 970. In other words, because the device processor has determined that the second packet transmission is not at risk of colliding with a transmission of the second subscription, the device processor may include high-priority messages (e.g., those high-priority messages associated with the first uplink grant and omitted from the first packet transmission) in the second packet transmission, thereby improving the first subscription's transmit performance as the high-priority messages are not dropped/lost due to Tx collisions with the second subscription. - In response to determining that the second packet transmission will collide with the transmission of the second subscription (i.e., determination block 964=“Yes”), the device processor may optionally determine whether a threshold number of rescheduled high-priority messages has been reached, in
optional determination block 966. In some embodiments, the device processor may keep track of the consecutive number of times that high-priority messages have been rescheduled (i.e., omitted from packet transmissions). In such embodiments, the device processor may only prevent/reschedule transmissions of high-priority messages a threshold number of times before attempting to send the high-priority messages. - Thus, in response to determining that a threshold number of rescheduled high-priority messages has not been reached (i.e., optional determination block 966=“No”), the device processor may repeat the operations of the
method 950 by monitoring for the reception of a third uplink grant (i.e., a new uplink grant) or a retransmission of the first (and/or second) uplink grant, inblock 952. - In response to determining that a threshold number of rescheduled high-priority messages has been reached (i.e., optional determination block 966=“Yes”), the device processor may attempt to send high-priority messages to the first subscription's network as part of the second packet transmission based on the second uplink grant, in
block 968. As described, the device processor may reschedule priority messages a certain number of times before attempting to send the high-priority messages despite the possibility of a Tx collision with the second subscription. In addition or as an alternative to determining that a threshold number of rescheduled high-priority messages has been reached, the device processor may determine whether a threshold amount of time has passed since the first attempt to send the high-priority message. If the threshold amount of time has passed and/or the threshold number of rescheduled high-priority messages has been reached, the device processor may attempt to send high-priority messages to the first subscription's network as part of the second packet transmission based on the second uplink grant inblock 968. - After attempting to transmit high-priority messages as part of the packet retransmission based on the retransmission of the first uplink grant (block 960), attempting to send high-priority messages as part of the second packet transmission based on the second uplink grant (block 968), or sending high-priority messages as part of the second packet transmission based on the second uplink grant (block 970), the device processor may continue performing operations in
block 902 of themethod 900 by monitoring for another uplink grant for the first subscription. - Some conventional mobile communication devices manage communications between a subscription and the subscription's network based on two or more “levels” of transmissions/retransmissions associated with different layers of the subscription's communication protocol stack. Usually, a second/data-link layer of the subscription's communication protocol stack (e.g., a MAC or RLC layer) utilizes automatic repeat requests (“ARQ”) to reliably coordinate packet transmissions and retransmissions with the subscription's network using known methods. ARQ-level transmissions/retransmission (herein referred to as “RLC-level” transmissions and/or retransmission) rely on acknowledgements from the subscription's network that a data packet has been successfully received and decoded, and RLC-level transmissions are usually very reliable, thereby requiring few retransmissions. A first/physical layer of the subscription's communication protocol stack typically utilizes hybrid-ARQ (“HARQ”) to coordinate transmissions/retransmission between the subscription and the subscription's network using known methods. HARQ-level transmissions/retransmissions are generally faster than RLC-level transmissions/retransmissions, but are more prone to transmission error (and thus require comparatively more retransmissions). By utilizing multiple “levels” of transmission/retransmission, conventional mobile communication devices are able to achieve fast and reliable transmissions and retransmissions.
- Further, in conventional mobile communication devices, after a packet transmission is attempted and fails, an RLC-level retransmission timer is initiated, and a packet retransmission on the RLC-level is attempted when the RLC-level retransmission timer expires. Additionally, for each RLC-level transmission/retransmission attempt, an RLC-level transmission counter is incremented until the counter reaches a threshold number of failed attempts, at which point the second layer triggers a “Radio-Link Failure” condition that indicates that the connection between the subscription and the subscription's network has been lost.
- During a Tx collision event between a first subscription and a second subscription, the first subscription may be unable to access a shared Tx resource to send packet transmissions to the first subscription's network, causing the first subscription to experience RLC- and HARQ-level transmissions/retransmissions failures regardless of the actual quality of the connection between the first subscription and the first subscription's network. For example, even though the first subscription may have a strong connection to the subscription's network and may otherwise be able to successfully transmit data to the subscription's network, the first subscription may experience a transmission or retransmission “failure” because the first subscription is denied access to a shared Tx resource and unable to transmit because of the Tx collision with the second subscription.
- In various embodiments, one or more processors of the mobile communication device may identify situations in which the first subscription's transmissions/retransmissions fail because of such Tx collisions with the second subscription. In response to determining that the first subscription's transmission/retransmission failures are a result of a Tx collision with the second subscription, the one or more processors may initiate an RLC-level retransmission rather than waiting for the RLC-level retransmission timer to expire. As a result, the RLC-level retransmission may begin before the RLC-level retransmission timer expires, enabling the RLC-level retransmission to occur sooner than in conventional implementations. Further, in some embodiments, the one or more processors may not increment the RLC-level transmission counter when a Tx collision with the second subscription causes the first subscription's transmissions/retransmissions to fail as these failures may not reflect the actual quality of the connection between the first subscription and the first subscription's network.
-
FIG. 10 is a signaling and call flow diagram 1000 illustrating communications exchanged between various communication-protocol-stack components of a first subscription (e.g., 502) of a multi-SIM-multi-active communication device to immediately initiate an RLC-level retransmission operation in response to determining that one or more HARQ-level retransmissions have failed because of a Tx collision with a second subscription (e.g., 504). With reference toFIGS. 1-10 , a mobile communication device (e.g., the mobile communication device 200) may include thesecond layer 804, thefirst layer 806, and thefirmware layer 808 of the first subscription's communication protocol stack, as described (see, e.g.,FIGS. 8A-8B ). - In an example illustrated in the signaling and call flow diagram 1000, the
firmware layer 808 may receive an uplink grant for the first subscription from the first subscription's network (not shown) and may send the uplink grant to thefirst layer 806 via asignal 1002, as described (see, e.g.,FIGS. 8A-8B ). Thefirst layer 806 may send a build-packet indication to thesecond layer 804 via asignal 1004, and in response, thesecond layer 804 may build a packet inoperation 1006. Thefirst layer 806 may also send a packet-transmission-scheduling request to thefirmware layer 808 via asignal 1008. - As shown, the
firmware layer 808 may drop the packet inoperation 1010 due to a collision with a transmission of the second subscription. As described, a HARQ-level retransmission attempt may be comparatively faster than an RLC-level retransmission attempt, and thus, thefirmware layer 808 may initiate a several HARQ-level retransmission attempts before initiating an RLC-level retransmission attempt. For example, thefirst layer 806 may send another HARQ-level retransmission request to thefirmware layer 808 via asignal 1012, and thefirmware layer 808 may again drop the packet inoperation 1014 because of another Tx collision with the second subscription's transmissions. - In some embodiments, the
first layer 806 may continue to send HARQ-level retransmission scheduling requests to thefirmware layer 808 until a threshold number of HARQ-level retransmission attempts have failed. For example, thefirst layer 806 may send up to an nth HARQ-level retransmission scheduling request (sent via a signal 1016), and thefirmware layer 808 may again drop the packet inoperation 1018. In response to determining that a threshold number of HARQ-level retransmission attempts have failed (e.g., in response to the nth HARQ-level failure), thefirst layer 806 may immediately notify thesecond layer 804 that the threshold number of HARQ-level failures has been reached via asignal 1020. - In
operation 1022, thesecond layer 804 may immediately initiate an RLC-level retransmission of the packet built in theoperation 1006. Specifically, in some embodiments, thesecond layer 804 may ignore the RLC-level retransmission timer in order to immediately initiate the RLC-level retransmission. - In
operation 1024, thesecond layer 804 may not count the RLC-level retransmission towards a threshold number of allowed RLC-level retransmission attempts. In other words, rather than incrementing the RLC-level retransmission counter as performed in conventional mobile communication devices, thesecond layer 804 may ignore RLC-level retransmission attempts that are a result of a Tx collision with the second subscription's transmissions as Tx-collision-related failures may not indicate the actual quality of the connection between the first subscription and the first subscription's network. -
FIG. 11 illustrates amethod 1100 for immediately initiating an RLC-level retransmission for a first subscription (e.g., 502) in response to determining that a threshold number of HARQ-level retransmission attempts of the first subscription have failed because of a Tx collision with a transmission of a second subscription (e.g., 504), according to some embodiments. - With reference to
FIGS. 1-11 , themethod 1100 may be implemented with a processor (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, the communication-protocol-stack layers 804-808, the processor(s) 802, a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200). The operations of themethod 1100 implement some embodiments of the operations of themethod 400 as described. Thus, the device processor may begin performing the operations of themethod 1100 in response to determining that a packet transmission (i.e., an upcoming transmission) is about to occur in determination block 406 of the method 400 (i.e., determination block 406=“Yes”). - In
block 1102, the device processor may build a packet for the first subscription. The device processor may attempt to send the packet, inblock 1104. - In
determination block 1106, the device processor may determine whether the packet was dropped. For example, the device processor may request acknowledgement of receipt from the destination and receive a negative acknowledgement (NACK) message indicating that the destination did not receive the packet. In some embodiments, the destination may send the NACK message without a request from the device processor. In response to determining that the packet was not dropped (i.e.,determination block 1106=“No”), the device processor may send the packet as part of a packet transmission as usual, inblock 1108. The device processor may continue performing operations inblock 404 of themethod 400 by monitoring the first subscription's transmission schedule for another upcoming transmission. - In response to determining that the packet was dropped (i.e.,
determination block 1106=“Yes”), the device processor may determine whether a threshold number of HARQ-level packet retransmissions has been attempted, indetermination block 1110. As described, the device processor may initially rely on HARQ-level packet retransmissions in an effort to quickly resend the packet. In response to determining that a threshold number of HARQ-level packet retransmissions has not been attempted (i.e.,determination block 1110=“No”), the device processor may repeat the operations of themethod 1100 by again attempting to send the packet via a HARQ-level retransmission, inblock 1104. - In response to determining that a threshold number of HARQ-level packet retransmissions has been attempted (i.e.,
determination block 1110=“Yes”), the device processor may determine whether the one or more HARQ-level packet retransmissions collided with a transmission of the second subscription, indetermination block 1112. In other words, the device processor may determine whether the packet transmissions/retransmissions failures resulted from the first subscription's inability to access the shared Tx resource (i.e., a Tx collision with the second subscription) rather than another transmission problem that may be related to the condition/quality of the first subscription's connection with the first subscription's network. For example, the device processor may compare the times of the one or more HARQ-level packet retransmission attempts with times during which the second subscription was actively using the Tx resource. - In response to determining that the one or more HARQ-level packet retransmissions did not collide with the transmission of the second subscription (i.e.,
determination block 1112=“No”), the device processor may increment the RLC-level retransmission counter, inblock 1116. The device processor may determine whether the RLC-level retransmission timer has expired indetermination block 1118. In response to determining that the RLC-level retransmission timer has not expired (i.e.,determination block 1118=“No”), the device processor may continue to wait until the RLC-level retransmission timer has expired. In response to determining that the RLC-level retransmission timer has expired (i.e.,determination block 1118=“Yes”), the device processor may initiate an RLC-level retransmission of the dropped packet in response to the expiration of the RLC-level retransmission timer inblock 1122. - In response to determining that the one or more HARQ-level packet retransmissions collided with the transmission of the second subscription (i.e.,
determination block 1112=“Yes”), the device processor may prevent the RLC-level retransmission counter from incrementing, inblock 1114. In some embodiments, by not incrementing the RLC-level retransmission counter in situations in which Tx collisions with the second subscription prevent the first subscription from sending packet transmissions, the device processor may prevent a false determination that the first subscription is unable to communicate with the first subscription's network due to other communication problems and thus may avoid an incorrect determination that the first subscription is experiencing a “Radio Link Failure.” Inblock 1120, the device processor may initiate an RLC-level packet retransmission of the dropped packet without waiting for the RLC-level retransmission timer to expire. - After initiating the RLC level retransmission of the dropped packet in
block 1120 or inblock 1122, the device processor may repeat the operations of themethod 1100 by again attempting to send the dropped packet, inblock 1104. - Typically, in order to receive uplink grants from a subscription's network, a conventional mobile communication device sends a buffer size report (“BSR”) to the subscription's network that indicates the amount of data the first subscription has waiting in the mobile communication device's buffer that is ready for transmission to the subscription's network. In response to receiving a BSR, the subscriptions network returns an uplink grant that is typically proportional to the amount of data reported in the BSR.
- Various embodiments attempt to increase the likelihood that a first subscription's network sends at least one uplink grant associated with the packet transmission that avoids a Tx collision with the second subscription by sending an artificially increased BSR to the first subscription's network in an attempt to receive multiple uplink grants. As a result of receiving multiple uplink grants, the first subscription may have a higher likelihood of identifying at least one of the multiple uplink grants associated with the packet transmission that will not collide with the transmission of the second subscription, as described (see, e.g.,
FIGS. 7-9B ). -
FIG. 12 is a signaling and call flow diagram 1200 illustrating communications exchanged between a multi-SIM-multi-active communication device and a network of a first subscription according to some embodiments. With reference toFIGS. 1-12 , a multi-SIM-multi-active communication device (e.g., the mobile communication device 200) may receive from a network 1201 (e.g., the mobile network 102) an artificially high number of uplink grants from the first subscription'snetwork 1201 to increase the likelihood that the first subscription will have access to at least one uplink resource grant associated with a packet transmission that will not collide with a transmission of the second subscription. - The
mobile communication device 200 may generate an artificially increased BSR inoperation 1202. In some embodiments of theoperation 1202, themobile communication device 200 may determine an actual amount of data waiting to be transmitted to the first subscription'snetwork 1201 that is stored in a buffer and may generate the artificially increased BSR based on a multiple of (or some other factor of) the actual amount of data stored in the buffer. In some embodiments, themobile communication device 200 may generate the artificially increased BSR in an attempt to prompt the first subscription'snetwork 1201 to send a particular number of uplink grants. For example, themobile communication device 200 may expect to receive one uplink grant from the first subscription'snetwork 1201 in response to reporting that x amount of data is currently stored in the buffer, and the mobile communication device may prepare a BSR that reports that 2x of data is currently stored in the buffer in an attempt to receive two uplink grants. - The
mobile communication device 200 may send the artificially increased BSR (e.g., BSR=2x) to the first subscription'snetwork 1201 via asignal 1203. In response, the first subscription'snetwork 1201 may send the mobile communication device 200 a first uplink grant (i.e., “uplink grant1”) via asignal 1204 and a second uplink grant (i.e., “uplink grant2”) via asignal 1206. In an example in which themobile communication device 200 reports a BSR of 2x, each of the first uplink grant and the second uplink grant may be grants of a size x. - After receiving the first and second grants from the first subscription's
network 1201, themobile communication device 200 may identify any packet transmissions associated with received grants (e.g., the first and second grants) that will not collide with the second subscription's transmissions (i.e., that will avoid a Tx collision with the second subscription) inoperation 1208. For example, the device processor may determine that the packet transmission related to the second uplink grant may be scheduled a time that does not coincide (collide) with a transmission of the second subscription. - In
operation 1210, themobile communication device 200 may skip (i.e., not attempt to send) packet transmissions associated with received grants that will collide with the second subscription's transmissions. For example, themobile communication device 200 may skip a packet transmission associated with the first uplink grant (i.e., “packet Tx1”) due to an expected collision with the second subscription's transmissions. - The
mobile communication device 200 may attempt to send a packet transmission to the first subscription'snetwork 1201 that will not collide with the second subscription's transmissions via asignal 1212. For example, themobile communication device 200 may attempt to send a packet transmission associated with the second uplink grant (i.e., “packet Tx2”) in response to determining that that packet transmission will not collide with a transmission of the second subscription. -
FIG. 13 illustrates amethod 1300 for sending an artificially increased BSR to the first subscription's network to increase the likelihood of receiving an uplink grant associated with a packet transmission that will not collide with the second subscription's transmissions, according to some embodiments. With reference toFIGS. 1-13 , themethod 1300 may be implemented with a processor (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication devices 200). The operations of themethod 1300 implement some embodiments of the operations of themethod 400. Thus, the device processor may begin performing the operations of themethod 1300 while the first subscription and the second subscription are operating in a connected mode (i.e., block 402 of the method 400). - In
block 1301, the device processor may generate an artificially increased BSR. In some embodiments of the operations performed inblock 1301, the device processor may determine the actual amount of data for the first subscription that is stored in a buffer of the mobile communication device (e.g. a buffer in thememory 214 or part of the baseband modem processor 216) and awaiting transmission to the first subscription's network. Based on the actual amount of data stored in buffer for the first subscription, the device processor may generate an artificially increased BSR to reflect an amount of data in excess of the actual amount of data stored in the buffer (e.g., two times the actual amount of data). As described (see, e.g.,FIG. 12 ), by artificially increasing the amount of data reported to the first subscription's network, the device processor may cause the first subscription's network to send additional uplink grants for use in sending packet transmissions to the first subscription's network. By receiving additional uplink grants, the device processor may have a higher likelihood of identifying at least one uplink grant that is associated with a packet transmission that will not collide with a transmission of the second subscription (i.e., that will avoid a Tx collision with the second subscription). - In
block 1302, the device processor may report the artificially increased BSR to the network of the first subscription. In response, the device processor may receive a plurality of uplink grants based on the artificially increased BSR from the network of the first subscription, inblock 1304. - In
block 1306, the device processor may determine times at which a plurality of packet transmissions are scheduled to occur based on the received plurality of uplink grants from the first subscription's network, inblock 1304. In some embodiments, the device processor may determine times in which the plurality of packet transmissions are scheduled to occur based on scheduling information received from the first subscription's network and/or from information included in the plurality of uplink grants. - In
block 1308, the device processor may determine the second subscription's transmission schedule during the times determined inblock 1306. In other words, the device processor may determine whether the second subscription will transmit during one or more of the plurality of packet transmissions associated with the plurality of received uplink grants. Indetermination block 1310, the device processor may determine whether there is a packet transmission in the plurality of packet transmissions that will not collide with the second subscription's transmissions. In some embodiments, the determination indetermination block 1310 may be based on the second subscription's transmission schedule as determined inblock 1308 and based on the times at which the plurality of packet transmission are scheduled to occur as determined inblock 1306. - In response to determining that each packet transmission in the plurality of packet transmissions will collide with the second subscription's transmissions (i.e.,
determination block 1310=“No”), the device processor may attempt to transmit a packet to the network of the first subscription through any of the plurality of packet transmissions, inblock 1314. In other words, because each of the packet transmissions associated with the plurality of uplink grants received from the first subscription's network will collide with the second subscription's transmissions, the device processor may attempt to transmit the packet as part of one or more of the plurality of packet transmissions as those packet transmissions are expected to fail in light of the collisions with the second subscription's transmissions. In some embodiments, the device processor may not attempt to send any packet transmissions and may wait to receive additional uplink grants (see, e.g.,FIGS. 7-9B ). - In response to determining that there is a packet transmission in the plurality of packet transmissions that will not collide with the second subscription's transmissions (i.e.,
determination block 1310=“Yes”), the device processor may send a packet to the network of the first subscription as part of the packet transmission that will not collide the second subscription's transmissions, inblock 1312. Thus, by utilizing the non-colliding packet transmission, the device processor may have a high likelihood of successfully sending the packet. - After sending the packet to the network of the first subscription in
block 1312 or attempting to transmit the packet to the network of the first subscription inblock 1314, the device processor may repeat the operations of themethod 1300 by again generating an artificially increased BSR, inblock 1301. - As described, transmissions of the second subscription have a higher priority than the first subscription's transmissions. As a result, the second subscription may receive access to the shared Tx resource when both subscriptions are scheduled to use the shared Tx resource simultaneously, thereby negatively impacting the transmission performance of the first subscription.
- However, in some embodiments, the priority for the first subscription's packet transmissions may be adjusted based on the first subscription's current radio conditions. Specifically, the device processor may increase the priority of the first subscription's messages in the event that the first subscription is suffering poor radio conditions in order to enable the first subscription to communicate with the first subscription's network, for example, to initiate a handover to a neighboring cell that offers a higher quality of service or better radio conditions. Similarly, the device processor may decrease the priority of the first subscription's messages in the event that the first subscription's radio conditions are satisfactory as enabling the first subscription to communicate with the subscription's network may be less important or necessary (i.e., the first subscription may not be at risk of losing a connection to the subscription's network).
-
FIG. 14 illustrates amethod 1400 for prioritizing messages of a first subscription to be sent as part of a packet transmission based on the radio conditions of the first subscription, according to some embodiments. With reference toFIGS. 1-14 , themethod 1400 may be implemented with a processor (e.g., the general-purpose processor 206, thebaseband modem processor 216, the Txcollision management unit 230, a separate controller, and/or the like) of a mobile communication device (e.g., the mobile communication device 200). The operations of themethod 1400 implement some embodiments of the operations of themethod 400. Thus, the device processor may begin performing the operations of themethod 1400 in response to determining that a packet transmission (i.e., an upcoming transmission) will collide with the second subscription's transmissions in determination block 410 of the method 400 (i.e., determination block 410=“Yes”). - In
block 1402, the device processor may determine current radio conditions for the first subscription. In some embodiments, the device processor may take one or more measurements for the first subscription (e.g., measurements of received signal power, antenna power, etc.) that may indicate the quality and condition of the first subscription's radio connection to the subscription's network. - In
block 1404, the device processor may identify messages to be transmitted as part of the packet transmission for the first subscription, such as messages related to the first subscription's current radio conditions and/or other information that the first subscription intends to communicate to the subscription's network. - In
determination block 1406, the device processor may determine whether the current radio conditions determined inblock 1402 satisfy a minimum quality threshold. In some embodiments, the minimum quality threshold may indicate a satisfactory or acceptable measurement of the first subscription's radio conditions. For example, radio conditions at or above the minimum quality threshold may indicate that the first subscription is not in immediate danger of losing service, whereas radio conditions below the point threshold may indicate that the first subscription is about to experience a radio link failure unless the first subscription communicates immediately to the subscription's network to initiate a handover to better serving cell. - In response to determining that the current radio conditions of the first subscription satisfy the minimum quality threshold (i.e.,
determination block 1406=“Yes”), the device processor may classify the messages identified inblock 1404 as low-priority messages, inblock 1410. In other words, because the first subscription's current radio conditions satisfy the minimum quality threshold and thus indicate that the first subscription is not at risk of losing a connection to the subscription's network (e.g., dropping a call), the device processor may classify the first subscription's messages as low priority. As such, the device processor may attempt to send the identified messages as part of a low-priority packet transmission, inblock 1414. In some embodiments, because the packet transmission will collide with the second subscription's transmissions and because the packet transmission is low priority, the second subscription's transmissions will prevail over the first subscription's low-priority packet transmission (i.e., the second subscription will receive access to a shared Tx resource to the exclusion of the first subscription), and thus, the identified messages and the low-priority packet transmission will likely be dropped as a result of the Tx collision with the second subscription. - In response to determining that the current radio conditions of the first subscription do not satisfy the minimum quality threshold (i.e.,
determination block 1406=“No”), the device processor may classify the messages identified inblock 1404 as high-priority messages, inblock 1408, and may send the identified messages as part of a high-priority packet transmission, inblock 1412. In some embodiments, because the first subscription needs to send high-priority messages, the first subscription's high-priority packet transmission may take priority over the second subscription's transmissions. Specifically, because the high-priority packet transmission is scheduled to collide with the second subscription's transmissions, the device processor may enable the first subscription to receive access to the shared Tx resource to the exclusion of the second subscription to enable the first subscription to send the high-priority packet transmission. As a result of enabling the first subscription to prevail over the second subscription during the Tx collision event, the device processor may increase the likelihood that the first subscription will be able to communicate with the first subscription's network and may be able to improve radio conditions with the network, such as by negotiating a handover to a better serving cell. - After sending the high-priority packet transmission in
block 1412 or sending a low-priority packet transmission inblock 1414, the device processor may continue performing operations inblock 404 of themethod 400 by again monitoring the first subscription's transmission schedule for an upcoming transmission. - Various embodiments may be implemented in any of a variety of mobile communication devices, an example on which (e.g., mobile communication device 1500) is illustrated in
FIG. 15 . With reference toFIGS. 1-15 , themobile communication device 1500 may be similar to themobile communication devices mobile communication device 1500 may implement any of themethods - The
mobile communication device 1500 may include aprocessor 1502 coupled to atouchscreen controller 1504 and aninternal memory 1506. Theprocessor 1502 may be one or more multi-core integrated circuits designated for general or specific processing tasks. Theinternal memory 1506 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. Thetouchscreen controller 1504 and theprocessor 1502 may also be coupled to atouchscreen panel 1512, such as a resistive-sensing touchscreen, capacitive-sensing touchscreen, infrared sensing touchscreen, etc. Additionally, the display of themobile communication device 1500 need not have touch screen capability. - The
mobile communication device 1500 may have one or morecellular network transceivers processor 1502 and to two ormore antennae transceivers antennae mobile communication device 1500 may include two or more SIM cards (e.g.,SIMs transceivers processor 1502 and configured as described. Themobile communication device 1500 may include a cellular networkwireless modem chip 1517 that enables communication via a cellular network and is coupled to theprocessor 1502. - The
mobile communication device 1500 may also includespeakers 1514 for providing audio outputs. Themobile communication device 1500 may also include ahousing 1520, constructed of a plastic, metal, or a combination of materials, for containing all or some of the components discussed herein. Themobile communication device 1500 may include apower source 1522 coupled to theprocessor 1502, 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 themobile communication device 1500. Themobile communication device 1500 may also include aphysical button 1524 for receiving user inputs. Themobile communication device 1500 may also include apower button 1526 for turning themobile communication device 1500 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 operations of various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of operations in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the operations; 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 operations described in connection with the embodiments 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 operations 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 claims.
- 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 operations or methods may be performed by circuitry that is specific to a given function.
- In one or more exemplary 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 operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module that 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, compact disc read only 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 embodiments is provided to enable any person skilled in the art to make or use the present claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to some embodiments without departing from the spirit or scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.
Claims (23)
1. A method implemented by a mobile communication device for managing potential transmitter collisions of a first subscription, comprising:
attempting to send a packet for the first subscription;
determining whether the packet was dropped;
determining whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped;
determining whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted; and
implementing a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription.
2. The method of claim 1 , wherein the first subscription and the second subscription are subscriptions to different radio access technologies.
3. The method of claim 1 , further comprising performing another HARQ-level retransmission of the packet in response to determining that the threshold number of HARQ-level retransmissions of the packet has not been attempted.
4. The method of claim 1 , further comprising:
in response to determining that the HARQ-level retransmission of the packet did not collide with the transmission of the second subscription:
incrementing a radio-link-control-level (RLC-level) retransmission counter;
determining whether an RLC-level retransmission timer has expired; and
initiating an RLC-level retransmission of the packet in response to determining that the RLC-level retransmission timer has expired.
5. The method of claim 1 , wherein implementing the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription comprises:
initiating a radio-link-control-level (RLC-level) retransmission of the packet that was dropped without waiting for an RLC-level retransmission timer to expire.
6. The method of claim 5 , wherein implementing the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription comprises:
preventing an RLC-level retransmission counter from incrementing.
7. The method of claim 1 , wherein the first subscription has a lower priority than the second subscription.
8. The method of claim 7 , wherein the first subscription is engaged in a data call and the second subscription is engaged in a voice call.
9. A mobile communication device, comprising:
a memory;
a radio frequency (RF) resource; and
a processor coupled to the memory and the RF resource, configured to be coupled to a plurality of Subscriber Identity Modules (SIMs) and configured with processor-executable instruction to:
attempt to send a packet for a first subscription;
determine whether the packet was dropped;
determine whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped;
determine whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted; and
implement a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription.
10. The mobile communication device of claim 9 , wherein the first subscription and the second subscription are subscriptions to different radio access technologies.
11. The mobile communication device of claim 9 , wherein the processor is further configured with processor-executable instructions to perform another HARQ-level retransmission of the packet in response to determining that the threshold number of HARQ-level retransmissions of the packet has not been attempted.
12. The mobile communication device of claim 9 , wherein in response to determining that the HARQ-level retransmission of the packet did not collide with the transmission of the second subscription the processor is further configured with processor-executable instructions to:
increment a radio-link-control-level (RLC-level) retransmission counter;
determine whether an RLC-level retransmission timer has expired; and
initiate an RLC-level retransmission of the packet in response to determining that the RLC-level retransmission timer has expired.
13. The mobile communication device of claim 9 , wherein the processor is further configured with processor-executable instructions to implement the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription by:
initiating a radio-link-control-level (RLC-level) retransmission of the packet that was dropped without waiting for an RLC-level retransmission timer to.
14. The mobile communication device of claim 13 , wherein the processor is further configured with processor-executable instructions to implement the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription by:
preventing an RLC-level retransmission counter from incrementing.
15. The mobile communication device of claim 9 , wherein the first subscription has a lower priority than the second subscription.
16. The mobile communication device of claim 15 , wherein the first subscription is engaged in a data call and the second subscription is engaged in a voice call.
17. A mobile communication device, comprising:
means for attempting to send a packet for a first subscription;
means for determining whether the packet was dropped;
means for determining whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped;
means for determining whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted; and
means for implementing a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription.
18. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a mobile communication device to perform operations, comprising:
attempting to send a packet for a first subscription;
determining whether the packet was dropped;
determining whether a threshold number of hybrid-automatic-repeat-request-level (HARQ-level) retransmissions of the packet has been attempted in response to determining that the packet was dropped;
determining whether a HARQ-level retransmission of the packet collided with a transmission of a second subscription in response to determining that the threshold number of HARQ-level retransmissions of the packet has been attempted; and
implementing a transmit (Tx) collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collides with the transmission of the second subscription.
19. The non-transitory processor-readable storage medium of claim 18 , wherein the first subscription and the second subscription are subscriptions to different radio access technologies.
20. The non-transitory processor-readable storage medium of claim 18 , wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations further comprising performing another HARQ-level retransmission of the packet in response to determining that the threshold number of HARQ-level retransmissions of the packet has not been attempted.
21. The non-transitory processor-readable storage medium of claim 18 , wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations in response to determining that the HARQ-level retransmission of the packet did not collide with the transmission of the second subscription further comprising:
incrementing a radio-link-control-level (RLC-level) retransmission counter;
determining whether an RLC-level retransmission timer has expired; and
initiating an RLC-level retransmission of the packet in response to determining that the RLC-level retransmission timer has expired.
22. The non-transitory processor-readable storage medium of claim 18 , wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations such that implementing the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription comprises:
initiating a radio-link-control-level (RLC-level) retransmission of the packet that was dropped without waiting for an RLC-level retransmission timer to expire.
23. The non-transitory processor-readable storage medium of claim 22 , wherein the stored processor-executable instructions are configured to cause the processor of the mobile communication device to perform operations such that implementing the Tx collision management strategy for the first subscription in response to determining that the HARQ-level retransmission of the first subscription collided with the transmission of the second subscription comprises:
preventing an RLC-level retransmission counter from incrementing.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/808,071 US20160049976A1 (en) | 2014-08-13 | 2015-07-24 | Managing Transmitter Collisions |
PCT/US2015/042279 WO2016025159A1 (en) | 2014-08-13 | 2015-07-27 | Managing transmitter collisions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462036901P | 2014-08-13 | 2014-08-13 | |
US14/808,071 US20160049976A1 (en) | 2014-08-13 | 2015-07-24 | Managing Transmitter Collisions |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160049976A1 true US20160049976A1 (en) | 2016-02-18 |
Family
ID=55302931
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/808,071 Abandoned US20160049976A1 (en) | 2014-08-13 | 2015-07-24 | Managing Transmitter Collisions |
US14/808,035 Expired - Fee Related US10027359B2 (en) | 2014-08-13 | 2015-07-24 | Managing transmitter collisions |
US14/808,103 Abandoned US20160050686A1 (en) | 2014-08-13 | 2015-07-24 | Managing Transmitter Collisions |
US14/808,007 Active 2035-11-14 US9780822B2 (en) | 2014-08-13 | 2015-07-24 | Managing transmitter collisions |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/808,035 Expired - Fee Related US10027359B2 (en) | 2014-08-13 | 2015-07-24 | Managing transmitter collisions |
US14/808,103 Abandoned US20160050686A1 (en) | 2014-08-13 | 2015-07-24 | Managing Transmitter Collisions |
US14/808,007 Active 2035-11-14 US9780822B2 (en) | 2014-08-13 | 2015-07-24 | Managing transmitter collisions |
Country Status (2)
Country | Link |
---|---|
US (4) | US20160049976A1 (en) |
WO (4) | WO2016025155A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170135125A1 (en) * | 2015-11-06 | 2017-05-11 | Intel IP Corporation | Mobile terminal devices and methods in mobile communication devices |
US9780822B2 (en) | 2014-08-13 | 2017-10-03 | Qualcomm Incorporated | Managing transmitter collisions |
WO2018044922A1 (en) * | 2016-09-01 | 2018-03-08 | Qualcomm Incorporated | Fast return to embms service after lte goes oos in ss and dsds phones |
WO2018063651A1 (en) * | 2016-09-29 | 2018-04-05 | Intel IP Corporation | Mobile communication devices and methods in mobile communication |
CN110461044A (en) * | 2019-07-31 | 2019-11-15 | 中国信息通信研究院 | A channel occupation indication method, device and mobile communication system |
CN113228792A (en) * | 2019-01-11 | 2021-08-06 | 高通股份有限公司 | Distance-based resource exclusion |
US11095355B2 (en) * | 2018-05-10 | 2021-08-17 | Comcast Cable Communications, Llc | Prioritization in beam failure recovery procedures |
WO2022192906A1 (en) * | 2021-03-11 | 2022-09-15 | Qualcomm Incorporated | Techniques for prioritizing communications for dual-sim user equipment |
US11997616B2 (en) | 2020-06-22 | 2024-05-28 | Qualcomm Incorporated | Methods and apparatus to facilitate managing multi-sim concurrent mode for co-banded or spectrum overlap carriers |
US12177931B2 (en) | 2021-09-10 | 2024-12-24 | Qualcomm Incorporated | Dual subscriber coexistence management |
US12279302B2 (en) | 2022-03-10 | 2025-04-15 | Qualcomm Incorporated | Techniques for prioritizing communications for dual subscriber user equipment |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306681B (en) * | 2015-09-18 | 2020-10-09 | 华为技术有限公司 | Management method and device supporting multiple SIM cards to share RF processor |
US10772114B2 (en) * | 2015-10-20 | 2020-09-08 | Telecom Italia S.P.A. | Scheduling method and system |
US20170180951A1 (en) * | 2015-12-16 | 2017-06-22 | Qualcomm Incorporated | Selective prioritization of evolved multimedia broadcast multicast services in concurrent radio access technology mobile communication devices |
US20170208443A1 (en) * | 2016-01-14 | 2017-07-20 | Samsung Electronics Co., Ltd. | Method of adaptively reporting buffer status by a dsds terminal |
WO2017159886A1 (en) * | 2016-03-14 | 2017-09-21 | 엘지전자(주) | Method for transmitting uplink data in wireless communication system and apparatus therefor |
WO2017201715A1 (en) * | 2016-05-26 | 2017-11-30 | Qualcomm Incorporated | Method to improve one subscription data throughput after turn way on dsds phone |
FI3930375T3 (en) * | 2016-06-17 | 2023-07-18 | Guangdong Oppo Mobile Telecommunications Corp Ltd | Method and device for data transmission |
EP3498024B1 (en) * | 2016-08-12 | 2022-04-13 | Telefonaktiebolaget LM Ericsson (publ) | Methods of scheduling transmissions using timing limits and related wireless communication devices |
JP2019208087A (en) * | 2016-09-29 | 2019-12-05 | 株式会社Nttドコモ | User device, base station, and signal transmission method |
US10440599B2 (en) * | 2016-09-30 | 2019-10-08 | Intel IP Corporation | Processing requests for measurement of signal quality at the location of a user equipment with multiple SIMs or subscriptions |
US10367707B2 (en) * | 2016-11-25 | 2019-07-30 | Nokia Of America Corporation | Diagnosing causes of application layer interruptions in packet-switched voice applications |
CN108207032A (en) * | 2016-12-16 | 2018-06-26 | 华硕电脑股份有限公司 | Method and apparatus for handling uplink resource collision in wireless communication system |
WO2018113676A1 (en) * | 2016-12-21 | 2018-06-28 | Huawei Technologies Co., Ltd. | A quality of service differentiation method for distributed network-assisted frame based equipment compliant user equipment cooperation in unlicensed spectrum |
US10433346B1 (en) * | 2018-06-27 | 2019-10-01 | Cypress Semiconductor Corporation | Notice of absence support for coexistence |
US10925056B2 (en) * | 2018-06-29 | 2021-02-16 | Intel Corporation | Multimode device priority access management |
US11218993B2 (en) * | 2018-06-29 | 2022-01-04 | Qualcomm Incorporated | Service request prioritization for intra-UE service multiplexing |
US11672027B2 (en) * | 2018-08-03 | 2023-06-06 | Qualcomm Incorporated | Managing an overlap between downlink reference signals |
US11700085B2 (en) * | 2018-08-10 | 2023-07-11 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for transmitting response information on feedback resources |
WO2020056548A1 (en) * | 2018-09-17 | 2020-03-26 | 华为技术有限公司 | Network selection method and device applied to mobile terminal |
CN112673701A (en) * | 2018-10-31 | 2021-04-16 | Oppo广东移动通信有限公司 | Counting method, terminal equipment and device |
US10820349B2 (en) | 2018-12-20 | 2020-10-27 | Autonomous Roadway Intelligence, Llc | Wireless message collision avoidance with high throughput |
CN111565092B (en) * | 2019-02-13 | 2022-01-04 | 大唐移动通信设备有限公司 | HARQ feedback method and terminal |
US10939471B2 (en) | 2019-06-13 | 2021-03-02 | David E. Newman | Managed transmission of wireless DAT messages |
US10820182B1 (en) | 2019-06-13 | 2020-10-27 | David E. Newman | Wireless protocols for emergency message transmission |
US12238580B2 (en) * | 2019-06-19 | 2025-02-25 | Qualcomm Incorporated | System and method for flow control and acknowledgement transmission |
EP4124128B1 (en) * | 2019-07-10 | 2023-12-13 | Apple Inc. | Communication coordination and collision mitigation for multi-subscriber identity module devices |
CN112218370B (en) * | 2019-07-10 | 2023-09-15 | 苹果公司 | Communication coordination and collision mitigation for multi-user identity module devices |
US11638327B2 (en) * | 2019-12-19 | 2023-04-25 | Comcast Cable Communications, Llc | Methods and systems for switching between service provider networks |
US11490414B2 (en) * | 2020-02-14 | 2022-11-01 | Qualcomm Incorporated | Techniques for intra-user equipment and inter-user equipment cancelation of overlapping communications |
US12016011B2 (en) * | 2021-01-15 | 2024-06-18 | Samsung Electronics Co., Ltd. | Handling scheduling request failure in a network |
US12143882B2 (en) * | 2021-09-09 | 2024-11-12 | Qualcomm Incorporated | Intelligent transmission selection for enhancing uplink performance |
US20230231681A1 (en) * | 2022-01-14 | 2023-07-20 | Qualcomm Incorporated | Enhancing throughput performance in multi-sim modems |
US12219540B2 (en) * | 2022-04-28 | 2025-02-04 | Qualcomm Incorporated | Systems and methods to include demodulation reference signal bundling in multi-subscriber identity module devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010022806A1 (en) * | 1997-03-18 | 2001-09-20 | Hideo Adachi | Base station apparatus for radiocommunication network, method of controlling communication across radiocommunication network, radiocommunication network system, and radio terminal apparatus |
US20100284364A1 (en) * | 2007-12-29 | 2010-11-11 | Mingli You | Semi-persistent scheduling method and apparatus based on statistically multiplexing in time and frequency resources |
US20130021982A1 (en) * | 2010-04-06 | 2013-01-24 | Samsung Electronics Co. Ltd. | Method and apparatus for packet retransmission in a mobile communication system |
US20130039198A1 (en) * | 2011-08-12 | 2013-02-14 | Fujitsu Limited | Base station, communication system and communication method |
US20130176976A1 (en) * | 2010-07-21 | 2013-07-11 | Nokia Corporation | Apparatus and Method for Acquisition of a Common Enhanced Dedicated Channel Resource |
US20130343273A1 (en) * | 2012-06-26 | 2013-12-26 | Qualcomm Incorporated | Enhanced tti bundling with flexible harq merging |
US20140128082A1 (en) * | 2011-07-25 | 2014-05-08 | Telefonaktiebolaget L M Ericsson (Publ) | Paging Reception in Wireless Communication Devices with Dual SIM |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100281138B1 (en) | 1998-12-18 | 2001-02-01 | 김영환 | How to improve fairness in network use |
US7826438B1 (en) | 2004-04-26 | 2010-11-02 | Marvell International Ltd. | Circuits, architectures, systems, methods, algorithms and software for reducing contention and/or handling channel access in a network |
WO2007050231A2 (en) | 2005-10-21 | 2007-05-03 | Interdigital Technology Corporation | Method and apparatus for retransmission management for reliable hybrid arq process |
KR101514841B1 (en) | 2007-08-10 | 2015-04-23 | 엘지전자 주식회사 | Method for re-attempting a random access effectively |
KR101457688B1 (en) * | 2007-10-04 | 2014-11-12 | 엘지전자 주식회사 | Method of Data Transmission Detecting Errors in Receiving Control Channel |
TWM355510U (en) | 2008-01-04 | 2009-04-21 | Interdigital Patent Holdings | Apparatus for performing an enhanced random access channel procedure in a CELL_FACH state |
FI20085480A0 (en) | 2008-05-21 | 2008-05-21 | Nokia Corp | Simultaneous radio access equipment |
EP2417813A1 (en) * | 2009-04-07 | 2012-02-15 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for allocating resources to user equipments in a telecommunications system |
US20110217969A1 (en) | 2010-03-05 | 2011-09-08 | Qualcomm, Incorporated | Devices with multiple subscriptions that utilize a single baseband-radio frequency resource chain |
PL2760241T3 (en) * | 2010-04-01 | 2018-12-31 | Sun Patent Trust | Transmission power control for physical random access channels |
US8923208B2 (en) | 2010-08-05 | 2014-12-30 | Qualcomm Incorporated | Multi-radio coexistence |
US8886239B2 (en) | 2010-09-21 | 2014-11-11 | Qualcomm Incorporated | Buffer status report control for creating transmission gaps |
KR101928448B1 (en) | 2010-10-11 | 2018-12-13 | 삼성전자주식회사 | Method and appratus for avoiding inteference from in-device communication module using time division multiplexing in wireless communication system |
EP2472960A1 (en) | 2010-12-30 | 2012-07-04 | ST-Ericsson SA | Resources control in a multi sim terminal |
GB2492577B (en) | 2011-07-06 | 2013-10-16 | Renesas Mobile Corp | Wireless device and method of operation |
US8842602B2 (en) | 2011-07-29 | 2014-09-23 | Blackberry Limited | Enhancement of in-device coexistence interference avoidance |
US20130150013A1 (en) | 2011-12-12 | 2013-06-13 | Broadcom Corporation | Intelligent Resource Control in Multiple SIM User Equipment |
US9002282B1 (en) | 2011-12-15 | 2015-04-07 | Marvell International Ltd. | Method and apparatus for priority based coexistence arbitration |
US9433003B2 (en) | 2012-03-07 | 2016-08-30 | Qualcomm Incorporated | Multi-radio coexistence via timing controls for radios using the same radio access technology |
US9065545B2 (en) | 2012-03-12 | 2015-06-23 | Blackberry Limited | Handling scheduling request collisions with an ACK/NACK repetition signal |
WO2013138701A2 (en) | 2012-03-16 | 2013-09-19 | Interdigital Patent Holdings, Inc. | Random access procedures in wireless systems |
WO2014003327A1 (en) | 2012-06-26 | 2014-01-03 | Lg Electronics Inc. | Method and apparatus for cancelling buffer status report in wireless communication system |
US9131523B2 (en) | 2012-08-22 | 2015-09-08 | Qualcomm Incorporated | Coexistence management using A-priori time domain information |
US9832778B2 (en) | 2012-11-05 | 2017-11-28 | Telefonaktiebolaget Lm Ericsson (Publ) | In-device coexistence interference in a communications network |
GB2509071B (en) | 2012-12-19 | 2018-07-11 | Sony Corp | Telecommunications apparatus and methods |
US9026125B2 (en) | 2013-01-16 | 2015-05-05 | Qualcomm Incorporated | System and methods for mitigating receiver desense caused by simultaneous transmission on multi-SIM wireless communications devices |
US9094835B2 (en) | 2013-03-15 | 2015-07-28 | Intel Mobile Communications GmbH | Radio communication device and method for operating a radio communication device |
US9137687B2 (en) | 2013-09-06 | 2015-09-15 | Qualcomm Incorporated | Pipelining registration and conflict detection in dual-SIM-dual-active communication device coexistence |
BR112016022366A2 (en) * | 2014-04-04 | 2017-08-15 | Ericsson Telefon Ab L M | METHOD OF ARRANGEMENT FOR A WIRELESS COMMUNICATION DEVICE, WIRELESS COMMUNICATION DEVICE AND COMPUTER READABLE MEDIA |
US20160049976A1 (en) | 2014-08-13 | 2016-02-18 | Qualcomm Incorporated | Managing Transmitter Collisions |
-
2015
- 2015-07-24 US US14/808,071 patent/US20160049976A1/en not_active Abandoned
- 2015-07-24 US US14/808,035 patent/US10027359B2/en not_active Expired - Fee Related
- 2015-07-24 US US14/808,103 patent/US20160050686A1/en not_active Abandoned
- 2015-07-24 US US14/808,007 patent/US9780822B2/en active Active
- 2015-07-27 WO PCT/US2015/042255 patent/WO2016025155A1/en active Application Filing
- 2015-07-27 WO PCT/US2015/042268 patent/WO2016025156A1/en active Application Filing
- 2015-07-27 WO PCT/US2015/042279 patent/WO2016025159A1/en active Application Filing
- 2015-07-27 WO PCT/US2015/042286 patent/WO2016025160A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010022806A1 (en) * | 1997-03-18 | 2001-09-20 | Hideo Adachi | Base station apparatus for radiocommunication network, method of controlling communication across radiocommunication network, radiocommunication network system, and radio terminal apparatus |
US20100284364A1 (en) * | 2007-12-29 | 2010-11-11 | Mingli You | Semi-persistent scheduling method and apparatus based on statistically multiplexing in time and frequency resources |
US20130021982A1 (en) * | 2010-04-06 | 2013-01-24 | Samsung Electronics Co. Ltd. | Method and apparatus for packet retransmission in a mobile communication system |
US20130176976A1 (en) * | 2010-07-21 | 2013-07-11 | Nokia Corporation | Apparatus and Method for Acquisition of a Common Enhanced Dedicated Channel Resource |
US20140128082A1 (en) * | 2011-07-25 | 2014-05-08 | Telefonaktiebolaget L M Ericsson (Publ) | Paging Reception in Wireless Communication Devices with Dual SIM |
US20130039198A1 (en) * | 2011-08-12 | 2013-02-14 | Fujitsu Limited | Base station, communication system and communication method |
US20130343273A1 (en) * | 2012-06-26 | 2013-12-26 | Qualcomm Incorporated | Enhanced tti bundling with flexible harq merging |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9780822B2 (en) | 2014-08-13 | 2017-10-03 | Qualcomm Incorporated | Managing transmitter collisions |
US10027359B2 (en) | 2014-08-13 | 2018-07-17 | Qualcomm Incorporated | Managing transmitter collisions |
US10098139B2 (en) * | 2015-11-06 | 2018-10-09 | Intel IP Corporation | Mobile terminal devices and methods in mobile communication devices |
US20170135125A1 (en) * | 2015-11-06 | 2017-05-11 | Intel IP Corporation | Mobile terminal devices and methods in mobile communication devices |
WO2018044922A1 (en) * | 2016-09-01 | 2018-03-08 | Qualcomm Incorporated | Fast return to embms service after lte goes oos in ss and dsds phones |
WO2018063651A1 (en) * | 2016-09-29 | 2018-04-05 | Intel IP Corporation | Mobile communication devices and methods in mobile communication |
US12034511B2 (en) | 2018-05-10 | 2024-07-09 | Comcast Cable Communications, Llc | Prioritization in beam failure recovery procedures |
US11095355B2 (en) * | 2018-05-10 | 2021-08-17 | Comcast Cable Communications, Llc | Prioritization in beam failure recovery procedures |
CN113228792A (en) * | 2019-01-11 | 2021-08-06 | 高通股份有限公司 | Distance-based resource exclusion |
CN110461044A (en) * | 2019-07-31 | 2019-11-15 | 中国信息通信研究院 | A channel occupation indication method, device and mobile communication system |
US11997616B2 (en) | 2020-06-22 | 2024-05-28 | Qualcomm Incorporated | Methods and apparatus to facilitate managing multi-sim concurrent mode for co-banded or spectrum overlap carriers |
WO2022192906A1 (en) * | 2021-03-11 | 2022-09-15 | Qualcomm Incorporated | Techniques for prioritizing communications for dual-sim user equipment |
US12177931B2 (en) | 2021-09-10 | 2024-12-24 | Qualcomm Incorporated | Dual subscriber coexistence management |
US12279302B2 (en) | 2022-03-10 | 2025-04-15 | Qualcomm Incorporated | Techniques for prioritizing communications for dual subscriber user equipment |
Also Published As
Publication number | Publication date |
---|---|
US9780822B2 (en) | 2017-10-03 |
US20160050686A1 (en) | 2016-02-18 |
WO2016025156A1 (en) | 2016-02-18 |
US10027359B2 (en) | 2018-07-17 |
WO2016025159A1 (en) | 2016-02-18 |
WO2016025155A1 (en) | 2016-02-18 |
US20160050664A1 (en) | 2016-02-18 |
WO2016025160A1 (en) | 2016-02-18 |
US20160050685A1 (en) | 2016-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027359B2 (en) | Managing transmitter collisions | |
US20190053130A1 (en) | Els/mac ce extension and application for crat ue | |
US20170041976A1 (en) | Systems and Methods for Maintaining Data Communications on a Multi-Subscriber Identity Module (SIM) Wireless Communication Device | |
US9668179B2 (en) | Receiving eMBMS on a single-radio-multiple-standby user equipment | |
US20190082446A1 (en) | Uplink Transmission Handling in the Presence of Tune-Aways | |
US20150382361A1 (en) | Handling Transmit Blanking in Multi-Carrier High-Speed Uplink Packet Access-Capable Multi-SIM-Multi-Active Modems | |
EP3254382A1 (en) | Coexistence interference mitigation management for multi-user mimo systems | |
US20170208611A1 (en) | Protecting Critical Communication Activity From A Tune-Away | |
US20190124575A1 (en) | Method to improve one subscription data throughput after turn way on dsds phone | |
US9848354B2 (en) | Systems and methods for uplink activity management | |
US9854601B2 (en) | Deliberating retransmissions to avoid new hybrid automatic repeat requests (HARQ) | |
US20170070940A1 (en) | Systems and Methods for Managing Carrier Transmission After a Tune-Away | |
US20160205663A1 (en) | Evolved Multimedia Broadcast Multicast Service (eMBMS) Streaming Loss Control In A Radio Sharing Concurrent Radio Access Technology (RAT) Capable Mobile Device | |
US20170223589A1 (en) | Managing Data Reception Following a Tune-Away | |
CN108605360B (en) | Timing advance value protection in mobile devices | |
US9859935B1 (en) | HS-SCCH order recovery in multi-subscriber identity module (SIM) wireless communication devices | |
US9629027B2 (en) | Method to prevent data stalls due to blanking in multi-SIM multi-active devices | |
US20160323860A1 (en) | Systems and methods for uplink shared channel content management | |
WO2017193533A1 (en) | Handling packet acknowledgements during tune-aways on mobile devices | |
US20170353898A1 (en) | Systems and methods for regulating thermal performance of a user equipment | |
US20170064662A1 (en) | Managing Tune-Aways In A Multi-Subscription Multi-Standby Communication Device | |
US9848369B2 (en) | Managing tune-aways in a multi-subscription multi-standby communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: QUALCOMM INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRISHNAMOORTHI, DEEPAK;KANAMARLAPUDI, SITARAMANJANEYULU;REEL/FRAME:036656/0036 Effective date: 20150915 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |