Method for performing a remote management of a multi-subscription SIM module

09820139 · 2017-11-14

Assignee

Inventors

Cpc classification

International classification

Abstract

A method is provided for performing a management of a multi-subscription SIM module. The multi-subscription SIM module includes at least one memory adapted to store at least a first and a second profile associated with a respective first and a second mobile network operator. The memory includes a volatile portion. The operation of storing includes installing or updating profiles by downloading one or more downloaded profiles from a remote host. The management includes selecting one or more enabled profiles including an application to be executed and allocating a partition of the volatile portion of the memory to the one or more enabled profile.

Claims

1. A method for managing a multi-subscription SIM module that comprises a memory that stores a first profile and a second profile associated with a respective first mobile network operator and a second mobile network operator, wherein the memory comprises a volatile portion that is divided in a partition for an operating system, a partition for enabled profiles, and a partition for a downloaded profile, the partition for enabled profiles and the partition for a downloaded profile having the same size, the method comprising: selecting an enabled profile; allocating the partition for the enabled profile to the enabled profile, while maintaining the partition for a downloaded profile not accessible; downloading a downloaded profile from a remote host; when downloading the downloaded profile, accessing only the partition for a downloaded profile and allocating the partition for a downloaded profile to the downloaded profile; and performing a profile change operation by swapping the downloaded profile from the partition for a downloaded profile to one of the partitions for the enabled profile.

2. The method according to claim 1, wherein the enabled profile comprises an application to be executed.

3. The method according to claim 1, wherein performing the profile change operation comprises performing the profile change operation after the SIM module is reset.

4. The method according to claim 1, wherein performing the profile change operation comprises performing the profile change operation after a power cycle.

5. The method according to claim 1, wherein allocating the partition for the enabled profile to the enabled profile is performed when the SIM module is powered on.

6. The method according to claim 1, wherein the multi-subscription SIM module is an eUICC card.

7. The method according to claim 1, wherein the memory comprises a random access memory (RAM).

8. The method according to claim 1, wherein selecting the enabled profile comprises selecting only one enabled profile.

9. The method according to claim 1, wherein selecting the enabled profile comprises selecting a plurality of enabled profiles.

10. The method according to claim 1, further comprising dividing the volatile portion of the memory in the partition for the operating system, the partition for the each of the enabled profiles, and the partition for a downloaded profile.

11. A method for managing a multi-subscription SIM module that comprises a memory that stores a first profile and a second profile associated with a respective first mobile network operator and a second mobile network operator, wherein the memory comprises a volatile portion, the method comprising: resetting the SIM module; dividing the volatile portion of the memory in a partition for an operating system, a partition for enabled profiles, and a partition for a downloaded profile, the partition for enabled profiles and the partition for a downloaded profile having the same size; selecting an enabled profile comprising an application to be executed; allocating the partition for the enabled profile to the enabled profile, while maintaining the partition for a downloaded profile not accessible; downloading a downloaded profile from a remote host; when downloading the downloaded profile, accessing only the partition for a downloaded profile and allocating the partition for a downloaded profile to the downloaded profile; and performing a profile change operation by swapping the downloaded profile from the partition for a downloaded profile to one of the partitions for the enabled profile.

12. The method according to claim 11, wherein resetting the SIM module comprises resetting the SIM module as a result of a power cycle.

13. The method according to claim 12, wherein allocating the partition for the enabled profile to the enabled profile is performed when the SIM module is powered on.

14. The method according to claim 11, wherein the multi-subscription SIM module is an eUICC card.

15. The method according to claim 11, wherein the memory comprises a random access memory (RAM).

16. A multi-subscription SIM module comprising: a processor; and a memory storing a first profile and a second profile associated with a respective first and a second mobile network operator, such that a respective content may be associated with each profile, the memory comprising a volatile portion that is divided in a partition for an operating system, a partition for enabled profiles, and a partition for a downloaded profile, the partition for enabled profiles and the partition for a downloaded profile having the same size, wherein the processor is configured to implement a method comprising: selecting an enabled profile comprising an application to be executed; allocating the partition for the enabled profile to the enabled profile, while maintaining the partition for a downloaded profile not accessible; downloading a downloaded profile from a remote host; when downloading the downloaded profile, accessing only the partition for a downloaded profile and allocating the partition for a downloaded profile to the downloaded profile; and performing a profile change operation by swapping the downloaded profile from the partition for a downloaded profile to one of the partitions for the enabled profile.

17. The multi-subscription SIM module according to claim 16, wherein the multi-subscription SIM module is an eUICC card.

18. The multi-subscription SIM module according to claim 16, wherein the memory comprises a random access memory (RAM).

19. The multi-subscription SIM module according to claim 16, wherein the processor is configured to divide the volatile portion of the memory in the partition for the operating system, the partition for the each of the enabled profiles, and the partition for a downloaded profile in response to a reset operation.

20. The multi-subscription SIM module according to claim 16, wherein the processor is configured to divide the volatile portion of the memory in the partition for the operating system, the partition for the each of the enabled profiles, and the partition for a downloaded profile in response to a power cycle.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Embodiments of the present disclosure will now be described with reference to the annexed drawings, which are provided purely by way of non-limiting example and in which:

(2) FIGS. 1 to 6 have already been described in the foregoing;

(3) FIG. 7 shows an embodiment of the software architecture of a multi-subscription SIM module containing a plurality of profiles;

(4) FIG. 8 shows an embodiment of a method for enabling a profile by means of a mobile device;

(5) FIG. 10 shows an embodiment of method for allocating volatile memory in a multi-subscription SIM module; and

(6) FIGS. 9 and 11-13 shows a volatile memory of a multi-subscription SIM module in different step of the method of FIG. 10.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

(7) In the following description, numerous specific details are given to provide a thorough understanding of embodiments. The embodiments can be practiced without one or several specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments.

(8) Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

(9) The headings provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.

(10) Figures parts, elements or components which have already been described with reference to FIGS. 1 to 5 are denoted by the same references previously used in such figures. The description of such previously described elements will not be repeated in the following in order not to overburden the present detailed description.

(11) Now, with reference to FIGS. 7 and 8 it is illustrated a possible procedure for enabling of a profile in a eUICC card 108a which can make use of the solution for allocating the memory space of the volatile memory described in the following. FIG. 7 shows an embodiment, in which the profile manager PM may communicate with a remote host 30a in order to install, update and/or enable a profile P1/P2 by means of remote management commands.

(12) Again, the SIM module 108a comprises one and more processors 1082a and one or more memories 1084a for executing applications stored in the memory 1084a of the module 108a. In this case, the profile manager application PM may be configured to communicate (directly, or indirectly via the processor 102a and possibly the operating system OSa) with the communication interface 106a in order to send data to and/or receive data from the remote host 30a.

(13) For example, the host 30a may be connected via a network 20, such as a Local Area Network (LAN) or a Wide Area Network (WAN), such as the internet, to the base station BS. Accordingly, connection between the host 30a and the SIM module 108a may be established by means of the network 20, the base station BS and the communication interface 106a.

(14) For example, FIG. 8 shows a flow chart of a possible method which permits to enable a profile in the SIM module 108a. Specifically, in the embodiment considered, the SIM module 108a has installed at least a first profile P1.

(15) After a start step 1000, the device 10a connects in a step 1002 to a base station BS by using the profile data P1, e.g., by using the authentication data AUTH of the profile P1. In general the device 10a uses the profile data which are selected as active enabled profile at boot, i.e., at power-on of the device 10. At the power on the handset, i.e., the device 10, always uses the “enabled profile”; changing of enabled profile in the described embodiment requires a reset, in particular a power cycle. Alternatively a hot swap like in USB plug and play can be applied.

(16) Next, in a step 1004, the host 30a sends one or more remote management commands to the profile manager PM in order to install or update a new profile P2, which is downloaded from the remote host 30a.

(17) Once the new profile P2 has been installed or updated, the host 30a sends in a step 1006 a remote management command to the profile manager PM in order to enable the profile P2.

(18) Finally, the method ends at a stop step 1008.

(19) The profile manager PM may be alternatively substituted by any software or firmware implementing a remote protocol, such as OTA, to allow the download/enable/delete of profiles to the card after card issuance.

(20) For example, this embodiment may be suitable for automated systems, such as gas meters or any other type of remote monitoring and/or control systems. In this case, the application CFG may also not be required. However, the method could also be used for mobile devices, such as smart-phones or tablets.

(21) Generally, the embodiments described with respect to FIG. 6 and FIGS. 7 and 8 could also be combined, e.g., the SIM module 108a could be configured such that a profile may be installed, updated and/or enabled by means of an application installed in the device 10a and/or by means of a remote management command received from a remote host 30a.

(22) Accordingly, independently of the method used to install, update and/or enable profiles, a multi-subscription SIM module 108a may comprises a plurality of profiles, wherein each profile may comprise respective applications and possible other content. Moreover, as mentioned in the foregoing, each application is usually identified by means of a TAR code in order to permit a remote management of the respective application.

(23) The proposed solution basically provides that on the SIM module 108a there are several profiles, but only one of them is available at a certain time.

(24) In order to change from one profile to another, in the example here described from profile P1 to P2, a “power cycle” is required (i.e., the card is powered off/on), and the power cycle resets the RAM values in the RAM portion of the memory 1084a. Through the power cycle therefore the RAM memory of sessions preceding the power cycle can be de-allocated when a profile change happens.

(25) After the power cycle is necessary however to allocate a part of the RAM memory for the active profile (in the example, the new active profile will be P2), for instance to store in the RAM memory the volatile variables of the application to be executed, but taking in account that also a profile under download needs RAM memory. If the profile selected as enabled profile takes all the memory resources, there could be not enough memory to perform the memory download.

(26) The proposed solution operates allowing the SIM module 108a to allocate to the enabled active profile, i.e., Ps, only part of its volatile memory. More specifically, the SIM module 108a is configured to accommodate volatile memory for two profiles: the enabled profile Ps, and the profile under download Pd.

(27) According to the current standard, there is only one enabled profile Ps and at most one profile under download Pd at any time.

(28) As better shown with reference to FIG. 9 were a RAM memory 1084R of the memory 1084a is schematically shown, RAM Memory 1084R is partitioned in three parts: an Operative System Memory partition OSP, an enabled profile partition SPP, and a downloading profile partition DPP.

(29) The enabled profile partition SPP and the downloading profile partition DPP have the same size. This guarantees that the profile partitions are exchangeable.

(30) In FIG. 10 is shown a flow diagram representing an embodiment of the here proposed method for managing the RAM memory 1084 in the UICC card 108a using multiple profiles containing respectively one or more applications.

(31) The method, after a start step 2000, includes an operation 2005 of dividing the area of the RAM memory 1084R in a partition for the operative system OSP, a partition for the enabled profile SPP and a partition for a downloaded profile DPP, where the partition for the enabled profile SPP and a partition for a downloaded profile DPP have the same size. This operation has been already detailed with reference to FIG. 9.

(32) Then, at boot, i.e., when the SIM module 108a is powered on, i.e., put in on state of a power cycle, it is performed an operation 2010 of allocating the partition for the enabled profile SPP to an enabled profile Ps, maintaining the partition for a downloaded profile DPP not accessible.

(33) Details of such operation 2010 are shown in FIG. 11, which show how, at boot, when the SIM module is powered on, space in the memory 1084R is allocated by allocating a enabled profile Ps, for instance the profile P1, in the enabled profile partition SPP, while the rest of the space of memory 1084a is maintained empty. The enabled profile Ps occupies a space in the enabled profile partition SPP and if it is smaller in size than the enabled profile partition SPP leaves a free space SPF, which can be at best of zero dimension if the enabled profile has the same size of the enabled profile partition SPP. On the other hand, the downloading profile partition DPP is not accessible, i.e., if the enabled profile Ps try to allocate memory, the allocation would fail in case the amount of memory of the enabled profile partition SPP is not enough.

(34) Then, during a profile download operation, it is performed an operation 2015 of accessing only the partition for a downloaded profile DPP allocating memory space in the partition to the downloaded profile Pd.

(35) Details of such operation 2015 are shown in FIG. 12, which show how, during profile download, for instance during step 1004, the profile under download Pd occupies a space in the downloaded profile partition DPP and if it is smaller in size than the downloaded profile partition DPP leaves a free space DPF, which can be at best of zero dimension if the enabled profile has the same size of the downloaded profile partition DPP. During download, the profile under download Pd can access only the downloading profile partition DPP and not the enabled profile partition SPP. This guarantees the memory availability to both the enabled profile Ps and the downloading profile Pd.

(36) Then, as shown in FIG. 13, during a profile change operation, for instance during step 1006 of profile enabling, it is provided an operation 2020 of swapping the downloading profile Pd from the partition for a downloaded profile DPP to the partition for the enabled profile SPP.

(37) The profile change operation, for instance step 1006 of profile enabling, is performed after a reset of the eUICC card, in particular after a power cycle. A reset of the eUICC card or of a SIM module in general is not necessarily a power cycle. A power cycle requires that the supply voltage goes to zero (off state) and then back to nominal value (on state). This is equivalent to a so-called ‘cold reset’. However cards usually have also a reset physical contact, i.e., an electric contact which can be actuated to perform a so-called ‘warm reset’. Such warm reset is for instance the one performed to reboot the phone. The warm reset is equivalent to the cold reset but it is not a power cycle.

(38) The sizes of the two partitions SPP and DPP are the same, i.e., the enabled profile partition SPP has the same size of the downloading profile partition DPP. This implies that, if the downloaded profile Pd is selected to be the next active profile, it is ensured that its memory size will fit, at subsequent power cycle the enabled profile partition SPP, i.e, it will be equal or smaller than the size of the partition SPP. The swap 2020 (after reset) is shown in FIG. 7. As mentioned, the profile change operation is performed after a power cycle of the SIM module 180a.

(39) Finally, the method ends at a stop step 2025.

(40) In possible variant embodiments it is possible to have more than one enabled profiles, for instance in a device with multiple radio access such as dual SIM mobile phones. In this case, if a number n of profiles Ps1 . . . Psn is enabled, then the RAM Memory 1084R is partitioned as follows: one Operative System Memory partition OSP, n enabled profile partitions SPP, and one downloading profile partition DPP.

(41) Each of the n profile partitions SPP has the size of the downloading profile partition DPP and the downloaded profile Pd is swapped to one of such n enabled profile partitions SPP, which can be selected by the Program Manager or any other module managing the enablement of the active profiles.

(42) Therefore in general the solution here described provides a method for performing a management of a multi-subscription SIM module 108a, such multi-subscription SIM module 108a comprising at least one memory 1084a adapted to store at least a first P1 and a second P2 profile, or a plurality of profiles, associated with a respective first and a second mobile network operator, or operator line or contract, such memory 1084 comprising a volatile portion 1084R, the operation of storing including the operation 1004 of installing or updating the profiles P1, P2 by downloading one more downloaded profile Pd from a remote host 30a, the management including selecting one or more enabled profiles Ps comprising an application to be executed and allocating a partition of the volatile portion 1084R of the memory to one or more enabled profile Ps.

(43) The method further includes the operations of:

(44) dividing 2005 the area of the volatile memory 1084R in a partition OSP for the operative system, a partition SPP for the each of the one or more enabled profiles Ps and a partition for a downloaded profile DPP, the partitions for the enabled profile SPP and partition for a downloaded profile DPP having the same size,

(45) allocating 2010 the partition for the enabled profile SPP to the enabled profile Ps, maintaining the partition for a downloaded profile DPP not accessible,

(46) during a profile download operation 1004, accessing 2015 only the partition for a downloaded profile allocating the partition for a downloaded profile DPP to the downloaded profile Pd,

(47) during a profile change operation 1006 swapping 2020 the downloading profile Pd from the partition for a downloaded profile DPP to one of the partitions for the enabled profile SPP.

(48) The described solution is more efficient with respect to the methods allocating RAM memory for all the profiles, since only two profiles at a time need to be accommodated.

(49) The described solution is more reliable with respect to methods allocating RAM memory at request, where in case there is not enough memory for a profile in execution or under download, an error is reported only at runtime. In proposed solution, the profile loading fails and the operator can take corrective measures.

(50) The described technical solution thus provides an efficient usage of RAM memory in eUICC while guaranteeing runtime memory allocation to all systems with high reliability. Other known solutions need to compromise on efficiency or on runtime availability

(51) Therefore the described solution provides a new volatile, i.e., RAM, memory manager that optimizes RAM resources in eUICC (UICC supporting multiple subscriptions) while preserving runtime availability of resources.

(52) Of course, without prejudice to the principle of the invention, the details of construction and the embodiments may vary widely with respect to what has been described and illustrated herein purely by way of example, without thereby departing from the scope of the present invention, as defined by the ensuing claims.

(53) The profiles are indicated as associated with a respective mobile network operator. The definition of different mobile network operator however includes also the case in which the different profiles represent different lines or subscriptions of a same operator, e.g., Telecom Italia, such as a business line and personal line.