SIM Toolkit Scheduling for Multiple Enabled ESIM Profiles
By introducing an STK scheduler at the baseband processor to manage the STK session between the eUICC and eSIM, the problem of communication interruption in a multi-eSIM environment is resolved, and stable operation of wireless devices and efficient service access are achieved.
Patent Information
- Application Number
- CN202210626957.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-26
- Filing Date
- 2022-06-06
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-06-06
AI Technical Summary
When a wireless device's eUICC manages multiple eSIMs, communication between the baseband processor outside the eUICC and the eSIMs may interrupt the processing of STK commands, resulting in STK session errors. Existing technologies cannot effectively manage multiple parallel STK sessions, affecting the normal operation of the wireless device.
By introducing an STK scheduler at the baseband processor, monitoring and managing STK sessions between the eUICC and eSIM, avoiding overlapping parallel sessions, delaying or terminating low-priority sessions to ensure smooth execution of high-priority operations, and using logical channels to manage communications.
It effectively reduces the chances of errors in the eSIM process, ensures the stable operation of wireless devices in a multi-eSIM environment, and improves communication efficiency and service access reliability.
Smart Images

Figure CN115442794B_ABST
Abstract
Description
Technical Field
[0001] The described embodiments set forth techniques for managing Subscriber Identity Module (SIM) Toolkit (STK) scheduling for multiple enabled electronic SIM (eSIM) profiles on an embedded Universal Integrated Circuit Card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the wireless device's eUICC. Background Art
[0002] Wireless mobile network operators (MNOs) continue to upgrade wireless networks to support newer wireless communication standards, including fourth generation (4G) Long Term Evolution (LTE) and Long Term Evolution-Advanced (LTE-A) technologies, as well as fifth generation (5G) technologies. Wireless devices continue to evolve to incorporate newer configurable wireless credentials, such as eSIMs that can be loaded into and subsequently activated on the wireless device's eUICC. To support the newer 5G wireless communication standards, specifications for eSIMs for 5G-enabled wireless devices are being developed and standardized. As downloadable eSIMs become available to provide on-the-go access to a variety of wireless services, the use of multiple eSIMs on wireless devices (including simultaneous use of multiple eSIMs on the wireless device's eUICC) has been proposed. Communication between the wireless device's eUICC and the eUICC's external baseband processor for a new STK session (e.g., a session for a second eSIM) may interrupt processing of STK commands, thereby causing errors in the ongoing STK session (e.g., a session for a first eSIM). Summary of the Invention
[0003] Representative embodiments describe techniques for managing Subscriber Identity Module (SIM) Toolkit (STK) scheduling for multiple enabled electronic Subscriber Identity Module (eSIM) profiles on an embedded Universal Integrated Circuit Card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the wireless device's eUICC. With downloadable eSIMs becoming available to provide on-the-go access to a variety of wireless services, the use of multiple eSIMs on wireless devices (including simultaneous use of multiple eSIMs on a wireless device's eUICC) has been proposed. Logical channels are used to manage communications between the wireless device's eUICC and a processor external to the eUICC. Communications with the eSIMs may include logical channels allocated for STK communications for STK sessions. The eUICC operating system (OS) of the eUICC may be unable to handle multiple concurrent STK sessions for communicating with multiple eSIMs. To proactively prevent STK communications from interfering with the execution of processes associated with the eSIMs, an external processor of the wireless device, such as a baseband processor, may schedule STK sessions to avoid overlap and reduce the chance of errors in processing eSIM processes. An external processor may monitor any ongoing active STK sessions associated with an eSIM of an eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs. User input indicating one or more STK actions to be performed for a first eSIM of the eUICC may be reviewed by an STK scheduler process of the external processor before execution. The STK scheduler may allow the one or more STK actions to be performed for the first eSIM when no other eSIMs of the eUICC have ongoing STK sessions. When an active STK session is ongoing with a second eSIM of the eUICC, the STK scheduler may determine whether at least one of the one or more STK actions for the first eSIM has priority over the ongoing active STK session of the second eSIM. When none of the one or more STK actions has priority, the STK scheduler may add one or more entries to a queue to execute the one or more STK actions for the first eSIM after the active STK session of the second eSIM ends. When at least one of the one or more STK actions does have override priority, the STK scheduler may send a message to the eUICC to terminate the ongoing active STK session of the second eSIM, and may subsequently perform the one or more STK operations for the first eSIM after the active STK session of the second eSIM is terminated.In some embodiments, the user input includes one or more of the following: enabling one or more eSIMs of the wireless device's eUICC; enabling multiple eSIMs of the wireless device's eUICC; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an International Mobile Subscriber Identity (IMSI) handover by the wireless device, for example, when moving to a roaming network area; performing a Bearer Independent Protocol (BIP) session for the eSIM on the eUICC, such as for an over-the-air update of the eSIM.
[0004] This summary is provided for the purpose of summarizing some exemplary embodiments only, in order to provide a basic understanding of some aspects of the subject matter described herein. Therefore, it should be understood that the above-mentioned features are merely examples and should not be construed as narrowing the scope or essence of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, drawings, and claims.
[0005] Other aspects and advantages of the embodiments described herein will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example the principles of the embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The included drawings are for illustrative purposes and are intended only to provide examples of possible structures and arrangements of the disclosed apparatus and method for providing wireless computing devices. These drawings in no way limit any changes in form and detail that may be made to the embodiments by those skilled in the art without departing from the spirit and scope of the embodiments. The embodiments will be readily understood by the following detailed description taken in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
[0007] Figure 1 A block diagram illustrating different components of an example system configured to implement the various techniques described herein, according to some embodiments.
[0008] Figure 2 According to some embodiments, Figure 1 A block diagram of a more detailed view of exemplary components of the system.
[0009] Figure 3 Communication between a baseband processor and a UE's eUICC is shown according to some embodiments.
[0010] Figure 4A An example of communication of multiple eSIMs without STK scheduling resulting in errors is shown according to some embodiments.
[0011] Figure 4BAn example of communication of multiple eSIMs with STK scheduling to reduce errors is shown in accordance with some embodiments.
[0012] Figure 5A An example is shown to enable communication of multiple eSIMs without STK scheduling resulting in errors according to some embodiments.
[0013] Figure 5B An example is shown to enable communication of multiple eSIMs with STK scheduling to reduce errors according to some embodiments.
[0014] Figure 6A An example of communications to initiate a voice call without STK scheduling resulting in an error is shown in accordance with some embodiments.
[0015] Figure 6B An example of communications to initiate a voice call with STK scheduling to reduce errors is shown in accordance with some embodiments.
[0016] Figure 7A An example of communications to attempt IMSI switching associated with location roaming without STK scheduling resulting in an error is shown in accordance with some embodiments.
[0017] Figure 7B An example of communications to cause IMSI switching associated with location roaming with STK scheduling to reduce errors is shown in accordance with some embodiments.
[0018] Figure 8A and Figure 8B An example of communications to handle a Bearer Independent Protocol (BIP) session for an eSIM without STK scheduling resulting in errors is shown in accordance with some embodiments.
[0019] Figure 8C and Figure 8D An example of communications to handle a BIP session for an eSIM with STK scheduling to reduce errors is shown in accordance with some embodiments.
[0020] Figure 9 A flow chart illustrating an exemplary sequence of actions for scheduling SIM Toolkit (STK) communications with an eUICC by a baseband processor of a wireless device in accordance with some embodiments.
[0021] Figure 10 A flow diagram illustrating an exemplary set of actions performed by apparatus of a wireless device for performing STK scheduling for multiple eSIMs of an eUICC in accordance with some embodiments is shown.
[0022] Figure 11 Shown is a detailed view of a representative computing device that can be used to implement the various methods described herein, according to some embodiments. DETAILED DESCRIPTION
[0023] Representative applications of the apparatus and methods according to the embodiments described herein are provided in this section. These examples are provided solely to add context and aid in understanding the described embodiments. It will therefore be apparent to those skilled in the art that the presently described embodiments may be practiced without some or all of these specific details. In other instances, well-known process steps are not described in detail in order to avoid unnecessarily obscuring the presently described embodiments. Other applications are possible, such that the following examples should not be considered restrictive.
[0024] Representative embodiments describe techniques for managing Subscriber Identity Module (SIM) Toolkit (STK) scheduling for multiple enabled electronic Subscriber Identity Module (eSIM) profiles on an embedded Universal Integrated Circuit Card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the wireless device's eUICC. With downloadable eSIMs becoming available to provide on-the-go access to a variety of wireless services, the use of multiple eSIMs on wireless devices (including simultaneous use of multiple eSIMs on a wireless device's eUICC) has been proposed. Logical channels are used to manage communications between the wireless device's eUICC and a processor external to the eUICC. Communications with the eSIMs may include logical channels allocated for STK communications for STK sessions. The eUICC operating system (OS) of the eUICC may be unable to handle multiple concurrent STK sessions for communicating with multiple eSIMs. To proactively prevent STK communications from interfering with the execution of processes associated with the eSIMs, an external processor of the wireless device, such as a baseband processor, may schedule STK sessions to avoid overlap and reduce the chance of errors in processing eSIM processes. An external processor may monitor any ongoing active sessions associated with an eSIM of an eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs. User input indicating one or more STK actions to be performed for a first eSIM of the eUICC may be reviewed by an STK scheduler process of the external processor before execution. When no other eSIMs of the eUICC have ongoing STK sessions, the STK scheduler may allow the one or more STK actions to be performed on the first eSIM. When an ongoing active STK session exists for a second eSIM of the eUICC, the STK scheduler may determine whether the one or more STK actions for the first eSIM have priority over the ongoing active STK session for the second eSIM. When the one or more STK actions do not have override priority, the STK scheduler may add one or more entries to a queue to execute the one or more STK actions for the first eSIM after the active STK session for the second eSIM ends. When one or more STK actions do have override priority, the STK scheduler may send a message to the eUICC to terminate the ongoing active STK session of the second eSIM, and may subsequently perform the one or more STK operations for the first eSIM after the active STK session of the second eSIM is terminated.In some embodiments, the user input includes one or more of the following: enabling one or more eSIMs of the wireless device's eUICC; enabling multiple eSIMs of the wireless device's eUICC; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an International Mobile Subscriber Identity (IMSI) handover by the wireless device when moving to a roaming network area; performing a Bearer Independent Protocol (BIP) session for an eSIM on the eUICC, such as for an over-the-air update of the eSIM.
[0025] The following references Figures 1 to 11 These and other embodiments will be discussed in detail; however, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for illustrative purposes only and is not to be construed as limiting.
[0026] Figure 1 1 shows a block diagram of various components of a system 100 configured to implement the various techniques described herein, according to some embodiments. More specifically, Figure 1 A simplified overview of a system 100 is shown, which includes a user equipment (UE) 102, a set of base stations 112-1 through 112-n managed by different mobile network operators (MNOs) 114, and a configuration server 116 in communication with the MNOs 114. The UE 102 may represent a mobile computing device (e.g., of or ), base stations 112-1 through 112-n may represent cellular wireless network entities configured to communicate with UE 102, including evolved NodeBs (eNBs) and / or next-generation NodeBs (one or more gNBs), and MNO 114 may represent different wireless service providers that provide specific services (e.g., voice and data) to which UE 102 may subscribe. UE 102 may also be referred to as a wireless device, a mobile device, a mobile wireless device, etc.
[0027] like Figure 1As shown, UE 102 may include processing circuitry, an embedded universal integrated circuit card (eUICC) 108, and a baseband processor 110, where the processing circuitry may include one or more processors 104 and memory 106. In some embodiments, in addition to or in lieu of an eUICC, UE 102 includes one or more physical UICC cards, also known as Subscriber Identity Module (SIM) cards (not shown). These components of UE 102 work together to enable UE 102 to provide useful features to the user of UE 102, such as local computing, location-based services, and internet connectivity. eUICC 108 may be configured to store multiple electronic SIMs (eSIMs) for accessing different services provided by one or more MNOs 114 via base stations 112-1 through 112-n. For example, eUICC 108 may be configured to store and manage one or more eSIMs for one or more MNOs 114 for different subscriptions associated with UE 102. To enable access to services provided by the MNOs, eSIMs may be provisioned to eUICC 108. In some embodiments, the eUICC 108 obtains one or more eSIMs (or updates to one or more eSIMs) from one or more associated provisioning servers 116. Note that the provisioning server 116 may be maintained by the manufacturer of the UE 102, the MNO 114, a third-party entity, or the like. Communication of eSIM data between the provisioning server 116 and the eUICC 108 (or between the provisioning server 116 and processing circuitry of the UE 102 external to the eUICC 108, such as the processor 104) may utilize a secure communication channel. Multiple eSIMs may be downloaded to the eUICC 108 of the UE 102 from one or more provisioning servers 116 associated with one or more MNOs 114. The UE 102 may be configured to allow multiple eSIMs to be simultaneously enabled on the UE 102 to provide access to wireless services provided by the multiple eSIMs. Communication between the multiple eSIMs enabled on the eUICC 108 and processing circuitry external to the eUICC 108 (e.g., the processor 104 and / or the baseband processor 110) may utilize a logical channel. Communications with the eSIM may include a SIM Tool Kit (STK) session that uses a logical channel between the baseband processor 110 and the eSIM. An STK scheduler operating on the baseband processor 110 may view inputs that may result in actions that affect an ongoing STK session of an eSIM. Multiple concurrent STK sessions may be avoided by delaying the initiation of a new STK session for a second eSIM while an ongoing active STK session of a first eSIM continues. In some cases, when an action associated with the second eSIM takes precedence over the STK session of the first eSIM, the active STK session of the first eSIM may be terminated early to establish a new STK session for the second eSIM.
[0028] Figure 2 According to some embodiments, Figure 1 A block diagram of a more detailed view 200 of certain components of the UE 102 is provided. Figure 2 As shown, the processor 104 in conjunction with the memory 106 may implement a host operating system (OS) 202 configured to execute application programs 204 (eg, native OS applications and user applications). Figure 2 As shown, the eUICC 108 may be configured to implement an eUICC OS 206 that is configured to manage the hardware resources of the eUICC 108 (e.g., a processor and memory embedded in the eUICC 108). The eUICC OS 206 may also be configured to manage the eSIM 208 stored by the eUICC 108, such as by installing, enabling, disabling, modifying, or otherwise performing management of the eSIM 208 within the eUICC 108 and providing access to the eSIM 208 to the baseband processor 110 to provide access to wireless services for the UE 102. The eUICC 108 OS may include an eSIM manager 210 that may perform management functions for various eSIMs. Figure 2 As shown, each eSIM 208 may include a plurality of applets 212 that define the manner in which the eSIM 208 operates. For example, one or more of the applets 212, when implemented by the baseband processor 110 and the eUICC 108, may be configured to enable the UE 102 to communicate with the MNO 114 and provide useful features (e.g., voice connectivity, instant messaging services, internet access, etc.) to the user of the UE 102.
[0029] Likewise Figure 2As shown, the baseband processor 110 of the UE 102 may include a baseband OS 214 configured to manage the hardware resources (e.g., processor, memory, various radio components, etc.) of the baseband processor 110. According to some embodiments, the baseband processor 110 may implement a baseband manager 216 configured to interact with the eUICC 108 to establish a secure channel with the provisioning server 116 and obtain information (such as eSIM data) from the provisioning server 116 for managing the eSIM 208. The baseband manager 216 may be configured to implement services 218, which represent a collection of software modules that are instantiated by various applets 212 for the enabled eSIMs 208 included in the eUICC 108. For example, the services 218 may be configured to manage different connections between the UE 102 and the MNO 114 depending on the different eSIMs 208 enabled within the eUICC 108. The baseband manager 216 may be further configured to include a SIM Toolkit (STK) dispatcher that manages STK sessions for communicating with one or more eSIMs 208 on the eUICC 108 .
[0030] Figure 3Diagram 300 illustrates communications between the baseband processor 110 of the UE 102 and the eUICC OS 206 of the eUICC 108 of the UE 102. The eUICC 108 of the UE 102 may be capable of enabling multiple eSIM profiles simultaneously, which may be referred to as multiple enabled profiles (MEP) capability. To reduce the chance that SIM Toolkit (STK) sessions of different eSIMs 208 of the eUICC 108 interfere with each other, an STK scheduler 304 may monitor user input or other actions generated by the UE 102 to schedule STK session communications for the eSIMs 208 of the eUICC 108. The STK scheduler 304 may receive SIM commands or requests, which may be associated with user input, that require actions to be performed by elements of the eUICC 108. The STK dispatcher 304 can interact with the SIM driver 302 software component, which can interact with the eUICC OS 206 of the eUICC 108 to communicate with the eSIM manager 210 therein, which can communicate with one or more eSIMs in the eSIM 208. The SIM driver 302 can receive SIM requests from the STK dispatcher 304, which can be generated by one or more SIM commands or requests provided to the STK dispatcher 304, and send SIM commands to the eUICC 108 to interact with the eUICC 108, the eUICC OS 206, and / or the eSIM 208 via the eSIM manager 210. The SIM driver 302 can also communicate terminal responses to the eUICC 108 in response to communications from the eUICC 108. The eUICC 108 can also send proactive commands to the SIM driver 302, which can be further processed by the baseband processor 110. The STK scheduler 304 may manage STK sessions to reduce interference with communications of multiple eSIMs 208 with the eUICC 108. In some cases, the STK scheduler 304 may interrupt an ongoing STK session associated with a first eSIM 208 to perform a priority action for a second eSIM 208. In some cases, the STK scheduler 304 may delay establishing a new STK session for the second eSIM 208 (or delay communication to the eUICC 108) that may interfere with an ongoing STK session for the first eSIM 208.
[0031] Figure 4ADiagram 400 illustrates communications between the baseband processor 110 of UE 102 and the eUICC 108 of UE 102, where the communications are intended for multiple eSIMs 208 and result in one or more errors. Initially, the baseband processor 110 sends an Envelope message to the eUICC 108 to establish an STK session for a first eSIM 208 (e.g., eSIM A). The eUICC 108 sends a 91XX message to the baseband processor 110 in a positive response to the Envelope message, establishing an STK session for eSIM A and indicating pending proactive commands. The baseband processor 110 then sends a Get message to the eUICC 108 to retrieve the pending proactive commands for eSIM A from the eUICC 108. The eUICC 108 responds with a proactive command message for eSIM A, which may indicate an action to be taken by the baseband processor 110 with respect to eSIM A. Subsequently, without STK scheduling to separate STK sessions for different eSIMs so that they do not overlap, the baseband processor 110 may send another envelope message to the eUICC 108, this envelope message relating to establishing a second STK session for a second eSIM 208, such as eSIM B. The eUICC 108 responds to the envelope message from the second eSIM 208 by sending a 9300 error message to the baseband processor 110, indicating that the eUICC 108 is busy and cannot respond to the second envelope message to establish the second STK session for eSIM B. In some cases, the software component handling STK sessions on the eUICC 108 may return the STK busy error indication. In some cases, the software component of the eUICC 108 may not be able to properly establish and maintain multiple concurrent STK sessions for multiple eSIMs 208. In some embodiments, the software component handling STK sessions on the eUICC 108 may cause one or more errors in the eUICC 108's processing of messages or actions for the ongoing STK session of eSIM A. In some cases, the baseband processor 110 terminates SIM A's STK session in response to the 9300 error message.
[0032] Figure 4BDiagram 450 illustrates communications between the baseband processor 110 of the UE 102 and the eUICC 108 of the UE 102, wherein communications intended for multiple eSIMs 208 are managed by the STK scheduler 304 on the baseband processor 110 to delay the establishment of a second STK session for the second eSIM 208 until the first STK session for the first eSIM 208 terminates. Initially, the baseband processor 110 sends an Envelope message to the eUICC 108 to establish an STK session for the first eSIM 208 (e.g., eSIM A). The eUICC 108 sends a 91XX message to the baseband processor 110 in a positive response to the Envelope message, establishing an STK session for eSIM A and indicating pending proactive commands. The baseband processor 110 then sends a Get message to the eUICC 108 to retrieve pending proactive commands for eSIM A from the eUICC 108. The eUICC 108 responds with an unsolicited command message for eSIM A, which may indicate the actions to be taken by the baseband processor 110 with respect to eSIM A. Subsequently, in the event that STK scheduling is in place to separate STK sessions for different eSIMs so as not to overlap, the baseband processor 110 may delay sending a message to establish a second STK session for a second eSIM 208, such as eSIM B, until after the STK session for eSIM A has concluded. The baseband processor 110 may send a Terminal Response message for eSIM A to the eUICC 108 to terminate the STK session for eSIM A, either due to completion of the actions required for the STK session for eSIM A or due to an interruption caused by a higher priority action requiring the establishment of an STK session for another eSIM, such as eSIM B. After the STK session for eSIM A has terminated, the baseband processor 110 may send another encapsulated message to the eUICC 108 regarding the establishment of an STK session for a second eSIM 208, such as eSIM B. Since the previous STK session of eSIM A has terminated, the STK session of eSIM B can be established, and the eUICC 108 responds to the second eSIM 208's encapsulation message by sending a 9000 Status Response message for eSIM B to the baseband processor 110. By delaying the establishment of eSIM B's STK session until after the STK session of eSIM A has terminated, the baseband processor 110 (e.g., the STK scheduler therein) can reduce the chance of errors caused by conflicting messages from two different STK sessions of two different eSIMs 208 in the eUICC 108.
[0033] Figure 5ADiagram 500 illustrates communication between the baseband processor 110 of a UE 102 and the eUICC 108 of the UE 102, wherein the communication is intended to enable multiple eSIMs 208 without STK scheduling. At 502, a reset of the eUICC 108 may occur, for example, due to powering on the UE 102 housing the eUICC 108. The eUICC 108 may store multiple eSIMs 208, such as eSIM A 208A and eSIM B 208B. Initially, after the power-on reset, both eSIM A 208A and eSIM B 208B may be in a disabled state. At 504, the eUICC 108 may send a message to the baseband processor 110 indicating that the eUICC 108 is capable of supporting multiple simultaneously enabled eSIMs 208, i.e., that the eUICC 108 is capable of enabling multiple profiles (MEPs). At 506, the baseband processor 110 may determine that both eSIM A 208A and eSIM B 208B are in a disabled state. In some cases, a notification of the disabled state may be provided to the user of the UE 102. At 508, the baseband processor 110 may determine that both eSIM A 208A and eSIM B 208B are to be enabled, for example, due to input from the user of the UE 102 or from a setting indicating that both eSIM A 208A and eSIM B 208B were previously enabled (e.g., before the UE 102 was powered on or other action that caused the reset at 502). Without STK scheduling, the baseband processor 110 may attempt to establish an STK session to enable eSIM A 208A and eSIM B 208B in parallel, which may result in errors, as discussed further herein. At 510, the baseband processor 110 sends a message to the eUICC 108 to enable eSIM A 208A. At 512, the eUICC 108 responds with a normal response message. At 514, the baseband processor 110 sends a Terminal Profile Download message to the eUICC 108 for eSIM A 208A. At 516, the eUICC 108 responds with a 91XX command, indicating a pending proactive command for the eUICC 108. At 518, the eUICC 108 sends a Get command to the eUICC to retrieve the pending proactive command. At 520, the eUICC 108 sends a proactive command to the baseband processor, indicating the establishment of an event list for eSIM A. Without STK scheduling, at 522, the baseband processor 110 sends a second message to the eUICC 108 to enable eSIM B 208B. At 524, the eUICC 108 determines that eSIM B 208B cannot be enabled because one or more processes are busy handling events for eSIM A 208A.The eUICC 108 responds to the activation request for eSIM B from the baseband processor 110 with a 9300 Toolkit Busy error message. Without STK scheduling, the baseband processor 110 continues processing eSIM A 208A by sending a Terminal Response message at 528 to set the event list for eSIM A 208A. At 930, the eUICC 108 responds with a 9000 Status message. The impact of the concurrent STK sessions for eSIM A 208A and eSIM B 208B can lead to a number of errors at 532, such as the baseband processor 110 not providing the eUICC 108 with appropriate status information associated with the "event" (e.g., voice call status, IMS registration status, location status), and incorrect or missing status information can adversely affect voice call initiation and establishment, UE registration, data connectivity, etc.
[0034] Figure 5BDiagram 550 illustrates communication between the baseband processor 110 of a UE 102 and the eUICC 108 of the UE 102, wherein the communication utilizes STK scheduling to sequentially enable multiple eSIMs 208. At 502, a reset of the eUICC 108 may occur, for example, due to powering on the UE 102 housing the eUICC 108. The eUICC 108 may store multiple eSIMs 208, such as eSIM A 208A and eSIM B 208B. Initially, after the power-on reset, both eSIM A 208A and eSIM B 208B may be in a disabled state. At 504, the eUICC 108 may send a message to the baseband processor 110 indicating that the eUICC 108 is capable of supporting multiple simultaneously enabled eSIMs 208, i.e., that the eUICC 108 is capable of enabling multiple profiles (MEPs). At 506, the baseband processor 110 may determine that both eSIM A 208A and eSIM B 208B are in a disabled state. In some cases, a notification of the disabled state may be provided to the user of the UE 102. At 508, the baseband processor 110 may determine that both eSIM A 208A and eSIM B 208B are to be enabled, for example, due to input from the user of the UE 102 or input from a setting indicating that both eSIM A 208A and eSIM B 208B were previously enabled (e.g., before the UE 102 was powered on or other action that resulted in the reset at 502). At 510, the baseband processor 110 sends a message to the eUICC 108 to enable eSIM A 208A. At 512, the eUICC 108 responds with a normal response message. At 514, the baseband processor 110 sends a terminal profile download message to the eUICC 108 for eSIM A 208A. At 516, the eUICC 108 responds with a 91XX command, indicating the pending proactive command of the eUICC 108. At 518, the eUICC 108 sends a Get command to the eUICC to retrieve the pending proactive command. At 520, the eUICC 108 sends a proactive command to the baseband processor, where the proactive command indicates the establishment of an event list for eSIM A. In the case of STK scheduling, at 552, the baseband processor 110 identifies the ongoing active STK session of eSIM A 208A and, at 554, queues the pending request so that eSIM B 208B does not interfere with the ongoing active STK session of eSIM A 208A. At 556, the baseband processor 110 responds to the previous proactive command to establish the event list from the eUICC 108 (received at 520) by sending a Terminal Response to the eUICC 108 to establish the event list.At 558, the eUICC 108 responds with a 9000 status message. At 560, the active STK session for eSIM A 208A ends, after which the baseband processor 110 can resolve the pending queued request to activate eSIM B 208B. At 562, the baseband processor 110 sends a message to the eUICC 108 to activate eSIM B and receives a normal response message from the eUICC 108 at 564. At 566, the baseband processor 110 sends a Terminal Profile Download message for eSIM B 208B to the eUICC 108. At 568, the baseband processor receives a 91XX message from the eUICC 108 indicating pending events for eSIM B 208B. At 570, the baseband processor 110 retrieves the pending events for eSIM B 208B by getting a message response. By delaying the activation of eSIM B 208B using the STK scheduler 304 until after the pending active STK session of eSIM A 208A is complete, the baseband processor 110 reduces the probability of errors occurring when processing commands for different eSIMs 208 by the eUICC 108 .
[0035] Figure 6A Diagram 600 illustrates communications between the baseband processor 110 of UE 102 and the eUICC 108 of UE 102, where the baseband processor 110 attempts to establish a mobile-originated (MO) voice call without STK scheduling. At 602, initialization of the eUICC 108 occurs. At 604, the baseband processor 110 sends an envelope message to the eUICC 108 along with location status information (e.g., indicating normal service). At 608, the eUICC 108 sends a 91XX message to the baseband processor 110, indicating a pending event, such as a pending proactive event, for eSIM A 208A. At 610, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve the pending proactive commands for eSIM A 208A. At 612, the eUICC 108 responds with a proactive command, such as a Refresh command, for eSIM A. At 614, the user of UE 102 may trigger a mobile originated (MO) voice call to be established using eSIM B 208B. Without STK scheduling, baseband processor 110 may send an envelope message including call control information for eSIM B 208B to eUICC 108 at 616. While eUICC 108 is processing an active command from eSIM A 208A, eUICC 108 may respond to baseband processor 110 with a 9300 error message including a toolkit busy message at 618. Consequently, eUICC 108 is unable to process the request for the MO voice call, and at 620, the MO voice call establishment fails.
[0036] Figure 6BDiagram 650 illustrates communications between the baseband processor 110 of the UE 102 and the eUICC 108 of the UE 102, wherein the baseband processor 110, with STK scheduling, establishes a mobile-originated (MO) voice call for eSIM B 208B to manage an ongoing STK session for eSIM A 208A. The STK scheduler 304 of the baseband processor 110 can monitor ongoing active STK sessions and coordinate communications for different eSIMs 208 accordingly. At 602, initialization of the eUICC 108 occurs. At 604, the baseband processor 110 sends an envelope message to the eUICC 108 along with location status information (e.g., indicating normal service). At 608, the eUICC 108 sends a 91XX message to the baseband processor 110, indicating a pending event, such as a pending active event, for eSIM A 208A. At 610, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve pending active commands for eSIM A 208A. At 612, the eUICC 108 responds with an active command for eSIM A, such as a Refresh command. With STK scheduling, at 652, the baseband processor 110 identifies an ongoing active STK session for eSIM A 208A. At 654, the user of UE 102 may trigger an MO voice call via eSIM B 208B. The STK scheduler 304 of the baseband processor 110 may determine that the establishment of the MO voice call has a higher priority and supersedes the ongoing active STK session for eSIM A 208A. At 656, the baseband processor 110 sends a Terminal Response message to the eUICC 108, indicating that the terminal is busy with a call. The eUICC 108 may recognize that the active STK session for eSIM A 208A has terminated and that one or more pending events for eSIM A 208 have not yet been serviced. At 660, the baseband processor 110 may determine that the active STK session for eSIM A 208A has terminated, and then, at 662, send a wrapper message to the eUICC 108 to establish the MO call for eSIM B 208B. The eUICC 108 may respond at 664 with a 9000 status message indicating no modification. At 666, the baseband processor 110 and the eUICC 108 may continue to establish the MO voice call via eSIM B 208B. At 658, when feasible and without interfering with the establishment of the MO voice call, the eUICC 108 may send a 91XX message to the baseband processor 110 indicating a pending event for eSIM A 208A. After the MO voice call is established, at 668, the baseband processor 110 may receive a 91XX message from the eUICC 108 indicating a pending event for eSIM A 208A.At 670, the baseband processor 110 sends a get message to the eUICC 108 to retrieve pending events for eSIM A 208A. At 672, the baseband processor 110 identifies the reestablishment of the active STK session for eSIM A 208A. At 674, the baseband processor 110 receives the pending event, such as an active refresh command, from the eUICC 108 and provides a terminal response message at 676. At 678, the baseband processor 110 identifies that the active STK session for eSIM A 208A has ended. By prematurely terminating the active STK session for eSIM A 208A, the STK scheduler allows the prioritized MO voice call to be set up at 656, and then subsequently processes the active STK session for eSIM A 208A (after reestablishment).
[0037] Figure 7A Diagram 700 illustrates communications between the baseband processor 110 of UE 102 and the eUICC 108 of UE 102, where the communications are associated with an attempt to perform an IMSI switch for roaming without STK scheduling. At 702, the eUICC 108 is initialized. At 704, the user of UE 102 updates the fixed dialing number (FDN) of eSIM A 208A. At 706, the baseband processor 110 sends a Write Command message to the eUICC 108 with updated Elementary File (EF) information for the FDN of eSIM A 208A. At 708, the eUICC 108 responds to the baseband processor 110 with a 91XX message indicating pending events for eSIM A 208A. At 710, the baseband processor 110 sends a Get Command to the eUICC 108 to retrieve pending events for eSIM A 208A. At 712, the eUICC 108 responds to the baseband processor 110 with a pending event, such as an Active Refresh - File Change command for eSIM A 208A. While the active STK session for eSIM A 208A is ongoing, at 714, the UE 102 may change location, for example, moving to a cellular wireless network area associated with roaming for eSIM B 208B. At 716, due to the change in location, the baseband processor 110 may send a message to the eUICC 108 with a location status event encapsulated for eSIM B 208B. Because the eUICC 108's STK handler may already be handling the active STK session for eSIM A 208A, at 718, the eUICC 108 returns a 9300 Toolkit Busy error message to the baseband processor 110. At 720, the IMSI switch associated with the change in location for eSIM B 208B fails, and at 722, the UE 102 may be unable to register with the roaming cellular wireless network.
[0038] Figure 7BDiagram 750 illustrates communications between the baseband processor 110 of UE 102 and the eUICC 108 of UE 102, where the communications are associated with IMSI switching for roaming with STK scheduling. At 702, the eUICC 108 is initialized. At 704, the user of UE 102 updates the fixed dialing number (FDN) of eSIM A 208A. At 706, the baseband processor 110 sends a Write Command message to the eUICC 108 with updated Elementary File (EF) information for the FDN of eSIM A 208A. At 708, the eUICC 108 responds to the baseband processor 110 with a 91XX message indicating pending events for eSIM A 208A. At 710, the baseband processor 110 sends a Get Command to the eUICC 108 to retrieve pending events for eSIM A 208A. At 712, the eUICC 108 responds to the baseband processor 110 with a pending event, such as an Active Refresh – File Change command for eSIM A 208A. At 752, the baseband processor 110 recognizes that an active STK session for eSIM A 208A is ongoing. While the active STK session for eSIM A 208A is ongoing, at 754, the UE 102 may change location, for example, to a cellular wireless network area associated with roaming for eSIM B 208B. At 756, the baseband processor 110, such as its STK scheduler 304, adds an entry to the queue for encapsulation requests associated with the location change, allowing the active STK session for eSIM A 208A to continue at 758 without being interrupted by the location change command. At 760, the baseband processor sends a Terminal Response Refresh command for eSIM A 208A to the eUICC 108 and receives a Status OK 9000 message in response. At 764, the baseband processor 110 recognizes that the active STK session for eSIM A 208A has ended. At 766, the baseband processor 110 may send a delayed envelope message with a location status event to the eUICC 108 for eSIM B 208B. The eUICC 108 may respond with a 91XX message indicating a pending event for eSIM B 208B. At 770, the IMSI switch for eSIM B 208B associated with the location change of UE 102 may succeed. At 772, the baseband processor 110 obtains a command to respond to the 91XX message for eSIM B 208B and, in response, receives an active refresh command for eSIM B 208B from the eUICC 108 at 774. By queuing actions associated with the location change of eSIM B 208B, the baseband processor 110 increases the probability of an IMSI switch associated with a subsequent location change after completing the ongoing active STK session for eSIM A 208A.
[0039] Figure 8A and Figure 8BDiagrams 800 and 835 illustrate communications between the baseband processor 110 of UE 102 and the eUICC 108 of UE 102, where the communications are associated with Bearer Independent Protocol (BIP) sessions for multiple eSIMs 208 without STK scheduling, resulting in errors. At 802, initialization of the eUICC 108 occurs. At 804, the baseband processor 110 receives a Short Message Service (SMS) message from eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A. At 806, the baseband processor 110 sends an envelope message to the eUICC 108, including an SMS PP download indication, for eSIM A 208A. At 808, the eUICC 108 responds with a 91XX message indicating a pending event for eSIM A 208A. At 810, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve pending events for eSIM A 208A. At 812, the eUICC 108 responds to the baseband processor 110 with a pending event, such as an Active Open Channel command for eSIM A 208A. At 814, the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update of eSIM A 208A, for example, using the BIP protocol for IP sessions. At 816, the baseband processor 110 provides the eUICC 108 with a Terminal Response message for eSIM A 208A, indicating readiness for the OTA update of eSIM A 208A. At 818, the eUICC 108 sends an Active Command message to the baseband processor 110 to send data for the OTA update of eSIM A 208A. At 820, the baseband processor 110 responds to the eUICC 108 with a Terminal Response. At 824, the baseband processor 110 receives an SMS message from eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B. At 826, the baseband processor 110 sends a wrapped message including an SMS PP download instruction to the eUICC 108 for eSIM B 208B. At 828, the eUICC 108 responds with a 91XX message indicating pending events for eSIM B 208B. At 830, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve pending events for eSIM B 208B. At 832, the eUICC 108 responds to the baseband processor 110 with a pending event, such as an Active Open Channel command for eSIM B 208B. At 834, the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update of eSIM B 208B, for example, using the BIP protocol for IP sessions.At this point, two parallel BIP sessions are established, namely a first BIP session of eSIM A 208A and a second BIP session of eSIM B 208B.
[0040] At 836, the baseband processor 110 provides the eUICC 108 with a Terminal Response message for eSIM B 208B, indicating readiness for an OTA update of eSIM B 208B. At 838, the eUICC 108 sends an active command message to the baseband processor 110 to send the OTA update data for eSIM B 208B. At 840, the baseband processor 110 requests IP data for eSIM B 208B, for example, via the established BIP session of eSIM B 208B. At 842, the baseband processor 110 responds to the eUICC 108 with a Terminal Response. At 844, the baseband processor 110 sends an envelope message to the eUICC 108 indicating "Data Available" for eSIM B 208B, and in response, at 846, receives a 91XX message indicating a pending event for eSIM B 208B. At 848, the baseband processor retrieves pending events for eSIM B 208B by sending a get command to the eUICC 108 and, in response, receives an active command from eSIM B 208B indicating that the eUICC 108 is ready to receive data from eSIM B 208B. At 852, the baseband processor 110 may receive incoming data via the established BIP session of eSIM B 208B and, at 854, provide a terminal response message to eSIM B 208B. As depicted at 856, the BIP session of eSIM B 208B intercepts the BIP session of eSIM A 208A, and the IP data transmission for the OTA update of eSIM A 208A is interrupted by the IP data transmission for the OTA update of eSIM B 208B. In some cases, the interruption of data transmission may cause the OTA update (or other data transmission of the BIP session) of one eSIM to fail due to the processing of the OTA update (or other data transmission of the BIP session) of the other eSIM. The parallel processing of two BIP sessions for two different eSIMs 208 may be problematic, leading to data transmission errors in some cases.
[0041] Figure 8C and Figure 8DDiagrams 860 and 890 illustrate communications between the baseband processor 110 of the UE 102 and the eUICC 108 of the UE 102, wherein the communications are associated with a Bearer Independent Protocol (BIP) session for multiple eSIMs 208 and utilize STK scheduling to reduce errors. At 802, the eUICC 108 is initialized. At 804, the baseband processor 110 receives a Short Message Service (SMS) message from eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A. At 806, the baseband processor 110 sends an envelope message to the eUICC 108, including an SMS PP download indication, for eSIM A 208A. At 808, the eUICC 108 responds with a 91XX message indicating a pending event for eSIM A 208A. At 810, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve pending events for eSIM A 208A. At 862, the baseband processor 110 recognizes that an active STK session is ongoing for eSIM A 208A. At 864, the eUICC 108 responds to the baseband processor 110 with a pending event, such as an active Open Channel command for eSIM A 208A. At 866, the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update of eSIM A 208A, for example, using the BIP protocol for IP sessions. At 868, the baseband processor 110 provides the eUICC 108 with a Terminal Response message for eSIM A 208A, indicating readiness for the OTA update of eSIM A 208A. At 870, the eUICC 108 sends an Active Command message to the baseband processor 110 to transmit the OTA update data for eSIM A 208A. At 872, the baseband processor 110 responds to the eUICC 108 with a terminal response. At 874, the baseband processor 110 receives an SMS message from eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B. Because an active STK session for eSIM A 208A is ongoing, the baseband processor 110 queues the OTA update SMS message for eSIM B 208B for later processing at 876. At 878, the baseband processor 110 continues processing the active STK session for eSIM A 208A by sending an envelope message to the eUICC 108, including a data available indication, for eSIM A 208A. At 880, the eUICC 108 responds with a 91XX message indicating pending events for eSIM A 208A. At 882, the baseband processor 110 sends a Get command to the eUICC 108 to retrieve pending events for eSIM A 208A.At 884, the eUICC 108 sends an active receive data command to the baseband processor 110 for eSIM A 208A. At 886, the baseband processor 110 responds to the eUICC 108 with a terminal response. At 891, the eUICC 108 sends an active close channel command to the baseband processor 110 to end the active STK session for eSIM A 208A. At 892, the baseband processor 110 responds to the eUICC 108 with a terminal response message. At 893, the baseband processor 110 recognizes that the active STK session for eSIM A 208A has completed. At 894, the baseband processor 110 retrieves the previously queued OTA update SMS message for eSIM B 208B and initiates an OTA update for eSIM B 208B by sending a wrapped message including an SMS PP download to the eUICC 108 for eSIM B 208B. At 895, the eUICC 108 responds with a 91XX message indicating pending events for eSIM B 208B. At 897, the baseband processor 110 sends a Get command to retrieve pending events for eSIM B 208B. The eUICC 108 responds with an Active Open Channel command message for eSIM B 208B at 898. At 899, the baseband processor 110 establishes an IP session for the OTA update of eSIM B 208B, for example, using the BIP protocol for IP sessions. The OTA update of eSIM B 208B may then proceed (not shown). By delaying the establishment of the second IP session for the OTA update of eSIM B 208B until the first IP session for the OTA update of eSIM A 208A, the baseband processor 110 avoids conflicts in the communication of data between the two IP sessions.
[0042] Figure 9Flowchart 900 illustrates an exemplary set of actions taken by the baseband processor 110 of a UE 102 to schedule STK communications for multiple eSIMs 208 of the eUICC 108 of the UE 102. At 902, a reset of the eUICC 108 occurs. At 904, the eUICC 108 sends an ATR message indicating that the eUICC 108 is capable of enabling multiple eSIM 208 profiles (supporting MEPs). At 905, the baseband processor 110 determines whether there are pending proactive 91XX commands from the eUICC 108 for the eSIMs 208, indicating a pending event for the eSIMs 208. If there are no pending proactive 91XX commands, the process may terminate. If there are pending proactive 91XX commands indicating a pending event for the eSIMs 208, the baseband processor 110 may determine, at 906, whether there is an ongoing proactive STK session for the eSIMs 208. If there is no ongoing active STK session with the eSIM 208, the baseband processor continues processing at 914 to retrieve pending events for the eSIM 208, for example, by sending a get command to the eUICC 108. At 916, the baseband processor 110 recognizes that an active STK session with the eSIM 208 has begun. After intervening processing (not shown), at 918, the baseband processor 110 recognizes that the active STK session with the eSIM 208 has completed. At 920, the baseband processor 110 determines whether the queue (or message or other indication) of pending actions is empty. If the queue is empty, the process may end. If the queue is not empty, the baseband processor 110 may continue by returning to 905 to determine whether an active 91XX command is pending. If there is an ongoing active STK session with the eSIM 208, as determined at 906, the baseband processor 110 may determine whether there is a critical user request to process that may replace the ongoing active STK session with the eSIM 208. Note that a critical user request may be an action that affects a different eSIM 208 of the eUICC 108, for example, to establish an MO voice call to the second eSIM 208 of the eUICC 108. When the baseband processor 110 determines at 908 that the user request is not critical, for example, not having a high enough priority to supersede the ongoing STK session of the eSIM 208, the baseband processor 110 stores the user request (e.g., an indication of a command associated with the user request) in a pending action queue at 910 for later processing, for example, when the ongoing active STK session of the eSIM 208 ends.When the baseband processor 110 determines at 908 that the user request is critical, e.g., having a high enough priority to supersede the ongoing active STK session of the eSIM 208, the baseband processor 110 terminates the ongoing active STK session of the eSIM 208 at 912, e.g., by sending a "cannot process command" reply message or a comparable termination message to the eUICC 108 to stop the ongoing active STK session of the eSIM 208 and allow the critical user request to be processed. In some embodiments, the active STK session of the eSIM 208 may be restarted after processing the actions associated with the critical user request.
[0043] Figure 10 A flowchart 1000 illustrates an exemplary set of actions performed by an apparatus of a wireless device 102 to perform STK scheduling for multiple eSIMs 208 of an eUICC 108. At 1002, the apparatus receives input to perform an action using a first eSIM 208 of an eUICC 108 of the wireless device 102. At 1004, the apparatus determines whether an active STK session is ongoing for a second eSIM 208 on the eUICC 108. At 1006, when there is no active STK session ongoing for the second eSIM 208, the apparatus performs the action associated with the first eSIM 208. At 1008, when there is an active STK session ongoing for the first eSIM 208, the apparatus determines whether the action has priority to supersede the active STK session of the second eSIM 208. At 1010, when the action does not have priority to supersede, the apparatus adds an entry to a queue to perform the action for the first eSIM 208 after the active STK session of the second eSIM 208 ends. At 1012 , when the action does have override priority, the device sends a message to the eUICC 108 to terminate the ongoing active STK session of the second eSIM 208 , and then performs the action associated with the first eSIM 208 after the active STK session of the second eSIM 208 is terminated.
[0044] Figure 11 A detailed view of a representative computing device 1100 that can be used to implement the various methods described herein is shown in accordance with some embodiments. Specifically, the detailed view shows a computer system that can be included in Figure 1 Various components in UE 102 are shown. Figure 11As shown, computing device 1100 may include a processor 1102, which represents a microprocessor or controller for controlling the overall operation of computing device 1100. Computing device 1100 may also include a user input device 1108 that allows a user of computing device 1100 to interact with computing device 1100. For example, user input device 1108 may take a variety of forms, such as buttons, a keypad, a dial, a touch screen, an audio input interface, a visual / image capture input interface, input in the form of sensor data, and the like. Furthermore, computing device 1100 may include a display 610 that can be controlled by processor 1102 to display information to the user. A data bus 1116 may facilitate data transfer between at least storage device 1140, processor 1102, and controller 1113. Controller 1113 may be used to interact with and control various devices via an equipment control bus 1114. Computing device 1100 may also include a network / bus interface 1111 coupled to a data link 1112. In the case of a wireless connection, the network / bus interface 1111 may include a wireless transceiver.
[0045] The computing device 1100 also includes a storage device 1140 (which may include a single disk or multiple disks, such as a hard drive), and a storage management module that manages one or more partitions within the storage device 1140. In some embodiments, the storage device 1140 may include flash memory, semiconductor (solid-state) memory, or the like. The computing device 1100 may also include random access memory (RAM) 1120 and read-only memory (ROM) 1122. The ROM 1122 may store programs, utilities, or processes to be executed in a non-volatile manner. The RAM 1120 may provide volatile data storage and store instructions related to the operation of the computing device 1100. The computing device 1100 may also include a secure element (SE) 1150, which may represent the eUICC 108 of the UE 102.
[0046] Wireless Technology
[0047] According to various embodiments described herein, the terms "wireless communication device," "wireless device," "mobile device," "mobile station," and "user equipment" (UE) may be used interchangeably herein to describe one or any number of common consumer electronic devices that may be capable of performing the processes associated with various embodiments of the present disclosure. According to various specific implementations, any of these consumer electronic devices may relate to: a cellular phone or smartphone, a tablet computer, a laptop or notebook computer, a media player device, an e-book device, devices, wearable computing devices, and any other type of electronic computing device with fourth generation (4G) Long Term Evolution (LTE) and LTE-Advanced (LTE-A), fifth generation (5G) New Radio (NR), or similar “later generation” cellular wireless access communication capabilities.
[0048] In addition, it should be understood that the UE described herein may be configured as a multi-mode wireless device capable of communicating via traditional third generation (3G) and / or second generation (2G) RATs, in addition to being able to communicate using a 4G wireless network and using one or more different wireless local area networks. The multi-mode UE may include support for communicating according to one or more different wireless communication protocols developed by a standards body, such as the Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), LTE, LTE-A, and 5G NR standards of 3GPP or the CDMA2000 (1xRTT, 2xEV-DO, HRPD, eHRPD) standard of 3GPP2. The multi-mode UE may also support the use of wireless local area network protocols (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX)) and wireless personal area network protocols (e.g., Multiple wireless communication protocols can provide complementary functions and / or different services for multi-mode UE.
[0049] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly stated to users.
[0050] The various aspects, embodiments, specific implementations or features of the embodiments may be used individually or in any combination. In addition, some aspects of the embodiments may be implemented by software, hardware or by a combination of hardware and software. The embodiments may also be implemented as computer program codes stored on a non-transient computer-readable medium. The computer-readable medium may be associated with any data storage device capable of storing data that can be read thereafter by a computer or computer system. Examples of computer-readable media include read-only memories, random access memories, CD-ROMs, solid-state disks (SSDs or flash memories), HDDs, DVDs, magnetic tapes and optical data storage devices. The computer-readable medium may also be distributed on network-coupled computer systems so that the computer program code can be executed in a distributed manner.
[0051] For the purpose of illustration, the foregoing description uses specific nomenclature to provide a thorough understanding of the embodiments. However, it will be apparent to those skilled in the art that some of these specific details are not required to practice the embodiments. Therefore, the above description of specific embodiments herein is presented for the purpose of illustration and description. These descriptions are not intended to be exhaustive, all-inclusive, or to limit the described embodiments to the precise form or details disclosed. It will be apparent to those skilled in the art that, based on the above teachings, many modifications and variations are possible without departing from the spirit and scope of the present disclosure.
Claims
1. An apparatus configured to operate in a wireless device, the apparatus comprising: at least one processor communicatively coupled to a memory storing instructions that, when executed by the at least one processor, cause the apparatus to: receiving input for performing an action associated with a first electronic subscriber identity module (eSIM) on an embedded universal integrated circuit card (eUICC) of the wireless device; determining i) whether an active command for a second eSIM from the eUICC to the device is pending, and ii) whether an active SIM Toolkit (STK) session for the second eSIM on the eUICC is ongoing; When there is no pending active command for the second eSIM, performing the action associated with the first eSIM; When i) a proactive command is pending for the second eSIM and ii) there is an ongoing proactive STK session for the second eSIM: determining whether the action associated with the first eSIM has priority to supersede the ongoing active STK session of the second eSIM; When the action does not take over priority, adding an entry to a queue to perform the action of the first eSIM after the active STK session of the second eSIM is terminated; and When the action in question does have superseding priority: Sending a message to the eUICC to terminate the ongoing active STK session of the second eSIM; as well as performing the action associated with the first eSIM after the active STK session of the second eSIM is terminated; as well as When i) a proactive command is pending for the second eSIM and ii) there is no ongoing proactive STK session for the second eSIM: Retrieve pending proactive commands for the second eSIM from the eUICC; and In response to receiving a pending proactive command for the second eSIM from the eUICC, performing an active STK session for the second eSIM.
2. The device according to claim 1, wherein: Terminating the ongoing active STK session of the second eSIM includes sending an "unable to process command" message to the eUICC.
3. The device according to claim 2, wherein: The action includes activating the first eSIM; The active STK session is associated with enabling the second eSIM; and The action of enabling the first eSIM does not have a superseding priority over enabling the second eSIM.
4. The apparatus of claim 1 , wherein executing the instructions further causes the apparatus to: Determining that the ongoing active STK session has ended; and An action is performed for the first eSIM or the second eSIM based on a next pending entry in the queue.
5. The apparatus according to claim 1, wherein: The action comprises establishing a mobile originated call via the first eSIM; The active STK session is associated with a response refresh command; as well as The action of establishing the mobile originated call via the first eSIM has an override priority over responding to the refresh command.
6. The apparatus of claim 5 , wherein the message sent to the eUICC to terminate the ongoing active STK session of the second eSIM comprises a terminal response message, the terminal response message indicating to the eUICC that the wireless device is busy handling the mobile originated call.
7. The apparatus according to claim 1, wherein: The actions include updating a location area of the first eSIM based on mobility of the wireless device; The active STK session is associated with updating an International Mobile Subscriber Identity (IMSI) value associated with the second eSIM; and The action of updating the location area of the first eSIM does not have a superseding priority over updating the IMSI value of the second eSIM.
8. The apparatus according to claim 1, wherein: The actions include establishing an Internet Protocol (IP) data session for the first eSIM; The active STK session includes an IP data session of the second eSIM; and The action for establishing the IP data session of the first eSIM has no override priority for the IP data session of the second eSIM.
9. The apparatus of claim 1, wherein the apparatus comprises a baseband processor external to the eUICC of the wireless device.
10. A method for performing Subscriber Identity Toolkit (STK) scheduling for a wireless device configured with multiple Electronic Subscriber Identity Module (eSIM) profiles, the method comprising: Through the wireless device's embedded Universal Integrated Circuit Card (eUICC) external baseband processor: receiving input for performing an action associated with a first electronic subscriber identity module, eSIM, on the eUICC of the wireless device; determining i) whether an active command from the eUICC to the baseband processor for a second eSIM is pending, and ii) whether an active STK session for the second eSIM on the eUICC is ongoing; When there is no pending active command for the second eSIM, performing the action associated with the first eSIM; When i) a proactive command is pending for the second eSIM and ii) there is an ongoing proactive STK session for the second eSIM: determining whether the action associated with the first eSIM has priority to supersede the ongoing active STK session of the second eSIM; When the action does not take over priority, adding an entry to a queue to perform the action of the first eSIM after the active STK session of the second eSIM is terminated; and When the action in question does have superseding priority: Sending a message to the eUICC to terminate the ongoing active STK session of the second eSIM; as well as performing the action associated with the first eSIM after the active STK session of the second eSIM is terminated; as well as When i) a proactive command is pending for the second eSIM and ii) there is no ongoing proactive STK session for the second eSIM: Retrieve pending proactive commands for the second eSIM from the eUICC; and In response to receiving a pending proactive command for the second eSIM from the eUICC, performing an active STK session for the second eSIM.
11. The method according to claim 10, wherein: The baseband processor terminates the ongoing active STK session of the second eSIM by at least sending an "unable to process command" message to the eUICC.
12. The method according to claim 10, wherein: The action includes activating the first eSIM; The active STK session is associated with enabling the second eSIM; and The action of enabling the first eSIM does not have a superseding priority over enabling the second eSIM.
13. The method according to claim 10, further comprising: Determining that the ongoing active STK session has ended; as well as An action is performed for the first eSIM or the second eSIM based on a next pending entry in the queue.
14. The method according to claim 10, wherein: The action comprises establishing a mobile originated call via the first eSIM; The active STK session is associated with a response refresh command; and The action of establishing the mobile originated call via the first eSIM has an override priority over responding to the refresh command.
15. The method of claim 14, wherein the message sent to the eUICC to terminate the ongoing active STK session of the second eSIM comprises a terminal response message, the terminal response message indicating to the eUICC that the wireless device is busy processing the mobile originated call.
16. The method of claim 10, wherein: The actions include updating a location area of the first eSIM based on mobility of the wireless device; The active STK session is associated with updating an International Mobile Subscriber Identity (IMSI) value associated with the second eSIM; and The action of updating the location area of the first eSIM does not have a superseding priority over updating the IMSI value of the second eSIM.
17. The method of claim 10, wherein: The actions include establishing an Internet Protocol (IP) data session for the first eSIM; The active STK session includes an IP data session of the second eSIM; and The action for establishing the IP data session of the first eSIM has no override priority for the IP data session of the second eSIM.
18. A non-transitory computer-readable medium storing instructions that configure a wireless device to: receiving input for performing an action associated with a first electronic subscriber identity module (eSIM) on an embedded universal integrated circuit card (eUICC) of the wireless device; determining i) whether an active command from the eUICC to a baseband processor for a second eSIM is pending, and ii) whether an active SIM Toolkit (STK) session for the second eSIM on the eUICC is ongoing; When there is no pending active command for the second eSIM, performing the action associated with the first eSIM; When i) a proactive command is pending for the second eSIM and ii) there is an ongoing proactive STK session for the second eSIM: determining whether the action associated with the first eSIM has priority to supersede the ongoing active STK session of the second eSIM; When the action does not take over priority, adding an entry to a queue to perform the action of the first eSIM after the active STK session of the second eSIM is terminated; and When the action in question does have superseding priority: Sending a message to the eUICC to terminate the ongoing active STK session of the second eSIM; as well as performing the action associated with the first eSIM after the active STK session of the second eSIM is terminated; as well as When i) a proactive command is pending for the second eSIM and ii) there is no ongoing proactive STK session for the second eSIM: Obtaining, from the eUICC, pending proactive commands for the second eSIM; as well as An active STK session of the second eSIM corresponding to the active command for the second eSIM obtained from the eUICC is performed.
19. The non-transitory computer-readable medium of claim 18, wherein the instructions further configure the wireless device to terminate the ongoing active STK session of the second eSIM by at least sending a "Cannot Process Command" message to the eUICC.
20. The non-transitory computer-readable medium of claim 18, wherein: The action includes activating the first eSIM; The active STK session is associated with enabling the second eSIM; and The action of enabling the first eSIM does not have a superseding priority over enabling the second eSIM.
21. The non-transitory computer-readable medium of claim 18, wherein the instructions further configure the wireless device to: Determining that the ongoing active STK session has ended; and An action is performed for the first eSIM or the second eSIM based on a next pending entry in the queue.
22. The non-transitory computer-readable medium of claim 18, wherein: The action comprises establishing a mobile originated call via the first eSIM; The active STK session is associated with a response refresh command; and The action of establishing the mobile originated call via the first eSIM has an override priority over responding to the refresh command.
23. The non-transitory computer-readable medium of claim 22, wherein the message sent to the eUICC to terminate the ongoing active STK session of the second eSIM comprises a terminal response message indicating to the eUICC that the wireless device is busy handling the mobile-originated call.
24. The non-transitory computer-readable medium of claim 18, wherein: The actions include updating a location area of the first eSIM based on mobility of the wireless device; The active STK session is associated with updating an International Mobile Subscriber Identity (IMSI) value associated with the second eSIM; and The action of updating the location area of the first eSIM does not have a superseding priority over updating the IMSI value of the second eSIM.
25. The non-transitory computer readable medium of claim 18, wherein: The actions include establishing an Internet Protocol (IP) data session for the first eSIM; The active STK session includes an IP data session of the second eSIM; and The action for establishing the IP data session of the first eSIM has no override priority for the IP data session of the second eSIM.
Citation Information
Patent Citations
Method and device for accessing data of embedded SIM card
WO2019119544A1