用于优化许可使用的方法和系统的制作方法

文档序号:6350062阅读:131来源:国知局
专利名称:用于优化许可使用的方法和系统的制作方法
技术领域
本发明涉及许可管理的领域,并且更具体地,涉及软件许可归属(attribution)。
背景技术
软件通常受到版权法的保护,并且对于其版权不属于用户财产的软件的任何使用是依赖于来自版权所有者的许可。此类许可通常对于软件可以被使用的方式施加约束,尤其是对可以同时在给定系统上使用软件的并发用户数量、可以在其上安装软件的机器数量等方面具有约束。实际上,通常需要对许可进行付费,并且在某些情况下,正在进行的支付可能需要依赖于使用软件的程度和特征。另外,在其中涉及超时使用导致特定许可不再满意地覆盖软件使用的某些情况下,可以获取备选许可项。一方面在企业环境中具有大量用户和机器,另一方面存在各种不同支付或者版税机制,特定许可与特定使用之间的关联变得越来越复杂。在此情况下,已知的是提供功能为监视软件使用的许可管理软件。在许可管理领域中的近期发明应用多种不同方法,以将软件安装或者使用与针对所讨论软件的最适当的多个有效许可相关联。这些方法的目的在于优化许可使用以便在不必过度采购(over-procure)的情况下保持与条款和条件相一致。W00805280A1公开了一种用于控制和计量在计算机上的软件产品使用的方法和相应装置。当对于相同产品可以获得多个许可时,提出了一种用于确定最佳许可的方法以便将许可的利用最大化。这种确定基于影响最佳可用许可选择的预定参数集合。许可存储在目录上,该目录具有指示产品使用约束的相关联参数列表。根据预定的参数优化标准来定购许可,从而当接收请求时,许可管理器可以容易地找到最佳许可,即,该许可适合于被请求的使用,具有最高使用约束。一个附加特征在于,根据一个或者多个层级来定购许可,每个层级是相对于根据预定优先级规则的其他层级而排序的。在两个许可具有类似特征的情况下,这种现有技术的方法应用一种简单方案、尝试在许可之间平均地分配使用会话(session)。全部这些方法的缺陷在于,选择是基于固定规则通过尝试做出最佳选择而驱动。 在实际情况下,软件使用可以在很大程度上不同于规则中假定的逻辑,而该方法可以做出导致不一致或者非优化许可使用的选择。

发明内容
根据本发明,提供了 一种根据所附独立权利要求1的、在多个许可的情况下用于归属权利时隙的方法,根据所附权利要求10的计算机程序,根据所附权利要求11的计算机可读介质,以及根据所附权利要求12的系统。在从属权利要求中定义了优选实施方式。基于研究附图和详细描述,本发明的进一步优势对于本领域技术人员将变得清晰。期望的是,在此可以结合任何附加优势。


现在将参考附图借助于示例方式描述本发明的实施方式,在附图中相同的参考表示相似的元件,并且在附图中图1是本发明第一优选实施方式的方法步骤的示意性表示;图2是本发明第二优选实施方式的方法步骤的示意性表示;图3示出了特定实施方式的功能元件的示意性框图;以及图4示出了适用于实现特定实施方式的计算机环境。
具体实施例方式参考上文,期望提供一种针对给定动作实例(诸如,运行一个软件的实例)来动态选择最佳适用许可的方法,以便当应用开始时可以向应用分配那时的最佳许可。在应用的生命期期间,最佳许可可以改变或者所使用的许可可能不再适用。下文是某些示例-在应用开始时所使用的许可在特定时间被释放,因而该许可变为最佳可用许可;-原始许可不再被使用,因为该许可以某种方式被改变,例如向该许可添加附加约束,因而其不再适合于正在其上运行应用的操作系统;-硬件配置或者管理层级中的某些变化,例如a.主控应用的OS被从一个部门移动至另一个,因而使得原始许可不再适用或者使得另一许可成为最佳可用许可;b.其中应用运行的主控OS的硬件(HW)被升级(在不停止应用的情况下),因而使得许可不再适合。存在对于如下内容的改变的简单示例许可属性、硬件(即,资源)属性、组织属性 (例如,群组属性)或者在这些实体中任意项之间的链路的属性。这些改变可以意味着另一许可变为最佳许可。在下文中借助于示例,在完整许可解译系统的上下文中描述本发明的实施方式, 然而应当理解,本发明可以在更简单的环境或者不同环境中等效地实施,或者作为完整的单独方案实施。通常,组织被划分为表示企业的地理或者组织形式划分的层级。在这些层级的不同水平上,可能需要或者分配许可。出于此原因,当确定哪个许可是分配软件实例的最佳许可时,优选地考虑这些层级。借助于示例方式,许可解译系统可以接受如下输入基于层级的许可组织的抽象 一个层级可以是地理层级(大陆、区域、州、城市…),而另一层级可以是组织层级(研发实验室、代码研发团队、Java研发部门…)。定义分组层级的集合(其中每个分组是上述枚举的样本实体)。每个层级具有其自身的标识符,该标识符有可能区别作为每个层级的部分的分组。层级中的分组可以具有相同层级中的父亲,并且可以(作为孩子)在任意时间点被链接至其他层级中的最多一个组。层级标识符生成层级的分级一个层级中的分组(作为孩子)可以仅关联于较高分级的层级的分组。另一层级包含虚拟层每个节点是此类层级的根,其孩子可以是共享的池、逻辑划分(LPAR)、vm、操作系统和容器(如由IBM WebSphere 所提供)。这种层级中的每个成员都是资源。资源被链接至其父亲资源(根作为节点)并且还可以被链接至每个分组层级的最多一个分组。资源可以具有一个父亲,并且可以在任意给定时间点被链接至每个层级的一个分组,这意味着在两个不同的时间,其可以具有两个不同资源父亲或者被链接至相同层级中的分组。资源、分组或者资源和分组之间的每个链接利用有效性时间间隔标记,其意味着在给定时间段期间例如部门许可管理器是研发实验室的部分、并且在进一步的时间段期间例如已经被移至研究实验室。或者,操作系统已经在机器A上驻留了给定时段,并且例如出于升级而已经被移至机器B。每个资源或者分组可以与特定属性相关联。属性依赖于许可系统用以获取关于每个实体的有用数据的能力例如,节点的处理器的数量、操作系统的存储器的量、部门中雇员的数量。采集这些属性是由于定价模块可以潜在地需要它们以计算已经使用了多少许可 (例如,特定许可需要在虚拟层级的每个水平上的容量信息以计算软件使用)。算法的另一输入是对于许可系统已知的用户集合。这些用户可以是安装或者执行软件的用户,并且还可以用于将许可消费仅限制于企业雇员的子集。每个用户可以利用附加属性来标记,该附加属性描述许可系统能够获取的用户的任何归属、以及哪些对于某些定价模块在许可计算中是有用的。另一输入是许可集合,每个许可与由许可系统支持的一个定价模块相关联。每个许可可以潜在地被划分为多个分布,即,许可权利的划分,每个与允许使用许可的不同主题相关联。每个分布具有允许使用此分布(它们作为分组或者资源)的目标集合,并且针对这些目标中的每一个来提供一个或者多个关联有效性间隔,其意味着仅允许目标在这些时间间隔中使用许可。另外,每个分布可以与全部用户或者用户的子集相关联,由此限制可以使用该分布的用户。另外,这些关联中的每个与详细描述关联有效性的一个或者多个时间间隔相争议。可以想象许可形式中的不计其数的变化,例如-可用于研发实验室中任何雇员的许可(目标是表示研发实验室的分组,而不存在用户限制);-可用于意大利内的任何雇员的许可(目标是表示地理位置意大利的分组。不存在用户限制);-仅在特定硬件系统(诸如特定PC)上可用的许可。目标是表示特定硬件的资源, 而不存在用户限制;-仅由指明用户可用的许可。目标是整个企业但是存在用户限制,仅将许可与一个用户关联。每个许可和分布具有相关属性,该相关属性是当定义许可和分布时由用户输入并且由关联于许可的定价模块所需的值、以用于计算许可使用和一致性。这些示例是应用在其上执行的处理器的数量、或者针对许可(诸如层许可)的多个数量,其中每个数量是用于不同的硬件层等。为确保对许可的使用的良好关联,许可系统支持非消费许可的概念如果用户需要独立于软件使用量而为许可支付相同额度,则许可(或者定价模块)可以被标示为“非消费型”。例如,针对特定研发组使用的给定产品的站点许可可以是非消费许可的良好示例 当获得许可时实验室为许可付费,并且一旦支付则可以在无需支付额外费用、并且在没有过度使用许可危险的情况下,每当需要时使用该产品。如果此类许可针对产品可用则其必须被认为是优选许可,这是因为可以在没有过度使用风险或者无需支付额外费用(诸如, 在每次使用许可时付费)的情况下,将使用与该许可相关联。此实施方式的许可解译系统执行以下步骤1至6 1.导航资源和分组层级,从源起软件使用的资源开始,在每个时间间隔提取关联于生成消费会话的产品以及从该资源可达的许可分布的集合,即,对此的软件示例可以是必须关联使用时隙。资源层级是第一个将被访问的。每个资源的父亲在资源自身之后被访问。在多个父亲的情况下,它们可以按时间顺序被访问(然而,这对于算法校正而言并非严格需要)。 在访问资源的同时,算法采集从每个资源可达的分组的列表。在完成资源层级的访问之后, 算法移至分组层级,从具有较低分级(即,最高id)的层级开始。在访问期间,总是维护可达时间间隔。2.基于用户限制来选择每个许可的有效性时间。如果许可(或者分布)不具有用户限制,则该许可可以在任意时间与消费会话相关联。否则许可(或者分布)不能在消费会话用户没有与许可(或分布)相关联的时段内被关联。此步骤也可以在步骤1之前执行,这是因为两者是独立的。3.对于可以与消费会话相关联的全部许可(或者分布),询问定价模块是否可以真正分配会话以及在什么时间间隔内分配。存在向将被关联的消费会话施加附加约束的多个定价模块,诸如仅当指定的第二产品也被安装在机器上时允许消费会话与许可(或者分布)相关联、否则不能使用许可的定价模块。因而,仅当在机器上还安装了所引用产品的时间间隔期间,关联才有可能。4. 一旦算法获得了将消费会话与相关时间间隔相关联的许可的列表,则算法优选非消费许可。5.如果没有找到有效许可,则算法基于目标约束搜索标记为“默认”并且针对到达能力在时间间隔从全部层级的根可达的许可(或者分布)。与源起消费会话的产品相关联的最近的许可(或者分布)被认为是用于关联的第一个有效许可。6.如果(因为许可中的两个被关联于相同的资源或者分组)对于给定时间间隔获得两个以上的许可(或者分布),则算法对于使用许可(或者分布)而言更优选安装许可。应当注意,用于自动解译、选择和应用许可项的其他方法对于普通技术人员是易见的,并且这些方法与所附权利要求书中定义的本发明同样地相一致。由此,所描述的许可管理系统旨在无需针对每个许可考虑期望消费的情况下在许可之间平均地分配使用会话。然而,本发明基于如下实现许可管理系统已经具有包含软件目录和使用信息的数据库。数据可以追溯至数月前、甚至数年前。最近的历史数据是典型使用模式的良好指示符,并且可以假定在任意特定日的软件使用可能会匹配于在过去一周、两周或者任意其他适当近期时段内观察到的模式。许可管理系统使用关于在组织的各种分支中通常使用多少软件实例、以及适用于任何特定软件的许可的软件使用的形式的知识,以便能够以优化方式在许可之间分布当前使用,针对每个使用选择最适合的许可以便优化最为“方便”的许可的使用并确保没有许可出现不兼容。由此,如果存在两个安装或者使用许可(或者分布),或者实际上有必要在任意其他上下文中在两个许可之间进行选择,则算法使用历史使用数据来理解哪个是用以使用的最佳许可。逻辑是基于从系统随着时间而累积的数据获得的统计指示符。由此,提供一种方法用于在特定时间帧期间、在多个软件许可潜在地向所述软件的实例提供对于所述特定软件提供权限的情况下,归属权利时隙,其中每个所述许可具有定义可以用于在所述时间帧期间可以被归属于所述许可的最大数量时隙的权利值(E),所述方法包括步骤从记录的许可归属信息确定许可使用签名;接收实例尚未归属于许可的通知;以及按照所述许可使用签名的函数,将新的实例归属于所述许可之一。优选地,模型表示典型许可使用模式,以及其中所述归属步骤包括将所述新的实例归属于最为方便的所述许可同时确保与其条款的一致性。时间帧可以是一个或者多个小时、天、周等,或者是在所讨论许可中定义的任何其他时段。如果期望,则时间帧可以是在许可中定义的时段的片段。时隙可以按需在时间帧之间分布,并且未使用的时间帧被移至相同许可时段内的稍后时间帧。时间帧可以选择为适于相同软件的各个许可的时段的最小公分母(commondenominator)。出于以下示例的目的,假定存在从功能点角度覆盖相同软件的多个许可。这些许可中的每个许可定义可以在给定日中消费的使用时隙E (权利)的数量,其中每个使用时隙对应于在单处理器上执行一次软件,即,一个软件实例。其中相同软件在多处理器系统上运行一次,消费的时隙数量可以乘以该系统中的处理器的数量。即,由特定实例消费的时隙数量可以依赖于在其上执行该实例的处理器的数量。特定许可可能需要仅在给定日第一次执行时消费时隙,而归属于相同许可的任何后续执行只是落入相同时隙。自然地,可以想到符合这些思路的多种变形和置换。可以考虑如下值dC=对于给定许可,在特定日消费的时隙总数,如从历史使用数据中确定的那些。dN =对于给定许可,归属于在特定日的许可的计费软件实例的数量。计费软件实例是产生至少一个时隙的消费的实例。dL =对于给定许可,归属于在特定日的许可的软件实例的数量。此值考虑全部归属的实例、它们是否产生时隙消费。应当注意,对于给定许可,dN将总是小于或等于dL。d-2 日
权利要求
1.一种在特定时间帧期间在多个许可潜在地向应用实例的特定软件应用使用提供权利的情况下的、用于归属权利时隙的方法,其中每个所述许可具有权利值(E),所述权利值用于定义在所述时间帧期间可以被归属于所述许可的时隙的最大数量,以及其中任何给定实例可以消费在0至无限之间数量的所述时隙,所述方法包括以下步骤从所记录许可归属信息确定许可使用签名; 接收实例尚未被归属于许可的通知;以及按照所述许可使用签名的函数将所述新的实例归属于所述许可中的一个。
2.根据权利要求1所述的方法,其中所述签名表示典型许可使用模式,以及其中所述归属步骤包括将所述新的实例归属于最方便的所述许可,同时确保与所述许可的条款相一致。
3.根据权利要求1或2所述的方法,其中确定许可使用签名的所述步骤包括以下步骤从所记录许可归属信息确定针对每个所述许可的、任意实例根据所述许可将应支付的概率(C);以及从所记录许可归属信息确定针对每个所述许可的每实例所消耗时隙的平均数量(S);以及其中所述归属步骤包括以下步骤将所述新的实例归属于如下许可,所述许可具有任意实例根据所述许可将应支付的最低概率(C),以及其中针对所述许可的新的实例根据所述许可将应支付的所述概率(C)乘以针对所述许可的每实例所消耗的时隙的所述平均数量( 乘以在本时隙期间已经归属于所述许可的实例数量的数量,小于针对所述许可的所述权利值。
4.根据权利要求3所述的方法,其中针对每个所述许可的、任意实例根据所述许可将应支付的所述概率(C)计算为跨越在所述历史记录中包括的每个时间帧上消耗的时隙数量(dC)、以及时隙归属于相同时间帧中的实例的数量(dN)之间的比率的所述历史记录中的全部时间帧的平均。
5.根据权利要求3或4所述的方法,其中每实例所消耗时隙的所述平均数量( 优选地计算为,跨越时隙归属于每个时间帧的实例的数量(dN)和在所述相同时间帧中具有所述许可的实例总数(dN)之间比率的所述历史记录中全部时间帧的平均。
6.根据权利要求3、4或者5所述的方法,其中相应权利值(E)乘以预定义的保护阈值 (P),从而所述权利值(E)变得小于由每个许可定义的严格最大值。
7.根据前述权利要求中任一项所述的方法,其中所述时间帧是一天。
8.根据前述权利要求中任一项所述的方法,其中所述通知由在其上运行所述应用的操作系统生成。
9.根据前述权利要求中任一项所述的方法,其中由特定实例消费的时隙的数量依赖于在其上执行所述实例的处理器的数量。
10.一种包括指令的计算机程序,当所述计算机程序在计算机上执行时,执行根据权利要求1至9中任一项所述方法的步骤。
11.一种其上编码有根据权利要求10的计算机程序的计算机可读介质。
12.一种包括适用于执行根据权利要求1至9中任一项所述方法的步骤的装置的系统。
全文摘要
对于存在对提供各种不同条款和约束的软件许可的选择的环境,描述了一种基于历史使用模式来选择优选许可的方法。优选地,新的实例被归属于这样的许可,该许可具有任意实例根据该许可将应支付的最低概率(C),并且其中针对该许可的新的实例根据该许可将应支付的概率(C)乘以针对该许可的每实例所消耗实例的平均数量(S)乘以在本时间帧期间归属于该许可的实例数量的数量,小于针对该许可的权利值。
文档编号G06Q10/00GK102473252SQ201080034590
公开日2012年5月23日 申请日期2010年7月16日 优先权日2009年8月6日
发明者A·佩龙, B·帕斯托雷利, S·麦克莱伦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1