CN103793220A - 使用元模型对软件许可进行建模的方法和装置 - Google Patents
使用元模型对软件许可进行建模的方法和装置 Download PDFInfo
- Publication number
- CN103793220A CN103793220A CN201310503059.8A CN201310503059A CN103793220A CN 103793220 A CN103793220 A CN 103793220A CN 201310503059 A CN201310503059 A CN 201310503059A CN 103793220 A CN103793220 A CN 103793220A
- Authority
- CN
- China
- Prior art keywords
- license
- tolerance
- software
- definition
- software license
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000006870 function Effects 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 60
- 238000004458 analytical method Methods 0.000 claims description 33
- 230000008676 import Effects 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 230000008520 organization Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 41
- 238000005516 engineering process Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 14
- 238000006116 polymerization reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种使用元模型对软件许可进行建模的方法和装置。提供了用于生成许可元模型以实现自动许可推断的技术、系统和制品。一种方法包括:创建面向对象的信息模型以便描述对应于软件许可部署的硬件基础架构、软件部署环境和组织结构;创建一组属性函数以便形成与所述硬件基础架构、一个或多个用户和所述组织结构相关的一个或多个信息项;通过定义利用至少一个现有属性函数和/或至少一个所创建的属性函数的许可度量容量单位和许可度量容量计算逻辑,创建一组许可度量;以及利用所述许可度量对所述软件许可进行建模。
Description
技术领域
本发明的实施例一般地涉及信息技术(IT),更具体地说,涉及许可管理。
背景技术
目前,使用纯文本以人类可读格式定义软件许可。例如,当前许可管理系统使用关键字标识许可度量并且缺少正式的语义描述以便推断许可能力。此类情况将产生潜在错误,因为需要许多手动工作。
通常,软件许可包括许可度量集合。此外,许可度量包含丰富的信息,包括用于容量单位和容量计算的表达公式和/或规则。此外,可以根据多个基本许可度量定义高级许可度量。因此,为了实现自动推断(包括但不限于软件许可要求计算、软件许可比较、在不同许可管理工具之间导入/导出软件许可定义等),需要一种定义明确的元模型(即,语言)来指定软件许可,以便提供能够处理复杂软件许可的自动化许可推断。
发明内容
在本发明的一个方面,提供用于根据许可元模式生成许可模型以实现自动许可推断的技术。一种用于使用元模型对软件许可进行建模的示例性计算机实现的方法可以包括以下步骤:创建面向对象的信息模型以便描述对应于软件许可部署的硬件基础架构、软件部署环境和组织结构;创建一组属性函数以便形成与所述硬件基础架构、一个或多个用户和所述组织结构相关的一个或多个信息项;通过定义利用至少一个现有属性函数和/或至少一个所创建的属性函数的许可度量容量单位和许可度量容量计算逻辑,创建一组许可度量;以及利用所述许可度量对所述软件许可进行建模。
本发明的另一个方面或其元素可以以制品的形式实现,所述制品有形地包含计算机可读指令,当实施所述计算机可读指令时,导致计算机执行在此描述的多个方法步骤。此外,本发明的另一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并可操作以便执行所述方法步骤。此外,本发明的另一个方面或其元素可以以构件的形式实现以便执行在此描述的方法步骤或其元素;所述构件可以包括硬件模块(多个)或硬件和软件模块的组合,其中所述软件模块存储在有形的计算机可读存储介质(或多个此类介质)中。
从以下将结合附图阅读的对本发明的示例性实施例的详细描述,本发明的这些和其它目标、特性以及优点将变得显而易见。
附图说明
图1是示出本发明的一个实例实施例的框图;
图2是示出根据本发明的一个实施例的用于定义许可度量的技术的流程图;
图3是示出根据本发明的一个实施例的用于创建新软件许可的技术的流程图;
图4是示出根据本发明的一个实施例的用于导入其它格式的许可度量定义的技术的流程图;
图5是示出根据本发明的一个实施例的用于导入其它格式的软件许可定义的技术的流程图;
图6是示出根据本发明的一个实施例的支持许可管理系统之间的互操作的示意图;
图7A和图7B是示出根据本发明的一个实施例的支持许可度量分析的示意图;
图8A和图8B是示出根据本发明的一个实施例的支持许可度量比较的示意图;
图9是示出根据本发明的一个实施例的支持许可要求计算的示意图;
图10是示出根据本发明的一个实施例的用于返回许可要求的技术的流程图;
图11是示出根据本发明的一个实施例的用于使用元模型对软件许可进行建模的技术的流程图;以及
图12是其中可以实现本发明的至少一个实施例的示例性计算机系统的系统图。
具体实施方式
如在此描述的,本发明的一个方面包括一种能够生成许可模型以实现自动许可推断的许可元模型。许可元模型提供一种实现软件许可的语义描述的形式语言。当使用元模型定义软件许可时,不仅人类可读取软件许可,而且机器(即,计算机系统)也可理解软件许可,这进一步实现自动许可推断。
如上所述,通常,软件许可通过许可度量集合定义。此外,许可度量包括许可容量单位定义和许可容量计算逻辑,其中这两个组件可以通过表达式和/或规则定义。表达式和规则均使用软件/硬件部署和组织信息来定义。此外,可以根据现有许可度量集合定义新许可度量。
通过理解定义软件许可需要的信息,可以创建元模型以便于确定软件许可的形式定义。在本发明的至少一个实施例中,元模型包括多个组件层,即,IT环境元模型、属性函数元模型、许可容量单位元模型、许可容量计算元模型、许可度量元模型和软件许可模型。
在此类实施例中,使用可扩展标记语言(XML)模式(schema)实现软件许可元模型。在XML模式中,软件许可类型定义为:
软件许可包含一组LicenseMetric,其进一步通过LicenseMetricType定义为:
许可度量包括MetricIndenfication、MetricDefinition集合或LicenseMetricReference。MetricIndenfication包含诸如度量名称或供应商之类的信息以便标识许可度量。LienseMetricReference引用另一个许可度量。此外,MetricDefinition进一步通过MetricDefintionType定义:
MetricDefinitionType包括defaultScope、一组LicenseCapacityUnit和LicenseCapacityCalculation。defaultScope通过使用布尔属性postAggregation扩展MetricScopeType来定义,如下所示:
MetricScopeType进一步定义为:
应该注意,MetricScope可以具有一个或没有父MetricScope,并且包括属性scopeType、scopeID、scopeName和scopeExpression。还应该注意,默认范围定义LicenseCapacityUnit和LicenseCapacityCalculation所应用的计算逻辑的范围。当计算的软件许可要求范围(即,请求范围)大于默认范围时,并且当postAggregation为真时,则将LicenseCapacityUnit和LicenseCapacityCalculation应用于所有的个体范围(以默认范围类型),并且将结果线性聚合为请求范围。如果postAggregation为假,则将LicenseCapacityUnit和LicenseCapacityCalculation应用于请求范围。
LicenseCapacityUnit和LicenseCapacityCalculation均通过PropertyFunctionType定义,PropertyFunctionType进一步定义为:
PropertyFunctionType可以是FormulaBasedFunctionType、TableBasedFunctionType、ExternalFunctionType或FunctionReference。FormulaBasedFunctionType定义为:
FormulaBasedFunctionType使用表达式的属性扩展FunctionType的定义。FunctionType定义为:
FunctionType包括标识函数的属性functionID、表示函数名称的属性名称、指示函数的输出是否是数值的属性isNumerical、指示函数的输出是否是向量的属性isScalar,以及指示函数的输出是否是固定值的属性isFixedValue。TableBasedFunctionType扩展FunctionType,并且包括列集合和行集合,定义如下所示:
列通过ColumnType定义,ColumnType进一步定义为:
行通过RowType定义,RowType进一步定义为:
RowType包括条件集合和结果集合。根据具有columnName的ConditionType定义条件,其中ConditionType进一步定义为:
ConditionType可以是PointCondition、EnumerationCondition或RangeCondition。PointCondition是ValueType,ValueType定义为:
EnumerationCondition定义为一组ValueType,如下所示:
<xs:complexType name="EnumerationConditionType">
RangeCondtion通过LowerBound和UpperBound定义,如下所示:<xs:complexType name="EnumerationConditionType">
ExternalFunction通过ExternalFunctionType定义,ExternalFunctionType进一步定义为:
ExternalFunctionType允许外部函数(例如REST函数)、Web服务等的规范。在FormulaBasedFunction和ScopeDefinition的定义中具有表达式,表达式的语法在JavaCC中定义为:
语法定义中的SCALAR_ENTITY指IT环境中定义的对象,其可以由IT环境元模型定义为以下XML模式:
ITEntityType进一步定义为:
在定义中,SCALAR_ENTITY可以引用属性entityName,并且属性tableName指示保存实体的表。具有通过ITEntityAttributeType定义的属性集合,ITEntityAttributeType进一步定义为:
ITEntityAttributeType具有多个属性,包括attributeName(属性名称)、attributeType(属性的数据类型)、isID(属性是否是实体的ID)和isArray(属性是否是数组)。ITEntityAttributeType可以包括指向表的列名称的AttributeMapping,或者指定ForeignTableName、PrimaryKey和ForeignKey的AttributeLookup。在AttributeLookup的情况下,属性本身是对象。
当使用上面的许可元模型正式定义许可度量和软件许可时,可以实现自动许可推断。自动许可推断包括但不限于自动许可要求计算、许可度量分析和比较。
图1是示出本发明的一个实例实施例的框图。使用以XML模式定义的许可元模型112,可以创建许可度量编辑器模块104和许可度量加载器模块118。许可度量编辑器模块104可以创建新软件许可定义106和新许可度量定义108。例如,使用软件许可加载器模块118,用户102可以将其它格式的软件许可定义114和许可度量定义116转换成XML的软件许可定义120和许可度量定义122,从而符合以XML模式定义的建议的许可元模型112。软件许可定义(106和120)和许可度量定义(108和122)均保存在软件许可库110中。
图2是示出根据本发明的一个实施例的定义许可度量的流程图。所述过程在步骤202开始,并继续到步骤204,其包括定义IT实体。步骤206包括定义属性函数,并且步骤208包括定义许可容量单位。步骤210包括定义许可容量计算,步骤212包括定义许可度量,并且所述过程在步骤214结束。
图3是示出根据本发明的一个实施例的创建新软件许可的流程图。类似于图2中所示的流程,所述过程在步骤302开始,并且继续到步骤304,其包括定义IT实体。步骤306包括定义属性函数,并且步骤308包括定义许可容量单位。步骤310包括定义许可容量计算,并且步骤312包括定义许可度量。此外,步骤314包括定义软件许可,并且所述过程在步骤316结束。
图4是示出根据本发明的一个实施例的用于导入其它格式的许可度量定义的技术的流程图。所述过程在步骤402开始,并且继续到步骤404,其包括读取采用多种格式之一的软件许可定义。步骤406包括根据导入的信息生成IT实体。步骤408包括根据导入的信息生成属性函数,并且步骤410包括根据导入的信息生成许可容量单位。同样,步骤412包括根据导入的信息生成许可容量计算,步骤414包括根据导入的信息生成许可度量,并且所述过程在步骤416结束。
图5是示出根据本发明的一个实施例的用于导入其它格式的软件许可定义的技术的流程图。类似于图4中所示的流程,所述过程在步骤502开始,并且继续到步骤504,其包括读取采用多种格式之一的软件许可定义。步骤506包括根据导入的信息生成IT实体。步骤508包括根据导入的信息生成属性函数,并且步骤510包括根据导入的信息生成许可容量单位。步骤512包括根据导入的信息生成许可容量计算,并且步骤514包括根据导入的信息生成许可度量。此外,步骤516包括根据导入的信息生成软件许可,并且所述过程在步骤518结束。
根据本发明的至少一个实施例,并且另外如在此描述的,自动许可推断的一个实例可以是许可要求计算,其对于给定软件、许可度量类型和软件部署范围,回答软件许可要求(元组,包括许可容量单位、许可容量)的问题。例如,假设在具有4个CPU的服务器上部署软件(例如,WebsphereApplication Server),并且使用软件许可度量NumberOfCPU(即,将许可计算为部署的主机中的CPU数量)计算许可要求,则软件许可计算使用软件许可度量NumberOfCPU的定义,访问有关部署WebsphereApplication Server的主机的CPU数量的信息,并且返回<4,CPU>作为许可要求的结果。
许可要求计算可以包括以下步骤。从软件资产管理器接收许可要求计算请求(software_ID、metric_type、req_scope、scope_ID)时,其中software_ID指示软件类型,metric_type是许可度量名称,req_scope表示软件部署范围(其可以是虚拟机、物理服务器、集群、数据中心等),检索许可度量metric_type。
此外,检索度量定义中的default_scope,并判定req_scope是否等于default_scope。如果req_scope等于default_scope,则计算许可容量单位和许可容量,并且生成结果元组<许可容量、许可容量单位>并将其返回到请求者。如果req_scope不等于default_scope,则另外判定req_scope是否小于min_scope。如果req_scope小于min_scope,则生成和返回请求错误。如果req_scope不小于min_scope,则检索req_scope中的所有default_scope实例,并且判定postAggregation是否为真。如果postAggregation不为真,则线性聚合所有实例,计算许可容量单位和许可容量,并且生成和返回结果。
如果postAggregation为真,则判定容量单位是否是固定值(即,字符串)。如果容量单位不是固定值,则在default_scope中的每个实例中计算许可容量单位和容量单位,线性聚合所有计算结果,并且生成和返回结果。如果容量单位是固定值,则在default_scope中的每个实例中计算许可容量,线性聚合所有计算结果,计算许可容量单位,并且生成和返回结果。
结合本发明的至少一个实施例,用于容量单位的基于公式的函数和/或用于容量计算的基于公式的函数可以考虑多个变量和/或参数。此类参数可以包括用户、存储器(例如,以兆字节(MB)为单位)、处理器数量、磁盘(例如,以千兆字节(GB)为单位)、值单位、节点、并发用户、服务器、桌面、站点、虚拟阵列、管理点、扫描的网际协议(IP)地址数量、扫描次数、连接器、客户端许可、每用户客户端访问许可(CAL)、每设备CAL、物理中央处理单元(CPU)、产品管理的处理器、每应用实例、每建立授权、其它处理器、每电话端口用户、每邮箱用户、逻辑分区(LPAR)数量、处理器芯片数量等。
此外,如在此描述的,软件许可元模型的使用包括支持多个软件许可管理系统之间的软件许可度量信息互操作。本发明的至少一个实施例可以包括导出和/或导入XML格式的许可度量信息(其中XML模式通过软件许可元模型定义)以用于许可信息交换。软件许可元模型的使用还包括支持软件许可度量分析。例如,本发明的至少一个实施例包括导出XML格式的许可度量信息,其中XML文档提供允许进一步分析(例如许可成本的根本原因分析)的标准形成。
图6是示出根据本发明的一个实施例的支持许可管理系统之间的互操作的示意图。举例来说,图6示出系统许可管理系统A的实例步骤序列和系统许可管理系统B的实例步骤序列。即,针对系统许可管理系统A,所述序列在步骤602开始,并且步骤604包括使用许可度量编辑器组件创建新许可度量定义。步骤606包括导出许可度量定义,并且所述序列在步骤608结束。
针对系统许可管理系统B,所述序列在步骤610开始,并且步骤612包括接收许可度量定义(例如,从软件许可管理系统A接收在步骤606导出的许可度量定义)。步骤614包括导入许可度量定义,并且所述序列在步骤616结束。
图7A和图7B是示出根据本发明的一个实施例的支持许可度量分析的示意图。图7A示出用户702向许可度量分析器组件706发出许可度量分析请求704。许可度量分析器组件706从度量库708获得许可度量定义710,并且向用户702返回分析报告712。
同样,如图7B中所示,所述过程在步骤752开始。步骤754包括用户向许可度量分析器发送许可度量分析请求。步骤756包括许可度量分析器从度量库检索许可度量定义。步骤758包括许可度量分析器针对度量容量单位表达式和度量容量表达式的输入参数执行分析。步骤760包括许可度量分析器针对度量容量单位表达式和度量容量表达式的数据源执行分析。此外,步骤762包括许可度量分析器向用户返回分析报告,并且所述过程在步骤764结束。
图8A和图8B是示出根据本发明的一个实施例的支持许可度量比较的示意图。图8A示出用户702向许可度量分析器组件706发出许可度量比较请求804。许可度量分析器组件706从度量库708获得许可度量定义710,并且向用户702返回分析报告812。
同样,如图8B中所示,所述流程图在步骤852开始。步骤854包括用户向许可度量分析器发送许可度量比较请求。步骤856包括许可度量分析器从度量库检索许可度量定义。步骤858包括许可度量分析器针对两个许可度量的度量容量单位表达式和度量容量表达式的输入参数执行比较。步骤860包括许可度量分析器针对两个许可度量的度量容量单位表达式和度量容量表达式的数据源执行分析。此外,步骤862包括许可度量分析器向用户返回比较报告,并且所述过程在步骤864结束。
图9是示出根据本发明的一个实施例的支持许可要求计算的流程图。所述流程在步骤902开始,并且步骤904包括采用许可度量编辑器创建新许可度量定义。步骤906包括将许可度量定义部署到要求计算引擎/组件(例如在此详述的)。步骤908包括接收许可要求计算请求,步骤910包括返回许可要求,并且所述流程在步骤912结束。
图10是示出根据本发明的一个实施例的用于返回许可要求的技术的流程图。所述过程在步骤1002开始,并且继续到步骤1004,其包括接收许可要求计算请求。步骤1006包括检索许可度量metric_type,并且步骤1008包括判定req_scope是否等于default_scope。如果是(即,req_scope等于default_scope),则所述过程继续到步骤1010,其包括计算许可容量单位。此外,步骤1012包括计算许可容量,步骤1014包括返回结果,并且所述过程在步骤1016结束。
如果在步骤1008,req_scope不等于default_scope,则所述过程继续到步骤1018,其包括判定req_scope是否小于min_scope。如果否(即,req_scope大于min_scope),则所述过程继续到步骤1020,其包括线性地聚合所有实例。此外,步骤1022包括计算许可容量单位,步骤1024包括计算许可容量,步骤1026包括返回结果,并且所述过程在步骤1028结束。如果在步骤1018,req_scope小于min_scope,则在步骤1030返回错误请求,并且所述过程在步骤1032结束。
图11是示出根据本发明的一个实施例的用于使用元模型对软件许可进行建模的技术的流程图。步骤1102包括创建面向对象的信息模型以便描述对应于软件许可部署的硬件基础架构、软件部署环境和组织结构。创建面向对象的信息模型包括标识实体类集合,实体类描述对应于软件许可的硬件基础架构和软件部署环境。此外,创建面向对象的信息模型包括标识数据源以便检索IT环境信息,并且标识使用软件许可的组织集合。
步骤1104包括创建一组属性函数以便形成与硬件基础架构、一个或多个用户和组织结构相关的一个或多个信息项。如在此描述的,属性函数用于定义许可容量单位和/或许可容量计算。此外,创建一组属性函数可以包括标识定义软件许可的一个或多个属性函数的模式集合。属性函数可以包括基于公式的函数、基于表的函数、具有输入和输出规范的通用函数和/或对另一个函数的引用。
步骤1106包括通过定义利用至少一个现有属性函数和/或至少一个所创建的属性函数的许可度量容量单位和许可度量容量计算逻辑,创建一组许可度量。创建一组许可度量可以包括生成按名称、按许可容量单位和/或许可容量计算逻辑定义许可度量的模式。此外,创建一组许可度量可以包括生成使用基于公式的函数、基于表的函数和/或具有输入和输出规范的通用函数,基于现有许可度量而定义新许可度量的模式。
步骤1108包括利用许可度量对软件许可进行建模。此外,图11中所示的技术另外可以包括在多个软件许可管理系统之间实现互操作。这例如可以包括对软件许可度量进行建模以便生成与一组许可度量一致的对应许可度量定义,以正式定义的(例如,XML)格式导出对应许可度量定义,并且以正式定义的(例如,XML)格式从单独的软件许可管理系统导入许可度量定义。
此外,图11中所示的技术还可以包括对软件许可的一个或多个许可度量执行模型分析。这例如可以包括针对正式定义的软件许可的一个或多个许可度量执行模型分析。
还如在此详述的,本发明的至少一个实施例包括自动推断软件许可度量。此类实施例包括提供软件许可模型编辑器以便使用软件许可元模型创建软件许可度量定义和/或提供软件许可加载器以便以多种格式之一导入软件许可度量定义,从而使用软件许可元模型创建软件许可度量定义,其中软件许可度量定义指定软件许可度量、容量单位和容量计算的标识。此外,此类实施例包括部署软件许可度量定义,并且接收对所部署软件的许可要求计算请求并返回对所部署软件的实际许可要求。此外,此类实施例包括接收对软件许可的软件许可度量分析请求,并且返回用于许可容量单位和许可容量计算的一个或多个表达式、许可容量单位的默认范围、用于许可容量单位和/或许可容量计算的表达式的一个或多个输入参数。此外,此类实施例包括接收对两个或更多软件许可度量定义的软件许可度量比较请求,并且返回对应于两个或更多软件许可度量定义的默认范围之间的区别、容量单位和/或容量计算中的一个或多个表达式以及表达式的一个或多个输入参数。
此外,如在此另外详述的,本发明的至少一个实施例包括在两个软件许可管理系统之间实现互操作。此类实施例包括提供软件许可模型编辑器以便使用软件许可元模型创建软件许可度量定义,以与软件许可元模型一致的格式导出软件许可度量定义,以与软件许可元模型一致的格式导入软件许可度量定义以及部署软件许可度量定义。
如在此描述的,图11中所示的技术还可以包括提供一种系统,其中所述系统包括不同的软件模块,每个不同软件模块包含在有形的计算机可读可记录存储介质中。例如,所有模块(或其任何子集)可以在同一介质中,或者每个模块可以在不同介质中。模块可以包括附图中示出和/或在此描述的任何或全部组件。在本发明的一个方面,模块例如可以在硬件处理器上运行。然后可以使用所述系统的不同软件模块(如上所述,在硬件处理器上执行)执行所述方法步骤。此外,计算机程序产品可以包括有形的计算机可读可记录存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同的软件模块。
此外,图11中所示的技术能够通过可以包括计算机可用程序代码的计算机程序产品来实现,计算机可用程序代码存储在数据处理系统内的计算机可读存储介质中,并且其中计算机可用程序代码通过网络从远程数据处理系统下载。此外,在本发明的一个方面,计算机程序产品可以包括存储在服务器数据处理系统内的计算机可读存储介质中的计算机可用程序代码,并且其中计算机可用程序代码通过网络下载到远程数据处理系统,以便在计算机可读存储介质中与远程系统一起使用。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
本发明的一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到存储器并且可操作以执行示例性方法步骤。
此外,本发明的一个方面可以使用在通用计算机或工作站上运行的软件。参考图12,此类实现例如可采用处理器1202、存储器1204和输入/输出接口(例如,由显示器1206和键盘1208形成)。术语“处理器”如在此使用的,旨在包括任何处理设备,例如包括CPU(中央处理单元)和/或其它形式处理电路的处理设备。此外,术语“处理器”可以指多个单独的处理器。术语“存储器”旨在包括与处理器或CPU关联的存储器,例如RAM(随机存取存储器)、ROM(只读存储器)、固定存储设备(例如,硬盘驱动器)、可移动存储设备(例如,软盘)、闪存等。此外,词组“输入/输出接口”如在此使用的,旨在包括例如用于将数据输入到处理单元的机构(例如,鼠标),以及用于提供与处理单元关联的结果的机构(例如,打印机)。处理器1202、存储器1204和输入/输出接口(例如显示器1206和键盘1208)例如可以通过总线1210互连,作为数据处理单元1212的一部分。还可以例如通过总线1210为网络接口1214(例如网卡,其可以用于与计算机网络连接)以及介质接口1216(例如软盘或CD-ROM驱动器,其可以用于与介质1218连接)提供合适的互连。
因此,如在此描述的,包括用于执行本发明方法的指令或代码的计算机软件可以被存储在关联的存储器件(例如,ROM、固定或可移动存储器)中,并且当准备使用时,被部分或全部加载(例如,加载到RAM中)并由CPU执行。此类软件可以包括但不限于固件、驻留软件、微代码等。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线1210直接或间接连接到存储元件1204的处理器1202。存储元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘1208、显示器1206、指点设备等)可以直接(例如通过总线1210)或通过中间I/O控制器(为清楚起见而被省略)与系统相连。
网络适配器(例如网络接口1214)也可以被连接到系统以使数据处理系统能够通过中间非公共或公共网络变得与其它数据处理系统或远程打印机或存储器件相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。
如在此(包括权利要求)使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图12中所示的系统1212)。应当理解,此类物理服务器可以包括也可以不包括显示器和键盘。
如所述的,本发明的各个方面可以实现为在计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。此外,可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。此类传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用一种适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以至少一种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在此参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制品(article ofmanufacture)。相应地,本发明的一个方面包括有形地包含计算机可读指令的制品,当执行所述计算机可读指令时,导致计算机执行在此描述的多个方法步骤。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、组件、程序段或代码的一部分,所述模块、组件、程序段或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,在此描述的任何方法都可以包括提供一种系统的额外步骤,所述系统包括包含在计算机可读存储介质中的不同软件模块;所述模块例如可以包括在此详述的任何或全部组件。然后可以使用所述系统的不同软件模块和/或子模块(如上所述,在硬件处理器1202上执行)执行所述方法步骤。此外,计算机程序产品可以包括计算机可读存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同的软件模块。
在任何情况下,应当理解,在此示出的组件可以以各种形式的硬件、软件或它们的组合来实现,例如,专用集成电路(多个)(ASIC)、功能电路、具有关联存储器的经过适当编程的通用数字计算机等。给予了在此提供的本发明的教导后,相关技术领域的普通技术人员将能够构想本发明的组件的其它实现。
在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除其它特性、整数、步骤、操作、元素、组件和/或其组的存在或增加。
下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。
本发明的至少一个方面可以提供有益的效果,例如促进自动软件许可要求计算。
出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。在此使用的术语的选择,旨在最好地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属技术领域的其它普通技术人员能理解在此所公开的实施例。
Claims (23)
1.一种用于使用元模型对软件许可进行建模的方法,所述方法包括:
创建面向对象的信息模型以便描述对应于软件许可部署的硬件基础架构、软件部署环境和组织结构;
创建一组属性函数以便形成与所述硬件基础架构、一个或多个用户和所述组织结构相关的一个或多个信息项;
通过定义利用至少一个现有属性函数和/或至少一个所创建的属性函数的许可度量容量单位和许可度量容量计算逻辑,创建一组许可度量;以及
利用所述许可度量对所述软件许可进行建模;
其中由计算机设备执行所述步骤中的至少一个。
2.根据权利要求1的方法,其中创建面向对象的信息模型包括:标识描述对应于所述软件许可的所述硬件基础架构和所述软件部署环境的实体类集合。
3.根据权利要求1的方法,其中创建面向对象的信息模型包括标识用于检索信息技术环境信息的数据源。
4.根据权利要求1的方法,其中创建面向对象的信息模型包括标识使用所述软件许可的组织集合。
5.根据权利要求1的方法,其中所述一组属性函数用于定义许可容量单位和/或许可容量计算。
6.根据权利要求1的方法,其中创建一组属性函数包括标识定义所述软件许可的所述一个或多个属性函数的模式集合。
7.根据权利要求1的方法,其中所述一组属性函数包括基于公式的函数。
8.根据权利要求1的方法,其中所述一组属性函数包括基于表的函数。
9.根据权利要求1的方法,其中所述一组属性函数包括具有输入和输出规范的函数。
10.根据权利要求1的方法,其中所述一组属性函数包括对另一个函数的引用。
11.根据权利要求1的方法,其中创建一组许可度量包括生成按名称定义许可度量的模式。
12.根据权利要求1的方法,其中创建一组许可度量包括生成按许可容量单位定义许可度量的模式。
13.根据权利要求1的方法,其中创建一组许可度量包括生成按许可容量计算逻辑定义许可度量的模式。
14.根据权利要求1的方法,其中创建一组许可度量包括生成使用基于公式的函数、基于表的函数和/或具有输入和输出规范的通用函数,基于现有许可度量而定义至少一个新许可度量的模式。
15.根据权利要求1的方法,包括:
在多个软件许可管理系统之间实现互操作,其中所述实现包括对至少一个软件许可度量进行建模,以便生成与所述一组许可度量一致的至少一个对应许可度量定义。
16.根据权利要求15的方法,包括:
以正式定义的格式导出所述至少一个对应许可度量定义。
17.根据权利要求15的方法,包括:
以正式定义的格式从单独的软件许可管理系统导入许可度量定义。
18.根据权利要求1的方法,包括:
执行所述软件许可的所述一个或多个许可度量的模型分析,其中所述执行包括针对正式定义的所述软件许可的所述一个或多个许可度量执行模型分析。
19.一种用于自动推断软件许可度量的方法,所述方法包括:
提供软件许可模型编辑器以便使用软件许可元模型创建软件许可度量定义和/或提供软件许可加载器以便以多种格式之一导入软件许可度量定义,从而使用软件许可元模型创建软件许可度量定义,其中所述软件许可度量定义指定软件许可度量、容量单位和容量计算的标识;
部署所述软件许可度量定义;
接收对已部署软件的许可要求计算请求,并返回对所述已部署软件的许可要求;
接收对软件许可的软件许可度量分析请求,并返回用于许可容量单位和许可容量计算的一个或多个表达式、许可容量单位的默认范围、用于许可容量单位和/或许可容量计算的表达式的一个或多个输入参数;以及
接收对两个或更多软件许可度量定义的软件许可度量比较请求,并返回与所述两个或更多软件许可度量定义对应的默认范围之间的区别、容量单位和/或容量计算中的一个或多个表达式以及所述表达式的一个或多个输入参数。
20.一种用于在两个软件许可管理系统之间实现互操作的方法,所述方法包括:
提供软件许可模型编辑器以便使用软件许可元模型创建软件许可度量定义;
以与所述软件许可元模型一致的格式导出所述软件许可度量定义;以及
以与所述软件许可元模型一致的格式导入所述软件许可度量定义并部署所述软件许可度量定义。
21.一种用于使用元模型对软件许可进行建模的装置,所述装置用于执行权利要求1至18的方法步骤。
22.一种用于自动推断软件许可度量的装置,所述装置用于执行权利要求19的方法步骤。
23.一种用于在两个软件许可管理系统之间实现互操作的装置,所述装置用于执行权利要求20的方法步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/661,718 | 2012-10-26 | ||
US13/661,718 US20140122158A1 (en) | 2012-10-26 | 2012-10-26 | License Meta-Model for Automatic License Reasoning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103793220A true CN103793220A (zh) | 2014-05-14 |
Family
ID=50548200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310503059.8A Pending CN103793220A (zh) | 2012-10-26 | 2013-10-23 | 使用元模型对软件许可进行建模的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20140122159A1 (zh) |
CN (1) | CN103793220A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403107A (zh) * | 2017-07-18 | 2017-11-28 | 北京初识科技有限公司 | 一种基于多点协作机制的数据安全管理方法及系统 |
CN110502356A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 用以监测计算基础设施设备中的计算硬件的系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961059B2 (en) * | 2014-07-10 | 2018-05-01 | Red Hat Israel, Ltd. | Authenticator plugin interface |
CN105095641B (zh) * | 2015-05-29 | 2018-04-03 | 努比亚技术有限公司 | 一种计算空间容量的方法和装置 |
JP7183873B2 (ja) * | 2019-03-05 | 2022-12-06 | 京セラドキュメントソリューションズ株式会社 | 電子機器及び電子機器の制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957186B1 (en) * | 1999-05-27 | 2005-10-18 | Accenture Llp | System method and article of manufacture for building, managing, and supporting various components of a system |
US20050262188A1 (en) * | 2003-08-27 | 2005-11-24 | Ascential Software Corporation | Multiple service bindings for a real time data integration service |
US7840490B1 (en) * | 2006-08-30 | 2010-11-23 | United Services Automobile Association (Usaa) | Comprehensive software licensing management system |
CN101964779A (zh) * | 2009-07-21 | 2011-02-02 | 中兴通讯股份有限公司 | 一种基于能力成熟度模型的资源访问控制方法和系统 |
US20110154330A1 (en) * | 2009-12-17 | 2011-06-23 | International Business Machines Corporation | Method, data processing program, and computer program product to compensate for coupling overhead in a distributed computing system, and corresponding overhead calculator for a distributed computing system and corresponding computer system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1490767B1 (en) * | 2001-04-05 | 2014-06-11 | Audible Magic Corporation | Copyright detection and protection system and method |
US7350207B2 (en) * | 2001-05-25 | 2008-03-25 | Tellabs Operations, Inc. | Rule-based system and method for downloading computer software over a network |
US20110246382A1 (en) * | 2009-07-17 | 2011-10-06 | Annemaria Allen | License Tracking System and Related Software for Complex License and Compliance Requirements |
-
2012
- 2012-10-26 US US13/662,057 patent/US20140122159A1/en not_active Abandoned
- 2012-10-26 US US13/661,718 patent/US20140122158A1/en not_active Abandoned
-
2013
- 2013-10-23 CN CN201310503059.8A patent/CN103793220A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957186B1 (en) * | 1999-05-27 | 2005-10-18 | Accenture Llp | System method and article of manufacture for building, managing, and supporting various components of a system |
US20050262188A1 (en) * | 2003-08-27 | 2005-11-24 | Ascential Software Corporation | Multiple service bindings for a real time data integration service |
US7840490B1 (en) * | 2006-08-30 | 2010-11-23 | United Services Automobile Association (Usaa) | Comprehensive software licensing management system |
CN101964779A (zh) * | 2009-07-21 | 2011-02-02 | 中兴通讯股份有限公司 | 一种基于能力成熟度模型的资源访问控制方法和系统 |
US20110154330A1 (en) * | 2009-12-17 | 2011-06-23 | International Business Machines Corporation | Method, data processing program, and computer program product to compensate for coupling overhead in a distributed computing system, and corresponding overhead calculator for a distributed computing system and corresponding computer system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403107A (zh) * | 2017-07-18 | 2017-11-28 | 北京初识科技有限公司 | 一种基于多点协作机制的数据安全管理方法及系统 |
CN110502356A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 用以监测计算基础设施设备中的计算硬件的系统 |
CN110502356B (zh) * | 2018-05-17 | 2023-09-29 | 国际商业机器公司 | 用以监测计算基础设施设备中的计算硬件的系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140122158A1 (en) | 2014-05-01 |
US20140122159A1 (en) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11321304B2 (en) | Domain aware explainable anomaly and drift detection for multi-variate raw data using a constraint repository | |
US9229997B1 (en) | Embeddable cloud analytics | |
CN109242420B (zh) | 权限控制方法、装置、电子设备及存储介质 | |
WO2018231531A1 (en) | Execution optimization of database statements involving encrypted data | |
CN106559438A (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN107644286A (zh) | 工作流处理方法及装置 | |
CN103793220A (zh) | 使用元模型对软件许可进行建模的方法和装置 | |
CN102855131A (zh) | 用于软件配置管理的装置和方法 | |
Kessler et al. | SAP HANA goes private: from privacy research to privacy aware enterprise analytics | |
JP2018506775A (ja) | トランザクションアクセスパターンに基づいた結合関係の識別 | |
US20140245068A1 (en) | Using linked data to determine package quality | |
US11157467B2 (en) | Reducing response time for queries directed to domain-specific knowledge graph using property graph schema optimization | |
CN104102971B (zh) | 管理具有对象循环的模型 | |
KR101321408B1 (ko) | 개인정보 보호를 위한 클라우드 기반 SaaS형 보안 서비스 제공 시스템 및 그 제공 방법 | |
US20240037264A1 (en) | Systems and methods for providing network-based permissioning using security node hash identifiers | |
US9319283B2 (en) | Systems and methods for creating web service compositions | |
Pal et al. | Application multi-tenancy for software as a service | |
Deng et al. | A MapReduce‐based parallel K‐means clustering for large‐scale CIM data verification | |
Asaad et al. | NoSQL databases–seek for a design methodology | |
Lange et al. | Defining and delimitating distributed ledger technology: results of a structured literature analysis | |
US20130304756A1 (en) | Generalizing Formats of Business Data Queries and Results | |
Singh et al. | Evaluation of approaches for designing secure data warehouse | |
Eisele et al. | SolidWorx: A resilient and trustworthy transactive platform for smart and connected communities | |
CN109885472A (zh) | 测试管理方法及系统和计算机可读存储介质 | |
US20120323840A1 (en) | Data flow cost modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140514 |