Abstract: A system for communicating with a mobile communication device is disclosed. The system comprises of a library of commands, with each command including an action to be carried out by the mobile communication device wherein each command is represented by a unique tag. The system further comprises of a task processor configured to build a dynamic task from one or more commands from the library of commands and to represent the dynamic task with the tags for the commands making up the dynamic task. The task processor further configured to communicate the dynamic task to the mobile communication device by transmitting the corresponding tags wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it. A SIM card for a mobile communication device is also disclosed. The SIM card comprises of a library of commands, with each command including an action to be carried out by the mobile communication device wherein each command is represented by a unique tag. The SIM card further comprises of a message handler capable of communication with a mobile network system and further configured to receive tags for the commands making up a dynamic task. The SIM card further comprises of a task processor configured to build the dynamic task by identifying the commands represented by the tags received by it.
The invention relates to a SIM card architecture for a mobile communication device.
More particularly, the invention relates to a dynamic SIM card capable of dynamically executing tasks.
BACKGROUND
Mobile devices through mobile applications are today capable of conducting various transactions including payment of bills, secure access to third party applications, enhanced authentication and verification, storing messages received in a secure manner, group tasks. An increase in mobile commerce and particularly the security standards for mobile commerce has led to mobile commerce applications (mobile client) becoming complex and requiring multiple steps to be carried out for a transaction. Security and confidentiality are becoming increasing concerns for mobile devices and some applications have been developed that address these concerns.
Applications are typically installed on the storage area of the mobile device and hence not portable. Users face a problem on changing their mobile devices as the mobile client on their existing mobile device cannot be moved to a new mobile device. Upgrading and adding new features to the mobile client is also difficult, on account of the complex structure offering limited capability of downloading or upgrading new features or services.
However, existing applications for mobile devices are generally limited to transaction information and authentication such as authorizing a sale, with the actual task creation and execution requiring the secondary step of accessing the ability of a secondary system through which the transaction takes place.
Moreover, for each application provisioned on the mobile device a new set of software components or modules need to be transferred to the mobile device before the device can execute them. This leads to complexities including large amount of data to be transferred between the server and the mobile device. WO 2008/059257 describes a component based delivery system to address this concern. However, a component based delivery system also requires significant amounts of data to be transmitted between the server and the mobile device.
While SIM card based applications are generally preferred on account of better security, on account of a limitation on the size of SIM cards there is a limit to the number of applications that can be provisioned on a SIM card. A SIM Application Toolkit (commonly referred to as STK) provides mechanisms which allow applications, existing in the SIM, to interact and operate with a mobile device which supports the specific mechanism(s) required by the application. The STK enables the SIM to initiate actions which can be used for various value-added services and was developed as a way for running applications on the SIM card. The SIM Application Toolkit consists of a set of commands programmed into the SIM card which define how the SIM should interact directly with the outside world and initiates commands independently of the handset and the network. This enables the SIM to build up an interactive exchange between a network application and the end user and access or control access to the network.
STK has been deployed by many mobile operators around the world for many applications, often where a menu-based approach is required, such as mobile banking and content browsing. The STK is designed as a single application environment and is especially suited to low level applications with simple user interfaces. Available STK's are essentially static and capable of personalizing menus on the SIM client such as the addition of a new menu "Cricket IPL scores". However, available STK's are unable to execute dynamic messages received from the server.
BRIEF DESCRIPTION OF DRAWINGS
The following is a brief description of the preferred embodiments with reference to the accompanying drawings. It is to be understood that the features illustrated in and described with reference to the drawings are not to be construed as limiting of the scope of the invention. In the accompanying drawings:
Figure 1 illustrates a schematic illustration of a SIM card architecture for a mobile communication device in accordance with an embodiment of the invention.
Figure 2 illustrates a table showing proactive commands stored in LV format in accordance with an embodiment of the invention.
Figure 3 illustrates a table showing a general message format for communication between the mobile network system and the SIM card in accordance with an embodiment of the invention.
Figure 4 illustrates a table showing a list of some items that are stored on the SIM cardin accordance with an embodiment of the invention.
Figure 5 illustrates a table showing a specific dynamic message sent from the mobile network system to the SIM card in accordance with an embodiment of the invention.
Figure 6 illustrates a table showing an example of a proactive command structure in accordance with an embodiment of the invention.
Figure 7 illustrates a table showing an example of a proactive command structure in accordance with an embodiment of the invention.
Figure 8 illustrates a table showing an example of a proactive command structure in accordance with an embodiment of the invention.
Figure 9 illustrates a table showing an example of a proactive command structure in accordance with an embodiment of the invention.
Figure 10 illustrates a table showing a get input item proactive command in accordance with an embodiment of the invention.
SUMMARY
A system for communicating with a mobile communication device is disclosed. The system comprises of a library of commands, with each command including an action to be carried out by the mobile communication device wherein each command is represented by a unique tag. The system further comprises of a task processor configured to build a dynamic task from one or more commands from the library of commands and to represent the dynamic task with the tags for the commands making up the dynamic task. The task processor further configured to communicate the dynamic task to the mobile communication device by transmitting the corresponding tags wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
A SIM card for a mobile communication device is also disclosed. The SIM card comprises of a library of commands, with each command including an action to be carried out by the mobile communication device wherein each command is represented by a unique tag. The SIM card further comprises of a message handler capable of communication with a mobile network system and further configured to receive tags for the commands making up a dynamic task. The SIM card further comprises of a task processor configured to build the dynamic task by identifying the commands represented by the tags received by it.
In accordance with an aspect, a mobile network system configured to build a dynamic task from one or more commands available in a library of commands, with each command including an action to be carried out by the mobile communication device, wherein each command is represented by a unique tag. The mobile network system represents the dynamic task with the tags for the commands making up the dynamic task and communicates the dynamic task to the mobile communication device by transmitting the corresponding tags wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
DETAILED DESCRIPTION
Figure 1 illustrates a SIM card architecture for a mobile communication device in accordance with an embodiment. The SIM card includes a task processor, a message handler and an application database. In addition, the SIM card includes a start up byte code and a main menu byte code. The message handler is responsible for receiving and sending message responses from a mobile network system with which the mobile communication device is in communication contact. The application database holds information that will be used by the task processor for messages and byte code execution. This information includes banking related data, application parameters and services offered by the SIM card.
The task processor is responsible for interpreting the messages forwarded by the message handler and processing the same. The task processor also interprets dynamic messages or dynamic byte code received from the mobile network system based on the protocol defined for the SIM card. For example, if a user clicks on a financial services application such as "mChek" on his mobile communication device, the required byte code from the main menu is passed on to the task processor for execution. If required, the task processor may also access the application database to obtain information required for execution an action. The task processor on executing the byte code in accordance with the protocol defined for the SIM card, builds proactive commands (described below) and forwards the same to the mobile communication device display. The task processor forwards proactive commands to the mobile communication device for execution, that executes and displays the result and a response is sent back to the SIM card.
In accordance with an aspect, the application database contains a library of commands with each command including an action to be carried out by the mobile communication device wherein each command is represented by a unique tag.
In accordance with an embodiment, a task processor configured to build a dynamic task from one or more commands from the library of commands and to represent the dynamic task with the tags for the commands making up the dynamic task. The task processor further configured to communicate the dynamic task to the mobile communication device by transmitting the corresponding tags, wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
The start-up byte code is instructions defined as per the protocol that is passed on to the task processor every time a user starts the phone. When a SIM card is used on a mobile communication device for the first time, the SIM card application stores the IMEI of the mobile communication device in a static IMEI buffer array. If the mobile communication device is changed, the new IMEI gets stored on the static IMEI buffer array and an application message is sent to the mobile network system to update the details.
The main menu is a sequence of byte code commands defined as per the protocol and stored on a menu buffer on the SIM card. The main menu is a static menu including fixed flow of certain actions that is permanently provided on the SIM card. The main menu is developed by generating a sequence of commands in accordance with the defined proactive commands. Each proactive command is stored as a LV format as described in Figure 2. The first byte indicates the number of LV's present in the menu flow. These proactive commands are passed on to the task processor and the engine starts executing them in the sequence defined.
MESSAGE FORMAT:
With reference to Figure 3, the general message format for communication between the mobile network system and the SIM card is explained.
The first 3 bytes of all the SMS are named as SID, AVN, TID where: SID stands for Service ID that is required for the wireless gateway to route the transactions.
AVN stands for application version number contains the Version number of the application
TID stands for transaction ID and signifies for what kind of request the message corresponds to. For Ex: Activation, Add Bank etc.
MAC is the first 4 bytes obtained when 3-Des encryption is done for the whole data (starting from byte) which has to be sent. The key used here is encryption key.
Checksum is the first 4 bytes obtained when 3-Des operation is done for the whole data (might include MAC too) which has to be sent. The key used here is encryption key. In any mobile originating messages "Key version number" (1byte) is always appended before checksum
Script ID is the counter maintained at both SIM card and the mobile network system. The mobile network system for all personalization messages will always send a script Id along with the payload (application data). The SIM card compares the script on SIM card with that of the mobile network system ,
STATIC MENU FLOW STORED ON SIM
The static menu flow includes items or proactive commands that represent a certain functionality. The items are represented by a single byte and are most commonly used action or commands that need to be executed. Figure 4 lists some of the items that are stored on the SIM card.
As the proactive commands stored in the static memory are represented by 1 byte only, the mobile network system may send dynamic messages requiring different actions to be carried out by the SIM card without requiring transferring large amounts of data. In this way using the pre-stored proactive commands a plurality of future tasks not anticipated at the time of loading the application can also be executed dynamically on the SIM card in an efficient way. The SIM card becomes future proof and capable of executing dynamic messages received from the mobile network system, without the mobile network system having to transmit detailed byte code.
By way of example, a specific dynamic message sent from the mobile network system to the SIM card is illustrated in figure 5
The application payload provided in the dynamic protocol section represents the actual dynamic instructions sent by the mobile network system to the SIM card. The task processor executes the dynamic message received using the proactive commands represented by one byte in the dynamic message.
PROACTIVE COMMAND STRUCTURE
Figure 6 illustrates an example of a proactive command structure in accordance with the protocol where:
Length: The first byte indicates the length of the entire command for e.g. length of a Select item command.
Cmd Type: The second byte indicates the command Type e.g. Select Item, Display text. Get input. Etc. mChek also defines its proprietary Commands.
Prev LV: The third byte indicates or points to the LV command which needs to be executed if terminal response is CANCEL. This byte is always represented in ASCII in hex.
Next LV: The fourth byte indicates or points to the LV command which needs to be executed if terminal response is OK. This byte is always represented in ASCII in hex.
No of Items: The fifth byte indicates the no items present in the command. For e.g. no if items present in select item, no of Get input commands to be executed.
Items: This represents the data for the command to be executed. Items are represented by a single byte in accordance with the protocol.
EXAMPLES OF PROACTIVE COMMANDS STORED ON SIM card
1. Select item proactive command
Figure 7 illustrates the select item proactive command in accordance with the protocol where:
Length: length of the entire Select item command.
Cmd Type: 0x24 coding as per GSM standards. This byte indicates that this command is a select item.
Prev LV: if user clicks on Cancel, this byte points to the LV command which needs to be executed. If coding is 0x00 STK must end the session.
Next LV: The fourth byte indicates or points to the LV command which needs to be executed if terminal response is OK. This byte is always represented in ASCII in hex. If user selects the first item next LV command executed is coded here. If user selects the second item, the LV command to be executed will be NextLV+1.
No of Items: The fifth byte indicates no of items present in the Select item command. For e.g. no if items present in select item, no of Get input commands to be executed.
The item is in a LV format. Value contains the Item identifier and item String. If the item identifier is 0x00 the preceding string acts as alpha identifier. Enabling and disabling of a static menu item "mChekMall" with in select item. If item ID Present in the select item is 0x0E, check if mChekMall flag is enabled or not, if enabled show "mChekMall" as part of menu else ignore. By default this flag is disabled, i.e., mChekmall item is hidden.
Enabling and disabling of a static menu item "Link account" with in select item.
If item ID Present in the select item is 0x0F, check if "Link account" flag is enabled or not, if enabled show "Link account" as part of menu else ignore. By default this flag is disabled, i.e. Link account item is hidden. The flags are updated using Manage application message.
2. Display text proactive command
Figure 8 illustrates the select item proactive command in accordance with the protocol where the terms have the same meaning as in example one above and Item 1: Display text data in LV.
Display text data is in LV format. Value contains the Command qualifier and the display string that needs to be displayed. Coding for command qualifier is as per GSM standards.
3. Getinput [LV format] proactive command
Figure 9 illustrates the get input item proactive command in accordance with the protocol where the terms have the same meaning as in example one above and Item 1: Get Input data in LV
4. Getinput [Non LV format] proactive command
Figure 10 illustrates the get input item proactive command in accordance with the protocol where the terms have the same meaning as in example one above and Item 1: Get Input data in non LV forma tCmd Type: 0x45 this is the mChek proprietary command. This byte indicates that this command is a Getinput with non LV format.
No of Items: indicates no of Getinput that needs to be executed in series one by one. If user clicks OK on first Getinput and if there is a second get input present then second get input to be executed. This goes on until all items of get input get executed.
SPECIFIC EMBODIMENTS ARE DESCRIBED BELOW
A system for communicating with a mobile communication device comprising a library of commands, with each command including an action to be carried out by the mobile communication device; wherein each command is represented by a unique tag, a task processor configured to build a dynamic task from one or more commands from the library of commands and to represent the dynamic task with the tags for the commands making up the dynamic task; the task processor further configured to communicate the dynamic task to the mobile communication device by transmitting the corresponding tags wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
Such system(s), wherein the size of the unique tag is one byte.
A SIM card for a mobile communication device comprising a library of commands, with each command including an action to be carried out by the mobile communication device; wherein each command is represented by a unique tag, a message handler capable of communication with a mobile network system and further configured to receive tags for the commands making up a dynamic task and a task processor configured to build the dynamic task by identifying the commands represented by the tags received by it.
Such SIM card(s), wherein the size of the imique tag is one byte.
Such SIM card(s), further configured to communicate the dynamic task to the mobile communication device processor for execution.
FURTHER SPECIFIC EMBODIMENTS ARE DESCRIBED BELOW
A method of communicating a dynamic task to a mobile communication device in communication with a mobile network system, comprising building the dynamic task from one or more commands available in a library of commands, with each command including an action to be carried out by the mobile communication device; wherein each command is represented by a unique tag, representing the dynamic task with the tags for the commands making up the dynamic task and communicating the dynamic task to the mobile communication device by transmitting the corresponding tags wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
Such method(s), wherein the size of the unique tag is one byte.
We Claim:
1. A system for communicating with a mobile communication device comprising:
a library of commands, with each command including an action to be carried out by the mobile communication device; wherein each command is represented by a unique tag;
a task processor configured to build a dynamic task from one or more commands from the library of commands and to represent the dynamic task with the tags for the commands making up the dynamic task; the task processor further configured to communicate the dynamic task to the mobile communication device by transmitting the corresponding tags; wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
2. A system as claimed in claim 1 wherein the size of the unique tag is one byte.
3. A SIM card for a mobile communication device comprising:
a library of commands, with each command including an action to be carried out by the mobile communication device; wherein each command is represented by a unique tag;
a message handler capable of communication with a mobile network system and further configured to receive tags for the commands making up a dynamic task; and
a task processor configured to build the dynamic task by identifying the commands represented by the tags received by it.
4. A SIM card as claimed in claim 3 wherein the size of the unique tag is one byte.
5. A SIM card as claimed in claim 3 further configured to communicate the dynamic task to the mobile communication device processor for execution.
6. A method of communicating a dynamic task to a mobile communication device in communication with a mobile network system, comprising:
building the dynamic task from one or more commands available in a library of commands, with each command including an action to be carried out by the mobile
communication device; wherein each command is represented by a unique tag;
representing the dynamic task with the tags for the commands making up the dynamic task; and
communicating the dynamic task to the mobile communication device by transmitting the corresponding tags;
wherein the mobile communication device comprises of the library of commands and is configured to build the dynamic task by identifying the commands represented by the tags received by it.
7. A method as claimed in claim 6 wherein the size of the unique tag is one byte.
8. A method of communicating a dynamic task to a mobile communication device in communication with a mobile network system substantially as herein described with reference to and as illustrated by the accompanying figures.
9. A SIM card for a mobile communication device substantially as herein described with reference to and as illustrated by the accompanying figures.
10. A system for communicating with a mobile communication device substantially as herein described with reference to and as illustrated by the accompanying figures.
| # | Name | Date |
|---|---|---|
| 1 | 2018-che-2009 abstract 23-08-2010.pdf | 2010-08-23 |
| 1 | 2018-che-2009 power of attorney 24-08-2009.pdf | 2009-08-24 |
| 2 | 2018-che-2009 form-1 24-08-2009.pdf | 2009-08-24 |
| 2 | 2018-che-2009 claims 23-08-2010.pdf | 2010-08-23 |
| 3 | 2018-che-2009 drawings 24-08-2009.pdf | 2009-08-24 |
| 3 | 2018-che-2009 correspondence others 23-08-2010.pdf | 2010-08-23 |
| 4 | 2018-che-2009 description(provitional) 24-08-2009.pdf | 2009-08-24 |
| 4 | 2018-che-2009 description (complete) 23-08-2010.pdf | 2010-08-23 |
| 5 | 2018-che-2009 correspondence others 24-08-2009.pdf | 2009-08-24 |
| 5 | 2018-che-2009 drawings 23-08-2010.pdf | 2010-08-23 |
| 6 | 2018-CHE-2009 FORM-1 13-12-2009.pdf | 2009-12-13 |
| 6 | 2018-che-2009 form-1 23-08-2010.pdf | 2010-08-23 |
| 7 | 2018-che-2009 form-2 23-08-2010.pdf | 2010-08-23 |
| 7 | 2018-CHE-2009 ASSIGNMENT 13-12-2009.pdf | 2009-12-13 |
| 8 | 2018-che-2009 form-5 23-08-2010.pdf | 2010-08-23 |
| 8 | 2018-che-2009 form-3 23-08-2010.pdf | 2010-08-23 |
| 9 | 2018-che-2009 form-5 23-08-2010.pdf | 2010-08-23 |
| 9 | 2018-che-2009 form-3 23-08-2010.pdf | 2010-08-23 |
| 10 | 2018-CHE-2009 ASSIGNMENT 13-12-2009.pdf | 2009-12-13 |
| 10 | 2018-che-2009 form-2 23-08-2010.pdf | 2010-08-23 |
| 11 | 2018-CHE-2009 FORM-1 13-12-2009.pdf | 2009-12-13 |
| 11 | 2018-che-2009 form-1 23-08-2010.pdf | 2010-08-23 |
| 12 | 2018-che-2009 correspondence others 24-08-2009.pdf | 2009-08-24 |
| 12 | 2018-che-2009 drawings 23-08-2010.pdf | 2010-08-23 |
| 13 | 2018-che-2009 description(provitional) 24-08-2009.pdf | 2009-08-24 |
| 13 | 2018-che-2009 description (complete) 23-08-2010.pdf | 2010-08-23 |
| 14 | 2018-che-2009 drawings 24-08-2009.pdf | 2009-08-24 |
| 14 | 2018-che-2009 correspondence others 23-08-2010.pdf | 2010-08-23 |
| 15 | 2018-che-2009 form-1 24-08-2009.pdf | 2009-08-24 |
| 15 | 2018-che-2009 claims 23-08-2010.pdf | 2010-08-23 |
| 16 | 2018-che-2009 power of attorney 24-08-2009.pdf | 2009-08-24 |
| 16 | 2018-che-2009 abstract 23-08-2010.pdf | 2010-08-23 |