发明内容
在一个实施例中,为了实现此目的并进一步增强用户体验,发明人提出定义一种新的协议,该新的协议允许ME取得与可用的UICC应用有关的相关数据的集合,以使得所有这些UICC应用可以通过与ME应用(通常呈现为图标)相同的方式呈现/示出,并可被最终用户访问。所提出的协议还将允许最终用户通过点击/选择对应的图标来直接运行UICC应用。在优选的实施例中,将UICC应用和ME应用的菜单项(例如,图标)一起显示在统一的用户界面中,以使得用户不知晓应用是存储在UICC上并由UICC运行还是存储在ME上并由ME来运行。
以下示例示出了使用所提出的解决方案可实现的结果:
-考虑类似“iPhone”的用户界面,与UICC应用相关联的图标将与任何其他的ME应用一样直接示出在主菜单中。
-考虑针对不同类型应用(例如,游戏、工具等)包含不同文件夹的ME用户界面,可以将UICC应用的图标分派到这些文件夹中,在相同类别的ME应用的图标旁,例如,UICC游戏应用的图标将位于与ME游戏应用图标相同的文件夹中,等等。
所提出的新的协议可以使用和包括以下内容:
-定义表征UICC应用的元数据(例如,类别、名称、图标(要呈现给用户)、运行应用所需的参数、与可用网络服务(例如,分组服务)的相关性,等等)。
-定义UICC上新的专用基本文件(EF)(线性固定类型EF、每个UICC应用有一个记录),以存储与UICC应用有关的所有这些元数据
-在针对UICC和ME二者的服务声明例程中增加新的服务
-通过包括对该新的基本文件的读取来更新ME开机序列
-一旦ME已经取得基本文件,ME将基于其自身的UI架构和能力来构建针对这些UICC应用的UI
-在ME中定义模块,当在运行UICC应用之前,元数据需要一些附加操作(例如,登录/密码,检查网络服务的可用性等等)的情况下,该模块将与最终用户交互
-定义允许ME实际请求UICC运行所选择的UICC应用的新的封装命令
在一个实施例中,在ME开机期间,将从UICC向ME传送提供直接访问所需的数据。这将在开机过程中增加几毫秒,并对最终用户完全透明。然后,当最终用户运行UICC应用时,由ME向UICC发送单个封装命令。
将该新的处理与基于SIM工具的现有实现相比较,新的封装命令(运行UICC应用)将简单地取代现有实现中需要的所有所需的建立菜单(Setup Menu)/封装(Envelope)(菜单选择)/选择项目(Select Item)/…命令(图4b中示出)。此外,最终用户在到达UICC应用之前不再必须与SIM服务菜单交互多次(这是用户体验的显著改进)。
根据一个方面,本发明提供了一种移动设备,该移动设备包括:UICC接口,用于与UICC进行接口连接;UICC模块,经由UICC接口与UICC通信;存储器,用于存储移动设备要运行的应用;以及UI模块,用于提供允许用户访问应用的用户界面;其中,UICC模块被布置为在与用户界面的任何用户交互之前或独立于与用户界面的任何用户交互,从UICC获得针对UICC上可用的UICC应用的UICC应用元数据,以及将UICC应用元数据存储在存储器中;UI模块使用UICC应用元数据来产生用户界面,用户能够经由所产生的用户界面来选择要运行的UICC应用;以及响应于选择UICC应用的用户输入,UICC模块向UICC发送运行所选择的UICC应用的命令。在一个实施例中,移动设备在开机或重置例程期间获得UICC应用元数据。在另一实施例中,移动设备在显示用户界面之前开始获得UICC应用元数据,该用户界面允许用户在移动设备上或UICC上的应用中导航。
在一个实施例中,UICC应用元数据包括运行UICC应用所需的条件,以及UICC模块响应于对UICC应用的用户选择,在发送运行所选择的UICC应用的命令之前,检查与所选择的UICC应用相关联的条件。该条件可以定义所需的网络服务。在这种情况下,UICC模块可以检查所需的网络服务是否可用,以及仅在所需的网络服务可用的情况下发送运行所选择的UICC应用的命令。该条件可替代或附加地定义需要用户认证。在这种情况下,UICC模块可以执行用户认证,以及仅在用户认证成功的情况下发送运行所选择的UICC应用的命令。UICC模块可以通过促使用户输入用户名和/或密码,并将所输入的用户名和/或密码与在UICC应用元数据中提供的用户名和/或密码进行比较,来执行认证。
在一个实施例中,UICC应用元数据包括图标或指向图标的指针,以及UI模块使用图标来产生用户界面。
UI模块可以产生对移动设备上和UICC上可用的应用的混合进行显示的用户界面。UICC应用元数据可以包括类别数据,UI模块可以使用类别数据在用户界面上将相同类别的UICC应用和移动设备应用分组在一起。
在一个实现中,UICC应用元数据存储在UICC上的基本文件内,以及UICC模块从所述基本文件读取元数据。
本发明还提供了UICC,包括:接口,用于与移动设备进行接口连接;存储器,用于存储UICC应用以及与UICC应用有关的UICC应用元数据;以及与移动设备通信的控制模块;其中,控制模块可操作用于在任何用户交互之前,向移动设备提供UICC应用元数据,以及可操作用于响应于从移动设备接收运行UICC应用的命令,运行所述UICC应用。在一个优选实施例中,控制模块形成UICC的操作系统的一部分,然而在其他实施例中,可以将控制模块作为UICC上的一个或多个单独的模块来提供。
UICC应用元数据可以包括运行UICC应用所需的条件,以由移动设备用来在发送运行所选择的UICC应用的命令之前检查是否已经满足所需的条件。例如,该条件可以定义所需的网络服务和/或需要用户认证。在需要用户认证的情况下,UICC应用元数据通常将包括用户名和/或密码。
UICC应用元数据可以包括图标或指向图标的指针,以在用户界面(例如,显示器)上显示给用户。UICC应用元数据还可以包括类别数据,该类别数据标识与每个UICC应用相关联的类别。
在一个实现中,UICC应用元数据存储在基本文件内,以及USAT模块从所述基本文件向移动设备提供元数据。
如果UICC应用元数据发生改变,例如,如果更新了UICC应用,则USAT模块可以触发移动设备重新读取应用的元数据基本文件。通过这种方式,如果元数据改变,还可以更新移动设备来反映新的数据。
本发明还提供了对应的方法和可计算机实现的指令产品。可以将计算机实现的指令存储在记录介质(例如,CD-ROM等)上。
从以下参考附图描述的示例性实施例的详细描述中,本发明的这些以及其他方面将变得明显,在附图中:
具体实施方式
如下面将要更详细地说明的,本实施例的主要观点是定义允许ME取得与UICC应用有关的相关数据的集合的新协议,以使得所有这些UICC应用可通过与ME应用(通常呈现为图标)相同(或至少类似)的方式被呈现/示出,并可被最终用户访问。所提出的协议还允许最终用户通过点击/选择对应的图标而不进入现有的UICC服务菜单来直接运行UICC应用。
图1是示出移动通信系统1的主要组件的框图。如图所示,该系统包括例如蜂窝电话的移动设备(ME)3;通常安装在ME 3内的UICC 5;用于向ME 3发送信号和从ME 3接收信号的基站7;以及向ME 3提供数据和语音呼叫服务的运营商网络9。如图所示,运营商网络9包括多个接入点11,ME 3连接到该多个接入点11,以获得对运营商网络9中的服务器13或互联网15中的服务器(未示出)的接入。
图2是示出在本实施例中使用的ME 3和UICC 5的主要组件的框图。如图所述,ME 3包括收发信机电路23,可操作收发信机电路23来经由一根或多根天线25向基站7发送信号并从基站7接收信号。如图所示,收发信机电路23按照通常的方式连接到扬声器27和麦克风29,以允许用户进行呼叫和接收呼叫。ME 3还包括处理器31,用于控制ME 3的操作和控制用户经由显示器33和键盘35与ME的交互。处理器31根据存储在存储器37中的软件指令来操作。如图所示,其中,这些软件指令包括操作系统39;用于控制ME 3与UICC 5之间的交互的UICC模块41;多个ME应用43;以及UI(用户界面)模块45。存储器37还存储应用数据47,包括可用应用的图标,以及在用户选择应用的图标的情况下允许启动应用的链接。ME 3还包括向UICC 5提供物理接口的UICC接口45。在本实施例中,UICC模块41是ME 3中单独的软件模块。本领域技术人员将意识到,在其他实施例中,可以将UICC模块41作为操作系统39的一部分提供。
如图2中所示,UICC 5包括用于向ME 3提供物理接口的ME接口51。UICC 5还包括根据存储在存储器55中的软件指令操作的处理器53。如图所示,这些软件指令包括操作系统56、USAT模块57(通用SIM(订户标识模块)应用工具)以及多个应用59。USAT模块57提供允许UICC应用59与ME 3或者运营商网络9(或互联网15)中的远程实体交互和操作的机制,该远程实体支持UICC应用59所要求的特定机制。存储器55还包括UICC应用元数据61,UICC应用元数据61标识用户可用的所有不同的UICC应用59,并且包括与每个UICC应用59的运行相关的数据。
现在将参考图3描述本实施例中ME 3和UICC 5操作的方式。一开始,在开机或重置时,UICC模块41在步骤s1中向UICC 5发送开机或重置信号。在步骤s3中,操作系统56以ATR(重置响应)响应来响应该信号,ATR指示UICC 5所支持的服务。在本实施例中,ATR响应将包括对UICC 5支持本申请中提出的新服务进行指示的数据,该新服务用于提供对UICC应用59的直接访问。在步骤s5中,UICC模块41以终端简档(Terminal Profile)命令来响应ATR消息,终端简档命令向UICC 5告知ME 3支持的服务。在本实施例中,该终端简档命令将包括指示ME 3可以支持新的对UICC应用服务的直接访问的数据。在步骤s7中,UICC模块41发送一系列的选择和读取记录(SELECT和READRECORD)APDU命令,以访问包含用于UICC应用59的元数据61的基本文件(在本示例中是EF UICC APP)。响应于接收这些命令,操作系统56在步骤s9中向UICC模块41发送在EF UICC App中保存的元数据。UICC模块41将元数据61与应用数据47一起存储,以用于当用户想要经由用户界面访问应用时的后续使用。一旦ME 3具有所有的元数据61,UE模块45可以在步骤s11中使用元数据61来建立用户界面,该用户界面将允许用户获得对UICC应用59的直接访问。UI模块45通常在用户输入请求可用应用的预定输入(例如,按下键盘35上的菜单键)时产生用户界面,虽然可以事先产生用户界面并将其存储在存储器37中。在步骤s13中,UI模块45(经由显示器33)向用户呈现已经产生的用户界面,由此允许用户从所显示的用户界面看到和选择UICC应用59。在优选实施例中,UI模块45构建包括针对ME应用43(根据存储在ME 3上的应用数据47来确定)和UICC应用59二者的图标的用户界面。通过这种方式,可以使得应用是ME应用43还是UICC应用59对于用户来说是透明的。
如果用户在步骤s15中选择运行UICC应用59,则在步骤s17中,UICC模块41检查是否已经满足运行所期望的应用所需的所有条件(根据UICC模块41在步骤s9中获得的与所选择的UICC应用相关联的元数据61来确定)。如果还未满足条件,则UICC模块41采取适当的动作,例如,请求用户提供登录/密码来认证用户或者检查适当的网络服务的可用性等等。一旦已经满足运行应用所需的条件,则UICC模块41在步骤s19中向UICC 5发送运行所选择的UICC应用59的命令。在该示例中,所选择的UICC应用是“谜题”游戏。响应于接收运行命令,操作系统56调用USAT模块57来解译该命令,以及一旦解译出,在步骤s21中运行所选择的应用59。UICC 5和ME 3之间的后续交换取决于已运行的应用,并且与之前是相同的,并因此省略对这些步骤的描述。
从而,从以上描述中可以看出,由较快的ME处理器31在不必通过UICC接口45的通信的情况下执行缓慢且费力的UICC菜单导航任务。在开机或重置时需要附加时间来从UICC 5读取UICC应用元数据61,然而在这已经完成之后,用于获得对UICC应用59的接入的后续处理受到ME现有的用于访问ME应用43的基于菜单的系统的控制。
示例实现
A)UICC应用元数据61的定义
元数据是表征应用的数据。
在本实施例中,针对每个UICC应用59存储以下元数据:
-名称:(文本字符串,是关于TS 123 038中定义的SMS数据编码方案来编码的)
-标识符(2字节):0x0001至0xFFFF
-类别(1字节字符):例如,“游戏”、“移动支付”、“实用程序”等等
-图标(1字节字符):该字节指示基本文件“IMG”中的记录,基本文件“IMG”包含图标图像。指示图标的另一可能方式是提供针对图标的URL。在该情况下,可以提供文本字符串来替代1字节字符。
-网络服务(1字节字符):例如,不需要网络服务,需要电路交换服务,需要GPRS,需要EDGE服务,需要PDN服务等。
-父(parental)控制(1字节字符):指示在有限制还是没有限制的情况下应用可用。
-登录/密码(1字节字符):指示是否需要登录/密码来访问应用。
当然,上述元数据的列表不是穷举的,其可以包括其他的元数据。
B)新基本文件的定义(要添加到ETSI TS 102 221中):EF UICCapp
注释:仅作为示例给出以下描述的EF UICC App的结构。当然,其他结构也可能,例如容纳其他元数据61,或者向以上讨论的元数据61提供不同大小的分配。
该新的EF将位于主文件(MF)下,并且将具有以下结构:
[表1]
这是“固定长度”类型的EF:EF由多个记录构成;每个记录包含一个UICC应用59的元数据61。
内容和编码:
-名称(文本字符串,是关于ETSI TS 123 038中定义的SMS数据编码方案来编码的)
-标识符:UICC分配的唯一标识符
编码:
有效值被定义在0x0001至0xFFFF之间
预留0x0000以用于将来的使用
-类别:指示应用的类别
编码:
‘01’:游戏
‘02’:移动支付
‘03’:实用程序
‘04’:其他
注释:在此将列表作为示例给出。可以定义其他类别。
-图标:指示EF IMG中的记录编号
注释:在“图标”字段中包括的值没有意义时(即,没有值或者是0),ME 3可以向UICC应用59分配缺省图标(由ME定义)。
-网络服务:指示是否需要网络服务
编码:
‘00’:不需要网络服务
‘01’:CS
‘02’:GPRS
‘03’:EDGE
‘04’:PDN(LTE)
注释:在此将列表作为示例给出。可以定义其他值。
-父控制:指示在设置父控制的情况下是否可以访问应用。
编码:
‘00’:应用可用,没有限制
‘01’:如果设置父控制,应用必须是不可用的/隐藏的预留其他值以用于将来的使用。
-登录/密码:指示是否需要认证来运行应用。
编码:
‘00’:不需要登录/密码
‘01’:需要登录/密码
预留其他值以用于将来的使用。
C)UICC 5和ME 3对新协议的支持
1)ME使用终端简档命令来向UICC告知ME支持的服务。提出在终端简档命令数据结构中分配新的比特来声明对该新服务的支持。
作为示例,如图5中示出的,可以使用(在TS 102 223中定义的)终端简档结构的第31字节中的比特1来指示对该特征的支持(b1设置为1意味着支持该特征)。
2)如果UICC 5支持该新服务,则UICC 5应该在ATR(重置响应)字节中对此进行声明。
为此,可以使用(TS 102 221中定义的)ATR中在T=15之后的第一个全局接口(Global Interface)字节。例如,可以将对该全局接口字节的现有编码扩展以引入对新服务的支持。
(以下的表2(ETSI TS 102 221中的表6.7)从ETSI TS 102 221中提取,并使用新的输入来更新)
表2:ATR在T=15之后的第一个TBi(i>2)的编码
[表2]
在本实施例中,ME 3中的UICC模块41控制对UICC应用59的接入。为了这样做,UICC模块41负责:
●存储从EF UICC App读取的所有元数据61
●在实际向UICC 5发送对UICC应用59的执行请求之前,检查是否已经满足运行该应用的所有所需条件(由元数据定义)。
具体地,对于EF UICC app中的上述参数,UICC模块41负责以下动作(针对相关的UICC应用):
○检查所需的网络服务是否可用
○检查父控制的状态
○要求用户输入登录/密码
注释:ME 3中可以有若干软件模块以实现这些存储和检查特征。
具体的布置是实现所特有的。
D)新的封装(ENVELOPE)命令的定义(要添加到ETSI TS 102223中)
将从ME 3向UICC 5发送该新的封装命令,以实际运行UICC应用59。
封装的结构(运行UICC应用):
-方向:终端(ME)至UICC。
对于3G平台,在ETSI TS 102 221中规定了命令首部,对于2G平台,在TS 151 011规定了命令首部。
-命令参数/数据。
[表3]
描述 |
条款 |
M/O/C |
最小值 |
长度 |
运行UICC应用标签 |
9.1 |
M |
Y |
1 |
长度(A+B+C+D) |
- |
M |
Y |
1或2 |
设备标识 |
8.7 |
M |
Y |
A |
UICC应用ID |
8.vv |
M |
Y |
B |
UICC应用登录 |
8.15 |
C |
Y |
C |
UICC应用密码 |
8.15 |
C |
Y |
D |
-设备标识:在TS 102 223中定义了编码
-UICC应用ID(要添加到TS 102 223的新TLV数据对象):
4.1.8.vv UICC应用ID
[表4]
-标识符:
-值定义在0x0001至0xFFFF(1至65536)之间
-预留0以用于将来的使用
-UICC应用登录/密码:仅当UICC应用59需要这些参数时才呈现这些参数。
E)经由OTA的UICC应用更新
可以通过运营商/智能卡厂商经由空中(OTA)更新机制来远程更新位于UICC 5中的应用59。在EF UICC App中的元数据61发生改变的情况下(例如,要向用户显示新的图标),UICC 5将请求ME 3使用刷新前摄命令来再次读取元数据61,以使得ME 3可以取得已更新的元数据61。
修改和备选
以上已经描述了详细的实施例。本领域技术人员将意识到,可以对以上实施例进行多个修改和备选,同时仍然从在此实施的本发明中获益。
在以上的实施例中,在开机和重置过程期间,从UICC读取UICC应用元数据。在其他实施例中,可以在不同的时刻读取(或者至少开始读取)UICC应用元数据,然而是在用户开始使用(或能够使用)用户界面来选择要运行的应用之前。
在以上实施例中,描述了基于移动电话的电信系统。本领域技术人员将意识到,可以在其他通信系统中应用在本申请中描述的技术。其他的通信节点或设备可以包括用户设备,例如个人数字助理、便携式电话、膝上型计算机等等。
在以上实施例中描述了多个软件模块。本领域技术人员将意识到,可以通过编译或非编译的形式提供软件模块,或者可以将软件模块作为计算机网络上的信号向UICC或ME提供,或者在记录介质上提供。此外,可以使用一个或多个专用硬件模块来执行该软件的一部分或全部。然而,使用软件模块是优选的,因为其便于UICC 5和ME 3的更新,以更新它们的功能。类似地,上述的各种软件模块执行的功能可以由任何数目的单独的软件模块来执行,或者可以由单个软件模块(例如,操作系统)来执行。
在以上实施例中,UICC经由各个设备上的相应接口与ME进行接口连接。本领域技术人员将意识到,这些接口可以是物理(接触)类型的接口,或者它们可以是无线(非接触)类型的接口。
各种的其他修改将对本领域技术人员是显而易见的,并在此将不进行更详细的描述。
本申请基于英国专利申请No.1005034.2并要求其优先权的利益,该申请于2010年3月25日提交,将其内容通过引用并入。