您的当前位置:首页正文

许可证管理系统及许可证管理方法[发明专利]

来源:个人技术集锦
(19)中华人民共和国国家知识产权局

*CN101887377A*

(10)申请公布号 CN 101887377 A(43)申请公布日 2010.11.17

(12)发明专利申请

(21)申请号 201010174130.9(22)申请日 2010.05.13(30)优先权数据

2009-116745 2009.05.13 JP

(71)申请人佳能株式会社

地址日本东京都大田区下丸子3-30-2(72)发明人速水祥和

(74)专利代理机构北京怡丰知识产权代理有限

公司 11293

代理人迟军(51)Int.Cl.

G06F 9/455(2006.01)G06F 21/22(2006.01)H04L 29/08(2006.01)

权利要求书 3 页 说明书 11 页 附图 12 页

(54)发明名称

许可证管理系统及许可证管理方法(57)摘要

本发明提供一种许可证管理系统及许可证管理方法。本发明提供一种信息处理装置,该信息处理装置从许可证服务器获取许可证,并安装被所述许可证许可的、且可由在所述信息处理装置上操作的虚拟服务器执行的应用软件,所述信息处理装置根据所述应用软件的许可证类型是以所述信息处理装置为单位还是以所述虚拟服务器为单位来确定该许可证类型,将所述许可证类型发送给所述许可证服务器,并从所述许可证服务器获取用于执行所述应用软件的许可证。

CN 101887377 ACN 101887377 ACN 101887380 A

权 利 要 求 书

1/3页

1.一种信息处理装置,该信息处理装置从许可证服务器获取许可证并安装被所述许可证许可的应用软件,该信息处理装置包括:

处理器;虚拟服务器,其通过使用所述处理器在所述信息处理装置上操作,其中所述应用软件能够在所述虚拟服务器上执行;

确定单元,其被构造为确定所述应用软件的许可证类型,其中所述确定单元根据所述信息处理装置的单位或所述虚拟服务器的单位来确定所述许可证类型;

发送单元,其被构造为将由所述确定单元确定的所述许可证类型发送给所述许可证服务器;以及

获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证。2.根据权利要求1所述的信息处理装置,该信息处理装置还包括:计数单元,其被构造为对与所述许可证类型对应的许可证的数量进行计数,其中多个所述虚拟服务器能够在所述信息处理装置上操作,并且

其中在所述确定单元确定所述许可证类型是以所述虚拟服务器为单位的情况下,所述确定单元进一步确定所述虚拟服务器的计数类型,并且所述计数单元对与所述计数类型对应的许可证的数量进行计数。

3.根据权利要求1所述的信息处理装置,其中所述处理器是多核处理器或多个单核处理器,并且其中所述多核处理器的核的数量或单核处理器的数量被确定为CPU的数量。

4.根据权利要求3所述的信息处理装置,其中在所述确定单元确定所述许可证类型基于所述信息处理装置的单位的情况下,所述计数单元将CPU的数量计数为许可证的数量。

5.根据权利要求4所述的信息处理装置,其中所述计数单元基于虚拟服务器的数量和对各虚拟服务器分配的CPU的数量来计数许可证的数量。

6.根据权利要求4所述的信息处理装置,其中所述计数单元将虚拟服务器的数量计数为许可证的数量。

7.根据权利要求4所述的信息处理装置,其中所述计数单元通过将虚拟服务器的数量乘以CPU的数量来计数许可证的数量。

8.一种许可证管理系统,该许可证管理系统包括:许可证服务器,其被构造为发布许可证;

连接到所述许可证服务器的第一信息处理装置和第二信息处理装置,所述第一信息处理装置和所述第二信息处理装置经由通信媒介从所述许可证服务器获取许可证并安装被所述许可证许可的应用软件,

其中所述第一信息处理装置包括:第一处理器,其中通过所述第一处理器执行所述应用软件;第一发送单元,其被构造为向所述许可证服务器发送针对所述应用软件的许可证请求;以及

第一获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证,并且

其中所述第二信息处理装置包括:第二处理器;

2

CN 101887377 ACN 101887380 A

权 利 要 求 书

2/3页

虚拟服务器,其使用所述第二处理器在所述第二信息处理装置上操作,其中多个所述虚拟服务器能够在所述第二信息处理装置上操作,并且所述应用软件能够在所述虚拟服务器上执行;

计数单元,其被构造为对与所述虚拟服务器对应的许可证的数量进行计数;第二发送单元,其被构造为将通过所述计数单元计数的许可证的数量发送给所述许可证服务器;以及

第二获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证,

其中所述许可证服务器包括:接收单元,其被构造为接收来自所述第一发送单元的所述许可证请求或者来自所述第二发送单元的许可证的数量;以及

许可证发布单元,其被构造为发布与所述许可证请求或许可证的数量对应的许可证。9.一种信息处理装置的控制方法,该信息处理装置从许可证服务器获取许可证并安装被所述许可证许可的应用软件,所述控制方法包括:

处理器;虚拟服务器,其通过使用所述处理器在所述信息处理装置上操作,其中所述应用软件能够在所述虚拟服务器上执行;

确定所述应用软件的许可证类型,其中根据所述信息处理装置的单位或所述虚拟服务器的单位来确定所述许可证类型;

将所述许可证类型发送给所述许可证服务器;以及

从所述许可证服务器获取用于执行所述应用软件的许可证。10.根据权利要求9所述的信息处理装置的控制方法,该控制方法还包括:对与所述许可证类型对应的许可证的数量进行计数,

其中多个所述虚拟服务器能够在所述信息处理装置上操作,以及在确定所述许可证类型是以所述虚拟服务器为单位的情况下,确定所述虚拟服务器的计数类型,并且对与所述计数类型对应的许可证的数量进行计数。

11.根据权利要求9所述的信息处理装置的控制方法,其中所述处理器是多核处理器或多个单核处理器,并且其中所述多核处理器的核的数量或单核处理器的数量被确定为CPU的数量。

12.根据权利要求11所述的信息处理装置的控制方法,其中在确定所述许可证类型基于所述信息处理装置的单位的情况下,将CPU的数量计数为许可证的数量。

13.一种许可证管理系统的控制方法,该许可证管理系统包括:许可证服务器,其被构造为发布许可证;连接到所述许可证服务器的第一信息处理装置和第二信息处理装置,所述第一信息处理装置和所述第二信息处理装置经由通信媒介从所述许可证服务器获取许可证并安装被所述许可证许可的应用软件,所述控制方法包括:

所述第一信息处理装置的控制方法,其中所述第一信息处理装置的控制方法包括:第一处理器,其中通过所述第一处理器执行所述应用软件;第一发送,向所述许可证服务器发送针对所述应用软件的许可证请求;以及第一获取,从所述许可证服务器获取用于执行所述应用软件的许可证,

3

CN 101887377 ACN 101887380 A

权 利 要 求 书

3/3页

所述第二信息处理装置的控制方法,其中所述第二信息处理装置的控制方法包括:

第二处理器;虚拟服务器,其使用所述第二处理器在所述第二信息处理装置上操作,其中在所述第二信息处理装置上能够操作多个所述虚拟服务器,并且所述应用软件能够在所述虚拟服务器上执行;

对与所述虚拟服务器对应的许可证的数量进行计数;第二发送,将通过所述计数单元计数的许可证的数量发送给所述许可证服务器;以及第二获取,从所述许可证服务器获取用于执行所述应用软件的许可证,以及所述许可证服务器的控制方法,其中所述许可证服务器的控制方法包括:

接收在所述第一发送中发送的所述许可证请求或者在所述第二发送中发送的许可证的数量;以及

发布与所述许可证请求或许可证的数量对应的许可证。

4

CN 101887377 ACN 101887380 A

说 明 书

许可证管理系统及许可证管理方法

1/11页

技术领域

[0001]

本发明涉及许可证管理系统及许可证管理方法。更具体地说,本发明涉及用于根

据虚拟服务器的性质进行许可证计费的许可证管理系统及许可证管理方法。

背景技术

[0002] 当前,由于下述原因,愈来愈多的企业开始引入服务器虚拟化的思想。虚拟化的最大优势在于能够在一台服务器中搭建数量众多的“虚拟服务器”,因此能够对中央处理单元(CPU)的处理能力进行充分利用。

[0003] 服务器的虚拟化是将一台服务器计算机划分为多台虚拟计算机并使各虚拟计算机运行不同的操作系统(OS)或应用软件的技术。处理器、存储器以及硬盘被虚拟地划分为多个域。每个域都像是一个处理器、存储器或硬盘一样进行操作。因此,不同的OS或应用能够同时执行。通过利用该虚拟化技术,与物理上使用多台计算机相比,削减了管理物理资源所需的时间和精力。能够根据需要更加灵活地分配资源。然而,与直接执行一台服务器计算机相比,由于与虚拟化相关的开销而导致性能降低。整合了大量的个人计算机(PC)服务器的服务器整合充分利用了CPU的处理能力。[0004] 企业中用于各种应用(例如,从网站搭建到基本商务)的PC服务器的数量持续增长。这种PC服务器中的绝大多数的资源未得到有效利用。报告显示服务器的平均使用率维持在大约10%到20%。这意味着服务器的大约80%到90%的处理能力一直未被使用。使用率低的原因在于:在很多情况下,站在操作稳定性和系统管理所需的简单性的立场,为不同的应用和操作准备了不同的服务器。当服务器数量增加时,管理成本也增加。另外,涉及安装空间、电力消耗以及发热的成本也增加。[0005] 在这种环境下,近年来虚拟化技术正在引起关注。通过采用虚拟化技术,能够在一台计算机上驻留10台到20台虚拟服务器,并且能够急剧削减服务器的数量。另外,能够将使用效率提高到几近于百分之百,并且还能够削减操作成本。

[0006] 第二个原因与多核处理器的开发进展有关。随着多核处理器的发展,大大提高了并行运算性能。另一方面,软件的发展尚未到达处理器的水平。换言之,由于传统软件结构对于多核处理器不是最优的,因此并行运算水平提高了的处理器的运算资源不能充分得以利用。

换言之,即使采用了多核处理器,所述多核也不被充分利用,部分核保持闲置。服

务器的虚拟化技术能够被看作最大程度地利用多核处理处理器的运算性能的有效途径。[0008] 第三个原因与系统的寿命有关。如果用户惯用的商务系统运行在诸如Windows NT的旧的OS上,则用户很自然地会考虑到延长系统的寿命。即使用户期望使用新的服务器来代替支持过期的旧服务器,旧的OS可能也不被支持。由于设置商务系统以在最新的OS上运行要花费时间和精力,因此难以改变OS。如果在这种情况下使用虚拟化技术,则能够在新服务器上驻留的虚拟服务器上运行旧的OS。[0009] 第四个原因与容错性有关。如果服务器发生与软件有关的故障,则需要重启机器。

[0007]

5

CN 101887377 ACN 101887380 A

说 明 书

2/11页

为了迅速重启机器,需要有逻辑上相同的服务器在运行,使得用户能够即时切换服务器。如果用户使用采用虚拟化技术的服务器的移动功能,则这种操作是容易的。

[0010] 第五个原因与根据日期和时间改变CPU的处理能力以及存储容量的能力有关。例如,线上服务器通常在上午或周一繁忙,而批处理服务器通常在夜间或周末繁忙。[0011] 如果使用虚拟化技术,则用户能够改变虚拟机使用的CPU的数量、CPU的能力以及存储容量。能够将设置改变为满足诸如星期或月末的各种状况。因此,与在物理上不同的服务器上构建系统相比,能够大大降低成本。[0012] 在上述背景下,虚拟服务器的市场正在迅速增长。有预测称,在2011年近40%的x86服务器将被虚拟化。另外,各种虚拟化软件(VMWare、Hyper-V、Xen)如今在被使用。[0013] 存在两种类型的服务器虚拟化:主机OS和管理程序(hypervisor)。主机OS不使用虚拟硬件而使用诸如实际外围装置的装置,因为其采用了使得多个客户OS在主机OS上可执行的方式。管理程序在硬件上设置实现虚拟化的虚拟化软件以及虚拟硬件的软件层,然后安装多个OS。[0014] 接下来,将描述虚拟服务器的一般许可证计费方法。通常,存在两种关于软件计费的许可证类型。一种基于“用户数量”,另一种基于服务器的“CPU数量(核数)”。对于基于“用户数量”的许可证类型,即使软件被移动到虚拟服务器,只要用户数量不变则许可证成本不改变。网络环境中使用的软件能够被大量不确定的访问者访问。因此,经常通过许可证来限制能够被这些访问者访问的计算机或能够被访问的计算机的数量。[0015] 主要存在两种类型的软件许可证:节点锁定许可证和浮动许可证。节点锁定许可证仅允许软件在特定计算机上执行。浮动许可证允许软件在网络上的任意计算机上执行。[0016] 例如,在日本特开2001-092550号公报中记载了浮动许可证。浮动许可证用于允许多个计算机经由网络相互通信的系统。节点锁定许可证通过使用各计算机的主机ID来管理许可证。发明内容

本发明旨在提供一种许可证管理方法,该许可证管理方法使得可以对在存在不同

计费方法(许可证类型)的环境中或在许可证依包括虚拟服务器的系统而动态地变化的环境中能够同时使用的许可证进行计数。[0018] 根据本发明的一个方面,提供一种信息处理装置,该信息处理装置从许可证服务器获取许可证并安装被所述许可证许可的应用软件,该信息处理装置包括:处理器;虚拟服务器,其通过使用所述处理器在所述信息处理装置上操作;确定单元,其被构造为确定所述应用软件的许可证类型;发送单元,其被构造为将由所述确定单元确定的所述许可证类型发送给所述许可证服务器;以及获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证。所述应用软件能够在所述虚拟服务器上执行,并且所述确定单元根据所述信息处理装置的单位或所述虚拟服务器的单位来确定所述许可证类型。[0019] 根据本发明的另一方面,提供一种许可证管理系统,该许可证管理系统包括:许可证服务器,其被构造为发布许可证;连接到所述许可证服务器的第一信息处理装置和第二信息处理装置,所述第一信息处理装置和所述第二信息处理装置经由通信媒介从所述许可证服务器获取许可证并安装被所述许可证许可的应用软件。所述第一信息处理装置包括:

[0017]

6

CN 101887377 ACN 101887380 A

说 明 书

3/11页

第一处理器,其执行所述应用软件;第一发送单元,其被构造为向所述许可证服务器发送针对所述应用软件的许可证请求;以及第一获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证。所述第二信息处理装置包括:第二处理器;虚拟服务器,其使用所述第二处理器在所述第二信息处理装置上操作;计数单元,其被构造为对与所述虚拟服务器对应的许可证的数量进行计数;第二发送单元,其被构造为将通过所述计数单元计数的许可证的数量发送给所述许可证服务器;以及第二获取单元,其被构造为从所述许可证服务器获取用于执行所述应用软件的许可证。所述许可证服务器包括:接收单元,其被构造为接收来自所述第一发送单元的所述许可证请求或者来自所述第二发送单元的许可证的数量;以及许可证发布单元,其被构造为发布与所述许可证请求或许可证的数量对应的许可证。多个所述虚拟服务器能够在所述第二信息处理装置上操作,并且所述应用软件能够在所述虚拟服务器上被执行。

[0020] 从以下参照附图对示例性实施例的详细描述中,本发明的其他特征及方面将变得清楚。附图说明

并入说明书中并构成说明书的一部分的附图,例示了本发明的示例性实施例、特

征及方面,并与文字描述一起用于说明本发明的原理。[0022] 图1A、图1B及图1C例示了根据本发明的示例性实施例的许可证管理系统、许可证服务器以及终端装置的结构。

[0023] 图2A和图2B例示了虚拟化系统。[0024] 图3例示了虚拟服务器的计费方法。

[0025] 图4A和图4B例示了虚拟服务器的移动功能。[0026] 图5例示了终端装置中的虚拟服务器。

[0027] 图6A和图6B例示了由虚拟环境许可证管理模块和许可证服务器保持的信息。[0028] 图7是例示当在虚拟服务器上启动应用时进行的处理的流程图。

[0029] 图8例示了当执行虚拟服务器的移动功能时许可证管理系统的整体结构。[0030] 图9是例示当在虚拟服务器上执行移动功能时进行的处理的流程图。[0031] 图10是例示当改变所分配的CPU的数量时进行的处理的流程图。

[0032] 图11例示了包括真实服务器和虚拟服务器的许可证管理系统的整体结构。

[0033] 图12A和图12B例示了虚拟环境许可证管理模块在虚拟服务器和真实服务器上保持的信息。

[0021]

具体实施方式

[0034] 以下将参照附图详细说明本发明的各种示例性实施例、特征及方面。

[0035] 传统的浮动许可证技术的开发没有考虑对包括虚拟服务器的虚拟机特有的许可证计费系统。当使用虚拟化技术时,能够从夜间分配给虚拟服务器的CPU的数量改变到日间分配给虚拟服务器的CPU的数量。如果计费系统基于分配给虚拟服务器的CPU的数量,则需要考虑CPU的分配调度。[0036] 在大多数情况下,根据软件供应商与用户之间的所谓的“君子协定”,来进行根据

7

CN 101887377 ACN 101887380 A

说 明 书

4/11页

虚拟化特有的技术而变得复杂的许可证计费。[0037] 然而,考虑到虚拟服务器的急速增加,对各种类型的虚拟化软件均能够使用的准确的通用许可证管理方法的必要性也在增加。在软件供应商侧保持对许可证的使用状态的追踪所产生的负担也在增加。根据本发明,软件供应商和用户均能够对许可证进行管理。[0038] 以下说明中的具体数值、结构以及操作均能够根据情况而进行相应改变。

[0039] 图1A例示了根据本发明的第一示例性实施例的网络上的许可证管理系统的整体结构。如图1A所示,在网络上操作的许可证管理系统包括终端装置602到606(作为用户装置)以及许可证服务器601。终端装置602到606与许可证服务器601经由网络607可通信地连接。网络607例如是局域网(LAN)。

[0040] 图1B例示了作为许可证管理装置的示例的许可证服务器601的结构。[0041] 如图1B所示,许可证服务器601包括控制整个许可证服务器601的CPU 702。CPU 702执行存储在存储单元704中的程序、后述的与许可证服务器601有关的流程图的处理。[0042] 包括键盘或鼠标的输入装置703、存储单元704、显示设备705和通信接口装置706经由总线701与CPU 702连接。存储单元704是例如只读存储器(ROM)、随机存取存储器(RAM)、硬盘等。存储单元704存储诸如能够被终端装置602至606使用的应用的类型、用于应用软件的许可证的数量以及许可证的剩余数量等的信息。

显示设备705包括阴极射线管(CRT)显示器或液晶显示器(LCD)等。通信接口装

置706使得能够在终端装置602至606之间进行数据交换或信号交换。许可证服务器601发布允许终端装置602至606使用应用软件的许可证。终端装置602至606根据从许可证服务器601获取的许可证执行应用。

[0044] 图1C例示了作为信息处理装置的示例的终端装置602到606的结构。如图1C所示,终端装置602到606中的各个包括控制整个终端装置的CPU 802。CPU 802执行存储在存储单元804中的程序,例如后述的与终端装置有关的流程图的处理。[0045] 包括键盘或鼠标的输入装置803、存储单元804、显示设备805和通信接口装置806经由总线801与CPU 802连接。存储单元804是例如ROM、RAM或硬盘等。

[0046] 存储单元804存储由终端装置602至606中的各个执行的应用组件或用于添加操作功能的程序(插件)。显示设备805包括CRT或LCD等。通信接口装置806使得能够与许可证服务器601交换数据或信号。

[0047] 终端装置602至606中的各个称作真实服务器、真实机或物理服务器。后述的虚拟服务器在终端装置602至606上操作。CPU 802是多核处理器,并且各个核能够独立地被处理。作为多核处理器的处理单位的核的数量也称作CPU数量。另外,替代多核处理器的CPU 802,还可以使用多个单核处理器(物理上为多个CPU芯片)。[0048] 现在,将描述服务器的虚拟化方法。典型地,存在两种关于服务器虚拟化的系统方法:主机OS和管理程序。图2例示了这两种方法。[0049] 图2A例示了主机OS系统。虚拟化软件103作为主机OS 102的中间软件操作。虚拟化软件103基于物理硬件创建虚拟硬件104,使得OS105或应用106能够运行在虚拟硬件104上。能够使用与主机OS相同的OS或不同的OS作为OS 105的客户OS。

[0043]

主机OS系统使用主机OS的关于硬件101的输入/输出的功能。硬件101能够使

用终端装置602到606。在此情况下,虚拟服务器与虚拟硬件104、OS(客户OS)105以及应

[0050]

8

CN 101887377 ACN 101887380 A

说 明 书

5/11页

用106的部分对应,所述各个部分均根据虚拟化软件103来运行。由于虚拟机与硬件101之间存在全功能OS,因此开销往往很大。诸如VMWare Server、Virtual Server以及Virtual PC的产品是主机OS系统的产品示例。

[0051] 图2B例示了管理程序系统。管理程序系统被构造为使得在以上参照图2A描述的主机OS系统中使用的虚拟化层代替主机OS被直接设置在物理硬件上。

管理程序可以被看作为OS的一种。然而,由于功能集中在硬件管理和虚拟环境

管理上,因此省略诸如用户接口和用户命令的功能。因此,所述结构非常小和简单。诸如VMWare ESX、Xen Server和Hyper-V的产品是管理程序系统的产品的示例。虚拟化软件202运行在硬件201上。

[0053] 终端装置602至606能够使用硬件201。在虚拟化软件202上创建虚拟硬件203,并且令OS 204和应用205运行在虚拟硬件203上。在这种情况下,虚拟服务器与虚拟硬件203、OS 204及应用205的部分相对应。[0054] 接下来,将描述虚拟服务器的一般许可证计费方法(许可证类型)。[0055] 如上所述,通常,基于服务器的“用户数量”或“CPU数量(核数)”来对软件计费。即使将软件移动到虚拟服务器,根据基于“用户数量”的计费系统的许可证成本也保持不变,除非用户数量改变。然而,如果在基于“CPU数量”或“服务器数量”对成本计费的情况下将软件移动到虚拟服务器,则计费将与是基于“虚拟服务器单位”还是“物理服务器单位”有关。

[0056] 随着计算机网络化的发展,用户能够经由网络访问分散的资源。基于在网络环境中使用软件的前提来开发多种软件。因此,用户能够从任意机器来使用这种软件,只要该机器在网络上即可。对于在这种网络环境中使用的软件,由于大量不确定的访问者能够访问该软件,因此经常通过许可证来限制能够被这些访问者访问的计算机或者能够被访问的计算机的数量。

[0057] 主要存在两种类型的软件许可证:节点锁定许可证和浮动许可证。节点锁定许可证仅允许软件在特定计算机上执行。浮动许可证允许软件在网络上的任意计算机上执行。[0058] 浮动许可证系统用于包括在网络上可通信连接的多个计算机的系统。许可证确认程序驻留在这些计算机当中的作为服务器操作的计算机中。当客户机启动应用时,该应用调用服务器的许可证确认程序。

[0059] 许可证确认程序根据从客户机的应用发送的信息来检查操作环境。如果操作环境适当,则许可证确认程序许可客户机的应用操作。换言之,许可证服务器向客户机发布许可证。当客户机获取到由许可证服务器发布的许可证时,执行应用。

[0052]

因此,为了通过根据浮动许可证系统的网络上的多个计算机同时执行相同的应用程序,与同时启动的应用的数量相同数量的许可证是必要的。[0061] 根据节点锁定许可证系统,通过使用各计算机的主机ID来管理许可证。如果通过使用主机ID来执行应用,则不存在用户名或用户数量的限制。换言之,在预先登记的计算机上排他地运行应用。为了通过节点锁定系统中的多个计算机同时执行相同的应用,与执行应用的计算机的数量相同数量的许可证是必要的。[0062] 接下来,将描述通常用于虚拟服务器的软件许可证计费系统。图3例示了虚拟服务器的许可证类型(计费方法)。

[0060]

9

CN 101887377 ACN 101887380 A[0063]

说 明 书

6/11页

如图3所示,如果三个虚拟服务器302位于包括五个CPU 301的服务器PC中,并且如果在各个虚拟服务器302中均安装有应用303,则通常存在针对以下计费类型的可能性。

[0064] 1.真实机的CPU数量(核数)→5个许可证(304);

[0065] 2.分配给安装有应用的虚拟服务器的CPU数量(核数)→4个许可证(305);[0066] 3.安装了应用的虚拟服务器的数量→3个许可证(306);

[0067] 4.真实机的CPU数量(核数)×安装有应用的虚拟服务器的数量→15个许可证(307)。

[0068] 当前,计费方法不固定。由于该模糊性,对于用户而言许可证系统是复杂的并且难以理解。

[0069] 另外,存在称作移动功能的功能(VMWare的Vmotion,Xen的LiveMigration),其是虚拟化特有的功能。如果使用移动功能,则在某一服务器上操作的虚拟服务器能够被移动到处于在线状态的不同服务器。例如,如果发生故障转移或计划停止,则能够使用主要服务器的备份服务器。通常,当使用移动功能时,备份服务器被包含在许可证计费的计算中。[0070] 图4例示了虚拟服务器的移动功能。如图4A所示,如果对位于主要服务器401中的虚拟服务器A 402分配两个CPU 403,在虚拟服务器A 402中安装应用404,并且向备份服务器405分配的CPU数量(CPU 406的数量)为3,则基于CPU而言需要许可证的最大值为三个。

当用物理服务器单位对应用计费时,在某些情况下,如图4B所示,许可证对于备

份服务器将是必要的。根据图4B中的示例,多个虚拟服务器(虚拟服务器A 503、虚拟服务器B 504等)在包括4个真实CPU 501的主要服务器502上操作。在各虚拟服务器中安装有应用505。如果这种虚拟服务器中的一个(例如虚拟服务器A)移动到具有4个真实CPU 506的备份服务器507中,则针对虚拟服务器A 503已经移动到的虚拟服务器A 508的许可证也将是必要的。结果,将需要总共8个许可证(主要服务器502的4个真实CPU和备份服务器507的4个真实CPU)。

[0072] 图5例示了在上述终端装置602到606中的各个中的虚拟服务器。

[0073] 图5例示的虚拟服务器基于上述主机OS方法。终端装置602到606中的各个包括通过真实服务器操作的服务器901以及服务器902和903。两个虚拟服务器904分别在服务器902和903上操作。

[0074] 在服务器901和各虚拟服务器904中安装有应用905。在包括虚拟服务器904的服务器902和903上分别设置有虚拟环境许可证管理模块906。该模块对在所有虚拟服务器上运行的应用的许可证的数量进行计数。因此,虚拟环境许可证管理模块906包括图6A所示的信息1001和1002。

[0075] 根据图5所示的示例,服务器901对应于第一信息处理装置,服务器902和903对应于第二信息处理装置。虚拟化软件不在服务器901上操作,而在服务器902和903上操作。

[0071]

对于服务器901,应用905请求许可证服务器601发送许可证,并从许可证服务器

601获取许可证。这是基于服务器901的数量来获取许可证。对于服务器902和903,虚拟环境许可证管理模块906基于虚拟服务器904的数量对许可证的数量进行计数,请求许可

[0076]

10

CN 101887377 ACN 101887380 A

说 明 书

7/11页

证服务器601发送与所获得数量相等数量的许可证,并获取这些许可证。虚拟环境许可证管理模块906也可以在应用正在虚拟服务器904上运行时对许可证的数量进行计数。[0077] 图6例示了由虚拟环境许可证管理模块和许可证服务器保持的信息。

[0078] 信息1001被预先设置在虚拟环境许可证管理模块中。信息1001包括关于在虚拟环境中管理的应用的许可证计费类型的信息,以及由虚拟环境许可证管理模块管理的应用信息。不同服务器(例如服务器902和服务器903)的计费类型可以是不同的。[0079] 信息1002是虚拟化软件的设置信息。诸如真实CPU数量、虚拟服务器数量、分配给各虚拟服务器的CPU数量以及有无备份服务器的信息包括在信息1002内。能够使用该信息来计算许可证数量(1003)。对于安装在不具有虚拟服务器的诸如服务器901的真实服务器中的应用,该应用自身向对整个系统的许可证数量进行计数的许可证服务器发送许可证计数信息,并询问是否能够使用许可证(图5中的907)。[0080] 类似地,虚拟环境许可证管理模块对操作虚拟服务器的诸如服务器902和903的服务器的许可证的数量进行计数,并将该许可证计数信息发送给对整个系统的许可证的数量进行计数的许可证服务器,并询问是否能够使用许可证(图5中的908)。

[0081] 图6B例示了由许可证服务器保持的信息。许可证服务器具有信息1101,该信息1101是能够在整个系统中同时使用的许可证的数量的信息。另外,许可证服务器具有同时使用的许可证的数量的信息。如果从应用或虚拟环境许可证管理模块向许可证服务器发送是否能够使用许可证的询问,则许可证服务器根据其已接收的许可证计数信息,来更新当前使用的许可证的数量。然后,许可证服务器将当前使用的许可证的数量与预先设置的可同时使用的许可证的数量进行比较,确定是否能够使用许可证(1102),并将结果返回给应用或虚拟环境许可证管理模块。

[0082] 图7是当执行应用时在虚拟服务器上进行的处理的流程图。[0083] 在步骤S1201中,执行应用。在步骤S1202中,应用向虚拟环境许可证管理模块询问是否能够使用许可证。当接收到该询问时,虚拟环境许可证管理模块根据计费类型对许可证的数量进行计数。以下将详细描述由虚拟环境许可证管理模块根据计费类型进行的用于对许可证的数量进行计数的方法。[0084] 在步骤S1203中,确定计费类型。如果基于虚拟服务器对许可证进行计数,则处理进行到步骤S1204。在步骤S1204中,确定计数系统。如果许可证的数量与分配给安装了应用的虚拟服务器的CPU的数量相等,则处理进行到步骤S1206。在步骤S1206中,根据虚拟服务器的数量和分配给虚拟服务器的CPU的数量对许可证的数量进行计数。在步骤S1204中,如果对每个虚拟服务器分配一个许可证,则处理进行到步骤S1207。在步骤S1207中,根据虚拟服务器的数量获取许可证的数量。在步骤S1204中,如果通过将虚拟服务器的数量与CPU的实际数量相乘来获取许可证的数量,则处理进行到步骤S1208。在步骤S1208中,通过将虚拟服务器的数量与CPU的实际数量相乘而获取许可证的数量。[0085] 在步骤S1203中,如果基于物理服务器对许可证进行计数,则处理进行到步骤S1205。在步骤S1205中,根据实际CPU的数量对许可证的数量进行计数。在步骤S1209中,虚拟环境许可证管理模块将计数的许可证数量发送给许可证服务器。

[0086]

在步骤S1210中,许可证服务器接收许可证的数量,并更新当前使用的许可证的

数量。在步骤S1211中,如果存在能够同时使用的许可证的数量的上限,则许可证服务器确

11

CN 101887377 ACN 101887380 A

说 明 书

8/11页

定许可证的累积数量是否大于可同时使用的许可证的上限。如果许可证的累积数量大于可同时使用的许可证的上限(步骤S1211中的“是”),则处理进入到步骤S1212。在步骤S1212中,将在步骤S1211中获得的确定结果返回给虚拟环境许可证管理模块。在步骤S1213中,将应用不能被使用的信息返回给应用。在步骤S1214中,应用的启动失败。另一方面,在步骤S 1211中,如果许可证的累积数量不大于可同时使用的许可证的上限(步骤S1211中的“否”),则处理进行到步骤S1215。在步骤S1215中,将在步骤S1211中获得的确定结果返回给虚拟环境许可证管理模块。在步骤S1216中,将应用能够被使用的信息返回给应用。在步骤S1217中,应用被启动。[0087] 根据本实施例,能够通过包括虚拟服务器的网络系统中的浮动许可证服务器,来进行许可证管理。尽管在本实施例中描述了主机OS虚拟服务器,但是上述方法可类似地应用于基于管理程序的虚拟服务器。

[0088] 图8例示了包括用于利用虚拟服务器的移动功能进行备份服务器操作的虚拟服务器(主机OS)的网络的许可证管理系统。

[0089] 根据第二示例性实施例的许可证管理系统,由许可证服务器601管理整个网络。虚拟服务器1303和1304在主要服务器1301上操作。备份服务器1302用作备份。在虚拟服务器1303和1304中的各个中安装有应用1306。

虚拟环境许可证管理模块1307被设置在包括虚拟服务器1303和1304的主要服

务器1301上。如果虚拟服务器1303被移动到备份服务器1302(1308),则由于许可证的数量可能会被改变,因此虚拟环境许可证管理模块1307再次对其管理的应用的许可证的数量进行计数。

[0091] 虚拟环境许可证管理模块1307对在所有虚拟服务器上运行的应用的许可证的数量进行计数。虚拟环境许可证管理模块1307向对整个系统的许可证的数量进行计数的许可证服务器发送许可证计数信息,并询问是否能够使用应用(1309)。

[0092] 图9是例示当使用虚拟服务器的移动功能时进行的处理的流程图。[0093] 在步骤S1401中,移动虚拟服务器。在步骤S1402中,虚拟环境许可证管理模块重新确认其管理的应用的许可证使用状态,并根据计费类型对许可证的数量进行计数。以下将详细描述由虚拟环境许可证管理模块根据计费类型进行的用于对许可证的数量进行计数的方法。

[0094] 在步骤S1403中,确定计费类型。如果基于虚拟服务器对许可证计数,则处理进行到步骤S1404。在步骤S1404中,确定计数系统。如果许可证的数量等于分配给安装了应用的虚拟服务器的CPU的数量,则处理进行到步骤S1406。在步骤S1406中,根据虚拟服务器的数量和分配给虚拟服务器的CPU的数量,来对许可证的数量进行计数。在步骤S1404中,如果对每个虚拟服务器均分配一个许可证,则处理进行到步骤S1407。在步骤S1407中,根据虚拟服务器的数量获取许可证的数量。在步骤S1404中,如果通过将虚拟服务器的数量与CPU的实际数量相乘来获取许可证的数量,则处理进行到步骤S1408。在步骤S1408中,通过将虚拟服务器的数量与所分配的CPU的数量相乘,来获取许可证的数量。

[0090]

在步骤S1403中,如果基于物理服务器对许可证进行计数,则处理进行到步骤S1405。在步骤S1405中,根据实际CPU的数量对许可证的数量进行计数。在步骤S1409中,虚拟环境许可证管理模块将所计数的许可证的数量发送给许可证服务器。

[0095]

12

CN 101887377 ACN 101887380 A[0096]

说 明 书

9/11页

在步骤S1410中,许可证服务器接收许可证的数量,并更新当前使用的许可证的数量。在步骤S1411中,如果存在能够同时使用的许可证的数量的上限,则许可证服务器确定许可证的累积数量是否大于可同时使用的许可证的上限。如果许可证的累积数量大于可同时使用的许可证的上限(步骤S1411中的“是”),则处理进行到步骤S1412。在步骤S1412中,将在步骤S1411中获得的确定结果返回给虚拟环境许可证管理模块,并移动虚拟

服务器。在步骤S1413中,显示许可证的数量不足的警告作为移动的结果。另一方面,在步骤S1411中,如果许可证的累积数量不大于可同时使用的许可证的上限(步骤S1411中的“否”),则处理进行到步骤S1414。在步骤S1414中,将在步骤S1411中获得的确定结果返回给虚拟环境许可证管理模块。[0097] 根据本实施例,即使虚拟服务器移动,也能够进行许可证管理。

[0098] 当基于CPU的时间分配通过分配功能改变所分配的CPU的数量时,可以改变许可证的数量。

[0099] 以下将描述第三示例性实施例。图10是例示当改变分配给虚拟服务器的CPU的数量时进行的处理的流程图。[0100] 在步骤S1501中,改变分配给虚拟服务器的CPU的数量。在步骤S1502中,虚拟环境许可证管理模块重新确认其管理的应用的许可证使用状态,并根据计费类型对许可证的数量进行计数。以下将详细描述由虚拟环境许可证管理模块根据计费类型进行的用于对许可证的数量进行计数的方法。[0101] 在步骤S1503中,确定计费类型。如果基于虚拟服务器对许可证进行计数,则处理进行到步骤S1504。在步骤S1504中,确定计数系统。如果许可证的数量等于分配给已安装了应用的虚拟服务器的CPU的数量,则处理进行到步骤S1506。在步骤S1506中,根据虚拟服务器的数量和分配给虚拟服务器的CPU的数量,来对许可证的数量进行计数。在步骤S1504中,如果对每个虚拟服务器均分配一个许可证,则处理进行到步骤S1507。在步骤S1507中,根据虚拟服务器的数量获取许可证的数量。在步骤S1504中,如果通过将虚拟服务器的数量与CPU的实际数量相乘而获取许可证的数量,则处理进行到步骤S1508。在步骤S1508中,通过将虚拟服务器的数量与CPU的实际数量相乘,来获取许可证的数量。[0102] 在步骤S1503中,如果基于物理服务器对许可证进行计数,则处理进行到步骤S1505。在步骤S1505中,根据实际CPU的数量来对许可证的数量进行计数。在步骤S1509中,虚拟环境许可证管理模块将所计数的许可证的数量发送给许可证服务器。在步骤S1510中,许可证服务器接收许可证的数量,并更新当前使用的许可证的数量。在步骤S1511中,如果存在能够同时使用的许可证的数量的上限,则许可证服务器确定许可证的累积数量是否大于可同时使用的许可证的上限。如果许可证的累积数量大于可同时使用的许可证的上限(步骤S1511中的“是”),则处理进行到步骤S1512。在步骤S1512中,将在步骤S1511中获得的确定结果返回给虚拟环境许可证管理模块,并改变所分配的CPU的数量。在步骤S1513中,显示许可证的数量不足的警告作为改变的结果。另一方面,在步骤S1511中,如果许可证的累积数量不大于可同时使用的许可证的上限(步骤S1511中的“否”),则处理进行到步骤S1514。在步骤S1514中,将在步骤S1511中获得的确定结果返回给虚拟环境许可证管理模块。[0104] 根据本实施例,即使分配给虚拟服务器的CPU的数量改变,也能够进行许可证管

[0103]

13

CN 101887377 ACN 101887380 A

说 明 书

10/11页

理。

图11例示了包括真实服务器和虚拟服务器二者的网络系统的许可证管理系统的整体结构。

[0106] 根据第四示例性实施例的许可证管理系统包括由真实服务器操作的服务器1601以及服务器1602和1603。两个虚拟服务器1604分别在服务器1602和1603上操作。

[0105]

在服务器1601和各虚拟服务器1604中安装有应用1605。与第一实施例不同,管

理客户机服务器的许可证的许可证管理模块1606被布置在服务器1601和虚拟服务器1604两者中。

[0108] 根据图11所示的示例,服务器1601对应于第一信息处理装置,服务器1602和1603对应于第二信息处理装置。图11所示的系统包括不操作虚拟化软件的服务器1601和操作虚拟化软件的服务器1602和1603。许可证管理模块1606在所有的服务器1601、1602和1603上操作。

[0109] 对于服务器1601、1602和1603,许可证管理模块1606确定许可证类型是基于服务器(信息处理装置)还是基于虚拟服务器单位。在确定之后,许可证管理模块1606向许可证服务器601请求与许可证类型对应的许可证的数量,并获取许可证。[0110] 如果许可证类型基于服务器(信息处理装置),则许可证管理模块1606请求许可证服务器发送1个许可证或者与CPU数量对应的数量的许可证。如果许可证类型基于虚拟服务器,则许可证管理模块1606请求许可证服务器发送与在服务器1602或1603上操作的虚拟服务器1604的数量对应的数量的许可证。另外,如果许可证类型基于虚拟服务器,则可以使用与参照图7描述的方法类似的计数方法。

[0111] 图12例示了由许可证管理模块在虚拟服务器和真实服务器上保持的信息。[0112] 在虚拟服务器上,许可证管理模块1606保持图12A所示的信息1701和1702。信息1701被预先设置在许可证管理模块1606中,并且包括关于在虚拟环境中管理的应用的许可证计费类型的信息以及由许可证管理模块管理的应用信息。不同服务器(例如服务器1602和1603)的计费类型可以是不同的。[0113] 另外,信息1701经由虚拟化软件包括关于真实CPU的数量、虚拟服务器的数量、为各虚拟服务器分配的CPU的数量以及有无备份服务器的信息。能够根据这种信息计算许可证数量(1703)。

[0114] 许可证管理模块1606将诸如图12B所示的信息1801的信息保持在服务器1601上。信息1801被预先设置在虚拟环境许可证管理模块中,并且信息1801是关于在虚拟环境中管理的应用的许可证计费类型的信息和由许可证管理模块管理的应用信息。计费类型可以基于CPU的数量、CPU核的数量或者不依赖于CPU数量的数量。

[0107]

由于许可证管理模块预先存有关于CPU数量或核数量的信息,因此能够根据计费类型对许可证数量进行计数(1802)。许可证管理模块将许可证计数信息发送给对整个系统的许可证进行计数的许可证服务器,并询问是否能够使用许可证(1607)。[0116] 类似地,许可证管理模块对操作虚拟服务器的服务器(例如服务器1602或1603)的许可证的数量进行计数,将许可证计数信息发送给对整个系统的许可证进行计数的许可证服务器,并询问是否能够使用许可证(1608)。[0117] 其他实施例

[0115]

14

CN 101887377 ACN 101887380 A[0118]

说 明 书

11/11页

还可以由读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机(或诸如CPU或MPU等的设备),来实现本发明的各方面;并且可以利用通过例如读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机来执行各步骤的方法,来实现本发明的各方面。为此,例如经由网络或从用作存储设备的各种类型的记录介质(例如,计算机可读介质)将程序提供给计算机。[0119] 虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不局限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有的这类变型例及等同结构和功能。

15

CN 101887377 ACN 101887380 A

说 明 书 附 图

1/12页

图1A

图1B

16

CN 101887377 ACN 101887380 A

说 明 书 附 图

2/12页

图1C

图2A

17

CN 101887377 ACN 101887380 A

说 明 书 附 图

3/12页

图2B

图3

18

CN 101887377 ACN 101887380 A

说 明 书 附 图

4/12页

图4A

图4B

19

CN 101887377 ACN 101887380 A

说 明 书 附 图

5/12页

图5

20

CN 101887377 ACN 101887380 A

说 明 书 附 图

6/12页

图6A

图6B

21

CN 101887377 ACN 101887380 A

说 明 书 附 图

7/12页

图7

22

CN 101887377 ACN 101887380 A

说 明 书 附 图

8/12页

图8

23

CN 101887377 ACN 101887380 A

说 明 书 附 图

9/12页

图9

24

CN 101887377 ACN 101887380 A

说 明 书 附 图

10/12页

图10

25

CN 101887377 ACN 101887380 A

说 明 书 附 图

11/12页

图11

26

CN 101887377 ACN 101887380 A

说 明 书 附 图

12/12页

图12A

图12B

27

因篇幅问题不能全部显示,请点此查看更多更全内容