生成USIM卡中菜单的方法及系统转让专利

申请号 : CN201010262191.0

文献号 : CN101916191B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨可可金明晔宫洁琳李笑郁刘光辉

申请人 : 中国联合网络通信集团有限公司

摘要 :

本发明涉及生成USIM卡中菜单的方法和系统,方法包括:步骤1,USIM卡依据OTA大类ID分组,为每个分组预留菜单入口项;步骤2,Java应用服务器为Java应用计算位置序号,向USIM卡安装指令;步骤3,OTA应用服务器依据OTA应用规范向USIM卡发送命令;步骤4,USIM卡依据接收到的命令中的OTA大类ID判断命令中OTA大类所属分组,在分组内对OTA大类进行对应操作,依据接收到的Java应用的安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项组织菜单建立命令,生成菜单。本发明能够在USIM卡中完成对Java应用菜单和OTA应用菜单的相互兼容。

权利要求 :

1.一种生成USIM卡中菜单的方法,USIM卡中包括Java应用和OTA应用,所述Java应用具有菜单,其特征在于,所述方法包括:步骤1,USIM卡依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项;

步骤2,Java应用服务器接收并记录各个USIM卡中已有Java应用的信息以及所述USIM卡中为OTA大类预留菜单入口项的信息;根据所述记录的信息为Java应用计算位置序号,以使Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡下发包含安装参数的安装指令;

步骤3,OTA应用服务器依据OTA应用规范向USIM卡发送命令;

步骤4,USIM卡依据接收到的OTA大类的命令中的OTA大类ID判断所述命令中OTA大类所属分组,在所述分组内对所述OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项;USIM卡依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。

2.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,所述步骤1进一步为,

步骤21,USIM卡依据大类ID将OTA大类分组;

步骤22,USIM卡在Java的菜单入口列表中为每个分组预留菜单入口项,所述每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为禁用,设置预留菜单入口项的位置序号的范围。

3.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,所述步骤2还包括:

步骤31,Java应用服务器为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级;

所述步骤2中为Java应用计算位置序号进一步为,

步骤32,根据所述记录的信息和所述位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。

4.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,所述步骤2还包括:

步骤41,Java应用服务器记录每张USIM卡可承载的未被锁定的最大Java应用个数;

步骤42,Java应用服务器在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到所述USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送所述安装指令或所述相关指令;

所述步骤4还包括,

步骤43,USIM卡接收到所述解锁的相关指令后,按所述指令进行对应解锁操作。

5.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,所述步骤2中生成除位置序号外的其他安装参数进一步为,

步骤51,依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;

步骤52,依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。

6.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,在所述OTA大类的命令的操作为增加大类时,所述步骤4中在所述分组内对所述OTA大类进行对应操作进一步为,步骤61,依据OTA大类ID,将被增加的OTA大类和所属分组中的OTA大类排序,确定所述被增加的OTA大类在分组中的位置;

步骤62,将所述被增加的OTA大类插入所述位置,并依据命令修改对应菜单入口项的状态。

7.如权利要求6所述的生成USIM卡中菜单的方法,其特征在于,所述步骤61前还包括:步骤71,判断增加所述OTA大类后,所述分组中的OTA大类数量是否超出为分组预留的菜单入口项数量,如果是,则禁止所述增加操作,否则,执行步骤61。

8.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,在所述OTA大类的命令的操作为删除大类时,所述步骤4中在所述分组内对所述OTA大类进行对应操作进一步为,步骤81,将所述OTA大类对应菜单入口项的状态修改为禁用。

9.如权利要求1所述的生成USIM卡中菜单的方法,其特征在于,所述步骤4中组织菜单建立命令时,判断所有启用的菜单入口项相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的菜单入口项从菜单建立命令中除去。

10.如权利要求9所述的生成USIM卡中菜单的方法,其特征在于,在菜单入口项变化时,所述步骤4还包括,重新根据菜单入口项当前状态构建菜单建立命令,并确保指令数据不超过规定长度。

11.一种生成USIM卡中菜单的系统,USIM卡中包括Java应用和OTA应用,所述Java应用具有菜单,其特征在于,所述系统包括:USIM卡、Java应用服务器、和OTA应用服务器,所述USIM卡,用于依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项;

所述Java应用服务器,用于接收并记录各个USIM卡中已有Java应用的信息以及所述USIM卡中为OTA大类预留菜单入口项的信息;根据所述记录的信息为Java应用计算位置序号,以使Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡下发包含安装参数的安装指令;

所述OTA应用服务器,用于依据OTA应用规范向USIM卡发送命令;

所述USIM卡还用于依据接收到的OTA大类的命令中的OTA大类ID判断所述命令中OTA大类所属分组,在所述分组内对所述OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项;依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。

12.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,所述USIM卡在依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项时进一步用于依据大类ID将OTA大类分组;

在Java的菜单入口列表中为每个分组预留菜单入口项,所述每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为禁用,设置预留菜单入口项的位置序号的范围。

13.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,所述Java应用服务器还用于为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级;

所述Java应用服务器在为Java应用计算位置序号时进一步用于根据所述记录的信息和所述位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。

14.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,所述Java应用服务器还用于记录每张USIM卡可承载的未被锁定的最大Java应用个数;在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到所述USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送所述安装指令或所述相关指令;

所述USIM卡还用于接收到所述解锁的相关指令后,按所述指令进行对应解锁操作。

15.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,所述Java应用服务器在生成除位置序号外的其他安装参数时进一步用于依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。

16.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,在所述OTA大类的命令的操作为增加大类时,所述USIM卡在所述分组内对所述OTA大类进行对应操作时进一步用于依据OTA大类ID,将被增加的OTA大类和所属分组中的OTA大类排序,确定所述被增加的OTA大类在分组中的位置;

将所述被增加的OTA大类插入所述位置,并依据命令修改对应菜单入口项的状态。

17.如权利要求16所述的生成USIM卡中菜单的系统,其特征在于,所述USIM卡在确定所述被增加的OTA大类在分组中的位置前还用于判断增加所述OTA大类后,所述分组中的OTA大类数量是否超出为分组预留的菜单入口项数量,如果是,则禁止所述增加操作,否则,进行所述确定所述被增加的OTA大类在分组中的位置。

18.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,在所述OTA大类的命令的操作为删除大类时,所述USIM卡在所述分组内对所述OTA大类进行对应操作时进一步用于将所述OTA大类对应菜单入口项的状态修改为禁用。

19.如权利要求11所述的生成USIM卡中菜单的系统,其特征在于,所述USIM卡在组织菜单建立命令时进一步用于判断所有启用的菜单入口项相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的菜单入口项从菜单建立命令中除去。

20.如权利要求19所述的生成USIM卡中菜单的系统,其特征在于,在菜单入口项变化时,所述USIM卡还用于重新根据菜单入口项当前状态构建菜单建立命令,并确保指令数据不超过规定长度。

说明书 :

生成USIM卡中菜单的方法及系统

技术领域

[0001] 本发明涉及通信领域,尤其涉及生成USIM卡中菜单的方法及系统。

背景技术

[0002] 目前,以Java卡作为3G USIM卡,要求在Java卡基础上兼容传统的已经广泛商用的OTA技术。由于Java卡的国际规范和OTA技术规范在一级菜单的排序上分别有各自的要求,同时所有Java应用的相对菜单顺序和OTA应用的相对菜单顺序分别由不同的服务器单独管理,再加上实际商用时又要求根据业务的等级进行菜单的灵活排序,因此必须就在一张卡上实现对Java应用菜单和OTA应用菜单的混合排序。
[0003] 现有技术中,OTA应用的规范,例如《中国联通OTA卡技术规范第二部分:支持OTA下载的STK卡技术规范》,要求支持OTA的卡在组织SetupMenu(菜单建立)命令时要按照OTA大类的索引从小到大排列,OTA大类的索引在卡内不一定连续,也不一定从0x01开始。
[0004] 现有技术中,Java应用的规范,例如《ETSI TS 102 226 Remote APDU structure for UICC based applications》(ETSI TS 102 226基于应用的UICC远程APDU构架)和《ETSI TS 102 241 Smart Cards;UICC Application Programming Interface(UICC API)TMfor Java Card 》(ETSI TS102 241智能卡;Java卡的UICC应用编程接口)的规范要求,Java UICC toolkit applet应用为有菜单的ToolkitJava电信应用,在安装的时候必须指定应用安装参数,安装电信应用菜单时,Java应用服务器向USIM卡下发安装指令,安装指令中指定的应用安装参数包括菜单入口项的位置序号和菜单序号。本发明中以下菜单应用指有菜单的ToolkitJava电信应用。
[0005] 位置序号的范围是0-255,根据用户卡上已有菜单的个数,位置序号从1开始升序计算,例如假设用户卡上已有3个Java应用菜单,分别是Java1,Java2,Java3,则对应的位置序号为1,2,3。如果要新安装一个Java应用菜单,则根据安装参数中指定的位置序号值和用户卡上已有的菜单个数进行比较,添加到相应的位置。例如要新添加一个Java应用菜单Java4,如果安装参数中的位置序号为1,则该菜单入口项排在第一位,其他项顺延,安装成功后菜单顺序为Java4,Java1,Java2,Java3,对应的位置序号由用户卡片自动更新为1,2,3,4;如果安装参数中指定的位置序号为大于等于4小于等于255的任一值,则安装成功后菜单顺序为Java1,Java2,Java3,Java4,对应的位置序号由用户卡片自动更新为1,2,3,
4。如果安装参数中的位置序号指定为0,则用户卡片自动将该菜单入口项添加到所有菜单入口项的最后一个位置,并自动改变其位置序号与菜单入口项个数的值相等。
[0006] Java电信应用菜单入口项的菜单序号的取值范围也为0-255,由安装参数指定,但是要求同用户卡上已安装的菜单入口项的菜单序号不相同,否则安装失败。其中取值范围1-127由安装参数指定,用户卡不会自动更改;如果安装参数指定菜单入口项的菜单序号为0,则用户卡在128-255之间给该菜单入口项自由分配一个未被使用的菜单序号,安装参数中不可以指定菜单序号为128-255之间的值。菜单入口项的菜单序号和位置序号之间不存在关联关系。
[0007] 由于Java应用的安装指令及参数要由Java应用服务器来设置,而该Java应用服务器不负责管理和维护OTA的菜单顺序,因此必须要制定统一的管理规则,让Java应用管理平台能够按照一定的规则进行Java应用菜单的灵活调整,同时不破坏原有的OTA应用服务器对OTA一级菜单的管理,让所有的用户卡片表现一致。
[0008] 现有技术方案的问题在于,现有的Java卡的国际规范和OTA技术规范在一级菜单的排序上分别有各自的要求,同时所有Java应用的相对菜单顺序和OTA应用的相对菜单顺序分别由不同的服务器单独管理,无法在一张USIM卡上对Java应用菜单和OTA菜单进行兼容。

发明内容

[0009] 为解决上述问题,本发明提供了生成USIM卡中菜单的方法及系统,能够在USIM卡中完成对Java应用菜单和OTA应用菜单的相互兼容。
[0010] 本发明公开了一种生成USIM卡中菜单的方法,USIM卡中包括Java应用和OTA应用,所述Java应用具有菜单,所述方法包括:
[0011] 步骤1,USIM卡依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项;
[0012] 步骤2,Java应用服务器接收并记录各个USIM卡中已有Java应用的信息以及所述USIM卡中为OTA大类预留菜单入口项的信息;根据所述记录的信息为Java应用计算位置序号,以使Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡下发包含安装参数的安装指令;
[0013] 步骤3,OTA应用服务器依据OTA应用规范向USIM卡发送命令;
[0014] 步骤4,USIM卡依据接收到的OTA大类的命令中的OTA大类ID判断所述命令中OTA大类所属分组,在所述分组内对所述OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项;USIM卡依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。
[0015] 所述步骤1进一步为,
[0016] 步骤21,USIM卡依据大类ID将OTA大类分组;
[0017] 步骤22,USIM卡在Java的菜单入口列表中为每个分组预留菜单入口项,所述每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为禁用,设置预留菜单入口项的位置序号的范围。
[0018] 所述步骤2还包括:
[0019] 步骤31,Java应用服务器为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级;
[0020] 所述步骤2中为Java应用计算位置序号进一步为,
[0021] 步骤32,根据所述记录的信息和所述位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。
[0022] 所述步骤2还包括:
[0023] 步骤41,Java应用服务器记录每张USIM卡可承载的未被锁定的最大Java应用个数;
[0024] 步骤42,Java应用服务器在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到所述USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送所述安装指令或所述相关指令;
[0025] 所述步骤4还包括,
[0026] 步骤43,USIM卡接收到所述解锁的相关指令后,按所述指令进行对应解锁操作。
[0027] 所述步骤2中生成除位置序号外的其他安装参数进一步为,
[0028] 步骤51,依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;
[0029] 步骤52,依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。
[0030] 在所述OTA大类的命令的操作为增加大类时,所述步骤4中在所述分组内对所述OTA大类进行对应操作进一步为,
[0031] 步骤61,依据OTA大类ID,将被增加的OTA大类和所属分组中的OTA大类排序,确定所述被增加的OTA大类在分组中的位置;
[0032] 步骤62,将所述被增加的OTA大类插入所述位置,并依据命令修改对应菜单入口项的状态。
[0033] 所述步骤61前还包括:
[0034] 步骤71,判断增加所述OTA大类后,所述分组中的OTA大类数量是否超出为分组预留的菜单入口项数量,如果是,则禁止所述增加操作,否则,执行步骤61。
[0035] 在所述OTA大类的命令的操作为删除大类时,所述步骤4中在所述分组内对所述OTA大类进行对应操作进一步为,
[0036] 步骤81,将所述OTA大类对应菜单入口项的状态修改为禁用。
[0037] 所述步骤4中组织菜单建立命令时,判断所有启用的菜单入口项相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的菜单入口项从菜单建立命令中除去。
[0038] 在菜单入口项有变化时,所述步骤4还包括,重新根据菜单入口项当前状态构建菜单建立命令,并确保指令数据不超过规定长度。
[0039] 本发明还公开了一种生成USIM卡中菜单的系统,USIM卡中包括Java应用和OTA应用,所述Java应用具有菜单,其特征在于,所述系统包括:USIM卡、Java应用服务器、和OTA应用服务器,
[0040] 所述USIM卡,用于依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项;
[0041] 所述Java应用服务器,用于接收并记录各个USIM卡中已有Java应用的信息以及所述USIM卡中为OTA大类预留菜单入口项的信息;根据所述记录的信息为Java应用计算位置序号,以使Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡下发包含安装参数的安装指令;
[0042] 所述OTA应用服务器,用于依据OTA应用规范向USIM卡发送命令;
[0043] 所述USIM卡还用于依据接收到的OTA大类的命令中的OTA大类ID判断所述命令中OTA大类所属分组,在所述分组内对所述OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项;依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。
[0044] 所述USIM卡在依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项时进一步用于
[0045] 依据大类ID将OTA大类分组;
[0046] 在Java的菜单入口列表中为每个分组预留菜单入口项,所述每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为禁用,设置预留菜单入口项的位置序号的范围。
[0047] 所述Java应用服务器还用于为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级;
[0048] 所述Java应用服务器在为Java应用计算位置序号时进一步用于根据所述记录的信息和所述位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。
[0049] 所述Java应用服务器还用于记录每张USIM卡可承载的未被锁定的最大Java应用个数;在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到所述USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送所述安装指令或所述相关指令;
[0050] 所述USIM卡还用于接收到所述解锁的相关指令后,按所述指令进行对应解锁操作。
[0051] 所述Java应用服务器在生成除位置序号外的其他安装参数时进一步用于依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。
[0052] 在所述OTA大类的命令的操作为增加大类时,所述USIM卡在所述分组内对所述OTA大类进行对应操作时进一步用于
[0053] 依据OTA大类ID,将被增加的OTA大类和所属分组中的OTA大类排序,确定所述被增加的OTA大类在分组中的位置;
[0054] 将所述被增加的OTA大类插入所述位置,并依据命令修改对应菜单入口项的状态。
[0055] 所述USIM卡在确定所述被增加的OTA大类在分组中的位置前还用于判断增加所述OTA大类后,所述分组中的OTA大类数量是否超出为分组预留的菜单入口项数量,如果是,则禁止所述增加操作,否则,进行所述确定所述被增加的OTA大类在分组中的位置。
[0056] 在所述OTA大类的命令的操作为删除大类时,所述USIM卡在所述分组内对所述OTA大类进行对应操作时进一步用于将所述OTA大类对应菜单入口项的状态修改为禁用。
[0057] 所述USIM卡在组织菜单建立命令时进一步用于判断所有启用的菜单入口项相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的菜单入口项从菜单建立命令中除去。
[0058] 在菜单入口项有变化时,所述USIM卡还用于重新根据菜单入口项当前状态构建菜单建立命令,并确保指令数据不超过规定长度。
[0059] 本发明的有益效果在于,通过在菜单入口列表中为OTA大类预留菜单入口项,能够在USIM卡中完成对Java应用菜单和OTA应用菜单的相互兼容;通过菜单混合排序进一步实现了Java应用管理平台和OTA管理平台的独立管理,互不影响,同时OTA管理平台也不需要进行技术升级,便于维护和升级。

附图说明

[0060] 图1是本发明生成USIM卡中菜单的方法的流程图;
[0061] 图2是本发明生成USIM卡中菜单的系统的结构图。

具体实施方式

[0062] 下面结合附图,对本发明做进一步的详细描述。
[0063] 本发明的生成USIM卡中菜单的方法如图1所示。USIM卡中同时包括Java应用和OTA应用,Java应用为具有菜单的电信应用。
[0064] 步骤S100,USIM卡依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项。
[0065] USIM卡依据大类ID将OTA大类分组;USIM卡在Java的菜单入口列表中为每个分组预留菜单入口项,所述每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为Disable(禁用),设置预留的菜单入口项的位置序号的范围。Disable表示禁止使用并不被显示。
[0066] 一实施例
[0067] USIM卡在预置Java应用,下载安装Java应用,或者添加任何OTA大类之前,要在Java的菜单入口列表(Menu entries’List)中给OTA大类预留32个菜单入口项,菜单入口项中状态为Disable,Position ID(位置序号)范围为1-32,Menu ID(菜单序号)不做限制,可以由USIM卡提供商自定义,但是当有确定的OTA大类被添加的时候,分配的Menu ID不得与Java应用的MenuID冲突。
[0068] 根据大类ID将OTA大类划分为四个分组,每分组对应8个Menu Entry(菜单入口项),OTA大类和分组的对应关系为:大类ID范围在0x10-0x3F之间的OTA大类对应第一分组,大类ID范围在0x50-0x7F之间的OTA大类对应第二分组,大类ID范围在0x90-0xBF之间的OTA大类对应第三分组,大类ID范围在0xD0-0xFF之间的OTA大类对应第四分组。
[0069] 步骤S200,Java应用服务器接收并记录各个USIM卡中已有Java应用的信息以及USIM卡中为OTA大类预留的菜单入口项的信息;根据记录的信息为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡下发包含安装参数的安装指令。
[0070] 在进一步一个较佳的实施方案中,步骤S200还包括Java应用服务器为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级。步骤S200中为Java应用计算位置序号进一步为,根据记录的信息和位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。
[0071] 在进一步一个较佳的实施方案中,步骤S200还包括Java应用服务器记录每张USIM卡可承载的未被锁定的最大Java应用个数;Java应用服务器在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送该Java应用的安装指令或已有Java应用解锁的相关指令。USIM卡接收到该Java应用的安装指令或已有Java应用解锁的相关指令后,按该Java应用的安装指令或已有Java应用解锁的相关指令进行安装或对应解锁的操作。
[0072] 在进一步一个较佳的实施方案中,步骤S200中生成除位置序号外的其他安装参数进一步为依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。
[0073] 实施例中
[0074] Java应用服务器记录每张USIM卡上已下载和已经预置的Java应用的信息,信息中具体包含应用的AID(应用标识)和状态,以及USIM卡上已有的Java应用个数。
[0075] Java应用服务器记录每张USIM卡片可承载的未被锁定的最大Java应用个数。该参数根据各USIM卡片的批次不同而动态设置,具体举例中该参数的值为6。
[0076] Java应用服务器给所管理的Java应用各自分配固定的、每个应用各不相同的PPI(位置优先级),PPI表示应用下载到USIM卡片后显示菜单的先后顺序。具体的PPI越小表示排序中的优先级越高。
[0077] Java应用服务器根据PPI及已经为OTA大类预留的32个Position ID计算Java应用的Position ID,计算的Position ID要满足如下条件,Java应用按照位置优先级在USIM卡片排序,并且Java应用只插入到OTA大类所对应的四分组的Menu Entry组与Menu Entry组之间,而不能插在每分组内的两个Menu Entry之间。至于Java应用与OTA四分组的Menu Entry的相对位置,由Java应用服务器根据业务需要确定,具体不做限制。
[0078] Java应用安装参数中,Java应用服务器根据以上规则生成安装参数,具体要生成的安装参数为Java应用规范中’80’tag下的数据(UICC Toolkit Application specific parameters),其中Menu ID为00,依据规范由USIM卡片自行分配Menu ID,Position ID为根据上述的计算结果。其他安装参数由应用提供商提供,并上载到Java应用服务器,供Java应用服务器下发安装指令时使用。
[0079] Java应用服务器在给USIM卡片下发Java应用的安装指令或已有应用解锁的相关指令之前,先要判断USIM卡片已有的且未锁定的Java应用个数是否已经达到USIM卡片可承载的最大Java应用个数,如果已经相等,则不再给该USIM卡片发送该Java应用的安装指令或已有应用解锁相关指令,如果没有达到,则下发该Java应用的安装指令或已有应用解锁相关指令。
[0080] 应用提供商要保证每个应用的名称不超过七个汉字(即指不包括0x80,菜单名称长度不超过14个bytes),每个应用注册的菜单不能多于一个。
[0081] 步骤S300,OTA应用服务器依据OTA应用规范向USIM卡发送命令。
[0082] 步骤S400,USIM卡依据接收到的OTA大类的命令中的OTA大类ID判断所述命令中OTA大类所属分组,在所述分组内对所述OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项,USIM卡依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间,对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。
[0083] 在较佳的实施方式中,在OTA大类的命令的操作为增加大类时,在分组内对所述OTA大类进行对应操作进一步如下所述。
[0084] 步骤S410,依据OTA大类ID,将被增加的OTA大类和该OTA大类所属分组中的OTA大类排序,确定被增加的OTA大类在分组中的位置。
[0085] 步骤S420,将被增加的OTA大类插入确定的位置,并依据OTA大类的命令修改被增加的OTA大类对应Menu Entry的状态。
[0086] 其中,在OTA大类的命令指示增加的OTA大类禁用时,将对应Menu Entry的状态修改为Disable;在OTA大类的命令指示增加的OTA大类启用时,将对应Menu Entry的状态修改为Enable。
[0087] 在较佳的实施方式中,USIM卡在进行增加操作前,判断增加OTA大类后,该OTA大类所属分组中的OTA大类数量是否超出为分组预留的Menu Entry数量,如果是,则禁止增加操作,否则,进行增加操作。
[0088] 在一较佳的实施方式中,在OTA大类的命令的操作为删除大类时,USIM卡将命令指示被删除的OTA大类对应Menu Entry的状态修改为Disable。
[0089] 在一较佳的实施方式中,USIM卡在组织菜单建立命令时,判断菜单入口列表中所有启用的Menu Entry相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的Menu Entry从菜单建立命令中除去。
[0090] 这里除去的菜单入口项不需要修改状态为Disable,只是不包含在菜单建立命令中而已,因为如果包含的话指令会超长,另外如果刚好后续的其它菜单操作Disable或删除了该菜单入口项之前的菜单入口项,在保证指令不超长的情况下,则该菜单入口项又会包含在菜单建立命令中进行显示。
[0091] 在一较佳的实施方式中,在Menu Entry有变化时,USIM卡重新根据Menu Entry当前状态构建菜单建立命令,并确保指令数据不超过规定长度。
[0092] 按位置序号从小到大的顺序,选择一定数量的Menu Entry,使得指令数据长度恰不超出规定长度。
[0093] 具体实施方式如下所述。
[0094] USIM卡依据接收的对于OTA大类的命令,进行对OTA大类的增加、删除、禁用、激活、重命名操作,对菜单入口列表中预留的4个分组的总共32个Menu Entry进行管理。确保在此组内,各OTA大类的大类ID与Position ID从小到大的顺序一致。
[0095] 状态Enable表示启用该Menu Entry,状态Disable表示禁用该Menu Entry。增加为增加OTA大类,对应Menu Entry状态修改为Enable;删除为删除OTA大类,对应Menu Entry状态修改为Disable;禁用为禁用OTA大类,对应Menu Entry状态修改为Disable;激活为激活OTA大类,对应Menu Entry状态修改为Enabl e;重命名是修改该Menu Entry中的菜单名称,修改菜单名称不改变Menu Entry的状态,并且保证该Menu Entry所在的分组内的Menu Entry个数仍然是8个。
[0096] 当某个OTA大类被删除时,只Disable其对应的Menu Entry项,而不能删除该Menu Entry项,以保证其所在的Menu Entry组的Menu Entry个数仍然是8个。
[0097] USIM卡依据Java规范组织Setup Menu(菜单建立)指令时,Setup Menu指令中的所有启动的Menu Entry由USIM卡片根据Position ID的顺序由小到大排列。
[0098] USIM卡支持安装参数中Menu ID为00的情况下,自动分配Menu ID,确保USIM卡上应用的Menu ID不冲突,具体举例中Java应用的Menu ID范围为0x80到0x8F,或者0xC0到0xCF,其他范围属于OTA大类。
[0099] USIM卡能够限制使得卡上预留给OTA的四组菜单入口列表中,每组添加的OTA大类不超过8个,如果超过,该添加OTA大类操作不成功。
[0100] 如果USIM卡组织Setup Menu指令时,所有启动的Menu Entry加起来指令数据超过255字节,则要求卡片不组织Position ID最大的Menu Entry在指令数据里,直到指令数据小于255字节;如果某些Position ID较小的Menu Entry被删除,则原来不能显示的Menu Entry在指令数据不超过255字节的情况下能够重新显示。
[0101] 验证本发明方法的实施例如下所述。
[0102] 步骤S201,OTA注册,计数器恢复初始状态,关闭PIN。
[0103] 步骤S202,修改ICCID(卡片标识,Integrated Circuit Card Identity)此处修改ICCID为某一特定值,是为了方便测试。
[0104] 步骤S203,模拟服务器修改一级菜单。
[0105] 步骤S204,模拟服务器修改品牌。
[0106] 步骤S205,模拟服务器将USIM卡中所有的OTA大类全部删除。
[0107] 步骤S206至步骤S213为测试JAVA菜单与OTA菜单的生成过程。
[0108] 步骤S206,下发OTA大类管理,将USIM卡中预置五个OTA大类。MENU ID、菜单名称,以及对应的Position ID和状态分别如下所述。
[0109]
[0110] PositionID范围1~8,9~16,17~24,25~32这四组位置ID预留给OTA菜单,其中仅有OTA大类存在的项才启用Enable,其它的项处于禁用Disable状态,不是所有的ID都启用,比如1~8中,只有OTA大类15一个OTA菜单,所以1~8中只有一个ID是启用的,不是这一个组全部启用,该组中存在几个启用的OTA大类就启用几个位置ID,但是该组中同时启用的位置个数不超过8个。以下的状态这一列中针对OTA大类菜单时都是如此。
[0111] 步骤S207,添加Position ID为01,名称为JAVA应用1,添加后的菜单排序如下所述。
[0112]
[0113] 步骤S208,添加Position ID为0X0A(10),菜单名称为JAVA应用2,添加后菜单排序如下所述。
[0114]
[0115] 步骤S209,添加Position ID为0X13(19),菜单名称为JAVA应用3,添加后菜单排序如下所述。
[0116]
[0117] 步骤S210,添加Position ID为0X1C(28),菜单名称为JAVA应用4,添加后菜单排序如下所述。
[0118]
[0119]
[0120] 步骤S211,添加Position ID为0X25(37),菜单名称为JAVA应用5,添加后菜单排序如下所述。
[0121]
[0122] 步骤S212,添加一个MENU ID为A5的OTA大类A5,添加后菜单排序如下所述。
[0123]
[0124]
[0125] 步骤S213,添加Position ID为0X01(01),菜单名称为JAVA应用6,添加后菜单排序如下所述。
[0126]
[0127] 步骤S214至步骤S217测试删除Position ID较小的菜单入口项后在长度不超过FF时原来不显示的菜单入口项能显示。
[0128] 步骤S214,添加Position ID为0X02(02),菜单名称为JAVA应用7,添加后菜单排序如下所述。
[0129]
[0130]
[0131] 这里的Java应用5,位置ID为39,它的菜单入口项状态是Enable,但是由于超长而不被包含在菜单建立命令中进行显示。
[0132] 步骤S215,添加一个MENUID为A7的OTA大类A7,和MENUID为A8的OTA大类A8,并将OTA大类A8禁用,添加后的菜单排序如下所述。
[0133]
[0134] Java应用5,位置ID为39,它的菜单入口项状态是Enable,但是由于超长而不被包含在菜单建立命令中进行显示;OTA大类D5对应的菜单入口项状态是Enable,但是由于超长,而不显示。
[0135] 步骤S216,删除Position ID为0X15(21),菜单名称为JAVA应用3的JAVA应用,删除后菜单排序如下所示。
[0136]
[0137] 步骤S217,禁用一个MENU ID为15的OTA大类15,并添加一个菜单长度为00的92大类后,菜单排序为
[0138]
[0139]
[0140] 步骤S218至步骤S220测试一组OTA大类不能超过8个。
[0141] 步骤S218,删除JAVA应用1、JAVA应用2、JAVA应用4、JAVA应用5,删除后菜单排序如下所述。
[0142]
[0143] 步骤S219,添加两个MENU ID为96、A0的OTA大类,添加后菜单排序如下所述。
[0144]
[0145]
[0146] 步骤S220,添加一个MENU ID为BA的OTA大类,添加不成功,菜单排序还与上次一样。
[0147]
[0148] 本发明生成USIM卡中菜单的系统如图2所示。
[0149] USIM卡中包括Java应用和OTA应用,Java应用具有菜单,其特征在于,系统包括:USIM卡100、Java应用服务器200、和OTA应用服务器300。
[0150] USIM卡100,用于依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项。
[0151] Java应用服务器200,用于接收并记录各个USIM卡100中已有Java应用的信息以及USIM卡100中为OTA大类预留菜单入口项的信息;根据记录的信息为Java应用计算位置序号,以使Java应用被插入到OTA大类的分组间,并生成除位置序号外的其他安装参数,向USIM卡100下发包含安装参数的安装指令。
[0152] OTA应用服务器300,用于依据OTA应用规范向USIM卡100发送命令。
[0153] USIM卡100还用于依据接收到的OTA大类的命令中的OTA大类ID判断命令中OTA大类所属分组,在分组内对OTA大类进行对应操作,分组中OTA大类排列顺序为大类ID从小到大的顺序,并且分组中OTA大类数量不超过预留的菜单入口项数量,对应修改菜单入口列表中的菜单入口项;依据接收到的Java应用的安装指令对Java应用进行排序,根据安装指令中的位置序号将Java应用插入到相应分组间;对菜单入口列表中状态为启用的菜单入口项按位置序号由小到大的顺序组织菜单建立命令,生成菜单。
[0154] 在一优选的实施方式中,USIM卡在依据OTA大类ID将OTA大类分组,在Java的菜单入口列表中为每个分组预留菜单入口项时进一步用于依据大类ID将OTA大类分组;在Java的菜单入口列表中为每个分组预留菜单入口项,每个菜单入口项包括状态、位置序号和菜单序号,初始化状态为禁用,设置预留菜单入口项的位置序号的范围。
[0155] 在一优选的实施方式中,Java应用服务器还用于为所管理的每个Java应用分配表示Java应用菜单在终端显示顺序的位置优先级。
[0156] Java应用服务器在为Java应用计算位置序号时进一步用于根据记录的信息和位置优先级为Java应用计算位置序号,使得Java应用被插入到OTA大类的分组间,并且Java应用的排序同Java应用的菜单在终端中显示的顺序一致。
[0157] 在一优选的实施方式中,Java应用服务器还用于记录每张USIM卡可承载的未被锁定的最大Java应用个数;在准备发送Java应用的安装指令或已有Java应用解锁的相关指令时,根据记录的信息判断作为发送对象的USIM卡中已存在而未被锁定的Java应用个数是否已经达到USIM卡对应的最大Java应用个数,如果是,则不进行发送,否则,发送安装指令或解锁的相关指令。
[0158] USIM卡还用于接收到解锁的相关指令后,按指令进行对应解锁操作。
[0159] 在一优选的实施方式中,Java应用服务器在生成除位置序号外的其他安装参数时进一步用于依据Java应用规范生成菜单序号为00,以使USIM卡自行配置对应的菜单序号;依据应用提供商提供的配置,生成除位置序号和菜单序号的其他安装参数。
[0160] 在一优选的实施方式中,在OTA大类的命令的操作为增加大类时,USIM卡在分组内对OTA大类进行对应操作时进一步用于依据OTA大类ID,将被增加的OTA大类和所属分组中的OTA大类排序,确定被增加的OTA大类在分组中的位置;将被增加的OTA大类插入该位置,并依据命令修改对应菜单入口项的状态。
[0161] 在一优选的实施方式中,USIM卡在确定被增加的OTA大类在分组中的位置前还用于判断增加该OTA大类后,所属分组中的OTA大类数量是否超出为分组预留的菜单入口项数量,如果是,则禁止该增加操作,否则,进行确定该被增加的OTA大类在分组中的位置的操作。
[0162] 在一优选的实施方式中,在OTA大类的命令的操作为删除大类时,USIM卡在所在分组内对OTA大类进行对应操作时进一步用于将该OTA大类对应菜单入口项的状态修改为禁用。
[0163] 在一优选的实施方式中,USIM卡在组织菜单建立命令时进一步用于判断所有启用的菜单入口项相加,指令数据是否超过规定长度,如果是,则按位置序号从大到小的顺序将超出的菜单入口项从菜单建立命令中除去。
[0164] 进一步较佳的实施方式中,在有菜单入口项发生变化时,USIM卡还用于重新根据菜单入口项当前状态构建菜单建立命令,并确保指令数据不超过规定长度。
[0165] 本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。