A METHOD AND A SYSTEM FOR THE MANAGEMENT OF MEMORY SPACE IN A SUBSCRIBER IDENTITY MODULE
Field of the Invention
The present invention relates to a method for rearranging the memory space of a subscriber identity module (SIM) of a mobile unit for wireless communication. The present invention is concerned with dynamic allocation and management of memory space of an E2PROM or similar electronic circuit adapted for storing data in portable units.
Description of the Prior Art
In general, mobile units for wireless communication are connected to a host providing wireless services, e.g. telecommunication services. The communication between a mobile unit and the service provider is typically conditioned on the provision of a verifiable identity of the mobile unit. Typically, e.g. for the GSM telecommunication system (Global System for Mobile communication) the identity of the mobile unit is provided via a SIM module connected to the mobile unit. Besides from hosting an identification code, the SIM module is capable of storing information such as phone numbers, SMS messages (Short Message Service) or even capable of storing applications. Typically the service provider provides a SIM module - in the form of an E2PROM - to the user of a mobile unit. Before the user receives the SIM module, it is being personalised, which means that personal information has been recorded for a unique identity of that SIM module. At the same stage, the SIM module is provided with a storage structure according to which the user is able to use a predetermined amount of storage capacity of the SIM module, e.g. for storing phone numbers or for storing applications to be executed on the mobile unit. The storage structure is not to be changed by the user and therefore the user may end in a situation where the memory structure will not allow for the storing of a user application even though memory capacity is available for storing SMS messages, which of course limits the utility value of the memory capacity.
WO 00/31997 discloses a system for dynamic allocation of subscriber identity module memory areas and for distribution of memory areas between operator, service provider and subscriber. However, WO 00/31997 does not disclose a system wherein a mobile unit in it self is adapted to dynamically allocate subscriber identity module memory areas. In
contrary, the disclosed system depends on a management system external to the mobile device, for management of dynamic allocation of memory areas.
Description of the Invention
It is an object of the present invention to provide a method and a system that will allow for dynamic management of the memory structure of a SIM module and which therefore eliminates the above-mentioned drawback.
Accordingly the present invention relates to a method for the management of memory space in a subscriber identity module of a mobile unit for wireless communication, said method comprising:
- providing the subscriber identity module (SIM) with a first memory area having a first memory capacity allocated for an operating system of the mobile unit,
- providing the subscriber identity module with a second memory area having a second memory capacity for storing information related to the wireless communication, and
- from the mobile unit, dynamically managing the information stored in the second memory area so as to optimise a free memory capacity in the second memory area.
Preferably, the method utilises a file manager which allows to dynamically allocate sizes of a plurality and preferably all files in an E2PROM. The aforementioned files may contain the information stored in the second memory area.
The first and second memory areas could be provided either virtually as a partition of the same memory block of the SIM module or they may be provided in two separate memory blocks of the SIM module. The provision of the two memory areas could be done, e.g. by the provider of the SIM module, by a provider of services for wireless communication or even by the user of the mobile unit. At the same time an operating system could be stored in the first memory area. Preferably the operating system is stored in a protected manner, so that the operating system can not be deleted by accident. The SIM should also have a unique identity code stored in a protected manner so that no one but the provider of the SIM modules or the service provider can read or change the identity of a SIM module.
The user of the mobile unit could carry out the management of the information stored in the second memory area directly from the mobile unit. The user would not even have to connect to a service provider, such as to an OTA server (Over the Air server) in order to change the memory structure of the SIM module, in that the structure may be changed directly via the mobile unit. This is an advantage e.g. if the mobile unit is being used in areas not covered by wireless communication signals.
The second memory capacity could be partitioned in a free memory part and at least one reserved memory part. The partition could as an example be done by storing a number of files in the second memory area. The files could be used as folders for storing information. As an example, the user may create a file for storing information related to SMS messages, a file for storing ADN (Abbreviated Dialling Number) information and a file for storing FDN information. The remaining capacity of the SIM module may be left as free memory, which at any stage may be allocated to one of the created files or for new files. Whenever one of the files does not provide sufficient memory capacity to store information the file size may be increased. If free memory space is not available the size of other files may be shrinked so as to establish the necessary memory capacity. The change of the size of the files may take place dynamically when memory capacity is needed and without connecting to a telecommunication service provide.
If the size of one file or one reserved memory part is getting larger than necessary the size of that file or part may be shrinked and the released memory capacity is then available for later allocation to any of the reserved memory parts or files, of for storing any information or application on the SIM module.
If the need for free memory capacity requires that either information included in files or entire files are deleted, information and files may be deleted at any time. If information included in a file is deleted, the size of the file is shrinked and therefore free memory space will be available for enlarging any of the other existing files, for creating new files or for storing applications in general. The deletion of files or the deletion of information included in files and the succeeding shrinking of files may be done automatically, e.g. based on a certain pre-specified criterion. As an example, the user may have specified that information related to SMS messages may be deleted from the memory, if memory capacity is needed for telephone numbers. As another example, the user may have specified that telephone numbers may be deleted if memory capacity is needed for a user
application. The user could, if necessary, be warned before such deletion of information takes place.
According to one embodiment of the invention, memory capacity is achieved by combining existing files into one file, which will optimise the amount of information that may be stored within a given storage area.
Preferably the management of information is based on a request for a memory capacity. As an example, the user may try to store a phone number, an address or any other kind of information on the SIM module. If the free memory capacity is not sufficient in order to store the information, the user may be provided with selectable options, such as for deleting certain files or certain information. As another example, a service provider may try to store a user application in the second memory area of the SIM module. If sufficient memory is not fore hand, the user of the mobile device or the provider of service may be given the choice of deleting files or deleting specific information, or the choice of restructuring the memory of the SIM module, so as to establish more memory capacity.
The request for memory capacity could be transmitted to the mobile unit by means of wireless communication between the mobile unit and a wireless unit of a service provider. The transmission of such a request could as an example come from a provider of telecommunication services who wants to advertise. The provider may send a request to the mobile unit, to store advertising information in the memory of the SIM module. The user of the mobile unit may either have decided to accept such approaches no matter if existing information must be deleted in order to create sufficient memory capacity, have decided only to accept such approaches if sufficient capacity exists or have decided never to accept such approaches. If existing information is to be deleted is appreciated that the user of the mobile unit is requested to accept that the information is deleted.
According to a preferred embodiment of the invention the second memory area is divided into:
- a memory area for storing information related to SMS messages of the wireless communication system,
- a memory area for storing information related to phone numbers, and - a memory area for storing applications to be executed on the mobile unit.
The areas could be created e.g. by creating files for storing information, e.g. one file for storing information related to SMS messages, one file for storing phone numbers and additional files for running applications on the mobile unit.
Preferably the memory area for storing applications is divided into:
- a memory area reserved for a provider of services related to the wireless communication, and - a memory area reserved for a user of the mobile unit.
In that way it is easy to restructure the SIM memory of the SIM module, either by deleting all applications stored by the user of the mobile unit or by deleting all applications stored by a specific service provider.
As an example, it may be defined that a certain capacity of the memory on the SIM module should be reserved for a service provider or service providers while another capacity of the memory on the SIM module should be reserved for the user of the mobile unit. The exact amount or the percentage of the capacity a service provider is allowed to allocate or reserve on the SIM module could be communicated by means of wireless communication between the provider and the mobile unit.
According to a preferred embodiment of the invention a service provider or the user of the mobile unit should be allowed to restructure substantially the entire memory of the SIM module, e.g. by uploading the information to a memory area of the mobile device or by means of wireless communication uploading the information to a database of the service provider. After the information has been uploaded, either entirely or partly, the structure of the memory area of the SIM module is adapted to store the information in an optimised way so that most free memory capacity is achieved on the SIM module.
According to another aspect the present invention relates to a mobile unit for wireless communication, said unit being provided with SIM module with a first memory area having a first memory capacity allocated for an operating system of the mobile unit and a second memory area having a second memory capacity for storing information related to the wireless communication, the mobile unit being adapted to dynamically manage the
information stored in the second memory area so as to optimise a free memory capacity in the second memory area.
Detailed description of the invention
A preferred embodiment of the invention will now be described in details with reference to the drawing in which:
Fig. 1 shows a conventional system for wireless communication,
Fig. 2 shows a system for wireless communication according to the present invention, and
Fig. 3 shows a menu structure of a system according to the present invention.
Referring to Fig. 1 a conventional system for wireless communication comprises a mobile phone 1 provided with a SIM module 2. The SIM module 2 has been provided by a service provider 3, who has personalised the SIM module 2. The memory of the SIM module has been structured by the service provider before the user of the mobile phone receives the SIM module. As indicated, the memory of the SIM module 2 is arranged in memory blocks 4. The memory blocks could be dedicated for storing of information such as ADN, FDN, SMS or various user applications. Typically, the sizes of the memory blocks are fixed, even though the user of the mobile phone, at least for some systems, may use blocks of a fixed size for various purposes.
Referring to Fig. 2, a system according to the present invention comprises a mobile phone 1 provided with a SIM module 2 owned either by a service provider - not shown in the drawing or owned by the user of the mobile phone. The SIM module is partitioned in a system block 5 and user block 6. The memory capacity of the user block 6 may be managed by an application which allows flexible allocation of memory space and files in combination with an operating system. The SIM card makes a physical reallocation of the E2PROM memory when updating existing files and creating new files. Since the SIM card does not use pre-allocated space in the E2PROM for this operation, but makes a physical reallocation of existing and new files in the E2PROM, the SIM card will always have the maximum free space available to the users or operators. Since the physical update of
E2PROM space also makes sure that the card is not fragmented, so that the full potential of space is available on the SIM card.
The practical use of this invention is to give the user full control of the memory size of the user assessable files such as ADN, SMS, FDN etc. and to give the operator full control of the remaining assessable files. This makes it possible for the user and/or operator (GSM Network) to make a reconfiguration of the SIM card adding new functions or storage possibilities to the SIM card.
The flexible allocation of memory space and files is done by the SIM card application alone without use of external equipment. The handset is used as the interface between the user and the SIM card. The control of this "File Manager" application can also be done via a WWW page or a remote server. In this case a SIM module provider will provide specific commands in the SMS form to control and allocate files.
Regardless of the interface all files are created by the SIM card alone based on the prompt to the SIM card made by the "File Manager" application, as well as all changes in size of files is done by the SIM card alone and involves a physical reallocation of E2PROM space.
The functionality of this solution is handset independent and will function on any compliant GSM Phase 2+ handset.
The physical changes made on the SIM card are possible due to the following features of the SIM module provider after the SIM card has been personalised and left the factory:
A: The possibility of shrinking or extending the size of any file on the SIM
B: The possibility of creating new files on the SIM card.
The combination of these two functions together with the "File Manager" application results in the flexible allocation of memory on the SIM card.
Existing information is not harmed by a change of file size. E.g. if there is information typed in the ADN list then this information will also be available after an update involving a change of the size in the ADN list.
The functionality of a given solution using the "File Manager" is described from a menu located on the SIM card this menu can be seen on e.g. the handset.
The menu can be tailor made to fit the requirements of the operator and will as such not necessarily include all possibilities offered by this solution.
The management of memory on the SIM module is managed by an application, e.g. to be stored on the module. When the user invokes the application by menu-selection, the following possibilities will be presented:
Information on the current capacity of ADN-, FDN- and SMS-records. More SMS records. More ADN records. • FDN Utilities. (Requires PIN code 2 verification). Delete all SM messages.
The very limited number of possibilities is chosen, to make the application as simple to use as possible. The menu structure could be like shown in Fig. 3.
More SM records / more ADN records:
As long as unused E2PROM memory exists, the files will be extended unconditional. If the demanded extension exceeds the free memory available, the user can accept to shrink the other file (EFS S or EFADN)- Prior to giving his accept, the user will also be notified if any used records will be deleted hereby.
FDN Utilities:
Entering the 'FDN Utilities' will lead to a PIN code 2 verification. If this is passed successfully, the user will have the possibility of adding or removing FDN records. Extensions are made as mentioned above, except that, in the event of no free memory, the user must choose to remove either SM records or ADN records.
The number of records in a file is limited to 255. The application should probably send a REFRESH to the ME after having changed the number of records in a file! Some phones might require a 'reboot' to update, but as resizing of the files is not expected to be done very often, this seems to be acceptable.
The application could as an example be implemented on a DZSIM 2.2 card (16k E2PROM memory).
A preferred menu structure for an application and a system according to the invention and the functionality thereof will be described in the following pages.
The application, in the following being referred to as the FileMan application sets up a menu on the display of the mobile unit, e.g. a mobile phone. From the menu, the user may choose among procedures related to the files EF_ADN, EF_SMS and EF_FDN, where SMS is an abbreviation for "Short message service", ADN is an abbreviation for "Abbreviated dialling numbers" and FDN is an abbreviation for "Fixed dialling numbers.
The application sets up a menu for the user, wherein procedures can be chosen. The procedures relate to the files EF_ADN, EF-SMS and EF_FDN. In order to maintain the integrity of the file system, the resize operations on the files are carried out by use of the transaction machine. The menu structure is shown on in the diagram below.
Here a status of the files EF_SMS, EF_ADN and EF_FDN is presented.
For each of the 3 files, the status is decimal numbers of:
1) The number of records in the file.
2) The last used record ϊn the file (this number does not necessarily match the actual number of used records, as 'holes' in the files are not detected by the records).
3) The maximum possible number of records in this file.
Some of this information can be masked out due to special values of the placeholder indices in the info-text file.
More ADN
Offers the possibility of adding records to the file EF_ADN. The input prompt allows the user to input a desired number in the range 1 to 99. If this number together with the current number of records exceeds the maximum possible number of records, message #2 from the file RAS_MESS:
If the entered number is valid, the modifications to the filesystem are made, and the phone is hereafter requested to make a SIM reset.
• Remove ADN
Offers the possibility of removing records from the file EF_ADN. The input prompt allows the user to input a desired number in the range 1 to 99. The minimum allowed number of records in any of the files is 1. If the resulting number of records is less than 1 , message #2 from the file RAS_MESS is displayed:
If the operation will remove records that hold data, message #3 from the file RAS_MESS is displayed:
?ii^I^i^l lH^^§^^l^ «s i
If the displayed message is accepted, the operation will be completed, and the phone is requested to make a SIM reset.
More SMS
Offers the possibility of adding records to the file EF_SMS. The input prompt allows the user to input a desired number in the range 1 to 99. If this number exceeds 10, or together with the current number of records exceeds the maximum possible number of records, message #2 from the file RAS_MESS is displayed:
pi iβisi
If the entered number is valid, the modifications to the filesystem are made, and the phone is hereafter requested to make a SIM reset.
Remove SMS
Offers the possibility of removing records from the file EF_SMS. The input prompt allows the user to input a desired number in the range 1 to 99. The minimum allowed number of records in any of the files is 1. If the number exceeds 10 or if the resulting number of records is less than 1 , message #2 from the file RASJV1ESS is displayed:
IfrarørøSSI
If the operation will remove records that hold data, message #3 from the file RAS_MESS is displayed:
III> iIiIIliii§ili^
If the displayed message is accepted, the operation will be completed, and the phone is requested to make a SIM reset.
FDN Utils
Access to this functionality requires a correct presentation of PIN-code 2. The user is prompted for the code, the input is the verified. If the verification fails, message #5 from the file RAS_MESS is displayed:
ϋϋililillili
After the third consecutive failed verification PIN-code 2 is blocked, and message #4 from the file RAS_MESS is displayed:
ililiSIIlϋ
To unblock PIN2, the unblocking facility of the phone must be invoked. On most phones this can be done by enabling/disabling 'fixed dialling'.
If the PIN-code is correct, the following possibilities on EF_FDN are offered:
• More FDN (similar to more ADN)
• Remove FDN (similar to more ADN) Clear SMS
Offers the possibility of clearing all the records in EF_SMS. Message #3 from the file RASJVIESS is displayed:
lil^llliiiiiiiiiislilliipliiii
If the displayed message is accepted, the operation will be completed, and the phone is requested to make a SIM reset.
Known problems
Use of the proactive command 'REFRESH'
After any manipulation in files used by the ME, it is necessary to make the ME aware of the changes by using the 'Refresh' proactive command. This command can be used in 5 different modes as specified in GSM 11.14. Some of these modes are intended to use when files have been modified, and the ME needs to be notified without a full restart. Unfortunately the 'Refresh' command is no properly supported by all phones, so therefore the command is used to make a SIM reset. Phones that doesn't support 'REFRESH' properly: » Motorola 9201 + possibly all other Motorola
Time out problems
On some phones temporary errors have been observed, when large changes is requested. These errors seem to occur due to timeout in the ME, when the actual moving of E2PROM data is done. Phones that seems to timeout early:
• Alcatel One Easy Touch
• Ericsson A 018s
Unreadable / misalignment of display text
Not all phones display the application text messages as intended. Phones that doesn't display the text correct:
• Ericsson T28 s (Reported by MPM, Graphium)
Personalisation
Please refer to the document FileMan_pers_f iles . doc for information related to the files and personalisation.
Extensions
00-06-26: The size template changed (ras32.pro). Parentheses replaced by forward slash. To fix reported bug on Ericsson T28s, 'CR' characters inserted instead of 'LF'.
PIN2 verification
The verification of PIN2 is has been implemented in the minimum way, i.e. only the prompt and verification is made. Unblocking is left behind for the phone itself. This poses a potential problem for phones not having an unblocking facility for PIN2. This is regarded as a feature, intended by the designers of the phone. Problem child: Motorola cd9201.
preliminary test list
The application has been tested in the following phones:
Corrections
In response to the general result 'Command beyond ME ' s capabilities' on a SETUP MENU proactive command, the application retries an infinite number of times. This was corrected, so the application now stops trying after the first unsuccessful attempt.
Proposals for future work
• Add a function that automatically fills up any 'holes' in a file with the last records in that file. This will make it easier for the user to decide when he could save records by moving them manually (never), prior to using the remove functions.
Users manual
Please refer to the document Fileman users manual . doc .
_
16
In the following, the application will be described in greater details by use of file and text string descriptions. Especially, personalisation and file plans will be described.
Change Jog
00-06-14 Created S J
00-07-03 SMJ: First test version for test cards released to MPM(α>.Graphϊum.
00-07-04 SMJ: Test template file for size info extended with placeholder indices.
Personalisation
To ease the move operations on the filesystem, it is necessary to create the files so the telecom directory, 7F10, is the physically last one. Within 7F10 the files EF_FDN, EF_SMS and EF_ADN, shall be the physically last ones (in that order).
Example profile:
FILE,3F00,D,MF
FILE, 7F20,D, GSM ,NN4444,D The GSM Directory
; Ending the GSM Directory
FILE,7F30,D,APPLIC ,NN4444, D The Toolkit Directory
DFEND ; Ending the Toolkit Directory
FILE, 7F10.D,TELECOM ,NN4444,D. ; The Telecom Directory
FILE,6F3C,L,SMS FILE, 6F3B,L,FDN FILE,6F3A,L,ADH
DFEND ; Ending the Telecom Directory END
S
File plan, toolkit directory.
RASJVIAIN
This is the file used for setting up the main πienu.
Description M/O Length Value
Item tag M $0F
Length $0A
Identifier of item $01
Text string of item M 'Size info'
Menu item TLV 2
Description M/O Length Value
Item tag M 1 $0F
Length M $09 identifier of item M_ $02
Text string of item M 8 'More ADN'
IVlenu item TLV 3
Description M/O Length Value
Item tag 1 $0F
Length $0B
Identifier of item $03
Text string of item M 10 'Remove ADN'
This file contains the text 'skeleton' used when displaying the file information. This file should onl be changed in the event of changes in the a lication soυrcel
Note: The application will overwrite the placeholders (x/X/y/Y/z/Z), that has been defined in the 'Placeholder indices' section by their location relative to the 1. byte of the string (in hexadecimal values).
Placeholder indices
$OA = linefeed character
Hint:
If the field 'Used' should be omitted from the display text, this can be done by giving the file the following content:
Text string:
Index 1 A B D 10 char P/l OA M
Index 11 12 13 14 15 16 17 18 19 1A 1B 10 1D 1E 1F 20 char OA A D N
Index 21 22 23 24 25 26 27 28 29 2A 2B 20 2D. 2E 2F 30 char 0A D N
Placeholder i dices:
RASJVJESS
This f e co t e text for the warning messages for the application.
Text TLV 1
Description M/O Length Value
Text string tag M 1 $0D
Length M $29
Data coding scheme M $04
Text string M 40 'WARN!NG!'$0A 'This will clear all SM records.'
RAS_Gl
This file contains the label text for the prompt for number of records to add.
This file contains the label text for the prompt for number of records to remove.
Identifier: 6F94 Structure: transparent
File size: 22 bytes Update activity: low
Access conditions: READ ALW UPDATE CHV3 INVALIDATE CHV3 REHABILITATE CHV3
Bytes Description M/O Length
1-18 Text TLV M 18 bytes
19-22 Response length TLV M 4 bytes
RAS_GI3
This file contains the label text for the prompt for number of records to remove.
UB TIT SHEET
RASJTESV!
This is the file used for setting up the 'FDN utils' menu.
SUB