软件分发系统、软件分发方法

文档序号:6533782阅读:266来源:国知局
软件分发系统、软件分发方法
【专利摘要】本发明提供软件分发系统、软件分发方法。软件分发系统具有:第一软件接收单元,从第一分发装置接收软件;第二软件接收单元,从第二分发装置接收作为验证所述软件的程序的检查程序;以及软件执行单元,对以执行形式记述的所述软件和所述检查程序进行合成,并执行,所述第二软件接收单元在所述第一软件接收单元接收到所述软件的定时尝试取得与所述软件对应的检查程序,在未能取得所述检查程序的情况下,每隔规定的间隔重复地再次尝试,所述软件执行单元在所述第二软件接收单元接收到所述检查程序的定时,对所述软件和所述检查程序进行合成。
【专利说明】软件分发系统、软件分发方法

【技术领域】
[0001]本发明涉及软件分发系统。

【背景技术】
[0002]近年来,能够连接到互联网的设备通过网络获取软件的方式得到普及。在这样的设备中,例如有从智能电话那样的便携终端到个人电脑、汽车的车载终端这样的各种设备(以下,将这些终端称为客户终端)。由开发人员制作出的软件被上传到用于进行散发的服务器,通过系统自动地、或者通过利用者的操作而被下载到客户终端。
[0003]另一方面,如果存在恶意的软件、包含设计错误的软件被上传到服务器,则有在下载了该软件的客户终端中引起动作不良、或者出现终端内的信息泄露等这样的损害的担心。
[0004]因此,有如下手法:为了确保软件的安全性,认证机关进行所开发出的软件的动作测试,仅使测试合格了的软件流通。专利文献I记载的发明是与该手法相关的访问控制方法。在该发明中,认定机关生成证明软件安全的认定信息,并与软件一起发送到客户终端。客户终端根据该认定信息决定向程序的访问许可。由此,不会使未被认定为安全的软件在客户终端上动作。
[0005]专利文献1:日本特开2003-283494号公报


【发明内容】

[0006]但是,智能电话、车载终端这样的客户终端中存在各种各样的执行环境,所以有时无法在认证机关的固定的动作测试环境中进行充分的动作验证。例如,在客户终端是汽车中搭载的信息终端的情况下,如果不再现汽车的各种各样的行驶状态则无法进行测试,所以存在难以进行完整的动作验证的问题。
[0007]因此,本申请的 申请人:提出有能够在执行程序的同时进行该程序的动作监视的软件制作方法(日本特愿2011-214992)。具体而言,同时执行用于验证监视对象程序的输入输出状态、变量等是否如标准一样的监视程序,检测监视对象程序的不被推荐的动作。监视对象既可以是应用程序,也可以是操作系统(OS)主体。
[0008]但是,在客户终端中进行动作的软件被频繁地更新(升级(update))的情况较多。为了安全对策、问题的解决、功能追加等而进行软件的升级。想要在通过网络来分发软件、进行软件的升级的方式中应用上述的手法的情况下,存在每次都必须同时散发分发对象的程序和与该程序对应的监视程序的制约。
[0009]也就是说,如果不以组的形式提供散发对象的软件和对应的监视序,则有可能产生在客户终端中动作的软件未受到保护的状态。例如,在对客户终端的OS进行了版本升级时,如果与新版本的OS对应的监视程序的散发耽误了,则直到接受监视程序的分发为止的期间成为OS未被监视的状态,所以在版本升级后的OS中包含有问题的代码的情况下,有在客户终端上被执行的危险。这样的情况下,优选一准备好监视程序就立即取得并应用。但是,在以往的软件分发服务中,并未假设随后追加补充应该与已经分发的软件同时执行的其他程序的情形。也就是说,存在如果利用者不估计期间并以人工方式下载监视程序、开始对象软件的监视,则无法设为保护了软件的状态的问题。
[0010]本发明是考虑上述问题而完成的,目的在于提供一种能够缩短软件未受保护的状态的软件分发系统。
[0011]本发明的软件分发系统是包括如下部分的软件分发系统:计算机,具备验证软件的动作的功能;第一分发装置,对所述计算机分发软件;以及第二分发装置,对所述计算机分发作为验证所述软件的程序的检查程序。另外,第一分发装置和第二分发装置未必一定分开,也可以是同一分发装置。
[0012]为了解决上述问题,特征在于,所述计算机具有:第一软件接收单元,从所述第一分发装置接收所述软件;第二软件接收单元,从所述第二分发装置接收与所述软件对应的所述检查程序;以及软件执行单元,合成所述检查程序和以执行形式记述的所述软件并执行,所述第二软件接收单元在所述第一软件接收单元接收到所述软件的定时尝试取得与所述软件对应的检查程序,在无法取得所述检查程序的情况下,每隔规定的间隔重复地再次尝试,所述软件执行单元在所述第二软件接收单元接收到所述检查程序的定时对所述软件以及所述检查程序进行合成。
[0013]从分发装置分发的软件是指,通过计算机执行的程序、或者从程序调用的程序库(library)。所分发的软件既可以是操作系统,也可以是应用程序。另外,所分发的软件不需要是单独动作的软件,例如既可以仅是从程序调用的程序库,还可以是二进制代码的差分等。
[0014]接受软件的分发的计算机在从分发装置接收到新的软件的定时,对分发装置请求取得对应的检查程序。直到得到对应的检查程序为止重复发行该取得请求。通过构成为这样,即使在检查程序被晚于软件主体的分发而准备那样的情形下,计算机也能够自动地取得该检查程序,所以能够缩短所分发的软件未受保护的时间。
[0015]程序的合成是指,在执行了检查对象的软件时,进行同时执行对应的检查程序那样的事前处理。例如,将检查程序添加合并到检查对象的软件中,生成执行形式的一个程序。在添加合并检查程序时,变更软件的处理内容以使自动执行对应的检查程序。由此,能够与检查对象的软件同时地执行检查程序。除此以外,例如还可以新生成用于同时启动检查对象的软件和对应的检查程序的程序。
[0016]在客户终端侧,通过合成所散发的软件和检查程序,因为在执行软件时必定也执行检查程序,所以能够更牢靠地保护软件。
[0017]另外,特征还在于,所述第二分发装置个别地分发与所分发的软件的分别不同的一部分功能对应的多个所述检查程序。
[0018]例如,在软件的特定的功能中发现问题、进行了用于解决该问题的版本升级的情况下,分发仅监视与通过该版本升级而解决了的问题相关联的功能的检查程序。因为监视其他功能的检查程序已经发送完毕,所以不进行分发。由此,能够减小检查程序的数据大小,能够缩短检查程序的分发时间。另外,通过个别地制作检查程序,能够缩短直到开发检查程序而分发为止的时间。另外,所分发的检查程序既可以是仅监视对象功能的独立的程序,也可以是用于对已经分发完毕的检查程序进行升级的差分。
[0019]另外,特征还在于,所述第二软件接收单元在所述第一软件接收单元进行了软件的接收时,从所述第二分发装置取得与需要所接收到的所述软件的其他软件对应的检查程序。
[0020]例如,在对任意的软件进行了升级的情况下,为了执行而需要该软件的其他软件有可能无法正常地动作。为了对应这种情况,能够自动地取得与该其他软件对应的检查程序。
[0021]另外,特征还在于,所述第一分发装置和所述第二分发装置是同一分发装置,所述分发装置还具有:软件合成单元,生成将分发对象的软件和与所述软件对应的检查程序合成而得到的合成软件;以及合成软件分发单元,对所述计算机分发所述合成软件,在所述分发装置中存储有与分发对象的软件对应的检查程序的情况下,所述软件合成单元根据所述分发对象的软件和所述检查程序生成合成软件,所述合成软件分发单元分发所述合成软件。
[0022]通过构成为这样,在分发装置上准备有与分发对象的软件对应的检查程序的情况下,能够事先合成双方而分发。另外,因为还能够分别分发软件和检查程序,所以在软件的分发阶段未准备好对应的检查程序的情况下,也能单独地分发软件。
[0023]另外,本发明能够特定为包含上述单元的至少一部分的软件分发系统。另外,本发明还能够特定为包含上述单元进行的处理的至少一部分的软件分发方法。上述处理、单元只要在技术上不产生矛盾,则可以自由地组合而实施。
[0024]根据本发明,能够提供能够缩短软件未受保护的状态的软件分发系统。

【专利附图】

【附图说明】
[0025]图1是第一实施方式的软件分发系统的系统结构图。
[0026]图2是第一实施方式的软件分发系统的处理流程图。
[0027]图3是第二实施方式的软件分发系统的系统结构图。
[0028]图4是判定所需的应用程序检查代码的版本的表格。
[0029]图5是第三实施方式的软件分发系统的系统结构图。
[0030]图6是第四实施方式的软件分发系统的系统结构图。
[0031]图7是第四实施方式的软件分发系统的处理流程图。
[0032]符号说明
[0033]100:计算机;200:分发装置;101:系统程序库接收部;102:检查代码分发请求部;103:系统检查代码接收部;104:代码合成部;105:代码执行部;111:应用程序接收部;112:检查代码分发请求部;113:应用程序检查代码接收部;201:系统程序库分发部;202:系统检查代码分发部;203:代码合成部;211:应用程序分发部;212:应用程序检查代码分发部。

【具体实施方式】
[0034](第一实施方式)
[0035]<系统结构>
[0036]说明第一实施方式的软件分发系统。第一实施方式的软件分发系统包括:计算机100,具有经由网络对操作系统进行升级的功能;分发装置200A,对该计算机分发操作系统;以及分发装置200B,对该计算机分发系统检查代码。另外,在本实施方式的说明中,系统程序库是指用于使计算机100动作的操作系统的一部分或者全部,系统检查代码是指用于监视操作系统的动作的检查程序。
[0037]图1是本实施方式的软件分发系统的系统结构图。计算机100具有CPU和主存储装置、辅助存储装置(都未图示)。辅助存储装置中存储的程序被加载到主存储装置,由CPU执行,从而图1所图示的各单元发挥功能。分发装置200A或者200B也都能够由计算机实现,但分发装置200A或者200B的全部或者一部分也可以使用专门设计的电路来执行。
[0038]首先,说明计算机100。计算机100具有系统程序库接收部101、检查代码分发请求部102、系统检查代码接收部103、代码合成部104以及代码执行部105。计算机100既可以是个人电脑,也可以是车载终端、便携信息终端等。只要是能够执行包含操作系统、中间件、用户应用程序等的任意的软件的计算机即可。
[0039]系统程序库接收部101是经由网络接收成为更新对象的系统程序库的单元,是本发明中的第一软件接收单元。接收的系统程序库包含对系统升级时所需要的全部的软件。
[0040]检查代码分发请求部102是对分发装置请求与所更新的系统对应的系统检查代码的分发的单元。另外,系统检查代码接收部103是从分发装置200B接收检查代码分发请求部102所请求的系统检查代码的单元。检查代码分发请求部102以及系统检查代码接收部103是本发明中的第二软件接收单元。
[0041]代码合成部104是对操作系统合成所接收的系统检查代码的单元。代码的合成既可以针对所接收的系统程序库进行,也可以使用所接收的系统程序库对计算机存储的操作系统进行升级、并对升级后的操作系统进行。
[0042]代码的合成是指如上述那样实施同时执行检查对象的软件和检查程序这双方的处理。在本实施方式中,将系统检查代码添加合并到升级后的操作系统的代码上,与操作系统的执行同时地附加执行系统检查代码的处理。具体的方法后述。
[0043]另外,关于代码合成,只要是用于同时启动操作系统和检查程序的处理,未必需要将程序添加合并。例如,也可以生成与系统的启动同时地启动检查程序的处理。
[0044]代码执行部105是执行由代码合成部104合成的程序的单元。通过执行由代码合成部104添加合并后的程序,开始检查对象软件的检查。代码合成部104以及代码执行部105是本发明中的软件执行单元。
[0045]接下来,说明分发装置200A以及200B。分发装置200A是本发明中的第一分发装置,分发装置200B是本发明中的第二分发装置。
[0046]系统程序库分发部201是存储在计算机100上动作的系统程序库、并分发到计算机100的单元。如上所述,被存储、分发的系统程序库既可以是操作系统的整体,也可以仅仅是操作系统的升级所需的模块。
[0047]系统检查代码分发部202是存储用于监视分发对象的系统程序库的程序即系统检查代码、并分发到计算机100的单元。系统检查代码分发部202中存储与系统程序库分发部201分发的系统程序库的版本对应的版本的系统检查代码,但未必一定存储对应的版本的系统检查代码。例如,因为使系统的问题修正优先,所以也可以先进行系统程序库的分发,之后再存储系统检查代码。
[0048]<处理流程>
[0049]说明本实施方式的软件分发系统进行的处理的详情。图2是示出计算机100从分发装置200A接收系统程序库、从分发装置200B接收系统检查代码、直到生成执行模块为止的处理的流程图。
[0050]首先,系统程序库接收部101对系统程序库分发部201请求系统程序库的分发,并接收所分发的系统程序库(Sll)。所接收到的系统程序库被发送给代码合成部104。
[0051]接下来,检查代码分发请求部102对系统检查代码分发部202询问有无与所接收的系统程序库对应的系统检查代码(S12)。具体而言,将计算机100中已存储的系统检查代码的版本、和接受分发的系统程序库的版本发送到分发装置,系统检查代码分发部202判断是否有需要更新的系统检查代码。
[0052]步骤S12中系统检查代码分发部202进行的判断的结果能够分类为以下三种。
[0053](I)因为是需要更新系统检查代码、且合适的版本的系统检查代码能够分发的状态,所以通知该意思。
[0054](2)因为不需要更新系统检查代码,所以通知该意思。
[0055](3)需要更新系统检查代码,但因为未完成分发准备,所以通知该意思。
[0056]在需要更新系统检查代码并且能够进行分发的情况下,处理转移到步骤S14,开始应分发的版本的系统检查代码的分发。(所述(I)的情形)
[0057]另外,在未大规模追加/变更系统程序库的功能的情况等不需要系统检查代码的更新的情况下,作为响应而返回不需要分发的意思。在此情况下,处理结束。(所述(2)的情形)
[0058]另一方面,在进行系统的升级的情况下,有为了解决问题而紧急进行的发布,在此情况下,有时系统程序库的修正优先,而检查代码的准备来不及了。在未完成检查代码的准备的情况下,即使有来自检查代码分发请求部102的询问,也无法作为响应而返回对应的检查代码的版本。在这样的情况下,系统检查代码分发部202对检查代码分发请求部102返回未完成分发准备的意思的响应。在此情况下,处理返回步骤S12,隔几分钟到几小时的间隔后再次进行询问。该间隔能够设定为任意的时间。(所述⑶的情形)
[0059]在步骤S14中,系统检查代码接收部103接收对应的版本的系统检查代码。在接收成功了的情况下(S15-“是”),将接收到的系统检查代码发送给代码合成部104。在失败了的情况下(S15- “否”),在规定的时间后再次尝试。
[0060]接下来,代码合成部104使用接收到的系统程序库进行操作系统的更新。如果更新完成,则代码合成部104进行操作系统与系统检查代码的合成(S16)。将其他程序代码添加合并到执行形式的程序代码上、并控制其执行的技术记载于例如日本特开2002-229790号公报中。
[0061]更具体而言,在检查对象的程序的末尾附加检查程序,将执行文件的头部中保持的切入点(执行开始地址)变更为检查程序的地址。检查程序仅将所合成的代码中的除自己以外的部分、即检查对象的程序拷贝到主存储装置中,并执行。由此,如果要执行检查对象的程序,则首先启动检查程序,检查程序启动检查对象的程序,所以能够同时执行双方。
[0062]所生成的执行模块被发送到代码执行部105,处理结束。如果通过代码执行部105执行操作系统,则系统检查代码被启动,开始系统的监视。
[0063]根据第一实施方式,在对系统升级了的定时,对分发装置请求对应的检查代码。在检查代码未准备好的情况下,直到完成取得为止定期地重复分发请求,在完成取得的定时实施检查代码的合成。通过构成为这样,能够将系统未被检查代码保护的时间设为最短。
[0064](第二实施方式)
[0065]第二实施方式的软件分发系统是分发装置经由网络对客户终端分发应用程序的方式。另外,第二实施方式是在分发检查代码时,仅分发所需要的最小限的代码的方式。仅接收的软件的种类不同,分发软件和检查程序的目的与第一实施方式相同。关于与第一实施方式相同的单元,附加相同符号而省略说明。另外,以下说明的步骤以外的动作与第一实施方式相同。
[0066]图3是第二实施方式的软件分发系统的系统结构图。
[0067]应用程序接收部111是接收从分发装置200A分发的应用程序的单元。仅接收的软件的种类不同,处理的内容与系统程序库接收部101相同。
[0068]检查代码分发请求部112是对分发装置200B请求与更新了的应用程序对应的检查程序即应用程序检查代码的分发的单元。仅所请求的检查代码的种类不同,处理的内容与检查代码分发请求部102相同。
[0069]应用程序检查代码接收部113是接收从分发装置200B分发的应用程序检查代码的单元。仅检查代码设为对象的软件不同,处理的内容与系统检查代码接收部103相同。
[0070]代码合成部114是将所接收的应用程序检查代码合成到应用程序的单元。仅对象的软件的种类不同,处理的内容与代码合成部104相同。
[0071]应用程序分发部211是存储在计算机100上动作的应用程序、并分发到计算机100的单元。所分发的应用程序既可以是应用程序整体,也可以仅是升级所需的模块或者差分。仅所分发的软件的种类不同,处理的内容与系统程序库分发部201相同。
[0072]应用程序检查代码分发部212是存储用于监视应用程序的程序即应用程序检查代码、并分发到计算机100的单元。其功能与第一实施方式中的系统检查代码分发部202相同,但存储应用程序检查代码的方法不同。系统检查代码分发部202存储与所分发的系统程序库的整体对应的检查代码,但本实施方式中的应用程序检查代码分发部212在个别地保存与所分发的应用程序具有的功能中的一部分功能对应的检查代码这一点上与第一实施方式不同。
[0073]说明这一点。为了功能的追加、问题的解决而进行软件升级的情况较多,如果对未被更新的功能再次发送同一检查代码,则会浪费地消耗通信带宽。因此,将检查代码分割为对应的功能、模块而存储,仅发送与通过升级而被变更了的部分对应的检查代码。检查代码的分割能够按照任意的单位进行。
[0074]在第二实施方式中,计算机100进行的处理内容的、与第一实施方式的差别点如下所述。
[0075]在步骤Sll中,应用程序接收部111对应用程序分发部211请求应用程序的分发,并接收应用程序。
[0076]在步骤S12中,通过与第一实施方式相同的方法对应用程序检查代码分发部212询问有无与所接收到的应用程序的版本对应的应用程序检查代码。应分发的应用程序检查代码的版本是什么的信息,例如,也可以在应用程序检查代码分发部212中以如图4所示的表格形式保持。在本实施方式中,仅分发与应用程序的被变更了的功能对应的检查代码,所以更新前的应用的版本越新,所取得的应用程序检查代码也越少。在图4的例子的情况下,在例如更新前的应用程序的版本是1.5的情况下,具有2.0以及2.1这样的版本的应用程序检查代码成为分发对象。
[0077]步骤S13的处理与第一实施方式相同。
[0078]在步骤S14中,应用程序检查代码接收部113接收对象的应用程序检查代码。步骤S15?S16的处理与第一实施方式相同。
[0079]在第二实施方式中,仅分发与通过升级而被变更了的功能、模块对应的检查代码,所以能够抑制检查代码的大小,具有能够抑制通信带宽的消耗的优点。另外,因为检查程序的开发規模变小,所以能够缩短直到分发的准备完成为止的时间。
[0080](第三实施方式)
[0081]第三实施方式是对第一实施方式的分发装置追加有对系统程序库与系统检查代码进行合成的功能的方式。在开始系统程序库的分发时,在准备有对应的系统检查代码的情况下,在分发装置侧对系统检查代码与系统程序库进行合成而分发,在未准备的情况下个别地分发。关于与第一实施方式相同的单元,附加相同的符号而省略说明。另外,以下说明的步骤以外的动作与第一实施方式相同。
[0082]图5是第三实施方式的软件分发系统的系统结构图。
[0083]系统程序库分发部201以及系统检查代码分发部202的动作与第一实施方式类似,但在将分发对象的系统程序库以及系统检查代码经由代码合成部203而发送的这一点上与第一实施方式不同。另外,在本实施方式中,分发系统程序库的分发装置与分发系统检查代码的分发装置是同一分发装置200。
[0084]代码合成部203与代码合成部104同样地,是对系统程序库与系统检查代码进行合成、在生成了一个执行模块之后将所合成的程序分发给计算机100的单元。其中,代码合成仅在开始系统程序库的分发时,在分发装置中存在对应的系统检查代码的情况下进行。在对应的系统检查代码未完成准备的情况下,不进行代码合成,而进行与第一实施方式相同的分发。代码合成部203是本发明中的软件合成单元以及合成软件分发单元。
[0085]在第三实施方式中,计算机100进行的处理内容的、与第一实施方式的不同点如下所述。
[0086]在步骤Sll中,系统程序库接收部101对代码合成部203请求系统程序库的分发。代码合成部203在分发装置中存储有与所请求的版本的系统程序库对应的系统检查代码的情况下,对该系统程序库与对应的系统检查代码进行合成而分发。否则,不进行合成而仅分发系统程序库。
[0087]接下来,在步骤S12中,与第一实施方式同样地,检查代码分发请求部102对分发装置讯问有无与所接收到的系统程序库对应的系统检查代码。其中,在所接收到的系统程序库是由分发装置所合成的程序库的情况下,对应的系统检查代码已经取得完毕,所以跳过步骤S12?S16,结束处理。
[0088]在所接收到的系统程序库并非由分发装置合成的程序库的情况下,在分发装置中存在对应的系统检查代码的情况下(即,之后追加了系统检查代码的情况下),向步骤S14转移,系统检查代码接收部103取得系统检查代码。另外,在所接收到的系统程序库并非通过分发装置合成、且对应的系统检查代码的分发准备未完成的情况下,再次转移到步骤S12。步骤S15?S16的处理与第一实施方式相同。
[0089]根据第三实施方式,能够在系统程序库的分发开始时,在准备有对应的系统检查代码的情况下在分发装置侧合成代码,在未完成准备的情况下个别地分发。由此,能够减轻客户终端的负荷,并且还能够应对系统检查代码的准备推迟的情形。
[0090](第四实施方式)
[0091]第四实施方式是在接收系统程序库而对操作系统升级了时,同时还请求针对应用程序的检查代码的方式。
[0092]在对操作系统升级了的情况下,有时由于兼容性的问题应用程序变得无法正常动作。例如,应用所使用的API的标准由于操作系统的版本升级而被变更了的情况等。在这样的情况下,如果应用程序检查代码未与最新的操作系统对应,则无法判别应用程序是因为系统上的限制而未正常地动作、还是仅仅因为问题而未正常地动作。在第四实施方式中,为了应对这样的情形,而与系统升级同时地尝试取得针对应用程序的最新的检查代码。关于与第一实施方式相同的单兀,附加相同的符号而省略说明。
[0093]图6是第四实施方式的软件分发系统的系统结构图。
[0094]检查代码分发请求部102是对分发装置200请求与被更新了的系统对应的系统检查代码的分发的单元,但在同时对分发装置200请求与被更新了的系统对应的应用程序检查代码的分发的这一点上,与第一实施方式不同。在本实施方式中,分发系统程序库的分发装置和分发系统检查代码的分发装置构成为同一分发装置200。
[0095]图7是第四实施方式的计算机100进行的处理的流程图。步骤Sll到S16的处理是用于更新系统的处理,与第一实施方式相同。
[0096]步骤SI I完成之后,检查代码分发请求部102与第二实施方式同样地,对分发装置询问有无所需的应用程序检查代码(S22)。询问的概要是“有与更新后的系统的版本对应的应用程序检查代码吗”。即检查代码分发请求部102同时发送所接收到的系统程序库的版本,关于所存储的全部的应用程序检查代码,进行是否需要更新的核对。
[0097]在此,在未完成对应的应用程序检查代码的分发准备的情况下,检查代码分发请求部102将处理返回到步骤S22,通过与第一实施方式相同的方法尝试再次请求。在准备有对应的应用程序检查代码的情况下,在步骤S24中,取得对应的版本的全部的应用程序检查代码。将所接收到的应用程序检查代码发送给代码合成部104,进行代码合成(S26)。另夕卜,在仅准备好多个应用程序检查代码中的一部分应用程序检查代码的情况下,也可以先取得能够取得的部分。
[0098]由此,在第四实施方式中,与系统的升级连动地取得最新的应用程序检查代码。由此,能够在进行了操作系统的版本升级时,防止应用程序的监视无法正常进行的事态。
[0099](变形例)
[0100]各实施方式的说明是用于说明本发明的例示,本发明能够在不脱离发明的宗旨的范围内实施适当的变更或组合。例如,在第一以及第二实施方式中,将分发软件的分发装置和分发检查程序的分发装置设为不同的装置,但也可以从同一分发装置分发软件以及检查程序。另外,在第一实施方式中,关于检查操作系统的方式进行了阐述,但也可以将应用程序作为检查对象。同样地,在第二实施方式中关于检查应用程序的方式进行了阐述,但也可以将操作系统作为检查对象。另外,也可以并用各实施方式中阐述的处理的内容。
[0101]另外,在各实施方式中阐述的检查程序,只要是验证所执行的软件的妥当性的程序,则可以是任意的检查程序。例如,既可以是验证并记录所使用的API (Applicat1nProgramming Interface:应用程序接口)的调用方法是否正确的程序,也可以是检测向未被许可的资源的访问而阻止(block)的程序。
【权利要求】
1.一种软件分发系统,其特征在于,包括: 计算机,具备验证软件的动作的功能; 第一分发装置,对所述计算机分发软件;以及 第二分发装置,对所述计算机分发作为验证所述软件的程序的检查程序, 其中,所述计算机具有: 第一软件接收单元,从所述第一分发装置接收所述软件; 第二软件接收单元,从所述第二分发装置接收与所述软件对应的所述检查程序;以及 软件执行单元,对以执行形式记述的所述软件和所述检查程序进行合成并执行, 所述第二软件接收单元在所述第一软件接收单元接收到所述软件的定时尝试取得与所述软件对应的检查程序,在未能取得所述检查程序的情况下,每隔规定的间隔重复地再次尝试, 所述软件执行单元在所述第二软件接收单元接收到所述检查程序的定时,对所述软件与所述检查程序进行合成。
2.根据权利要求1所述的软件分发系统,其特征在于, 所述第二分发装置分发与要分发的软件的分别不同的一部分的功能对应的多个检查程序。
3.根据权利要求1或2所述的软件分发系统,其特征在于, 所述第二软件接收单元在所述第一软件接收单元接收了软件时,从所述第二分发装置取得与需要所接收到的所述软件的其他软件对应的检查程序。
4.根据权利要求1至3中任意一项所述的软件分发系统,其特征在于, 所述第一分发装置与所述第二分发装置是同一分发装置, 所述分发装置还具有: 软件合成单元,生成对分发对象的软件和与所述软件对应的检查程序进行合成而得到的合成软件;以及 合成软件分发单元,对所述计算机分发所述合成软件, 在所述分发装置中存储有与分发对象的软件对应的检查程序的情况下, 所述软件合成单元从所述分发对象的软件和所述检查程序生成合成软件,所述合成软件分发单元分发所述合成软件。
5.一种软件分发方法,由计算机、第一分发装置以及第二分发装置进行,其中,所述计算机具备验证软件的动作的功能,所述第一分发装置对所述计算机分发软件,所述第二分发装置对所述计算机分发作为验证所述软件的程序的检查程序,该软件分发方法的特征在于, 所述第一分发装置对所述计算机分发软件; 所述第二分发装置对所述计算机分发与所述软件对应的所述检查程序; 所述计算机在接收到所述软件的定时尝试取得与所述软件对应的检查程序,在未能取得所述检查程序的情况下,每隔规定的间隔重复地再次尝试,在接收到所述检查程序的定时对所述软件与所述检查程序进行合成。
【文档编号】G06F21/57GK104272318SQ201380024385
【公开日】2015年1月7日 申请日期:2013年5月10日 优先权日:2012年5月10日
【发明者】铃木贤, 明井正治 申请人:丰田自动车株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1