English:
[0001] The described embodiments set forth a technique for supporting the operation of SIM toolkit commands in embedded Universal Integrated Circuit Cards (eUICCs) that manage multiple electronic Subscriber Identity Modules (eSIMs).
[0002] Most mobile devices are configured to receive removable Universal Integrated Circuit Cards (UICCs) that enable the mobile devices to access services provided by mobile network operators (MNOs). In particular, each UICC includes at least a microprocessor and a read-only memory (ROM), where the ROM is configured to store an MNO profile that the mobile device can utilize to register and interact with an MNO. Typically, a UICC takes the form of a small removable card (commonly referred to as a SIM card) that is configured to be inserted (e.g., using a tray) into a UlCC-receiving bay included in a mobile device. In more recent implementations, however, UICCs are being embedded directly into system boards of mobile devices. Notably, these embedded UICCs (eUICCs) can provide several advantages over traditional, removable UICCs. For example, some eUICCs include a rewritable memory that can facilitate eSIM updates for accessing extended features provided by MNOs. eUICCs can also eliminate the need for UlCC-receiving bays within mobile devices. The implementation of eUICCs, therefore, not only increases the flexibility of mobile devices, but also simplifies their design and frees up space for other components.
[0003] The flexibility provided by eUICCs has recently led to efforts to activate two or more eSIMs on a mobile device so that a user can communicate with two or more respective MNOs. Multiple active eSIMs present a problem, however, as SIM toolkit commands (e.g., TERMINAL PROFILE, ENVELOPE, FETCH, TERMINAL RESPONSE, etc.) are configured to be transmitted over a basic channel using a protocol that does not include information for identifying a source or destination associated with each SIM toolkit command. Specifically, the protocol omits this information because conventional techniques involve only a single physical UICC included in a mobile device, and, therefore, the source or destination associated with each SIM toolkit command is inherent. Consequently, when multiple eSIMs are active within an eUICC of a mobile device, there is a need to identify the source eSIM from which a SIM toolkit command issues or the destination eSIM to which a SIM toolkit command is directed.
[0004] Representative embodiments set forth herein disclose various techniques for supplementing SIM toolkit commands with a unique identifier that identifies a particular eSIM from which each standard command originates or to which each standard command is directed. Each SIM toolkit command can be supplemented with the unique identifier using a variety of approaches, e.g., by including a type-length- value (TLV) component having data fields that can be parsed to identify whether a unique eSIM identifier is included with the standard command and to extract the unique eSIM identifier when included. In this manner, multiple eSIMs can be active within a mobile device while enabling eSIM toolkit commands to be properly routed to a corresponding eSIM.
[0005] One embodiment sets forth a method for routing commands to eSIMs managed by an eUICC included in a mobile device. The method includes initialization steps that involve issuing, to the eUICC, a request for an indication of the eSIMs that are managed by the eUICC, and, in response, receiving the indication from the eUICC, where the indication includes, for each eSIM managed by the eUICC, a unique identifier associated with the eSIM. Subsequent to the initialization, the method includes the step of receiving, from an application executing on the mobile device, a request to carry out an action associated with an MNO, where the request is directed to a specific eSIM of the eSIMs managed by the eUICC. In response to receiving the request, the mobile device generates a command associated with the action, where the command includes the unique identifier associated with the specific eSIM. The mobile device then routes the command to the eUICC to cause the specific eSIM to carry out the particular action. This action can include, for example, generating a sequence of instructions to be carried out by a baseband component (e.g., to establish a connection).
[0006] Another embodiment sets forth a method for routing commands to eSIMs managed by an eUICC included in a mobile device. Specifically, the method is carried out by the eUICC, and involves an initialization that includes receiving a request to provide an indication of the eSIMs that are managed by the eUICC, and, in response, providing the indication, where the indication includes unique identifiers for each of the eSIMs that are managed by the eUICC. Subsequent to the initialization, the eUICC can receive, from a requesting entity, a request to generate instructions for carrying out a particular action associated with an MNO, where the request includes a unique identifier of a specific eSIM managed by the eUICC to which the request is directed. In response, the eUICC directs the request to the specific eSIM, and, in turn, the eUICC receives, from the specific eSIM, a set of instructions for carrying out the particular action. Finally, the eUICC provides the instructions to the requesting entity— such as a baseband component included in the mobile device— whereupon the baseband component can execute the instructions to perform a particular action (e.g., send a message).
[0007] Another embodiment sets forth a mobile device that comprises an eUICC, a baseband component, a processor, and at least one memory. Specifically, the at least one memory is configured to store instructions that, when executed by the processor, cause the mobile device to carry out steps that include an initialization step. In particular, the initialization step involves exchanging capability information between the eUICC and the baseband component, where the capability information indicates that each of the eUICC and the baseband component are capable of simultaneously managing two or more eSIMs. The steps also include updating a configuration of both the eUICC and the baseband component to cause each command issued between the eUICC and the baseband component to include a unique identifier of a particular eSIM to which the command is directed.
[0008] Yet another embodiment of the invention sets forth a non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in a mobile device, cause the mobile device to carry out the various techniques set forth herein.
[0009] This Summary is provided merely for purposes of summarizing some example embodiments so as to provide a basic understanding of some aspects of the subject matter described herein. Accordingly, it will be appreciated that the above- described features are merely examples and should not be construed to narrow the scope or spirit 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, Figures, and Claims.
[0011] The included drawings are for illustrative purposes and serve only to provide examples of possible structures and arrangements for the disclosed inventive apparatuses and methods 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 one 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 in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
[0012] FIG. 1 illustrates a block diagram of different components of a system configured to implement the various techniques described herein, according to some embodiments.
[0013] FIG. 2 illustrates a block diagram of a more detailed view of particular components of the system of FIG. 1, according to some embodiments.
[0014] FIG. 3 illustrates a sequence diagram of a method for enabling a baseband component of the mobile device of FIG. 1 to exchange eSIM capability information with an eUICC component of the mobile device of FIG. 1, according to some embodiments.
[0015] FIGS. 4A-4B illustrate conceptual diagrams that set forth example structures for tables and commands that can be used to implement the various techniques described herein, according to one embodiment.
[0016] FIG. 5 illustrates a conceptual diagram of an example sequence that involves enabling a user to select from two or more MNOs when placing a phone call using the mobile device of FIG. 1, according to one embodiment.
[0017] FIG. 6 illustrates a method that is carried out by the baseband component of the mobile device of FIG. 1 and involves interfacing with the eUICC component of the mobile device of FIG. 1, according to one embodiment.
[0018] FIG. 7 illustrates a method that is carried out by the eUICC component of the mobile device of FIG. 1 and involves interfacing with the baseband component of the mobile device of FIG. 1, according to one embodiment.
[0019] FIG. 8 illustrates a detailed view of a computing device that can be used to implement the various components described herein, according to some embodiments.
[0020] Representative applications of apparatuses and methods according to the presently described embodiments are provided in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the presently described embodiments can be practiced without some or all of these specific details. In other instances, well known process steps have not been 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 taken as limiting.
[0021] Recent advances have led to the demand for mobile devices that are capable of managing two or more eSIMs to provide increased connectivity flexibility to users, e.g., enabling users to receive / transmit communications over two or more respective MNO operators. Providing this flexibility, however, presents several challenges given that conventional architectures were designed to support only a single active SIM within a mobile device. In particular, SIM toolkit commands, which carry out the basic functionality expected to be provided by mobile devices— such as making phone calls— are designed to be transmitted over a basic channel using a protocol that does not identify a particular eSIM with which the SIM toolkit command is associated. Consequently, routing issues occur when SIM toolkit commands are issued within a mobile device that includes two or more active eSIMs.
[0022] Accordingly, the embodiments set forth herein provide various techniques for enabling SIM toolkit commands to be properly routed within a mobile device when two or more eSIMs are active within the mobile device. To achieve these techniques, one embodiment of the invention involves a baseband component of a mobile device and an eUICC of the mobile device exchanging information about their eSIM capabilities— e.g., whether or not two or more eSIMs can be activated. This exchange of information can occur, for example, during an initialization of the mobile device, when a change occurs to the eSIMs managed by the eUICC (e.g., when a new eSIM is downloaded, when a removable UICC is inserted into a receiving bay included in the mobile device, etc.). During this exchange of information, the baseband component / eUICC can indicate to the eUICC / baseband component a capability to manage two or more active eSIMs. Assuming that this indication takes place during the exchange of the information, the eUICC can generate a list of unique identifiers of eSIMs that are managed by the eUICC and provide the list to the baseband component. In turn, the baseband component can update a configuration to manage the list of unique identifiers.
[0023] According to the foregoing approach, the baseband component and the eUICC, when generating SIM toolkit commands directed toward one another, can supplement each SIM toolkit command with a unique identifier that identifies a particular eSIM with which the SIM toolkit command is associated. One embodiment involves supplementing each SIM toolkit command with a TLV component that is configured to carry a unique identifier of a particular eSIM that is associated with the SIM toolkit command, where the TLV is a packet of data that indicates a "Type" field, a "Length" field, and a "Value" field. Specifically, the "Type" field of the TLV can indicate that the TLV represents a unique identifier for an eSIM, e.g., "eSIM ID", the "Length" field of the TLV can indicate the overall length of the unique identifier, e.g., 8-bytes, and the "Value" field of the TLV can store the unique identifier, e.g., "eSIM A". In this manner, each SIM toolkit command (e.g., "FETCH") issued within the mobile device is supplemented with associated eSIM information that enables the SIM toolkit command to be properly routed within the mobile device.
[0024] Accordingly, the foregoing approaches provide techniques for enabling components within a mobile device— such as a baseband component and an eUICC— to determine whether multi-eSIM capabilities are available, and to correspondingly update their configurations using the techniques set forth above. These approaches provide the non-obvious advantage of enabling mobile devices to provide extended features to users while remaining backward compatible with legacy approaches. A more detailed discussion of these techniques is set forth below and described in conjunction with FIGS. 1-8, which illustrate detailed diagrams of systems and methods that can be used to implement these techniques.
[0025] In accordance with 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 more common consumer electronic devices that may be capable of performing procedures associated with various embodiments of the disclosure. In accordance with various implementations, any one of these consumer electronic devices may relate to: a cellular phone or a smart phone, a tablet computer, a laptop computer, a notebook computer, a personal computer, a netbook computer, a media player device, an electronic book device, a MiFi® device, a wearable computing device, as well as any other type of electronic computing device having wireless communication capability that can include communication via one or more wireless communication protocols such as used for communication on: a wireless wide area network (WW AN), a wireless metro area network (WMAN) a wireless local area network (WLAN), a wireless personal area network (WPAN), a near field communication (NFC), a cellular wireless network, a fourth generation (4G) LTE, LTE Advanced (LTE-A), and/or 5G or other present or future developed advanced cellular wireless networks. The wireless communication device, in some embodiments, can also operate as part of a wireless communication system, which can include a set of client devices, which can also be referred to as stations, client wireless devices, or client wireless communication devices, interconnected to an access point (AP), e.g., as part of a WLAN, and/or to each other, e.g., as part of a WPAN and/or an "ad hoc" wireless network. In some embodiments, the client device can be any wireless communication device that is capable of communicating via a WLAN technology, e.g., in accordance with a wireless local area network communication protocol. In some embodiments, the WLAN technology can include a Wi-Fi (or more generically a WLAN) wireless communication subsystem or radio, the Wi-Fi radio can implement an Institute of Electrical and Electronics Engineers (IEEE) 802.11 technology, such as one or more of: IEEE 802.11a; IEEE 802.11b; IEEE 802.1 lg; IEEE 802.11-2007; IEEE 802.11η; IEEE 802.11-2012; IEEE 802.1 lac; or other present or future developed IEEE 802.11 technologies.
[0026] FIG. 1 illustrates a block diagram of different components of a system 100 that is configured to implement the various techniques described herein, according to some embodiments. More specifically, FIG. 1 illustrates a high-level overview of the system 100, which, as shown, includes a mobile device 102 and a group of base stations 112 that are managed by different MNOs 114. According the illustration of FIG. 1, the mobile device 102 can represent a mobile computing device (e.g., an iPhone® or an iPad® by Apple®), the base stations 112 can represent different radio towers that are configured to communicate with the mobile device 102, and the MNOs 114 can represent different wireless service providers that provide specific services (e.g., voice and data) to which the mobile device 102 can be subscribed.
[0027] As shown in FIG. 1, the mobile device 102 can include a processor 104, a memory 106, an eUICC 108, and a baseband component 110. These components work in conjunction to enable the mobile device 102 to provide useful features to a user of the mobile device 102, such as localized computing, location based services, and Internet connectivity. As described in greater detail below, the eUICC 108 can be configured to store multiple eSIMs for accessing the different MNOs 114 through the base stations 112. For example, the eUICC 108 can be configured to store an eSIM for each MNO 114 to which mobile device 102 is subscribed, and to enable two or more of the eSIMs to be active within the mobile device 102 so that the mobile device 102 can simultaneously access the different services provided by the MNOs 114. Although not illustrated in FIG. 1, the mobile device 102 can also be configured to include a receiving bay for receiving a removable UICC (e.g., using a tray that houses the removable UICC and is formatted for the bay), where the UICC manages one or more SIMs. In this manner, the mobile device 102 can be further configured to provide the benefit of multi-MNO connectivity using a variety approaches, e.g., activating one eSIM managed by the eUICC 108 to connect to a first MNO 114 and activating another SIM managed by a removable UICC to connect to a second MNO 114.
[0028] FIG. 2 illustrates a block diagram of a more detailed view 200 of particular components of the mobile device 102 of FIG. 1, according to some embodiments. As shown in FIG. 2, the processor 104, in conjunction with the memory 106, can implement a main operating system (OS) 202 that is configured to execute applications 204 (e.g., native OS applications and user applications). As also shown in FIG. 2, the eUICC 108 can 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 a memory). The eUICC OS 206 can also be configured to manage eSIMs 208 that are stored by the eUICC 108, e.g., by activating the eSIMs 208 within the eUICC 108 and providing the baseband component 110 with access to the eSIMs 208. According to the illustration shown in FIG. 2, each eSIM 208 can be associated with a unique identifier 210 and can include multiple 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 component 110 and the eUICC 108, can be configured to enable the mobile device 102 to communicate with an MNO 114 and provide useful features (e.g., phone calls and internet) to a user of the mobile device 102.
[0029] As also shown in FIG. 2, the baseband component 110 of the mobile device 102 can include a baseband OS 214 that is configured to manage the hardware resources of the baseband component 1 10 (e.g., a processor, a memory, different radio components, etc.). According to one embodiment, the baseband component 110 can implement a manager 216 that is configured to interface with the eUICC 108 to implement the various techniques described herein, which include exchanging eSIM capability information with the eUICC OS 206 and managing a list of unique identifiers 210 when the eUICC 108 manages two or more eSIMs 208. As also shown in FIG. 2, the manager 216 can be configured to implement services 218, which represents a collection of software modules that are instantiated by way of the various applets 212 of activated eSIMs 208 that are included in the eUICC 108. For example, services 218 can be configured to manage the different connections that exist between the mobile device 102 and the MNOs 114 according to the different eSIMs 208 that are activated.
[0030] FIG. 3 illustrates a sequence diagram of a method 300 for enabling the baseband component 110 to exchange eSIM capability information with the eUICC 108, according to some embodiments. As shown, the method 300 begins at step 302, where the baseband component 110 issues to the eUICC 108 a request for an indication of eSIM capabilities. Alternatively, step 302 can involve the eUICC 108 issuing to the baseband component 110 a request for an indication of eSIM capabilities, such that step 302 represents an initial request to exchange information between the eUICC 108 and the baseband component 110. At step 304, the eUICC 108, in response to the request received from the baseband component 110, indicates single-eSIM or multi-eSIM capabilities to the baseband component 110. When the eUICC 108 stores only a single eSIM 208— or, when only a single eSIM 208 is active within the eUICC 108— a transfer of the unique identifier 210 associated with the eSIM 208 is not necessary. Assuming, however, that the eUICC 108 indicates multi- eSIM capabilities, the eUICC 108, at step 304, shares unique identifiers 210 for each of the eSIMs 208 managed by the eUICC 108. In some cases, the eUICC 108 can choose to only share unique identifiers 210 for eSIMs 208 that are activated within the eUICC 108, since, in most cases, SIM toolkit commands would not be routed to deactivated eSIMs 208 managed by the eUICC 108.
[0031] At step 306, the baseband component 110 responds to the indication made by the eUICC 108 by updating a configuration of the services 218 to reflect the eSIM capabilities of the eUICC 108. The baseband component 110 also stores the unique identifiers 210 received from the eUICC 108 (when multi-eSIM capabilities are indicated by the eUICC 108). Accordingly, at the completion of step 306, each of the baseband component 110 and the eUICC 108 are aligned with one another and capable of supplementing SIM toolkit commands with unique identifiers 210 when necessary.
[0032] Steps 308-318 represent a series of steps that can occur when two or more eSIMs 208 are active within the mobile device 102. A procedure for establishing two or more active eSIMs 208 can involve, for example, opening different channels between the baseband component 110 and the eUICC 108, and, for each opened channel, selecting a different eSIM 208 to activate on the channel. Subsequently, and as described in greater detail below in conjunction with steps 308-312— as well as FIGS. 4A-4B— communication between the eUICC 108 and the baseband component 110 that regards, for example, a particular eSIM 208, can be carried out over a basic channel (e.g., channel 0) by including information (e.g., via a TLV component) that references the particular eSIM 208.
[0033] In accordance with this example, steps 308-312 set forth a sequence where an application 204 executing on the mobile device 102 requests to perform an action associated with an MNO using a specific eSIM 208 of the two or more eSIMs 208. As shown in FIG. 3, the sequence of steps begins at step 308, where the application 204 executing on the mobile device 102— such as a native phone application— issues a request to the baseband component 110 to perform an action (e.g., placing a phone call) using a particular eSIM 208 managed by the eUICC 108. In some cases, the request issued by the application 204 can include information that identifies the particular eSIM 208 that should be used to carry out the action. For example, if the action involves placing a phone call, a user of the mobile device 102 can be prompted to select from a list of active eSIMs 208 through which he or she would like to place the phone call. An example of this selection process is illustrated in FIG. 5 and is discussed below in greater detail.
[0034] At step 310, the baseband component 110 receives the request from the application 204, and, in response, the baseband component 110 generates a request for instructions to carry out the action. Next, at step 312, the baseband component 110 identifies the particular eSIM 208 to which the request for instructions is directed, and accordingly supplements request with the unique identifier 210 for the particular eSIM 208. Again, the unique identifier 210 is made available to the baseband component 110 through steps 302-306, which involve sharing eSIM capability information and transferring unique identifiers 210 for eSIMs 208.
[0035] At step 314, the eUICC 108 receives the request for instructions, and, in response, the eUICC 108 identifies, using the unique identifier 210 included in the request for instructions, the particular eSIM 208 to which the request for instructions is directed. At step 316, the application 204 generates the instructions according to the particular eSIM 208. This can involve, for example, passing the request to the particular eSIM 208 within the eUICC 108, whereupon the eSIM 208 generates instructions that are compatible with an MNO 114 through which the action to be performed (as requested at step 308) will be carried out. Finally, at step 318, the baseband component 110 receives the generated instructions from the eUICC 108, and carries out the action based on the generated instructions.
[0036] FIGS. 4A-4B illustrate conceptual diagrams that set forth example structures for tables and commands that can be used to implement the various techniques described herein, according to one embodiment. Specifically, FIG. 4A illustrates a conceptual diagram 400 that includes a command parameter table 402, which, as shown, includes an example set of commands that can be used to cause the mobile device 102 to carry out different actions. In particular, the commands can be issued by the baseband component 110 to a particular eSIM 208 included in the eUICC 108 in order to generate instructions to carry out a particular action. As shown in FIG. 4A, each command in the command parameter table 402 is associated with a name, a value, and a description that define the nature of the command and enable the command to be packaged into a TLV component. FIG. 4A also illustrates an active eSIM table 404 that can be used to manage the unique identifiers 210 for eSIMs 208 that are managed by the eUICC 108. For example, the active eSIM table 404 shown in FIG. 4A includes entries for three different eSIMs 208 that are managed by the eUICC 108. In particular, the active eSIM table 404 includes an entry for a first eSIM 208 whose unique identifier 210 is "DI8R78YI", an entry for a second eSIM 208 whose unique identifier 210 is "H93GJK3E", and an entry for a third eSIM 208 whose unique identifier 210 is "UJ38KDIL".
[0037] FIG. 4B illustrates a conceptual diagram 450 that includes various examples of commands that can be issued from the baseband component 110 to the eUICC 108 using TLV components, according to one embodiment. Specifically, example 460 involves establishing a command to initiate an outgoing phone call to the phone number "1-222-333-4444" with no eSIM specified, which indicates to the eUICC 108 that a default eSIM 208 should be selected to place the outgoing phone call. In general, and as previously set forth herein, this scenario can exist when the eUICC 108 stores only a single eSIM 208, or when only a single eSIM 208 is active within the eUICC 108. As shown, the command can established using a TLV 462 and a TLV 464 whose data fields collectively make up the command. Example 470 involves a command for initiating an outgoing phone call to the phone number "5- 666-777-8888" using the second eSIM 208 included in the active SIM table 404, where the unique identifier 210 associated with the second eSIM 208 is "H93GJK3E". As shown, the command can established using a TLV 472, a TLV 474, and a TLV 476 whose data fields collectively make up the command. Finally example 480 involves a command for initiating an outgoing phone call to the phone number "9-000-111-2222" using the first eSIM 208 included in the active SIM table 404, where the unique identifier 210 associated with the first eSIM 208 is "DI8R78YI". As shown, the command can be established using a TLV 478, a TLV 480, and a TLV 482 whose data fields collectively make up the command.
[0038] FIG. 5 illustrates a conceptual diagram 500 of an example sequence that involves enabling a user to select from two or more MNOs 114 when placing a phone call using his or her mobile device 102, according to one embodiment. The user interfaces illustrated in FIG. 5 can be generated by an application 204 executing on the mobile device 102. A first step of the sequence involves receiving from the user a selection of a phone number to contact. A second step of the sequence involves identifying the active eSIMs 208 managed by the eUICC 108 and presenting a list of MNOs 114 associated with the active eSIMs 208 to the user for selection. A third step of the sequence involves receiving a selection of one of the MNOs 114 and carrying out the appropriate steps described herein— such as in steps 308-318 of FIG. 3— to enable the phone call to take place through the selected MNO 114.
[0039] FIG. 6 illustrates a method 600 that is carried out by the baseband component 110 of FIG. 1 and involves interfacing with the eUICC 108 of FIG. 1, according to one embodiment. As shown, the method 600 begins at step 602, where the manager 216 of the baseband component 110 issues, to the eUICC OS 206, a request for an indication of eSIMs 208 that are managed by the eUICC 108. At step 604, the manager 216 receives, from the eUICC OS 206, an indication of the eSIMs 208 managed by the eUICC 108. At step 606, the manager 216 determines whether a request is received from an application 204 to perform an eSIM-based action. If, at step 606, the manager 216 determines that a request is received from an application 204 to perform an eSIM-based action, then the method 600 proceeds to step 608. Otherwise, the method 600 repeats at step 606 until a request is received from an application 204 to perform an eSIM-based action.
[0040] At step 608, the manager 216 generates a request for instructions to carry out the eSIM-based action, where the request is directed to the eUICC OS 206 of the eUICC 108. At step 610, the manager 216 determines whether the request references a specific eSIM 208 managed by the eUICC 108. If, at step 610, the manager 216 determines that request references a specific eSIM 208 managed by the eUICC 108, then the method 600 proceeds to step 612. Otherwise, the method 600 proceeds to step 614, where the manager 216 issues the request (without information that identifies an eSIM 208) to the eUICC OS 206 of the eUICC 108. At step 612, the manager 216 supplements the request with information that identifies the specific eSIM 208. At step 616, the manager 216 receives, from the eUICC OS 206 of the eUICC 108, the requested instructions for carrying out the eSIM-based action. Finally, at step 618, the manager 216 executes the instructions to carry out the eSIM- based action, and the method 600 returns back to step 606 where additional requests can be processed.
[0041] FIG. 7 illustrates a method 700 that is carried out by the eUICC 108 of FIG. 1 and involves interfacing with the baseband component 110 of FIG. 1, according to one embodiment. As shown, the method 700 begins at step 702, where the eUICC OS 206 receives, from the baseband component 110, a request for an indication of eSIMs 208 that are managed by the eUICC 108. At step 704, the eUICC OS 206 provides, to the baseband componentl 10, an indication of the managed eSIMs 208. At step 706, the eUICC OS 206 determines whether a request is received from the baseband component 110 to generate instructions for carrying out an eSIM-based action. If, at step 706, the eUICC OS 206 determines that a request is received from the baseband component 110 to generate instructions for carrying out an eSIM-based action, then the method 700 proceeds to step 708. Otherwise, the method 700 repeats at step 706 until a request is received from the baseband component 110 to generate instructions for carrying out an eSIM-based action.
[0042] At step 708, the eUICC OS 206 determines whether the request received at step 706 includes information that identifies a specific eSIM 208 that is managed by the eUICC 108. If, at step 708, the eUICC OS 206 determines that the request does not include information that identifies a specific eSIM 208, then the method 700 proceeds to step 710. At step 710, the eUICC OS 206 directs the request to a default eSIM 208, where the request causes the default eSIM 208 to generate the instructions for carrying out the eSIM-based action. These instructions are then provided back to the baseband component 110 at step 714, and the method 700 returns to step 706 where additional requests can be processed. If, however, at step 708, the eUICC OS 206 determines that the request includes information that identifies a specific eSIM 208 the eUICC OS 206, then the method 700 proceeds to step 712. At step 712, the eUICC OS 206 directs the request to the specific eSIM 208, where the request causes the specific eSIM to generate instructions for carrying out the eSIM-based action. These instructions are then provided back to the baseband component 110 at step 714, and the method 700 returns to step 706 where additional requests can be processed. It is noted that, in some cases, it can be beneficial or necessary for the eUICC OS 206 to, when communicating with the baseband component 110, include TLV components that specifically reference particular eSIMs 208. Accordingly, when the eUICC OS 206 identifies a scenario where inclusion of information associated with a particular eSIM 208 is appropriate, the eUICC OS 206 can supplement a command with a TLV component that references the particular eSIM 208. In turn, the baseband component 110 can analyze the TLV component included the command and carry out a response in accordance with the command.
[0043] Although the techniques described herein primarily involve communication between the eUICC 108 and the baseband component 110, it is noted that these techniques can be applied to other scenarios that involve communication between other hardware/software components that are auxiliary to the eUICC 108 and the baseband component 110. For example, the eUICC 108 can be configured to communicate with a base station 112 / MNO 114 via specialized interfaces that logically bypass the baseband component 110. More specifically, and according to this example, TLV components can be communicated between the eUICC 108 and the base station 112 / MNO 114 without requiring specialized handling of the TLV components by the baseband component 110.
[0044] FIG. 8 illustrates a detailed view of a computing device 800 that can be used to implement the various components described herein, according to some embodiments. In particular, the detailed view illustrates various components that can be included in the mobile device 102 illustrated in FIG. 1. As shown in FIG. 8, the computing device 800 can include a processor 802 that represents a microprocessor or controller for controlling the overall operation of computing device 800. The computing device 800 can also include a user input device 808 that allows a user of the computing device 800 to interact with the computing device 800. For example, the user input device 808 can take a variety of forms, such as a button, keypad, dial, touch screen, audio input interface, visual/image capture input interface, input in the form of sensor data, etc. Still further, the computing device 800 can include a display 810 (screen display) that can be controlled by the processor 802 to display information to the user. A data bus 816 can facilitate data transfer between at least a storage device 840, the processor 802, and a controller 813. The controller 813 can be used to interface with and control different equipment through and equipment control bus 814. The computing device 800 can also include a network/bus interface 811 that couples to a data link 812. In the case of a wireless connection, the network/bus interface 811 can include a wireless transceiver.
[0045] The computing device 800 also include a storage device 840, which can comprise a single disk or a plurality of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within the storage device 840. In some embodiments, storage device 840 can include flash memory, semiconductor (solid state) memory or the like. The computing device 800 can also include a Random Access Memory (RAM) 820 and a Read-Only Memory (ROM) 822. The ROM 822 can store programs, utilities or processes to be executed in a nonvolatile manner. The RAM 820 can provide volatile data storage, and stores instructions related to the operation of the computing device 800. The computing device 800 can further include a secure element 850, which can represent the eUICC 108 illustrated in FIGS. 1-2 and described in detail herein.
[0046] The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, hard disk drives, solid state drives, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
[0047] The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.

中文:
[0001]所描述的实施方案阐述了用于支持位于管理多个电子用户身份模块(eSIM)的嵌入式通用集成电路卡(eUICC)中的SIM工具包命令的操作的技术。
[0002]大多数移动设备被配置为接收可移除的通用集成电路卡(UICC),UICC使得移动设备能够访问由移动网络运营商(MNO)提供的服务。具体地,每个UICC包括至少微处理器和只读存储器(ROM),其中ROM被配置为存储MNO配置文件,移动设备可使用此MNO配置文件来注册到MNO并与MNO交互。通常,UICC采用小型可移除卡(通常称为SIM卡)的形式,该SIM卡被配置为(例如使用托盘)插入到包括在移动设备中的UICC接收区中。然而,在最近的具体实施中,将UICC直接嵌入到移动设备的系统板中。值得注意的是,这些嵌入式UICC(eUICC)可提供优于传统的可移除UICC的若干优点。例如,一些eUICC包括可重写存储器,该可重写存储器可促进eSIM更新以访问由MNO提供的扩展特性。eUICC还可消除对移动设备内的UICC接收区的需要。因此,eUICC的实施不仅增加了移动设备的灵活性,而且简化了其设计并为其他部件的空出了空间。
[0003]eUICC提供的灵活性如今已使得试图在移动设备上激活两个或更多个eSIM,使得用户可与两个或更多个相应的MNO进行通信。然而,因为SIM工具包命令(例如TERMINALPROFILE、ENVELOPE、FETCH、TERMINAL RESPONSE等)被配置为使用不包括用于识别与每个SIM工具包命令相关联的源或目的地的信息的协议在基本信道上进行传输,所以多个活动eSIM将存在问题。具体地讲,因为常规技术仅涉及包括在移动设备中的单个物理UICC,所述协议省略了此信息,并且因此与每个SIM工具包命令相关联的源或目的地是固有的。因此,当多个eSIM在移动设备的eUICC内激活时,需要识别从中下发SIM工具包命令的源eSIM或者SIM工具包命令被定向至的目的地eSIM。
[0004]本文阐述的代表性实施方案公开了用唯一标识符来补充SIM工具包命令的各种技术,该唯一标识符识别每个标准命令源自于的特定eSIM或每个标准命令被定向至的特定eSIM。可使用各种方法用唯一标识符来补充每个SIM工具包命令,例如通过包括具有数据字段的类型长度值(TLV)分量,其中可对数据字段进行解析以识别唯一的eSIM标识符是否包括在标准命令中并且在被包括时提取唯一的eSIM标识符。这样,多个eSIM可在移动设备内激活,同时使得eSIM工具包命令被正确地路由到相应的eSIM。
[0005]一个实施方案阐述了一种用于将命令路由到由包括在移动设备中的eUICC管理的eSIM的方法。该方法包括初始化步骤,该初始化步骤涉及向eUICC下发对由eUICC管理的eSIM的指示的请求,并且作为响应,从eUICC接收指示,其中对于由eUICC管理的每个eSIM,该指示包括与eSIM相关联的唯一标识符。在初始化之后,该方法包括从在移动设备上执行的应用程序接收执行与MNO相关联的动作的请求的步骤,其中该请求被定向至由eUICC管理的eSIM中的特定eSIM。响应于接收到请求,移动设备生成与该动作相关联的命令,其中该命令包括与特定eSIM相关联的唯一标识符。然后,移动设备将此命令路由到eUICC,以使特定eSIM执行特定动作。该动作可包括例如生成要由基带部件执行(例如以建立连接)的指令序列。
[0006]另一个实施方案阐述了一种用于将命令路由到由包括在移动设备中的eUICC管理的eSIM的方法。具体地讲,该方法由eUICC执行,并且涉及初始化,该初始化包括:接收提供由eUICC管理的eSIM的指示的请求,并且作为响应,提供该指示,其中该指示包括用于由eUICC管理的每个eSIM的唯一标识符。在初始化之后,eUICC可从请求实体接收生成用于执行与MNO相关联的特定动作的指令的请求,其中该请求包括请求被定向至的由eUICC管理的特定eSIM的唯一标识符。作为响应,eUICC将请求定向至特定eSIM,继而,eUICC从该特定eSIM接收用于执行所述特定动作的指令集。最后,eUICC向请求实体(例如包括在移动设备中的基带部件)提供指令,于是基带部件可执行指令来执行特定动作(例如发送消息)。
[0007]另一个实施方案阐述了一种移动设备,该移动设备包括eUICC、基带部件、处理器和至少一个存储器。具体地讲,至少一个存储器被配置为存储指令,所述指令在由处理器执行时,使得移动设备执行包括初始化步骤的多个步骤。具体地讲,初始化步骤包括在eUICC和基带部件之间交换能力信息,其中能力信息指示eUICC和基带部件中的每一个能够同时管理两个或更多个eSIM。所述多个步骤还包括:更新eUICC和基带部件两者的配置,以使得在eUICC和基带部件之间下发的每个命令包括该命令被定向至的特定eSIM的唯一标识符。
[0008]本发明的又一个实施方案阐述了一种被配置为存储指令的非暂态计算机可读存储介质,所述指令在由包括在移动设备中的处理器执行时,使得移动设备执行本文所阐述的各种技术。
[0009]提供所述发明内容仅仅是为了概述一些示例性实施例,以便提供对本文所述主题的一些方面的基本了解。因此,应当理解,上文所述的特征结构仅为实例并且不应理解为以任何方式缩小本文所述主题的范围或实质。本文所述主题的其他特征、方面和优点将根据以下具体实施方式、附图和权利要求书而变得显而易见。
[0011]所包括的附图是为了进行示意性的说明,并且仅用于提供本发明所公开的用于提供无线计算设备的装置和方法的可能结构和布置方式的实施例。这些附图决不限制本领域技术人员在不脱离实施方案的实质和范围的前提下可对实施方案进行的在形式和细节方面的任何更改。所述实施方案通过下面结合附图的具体描述将更易于理解,其中类似的附图标记表示类似的结构元件。
[0012]图1示出了根据一些实施方案的被配置为实现本文所述各种技术的系统的不同部件的框图。
[0013]图2示出了根据一些实施方案的图1的系统的特定部件的更详细视图的框图。
[0014]图3示出了根据一些实施方案的用于使图1的移动设备的基带部件能够与图1的移动设备的eUICC部件交换eSIM能力信息的方法的序列图。
[0015]图4A至图4B示出了根据一个实施方案的概念图,其示出可用于实现本文所述各种技术的表和命令的示例性结构。
[0016]图5示出了根据一个实施方案的示例性序列的概念图,该序列涉及使用户能够在使用图1的移动设备进行电话呼叫时从两个或更多个MNO中进行选择。
[0017]图6示出了根据一个实施方案的一种方法,其由图1的移动设备的基带部件执行并且涉及与图1的移动设备的eUICC部件对接。
[0018]图7示出了根据一个实施方案的一种方法,其由图1的移动设备的eUICC部件执行并且涉及与图1的移动设备的基带部件对接。
[0019]图8示出了根据一些实施方案的可用于实现本文所述各种部件的计算设备的详细视图。
[0020]在此部分中提供了根据本发明所述的实施方案的装置和方法的代表性应用。提供这些实例仅是为了添加上下文并有助于理解所述实施方案。对于本领域的技术人员因此将显而易见的是,本发明所述的实施方案可在不具有这些具体细节中的一些或全部的情况下实施。在其他情况下,未详细描述所熟知的工艺步骤以便避免不必要地模糊本发明所述的实施方案。其它应用也是可能的,使得以下实例不应视为是限制性的。
[0021]最近的进展已引起对能够管理两个或更多个eSIM以向用户提供增强的连接灵活性(例如,使得用户能够通过两个或更多个相应MNO运营商接收/传输通信)的移动设备的需求。然而,由于常规架构被设计为仅支持移动设备内的单个活动SIM,所以提供这种灵活性提出了若干挑战。具体地讲,执行预期由移动设备提供的基本功能(例如进行电话呼叫)的SIM工具包命令被设计为使用一种不对SIM工具包命令所关联的特定eSIM进行标识的协议在基本信道上进行传输。因此,当在包括两个或更多个活动eSIM的移动设备内下发SIM工具包命令时,会发生路由问题。
[0022]因此,本文阐述的实施方案提供了用于使得当移动设备内有两个或更多个eSIM激活时能够在移动设备内正确地路由SIM工具包命令的各种技术。为了实现这些技术,本发明的一个实施方案涉及移动设备的基带部件与移动设备的eUICC交换关于其eSIM能力(例如是否可激活两个或更多个eSIM)的信息。这种信息交换可发生在例如移动设备的初始化期间、当由eUICC管理的eSIM发生改变时(例如当下载新的eSIM时,当可移除UICC被插入到包括在移动设备中的接收区中时等)。在该信息交换期间,基带部件可向eUICC指示或者基带部件可向eUICC指示管理两个或更多个活动eSIM的能力。假设该指示在信息交换期间发生,则eUICC可生成由eUICC管理的eSIM的唯一标识符的列表并将该列表提供给基带部件。继而,基带部件可更新配置以管理此唯一标识符列表。
[0023]根据前述方法,当生成定向至彼此的SIM工具包命令时,基带部件和eUICC可用唯一标识符来补充每个SIM工具包命令,该唯一标识符标识与SIM工具包命令相关联的特定eSIM。一个实施方案涉及用TLV分量补充每个SIM工具包命令,该TLV分量被配置为携带与SIM工具包命令相关联的特定eSIM的唯一标识符,其中TLV是指示“类型”字段、“长度”字段和“值”字段的数据包。具体地讲,TLV的“类型”字段可指示TLV表示eSIM的唯一标识符,例如“eSIM ID”;TLV的“长度”字段可指示唯一标识符的总长度,例如8字节;TLV的“值”字段可存储唯一标识符,例如“eSIM_A”。这样,用使得SIM工具包命令能够在移动设备内正确地路由的相关eSIM信息来补充在移动设备内下发的每个SIM工具包命令(例如“FETCH”)。
[0024]因此,前述方法提供了用于使移动设备内的部件(例如基带部件和eUICC)能够使用上文所阐述的技术来确定多eSIM能力是否可用以及相应地更新其配置的技术。这些方法提供了并非显而易见的优点,即使得移动设备能够向用户提供扩展的特性,同时保持与传统方法的向后兼容。下面结合图1至图8阐述和描述对这些技术的更详细讨论,这些附图示出了可用于实现这些技术的系统和方法的详细图。
[0025]根据本文所述的各种实施方案,术语“无线通信设备”、“无线设备”、“移动设备”、“移动站”和“用户设备”(UE)在本文中可互换地用于描述能够执行与本公开的各实施方案相关联的过程的一个或多个常见消费电子设备。根据各种实施方案,这些消费电子设备中的任一个可涉及:蜂窝电话或智能电话、平板电脑、膝上型计算机、笔记本电脑、个人计算机、上网本计算机、媒体播放器设备、电子书设备、设备、可穿戴计算设备、以及具有无线通信能力的任何其他类型的电子计算设备,所述无线通信能力可包括经由一个或多个无线通信协议进行通信,例如用于在以下各项上通信:无线广域网(WWAN)、无线城域网(WMAN)、无线局域网(WLAN)、无线个人局域网(WPAN)、近场通信(NFC)、蜂窝无线网络、第四代(4G)LTE、LTE Advanced(LTE-A)、和/或5G或其他当前或未来开发的先进蜂窝无线网络。在一些实施方案中,无线通信设备还可作为无线通信系统的一部分进行操作,无线通信系统可包括一组客户端设备(客户端设备还可被称为站、客户端无线设备或客户端无线通信设备),客户端设备例如作为WLAN的一部分互连到接入点(AP)以及/或者例如作为WPAN和/或“自组织”无线网络的一部分互连到彼此。在一些实施方案中,客户端设备可以是能够经由WLAN技术(例如根据无线局域网通信协议)进行通信的任何无线通信设备。在一些实施方案中,WLAN技术可包括Wi-Fi(或更一般地为WLAN)无线通信子系统或无线电装置,Wi-Fi无线电装置可实现电气和电子工程师协会(IEEE)802.11技术,例如以下中的一个或多个:IEEE 802.11a;IEEE 802.11b;IEEE 802.11g;IEEE 802.11-2007;IEEE 802.11n;IEEE802.11-2012;IEEE 802.11ac;或其他当前或未来开发的IEEE 802.11技术。
[0026]图1示出了根据一些实施方案的被配置为实现本文所述各种技术的系统100的不同部件的框图。更具体地讲,图1示出了对系统100的高度概括,如图所示,该系统包括移动设备102和由不同MNO 114管理的一组基站112。根据图1的图示,移动设备102可表示移动计算设备(例如的或),基站112可表示被配置为与移动设备102通信的不同无线电塔,MNO 114可表示提供移动设备102可订阅的特定服务(例如语音和数据)的不同无线服务提供商。
[0027]如图1所示,移动设备102可包括处理器104、存储器106、eUICC 108和基带部件110。这些部件协同工作以使移动设备102能够向移动设备102的用户提供有用的特性,例如局部计算、基于位置的服务,以及互联网连接。如下文更详细地描述,eUICC 108可被配置为存储用于通过基站112访问不同MNO 114的多个eSIM。例如,eUICC 108可被配置为存储用于移动设备102订阅的每个MNO 114的eSIM,以及使两个或更多个eSIM能够在移动设备102被激活,使得移动设备102可同时访问由MNO 114提供的不同服务。尽管在图1中未示出,移动设备102还可被配置为包括用于接收可移除UICC的接收区(例如使用容纳可移除UICC并针对接收区构造的托盘),其中UICC管理一个或多个SIM。这样,移动设备102还可被配置为使用各种方法来提供多MNO连接的益处,例如激活由eUICC 108管理的一个eSIM以连接到第一MNO 114,以及激活由可移除UICC管理的另一个eSIM以连接到第二MNO 114。
[0028]图2示出了根据一些实施方案的图1的移动设备102的特定部件的更详细视图200的框图。如图2所示,处理器104结合存储器106可实现主操作系统(OS)202,该主操作系统被配置为执行应用程序204(例如原生OS应用程序和用户应用程序)。同样如图2所示,eUICC108可被配置为实现eUICC OS 206,后者被配置为管理eUICC 108的硬件资源(例如,处理器和存储器)。eUICC OS 206还可被配置为例如通过激活eUICC 108内的eSIM 208并且向基带部件110提供对eSIM 208的访问,来管理由eUICC 108存储的eSIM 208。根据图2所示的图示,每个eSIM 208可与唯一标识符210相关联,并且可包括定义eSIM 208的操作方式的多个小应用程序212。例如,小应用程序212中的一个或多个在由基带部件110和eUICC 108实现时,可被配置为使移动设备102能够与MNO 114通信并且向移动设备102的用户提供有用的特性(例如电话呼叫和互联网)。
[0029]同样如图2所示,移动设备102的基带部件110可包括基带OS 214,该基带OS被配置为管理基带部件110的硬件资源(例如处理器、存储器、不同的无线电部件等)。根据一个实施方案,基带部件110可实现管理器216,该管理器被配置为与eUICC 108对接以实现本文所述的各种技术,所述各种技术包括与eUICC OS 206交换eSIM能力信息,以及当eUICC 108管理两个或更多个eSIM 208时管理唯一标识符210的列表。同样如图2所示,管理器216可被配置为实现服务218,这些服务表示利用包括在eUICC 108中的被激活的eSIM 208的各种小应用程序212被实例化的软件模块的集合。例如,服务218可被配置为根据被激活的不同eSIM208来管理存在于移动设备102和MNO 114之间的不同连接。
[0030]图3示出了根据一些实施方案的方法300的序列图,该方法用于使基带部件110能够与eUICC 108交换eSIM能力信息。如图所示,方法300开始于步骤302,在该步骤中,基带部件110向eUICC 108下发对eSIM能力的指示的请求。或者,步骤302可涉及eUICC 108向基带部件110下发对eSIM能力的指示的请求,使得步骤302表示关于在eUICC 108和基带部件110之间交换信息的初始请求。在步骤304处,eUICC 108响应于从基带部件110接收到该请求,向基带部件110指示单一eSIM能力或多eSIM能力。当eUICC 108仅存储单个eSIM 208时,或者当在eUICC 108内仅有单个eSIM 208被激活时,不需要传输与eSIM 208相关联的唯一标识符210。然而,假设eUICC 108指示多eSIM能力,则eUICC 108在步骤304处共享由eUICC108管理的每个eSIM 208的唯一标识符210。在一些情况下,eUICC 108可选择仅共享在eUICC 108内的被激活的eSIM 208的唯一标识符210,这是因为在大多数情况下,SIM工具包命令不会被路由到由eUICC 108管理的未激活的eSIM 208。
[0031]在步骤306处,基带部件110通过更新服务218的配置以反映eUICC 108的eSIM能力,来响应eUICC 108做出的指示。基带部件110还存储从eUICC 108接收到的唯一标识符210(当eIPC 108指示多eSIM能力时)。因此,在完成步骤306时,基带部件110和eUICC 108中的每一个彼此一致,并且当需要时能够用唯一标识符210补充SIM工具包命令。
[0032]步骤308至318表示当两个或更多个eSIM 208在移动设备102内被激活时可发生的一系列步骤。用于建立两个或更多个活动eSIM 208的过程可涉及:例如,打开基带部件110和eUICC 108之间的不同信道,并且对于每个打开的信道,选择不同的eSIM 208来在信道上激活。随后,如下文结合步骤308至312以及图4A至图4B更详细地描述的,可通过包括引用特定eSIM 208的信息(例如经由TLV分量),在基本信道(例如信道0)上执行eUICC 108和基带部件110之间关于例如特定eSIM 208的通信。
[0033]根据该实施例,步骤308至312阐述了在移动设备102上执行的应用程序204请求使用两个或更多个eSIM 208中的特定eSIM 208来执行与MNO相关联的动作的序列。如图3所示,此步骤序列开始于步骤308,在该步骤中,在移动设备102上执行的应用程序204(例如原生电话应用程序)向基带部件110下发使用由eUICC 108管理的特定eSIM 208来执行动作(例如拨打电话)的请求。在一些情况下,由应用程序204下发的该请求可包括标识应用于执行所述动作的特定eSIM 208的信息。例如,如果该动作涉及拨打电话,则可提示移动设备102的用户从他或她想要通过其发出电话呼叫的活动eSIM 208的列表中进行选择。该选择过程的一个实施例在图5中示出并在下文更详细地进行讨论。
[0034]在步骤310处,基带部件110从应用程序204接收此请求,并且作为响应,基带部件110生成对执行所述动作的指令的请求。接下来,在步骤312处,基带部件110识别指令请求被定向至的特定eSIM 208,并且相应地用此特定eSIM 208的唯一标识符210补充请求。再次,通过步骤302至306使得唯一标识符210可用于基带部件110,这涉及共享eSIM能力信息并且传输eSIM 208的唯一标识符210。
[0035]在步骤314处,eUICC 108接收指令请求,并且作为响应,eUICC 108使用包括在指令请求中的唯一标识符210来识别指令请求被定向至的特定eSIM 208。在步骤316处,应用程序204根据此特定eSIM 208生成指令。这可包括例如将请求传递到eUICC 108内的特定eSIM 208,于是eSIM 208生成与MNO 114兼容的指令,将通过该指令来执行(如在步骤308所请求的)要执行的动作。最后,在步骤318处,基带部件110从eUICC 108接收所生成的指令,并且基于所生成的指令来执行动作。
[0036]图4A至图4B示出了根据一个实施方案的概念图,其示出可用于实现本文所述各种技术的表和命令的示例性结构。具体地讲,图4A示出了包括命令参数表402的概念图400,如图所示,该表包括可用于使移动设备102执行不同动作的示例性命令集。特别地,可以由基带部件110向包括在eUICC 108中的特定eSIM 208下发命令,以便生成用于执行特定动作的指令。如图4A所示,命令参数表402中的每个命令与名称、值和描述相关联,所述名称、值和描述限定了命令的性质并使命令能够被打包到TLV分量中。图4A还示出了可用于管理由eUICC 108管理的eSIM 208的唯一标识符210的活动eSIM表404。例如,图4A所示的活动eSIM表404包括由eUICC 108管理的三个不同eSIM 208的条目。具体地讲,活动eSIM表404包括唯一标识符210是“DI8R78YI”的第一eSIM 208的条目、唯一标识符210是“H93GJK3E”的第二eSIM 208的条目、以及唯一标识符210是“UJ38KDIL”的第三eSIM 208的条目。
[0037]图4B示出了根据一个实施方案的概念图450,该图包括可使用TLV分量从基带部件110向eUICC 108下发的命令的各种实施例。具体地讲,实施例460涉及建立关于在没有指定eSIM的情况下发起向电话号码“1-222-333-4444”的呼出电话呼叫的命令,该命令向eUICC108指示应选择默认eSIM 208来拨打此呼出电话。一般地,并且如本文先前所阐述的,当eUICC 108仅存储单个eSIM 208时,或者当eUICC 108中仅有单个eSIM 208被激活时,可存在此场景。如图所示,可使用TLV 462和TLV 464来建立命令,这两个TLV的数据字段共同构成命令。实施例470涉及用于使用包括在活动SIM表404中的第二eSIM 208来发起向电话号码“5-666-777-8888”的呼出电话呼叫的命令,其中与第二eSIM 208相关联的唯一标识符210是“H93GJK3E”。如图所示,可使用TLV 472、TLV 474和TLV 476来建立命令,这三个TLV的数据字段共同构成命令。最后,实施例480涉及用于使用包括在活动SIM表404中的第一eSIM208来发起向电话号码“9-000-111-2222”的呼出电话呼叫的命令,其中与第一eSIM 208相关联的唯一标识符210是“DI8R78YI”。如图所示,可使用TLV 478、TLV 480和TLV 482来建立命令,这三个TLV的数据字段共同构成命令。
[0038]图5示出了根据一个实施方案的示例性序列的概念图500,该序列涉及使用户能够在使用其移动设备102拨打电话时从两个或更多个MNO 114中进行选择。可由在移动设备102上执行应用程序204来生成图5中所示的用户界面。该序列的第一步骤涉及从用户接收对要联系的电话号码的选择。该序列的第二步骤涉及识别由eUICC 108管理的活动eSIM208,并且向用户呈现与活动eSIM 208相关联的MNO 114的列表以供选择。该序列的第三步骤涉及接收对MNO 114中的一个的选择,并且执行本文所述的适当步骤(例如在图3的步骤308至318中)以使得能够通过所选择的MNO 114进行电话呼叫。
[0039]图6示出了根据一个实施方案的方法600,该方法由图1的基带部件110执行并且涉及与图1的eUICC 108对接。如图所示,方法600开始于步骤602,在该步骤中,基带部件110的管理器216向eUICC OS206下发对由eUICC 108管理的eSIM 208的指示的请求。在步骤604处,管理器216从eUICC OS 206接收由eUICC 108管理的eSIM 208的指示。在步骤606处,管理器216确定是否从应用程序204接收到用于执行基于eSIM的动作的请求。如果在步骤606处,管理器216确定从应用程序204接收到用于执行基于eSIM的动作的请求,则方法600前进至步骤608。否则,方法600在步骤606处重复,直到从应用程序204接收到用于执行基于eSIM的动作的请求为止。
[0040]在步骤608处,管理器216生成对用于执行此基于eSIM的动作的指令的请求,其中该请求被定向至eUICC 108的eUICC OS 206。在步骤610处,管理器216确定该请求是否引用由eUICC 108管理的特定eSIM 208。如果在步骤610处,管理器216确定该请求引用由eUICC108管理的特定eSIM 208,则方法600前进至步骤612。否则,方法600前进至步骤614,在该步骤中,管理器216向eUICC 108的eUICC OS 206下发该请求(没有标识eSIM 208的信息)。在步骤612处,管理器216用标识特定eSIM 208的信息来补充该请求。在步骤616处,管理器216从eUICC 108的eUICC OS 206接收所请求的用于执行基于eSIM的动作的指令。最后,在步骤618处,管理器216执行用于执行基于eSIM的动作的指令,并且方法600返回到步骤606,在该步骤中,可处理其他的请求。
[0041]图7示出了根据一个实施方案的方法700,该方法由图1的eUICC 108执行并且涉及与图1的基带部件110对接。如图所示,方法700开始于步骤702,在该步骤中,eUICC OS 206从基带部件110接收对由eUICC 108管理的eSIM 208的指示的请求。在步骤704处,eUICC OS206向基带部件110提供受管理的eSIM 208的指示。在步骤706处,eUICC OS 206确定是否从基带部件110接收到生成用于执行基于eSIM的动作的指令的请求。如果在步骤706处,eUICCOS 206确定从基带部件110接收到生成用于执行基于eSIM的动作的指令的请求,则方法700前进至步骤708。否则,方法700在步骤706处重复,直到从基带部件110接收到生成用于执行基于eSIM的动作的指令的请求为止。
[0042]在步骤708处,eUICC OS 206确定在步骤706处接收到的请求是否包括标识由eUICC 108管理的特定eSIM 208的信息。如果在步骤708处eUICC OS 206确定该请求不包括标识特定eSIM 208的信息,则方法700前进至步骤710。在步骤710处,eUICC OS 206将该请求定向至默认eSIM 208,其中该请求使得默认eSIM 208生成用于执行基于eSIM的动作的指令。然后在步骤714处将这些指令提供回到基带部件110,并且方法700返回至步骤706,在该步骤处可处理附加请求。然而,如果在步骤708处eUICC OS 206确定该请求包括标识eUICCOS 206的特定eSIM 208的信息,则方法700前进至步骤712。在步骤712处,eUICC OS 206将该请求定向至特定eSIM 208,其中该请求使特定eSIM生成用于执行基于eSIM的动作的指令。然后在步骤714处将这些指令提供回到基带部件110,并且方法700返回至步骤706,在该步骤处可处理附加请求。需注意,在一些情况下,可能有益或必要的是,当eUICC OS 206与基带部件110通信时,其包括特别标引特定eSIM 208的TLV分量。因此,当eUICC OS 206识别其中适当包括与特定eSIM 208相关联的信息的场景时,eUICC OS 206可利用标引特定eSIM208的TLV分量来补充命令。继而,基带部件110可分析包括该命令的TLV分量,并根据该命令执行响应。
[0043]虽然本文描述的技术主要涉及eUICC 108和基带部件110之间的通信,但是应当注意,这些技术可应用于涉及辅助eUICC 108和基带部件110的其他硬件/软件部件之间通信的其他场景。例如,eUICC 108可被配置为经由逻辑上绕过基带部件110的专用接口来与基站112/MNO 114通信。更具体地讲,根据本实施例,可在eUICC 108和基站112/MNO 114之间传输TLV分量,而不需要通过基带部件110对TLV分量进行专门处理。
[0044]图8示出了根据一些实施方案的可用于实现本文所述各种部件的计算设备800的详细视图。具体地讲,该详细视图示出了图1所示移动设备102中可包括的各种部件。如图8所示,计算设备800可包括处理器802,该处理器表示用于控制计算设备800的总体操作的微处理器或控制器。计算设备800还可包括用户输入设备808,该用户输入设备允许计算设备800的用户与计算设备800进行交互。例如,用户输入设备808可采取多种形式,诸如按钮、小键盘、拨号盘、触摸屏、音频输入接口、视觉/图像捕获输入接口、传感器数据形式的输入等。更进一步地,计算设备800可包括可由处理器802控制以向用户显示信息的显示器810(屏幕显示器)。数据总线816可有利于在至少存储设备840、处理器802和控制器813之间进行数据传输。控制器813可用于通过设备控制总线814与不同设备进行交互并对其进行控制。计算设备800还可包括耦接至数据链路812的网络/总线接口811。在无线连接的情况下,网络/总线接口811可包括无线收发器。
[0045]计算设备800还包括存储设备840并包括管理存储设备840内一个或多个分区的存储管理模块,其中该存储设备可包括单个盘或多个盘(例如硬盘驱动器)。在一些实施方案中,存储设备840可包括闪存存储器、半导体(固态)存储器等。计算设备800还可包括随机存取存储器(RAM)820和只读存储器(ROM)822。ROM 822可存储将以非易失性方式执行的程序、实用程序或过程。RAM 820可提供易失性数据存储,并存储与计算设备800的操作相关的指令。计算设备800还可包括安全元件850,该安全元件可表示图1至图2中所示并在本文中详细描述的eUICC 108。
[0046]可单独地或以任何组合方式来使用所述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现所述实施例的各个方面。所述实施方案还可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,所述数据其后可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、CD-ROM、DVD、磁带、硬盘驱动器,固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
[0047]在上述描述中,为了进行解释,所使用的特定命名提供对所述实施方案的彻底理解。然而,对于本领域的技术人员而言将显而易见的是,实践所述实施方案不需要这些具体细节。因此,对特定实施方案的上述描述是出于例示和描述的目的而呈现的。这些描述不旨在被认为是穷举性的或将所述的实施例限制为所公开的精确形式。对于本领域的普通技术人员而言将显而易见的是,根据上述教导内容,许多修改和变型是可能的。