专利名称:终端装置、终端装置的控制方法、程序及通信方法
技术领域:
本发明涉及一种对应用程序提供关于其动作的权限的技术。
背景技术:
移动机的高功能化正急速前进。最近,开发了具备如下功能的移动机,经网络下载包含按Java(注册商标)编程语言描述的程序的软件(下面称为Java-AP软件),并启动、执行该软件,实现Java应用程序(下面称为Java-AP)。
但是,对移动机内实现的Java-AP动作的限制比对通信应用程序等移动机最初配备的本机应用程序的动作的限制严格(例如参照特开平10-254783号公报)。例如,Java-AP不能参照移动机内的电话簿数据等私密性高的信息。通过这种限制差异,可确实避免因恶意形成的Java-AP或具有缺陷的Java-AP泄漏或篡改移动机内私密性高的信息等情况。
但是,仅通过对全部Java-AP一律进行上述严格的动作限制,不能满足期望Java-AP高功能化或多样化的用户或CP(内容提供商)的意图。例如,假设若保证一定程度的可靠性,则不少用户认为最好向Java-AP提供参照存储在移动机中的个人信息的权限。另一方面,期望也向CP侧提供存储在移动机中的个人信息、或以使用移动机具有的多种功能为前提的更具魅力的Java-AP。
作为满足这些期望的方法,考虑如下情况。
例如,向移动机的用户提供通信服务的通信事业者向Java-AP提供缓和上述动作限制的权限,将该权限通知给移动机。由于该通信事业者是用户可信赖的机构,所以下面称为信赖机构。移动机最好根据该权限来限制Java-AP的动作。
但是,这里担心以下问题。
如上所述,信赖机构将缓和动作限制的权限通知给移动机,之后,移动机当然根据该权限来限制Java-AP的动作,但有时信赖机构在上述通知后变更权限(包含权限自身的消除或权限内容的变更)。例如,有时发觉提供缓和动作限制的权限的Java-AP实际上是没有用户承诺的情况下从移动机的存储器中读出个人信息并发送到其它外部装置等对用户进行不利动作的应用程序。此时,作为信赖机构,必须尽快阻止该Java-AP的利用,同时变更提供给Java-AP的权限的内容。
发明内容
本发明鉴于上述情况做出,其目的在于提供一种在变更提供给应用程序的权限的情况下,使移动机等终端装置中的应用程序反映该变更后的权限内容的方法。
为了解决上述问题,本发明提供一种终端装置,该终端装置具备启动并执行软件的执行部件;存储部件,存储表示权限内容的许可信息,该权限内容提供给通过执行所述软件来实现的应用程序;检查部件,在启动所述软件的情况下,向外部装置确认所述许可信息是否有效;和启动控制部件,在所述检查部件的确认结果确认所述许可信息有效的情况下,允许所述执行部件启动软件,另一方面,在确认所述许可信息无效的情况下,不允许所述执行部件启动软件。
根据该终端装置,因为在启动软件的情况下,向外部装置确认许可信息是否有效,所以可限制不应启动的软件的启动。
所述终端装置最好具备判断部件,判断所述检查部件是否应进行确认,在该判断部件判断为应进行所述确认的情况下,所述检查部件进行所述确认。
根据该终端装置,因为判断是否应进行所述确认,所以与总向外部装置进行确认的情况相比,简化了通信处理。
此时,所述判断部件最好包含计数所述软件的启动次数的启动次数计数部件;和频度信息存储部件,存储表示应以何频度对所述软件的连续启动次数进行所述确认的频度信息,根据所述启动次数计数部件计数的启动次数、和所述频度信息存储部件存储的频度信息,判断所述检查部件是否应进行确认。
由此,可对应于软件的启动次数来进行确认。
另外,所述判断部件最好包含计时所述软件的启动间隔的计时部件;和间隔信息存储部件,存储表示应以何时间间隔来进行所述确认的间隔信息,根据所述计时部件计时的启动间隔、和所述间隔信息存储部件存储的间隔信息,判断所述检查部件是否应进行确认。
由此,可对应于软件的启动间隔来进行确认。
另外,最好具备宽限次数存储部件,存储表示即使在所述检查部件不能进行所述确认的情况下、所述启动控制部件也可允许所述软件启动的次数的宽限次数信息,所述启动控制部件在所述检查部件不能进行所述确认的情况下,允许所述软件启动由所述宽限次数存储部件存储的宽限次数信息表示的次数。
尤其是终端装置是与所述外部装置之间利用无线进行通信的移动机时,有时因无线通信特有的覆盖范围外状态或通信故障而不能进行所述确认,但即使在这种情况下,软件也能启动宽限次数,所以用户使用方便。
期望所述终端装置是与所述外部装置之间利用无线进行通信的移动机。
另外,所述终端装置最好具备更新部件,从所述外部装置取得新的所述许可信息,根据取得的许可信息来更新存储在所述存储部件中的许可信息。此时,所述更新部件在所述检查部件向所述外部装置进行所述确认时,通知所述外部装置表示更新了所述存储部件存储的所述许可信息的时间的更新时间信息,与之对应,接收从所述外部装置发送来的新的许可信息,并根据接收到的许可信息来更新存储在所述存储部件中的许可信息。
另外,所述终端装置最好具备结束部件,在由所述执行部件执行的所述软件所实现的应用程序与所述许可信息的内容相反的情况下,使所述执行部件结束对该软件的执行。
另外,所述许可信息最好是涉及所述终端装置内部或外部的硬件资源或软件资源利用的信息、或涉及网络资源利用的信息。
另外,本发明提供一种由计算机实现下述功能的程序存储功能,将表示提供给通过执行软件实现的应用程序的权限内容的许可信息存储在存储部件中;确认功能,在启动所述软件的情况下,向外部装置确认所述许可信息是否有效;和允许功能,在所述确认的结果确认所述许可信息有效的情况下,允许所述软件的启动,另一方面,在确认所述许可信息无效的情况下,不允许所述软件的启动。该程序记录在可由计算机读取的记录媒体上来提供获得。
另外,本发明提供一种通信方法,具备发送步骤,从通信系统向终端装置发送应用程序描述信息,该通信系统具有信息提供服务器装置,存储包含有用于实现应用程序的软件的实体信息;管理服务器装置,存储包含有表示提供给通过所述终端装置执行所述软件来实现的应用程序的权限的许可信息的安全描述信息;和信息提供服务器装置,存储具有依赖于所述实体信息的内容并描述了所述实体信息的存储位置与所述安全描述信息的存储位置的所述应用程序描述信息;通知步骤,所述终端装置向所述通信系统通知内含于从所述通信系统发送来的应用程序描述信息中的所述安全描述信息的存储位置;发送步骤,所述通信系统根据所述通知的安全描述信息的存储位置,向所述终端装置发送该安全描述信息;存储步骤,所述终端装置存储接收到的所述安全描述信息;通知步骤,所述终端装置向所述通信系统通知内含于接收到的所述安全描述信息中的所述实体信息的存储位置;发送步骤,所述通信系统根据所述通知的实体信息的存储位置,向所述终端装置发送该实体信息;安装步骤,所述终端装置安装内含于从所述通信系统发送来的实体信息中的软件;确认步骤,所述终端装置在启动安装的所述软件的情况下,向所述通信系统确认所述存储的安全描述信息是否有效;和允许步骤,所述终端装置在所述确认结果确认所述安全描述信息有效的情况下,允许所述软件启动,另一方面,在确认所述许可信息无效的情况下,不允许所述软件启动。
如上所述,根据本发明,在移动机等的终端装置启动软件的情况下,向外部装置确认表示提供给由该软件实现的应用程序的权限的许可信息是否有效,所以可防止启动不应启动的软件。
图1是表示根据本发明一实施方式的通信系统的结构框图。
图2是表示图1系统中的SDF的内容的图。
图3是表示构成图1系统的移动机的结构框图。
图4是表示存储在图3移动机的非易失性存储器中的内容一例的图。
图5是表示图3移动机的功能结构的原理图。
图6是表示图3移动机下载并安装Java-AP软件的处理的流程图。
图7是表示图3移动机启动Java-AP软件的处理的流程图。
图8是表示图1通信系统中SDF检查响应一例的图。
图9是表示图1通信系统中SDF检查响应一例的图。
图10是说明图1通信系统的动作的时序图。
具体实施例方式
下面,参照附图来说明本发明的一实施方式。图中,向相同的部分附以相同符号。
首先,当说明现有移动机的Java-AP软件的下载步骤时,移动机首先从构成WWW(World Wide Web)的服务器装置取得ADF(ApplicationDescriptor File),接着,取得Jar(Java Archive)文件。
具体而言,ADF是依赖于Jar文件的内容,例如内含有表示Jar文件的存储位置的URL(下面称为数据包URL)、表示Jar文件的大小的信息、表示Jar文件的最终变更日期的信息等,作为必须信息。取得ADF的移动机在参照该ADF内容的同时,确认自己的空存储器容量等,判断自己能否安装要下载的Java-AP软件。若判断为能安装,则移动机使用内含于ADF中的数据包URL,从构成WWW的服务器装置取得Jar文件。在该Jar文件中存储Java-AP软件,取得Jar文件后,Java-AP软件的下载完成。之后,移动机将下载的Java-AP软件设定成可启动,该Java-AP软件的安装完成。另外,普遍由提供Java-AP软件的CP来形成这些ADF及Jar文件。
另一方面,本实施方式中的Java-AP软件的下载按如下步骤进行,首先将移动机的用户期望的Java-AP软件所对应的ADF配送给移动机,接着,将对应于上述Java-AP软件的称为SDF(Security Descriptor File;安全描述文件)的文件配送给移动机,最后将Jar文件配送给移动机。即,按ADF、SDF、Jar文件的顺序来配送。这些各种文件中,ADF及Jar文件与以前一样,由提供Java-AP软件的CP形成。相反,SDF按照上述通信事业者与CP之间就Java-AP软件缔结的合同,由上述通信事业者形成。
这里,所谓SDF是描述提供给移动机内的Java-AP的权限内容的文件,移动机按照该SDF的描述内容来执行Java-AP软件。其中,SDF有有效状态和失效状态,该有效或失效的差别由网络上的服务器存储。移动机在启动安装的Java-AP软件时,首先必需访问上述服务器并确认SDF的有效或失效状态的差别。下面将该确认处理称为[SDF检查]。该SDF检查的结果,若SDF为有效状态,则移动机根据该SDF的描述内容来启动并执行Java-AP软件。另一方面,若SDF为失效状态,则移动机不能启动Java-AP软件。
这样,因为可在网络上设定SDF的有效或无效的差别,所以通信事业者仅通过将对应于不适当的Java-AP软件的SDF设定为失效状态,就可在该设定处理之后防止移动机中Java-AP软件的启动。
这里所谓不适当的Java-AP软件是例如没有用户承诺的情况下从移动机的存储器中读出重要信息后发送到其它外部装置等、使移动机执行对用户不利动作的软件。当通信事业者知道这种Java-AP软件存在时,最好将该Java-AP软件所对应的SDF设定为失效状态。另外,当CP与通信事业者之间缔结的合同无效时(例如合同过期或CP未向通信事业者支付合同中设定的费用时),通信事业者将这种CP提供的Java-AP软件所对应的SDF设定为失效状态。另外,例如在Java-AP软件为试用软件的情况下,若超过该试用期间,则也最好将对应的SDF设定为失效状态。
另外,相反,通过将设定为失效状态的SDF设定为有效状态,可再次利用该SDF所对应的Java-AP软件。
(1)结构下面说明根据本实施方式的通信系统的结构。
如图1所示,该通信系统具有连接于因特网11上的CP服务器装置13;通信事业者用于提供移动分组通信服务的移动分组通信网15;与移动分组通信网15之间进行无线分组通信并经该移动分组通信网15与通信对象进行分组通信的移动机16;把因特网11与移动分组通信网15相互连接的网关服务器装置17;和用专用线连接于网关服务器装置17上的管理服务器装置18。另外,在该通信系统中存在多个移动机或CP服务器装置,但为了避免图面复杂,仅图示一个移动机16与一个CP服务器装置13。
下面,详细说明该通信系统的各结构要素。
(1-1)CP服务器装置CP服务器装置13具有与一般的WWW服务器装置一样的硬件和功能。在CP服务器装置13的非易失性存储器13A中,存储包含由Java编程语言形成的程序的多个Jar文件、和描述涉及该Jar文件的信息的多个ADF。
这里,在本实施方式中,准备对应的SDF存在的Java-AP软件、和对应的SDF不存在的Java-AP软件。前者的Java-AP软件受到对应的SDF中描述的动作限制,通信事业者根据与CP的合同来保证可靠性,所以称为[受托Java-AP软件]。后者也就是现有的Java-AP软件,但在本实施方式中称为[非受托Java-AP软件]。在CP服务器装置13存储的ADF中,有对应于受托Java-AP软件的ADF、和对应于非受托Java-AP软件的ADF。
在任一ADF中,都描述了表示WWW中的Jar文件的存储位置的数据包URL、表示Jar文件的大小的信息、或表示Jar文件的最终变更日期的信息等与公知的ADF中包含的一样的信息。并且,在受托Java-AP软件所对应的ADF中,除上述例举的数据包URL等外,还描述了作为专门识别受托Java-AP软件的识别信息的[APID]、和表示SDF在WWW中的存储位置的URL(下面称为[SDF-URL])。移动机16从CP服务器装置13取得受托Java-AP软件所对应的ADF,接着根据该ADF中描述的SDF-URL取得SDF。
另外,在本实施方式的说明中,在称为[Java-AP软件]的情况下,若其是[受托Java-AP软件],则为包含ADF、SDF和Jar文件的概念,若是[非受托Java-AP软件],则是包含ADF及Jar文件的概念。
(1-2)网关服务器装置网关服务器装置17由上述通信事业者管理,具备与连接移动分组通信网15与因特网11的一般网关服务器装置相同的结构,在移动分组通信网15与因特网11及管理服务器装置18之间相互中继通信。
(1-3)管理服务器装置管理服务器装置18由上述通信事业者管理,具有与一般的WWW服务器装置一样的硬件和功能。在管理服务器装置18的非易失性存储器18A中,存储多个受托Java-AP软件所分别对应的多个SDF。在这些SDF中,如上所述,描述提供给受托Java-AP软件的权限内容,并且描述该SDF自身是有效还是失效的信息。移动机16在启动受托Java-AP软件时,通过访问该管理服务器装置18,确认SDF的有效或失效的差别,判断可否进行该启动处理。
图2是表示将描述在SDF中的内容从管理服务器装置18通知给移动机16时的HTTP消息的一例的图。
图2所示字段[Content-Type]是表示HTTP消息的实体主体的类型的字段,这里将意味着实体主体涉及SDF的[application/x-sdf]描述为字段值。
参数[Sts]表示SDF的有效或失效状态的差别,以后称为[SDF状态]。当该SDF状态为
时,表示SDF有效,为[10]时,表示SDF失效。在图2的实例中,因为参数[Sts]的参数值为
,所以意味着该SDF有效。另外,参数[PackageURL]与上述ADF中描述的数据包URL相同。
之后,参数[CheckCnt]表示应以何频度对受托Java-AP软件的连续启动次数进行SDF检查,以后称为[SDF检查频度]。换言之,该SDF检查频度表示移动机16不进行SDF检查而能连续地启动受托Java-AP软件的次数。在本实施方式中,作为该SDF检查频度,可设定为从1次到999次。在图2所示实例中,因为参数[CheckCnt]的参数值为
,所以意味着移动机16可连续5次不必SDF检查地启动受托Java-AP软件。
接着,参数[CheckInt]表示应以何时间间隔来进行SDF检查,以后称为[SDF检查间隔]。具体而言,该SDF检查间隔表示从进行上次SDF检查时刻开始、即使不进行下一SDF检查也能启动受托Java-AP软件的天数,在本实施方式中,可设定成从1天到999天。在图2所示实例中,因为参数[CheckInt]的参数值为
,所以意味着移动机16在启动受托Java-AP软件时,若进行一次SDF检查,则此后在未经过20天的期间内启动相同受托Java-AP软件的情况下,不必SDF检查,但20天后,再次启动相同受托Java-AP软件的情况下,必需进行SDF检查。
接着,参数[SuspentedCnt]表示即使在移动机16不能进行SDF检查的情况下也可启动受托Java-AP软件的次数,以后称为[SDF检查宽限次数]。
移动机16通过无线通信访问管理服务器装置18,并进行SDF检查。但是,例如当移动机16处于移动分组通信网15的服务区以外时(所谓的覆盖范围外状态时),或无线通信中产生通信故障时,不能进行SDF检查。因此,用户过分担心不能随意启动受托Java-AP软件,非常不方便。故在本实施方式中,即使在因上述覆盖范围外状态或通信故障而不能进行SDF检查的情况下,也认为在一定程度的次数下不必SDF检查地启动受托Java-AP软件。作为本实施方式中的SDF检查宽限次数,可设定成从1次到999次。在图2所示实例中,因为参数[SuspendedCnt]的参数值为
,所以意味着即使移动机16不能进行SDF检查也能连续5次启动受托Java-AP软件。
下面,参数[Lmd]表示管理服务器装置18最后更新SDF的日期,下面称为[最终更新日期]。在图2所示实例中,参数值为[20020614120552],这意味着SDF的最终更新日期为2002年6月14日12时5分52秒。该最终更新日期被用于判断管理服务器装置18更新后的SDF的内容是否反映到移动机16。
下面,参数[GetPrivateInfo]、[UserMail]、[MessageApp]、[SetPhoneTheme]、[SetLaunchTime]、[AllowedHost]是表示提供给移动机16中的受托Java-AP软件的权限内容的信息,下面称为许可信息。
例如,参数[GetPrivateInfo]表示参照移动机16中存储的电话簿数据或未读电子邮件等个人信息时可否使用必需的受托API(应用编程接口)。在可使用的情况下,描述参数值[Yes]。同样,参数[UserMial]、[MessageApp]、[SetPhoneTheme]、[SetLaunchTime]在允许使用各自对应的受托API的情况下,设定参数值[Yes]。在图2所示实例中,因为任一参数都设定参数值[Yes],所以受托Java-AP可使用各种受托API。
接着,参数[AllowedHost]表示移动机16执行受托Java-AP软件期间可访问的通信装置的URL,下面称为访问允许URL列表。
下载到移动机16中的Java-AP软件一般按照称为沙箱(sandbox)的安全模块。根据该沙箱,移动机16在执行Java-AP软件期间,将该移动机16的通信对象严格地限制于仅上述Java-AP软件的下载源的服务器。在这种严格限制下,难以对用户提供多种应用程序。因此,在本实施方式中,将受托Java-AP软件施加于下载源服务器,允许与预定的通信装置之间的通信。将允许该通信的通信装置的URL设定为参数[AllowedHost]的参数值。在图2所示实例中,意味着在与具有包含[http//aaa.co.jp]与[http//bbb.co.jp]之一的URL的通信装置之间允许利用端口序号 的通信。
另外,在将[any]设定为该访问允许URL列表的参数值的情况下,意味着执行受托Java-AP软件的移动机16能与任何通信装置进行通信。但是,当这样完全自由地设定通信对象时,担心不能确保安全性,所以也可特别指定不允许通信的通信装置的URL。此时,最好在参数[DisallowedHost](下面称该参数为访问禁止列表)的参数值中描述不允许通信的通信装置的URL。
(1-4)移动机移动机16如图3所示,具有存储OS(操作系统)软件、构筑执行Java-AP的环境用的Java环境软件和各种本机AP软件等的ROM16A、从ROM16A中读出程序后执行的CPU16B、显示部16C、非易失性存储器16D、RAM16E、通信部16F、操作部16G和计时部16H,它们通过通信线连接。
显示部16C具有例如液晶显示面板和面板驱动电路,显示由从CPU16提供的数据表示的图像。通信部16F配备天线或无线收发信部,与移动分组通信网15进行无线分组通信,在CPU16B与移动分组通信网15之间中继分组。另外,通信部16F还配备通话用的CODEC或麦克风、扬声器等,由此,移动机16也可经未图示的移动电话网进行基于线路交换的通话。操作部16G配备操作符,向CPU16B提供对应于操作符的操作的信号。计时部16H计时当前的年月日及时刻(下面简称为当前日时)。另外,计时部16H为了计时更正确的当前日时,最好进行与使用控制信道定期从例如移动分组通信网15的未图示的基站通知的当前日时同步的处理。
非易失性存储器16D例如是SRAM(静态随机存取存储器)或EEPROM(电可擦除可编程只读存储器)。另外,该非易失性存储器16D被用于存储从构成WWW的服务器装置下载的Java-AP软件。
这里,就受托Java-AP软件的ADF和SDF,说明存储在非易失性存储器16D中的内容。
图4表示根据受托Java-AP软件的ADF和SDF(图2所示)内容,存储在非易失性存储器16D中的内容。并且,如图4所示,在该非易失性存储器16D中,对应于SDF检查频度来存储[启动次数],对应于SDF检查间隔来存储[经过时间],对应于SDF检查宽限次数来存储[宽限次数]。
所谓启动次数是从移动机16进行上次SDF检查之后不进行下次SDF检查而启动受托Java-AP软件的次数。当该启动次数达到SDF检查频度(图4中为5次)时,则判断为在下次启动受托Java-AP软件时必需进行SDF检查。
之后,所谓经过时间是从移动机16进行上次SDF检查之后所经过的时间(天数),由上述计时部16H计时。当该经过时间达到SDF检查间隔(图4中为20天)时,判断为在之后启动受托Java-AP软件时必需进行SDF检查。另外,所谓宽限次数是尽管移动机16不能进行SDF检查仍可启动Java-AP软件的次数,当该宽限次数达到SDF检查宽限次数(图4中为5次)时,以后只要不进行SDF检查,则不启动受托Java-AP软件。
之后,当接通移动机16的未图示电源时,CPU16B将RAM16E设为工作区,从ROM16A中读出OS软件后执行。由此,CPU16B在移动机16内执行图5所示OS。CPU16B通过实现OS,根据从操作部16G提供的信号来确定用户的指示,并进行对应于该指示的处理。
另外,下面为了便于说明,将CPU16B执行OS软件来进行的动作[OS]作为动作主体进行说明。即,对于CPU16B执行软件所进行的动作,以由该软件实现的应用程序为主体来进行动作说明。这对图5所示的Java-AP、JAM(Java应用程序管理器)、电话簿AP等各种应用程序也一样。
例如,用户的指示是要求启动作为本机AP软件的通信软件,则OS启动通信软件,在移动机16内实现通信AP。通过使用该通信AP,用户可与通话对象进行通话。另外,若用户的指示是要求启动作为本机AP软件的电话簿软件,则OS启动电话簿软件,在移动机16内实现电话簿AP。通过使用该电话簿AP,用户可参照、使用、变更表示存储在非易失性存储器16D中的电话簿内容的数据(后面称为电话簿数据)。另外,若用户的指示是要求启动作为本机AP软件的Web浏览软件,则OS启动Web浏览软件,在移动机16内实现Web浏览。
另外,若用户的指示是要求启动作为本机AP软件的JAM软件,则OS启动JAM软件,在移动机16内实现JAM。JAM提示用户安装在移动机16内的Java-AP软件一览表,启动由用户指定的Java-AP软件。具体而言,若用户对JAM的指示是要求启动Java-AP软件,则启动Java-AP环境软件,在移动机16内实现Java-AP环境,接着,启动指定的Java-AP软件,在Java-AP环境中实现Java-AP。Java-AP环境有适于移动机16等便携终端的作为轻量Java虚拟设备的KVM(K虚拟机)、和对Java-AP提供的API(应用程序接口)。对Java-AP提供的API被分为仅对由受托Java-AP软件实现的Java-AP(下面称为受托Java-AP)允许使用的受托API、和对任何Java-AP都允许使用的非受托API。
JAM实现管理Java-AP的动作的功能。
例如,JAM在启动Java-AP软件的情况下,判断是否应对该Java-AP软件的SDF进行SDF检查,在判断为应进行检查的情况下,进行SDF检查。因此,JAM实现计数或访问存储在非易失性存储器18D中的启动次数、经过时间、或宽限次数的功能。另外,JAM在该SDF检查的结果为SDF有效的情况下,允许Java-AP软件启动,但在启动后,按照SDF内的许可信息来限制Java-AP的动作。另外,JAM在SDF检查的结果为SDF失效的情况下,不允许启动Java-AP软件。另外,JAM在SDF检查的结果为必需更新SDF的情况下,再次访问管理服务器装置18,更新SDF。
以上是本实施方式的结构。
(2)操作下面说明上述构成的系统的操作。
(2-1)Java-AP软件的安装JAM一旦从Web浏览器通知要求Java-AP软件下载的指示,则进行将Java-AP软件下载到移动机16中并安装的处理。图6中示出该处理流程。
如图6所示,JAM首先从CP服务器装置13下载对应于要下载的Java-AP软件的ADF(步骤S11)。具体而言,JAM生成、发送包含ADF-URL的HTTP请求,从CP服务器装置13接收对该HTTP请求的HTTP响应,取得ADF。另外,此时HTTP请求中包含的ADF-URL可以由用户输入,也可以由用户在埋入HTML(超文本标记语言)描述的主页的URL中指定。JAM按照下载的ADF的内容,将APID、数据包URL、SDF-URL、ADF-URL等如图4所示写入非易失性存储器16D中。
接着,JAM根据存储在非易失性存储器16D中的ADF的内容,判断能否将要下载的Java-AP软件安装在移动机16中(步骤S12)。例如,JAM按照对描述在ADF中的Jar文件的大小与非易失性存储器16D内可存储Jar文件的空余容量进行比较等与以前一样的基准来判断。
这里,假设判断为可安装的情况(步骤S12;是),接着,JAM判断要下载的Java-AP软件是否是受托Java-AP软件(步骤S13)。具体而言,JAM确认步骤S11中存储的内容中是否包含APID和SDF-URL,若描述,则判断为存在对应于该Java-AP软件的SDF,即,是受托Java-AP软件,若未描述,则判断为是非受托Java-AP软件。这里,因为存储APID和SDF-URL,所以JAM判断要下载的Java-AP软件是受托Java-AP软件(步骤S13;是)。
接着,JAM从管理服务器装置18取得对应于该软件的SDF的内容(步骤S14)。即,JAM在与管理服务器装置18之间确立TCP链接,经该链接,生成、发送包含描述在ADF内的SDF-URL的HTTP请求,并接收对该HTTP请求的HTTP响应(参照图2),之后切断上述链接。
接着,JAM判断取得的SDF的内容是否正当(步骤S15)。具体而言,JAM判断取得的SDF的内容是否按预定的格式描述、或内含于SDF中的APID与已存储在非易失性存储器16D中的APID是否一致,若这些判断结果为肯定的,则认为取得的SDF的内容正当(步骤S15;是),将这些内容如图4所示存储在非易失性存储器16D中。
接着,JAM从CP服务器装置13下载Jar文件(步骤S16)。具体而言,JAM生成包含已存储的数据包URL的HTTP请求后发送到CP服务器装置13,接收对该HTTP请求的HTTP响应后,取得Jar文件。
之后,JAM将下载的Jar文件写入非易失性存储器16D中,进行涉及受托Java-AP软件安装的各种处理(步骤S17),通知用户安装成功(步骤S18)。
之后,JAM在执行受托Java-AP软件时,监视受托Java-AP软件的动作,限制受托API的使用,该限制根据存储在非易失性存储器16D中的SDF内的许可信息来进行。
另外,在上述处理中,在判断为Java-AP软件不能安装的情况下(步骤S12;否)和判断为SDF不正当的情况下(步骤S15;否),JAM通知用户安装失败(步骤S20),同时将移动机16的状态返回步骤S11以前的状态。
另外,上述处理中,在判断为不是受托Java-AP软件的安装处理的情况下(步骤S13;否,即非受托Java-SP软件的安装处理的情况下),JAM通常根据描述在ADF中的数据包URL,从CP服务器装置13下载Jar文件(步骤S19),进行涉及Java-AP软件的安装的各种处理(步骤S17),通知用户安装成功(步骤S18)。
(2-2)Java-AP软件的启动下面,参照图7所示的流程来说明Java-AP软件的启动时的操作。
一旦用户发出Java-AP软件的启动指示,则JAM首先判断作为启动对象的Java-AP软件是否是受托Java-AP软件(步骤S31)。这里,因为受托Java-AP软件是启动对象(步骤S31;是),所以处理前进到步骤S32,JAM判断是否必需进行SDF检查。具体而言,在满足存储在非易失性存储器16D中的启动次数在SDF检查频度以上、或经过时间以SDF检查间隔以上等条件中之一的情况下,判断为必需进行SDF检查,在上述条件都不满足的情况下,判断为不需要进行SDF检查。
例如在图4所示内容中,因为上述条件都不满足,所以判断为不需要进行SDF检查(步骤S32;否),JAM将存储在非易失性存储器16D中的启动次数加1(步骤S33),启动受托Java-AP软件(步骤S34)。
如上所述,JAM在反复启动受托Java-AP软件中,例如若启动次数与SDF检查频度相同,则步骤S32中判断为必需进行SDF检查(步骤S32;是)。此时,JAM生成用于要求SDF检查的HTTP请求,并发送到管理服务器装置18。该HTTP请求中包含启动对象的受托Java-AP软件的APID和SDF的最终更新日期(参数[Lmd]的参数值)。
接收该HTTP请求的管理服务器装置18从HTTP请求中抽取APID,并从非易失性存储器18A中读出包含该APID的SDF,参照该SDF状态。并且,管理服务器装置18从上述HTTP请求中抽取最终更新日期,并比较该最终更新日期与从非易失性存储器18A中读出的SDF的最终更新日期,判断是否应更新移动机16中的SDF。即,管理服务器装置18在从HTTP请求中抽取的最终更新日期比从非易失性存储器18A中读出的SDF的最终更新日期早时,判断为要更新,若它们一致,则判断为不要更新。经过上述处理,管理服务器装置18确定应通知移动机16的SDF状态的内容,并生成包含确定的SDF状态的HTTP响应,将该响应作为SDF检查响应发送到移动机16。
这里,在图8和图9中示出SDF检查响应的内容。
图8是SDF为有效状态时的SDF检查响应。此时,如图8所示,表示SDF状态的参数[Sts]的参数值变为意味着有效的
。另一方面,图9是SDF为失效状态时的SDF检查响应。此时,如图9所示,表示SDF状态的参数[Sts]的参数值变为意味着失效的[10]。另外,虽未图示,但在更新SDF的情况下,描述意味着必需更新SDF的
,作为参数[Sts]的参数值。另外,当管理服务器装置18未存储对应于移动机16通知的APID的SDF时,描述表示该情况的参数值[99]。
于是,若移动机16接收SDF检查响应(步骤S36;是),则JAM判断该SDF检查响应的内容(步骤S37)。
例如在接收图8所示SDF检查响应的情况下,JAM判断为SDF有效(步骤S37;有效),清零存储在非易失性存储器16D中的启动次数、经过时间和宽限次数(步骤S38)后,启动受托Java-AP软件(步骤S34)。
另一方面,在接收图9所示SDF检查响应的情况下,JAM判断为SDF为失效状态(步骤S37;失效),因为SDF为失效状态,所以显示不能启动应用程序的消息,进行返回到步骤S31以前的状态的处理(步骤S39)。
另外,在SDF状态意味着[更新]的情况下,JAM判断为SDF为更新状态(步骤S37;更新),进行更新SDF的处理(步骤S40)。具体而言,与上述图6的步骤S14一样,从管理服务器装置18取得SDF的内容,并且在判断取得的SDF的内容是否正当之后,将该SDF的内容存储在非易失性存储器16D中。
在上述处理中,在要进行SDF检查、但由于覆盖范围外状态或通信故障而不能进行SDF检查的情况下(步骤S36;否),JAM判断存储在非易失性存储器16D中的宽限次数是否小于SDF检查宽限次数(步骤S41)。
在宽限次数小于SDF检查宽限次数的情况下(步骤S41;是),JAM将存储在非易失性存储器16D中的宽限次数加1(步骤S42),启动受托Java-AP软件(步骤S34)。
相反,在宽限次数在SDF检查宽限次数以上的情况下(步骤S41;否),JAM显示不能进行SDF检查的消息,进行返回到步骤S31以前的状态的处理(步骤S39)。
(2-3)在启动受托Java-AP软件之前的系统整体的操作例用图10来说明上述操作的一例。
在图10的说明中,上述JAM或Java-AP等应用程序进行的操作变为移动机16的操作,所以将操作主体作为移动机16来进行说明。
图10中,移动机16在用户发出要求下载Java-AP软件的指示时,首先生成并发送包含对应于要下载的Java-AP软件的ADF的ADF-URL的HTTP请求m1。
CP服务器装置13对应于该HTTP请求,生成包含ADF的HTTP响应m2,并发送到移动机16。
接收到该HTTP响应m2的移动机16在将该ADF的内容存储在非易失性存储器16D中后,若判断为可将Java-AP软件安装在移动机16中,则生成包含SDF-URL的HTTP请求m3,并发送到管理服务器装置18。
管理服务器装置18对应于该HTTP请求,生成包含SDF的HTTP响应m4,并发送到移动机16。
接收到该HTTP响应m4的移动机16在确认该SDF的内容的正当性后,将之存储在非易失性存储器16D中,之后,移动机16生成包含数据包URL的HTTP请求m5,发送到CP服务器装置13。
CP服务器装置13对应于该HTTP请求m5,生成包含Jar文件的HTTP响应m6,并发送到移动机16。
移动机16将接收到的Jar文件写入非易失性存储器16D中,安装受托Java-AP软件。
之后,移动机16在用户发出Java-AP软件的启动指示时,判断是否必需进行SDF检查,若判断为必需,则将包含APID和SDF的最终更新日期的HTTP请求m7作为SDF检查请求,发送到管理服务器装置18。
接收到该HTTP请求m7的管理服务器装置18生成包含对应于该HTTP请求中包含的APID的SDF状态的HTTP响应m8,并将该响应作为SDF检查响应,发送到移动机16。
接收到该HTTP响应的移动机16判断该SDF检查响应的内容。例如在SDF检查响应意味着SDF更新的情况下,移动机16更新SDF。即,移动机16生成包含SDF-URL的HTTP请求m9,发送到管理服务器装置18。
接收到该HTTP请求m9的管理服务器装置18生成包含由该HTTP请求中包含的SDF-URL确定的SDF内容的HTTP响应m10,并将其发送到移动机16。
之后,移动机16启动Java-AP软件,并按照更新后的SDF的内容,执行上述Java-AP软件。
(2-4)执行Java-AP软件时的移动机16的动作下面,说明执行上述各Java-AP软件时的移动机16的动作。
(2-4-1)非受托Java-AP以下说明在移动机16中启动通过上述安装操作安装在移动机16中的非受托Java-AP软件,在移动机16内实现对应于该软件的功能(下面称为非受托Java-AP)时的移动机16的动作。
在非受托Java-AP要使用的API是非受托API的情况下,如上所述,因为非受托API允许使用任何Java-AP,所以此时的API的使用由移动机16来允许。因此,非受托Java-AP可使用该非受托API。
另外,在非受托Java-AP要使用的API是受托API的情况下,移动机16调查对应于该Java-AP的SDF是否存储在非易失性存储器16D中。这里,因为这种SDF不存储在非易失性存储器16D中,所以移动机16禁止非受托Java-AP使用该API。因此,非受托Java-AP不能使用受托API。
(2-4-2)受托Java-AP下面,说明安装在移动机16中的受托Java-AP软件在实现移动机16的移动机16中被启动、在移动机16内实现对应于该软件的功能时的移动机16的动作。
在受托Java-AP要使用的API是非受托API的情况下,如上所述,移动机16当然允许使用该API。因此,受托Java-AP可使用该非受托API。
在受托Java-AP要使用的API是受托API的情况下,因为将对应于该Java-AP的SDF存储在非易失性存储器16D中,所以移动机16允许使用该API,但受托Java-AP的动作依赖于SDF内的许可信息。
例如,在将许可信息中的参数[GetPrivateInfo]的参数值设定为[yes]的情况下,受托Java-AP可从非易失性存储器16D中读出电话簿数据或未读电子邮件。另外,受托Java-AP可与其URL被设定为许可信息中的参数[AllowedHost]的参数值的通信装置之间进行通信。
如上所述,移动机16允许对应于下载的SDF的受托Java-AP软件进行对应于该SDF中包含的许可信息的内容的动作,不允许未包含在许可信息内容中的动作。从用户来看,除以前的非受托Java-AP外,还可利用上述允许较自由的动作的受托Java-AP,非常方便。
另外,在上述通信系统中,以ADF、SDF、Jar文件等顺序对移动机16进行各种文件的配送,通过按这种顺序进行配送,产生如下效果。
如上所述,通常由CP设计、形成Java-AP软件(ADF和Jar文件),在开设于因特网上的专用网址(图1的CP服务器装置13)中,将各CP公开给一般用户。因此,用户首先访问CP的专用网址,之后,参照各种Java-AP软件的解说页,判断是否下载该软件。之后,通常若判断为用户要下载Java-AP软件,则必需进行指示该下载处理的操作,为此,由锚定标志(anchor tag)在上述解说页中埋入下面应下载的文件的URL。此时,从CP的立场看,在解说页中埋入ADF的URL最不花费时间。这是因为由于ADF在CP的管理之下,所以该ADF的URL可总由CP把握。相反,若在解说页中埋入SDF的URL,则CP必需询问通信事业者等,必需进行URL的正误确认处理。从而,按ADF、SDF、Jar文件的顺序进行各种文件的配送非常有意义。
另外,上述顺序在考虑当前已实施的Java-AP软件的版本升级处理时也有利。当前实施的处理在用户进行要求版本升级的操作时,移动机首先参照描述在ADF中的内容,根据描述在ADF中的数据包URL,取得版本升级后的Jar文件。即,在版本升级时,首先参照ADF,之后移动到下载处理。
考虑到这点,即使在本实施方式的通信系统的版本升级时,首先,也参照ADF,并根据在该ADF中描述的SDF-URL取得SDF,之后,为了取得Jar文件,首先参照ADF,然后开始一系列处理,此后,可按照与SDF→Jar文件的通常下载相同的流程进行处理,不怎么变更当前服务规范也可以。相反,假设定义成按照SDF、ADF、Jar文件的顺序下载各种文件时,在想要进行版本升级的情况下,参照ADF,然后开始下载处理,不取得SDF而到达Jar文件的取得处理。由于SDF完全可能在版本升级时被改写,因而如果没有SDF,则担心在安全上发生不利情况。从以上观点看,按ADF、SDF、Jar文件的顺序来进行各种文件的配送是有意义的。
(3)变形例本发明不限于上述实施方式,可进行以下各种变更。
在上述通信系统中,列举利用Java-AP的API与Java-AP的通信对象,作为限制Java-AP动作的对象,但本发明不限于此,可以任意资源为对象。这里所谓资源可以是API等软件资源,也可以是Java-AP的通信对象等网络资源,还可以是硬件资源。
作为硬件资源,例如存储器或扬声器、麦克风、红外线控制器、LED(发光二极管)等移动机配备的部件、或与移动机协同操作的UIM(用户身份模块)或SIM(客户身份模块)等外部设备等。
另外,作为网络资源,除Java-AP的通信对象等网络上的资源外,还考虑如下资源。如上所述,移动机与移动通信网之间进行无线通信。在该无线通信时,移动机使用由移动通信网提供的无线信道等无线资源。该无线资源是网络资源的一种。另外,移动机在比无线资源所属的通信协议层高的通信协议层中,使用分组传送路径或线路连接的通信路径等通信资源。这种通信资源也是网络资源的一种。
下面说明软件资源。作为软件资源,例如上述的API或等级、数据包等。软件资源提供的功能各种各样,但作为典型的功能,例如加密运算等运算处理功能、或在与Web浏览器等其它应用程序之间收发数据的功能等。另外,本发明在技术范围中包含将上述外部设备具有的软件资源也设为利用的限制对象的情况。
另外,在上述实施方式中,JAM根据许可信息来限制受托Java-AP的动作,但在该受托Java-AP进行与许可信息相反的动作时,最好强制结束该受托Java-AP软件的执行。
另外,在上述通信系统中向移动机配送软件,但在本发明的技术范围内,还包含向移动机以外的终端装置配送的情况。
另外,在上述通信系统中,不用说,可信赖的机构可以是CP,即,管理服务器装置也兼作CP服务器装置。
上述移动机的CPU执行的软件(JAM软件或OS软件等)可记录在可由CPU读取的磁记录介质、光记录介质或ROM等记录介质中来提供。另外,也可将这些程序经由因特网等网络下载到移动机。
权利要求
1.一种终端装置,具备启动并执行软件的执行部件;存储部件,存储表示权限内容的许可信息,该权限内容提供给通过执行所述软件来实现的应用程序;检查部件,在启动所述软件的情况下,向外部装置确认所述许可信息是否有效;和启动控制部件,在所述检查部件的确认结果、确认所述许可信息有效的情况下,允许所述执行部件启动软件,另一方面,在确认所述许可信息无效的情况下,不允许所述执行部件启动软件。
2.根据权利要求1所述的终端装置,其特征在于具备判断部件,判断所述检查部件是否应进行确认,在所述判断部件判断为应进行所述确认的情况下,所述检查部件进行所述确认。
3.根据权利要求2所述的终端装置,其特征在于所述判断部件包含计数所述软件的启动次数的启动次数计数部件;和频度信息存储部件,存储表示应以何频度对所述软件的连续启动次数进行所述确认的频度信息,根据所述启动次数计数部件计数的启动次数、和所述频度信息存储部件存储的频度信息,判断所述检查部件是否应进行确认。
4.根据权利要求2所述的终端装置,其特征在于所述判断部件包含计时所述软件的启动间隔的计时部件;和间隔信息存储部件,存储表示应以何时间间隔来进行所述确认的间隔信息,根据所述计时部件计时的启动间隔、和所述间隔信息存储部件存储的间隔信息,判断所述检查部件是否应进行确认。
5.根据权利要求1所述的终端装置,其特征在于具备宽限次数存储部件,存储表示即使在所述检查部件不能进行所述确认的情况下、所述启动控制部件也可允许所述软件启动的次数的宽限次数信息,所述启动控制部件在所述检查部件不能进行所述确认的情况下,允许所述软件启动由所述宽限次数存储部件存储的宽限次数信息表示的次数。
6.根据权利要求1所述的终端装置,其特征在于具备更新部件,从所述外部装置取得新的所述许可信息,根据取得的许可信息来更新存储在所述存储部件中的许可信息。
7.根据权利要求6所述的终端装置,其特征在于所述更新部件在所述检查部件向所述外部装置进行所述确认时,通知所述外部装置表示更新所述存储部件存储的所述许可信息的时间的更新时间信息,与之对应,接收从所述外部装置发送来的新的许可信息,根据接收到的许可信息来更新存储在所述存储部件中的许可信息。
8.根据权利要求1所述的终端装置,其特征在于具备结束部件,在由所述执行部件执行的所述软件所实现的应用程序与所述许可信息的内容相反的情况下,使所述执行部件结束对该软件的执行。
9.根据权利要求1所述的终端装置,其特征在于所述许可信息是涉及所述终端装置内部或外部的硬件资源或软件资源利用的信息、或涉及网络资源利用的信息。
10.一种终端装置的控制方法,具备取得步骤,终端装置从外部装置取得表示提供给通过执行软件实现的应用程序的权限内容的许可信息;确认步骤,终端装置在启动所述软件的情况下,向外部装置确认所述许可信息是否有效;和允许步骤,终端装置在确认所述许可信息有效的情况下,允许所述软件的启动,另一方面,在确认所述许可信息无效的情况下,不允许所述软件的启动。
11.一种程序,使计算机实现存储功能,将表示提供给通过执行软件实现的应用程序的权限内容的许可信息存储在存储部件中;确认功能,在启动所述软件的情况下,向外部装置确认所述许可信息是否有效;和允许功能,在所述确认的结果确认所述许可信息有效的情况下,允许所述软件的启动,另一方面,在确认所述许可信息无效的情况下,不允许所述软件的启动。
12.一种通信方法,具备发送步骤,从通信系统向终端装置发送应用程序描述信息,该通信系统具有信息提供服务器装置,存储包含有用于实现应用程序的软件的实体信息;管理服务器装置,存储包含有表示提供给通过所述终端装置执行所述软件来实现的应用程序的权限的内容许可信息的安全描述信息;和信息提供服务器装置,存储具有依赖于所述实体信息的内容并描述了所述实体信息的存储位置与所述安全描述信息的存储位置的所述应用程序描述信息;通知步骤,所述终端装置向所述通信系统通知内含于从所述通信系统发送来的应用程序描述信息中的所述安全描述信息的存储位置;发送步骤,所述通信系统根据所述通知的安全描述信息的存储位置,向所述终端装置发送该安全描述信息;存储步骤,所述终端装置存储接收到的所述安全描述信息;通知步骤,所述终端装置向所述通信系统通知内含于接收到的所述安全描述信息中的所述实体信息的存储位置;发送步骤,所述通信系统根据所述通知的实体信息的存储位置,向所述终端装置发送该实体信息;安装步骤,所述终端装置安装内含于从所述通信系统发送来的实体信息中的软件;确认步骤,所述终端装置在启动安装的所述软件的情况下,向所述通信系统确认所述存储的安全描述信息是否有效;和允许步骤,所述终端装置在所述确认结果确认所述安全描述信息有效的情况下,允许所述软件启动,另一方面,在确认所述许可信息无效的情况下,不允许所述软件启动。
全文摘要
本发明的课题在于在变更提供给应用程序的权限的情况下,使变更后的权限内容反映到移动机等终端装置的应用程序。作为该课题的解决手段,按ADF、SDF、Jar文件的顺序来配送本系统中的Java-AP软件的下载。所谓SDF是描述限制移动机内的Java-AP动作的内容的文件。该SDF有有效状态和失效状态,该有效或失效的差别由管理服务器装置(18)存储。移动机在启动安装的Java-AP软件时,首先访问上述服务器并确认SDF的有效或失效状态的差别,若SDF为有效状态,则按照该SDF的描述内容来启动Java-AP软件。
文档编号H04M1/00GK1534429SQ20041003229
公开日2004年10月6日 申请日期2004年3月31日 优先权日2003年3月31日
发明者市川裕一, 成濑直树, 大井达郎, 渡边信之, 服部易宪, 竹下理人, 西田真和, 浅井真生, 津田雅之, 富冈淳树, 山田和宏, 神谷大, 鹫尾谕, 山根直树, 村上圭一, 一, 之, 人, 和, 宏, 宪, 树, 生, 郎 申请人:株式会社Ntt都科摩