CN1979512A - 分发软件产品的方法和系统 - Google Patents
分发软件产品的方法和系统 Download PDFInfo
- Publication number
- CN1979512A CN1979512A CNA2006100845183A CN200610084518A CN1979512A CN 1979512 A CN1979512 A CN 1979512A CN A2006100845183 A CNA2006100845183 A CN A2006100845183A CN 200610084518 A CN200610084518 A CN 200610084518A CN 1979512 A CN1979512 A CN 1979512A
- Authority
- CN
- China
- Prior art keywords
- software
- software product
- bag
- described method
- product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000011156 evaluation Methods 0.000 claims description 25
- 238000009434 installation Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims 3
- 230000004913 activation Effects 0.000 abstract description 7
- 230000003213 activating effect Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009182 swimming Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000916 dilatatory effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
提出一种按照试用模式分发软件产品的解决方案(300)。该解决方案建立在利用软件分发基础结构的思想上。为此,为将按照试用模式分发的任何软件产品提供(306-309)试用软件包(由特定的属性识别)。试用软件包被照常部署(318-321)和应用(324-330),以便安装软件产品。软件分发基础结构的另一服务监视(333-339)软件产品的满期期限的到达(在对应的试用软件包的另一属性中定义)。当达到该满期期限时,试用软件包被再次应用(342-345),以便暂时除去软件产品。如果稍后购买(354)了同一软件产品的许可证,那么部署(354-360)和应用(363)对应的激活软件包。激活软件包再调用试用软件包的应用(369-372),以便永久恢复软件产品。
Description
技术领域
本发明涉及信息技术领域,更具体地说,本发明涉及软件产品的分发。
背景技术
软件产品在现代数据处理系统中起着关键的作用。为此,可用到各种各样的软件产品,从简单的个人实用程序到复杂的企业应用程序。对应的市场是完全动态的,大量的新软件产品或其新版本被不断投放到该市场中。
在此领域中,软件产品的发行者间的竞争是非常激烈的。于是,提出了不同的营销策略,试图提高销售量。特别地,一种常见的策略是按照试用模式提供软件产品,在该模式下,所述软件产品可被免费使用有限的一段时间;这样,允许任何潜在的客户不计价地评价软件产品(例如,其适用性或性能)。在该评价期结束时,该软件产品的操作被自动禁止(以便避免软件产品的未授权使用)。任何时候,每个客户可决定购买无限制地使用该软件产品的一个或多个许可证。从而,如果评价期已结束,那么软件产品被再次激活;总之,其时间限制被消除,以使软件产品的运行持久化(可能服从任意特定的使用条件)。
为此,发行者必须向软件产品本身提供管理上述试用模式所需的所有逻辑。特别地,必须嵌入专用代码,以处理可能发生的任何可能情形;例如,该附加代码应能够监视评价期,在评价期接近终止时发送警告消息,当购买了对应的许可证时激活软件产品,使软件产品的运行长久化等。
但是,这种方法侵略性极高,因为需要直接更新软件产品。此外,发行者必须为每种软件产品提出一种不同的解决方案。从而操作既费时又易于出错;总之,在其发行之前,总是必须再次测试更新的软件产品(包括管理试用模式的附加代码)。
另外应注意上面说明的方法并不具有一般适用性。例如,当软件产品由少量的文件或对象组成时,难以增加管理试用模式所需的代码。总之,由于软件产品只能由其发行者更新,因此不可能以试用模式提供软件产品,如果它们本来就不支持该特征。
另外,每当运行软件产品时,必须核实评价期的终止。于是,该操作会不利地影响整个系统的性能,特别是当极其频繁地不断调用软件产品时更是如此。
不管软件产品如何被提供,都会出现上面提及的缺陷。例如,软件产品(处于试用模式)可以下载自因特网上的网站,可随杂志附上,可在展览会展台提供等等。另一方面,借助软件分发基础结构,例如基于IBM公司的“IBM Tivoli Configuration Manager”(ITCM),软件产品可自动从中央位置部署到多个端点。
发明内容
本发明提供一种如独立权利要求中陈述的解决方案。在从属权利要求中描述了本发明的优选实施例。
原则上,本发明建立在利用(leverage)软件分发服务来提供服从满期(expiration)条件的软件产品的思想上。
具体地说,本发明的一个方面提出一种在数据处理系统中分发软件产品的方法。所述方法从部署软件产品的主要(或试用)软件包(software package)的步骤开始;主要软件包从源实体(例如网关)被部署到系统的一组一个或多个目标实体(例如多个端点)。在每个目标实体按照安装模式应用所述主要软件包,以便安装软件产品。所述方法随后涉及借助代理监视每个目标实体上,软件产品的满期条件的满足。响应满期条件的满足,在目标实体上按照禁用模式应用主要软件包,以便可逆地禁用软件产品。
一般地,稍后按照恢复模式应用试用软件包(以便恢复禁用的软件产品)。
在本发明的一个优选实施例中,借助辅助(激活)软件包来实现该结果。
建议实现涉及向软件包中添加控制标记,所述控制标记被用于启用或者禁用上面所述的监视。
有利的是,满期条件被设定为(在安装之后的)评价期的终止,评价期也在试用软件包中规定。
作为进一步的增强,按照取决于评价期的频率进行所述监视。
在本发明的一个实施例中,响应清除(cleanup)请求,删除被禁用的软件产品。
进一步改进该解决方案的一种方式是在按照评价期设定的清除延迟(从禁用开始)之后进行该操作。
本发明的另一方面提出一种执行所述方法的计算机程序。
本发明的另一方面提出一种对应的系统。
附图说明
结合附图,参考只是作为非限制性指示给出的下面的详细说明,将最好地理解发明本身,及其另外的特征和优点,其中:
图1a是表示其中可应用根据本发明的一个实施例的解决方案的数据处理系统的示意方框图;
图1b表示该系统的例证计算机的功能块;
图2表示可用于实现根据本发明的实施例的解决方案的主要软件组件;和
图3a-3b描述与根据本发明的一个实施例的解决方案的实现相关的活动的流程。
具体实施方式
参考图1a,图解说明具有分布式体系结构的数据处理系统100。
系统100实现软件分发基础结构(例如,基于上面提及的ITCM)。具体地,准备服务器105起定义和测试将被用于实施所需软件配置的软件包的中央位置的作用;一般来说,软件包允许安装、升级、配置或删除软件产品(例如应用程序)。
分发服务器110控制实际的软件分发过程。具体地,分发服务器110借助部署服务115(例如,由基于IBM公司的“Tivoli ManagementFramework or TMF”的“Multiplexed Distribution or MDIST2”服务组成),部署来自准备服务器105(起提供所需的软件包的源主机的作用)的所选软件包。软件包可被直接提供(按照推送方式)给软件分发过程的端点,在其中应用所述软件包,以便实施所需的软件配置;按照断开模式操作(其中按照预定的规划,一组软件包被部署到选择的端点),或者响应通过命令行接口(CLI)输入的特定请求,获得该结果。
此外,如图1中所示,软件包可被提供给网关120,网关120对授权用户(或用户组)公布软件包。为此,网关120充当因特网125中的web服务器;授权用户借助对应的端点130(充当客户机)访问网关120(通过因特网125);这样,所需的软件包可从网关120下载(按照拖拉方式),并且随后被应用到端点130上。
上述结构大大简化了部署软件产品的过程(尤其是当系统100包括大量的端点130时更是如此);此外,可从分发服务器110中心控制所有的操作。在WO-A-003085513中描述了这种软件分发基础结构的一个例子(尤其是所支持的软件包的一个例子),WO-A-003085513的整个公开内容在此引为参考。
一般来说,每个软件包(也称为软件包块或SPB)以包括软件包的不同属性(例如其名称、版本等)的报头开始。软件包随后包括一个动作部分,所述动作部分定义为了实施所需的软件配置将要执行的动作(可能以运行时间参数为条件);此外,软件包包括一个数据部分,所述数据部分包含任何所需资源(例如可执行的模块,配置文件,数据库,图标等)的映像(image)。
软件包在每个端点的应用涉及对应动作的执行,以便达到软件包的所需目标状态;例如,可按照“Installed”模式应用软件包(以安装对应的软件产品)或者按照“Removed”模式应用软件包(以删除同一软件产品)。此外,还可以指定软件包的应用处于“Committed”模式(当它不能被逆转(reverse)时)或者处于“Undoable”模式(当能够恢复到在其应用之前的情形时);例如,当软件产品被升级(例如升级到新版本)时,一般使用“Installed undoable”模式。这种情形下,通过按照“Undo”模式应用软件包,软件包的应用可在稍后被逆转(例如,由于任何故障的缘故);相反地,在“Accept”模式下的软件包的应用,可使软件包的应用长久化(例如,在新版本的软件产品的成功测试之后)。
在根据本发明的一个实施例的解决方案中,软件分发基础结构还被用于以试用模式提供软件产品(例如,在有限的一段时间内,自由地评价软件产品)。为此,两种新的属性被加入到软件包的报头中。具体地说,属性“TrialFlag”由布尔型标记组成,当必须按照试用模式分发对应的软件产品时,宣称该标记(即“True”)。另一属性“Eval”指示评价期的长度(其间软件产品可被免费使用);一般来说,属性“Eval”是提供在软件产品的安装之后的评价期的天数的整数。
软件分发基础结构借助属性“TrialFlag”和“Eval”被相应设定的对应软件包(下面称为试用软件包),照常控制将按试用模式分发的每个软件产品的安装。如下详细所述,相同软件分发基础结构的服务定期检查试用模式下的每个软件产品是否到达满期期限,它由在应用对应的试用软件包之后,评价期的终止来定义。如果是,那么试用软件包被再次应用,以便禁用软件产品。但是稍后借助另一软件包(下面称为激活软件包),可再次激活该软件产品;激活软件包包括新的激活动作,该激活动作引起同一试用软件包的应用,以便恢复对应的软件产品。
提出的技术不需要软件产品的任何更新(利用适用于将按照试用模式提供的所有软件产品的相同解决方案)。于是,不同软件产品的发行者不必为此开发任何自组织(ad-hoc)代码;这便于节省时间和避免可能的错误(不需要软件产品的任何额外测试)。
上述解决方案具有普遍的适用性。具体地说,现在能够以试用模式提供任何类型的软件产品;例如,这同样适用于非常简单的软件产品(其中不能嵌入任何额外的代码的软件产品)。
另外应注意可与软件产品的使用无关地核实评价期的终止。于是,能够把对系统性能的影响降至最小(例如,通过在空闲周期内执行该操作)。
如图1b中所示,系统的类属计算机(准备服务器,分发服务器,网关或端点)用150表示。计算机150由与系统总线153并行连接的几个单元构成(具有可按照上述系统中的计算机150的实际功能适当地比例缩放的结构)。具体地,一个或多个微处理器(μP)156控制计算机150的操作;RAM 159被微处理器156直接用作工作存储器,ROM 162保存计算机150的引导程序的基本代码。外围单元被群集在本地总线165附近(借助相应的接口)。特别地,大容量存储器由硬盘168和读取CD ROM 174的驱动器171组成。此外,计算机150包括输入装置177(例如键盘和鼠标),和输出装置180(例如监视器和打印机)。适配器183被用于连接计算机150和网络。桥接器186连接系统总线153和本地总线165。每个微处理器156和桥接器186能够起请求访问系统总线153,以便传输信息的主代理的作用。仲裁器189管理对系统总线153的相互排斥的访问的许可。
现在参见图2,在上述系统上运行的主要的软件组件整体用附图标记200表示。和操作系统及其它应用程序(图中未示出)一起,信息(程序和数据)一般保存在硬盘上,并且当程序运行时,被装入(至少部分地)每个计算机的工作存储器中。程序最初从例如CD-ROM被安装到硬盘上。
特别参考准备服务器105,编辑器205提供用于定义软件包的图形用户界面(GUI)。如此获得的软件包,或者它们的定义连同对应的资源图像一起被保存在储存库210中;储存库210还可被用于保存由第三方提供(已完成其分发)的软件包。在所讨论的例子中,对于将按试用模式分发的每个软件产品,储存库210将包括对应的试用软件包(用于其安装/删除)和激活软件包(用于其恢复)。储存库210由构建器(builder)215访问,构建器215取回或动态产生选择的软件包。部署管理器220(在分发服务器的控制下)使这些软件包可用于部署服务(用于把它们分配给不同的网关)。
已被提供给类属网关120的所有软件包被保存在全局储存库225。全局储存库225由web接口230访问,web接口230控制软件包到不同端点的下载;在所讨论的例子中,web接口230由ITCM的“WebUI”服务组成。为此,web接口230实现许多功能,例如验证端点的每个用户并核实他们的授权的功能,满足任何提交的请求的功能,使每个端点与定义目标软件配置的所选参考模型同步的功能,批准任何软件包的应用所涉及的操作的执行的功能等。通过提供所有所需的基本服务的web服务器235,在因特网中,web接口230是可访问的。
现在讨论类属端点130,浏览器240被用于在因特网上冲浪(具体地说,访问不同的网关)。浏览器240与分发代理245连接,分发代理245本地控制软件分发过程。具体地说,分发代理245把已从网关下载的所有软件包保存到本地储存库250中;储存库250中的每个软件包与对应的所需目标状态相关。
本地储存库250由应用引擎255(例如ITCM的“软件安装引擎或SIE”服务)访问,应用引擎255在端点130上强制实施他们的应用。应用引擎255还控制软件目录260,软件目录260保存和在端点130上应用的每个软件包相关的信息(例如其当前状态,应用时间戳记等);另外,在本发明的一个实施例中,软件目录260的每个条目保存对应软件包的属性“TrialFlag”和“Eval”。对于(本地储存库250中的)还未处于所需的目标状态(如软件目录260中所示)的每个软件包,应用引擎25促成到达该目标状态所需的对应操作的执行,随后按照操作的结果,更新软件目录260。
特别地,当按照“Intstalled”模式应用为分发对应的软件产品(或者按照标准模式或者按照试用模式)而构建的类属软件包时,这些软件产品被安装到端点130上(在端点130,这些软件产品整体用附图标记265表示)。特别地,安装在端点130上的每个软件产品265包括对应的资源;软件产品265还包括可能由端点130的用户定制的任何配置选项(例如监听端口的数目,远程主机的名称等)。相反地,当按照“Removed”模式应用相同的软件包时,从端点130除去对应的软件产品265。每当按照“Undoable”模式应用软件包时,应用引擎还在专用区270中产生必须更新(“Installed undoable”模式)或者删除(“Removed undoable”模式)的对应软件产品265的对象(即,资源和/或配置选项)的备份副本。如果稍后按照“Undo”模式再次应用(在目录260中记录的)那些软件包之一,那么从备份储存库270恢复更新的/删除的对象(以便返回到在按照“Installed”模式或按照“Removed”模式应用软件包之前的情形);相反,当按照“Accept”模式再次应用相同的软件包时,备份储存库270中的对应对象被永久删除。
在根据本发明的一个实施例的解决方案中,增加试用控制器275。试用控制器275访问(例如定期地)软件目录。对于已按照试用模式(宣称属性“TrialFlag”)安装(对应的软件包“Installed”)的每个软件产品265,试用控制器275核实是否已到达相关的满期期限(按照试用软件包的安装时间戳记和在属性“Eval”中规定的评价期)。如果是,那么试用控制器275指令应用引擎255禁用该软件产品265;为此,应用引擎255按照“Removed undoable”模式再次应用对应的试用软件包。
此外,每当(从网关120)下载激活软件包时,照常在端点130上应用该激活软件包,以便促成其激活动作的执行。激活动作由一对参数定义,所述一对参数依据特定的试用软件包的名称和版本,识别该试用软件包。激活动作的执行又促成按照“Undo”模式应用该试用软件包,以便恢复对应的软件产品(如果需要的话);特别地,该操作导致从备份储存库270重新装入其对象(资源和/或配置选项)。总之,应用引擎255还撤消宣称(deassert)软件目录260中的试用软件包的属性“TrialFlag”;这样,使软件产品在端点130上的安装长久化。
如图3a-3b中所示,用方法300表示可在上述系统中实现的,以试用模式分发类属软件产品的例证过程的逻辑流程。方法300从准备服务器的泳道中的块303开始。继续到块306,解决方案模型工程师创建以试用模式分发所需软件产品而要求的试用软件包。方法300随后转到块309,其中解决方案模型工程师宣称对应的属性“TrialFlag”(以使试用软件包合格);同时,解决方案模型工程师把属性“Eval”设为评价期的所需长度(例如10-30天)。现在参见块312,解决方案模型工程师创建对应的激活软件包(用其识别所讨论的试用软件包的激活动作)。在块315,现在试用软件包和激活软件包都从准备服务器被部署到所需的网关(在分发服务器的控制下)。
在这方面,应注意属性“TrialFlag”默认被撤消宣称(即“False”),以致对软件产品的标准分发来说,提出的解决方案是不透明的。此外,属性“Eval”的提供使得能够以非常简单的方式单独设定每个软件产品的评价期的长度。
转到类属网关的泳道,在块318,解决方案发布工程师为授权用户公布试用软件包(接收自准备服务器)。转到块321,这些授权用户之一把试用软件包下载到其端点上。响应于此,在块324以“Installed”模式应用该试用软件包(以便把对应的软件产品安装在该端点上)。方法300随后继续到块327,其中关于该试用软件包的一个条目被加入到软件目录中(其属性为“TrialFlag”和“Eval”);同时,还增加该试用软件包的应用时间戳记和当前状态(起因于其应用)。现在考虑块330,最好按照对应软件产品的评价期(在属性“Eval”中规定),动态地设定(试用控制器的)试用软件包监视频率;例如,监视频率被计算为评价期的预定百分率(例如2-15%,最好4-8%,例如5%)的倒数。这样,试用控制器的行为自适应于要被监视的特定软件产品。
每当对应于该监视频率的超时满期时(块333),在块336,试用控制器核实是否已达到软件产品的满期时间;为此,试用控制器计算(从操作系统获得的)当前时间与(从软件目录抽取的)对应的试用软件包的安装时间戳记之间的差值。随后根据核实结果,操作流程在块339分支。如果该差值超过评价期(在属性“Eval”中规定),那么方法300转到块342;在该阶段中,以“Removed undoable”模式再次应用试用软件包(以便临时从端点除去该软件产品,但是把其相关对象保存在备份储存库中)。在块345中,在软件目录中相应地更新试用软件包的当前状态;同时,属性“TrialFlag”被撤消宣称,以便停止试用软件包的监视。这样,(为其接下来的可能恢复)保持已由端点的用户定制的任何配置选项。
转到块348,使软件产品的删除永久化的清除延迟最好被动态设定,并与软件目录中的对应试用软件包相关联。一般来说,按照(在属性“Eval”中规定的)软件产品的评价期,计算清除延迟,例如等于评价期的预定倍数(例如,1-5倍,最好2-4倍,例如3倍)。方法300随后继续进行到同步条351;另外当还未达到软件产品的满期时间时,从块339直接到达同步条351(以致软件产品被保持不变)。
活动的流程现在分成两个备选分支。第一分支由块354-375组成,第二分支由块378-381组成。
特别地,如果购买了软件产品的无限制版本的许可证(块354),那么在块357只对已支付了所需费用的用户发布对应的激活软件包。转到块360,这些用户中的每一个把激活软件包下载到其端点。响应于此,在块363应用激活软件包,以便促成其激活动作的执行。从而,过程在块366分支。如果在激活动作中识别的试用软件包已按“Removed”模式应用(在达到对应软件产品的满期时间之后),那么该方法转到块369;在该阶段中,按照“Undo”模式再次应用试用软件包(以便从备份储存库恢复软件产品及其对象,包括配置选项)。在块372,在软件目录中相应地更新试用软件包的当前状态。方法300随后继续进行到块375;另外当还未达到软件产品的满期时间时,从块366直接到达块375(以致软件产品仍然被安装)。现在考虑块375,在任何情况下,在软件目录中撤消宣称试用软件包的属性“TrialFlag”,以使软件产品的安装永久化。
另一方面,如果由清除延迟定义的超时以前满期(块378),那么过程转到块381。在该阶段中,按照“Accept”模式应用试用软件包,以便从端点永久删除对应的软件产品(及其对象)。这样,能够避免为不太可能再被恢复的软件产品浪费存储空间。此外,动态设定清除延迟的可能性使该特征是自适应的(按照软件产品的不同类型)。
上面说明的两个分支在同步条384接合。该过程随后在同心的白/黑终止圆圈387处结束。
自然地,为了满足本地的特定要求,本领域的技术人员可对上面说明的解决方案应用许多修改和变更。具体地说,虽然参考本发明的优选实施例以一定程度的特殊性说明了本发明,不过显然形式和细节方面的各种省略,替换和变化,以及其它实施例都是可能的;此外,关于本发明的任何公开的实施例说明的特定部件和/或方法步骤显然可作为设计选择的一般要素被包含在任何其它实施例中。
例如,如果系统具有不同的体系结构或者包括相同的单元,那么类似的考虑因素适用。此外,每个计算机可具有另一结构或者可包括类似的部件(例如临时保存程序或者部分程序,以减少运行期间对大容量存储器的访问的高速缓冲存储器);总之,可用任何代码执行实体(例如PDA、移动电话机等)替换计算机。
上述试用模式显然只是例证性的,本发明的解决方案可更一般地应用于服从任何使用限制的任意软件产品的分发。
虽然在前面的说明中,参考了特定的软件分发应用,但这并不打算作为对本发明的限制;此外,即使提出的机制主要按照上述拖拉模式使用,不过也可按照备选的推送模式使用。更一般地,软件分发基础结构部署的服务还可由任何其它提供者(适合于把软件产品从类属源实体分配给一个或多个目标实体)控制。同样地,试用软件包可具有任何其它结构,等同的解决方案(甚至集中的解决方案)可被用于监视评价期的终止,或者更一般地,监视软件产品的任何其它满期条件的满足。此外,不同的技术可被用于按照可逆的方式禁用软件产品;例如,什么也不能阻止从端点实际删除软件产品(但是为其可能的再安装,保留试用软件包),即使这免不了放松(loosing)任何配置选项。
如果试用控制器提供另外的功能,那么类似的考虑因素也适用;例如,可实现每当试用模式下的每个软件产品逼近其满期期限(例如,在由对应的评价期的所选百分比,例如10-20%定义的时间窗中)时,向端点的用户发送报警消息的服务。
另一方面,可按照另一种方式(例如,借助导致直接按“Undo”模式应用试用软件包的命令)恢复软件产品,或者所述恢复可启动一个新的评价期(即,不禁止对应的监视)。总之,该操作可由任何其它授权条件(例如,在测试期之后,使软件产品可为特定部门使用的决策)触发。
此外,可以使用任何等同的激活动作,或者具有类似结构的任何其它激活软件包。
显然属性“TrialFlag”只是例证性的,利用把试用软件包和标准的软件包区分开的任何其它技术(例如,借助用于软件包的分发的不同命令),可实现相同的结果。
另一方面,可按照不同的方式(例如,按照软件产品的实际使用)定义满期期限。
动态设定监视频率的特征不是严格必需的,在一些实现中,该特征可被省略;这种情况下,监视频率被预先定义,可能被定义成可定制的值(例如每天一次)。
在本发明的一个不同实施例中,可关于所有试用软件包静态定义清除延迟(例如每个月)。但是,使用标准的清除过程(如果有的话)来删除软件产品在预料之中。
如果按照不同的方式构成程序(它可被用于实现本发明的每个实施例),或者如果提供另外的模块或子例程,那么类似的考虑因素也适用;同样地,存储器结构可以是其它类型的存储器结构,或者可用等同的实体替换(不一定由物理存储介质组成)。此外,提出的解决方案便于用等同的方法(具有类似的或者另外的步骤,甚至按照不同的顺序)来实现。总之,程序可采取适于供任何数据处理系统使用或者适于与任何数据处理系统结合使用的任意形式,例如外部或常驻软件、固件或微代码(或者采用目标代码或者采用源代码)。此外,程序可提供在任何计算机可用介质上;所述介质可以是适于包含、保存、传达、传播或传送所述程序的任何部件。这种介质的例子是硬盘(程序可被预先装入其中),可拆卸的磁盘,磁带,卡,导线,光纤,无线连接,网络,广播电波等;例如,所述介质可以是电介质,磁介质,光介质,电磁介质,红外介质或者半导体介质。
总之,根据本发明的解决方案便于用硬件结构(例如集成到半导体材料的芯片中),或者用软件和硬件的组合来实现。
Claims (10)
1、一种在数据处理系统(100)中分发软件产品的方法(300),所述方法包括下述步骤:
把软件产品的主要软件包从源实体(120)部署(318-321)到系统的一组目标实体(130),
在每个目标实体上按照安装模式应用(324-327)所述主要软件包,以便安装软件产品,
借助代理监视(333-339)每个目标实体上软件产品的满期条件的满足,和
响应满期条件的满足,在目标实体上按照禁用模式应用(342-345)主要软件包,以便可逆地禁用软件产品。
2、按照权利要求1所述的方法(300),响应授权条件的满足,对于目标实体中的至少一个所选实体,所述方法还包括下述步骤:
按照恢复模式应用(363-372)主要软件包,以便恢复禁用的软件产品,和
禁用(375)所述监视。
3、按照权利要求2所述的方法(300),还包括下述步骤:
从源实体向每个选择的目标实体部署(354-360)主要软件包的辅助软件包,
在选择的目标实体上应用(363-375)辅助软件包,以使得按照恢复模式应用主要软件包以及禁用所述监视。
4、按照权利要求1-3任意之一所述的方法(300),其中主要软件包包括控制标记,所述方法还包括下述步骤:
按照控制标记启用或禁用(327)所述监视。
5、按照权利要求1-4任意之一所述的方法(300),其中主要软件包包括软件产品的评价期的指示,满期条件由在按照安装模式应用主要软件包之后评价期的终止组成。
6、按照权利要求5所述的方法(300),其中按照监视频率执行监视步骤(333-339),所述方法还包括下述步骤:
按照评价期设定(330)监视频率。
7、按照权利要求1-6任意之一所述的方法(300),还包括下述步骤:
响应清除请求,删除(378-381)被禁用的软件产品。
8、按照从属于权利要求5或6的权利要求7所述的方法(300),还包括下述步骤:
按照评价期设定(348)清除延迟,和
在从按照禁用模式应用软件包起的清除延迟之后,发出(378)清除请求。
9、一种计算机程序(200),当在数据处理系统(100)上执行所述计算机程序时,所述计算机程序(200)实现按照权利要求1-8任意之一所述的方法(300)。
10、一种系统(100),该系统(100)包括执行按照权利要求1-8任意之一所述的方法(300)的步骤的装置(200)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05111734A EP1796000A1 (en) | 2005-12-06 | 2005-12-06 | Method, system and computer program for distributing software products in trial mode |
EP05111734.9 | 2005-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1979512A true CN1979512A (zh) | 2007-06-13 |
CN100489876C CN100489876C (zh) | 2009-05-20 |
Family
ID=36337414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100845183A Expired - Fee Related CN100489876C (zh) | 2005-12-06 | 2006-05-25 | 分发软件产品的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070130073A1 (zh) |
EP (1) | EP1796000A1 (zh) |
KR (1) | KR20070059966A (zh) |
CN (1) | CN100489876C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024122A (zh) * | 2009-09-15 | 2011-04-20 | 株式会社理光 | 软件管理装置、软件分发服务器、软件分发系统及软件安装方法 |
CN104508673A (zh) * | 2012-10-23 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 在网络环境中控制开发者应用的分发和使用 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5036475B2 (ja) * | 2007-10-03 | 2012-09-26 | キヤノン株式会社 | プログラム制御装置及び方法とプログラム |
US8978028B2 (en) * | 2007-10-10 | 2015-03-10 | Microsoft Technology Licensing, Llc | Transactional multi-package installation |
US8566818B2 (en) * | 2007-12-07 | 2013-10-22 | Roche Diagnostics Operations, Inc. | Method and system for configuring a consolidated software application |
US10643189B1 (en) * | 2009-04-30 | 2020-05-05 | Intuit Inc. | Software product activation for on-line banking customers |
EP2638502A4 (en) | 2010-11-12 | 2014-11-12 | Hewlett Packard Development Co | DETERMINING THE AUTHORIZATION OF A SOFTWARE PRODUCT BASED ON A FIRST AND SECOND AUTHORIZATION ELEMENT |
US20130067447A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | State Machine Based Package Installation |
US20140357357A1 (en) | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Game bundle package |
US9323514B2 (en) | 2013-05-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Resource package indexing |
US9766870B2 (en) | 2013-05-30 | 2017-09-19 | Microsoft Technology Licensing, Llc | Bundle package generation |
CN104426960B (zh) * | 2013-08-29 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 一种付费应用的试用方法及装置 |
US9454353B2 (en) | 2013-10-01 | 2016-09-27 | International Business Machines Corporation | Initiating use of software as part of a messaging window |
US20170024086A1 (en) * | 2015-06-23 | 2017-01-26 | Jamdeo Canada Ltd. | System and methods for detection and handling of focus elements |
JP2017204242A (ja) * | 2016-05-13 | 2017-11-16 | キヤノン株式会社 | 情報処理装置、プログラム可能デバイス、ライセンス管理システム、ライセンス管理方法およびプログラム |
CN107092510A (zh) * | 2017-04-19 | 2017-08-25 | 努比亚技术有限公司 | 移动终端及其固件升级方法与装置 |
JP6855348B2 (ja) * | 2017-07-31 | 2021-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびダウンロード処理方法 |
US11934493B2 (en) * | 2021-06-17 | 2024-03-19 | EMC IP Holding Company LLC | Anti-piracy protection service-based software license management system to prevent usage of unlicensed software after the trial period |
US11645056B2 (en) * | 2021-07-15 | 2023-05-09 | Intuit Inc. | Capturing variable dependencies using a variable agnostic object |
CN115357869A (zh) * | 2022-10-19 | 2022-11-18 | 安徽华云安科技有限公司 | 一种基于多路径配置的软件激活方法和装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914657A (en) * | 1987-04-15 | 1990-04-03 | Allied-Signal Inc. | Operations controller for a fault tolerant multiple node processing system |
US5598470A (en) * | 1994-04-25 | 1997-01-28 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block |
US5757907A (en) * | 1994-04-25 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification |
US5689560A (en) * | 1994-04-25 | 1997-11-18 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for allowing a try-and-buy user interaction |
US5564038A (en) * | 1994-05-20 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
EP0809201A3 (en) * | 1996-05-22 | 2000-05-03 | Fujitsu Limited | Information processing system and recording media |
US6189048B1 (en) * | 1996-06-26 | 2001-02-13 | Sun Microsystems, Inc. | Mechanism for dispatching requests in a distributed object system |
CN1224517A (zh) * | 1996-07-01 | 1999-07-28 | 北方电讯有限公司 | 软件产品的分发和受约束使用 |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
AU5334500A (en) * | 1999-06-07 | 2000-12-28 | Firepad, Inc. | Method and system for preventing the unauthorized use of software |
US6675382B1 (en) * | 1999-06-14 | 2004-01-06 | Sun Microsystems, Inc. | Software packaging and distribution system |
CA2313839A1 (en) * | 1999-07-27 | 2001-01-27 | Lucent Technologies Inc. | Method of monitoring runtime usage of demo evaluation software |
US6539539B1 (en) * | 1999-11-16 | 2003-03-25 | Lucent Technologies Inc. | Active probes for ensuring software package compatibility |
US6681391B1 (en) * | 2000-06-21 | 2004-01-20 | Microsoft Corporation | Method and system for installing software on a computer system |
GB0017336D0 (en) * | 2000-07-15 | 2000-08-30 | Ibm | Preferable modes of software package deployment |
US7197431B2 (en) * | 2000-08-22 | 2007-03-27 | International Business Machines Corporation | Method and system for determining the use and non-use of software programs |
US6948166B2 (en) * | 2001-04-05 | 2005-09-20 | International Business Machines Corporation | System and method for automatically de-installing previously installed software based on user defined preferences |
US20040267590A1 (en) * | 2003-06-30 | 2004-12-30 | International Business Machines Corporation | Dynamic software licensing and purchase architecture |
DE60300657T2 (de) * | 2003-08-04 | 2006-02-02 | Alcatel | Eine Methode, ein Kommunikationsnetz und ein Softwareprodukt zur Verteilung von Softwarepaketen oder Softwareupdates |
US20050065953A1 (en) * | 2003-09-19 | 2005-03-24 | Bower Shelley K. | System and method for changing defined elements in a previously compiled program using a description file |
US7765592B2 (en) * | 2004-01-10 | 2010-07-27 | Microsoft Corporation | Changed file identification, software conflict resolution and unwanted file removal |
-
2005
- 2005-12-06 EP EP05111734A patent/EP1796000A1/en not_active Withdrawn
-
2006
- 2006-05-25 CN CNB2006100845183A patent/CN100489876C/zh not_active Expired - Fee Related
- 2006-11-29 KR KR1020060119318A patent/KR20070059966A/ko not_active Application Discontinuation
- 2006-11-29 US US11/564,334 patent/US20070130073A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024122A (zh) * | 2009-09-15 | 2011-04-20 | 株式会社理光 | 软件管理装置、软件分发服务器、软件分发系统及软件安装方法 |
CN102024122B (zh) * | 2009-09-15 | 2013-07-10 | 株式会社理光 | 软件管理装置、软件分发服务器、软件分发系统及软件安装方法 |
CN104508673A (zh) * | 2012-10-23 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 在网络环境中控制开发者应用的分发和使用 |
US10073967B2 (en) | 2012-10-23 | 2018-09-11 | Hewlett-Packard Development Company, L.P. | Controlling distribution and use of a developer application in a network environment |
CN104508673B (zh) * | 2012-10-23 | 2019-04-02 | 惠普发展公司,有限责任合伙企业 | 在网络环境中控制开发者应用的分发和使用 |
Also Published As
Publication number | Publication date |
---|---|
US20070130073A1 (en) | 2007-06-07 |
CN100489876C (zh) | 2009-05-20 |
KR20070059966A (ko) | 2007-06-12 |
EP1796000A1 (en) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100489876C (zh) | 分发软件产品的方法和系统 | |
EP2803214B1 (en) | Platform for the delivery of content and services to networked connected computing devices | |
KR100818410B1 (ko) | 백업/복구 시스템 및 방법 | |
CN103380423B (zh) | 用于私人云计算的系统和方法 | |
CN102413167B (zh) | 虚拟和物理企业系统映像 | |
US20080228503A1 (en) | Automated compatibility checking for hardware/software purchases at time of purchase | |
CN101485129A (zh) | 强制的基于席位的许可 | |
AU2003285358A1 (en) | Method for managing virtual machines | |
CN103809956B (zh) | 自动软件稽核系统及自动软件稽核方法 | |
CN105224832A (zh) | 一种License授权集中管理的方法 | |
WO2006103264A2 (en) | Managing development of an enterprise application | |
CN109710228A (zh) | 一种可应用于电商b2b交易平台的中间件引擎框架系统 | |
JP2006260529A (ja) | プログラム提供システム | |
JPH06223040A (ja) | ソフトウェアライセンス管理システム | |
JPH09305675A (ja) | 汎用アプリケーションの配付方式 | |
CN112241918A (zh) | 驱动虚拟货币交易所的熔断机制的方法及系统 | |
Zhong et al. | Using event sourcing and CQRS to build a high performance point trading system | |
WO2009025444A1 (en) | Method and apparutus for providing software security | |
JP2003029861A (ja) | アプリケーションプログラムの供給方法およびこの供給方法に用いられるアプリケーションプログラムおよびこれを記録した記録媒体 | |
EP1174786A2 (en) | Method, system, and program for reusing software licenses with new computer hardware | |
Terra et al. | Towards a dependency constraint language to manage software architectures | |
JP2001282527A (ja) | 情報提供サーバ、端末、配信プログラム、汎用ネットワークを利用した情報配信システム、ライセンス提供サーバ、およびライセンスプログラム | |
US20060212513A1 (en) | Managing apparatus, managing method and computer-readable storage medium | |
JP2003108254A (ja) | ソフトウェアのレンタルシステム並びにこれに使用するコンピュータ機器及びソフトウェア | |
KR102112395B1 (ko) | 식별 데이터 초기화를 이용하는 사용자 데이터 관리 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090520 Termination date: 20100525 |