会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 空中管制 / 许可 / 用于软件许可管理的方法和装置

用于软件许可管理的方法和装置

阅读:1220发布:2020-09-03

IPRDB可以提供用于软件许可管理的方法和装置专利检索,专利查询,专利分析的服务。并且本发明涉及一种用于软件许可管理的方法和装置。描述了用于管理软件许可的系统和技术。当发出计算系统服务请求时,拦截所述请求,并且检查可在受管计算环境中几乎连续更新的软件信息,以便确定所述服务请求对所述系统的软件使用的影响。根据许可信息评估所述服务请求表示的软件使用,以便确定所述系统的许可使用以及基于所述服务请求的许可使用更改,并且根据所述软件使用和所述许可信息确定许可使用信息。可以将所述许可使用信息与规则系统结合使用以便管理操作,例如报告许可使用,或者根据所述软件的使用是否违反许可要求来允许或阻止使用所述软件。,下面是用于软件许可管理的方法和装置专利的具体信息内容。

1.一种用于软件许可管理的方法,包括:

拦截计算系统服务请求;

标识满足所述计算系统服务请求所需的至少一个软件使用更改;以及

标识由所标识的至少一个软件更改产生的至少一个软件许可使用要求;

其中标识所述至少一个软件许可使用要求包括检查针对多个用户中的每个用户维护许可授权记录列表的已存储许可信息,每个许可授权记录包括记录标识符、产品名称和版本信息、许可模型以及授权价值。

2.根据权利要求1的方法,其中标识至少一个软件使用更改包括检查存储的软件信息,其中当满足所述计算系统服务请求时更新所述存储的软件信息。

3.根据权利要求1的方法,其中标识所述至少一个软件使用更改包括标识供应和取消供应虚拟机中的至少一个。

4.根据权利要求3的方法,其中标识供应和取消供应虚拟机中的至少一个包括标识安装在所述虚拟机上的软件。

5.根据权利要求2的方法,其中所述存储的软件信息包括软件包信息。

6.根据权利要求2的方法,其中所述存储的软件信息包括实例类型信息。

7.根据权利要求6的方法,其中所述实例类型信息包括定义至少一个实例类型的至少一个许可要求的信息。

8.根据权利要求1的方法,其中标识所述至少一个软件许可使用要求包括使用所标识的至少一个软件更改来从许可模型映射到许可消费价值。

9.根据权利要求1的方法,其中标识所述至少一个软件更改包括通过使用所述计算系统服务请求查询存储的软件产品标识信息而标识要使用的软件产品,并通过使用与所标识的软件产品相关的信息而标识许可使用的发生,以便从许可模型映射到许可消费价值。

10.根据权利要求1的方法,其中标识所述至少一个软件许可使用要求包括检查存储的许可信息和存储的软件许可规则信息,并且根据所述至少一个软件使用更改、所述存储的许可信息和所述存储的许可规则信息来确定许可使用。

11.根据权利要求10的方法,其中所述存储的许可规则信息包括用于多个用户中的每个用户的许可规则列表,每个许可规则包括许可授权记录标识符、基于与所述标识符关联的许可授权记录所定义的授权价值的条件,以及根据所述条件要采取的操作。

12.根据权利要求10的方法,其中确定许可使用包括标识软件产品并根据所述软件产品的所述标识应用至少一个适用的许可规则,评估由所述至少一个适用的许可规则定义的条件,以及在满足所述条件时执行与所述条件关联的操作。

13.一种用于软件许可管理的方法,包括:

根据对至少一个拦截的计算系统服务请求的分析而创建软件使用事件,其中至少部分地根据在每个计算系统服务请求时更新的已存储软件信息而创建所述软件使用事件;以及根据所述软件使用事件创建软件许可使用事件,其中所述软件许可使用事件进一步基于存储的许可信息和存储的许可规则信息;

其中所述拦截的计算系统服务请求中标识至少一个软件许可使用要求,包括检查针对多个用户中的每个用户维护许可授权记录列表的已存储许可信息,每个许可授权记录包括记录标识符、产品名称和版本信息、许可模型以及授权价值。

14.根据权利要求13的方法,还包括根据所述软件许可使用事件而递增或递减许可使用。

15.根据权利要求13的方法,还包括提供由所述软件许可使用事件指示的软件许可使用的通知。

16.根据权利要求13的方法,还包括根据所述软件许可使用事件是否指示有效许可涵盖所述软件使用事件所指示的软件使用而控制软件使用。

17.根据权利要求13的方法,其中所述软件使用事件包括供应和取消供应虚拟机中的至少一个。

18.根据权利要求17的方法,其中所述软件使用事件包括标识安装在虚拟机上的至少一个软件组件。

19.根据权利要求13的方法,其中创建所述软件使用事件包括分析安装的软件组件,并且其中所述分析安装的软件组件至少部分地基于存储的软件信息,所述存储的软件信息包括软件组件标识、软件包标识以及实例类型标识。

20.一种用于软件许可管理的装置,包括:

被配置为拦截计算系统服务请求的模块;

被配置为标识满足所述计算系统服务请求所需的至少一个软件使用更改的模块;以及被配置为标识由所标识的至少一个软件更改产生的至少一个软件许可使用要求的模块;

其中被配置为标识所述至少一个软件许可使用要求的模块包括被配置为检查针对多个用户中的每个用户维护许可授权记录列表的已存储许可信息的模块,每个许可授权记录包括记录标识符、产品名称和版本信息、许可模型以及授权价值。

21.根据权利要求20的装置,其中被配置为标识至少一个软件使用更改的模块包括被配置为检查存储的软件信息的模块,其中当满足所述计算系统服务请求时更新所述存储的软件信息。

22.根据权利要求20的装置,其中被配置为标识至少一个软件使用更改的模块包括被配置为标识供应和取消供应虚拟机中的至少一个的模块。

23.根据权利要求22的装置,其中被配置为标识供应和取消供应虚拟机中的至少一个的模块包括标识安装在所述虚拟机上的软件。

24.根据权利要求21的装置,其中所述存储的软件信息包括软件包信息。

25.根据权利要求21的装置,其中所述存储的软件信息包括实例类型信息。

26.根据权利要求25的装置,其中所述实例类型信息包括定义至少一个实例类型的至少一个许可要求的信息。

27.根据权利要求20的装置,其中被配置为标识所述至少一个软件许可使用要求的模块包括被配置为使用所标识的至少一个软件更改来从许可模型映射到许可消费价值的模块。

28.根据权利要求20的装置,其中被配置为标识至少一个软件使用更改的模块包括被配置为通过使用所述计算系统服务请求查询存储的软件产品标识信息而标识要使用的软件产品的模块;以及被配置为通过使用与所标识的软件产品相关的信息而标识许可使用的发生,以便从许可模型映射到许可消费价值的模块。

29.根据权利要求20的装置,其中被配置为标识所述至少一个软件许可使用要求的模块包括被配置为检查存储的许可信息和存储的软件许可规则信息,并根据所述至少一个软件使用更改、所述存储的许可信息和所述存储的许可规则信息来确定许可使用的模块。

30.根据权利要求29的装置,其中所述存储的许可规则信息包括用于多个用户中的每个用户的许可规则列表,每个许可规则包括许可授权记录标识符、基于与所述标识符关联的许可授权记录所定义的授权价值的条件,以及根据所述条件要采取的操作。

31.根据权利要求29的装置,其中被配置为确定许可使用的模块包括被配置为标识软件产品并根据所述软件产品的所述标识应用至少一个适用的许可规则的模块;被配置为评估由所述至少一个适用的许可规则定义的条件的模块;以及被配置为在满足所述条件时执行与所述条件关联的操作的模块。

32.一种用于软件许可管理的装置,包括:

被配置为根据对至少一个拦截的计算系统服务请求的分析而创建软件使用事件的模块,其中至少部分地根据在每个计算系统服务请求时更新的已存储软件信息而创建所述软件使用事件;以及被配置为根据所述软件使用事件创建软件许可使用事件的模块,其中所述软件许可使用事件进一步基于存储的许可信息和存储的许可规则信息;

其中所述拦截的计算系统服务请求中标识至少一个软件许可使用要求,包括检查针对多个用户中的每个用户维护许可授权记录列表的已存储许可信息,每个许可授权记录包括记录标识符、产品名称和版本信息、许可模型以及授权价值。

33.根据权利要求32的装置,还包括:

被配置为根据所述软件许可使用事件而递增或递减许可使用的模块。

34.根据权利要求32的装置,还包括:

被配置为提供由所述软件许可使用事件指示的软件许可使用的通知的模块。

35.根据权利要求32的装置,还包括:

被配置为根据所述软件许可使用事件是否指示有效许可涵盖所述软件使用事件所指示的软件使用而控制软件使用的模块。

36.根据权利要求32的装置,其中所述软件使用事件包括供应和取消供应虚拟机中的至少一个。

37.根据权利要求36的装置,其中所述软件使用事件包括标识安装在虚拟机上的至少一个软件组件。

38.根据权利要求32的装置,其中被配置为创建所述软件使用事件的模块包括被配置为分析安装的软件组件的模块,并且其中所述分析安装的软件组件至少部分地基于存储的软件信息,所述存储的软件信息包括软件组件标识、软件包标识以及实例类型标识。

说明书全文

用于软件许可管理的方法和装置

技术领域

[0001] 本发明的一个或多个实施例一般地涉及软件许可管理。更具体地说,本发明涉及使用可从基础架构管理过程提供的数据跟踪和控制软件许可。

背景技术

[0002] 现代大型企业通常采用可能大量并且广泛分布的数据处理资源。这些企业通常根据合同许可软件,这些合同需要组织监视它们自己对软件的使用,并且购买和维护使用的软件实例数量需要的许可数量。供应商保留审计组织的软件使用的权利,并且未经许可可以导致补交欠款和罚款。几年前,计算环境变化相对缓慢。购买计算机并且在计算机上安装软件,软件来自从发布者购买的介质或者来自购买者创建的副本。单一安装与单一计算机关联并且反之亦然,而且安装保持安装状态直到被删除或者计算机不再被使用。
[0003] 但是,现在特别是在大型企业的情况下,软件安装可以不断变化。可以安装具有可容纳许多用户的容量的软件实例,并且需要的许可数量取决于不断变化的用户数量。软件实例可以集中在服务器上并可由用户通过服务器访问,并且需要的许可数量随着用户数量的变化而变化。此外,软件实例可以出现和消失而不改变计算硬件或使用外部物理介质的安装。特定的软件实例可能甚至不与实际物理机器关联;相反,服务器可以托管多个可以根据需要出现和消失的虚拟机,并且每次在虚拟机上安装软件都表示一个软件实例,该软件实例必须遵守为企业提供软件所依据的许可条款。软件环境变化越频繁,常规技术就越难以例如扫描计算机中的软件实例,以便准确地标识所有实例。例如,如果定期执行系统扫描,则使用软件实例的虚拟机可能在扫描之间出现和消失。在快速变化的大型系统中,许可管理存在许多其它困难。

发明内容

[0004] 在本发明的一个实施例中,一种方法包括:拦截计算系统服务请求;标识满足所述计算系统服务请求所需的至少一个软件使用更改;以及标识由所标识的至少一个软件更改产生的至少一个软件许可要求。
[0005] 在本发明的另一个实施例中,一种装置包括至少一个处理器和存储计算机程序代码的存储器。存储所述计算机程序代码的所述存储器被配置为与所述至少一个处理器一起,导致所述装置至少拦截计算系统服务请求,标识满足所述计算系统服务请求所需的至少一个软件使用更改,以及标识由所标识的至少一个软件更改产生的至少一个软件许可要求。
[0006] 在本发明的另一个实施例中,一种计算机可读介质存储指令程序。处理器执行所述指令程序将配置装置以便至少拦截计算系统服务请求,标识满足所述计算系统服务请求所需的至少一个软件使用更改,以及标识由所标识的至少一个软件更改产生的至少一个软件许可要求。
[0007] 在本发明的另一个实施例中,一种方法包括:根据对至少一个拦截的计算系统服务请求的分析而创建软件使用事件,其中至少部分地根据在每个计算系统服务请求时更新的已存储软件信息而创建所述软件使用事件;以及根据所述软件使用事件创建软件许可使用事件,其中所述软件许可使用事件进一步基于存储的许可信息和存储的许可规则信息。
[0008] 在本发明的另一个实施例中,一种装置包括至少一个处理器和存储计算机程序代码的存储器。存储所述计算机程序代码的所述存储器被配置为与所述至少一个处理器一起,导致所述装置至少根据对至少一个拦截的计算系统服务请求的分析而创建软件使用事件,其中至少部分地根据在每个计算系统服务请求时更新的已存储软件信息而创建所述软件使用事件;以及根据所述软件使用事件创建软件许可使用事件,其中所述软件许可使用事件进一步基于存储的许可信息和存储的许可规则信息。
[0009] 在本发明的另一个实施例中,一种计算机可读介质存储指令程序。处理器执行所述指令程序将配置装置以便至少根据对至少一个拦截的计算系统服务请求的分析而创建软件使用事件,其中至少部分地根据在每个计算系统服务请求时更新的已存储软件信息而创建所述软件使用事件;以及根据所述软件使用事件创建软件许可使用事件,其中所述软件许可使用事件进一步基于存储的许可信息和存储的许可规则信息。
[0010] 在本发明的另一个实施例中,一种方法包括:接收提交到云计算服务的计算服务请求;根据所述计算服务请求更新软件清单;以及根据更新后的软件清单更新软件许可使用。
[0011] 在本发明的另一个实施例中,一种装置包括至少一个处理器和存储计算机程序代码的存储器。存储所述计算机程序代码的所述存储器被配置为与所述至少一个处理器一起,导致所述装置至少:接收提交到云计算服务的计算服务请求;根据所述计算服务请求更新软件清单;以及根据更新后的软件清单更新软件许可使用。
[0012] 在本发明的另一个实施例中,一种计算机可读介质存储指令程序。处理器执行所述指令程序将配置装置以便至少:接收提交到云计算服务的计算服务请求;根据所述计算服务请求更新软件清单;以及根据更新后的软件清单更新软件许可使用。

附图说明

[0013] 图1示出根据本发明的一个实施例的可以适当采用许可管理机制的受管计算环境;
[0014] 图2示出根据本发明的一个实施例的软件使用分析环境;
[0015] 图3示出根据本发明的一个实施例的许可分析环境;
[0016] 图4示出根据本发明的一个实施例的许可通知环境;
[0017] 图5示出根据本发明的一个实施例的许可实施环境;
[0018] 图6示出根据本发明的一个实施例的许可分析环境;
[0019] 图7示出根据本发明的一个实施例的更改管理过程;
[0020] 图8示出根据本发明的一个实施例的许可管理过程;
[0021] 图9A-9C示出根据本发明的一个实施例的执行许可规则操作的过程;
[0022] 图10示出根据本发明的一个实施例的软件清单管理过程;
[0023] 图11-13示出根据本发明的一个实施例的软件清单管理操作;
[0024] 图14示出根据本发明的一个实施例的数据模型;
[0025] 图15A和15B示出根据本发明的一个实施例的示例性许可使用报告信息;
[0026] 图16示出在本发明的一个实施例中发生的工作流;以及
[0027] 图17示出可以用于执行本发明的一个实施例的元件。

具体实施方式

[0028] 在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此所使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组的存在或增加。
[0029] 本发明的实施例认识到,扫描计算环境遇到许多缺点。这些扫描在某种程度上干扰了其中使用它们的系统的效率,因此仅定期执行。大型现代计算环境通常处于持续变化状态中,并且这种环境中的许可管理遇到许多困难。例如,可能遗漏服务器,可能错误标识软件,其中报告错误的服务器和客户端组件或者报告错误的软件版本。可能对安装实例进行错误计数,其中发生重复计数、虚假肯定和虚假否定。许可度量值集合可能不完整。
[0030] 此外,扫描技术针对虚拟机实例面临各种挑战。例如,扫描和报告可能比虚拟机实例的使用期限长久,或者可能没有立即检测到虚拟机实例的终止。扫描可能需要同时访问彼此隔离的域,其中例如与软件清单相关的信息在客户控制的域中,与物理处理器技术相关的信息在云提供者控制的域中。在虚拟机中可能不区分具有不同许可类型的软件。本发明的实施例认识到,可以通过使用与受管系统相关的信息克服这些和其它问题,这些受管系统的设计包括与计算环境更改相关的信息集合。
[0031] 本发明的实施例认识到,大型计算环境通常称为“受管”环境,其中通过受控过程(称为更改管理过程)执行组织的计算资源的所有更改。在更改管理控制之下的受管环境中,只有授权的系统人员才能执行诸如软件安装和删除之类的操作。需要软件安装的用户通常必须通过自动化系统提交请求。系统人员将接收请求,执行服务,并且将请求标记为完成。本发明认识到,在受管环境中,与系统的计算资源状态相关的最新信息可用,并且随着更改的进行而不断更新。分析该信息可以允许准确地跟踪软件实例以及与许可的关联。
[0032] 通过机器供应和软件安装创建软件实例,在现代环境中这可以在自动化控制之下执行。许多组织在称为“云”的环境中运行,其中为用户提供需要的服务和软件,而对于哪一物理硬件正在提供服务没有任何特定的考虑(从用户的角度)。许多云环境定期在需要时使用具有所需配置的虚拟机,并且当不再需要时弃用这些虚拟机。在虚拟机上安装软件将创建软件实例,应该针对该软件实例获得许可,并且各种其它操作也需要许可。
[0033] 如上所述,在受管环境中更新计算服务将提供标识采取的每个步骤的数据。收集可以用于确定需要什么许可的信息,作为受管环境操作的一部分。就虚拟机而言,这种信息包括虚拟机的特性、在机器上运行的软件,以及甚至软件的用途。例如,在拓扑文件中捕获映像资产的软件清单和软件包(bundle)。跟踪虚拟机供应和取消供应操作,其中收集有关映像资产标识符、开始和结束时间、计算机类型、系统管理程序标识符和客户帐户的信息。在虚拟机实例上部署软件包可以通过公共应用编程接口。
[0034] 因此,在本发明的一个或多个实施例中,收集和处理在执行计算基础架构管理过程中生成的信息,以便自动发现许可使用并支持许可合规性过程。
[0035] 确定大型企业的许可责任可能涉及分析数十万个软件实例,其中通过多个因素确定特定实例需要的许可,这些因素例如包括其上安装软件的机器、安装的软件可以是其组件的其它软件、购买实例依据的合同,以及使用实例的目的。其它考虑事项可以包括实例是其成员的软件系列、实例是否是共同许可的应用包的一部分,以及类似的考虑事项。
[0036] 在基于管理的软件操作中,与企业清单中的软件的上下文相关的信息是已知的。例如,此类信息包括标识包关系的信息、合同以及软件提供的操作。本发明的实施例将此类信息编码在结构中,用于供应虚拟机映像并安装软件和软件包的管理系统工作流可访问这些结构。此类技术允许始终维护准确的软件清单。如果还维护有关企业持有的许可的数据,则可以将许可及其条款与软件实例相匹配,或者与建议的软件实例创建或安装相匹配。在本发明的一个或多个实施例中,许可管理机制与计算服务管理系统集成,因此可以访问软件映像和软件包目录,并且能够确定每个映像和包中包括什么软件。根据本发明的一个或多个实施例的许可管理机制还可以访问指定每个虚拟机的特性的信息,因此能够完全并且准确地生成软件清单记录。
[0037] 图1示出根据本发明的一个或多个实施例的云环境100,其中示出可以针对其执行许可管理的计算服务操作的组件。云环境100示出用于维护软件和供应虚拟机的各种组件。在此提供的云环境100包括供应引擎102和为用户提供接口的云门户104。云环境100还包括存储可用软件映像的映像目录106、存储软件组件信息的软件包目录108,这些软件组件共同打包并且在单一许可之下提供。云环境100还包括实例类型目录110,其提供与不同软件实例的可用配置和使用相关的详细信息。
[0038] 目前示出的实例显示供应虚拟机和在虚拟机之一上安装其它软件组件。
[0039] 当通过云门户104提交来自用户的请求时,配置计算管理事件116。事件116可以是供应/取消供应事件、软件包安装/卸载事件,或者其它类似的事件。发起虚拟机供应事件118和120以便满足事件116提供的请求。供应事件118和120访问映像检索事件122、软件包检索事件124和实例类型检索事件126,以便提供要在虚拟机128和130上安装的软件组件。
为供应引擎102提供事件122、124和126。在此处示出的示例性供应中,在虚拟机128和130上安装软件产品132的实例。随后,在虚拟机130上安装软件产品134。软件安装事件136访问要借助事件122、124和126提供给供应引擎102的所需信息。
[0040] 涉及服务请求、映像和信息检索以及软件安装的各种事务都包括信息交换,这些信息交换可以用于理解正在进行的软件更改。这种对软件更改的理解以及提供更改通知可能影响许可要求或者受许可要求的影响。在本发明的一个或多个实施例中,检查在满足被请求服务中执行的服务请求和事件,以便确定发生或者可能发生软件许可使用,从而允许根据许可清单和条款的知识以及操作标识来分析服务请求和事件,应该根据软件更改以及它们如何影响许可清单和要求或者如何受许可清单和要求的影响来采取这些操作。
[0041] 因此,根据本发明的一个或多个实施例的机制拦截软件供应请求,并且收集可以针对其执行分析的信息,以便标识潜在的许可使用更改。
[0042] 图2示出软件使用分析环境200,其在原始受管系统环境100之上构建,但添加组件和事件以便根据现有许可清单标识软件使用,并且标识需要分析的许可使用事件。
[0043] 软件使用分析环境200向环境100中添加服务请求事件拦截器202、软件产品信息检索器204、实例类型解析器206以及软件许可使用事件发射器208。拦截来自云门户的服务请求,作为由服务请求事件拦截器202、软件产品信息检索器204、实例类型解析器206以及软件许可使用事件发射器208捕获的服务请求事件210。信息流是来自映像目录106的软件产品信息检索212A和来自软件包目录108的212B,以及来自实例类型目录110的实例类型定义检索213。软件产品信息检索器204、实例类型解析器206和服务请求事件拦截器202将信息流210、214和216提供给软件许可使用事件发射器,其创建软件许可使用事件218。
[0044] 依次地,分析软件使用信息和通过分析软件使用信息生成的软件许可使用信息,以便根据按照组织的许可清单和条款的软件使用来生成信息。
[0045] 因此,图3包括根据本发明的一个或多个实施例的许可分析环境300,其为软件使用环境200补充许可授权数据库302、许可规则目录304和许可规则执行引擎306。许可规则执行引擎306接收软件许可使用事件218以及来自许可授权数据库302和许可规则目录304的信息流308和310,以便生成许可规则操作312。许可规则操作312例如可以是操作符合要求或不符合要求的报告,或者用于允许或阻止供应实际机或虚拟机或者在实际机或虚拟机上安装软件组件的决策。
[0046] 图4示出许可通知环境400,其向许可分析环境300中添加产生许可通知事件404的许可通知生成器402,许可通知事件404例如可以包括已经发生或建议的软件使用更改以及生成的许可使用或要求更改(例如需要附加许可、违反合规性或许可使用的减少)的报告。例如当卸载软件组件或者当取消供应虚拟机时,可以发生许可使用的减少。
[0047] 本发明的一个或多个实施例还可以执行许可实施,从而阻止安装组织持有的许可未涵盖的软件组件。图5示出许可实施环境,其向许可分析环境300中添加许可实施引擎502,许可实施引擎502接收许可规则操作218,并且例如通过使请求无效事件504阻止安装软件组件,使请求无效事件504禁止将服务请求210传递到供应引擎102。
[0048] 本发明的一个或多个实施例还可以执行自动许可使用报告生成。图6示出报告生成和报告环境600,其为软件许可分析环境300补充许可使用存档器602、许可使用事件存档604(适当实现为数据库604)、报告生成规则数据库606以及报告生成引擎608。报告生成引擎从许可使用事件存档604接收信息,并且在从报告生成规则数据库606获得的规则的指导下创建许可使用报告事件610,其适当地定期生成报告或者在发生触发事件(例如发生非合规性)时生成报告。
[0049] 图7示出根据本发明的一个实施例的过程700。过程700提供更改管理过程的整体视图。
[0050] 在步骤702,拦截请求,例如通过云门户提交的云服务请求。在步骤704,计算许可使用,并且在步骤706,应用操作前规则。如果规则不允许操作继续,则所述过程跳到步骤750并且结束。如果规则允许操作继续,则所述过程继续到步骤708并且执行被请求服务。在步骤710,更新软件清单和许可信息。在步骤712,执行操作后规则,并且所述过程在步骤750结束。
[0051] 图8示出过程800,其示出在响应于更改请求进行更改之前,在更改前阶段中进行的递增许可使用确定中执行的步骤。
[0052] 在步骤802,接收调用以便评估许可规则,并且根据规则返回指导性操作。如果用于供应虚拟机的请求或者用于执行安装的请求都不需要评估,则所述过程继续执行用于供应虚拟机的请求,所述过程继续到步骤850并且允许操作。如果用于供应虚拟机的请求需要评估,则所述过程继续到步骤804并且提取虚拟机映像标识符。在步骤806,从库(例如映像目录)检索软件产品列表。通常作为受管系统的一部分而维护此类映像目录。所述过程然后跳到步骤812。
[0053] 如果供应请求不需要评估,但用于执行安装软件包或者可能属于软件包的组件的请求需要评估,则所述过程继续到步骤808并且提取软件包标识符。在步骤810,从软件包目录检索软件产品列表。
[0054] 从步骤812向前,响应于供应请求或安装请求,所述过程以相同方式继续。在步骤812,提取实例类型。在步骤814,检索将许可模型与许可消费价值相关的映射。在步骤816,通过将所标识的软件使用应用于许可模型并使用映射,生成许可使用事件以便确定许可消费价值。许可使用事件标识更改请求和更改性质(如果有)是否将产生许可使用的更改。在步骤818,根据许可规则评估许可使用事件,并且在820,返回规则操作,从而根据许可使用事件指导更改请求的特定处理。
[0055] 图9A-9C分别示出结合递增许可使用确定的一部分适当执行的过程900、910和920。图9A示出用于生成许可使用报告的过程900。在步骤902,从许可数据库收集许可使用信息,在步骤904,生成报告,并且在步骤906,可以存档报告。
[0056] 图9B示出用于更新规则信息的过程910。在步骤912,可以适当地通过用户输入接收规则前和规则后信息,并且在步骤914,更新规则数据库。
[0057] 图9C示出用于定期报告生成管理的过程920。在步骤922,接收报告生成规则作为输入。在步骤924,更新报告生成数据库,并且在步骤926,针对定期报告生成启动计时器。
[0058] 图10示出用于作为更改后阶段一部分的软件清单更新的过程1000。过程1000允许影响许可责任的任意更改管理操作。而在基本云中,操作被限于软件安装和卸载,为大型企业的需要提供服务的云具有更复杂的数据中心操作。例如,可以存在用于激活备份服务器的操作。这可以具有软件许可暗示,因为软件供应商可能不会针对安装在仅用作备份的机器上的软件收取许可费用。当这些机器用于生产服务时,该软件将产生许可费用。为了容纳任意更改管理服务集合,本发明的一个或多个实施例提供一种机制,该机制允许对基于管理的发现服务进行“编程”,以便根据调用的更改管理服务采取操作。许可管理描述符(LMD)是一种描述要采取的操作的数据结构。可能操作集合为:
[0059] ●当在机器上安装或启用特定软件时,创建软件激活记录(SWAR);
[0060] ●更新SWAR(例如,将指示其用途的属性从备份更改为生产);
[0061] ●将记录标记为已删除软件(当卸载软件时)。
[0062] 许可管理描述符表将更改管理操作映射到LMD序列。需要多个LMD,因为服务请求可能涉及多个软件更改(例如,安装多个产品),并且需要序列,因为可能需要以某种顺序应用更改(例如,升级可能需要软件删除后跟软件安装)。
[0063] 在步骤1002,从请求事件标识服务请求类型。在步骤1004,标识用于服务请求类型的LMD,并且在步骤1006,将LMD列表指针更新到列表中的第一个LMD。如果指针通过列表的结尾,则所述过程在步骤1050结束。如果指针尚未通过列表的结尾,则所述过程继续到步骤1008并且读取指针选择的LMD。在步骤1010,根据服务请求类型适当地从许可管理操作表读取许可管理操作,并且在步骤1012,执行许可管理操作。操作例如可以是插入软件清单记录操作、更新软件清单记录操作,或者删除软件清单记录操作。在步骤1014,执行许可调节,并且在步骤1016,将指针移动到LMD列表中的下一个LMD。所述过程然后返回到步骤1018以便判定指针是否通过LMD列表的结尾。
[0064] 图11示出提供软件清单记录插入操作(即,插入新的软件清单记录)的详细信息的过程1100。软件清单记录包含用于许可调节阶段的属性。两个此类属性是“类别”和“包”。类别属性将实例标识为属于软件类。针对类而不是特定标题计算许可责任。一个实例是Microsoft Office。Microsoft Word或Microsoft Excel的任何实例将它们的类别属性设置为“MSOFFICE-2007”。软件清单记录的包属性标识“涵盖”第一个记录的许可的另一个软件清单记录。许多IBM产品包含未被单独许可的其它IBM产品。最后,存在上下文特定的属性,例如“IsBackup”,其指示软件实例未在生产中使用,而是仅作为备份。
[0065] 在步骤1101,判定机器是否在授权资产中。如果否,则返回错误。如果机器在授权资产中,则所述过程继续到步骤1102并且判定标识软件的信息是否出现在库中,该库存储描述软件产品集合的成员、成员组件和用于发现集合成员及其组件的方式的信息。如果否,则返回错误。如果标识软件的信息出现在库中,则所述过程继续到步骤1103并且应用类别属性。所述过程继续到步骤1104并且应用包属性。所述过程然后继续到步骤1106并且应用软件特定的属性。所述过程然后继续到步骤1108并且应用上下文特定的属性。所述过程在步骤1150返回。
[0066] 图12示出更新软件清单记录的过程1200。在步骤1201,判定是执行机器更新还是执行软件更新。如果执行软件更新,则所述过程继续到步骤1202并且应用类别、包和上下文特定的属性。所述过程在步骤1250返回。如果执行机器更新,则所述过程继续到步骤1204并且更新与机器相关的所有软件清单记录。所述过程在步骤1250返回。
[0067] 图13示出删除软件清单记录的过程1300。在步骤1302,将软件清单记录标记为“已删除软件”并且所述过程在步骤1350返回。
[0068] 图14示出根据本发明的一个实施例的数据模型1400。模型1400与用户标识符所标识的用户帐户信息1402关联。软件清单1404与帐户信息1402关联。软件清单1404标识软件组件1406和包1408以及软件实例1410。一个或多个虚拟机实例1412也与帐户信息1402关联。帐户信息1402和软件清单1404也与以下信息关联:其管理与软件和许可使用相关的信息(例如报告规则1414、警报应用1416和限制信息1418)的组装。报告规则1414管理执行使用和许可报告的条件以及包括在报告中的信息,警报应用1416管理组织和警报发送—例如,可以针对未经许可或者针对长于规定的持续时间的过度许可发送警报。限制信息1418与使用的软件的许可要求施加给使用以及施加给组织的许可清单的各种限制相关,并且限制信息可以部分地管理警报、报告和实施操作。
[0069] 警报应用1416定义警报特性1418,这些警报特性管理警报实例1420的生成,并且报告规则1414管理定期和按需报告1422的生成。
[0070] 图15A和15B示出根据本发明的一个实施例的报告视图。报告例如可以通过控制界面提供,该控制界面可以用于控制图14的模型1400。图15A示出与单个软件产品相关的详细视图1500,其示出在指定日期范围内的每个实例、许可类型、每个软件映像的标识符以及供应和取消供应时间。图15B示出显示在指定时间内变化的许可使用的图形显示1550。
[0071] 在本发明的一个或多个实施例中,在软件管理和许可管理之间协调工作流。图16示出来自软件管理操作的信息流,在此表示为服务请求管理器1602、更改管理工作流实体1604、云基础架构管理实体1606以及许可管理实体1608。来自服务请求管理器1602的用户更改请求1610指导更改管理实体1604标记工作流开始1614。在本发明的一个或多个实施例中,更改管理实体1604针对资产管理批准的软件列表发出请求1616。在本发明的一个或多个其它实施例中,不需要发出这种请求;相反,无论特定的软件组件是否出现在批准的列表中,都可以进行软件更改。请求列表之后,或者在没有请求的情况下,更改管理工作流实体
1604向云基础架构管理实体1606发出执行更改请求1618,然后向云基础架构管理实体发出检查更改状态请求1620。更改管理工作流实体1604执行更改被确认并且所有机器和软件信息完整的验证1622。更改管理工作流实体1604然后为许可管理引擎1608提供请求1624,以便根据执行何种更改而更新部署的软件清单,其中请求包括描述更改的信息。
[0072] 现在参考图17,其用于示出可以实现为数据处理设备1700的电子设备的详细信息的简化框图。数据处理设备1700可以运行以便记录、接收、存储或处理软件使用、事件或许可数据,或者用于执行本发明的一个或多个实施例的其它信息。可以使用任意数量的设备(例如数据处理设备1700),并且每个设备可以被配置为是其中可以使用这些设备的系统的特定设计所需要的。
[0073] 数据处理设备1700包括数据处理器(DP)1706,以及存储数据1710和一个或多个程序(PROG)1712的存储器(MEM)1708。
[0074] 假设至少一个程序1712包括程序指令,当由关联的数据处理器执行时,这些程序指令使得电子设备能够根据本发明的示例性实施例运行,如上面详细描述的那样。
[0075] 通常,本发明的示例性实施例可以通过计算机软件(可以由DP1706执行)实现,或者通过硬件实现,或者通过软件和/或固件和硬件的组合实现。主要逻辑元件之间的交互对于所属技术领域的技术人员应该显而易见,了解本发明的更广泛的方面需要的详细程度不仅仅是此处的特定实例。应该注意,本发明可以使用专用集成电路ASIC、现场可编程门阵列FPGA、数字信号处理器或其它合适的处理器实现,以便执行本发明的预期功能,包括中央处理器、随机存取存储器RAM、只读存储器ROM以及用于在各种设备之间通信的通信端口。
[0076] MEM1708可以是适合于本地技术环境的任何类型,并且可以使用任意合适的数据存储技术(例如基于半导体的存储器件、磁存储器件和系统、光存储器件和系统、固定存储器和可移动存储器)实现。DP1706可以是适合于本地技术环境的任何类型,并且作为非限制性实例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)以及基于多核处理器体系架构的处理器中的一个或多个。
[0077] 假设至少一个存储器有形地包含软件程序指令,当由关联的处理器执行时,这些软件程序指令使得电子设备能够根据本发明的示例性实施例运行,如上面通过实例详述的那样。因此,本发明的示例性实施例可以至少部分地通过计算机软件(可以由数据处理设备的DP1706执行)实现,或者通过硬件实现,或者通过软件和硬件的组合实现。
[0078] 本发明的各种实施例利用在受管系统中定期收集和更新的信息,并且检查该信息以便确定在计算系统中发生的软件使用和软件使用更改。针对软件使用更改的每个请求可以用于确定其对许可使用的影响,并且还用于判定是否应该报告许可使用或者将许可使用用作基础以便允许或阻止满足请求。
[0079] 出于示例和说明目的给出了对本发明的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属技术领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用