首页> 中国专利> 网络化计算环境中的软件许可管理的方法和系统

网络化计算环境中的软件许可管理的方法和系统

摘要

本发明提供了用于管理网络化计算环境中的虚拟机实例上的软件安装许可的方案。具体地,在一个例子中,收集与网络化计算环境中的一组实例上的一组软件安装的使用相关的数据。当接收到针对用于该组软件安装的特定软件安装的许可的请求时,确定该许可是否可用。如果不可用,则基于收集的数据和网络化计算环境的当前配置确定是否可获取许可。然后,响应于可获得该许可,可以分配所请求的许可。

著录项

  • 公开/公告号CN103310132A

    专利类型发明专利

  • 公开/公告日2013-09-18

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310025932.7

  • 发明设计人 K·阿比尔萨德;L·S·德鲁卡;S·张;

    申请日2013-01-24

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人宋海宁

  • 地址 美国纽约

  • 入库时间 2024-02-19 20:48:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-27

    授权

    授权

  • 2013-10-23

    实质审查的生效 IPC(主分类):G06F21/12 申请日:20130124

    实质审查的生效

  • 2013-09-18

    公开

    公开

说明书

技术领域

一般而言,本发明的实施例提供了用于软件许可管理的方案。具 体地,本发明的实施例涉及网络化计算环境中的虚拟机实例上的软件 安装的管理许可。

背景技术

网络化计算环境(例如,云计算环境)是前趋网格环境的增强, 凭此,多重网格和其它计算资源可进一步通过一个或更多附加抽象层 (例如,云层)进行增强,由此使得不同的装置对终端用户显现为一 个无缝资源池。这些资源可以包括诸如物理或逻辑计算引擎、服务器 和装置、装置存储器和存储装置等的这些东西。

然而,在云计算环境中实现有效软件许可分配存在着挑战。例 如,在典型的云计算环境中,对每个虚拟机(VM)或VM像/实例 分配许可,而不是为特定VM(或VM实例)上运行的每个软件安装 分配许可。假设多个软件安装可以在一个VM实例上运行,为整个 VM实例提供一个许可会大大限制那个VM实例的使用。

发明内容

总之,本发明的实施例提供了用于管理网络化计算环境(例如, 云计算环境)中的虚拟机(VM)实例上的软件安装的许可的方案。 具体地,在典型实施例中,收集与网络化计算环境中的一组(VM) 实例上的一组软件安装的使用有关的数据(例如,实时和/或历 史)。当(例如,从请求者)接收到针对这组软件安装的特定软件安 装的许可的请求时,确定该许可是否可用。如果不可用,则基于收集 的数据和网络化计算环境的当前配置确定是否可获取许可。然后,响 应于可获得该许可,可以分配所请求的许可。

本发明的第一方面提供了一种用于管理网络化计算环境中的虚拟 机实例上的软件安装许可的计算机实施方法,包括:在计算机存储装 置上收集与网络化计算环境中的一组虚拟机(VM)实例上的一组软 件安装的使用相关的数据;从请求者接收针对这组软件安装的特定软 件安装的许可的请求;确定该许可是否可用;响应于该许可不可用, 基于所述数据和网络化计算环境的当前配置确定是否可获得该许可; 以及响应于可获得该许可,向请求者分配该许可。

本发明的第二方面提供了一种用于管理网络化计算环境中的虚拟 机实例上的软件安装许可的系统,包括:包括指令的存储介质;总 线,耦合到存储介质;以及耦合到总线的处理器,当执行指令时使得 系统执行如下操作:在计算机存储装置上收集与网络化计算环境中的 一组虚拟机(VM)实例上的一组软件安装的使用相关的数据;从请 求者接收针对这组软件安装的特定软件安装的许可的请求;确定该许 可是否可用;响应于该许可不可用,基于所述数据和网络化计算环境 的当前配置确定是否可获得该许可;以及响应于可获得许可,向请求 者分配该许可。

本发明的第三方面提供了一种用于管理网络化计算环境中的虚拟 机实例上的软件安装许可的计算机程序产品,该计算机程序产品包括 计算机可读存储介质,并且在计算机可读存储介质上存储程序指令以 执行如下操作:在计算机存储装置上收集与网络化计算环境中的一组 虚拟机(VM)实例上的一组软件安装的使用相关的数据;从请求者 接收针对这组软件安装的特定软件安装的许可的请求;确定该许可是 否可用;响应于该许可不可用,基于所述数据和网络化计算环境的当 前配置确定是否可获得该许可;以及响应于可获得该许可,向请求者 分配该许可。

本发明的第四方面提供了一种部署用于管理网络化计算环境中的 虚拟机实例上的软件安装许可的系统的方法,包括:提供计算机设 施,计算机设施可以执行如下操作:在计算机存储装置上收集与网络 化计算环境中的一组虚拟机(VM)实例上的一组软件安装的使用相 关的数据;从请求者接收针对这组软件安装的特定软件安装的许可的 请求;确定该许可是否可用;响应于该许可不可用,基于所述数据和 网络化计算环境的当前配置确定是否可获得该许可;以及响应于可获 得该许可,向请求者分配该许可。

附图说明

通过在下文中结合附图详细描述本发明的各个方面,本发明的这 些和其它特征将变得更加易于理解。

图1示出了根据本发明的一个实施例的云计算节点。

图2示出了根据本发明的一个实施例的云计算环境。

图3示出了根据本发明的一个实施例的抽象模型层。

图4示出了根据本发明的一个实施例的系统图。

图5示出了根据本发明的一个实施例的虚拟图像。

图6示出了根据本发明的一个实施例的方法流程图。

附图不需要成比例。附图仅是示意性表达,而非意图描绘本发明 的参数。附图意图仅描述本发明的典型实施例,由此不应该被解释为 限制本发明的范围。在附图中,相同标号表示相似元件。

具体实施方式

现在将在这里参照附图更加全面地描述示例实施例,在这些附图 中显示了实施例。然而,本发明可以以许多不同形式进行实施并且不 应该被解释为限制这里阐述的实施例。而且,提供这些实施例从而使 得本发明将是清楚和完整的并且将全面地向本领域技术人员表达本发 明的范围。在该描述中,公知特征和技术的详情可被省去以避免不必 要地模糊所呈现的实施例。

这里使用的术语的目的在于仅描述特定实施例而非意图限制本发 明。如这里使用,单数形式“一个”意图包括复数形式,除非在上下文 中另外清楚进行指示。另外,术语“一个”等等的使用没有指示数量的 限制,而是指示至少一个所指项目的存在。还应该明白,当在这个说 明书中使用时,术语“包括”和/或“包含”指定陈述的特征、区域、整 数、步骤、操作、元件和/或组件的存在,而非排除一个或更多其它 特征、区域、整数、步骤、操作、元件、组件和/或它们的组合的存 在或添加。

本发明的实施例提供了用于在网络化计算环境(例如,云计算环 境)中管理在虚拟机(VM)实例上的软件安装许可的方案。具体 地,在典型实施例中,收集与网络化计算环境中的一组(VM)实例 上一组软件安装的使用相关的数据(例如,实时和/或历史)。当接 收到针对一组软件安装的特定软件安装的许可的请求时(例如,从请 求者),确定该许可是否可用。如果不可用,则基于收集的数据和网 络化计算环境的当前结构确定是否可获得该许可。然后,响应于许可 可被获得,所请求的许可可以被分配。

预先明白尽管本发明包括云计算的详细描述,但是这里陈述教导 的实施不限于云计算环境。而且,本发明的实施例能够与任何其它类 型的现在已知或以后发展的计算环境进行结合而实现。

云计算是一种服务传递的模型,用于实现对可配置的计算资源 (例如,网络、网络带宽、服务器、处理、存储器、贮藏器、应用、 虚拟机和服务)共享池的便利的、随选的网络访问,它能够以最小管 理努力或与服务提供商的交互进行快速提供和释放。这个云模型可以 包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征如下:

随选自助:云用户能够根据需要自动地、单方提供诸如服务器时 间和网络存储的计算能力,而不需要与服务的提供商进行人工交互。

宽网络访问:能力能够在网络上获得并且通过标准机制进行访 问,促进不同的薄或厚的客户平台(例如,移动电话、膝上型电脑和 PDA)的使用。

资源汇合:根据需要动态分配和再分配不同的物理和虚拟资源, 使用多租户模型对提供商的计算资源进行汇合以服务多个用户。存在 位置独立的意义,这是因为用户通常不能控制或了解提供的资源的确 切位置但可以在更高级的抽象(例如,国家、州或数据中心)指定位 置。

快速弹性:能力能够快速和弹性的提供,一些情况下自动地、迅 速放大,以及快速释放以迅速缩小。对于用户,可提供的能力常常显 现为不受限制并且能够在任何时间以任何数量进行购买。

测量的服务:云系统通过在适于服务类型(例如,存储、处理、 带宽和活动用户账目)的一定级别的抽象改变计量能力自动控制并优 化资源使用。资源使用能够被监视、控制和报告,对使用服务的提供 商和用户二者透明。

服务模型如下:

软件作为服务(SaaS):向用户提供的能力在于使用云设施上 运行的提供商的应用。可通过诸如web浏览器(例如,基于web的 电邮)的薄客户接口从各种客户装置访问这些应用。用户不管理或控 制基础云设施(包括网络、服务器、操作系统、存储器、或者甚至是 个别应用能力,可能例外是有限的用户特定应用配置设置)。

平台作为服务(PaaS):向用户提供的能力部署在用户建立的 云设施上、或者使用由提供商支持的编程语言和工具建立的获取应用 上。用户不管理或控制包括网络、服务器、操作系统或存储器的基础 云设施,但能控制所部署的应用以及可能的应用寄主环境配置。

设施作为服务(IaaS):向用户提供的能力提供处理、存储、网 络和用户能够部署和运行可包括操作系统和应用的任意软件的其它基 础技术资源。用户不管理或控制基础云设施,但控制操作系统、存 储、部署的应用,以及选择组网组件(例如,主机防火墙)的有限可 能控制。

部署模型如下:

私有云:云设施仅为一个组织进行工作。它可由该组织或第三方 管理并且可存在于本地或非本地。

社区云:云设施由几个组织共享,并且支持具有共享目的(例 如,任务、安全要求、政策、和遵从考虑)的特定社区。它可由这些 组织或第三方管理并且可以存在于本地或非本地。

公共云:云设施对普通公众或大的工业组可用,并且由销售云服 务的组织拥有。

混合云:云设施是两个或更多云(私有、社区或公共)的复合, 所述多个云保持为唯一的实体,但通过标准化或专有技术捆绑在一起 以实现数据和应用便携性(例如,云之间的负载平衡的云爆发)。

云计算环境是以面向无国籍、低连接、模块性和语义协同性的服 务。云计算的心脏是包括互连节点网络的设施。

现在参照图1,示出云计算节点的例子的示意图。云计算节点10 只是合适的云计算节点的一个例子,并且并非意图建议对本文所述的 本发明的实施例的功能或使用范围的任何限制。不管如何,云计算节 点10能够被实现和/或执行在上文中阐述的任何功能。

在云计算节点10中,存在计算机系统/服务器12,它与大量其它 通用或专用计算系统环境或配置工作。可适用于计算机系统/服务器 12的公知计算系统、环境和/或配置的例子包括但不限于个人计算机 系统、服务器计算机系统、薄客户端、厚客户端、手持或膝上型装 置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电 子、网络PC、迷你计算机系统、大型计算机系统、和包括以上系统 或装置的任何一个的分布式云计算环境等。

可在计算机系统执行的诸如程序模块的计算机系统可执行指令的 普通上下文中描述计算机系统/服务器12。通常,程序模块可以包括 执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、 逻辑、数据结构等。计算机系统/服务器12可以在分布式云计算环境 中进行实施,在该分布式云计算环境中由经由通信网络链接的远程处 理装置执行任务。在分布式云计算环境中,程序模块可以置于包括存 储装置的本地和远程计算机系统存储介质二者内。

如图1所示,云计算节点10中的计算机系统/服务器12被显示 为通用计算装置的形式。计算机系统/服务器12的组件可包括但不限 于一个或多个处理器或处理单元16、系统存储器28和总线18,总线 18将包括系统存储器28的各个系统组件耦合到处理器16。

总线18代表多种类型的总线结构的一种或多种,包括存储器总 线或存储器控制器、外围总线、加速图形端口、以及使用多种总线架 构的任何一种的处理器或本地总线。举例而非限制,这些架构包括工 业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA (EISA)总线、视频电子标准协会(VESA)本地总线、以及外围组 件互连(PCI)总线。

计算机系统/服务器12通常包括各种计算机系统可读介质。这种 介质可以是可由计算机系统/服务器12访问的任何可用介质,并且它 包括易失性和非易失性介质、可移动和非可移动介质。

系统存储器28可以包括易失性存储器的形式的计算机系统可读 介质(例如,随机访问存储器(RAM)30和/或缓冲存储器32)。 计算机系统/服务器12还可以包括其它可移动/非可移动、易失性/非 易失性计算机系统存储介质。仅仅举例,贮存系统34能够从非可移 动、非易失性磁介质(未示出并且通常称作“硬盘驱动器”)读取或向 它们进行写入。尽管未示出,还可以提供从可移动、非可移动磁盘 (例如,“软盘”)读取和对其进行写入的磁盘驱动器和用于从诸如 CD-ROM、DVD-ROM的可移动、非易失性光盘或其它光学介质读 取或向其写入的光盘驱动器。在这些实例中,每种实例能够经由一个 或更多数据介质接口连接到总线18。将在下面进一步进行展示和描 述,存储器28可以包括具有被构造为执行本发明实施例的功能的一 组程序模块(例如,至少一个)的至少一个程序产品。

本发明的实施例可被实现为计算机可读信号介质,它可以包括在 其中嵌入了计算机可读程序码的传播数据信号(例如,在基带中或者 作为载波的一部分)。这种传播信号可以采取包括但不限于电磁、光 学或者它们的任何合适组合的各种形式中的任何一种。计算机可读信 号介质可以不是计算机可读存储介质,而是能够交流、传播或传输由 指令执行系统、设备或装置使用或与之结合使用的程序的任何计算机 可读介质。

可使用任何适当介质(包括但不限于无线、有线、光纤、射频 (RF)等等或者上述的任何合适组合),发送在计算机可读介质上 实施的程序码。

举例而非限制,具有一组(至少一个)程序模块42的程序/应用 程序40可以存储在存储器28中,操作系统、一个或更多应用程序、 其它程序模块和程序数据也可以存储在存储器28中。操作系统、一 个或更多应用程序、其它程序模块以及程序数据或它们的某组合中的 每一个可以包括组网环境的实施方式。程序模块42通常执行本文所 述的本发明的实施例的功能和/或方法。

计算机系统/服务器12还可以与诸如键盘、点击装置、显示器24 等的一个或更多外部装置14、使用户与计算机系统/服务器12交互的 一个或更多装置、和/或使得计算机系统/服务器12与一个或更多其 它计算装置进行通信的任何装置(例如,网卡、调制解调器等)进行 通信。这种通信可经由I/O接口22发生。然而,计算机系统/服务器 12能够经由网络适配器20与诸如局域网(LAN)、广域网 (WAN)和/或公共网络(例如,互联网)的一个或更多网络进行通 信。如所示,网络适配器20经由总线18与计算机系统/服务器12的 其它组件通信。应该明白,尽管未示出,但是其它硬件和/或软件组 件可与计算机系统/服务器12结合使用。例子包括但不限于微码、装 置驱动程序、冗余处理单元、外部盘驱动阵列、RAID系统、卡带驱 动器和数据档案存储系统等。

现在参照图2,示出了例示云计算环境50。如所示,云计算环境 50包括一个或更多云计算节点10,云计算节点10可与由云用户使用 的本地计算装置进行通信,诸如个人数字助手(PDA)或蜂窝电话 54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统 54N。节点10可彼此通信。它们可以在如上所述的私有、社区、公 共或混合云或其组合的一个或更多网络中进行物理或虚拟分组(未示 出)。这允许云计算环境50提供设施、平台和/或软件作为服务,而 云用户不需要在本地计算装置上保持资源。应理解图2所示的计算装 置54A-N的类型仅是说明性的并且计算节点10和云计算环境50能 够经由任何类型的网络和/或网络可寻址连接(例如,使用web浏览 器)与任何类型的计算机化装置进行通信。

现在参照图3,示出了云计算环境50(图2)提供的一组功能抽 象层。应该预先明白,在图3所示的组件、层和功能仅仅是说明性的 并且本发明的实施例不限于此。如所示,提供了下面层和对应功能。

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括大 型机。在一个例子中,基于和RISC(精简指 令集计算机)架构的服务器。在一个例子中, IBM System存储装置、网络和组网组件。软件组件的例 子包括网络应用服务器软件。在一个例子中,应用 服务器软件和数据库软件。在一个例子中,IBM数据库软件。 (IBM、zSeries、System x、BladeCenter、WebSphere和DB2是在 全球许多管辖范围内登记的国际商务机器公司的商标)

虚拟层62提供了抽象层,从该抽象层可提供虚拟实体的下面例 子:虚拟服务器、虚拟存储器、包括虚拟私有网络的虚拟网络、虚拟 应用和操作系统以及虚拟客户。

在一个例子中,管理层64可以提供下面描述的功能。资源供给 提供了计算资源和用于在云计算环境内执行任务的其它资源的动态获 取。计量和定价提供随着在云计算环境内利用资源的开销跟踪以及这 些资源消耗的账单或发票。在一个例子中,这些资源可以包括应用软 件许可。安全性提供了云用户和任务的身份认证以及对数据和其它资 源的保护。用户入口为用户和系统管理员提供对云计算环境的访问。 服务水平管理提供云计算资源分配和管理从而使得要求的服务水平被 满足。服务水平协议(SLA)计划和履行提供了根据SLA为其预测 未来要求的云计算资源的预部署和获取。在管理层中还示出了软件许 可管理,软件许可管理代表在本发明的实施例下提供的功能。

工作量层66提供了为其可以使用云计算环境的功能的例子。可 从这个层提供的工作量和功能的例子包括:映射和导航、软件开发和 生命周期管理、虚拟教室教育传送、数据分析处理、交易处理和用户 数据存储和备份。如上所述,参照图3描述的所有上述例子只是说明 性的,本发明不限于这些例子。

应当明白本文所述的本发明的所有功能通常可由软件许可管理功 能(是管理层64的,能够被有形实施为程序/实体40(图1)的程序 码42的模块)来执行。然而,并不需要这样。而且,本文陈述的功 能可由图3所示的层60到66的任何一个执行/实施和/或实现。

重申,尽管本发明包括关于云计算的详细描述,但是本文所述的 教导不限于云计算环境。而且,本发明的实施例意图由已知或以后开 发的任何类型的网络化计算环境进行实现。

现在参照图4,显示根据本发明的实施例的能够实现本文讨论的 功能的系统图。应当明白,本文陈述的教导可以在任何类型的网络化 计算环境86(例如,云计算环境50)内实践。仅为说明性目的在图 4中显示了单机计算机系统/服务器12。在本文陈述的教导在网络化 计算环境86中实践的情况下,每个客户不需要具有软件许可管理引 擎(引擎70)。相反,引擎70可以装载在与客户通信(例如,无线 方式)的服务器或作为服务器的装置上,以为其提供软件许可管理。 不管如何,如所示,引擎70显示在计算机系统/服务器12内。通 常,引擎70能够被实现为图1的计算机系统12上的程序/实体40并 且能够实现本文陈述的功能。如进一步所示,引擎70(在一个实施 例中)包括规则和/或计算引擎,用于处理一组(至少一个)规则和/ 或逻辑78和/或在此之下提供软件许可管理功能。

沿这些线路,引擎70可以执行与通用计算机类似的多个功能。 具体地,在这些功能之中,引擎70可以(除了其它方面)在(一个 或更多)计算机存储装置80A-N上收集与在网络化计算环境86中经 由通信链接76连接的一组虚拟机(VM)实例72A-C上的一组软件 安装74A-C(具有关联的许可84A-N)的使用相关(例如,与使用相 关的一组特征)的数据82A-N(历史和/或实时);接收用于这组软 件安装74A-C的特定软件安装的许可90的请求88(例如,从请求 者);确定许可90是否可用;响应于许可90不可用,基于所述数据 82A-N、机构许可政策、和/或网络化计算环境86的当前配置(例 如,许可84A-N的不活跃状态、使用许可84A-N的用户的优先级、 软件安装组74A-B的使用频率、用户的地理位置、或者网络化计算 环境内的数据中心位置)确定是否可获得该许可90;和/或响应于许 可90可被获得,向请求者分配许可90(例如,带有预定过期时 间)。

示例例子

下面列表包括通过在云计算环境中实施本发明的实施例执行的步 骤的示例序列。应当明白,这个序列仅是示例的并且在本发明的实施 例之下可存在其它变型。

1.云服务提供商实现引擎70。

2.对于云资源内的软件利用,大量连续地收集历史和实时信息 82A-N。这个数据可以包括和/或识别与软件利用相关的一组特征,例 如:

A.安装的软件

例如,实例X安装有WebSphere Application(WebSphere Application Server、WAS和有关术语是美 国和/或其它国家中的国际商务机器公司的商标)

B.软件安装的正常运行时间(uptime)/运行时间(runtime)

例如,实例X具有WAS,但WAS当前没有运行。

C.实例的正常运行时间/运行时间

例如,实例X具有WAS,但实例X被停止。

D.软件卸载

例如,从实例X卸载WAS。

E.网络利用

例如,WAS可进行安装但它具有极少网络活跃度,并且由此可 以是要关闭的候选。

3.保持机构许可政策。

4.作为新用户,“A”请求针对软件安装“N”的许可90,引擎70查 找为N84A-N分配的许可。

5.如果对于“N”许可90可用,则对用户A给出/分配许可。

6.如果对于“N”许可90不可用,则系统确定(例如,使用在步骤 2收集的数据82A-N)是否可从网络化计算环境86(例如,云计算环 境)的当前配置内获得许可90(例如,关于许可服务不是立即可 用,但能够从另一个源获取一个)。这种配置可基于下面中的一个或 更多:

A.不活跃度-系统可能发现某个许可是不活跃的。这种情况下, 可向用户A永久或临时给出许可90。

B.用户的优先级-用户A与另一个用户B相比具有需要许可90 的更高优先级,这种情况下,B的许可能够给A。

C.软件利用-如果为被安装在实例上、但从未使用(极少/极低利 用)的一个软件请求许可,则系统可以执行下面中的一个或更多:

1.停止/暂停实例上的过程。

2.卸载软件。

3.停止/暂停实例。

D.地理位置-如果用户处于许可条款已经变化的位置,则能够调 整许可。

E.数据中心位置-与地理位置类似,但是许可90可以根据安置基 础的云资源的数据中心而变化。

7.可选的,系统可以提供临时许可奖励。

A.许可过期-许可90在预测的停机时间以后过期(例如,在夜晚 仅5小时有效)。

B.运行时间许可-许可90是临时许可,并且当先前用户再次需要 许可时将被撤销。

8.可选的警告和授权系统可以被提供,以处理许可争议或可能需 要人工调整的情形。

9.系统可以持续监视并调整许可以及对应关联的定价。

现在参照图5,示例用户接口示出了具有下面示例性软件配置的 虚拟像100的属性。

●红帽企业linux

●WebSphere应用服务器

●(DB2是美国和/或其它国家的国际商务机器公司的商标)

●Tomcat

●WebSphere(WebSphere是美国和/或其它国家的 国际商务机器公司的商标)

假设与虚拟像100关联的组织具有下面许可:

●红帽企业Linux-500许可

●WebSphere应用服务器-100许可

●DB2-100许可

●Tomcat-无限许可

●WebSphere MQ-5许可

并非组织仅允许建立5个像的实例(例如,因为仅5个 WebSphere MQ许可被分配给组织),该组织可以实施以上教导以 活跃和动态地监视许可利用。例如,可使得组织运行100个活动实 例,但是仅这些实例中的5个实例可运行WebSphere MQ。类似 地,并非仅500个红帽企业Linux的实例在运行,本文所述的教导可 以许可任何期望数目的这些实例在运行。

现在参照图6,示出根据本发明的实施例的方法流程图。在步骤 S1,与网络化计算环境中的虚拟机器(VM)实例组的一组软件安装 的使用相关的数据被收集在计算机存储装置上。在步骤S2,从请求 者接收针对软件安装组的特定安装安装的许可的请求。在步骤S3, 确定该许可是否可用。如果可用,则在步骤S6分配该许可。如果不 是这样,则在步骤S4,基于所述数据和网络化计算环境的当前配置 确定是否可获得该许可(例如,从许可服务之外的易于获得该许可的 源)。如果不能,则在步骤S5向请求者发送通知。如果能够,则可 以在步骤S6中分配获得的许可。

尽管在本文中显示和描述为软件许可管理方案,但是应该明白本 发明还提供了各种替代实施例。例如,一个实施例中,本发明提供了 包括计算机程序码以使得计算机设施提供本文讨论的软件许可管理功 能的计算机可读/可用介质。在这个程度上,计算机可读/可用介质包 括实现本发明的各个过程的每一个的程序码。应明白的是,术语计算 机可读介质或计算机可用介质包括任何类型的程序码的物理实施例的 一种或多种。具体地,计算机可读/可用介质可以包括在一个或更多 便携式存储制品(例如,紧凑盘、磁盘、磁带等)上、诸如存储器 28(图1)和/或存储系统34(图1)的计算装置的一个或更多数据存 储部分(例如,安装盘、只读存储器、随机访问存储器、缓冲存储器 等)上实施的程序码。

在另一个实施例中,本发明提供了对订阅、广告和/或收费基准 执行本发明的过程的方法。即,服务提供商,例如方案整合者,可以 提供软件许可管理功能。这种情况下,服务提供商可以建立、保持、 支持例如为一个或更多用户执行本发明的过程的计算机系统12(图 1)的计算机设施。作为回报,服务提供商可以在订阅和/或收费协议 下从用户接收付款和/或服务提供商可以从向一个或更多第三方广告 销售内容中接收付款。

在另一个实施例中,本发明提供了用于软件许可管理的计算机实 施方法。这种情况下,能够提供例如计算机系统12(图1)的计算机 设施并且能够获得(例如,建立、购买、使用、修改等)执行本发明 的过程的一个或更多系统并且配置到计算机设施。在这种程度上,系 统的部署可以包括下面的一个或多个:(1)从计算机可读介质在例 如计算机系统12(图1)的计算装置上安装程序码;(2)将一个或 更多计算装置加到计算机设施;以及(3)合并和/或修改计算机设施 的一个或更多现有系统以使得计算机设施执行本发明的过程。

如本文所用,应该明白,术语“程序码”和“计算机程序码”是同义 的,并且是指意图使具有信息处理性能的计算装置直接、或者在下面 (a)转换成另一种语言、代码或符号和/或(b)以不同材料形式进 行再现的任一或二者步骤以后,执行特定功能的指令集的任何语言、 代码或符号的任何表达。在这种程度上,程序码可被实施为如下之一 或更多:应用/软件程序、组件软件/函数库、操作系统、用于特定计 算装置的基本装置系统/驱动器等。

在此之下可以提供适于存储和/或执行程序码的数据处理系统, 并且能够包括经由系统总线直接或间接与存储元件通信耦合的至少一 个处理器。存储元件可以包括但不限于在程序码的实际执行过程中采 用的本地存储器、海量存储器和提供至少一定程序码的临时存储从而 减少在执行过程中必须从海量存储器进行存取的次数的缓冲存储器。 输入/输出和/或其它外部装置(包括但不限于键盘、显示器、点击装 置等)可以直接或经由居间装置控制器耦合到系统。

网络适配器还可以耦合到系统以使得数据处理系统通过居间私有 或公共网络的任何组合耦合到其它数据处理系统、远程打印机、存储 装置等。示例网络适配器包括但不限于调制解调器、有线调制解调器 和以太网卡。

已经为说明和描述的目的呈递了本发明的各个方面的以上描述。 这并非是穷尽性的或者将本发明限制到公开的精确形式,显而易见, 许多变型和变动是可行的。本领域技术人员可以清楚的这些变型和变 动被包括在如由权利要求定义的本发明的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号