一种虚拟环境下License认证的方法及装置的制作方法

文档序号:7553341阅读:293来源:国知局
专利名称:一种虚拟环境下License认证的方法及装置的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种虚拟环境下License认证的方法和装置。
背景技术
虚拟化技术可以提高企业硬件资源的利用率、增加部署应用的灵活性、降低运维成本,因而吸引了越来越多的企业将业务从传统IT架构迁移到虚拟化架构中。虚拟化技术通过底层的Hypervisor (运行在基础硬件设施层和上层操作系统之间的“元”操作系统,用于协调上层操作系统对底层硬件资源的访问,减轻软件对硬件设备以及驱动的依赖性,同时对虚拟化运行环境中的硬件兼容性、高可靠性、高可用性、可扩展性、性能优化等问题进行加固处理),将硬件资源进行逻辑抽象,从而整合为统一的资源池,虚拟化管理软件(完成对Hypervisor的管理)允许用户在同一台主机上创建多个虚拟机,每一台虚拟机相当于一台传统的物理服务器,可以在其上安装操作系统并部署应用程序,不同虚拟机之间相互隔离、互不影响。然而,在虚拟环境下,传统的应用软件License的控制方法已不能满足其管理需要。如图1所示,为传统部署环境下通过License认证中心实现应用软件License认证的组网示意图。在传统的部署环境下,所有应用软件的License认证都由License认证中心完成:应用软件在License认证中心注册License后,每次启动应用都需要到License认证中心进行认证,如果License中心认证失败,贝U认为该License失效并拒绝用户使用该License对应的应用软件。在虚拟化环境中,由于License认证中心和虚拟化管理软件运行在管理网段,而应用软件所在的虚拟机则运行在业务网段,因此,虚拟机无法和license认证中心直接通信,如采用上述传统部署环境下的认证方式,则无法完成应用软件到License认证中心的认证。

发明内容
有鉴于此,本发明提供一种虚拟化环境下License认证的方法和装置,以解决上述现有技术中存在的不足。本发明是通过如下技术方案实现的:—种虚拟环境下License认证的方法,应用于虚拟机上应用软件的License认证,其中所述方法包括如下步骤:步骤1、当虚拟机上应用软件启动使用时,通过调用Hypervisor的接口向License认证中心发送该应用软件的License认证请求报文;步骤2、接收License认证中心关于认证结果的应答报文,并根据认证结果决定是否能够使用虚拟机上的应用软件。进一步地,当所述Hypervisor和license认证中心之间的网络不可达时,在Hypervisor和license认证中心之间还需设置虚拟化管理软件,Hypervisor接收到应用软件发送的License认证请求报文后,将应用软件的License认证请求信息转发给虚拟化管理软件。进一步地,虚拟化管理软件接收到Hypervisor发送的License认证请求信息后,再将该License认证请求信息转发给License认证中心,并在接收到来自License认证中心的应答报文后,将该应答报文通过Hypervisor发送给虚拟机上的应用软件。进一步地,所述虚拟化管理软件和所述认证中心既可以集成在一起,也可以彼此分开单独设置。进一步地,应用软件在虚拟机上完成License认证后,进一步周期性地调用发送保活报文接口,向license认证中心发送保活报文。本发明同时还提供一种虚拟环境下License认证的装置,应用于虚拟机上应用软件的License认证,其中所述装置包括:Hypervisor接口调用单元,用于当虚拟机上应用软件启动使用时,调用Hypervisor上对应的接口向License认证中心发送该应用软件的License认证报文;License认证结果确认单元,用于接收License认证中心关于认证结果的应答报文,并根据认证结果确认是否能够使用虚拟机上的应用软件。进一步地,当所述Hypervisor和license认证中心之间的网络不可达时,在Hypervisor和license认证中心之间还需设置虚拟化管理软件单元,Hypervisor接收到应用软件发送的License认证请求报文后,通过私有协议将应用软件的License认证请求信息转发给虚拟化管理软件单元。进一步地,虚拟化管理软件单元接收到Hypervisor发送的License认证请求信息后,将该License认证请求信息转发给License认证中心,并在接收到来自License认证中心的应答报文后,将该应答报文通过Hypervisor发送给虚拟机上的应用软件。进一步地,所述虚拟化管理软件单元和所述认证中心既可以集成在一起,也可以彼此分开单独设置。进一步地,应用软件在虚拟机上完成License认证后,进一步周期性地通过Hypervisor接口调用单元调用发送保活报文接口,向license认证中心发送保活报文。与现有的技术相比,本发明通过对现有传统部署环境下的License认证流程进行修改,实现虚拟化环境下应用软件License的认证和控制问题。


图1为现有传统部署环境下通过License认证中心实现应用软件认证的组网示意图。图2为本发明虚拟环境下License认证的方法流程示意图。图3为本发明虚拟环境下License认证的装置结构示意图。
具体实施例方式为使本领域技术人员更加清楚和明白,以下结合本发明附图及实施例,详细描述本发明实现细节。
如背景技术所述,在虚拟环境下,虚拟机上的应用软件无法和License认证中心通信,但虚拟机所在的Hypervisor可以和虚拟化管理软件通信,而虚拟化管理软件又可以和License认证中心通信。因此,在本发明中,采用的核心思想为:当虚拟机上应用软件进行License认证时,通过直接调用Hypervisor的接口完成License认证报文的发送和接收,虚拟化管理软件在接收到License认证请求或应答报文时,将该License请求报文或者应答报文转发给License认证中心或返回给虚拟机,进而完成虚拟机上应用软件到License认证中心的认证。由于在本发明中,虚拟机上应用软件在进行License认证时,应用软件不是调用虚拟机的操作系统,而是直接调用Hypervisor的接口完成license认证报文的发送和接收。因此,为了实现本发明目的,在本专利中,需要在Hypervisor上定义一组接口,以供虚拟机上的应用软件与虚拟化管理软件之间通信使用。其中,Hypervisor定义几种接口示例如下:软件启动请求接口: IaunchAppReq ;软件启动响应接口: IaunchAppRsp ;发送保活报文接口: sendKeepAl iveMsg ;保活报文应答接口: sendKeepAl iveRspMsg ;获取当前可用License 数量接口:getAvailableLienceCount ;使用某个应用软件的License 接口:registerLicense。需要说明的是,以上仅是描述本发明Hypervisor定义的几种示例,在实际实施本发明过程中,不应仅仅局限于这些接口。如图2所示,在Hypervisor上定义好了供虚拟机上的应用软件在License认证过程中调用的接口后,采用本发明的方法完成虚拟环境下License认证的过程如下:步骤1、当虚拟机上的应用软件启动时,调用Hypervisor的软件启动请求接口向license认证中心发送License认证请求。其中,该License认证请求中可能包含虚拟机、虚拟机所在物理服务器、用户以及应用软件等相关信息。步骤2、Hypervisor接收到应用软件发送的License认证请求信息后,将所述信息转发给虚拟化管理软件;步骤3、虚拟化管理软件接收到Hypervisor发送的License认证请求信息后,进一步将该信息转发给License认证中心;由于在虚拟化环境中,License认证中心和虚拟化管理软件都运行在管理网段,因此,两者之间可以直接通信,虚拟化管理软件在接收到Hypervisor发送过来的License认证请求信息后,直接将之转发给License认证中心。步骤4、License认证中心接收到License认证信息后,对用户在虚拟机上使用该应用软件进行认证,并将认证结果通过应答报文发送给虚拟化管理软件;当License认证中心接收到应用软件的License认证信息后,首先从中解析出该应用软件的License认证信息,然后比较License认证中心记录的该应用软件的License认证信息与当前解析获得的License认证信息是否相符,进而确定该应用软件License认证成功或者License认证失败。
如果该应用软件的使用数量有限制,License认证中心在每认证通过一个License时,则在其License统计记录中加I。当累计的应用软件License数量超过设定的数量时,则拒绝该应用软件继续认证。进一步地,License认证中心还需将应用软件的认证结果(包括:License认证成功、License认证失败或者应用软件认证的License数量是否超过授权使用的数量)的信息通过应答报文反馈给用户。步骤5、虚拟化管理软件接收到License认证中心返回的应答信息报文后,将之发送给对应的Hypervisor ;步骤6、Hypervisor通过相应的接口将该应答信息报文发送给应用软件;步骤7、应用软件解析License认证中心的应答信息报文,并根据应答信息报文中携带的认证结果进行相应的处理。具体地,应用软件根据License认证结果进行处理的动作包括:正常启动软件,或不能启动软件并显示提示信息等。在完成上述虚拟机上应用软件的License认证后,为了保证License认证中心能够及时对License进行回收,优选地,在本发明中,还包括如下步骤:步骤8、应用软件在虚拟机上完成License认证和启动后,进一步周期性地调用发送保活报文接口向license认证中心发送保活报文;步骤9、license认证中心接收到来自虚拟机上应用软件发送的保活报文后,在预定时间内给出应答。如果在一定时间内没有收到应用软件发送的保活报文,license认证中心可以收回应用软件的license使用权;如果在一定时间内没有收到license认证中心的保活应答报文,应用软件将做一些异常处理,如提示用户或记录日志,然后关闭软件使用权。需要说明的是,在某些应用场景下,本发明中License认证中心也可以集成在虚拟化管理软件中,在此情形下,License认证流程与上述认证流程完全相同,在此不再详细描述。另外,在某些特定的应用场景下,如果Hypervisor和license认证中心之间的网络可达,虚拟机上的应用软件也可以通过“应用软件〈一>Hypervisor<一>License认证中心”的方式完成虚拟机上应用软件到License认证中心的认证过程,其工作原理同上,在此也同样不再赘述。本发明同时还提供了一种License认证控制的装置,应用于虚拟环境下虚拟机上应用软件的License认证,该装置包括:Hypervisor接口调用单元,用于当虚拟机上应用软件启动使用时,调用Hypervisor上对应的接口向License认证中心发送该应用软件的License认证报文;License认证结果确认单元,用于接收License认证中心关于认证结果的应答报文,并根据认证结果确认是否能够使用虚拟机上的应用软件。其中,所述Hyerevisor的接口示例如下:软件启动请求接口: IaunchAppReq ;软件启动响应接口: IaunchAppRsp ;
发送保活报文接口: sendKeepAl iveMsg ;保活报文应答接口: sendKeepAl iveRspMsg ;获取当前可用License 数量接口:getAvailableLienceCount ;使用某个应用软件的License 接口:registerLicense。进一步地,当所述Hypervisor和license认证中心之间的网络不可达时,在Hypervisor和license认证中心之间还需设置虚拟化管理软件单元,Hypervisor接收到应用软件发送的License认证请求报文后,将应用软件的License认证请求信息转发给虚拟化管理软件单元。其中,所述虚拟化管理软件单元和所述认证中心即可以集成在一起,也可以彼此分开单独设置。虚拟化管理软件单元接收到Hypervisor发送的License认证请求信息后,将该License认证请求信息转发给License认证中心,并在接收到来自License认证中心的应答报文后,将该应答报文通过Hypervisor发送给虚拟机上的应用软件。应用软件在虚拟机上完成License认证后,进一步周期性地通过Hypervisor接口调用单元调用发送保活报文接口向license认证中心发送保活报文。与现有技术相比,本发明当虚拟机上应用软件在进行License认证时,通过直接调用Hypervisor的接口完成虚拟机上应用软件和License认证中心间报文的通信。因此,License认证中心可以对运行在各个虚拟机上的软件license进行统一的控制和管理,当虚拟机迁移时,应用软件的License能够随着虚拟机的迁移而迁移,并且当虚拟机上的应用不使用该License时,License认证中心可以将该License及时回收,供其他虚拟机使用。与现有技术相结合本发明还解决了虚拟化环境下软件的盗版问题,它可以保证应用软件的使用数量不超过被许可的数量。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种虚拟环境下License认证的方法,应用于虚拟机上应用软件的License认证,其特征在于,所述方法包括如下步骤: 步骤1、当虚拟机上应用软件启动使用时,通过调用Hypervisor的接口向License认证中心发送该应用软件的License认证请求报文; 步骤2、接收License认证中心关于认证结果的应答报文,并根据认证结果决定是否能够使用虚拟机上的应用软件。
2.如权利要求1所述的方法,其特征在于,当所述Hypervisor和license认证中心之间的网络不可达时,在Hypervisor和license认证中心之间还需设置虚拟化管理软件,Hypervisor接收到应用软件发送的License认证请求报文后,将应用软件的License认证请求信息转发给虚拟化管理软件。
3.如权利要求2所述的方法,其特征在于,虚拟化管理软件接收到Hypervisor发送的License认证请求信息后,再将该License认证请求信息转发给License认证中心,并在接收到来自License认证中心的应答报文后,将该应答报文通过Hypervisor发送给虚拟机上的应用软件。
4.如权利要求1或3所述的方法,其特征在于,所述虚拟化管理软件和所述认证中心既可以集成在一起,也可以彼此分开单独设置。
5.如权利要求4所述的方法,其特征在于,应用软件在虚拟机上完成License认证后,进一步周期性地调用发送保活报文接口,向license认证中心发送保活报文。
6.一种虚拟环境下License认证的装置,应用于虚拟机上应用软件的License认证,其特征在于,所述装置包括: Hypervisor接口调用单元,用于当虚拟机上应用软件启动使用时,调用Hypervisor上对应的接口向License认证中心发送该应用软件的License认证报文; License认证结果确认单元,用于接收License认证中心关于认证结果的应答报文,并根据认证结果确认是否能够使用虚拟机上的应用软件。
7.如权利要求6所述的装置,其特征在于,当所述Hypervisor和license认证中心之间的网络不可达时,在Hypervisor和license认证中心之间还需设置虚拟化管理软件单元,Hypervisor接收到应用软件发送的License认证请求报文后,通过私有协议将应用软件的License认证请求信息转发给虚拟化管理软件单元。
8.如权利要求7所述的装置,其特征在于,虚拟化管理软件单元接收到Hypervisor发送的License认证请求信息后,将该License认证请求信息转发给License认证中心,并在接收到来自License认证中心的应答报文后,将该应答报文通过Hypervisor发送给虚拟机上的应用软件。
9.如权利要求6或8所述的装置,其特征在于,所述虚拟化管理软件单元和所述认证中心既可以集成在一起,也可以彼此分开单独设置。
10.如权利要求9所述的装置,其特征在于,应用软件在虚拟机上完成License认证后,进一步周期性地通过Hypervisor接口调用单元调用发送保活报文接口,向license认证中心发送保活报文。
全文摘要
本发明公开了一种虚拟环境下License认证的方法和装置。当虚拟机上的应用软件在进行License认证时,通过调用Hypervisor的接口完成License认证报文的发送和接收,虚拟化管理软件在接收到License认证请求或应答报文时,将该License请求报文或者应答报文转发给License认证中心或返回给虚拟机,进而完成虚拟机上应用软件到License认证中心的认证。
文档编号H04L29/06GK103207965SQ20131008012
公开日2013年7月17日 申请日期2013年3月13日 优先权日2013年3月13日
发明者班世敏, 王孜成 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1