CN104112084B - 用于基于执行的许可发现和优化的方法和系统 - Google Patents

用于基于执行的许可发现和优化的方法和系统 Download PDF

Info

Publication number
CN104112084B
CN104112084B CN201410143421.XA CN201410143421A CN104112084B CN 104112084 B CN104112084 B CN 104112084B CN 201410143421 A CN201410143421 A CN 201410143421A CN 104112084 B CN104112084 B CN 104112084B
Authority
CN
China
Prior art keywords
software
software product
product
operating system
mark
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.)
Expired - Fee Related
Application number
CN201410143421.XA
Other languages
English (en)
Other versions
CN104112084A (zh
Inventor
陈涵
N·富勒
曾梁赵
张喆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104112084A publication Critical patent/CN104112084A/zh
Application granted granted Critical
Publication of CN104112084B publication Critical patent/CN104112084B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1078Logging; Metering

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种用于基于执行的许可发现和优化的方法和系统。一种方法包括:收集一个或多个服务器上的一个或多个软件进程在操作系统中的执行信息;将所收集的所述一个或多个软件进程的执行信息映射到一个或多个软件产品;基于所收集的所述一个或多个软件进程的执行信息到一个或多个软件产品的映射,确定一软件产品在所述操作系统中的使用;以及基于所确定的该软件产品在所述操作系统中的使用与该软件产品在所述操作系统中的所有安装的指示的比较,标识一个或多个软件产品许可优化机会。

Description

用于基于执行的许可发现和优化的方法和系统
技术领域
本发明的各实施例一般地涉及信息技术,更具体地说,涉及许可管理。
背景技术
软件许可涉及软件产品的使用,而当前软件许可选项主要基于安装。因此,如果在计算机或类似设备上安装软件产品,则需要许可软件产品。可以通过扫描存储设备(例如,硬盘)和标识匹配签名来发现安装。但是,这些发现技术产生大量的间接成本。
此外,安装软件产品不等于使用软件产品。例如,其中可以安装而不使用的上下文可能包括软件部署的更改,或者其中卸载软件产品而未擦除对应的存储区域。此外,其中可以使用而不安装的上下文可能包括软件产品的可执行程序通过网络的转移。这种情形将提出挑战,因为扫描所有网络可访问设备可能不可行。
在受管云计算环境中,可以使用基于管理的发现,而在非受管基础架构即服务(IaaS)环境中,客户可以安装和使用软件产品而无需通过集中门户。在许多这样的情况下,将软件产品存储在虚拟机(VM)映像中,并且这些VM映像可能远离计算节点。因此,扫描这种环境也可能产生大量的间接成本,并且可以由于远程连接的存储装置而不准确。
因此,需要高效地发现应该在硬件资产上被正确许可的软件产品,并且需要优化硬件资产上的软件部署以便降低软件许可成本。
发明内容
在本发明的一个方面,提供了用于基于执行的许可发现和优化的技术。一种示例性计算机实现的方法可以包括以下步骤:收集一个或多个服务器上的一个或多个软件进程在操作系统中的执行信息;将所收集的所述一个或多个软件进程的执行信息映射到一个或多个软件产品;基于所收集的所述一个或多个软件进程的执行信息到一个或多个软件产品的映射,确定一软件产品在所述操作系统中的使用;以及基于所确定的该软件产品在所述操作系统中的使用与该软件产品在所述操作系统中的所有安装的指示的比较,标识一个或多个软件产品许可优化机会。
本发明的另一个方面或其元素可以以制造品的形式实现,所述制造品有形地包含计算机可读指令,当实现所述计算机可读指令时,导致计算机执行在此描述的多个方法步骤。此外,本发明的另一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并被配置为执行所述方法步骤。此外,本发明的另一个方面或其元素可以以部件的形式实现以便执行在此描述的方法步骤或其元素;所述部件可以包括硬件模块(多个)或硬件和软件模块的组合,其中所述软件模块存储在有形的计算机可读存储介质(或多个这种介质)中。
从以下将结合附图阅读的对本发明的示例性实施例的详细描述,本发明的这些和其它目标、特性以及优点将变得显而易见。
附图说明
图1是示出根据本发明的一个实施例的接口方面的示意图;
图2是示出根据本发明的一个方面的一个实例实施例的框图;
图3是示出根据本发明的一个实施例的技术的流程图;以及
图4是其中可以实现本发明的至少一个实施例的示例性计算机系统的系统图。
具体实施方式
如在此描述的,本发明的一个方面包括用于基于执行的许可发现和优化的技术。本发明的至少一个实施例包括通过软件产品在操作系统(OS)中的执行踪迹,发现软件产品的使用。执行踪迹准确报告软件使用,并且还可以提供有关优化软件部署的指示和/或建议,例如删除未使用或轻量使用的软件安装和/或合并具有非重叠使用模式的软件实例。
例如,本发明的至少一个实施例包括定期检查或访问OS进程表,并且通过软件可执行文件名称解析每个相关软件产品的使用模式。基于此类收集的数据,本发明的一个方面包括构建或生成每个进程的时间序列。
相应地,本发明的至少一个实施例包括通过收集多个进程中的每个进程在OS中的执行信息而发现软件使用。此类信息例如可以包括进程名称、进程状态(正在运行、正在休眠等)、进程使用的中央处理单元(CPU)的百分比、进程使用的总内存、进程的资源消耗、输入/输出(I/O)事务以及每秒字节数。
此外,本发明的一个方面包括在OS中为每个服务器上的每个软件产品和/或进程建立简档。此类简档例如可以包含给定软件产品和/或进程的资源消耗的时间序列。此外,本发明的至少一个实施例还包括将进程名称映射到特定软件产品。
使用所收集的执行信息,本发明的至少一个实施例包括将未执行但已安装的软件产品标识为删除候选者。例如,如果给定帐户许可20个服务器使用软件产品,但仅有六个服务器使产品有效运行,则剩余服务器可能包括删除候选者。此类候选者的标识例如可以包括将进程简档与扫描结果相组合,以便确定没有使用的软件产品的安装实例。
如上面使用的,扫描指扫描存储设备(硬盘驱动器等)。相应地,如果未发现产品的进程(指示产品未在运行),但扫描结果显示在设备上安装了产品,则应该删除已安装的副本。
此外,本发明的至少一个实施例包括将轻量或非重叠使用模式的软件安装标识为合并和/或复用候选者。例如,在云设置中,运行关系数据库管理系统并具有轻量工作负载的多个物理和虚拟服务器可用作合并候选者。
在本发明的至少一个实施例中,可以预先配置用于量化工作负载的阈值。例如,如果产品实例使用少于10%的CPU、少于100兆字节(MB)的动态随机存取存储器(DRAM),以及少于每秒1兆字节(MB/秒)的盘输入/输出(I/O),则工作负载可以被视为轻量。此外,在本发明的至少一个实施例中,通过收集执行信息以及通过进程-产品映射,获得相关信息。
进一步,合并包括将某些进程从第一服务器迁移到第二服务器。例如,考虑以下情形:最初包括五个物理服务器,每个物理服务器托管一个运行产品的虚拟机(VM)。在分析工作负载之后,可以决定将全部五个VM迁移到单个物理服务器(例如,以便降低许可费用)。
本发明的至少一个实施例还包括标识其它机会以实现进一步合并操作。此类机会例如可以包括获得其它组件(例如加法服务器)和/或硬件以便进一步合并使用。此外,此类机会例如可能包括在OS中将组件使用(例如,数据库使用)从给定服务器移动或转移到不同服务器,或者在OS中将给定服务器上的关系数据库管理系统使用与不同服务器上的单独数据库使用相交换。在本发明的至少一个实施例中,可以将建议的操作提供给用户和/或管理员作为建议,和/或OS可以自动执行建议的优化操作。此外,在本发明的至少一个实施例中,可以将所收集的执行信息提供给许可优化引擎作为输入,以便自动标识此类机会。
图1是示出根据本发明的一个实施例的接口方面的示意图。举例来说,图1示出软件产品102和操作系统(OS)104。如图所示,产品102经由通信103为OS104指定可能的许可选项。此类许可选项例如可以包括CPU使用百分比、内存高水位,以及每秒磁盘输入/输出操作数(IOPS)高水位。仅作为举例,诸如103之类的通信可能包括指示,例如“我可以被许可X%CPU或内存高水位”。
如在此详述的,OS104维护有关在给定服务器上授权每种类型的多少个许可,并且OS104经由通信105将此类信息提供给软件产品102。仅作为举例,诸如105之类的通信可能包括指示,例如“您当前正在使用25%CPU或500MB内存”。
基于例如经由103和105示出的通信,本发明的至少一个实施例包括以与其它资源(CPU、内存等)协调的方式分配软件许可。例如,如果仅为服务器授权30%的CPU来使用产品P,则在配额几乎用完时,可以在CPU调度中为P的进程提供低优先级。
图2是示出根据本发明的一个方面的一个实例实施例的框图。举例来说,图2示出执行踪迹分析模块202、映射模块204、产品使用确定模块208和优化模块206。下面结合图3描述这些模块中的每个模块的功能。
图3是示出根据本发明的一个实施例的技术的流程图。步骤302包括收集一个或多个服务器上的一个或多个软件进程在操作系统中的执行信息(例如,由例如图2中所示的执行踪迹分析模块202执行)。如在此详述的,执行信息可以包括进程名称、进程状态、进程使用的中央处理单元的百分比、进程使用的总内存、进程的资源消耗和/或进程的输入/输出(I/O)事务。收集执行信息可以包括定期访问与操作系统关联的系统进程表。图3中所示的技术还可以包括基于所收集的执行信息,针对一个或多个软件进程中的每个软件进程生成时间序列。
步骤304包括将所收集的一个或多个软件进程的执行信息映射到一个或多个软件产品(例如,由例如图2中所示的映射模块204执行)。步骤306包括基于所收集的一个或多个软件进程的执行信息到一个或多个软件产品的映射,确定一软件产品在操作系统中的使用(例如,由例如图2中所示的产品使用确定模块208执行)。图3中所示的技术还可以包括生成该软件产品的简档。所述简档可以包括该软件产品和所述一个或多个软件进程中与该软件产品关联的每个软件进程之间的映射。此外,本发明的至少一个实施例包括将所述简档编码成矩阵。
步骤308包括基于所确定的该软件产品在操作系统中的使用与该软件产品在操作系统中的所有安装的指示的比较,标识一个或多个软件产品许可优化机会(例如,由图2中所示的优化模块206执行)。所有安装的指示例如可以包括扫描报告。所述标识步骤可以包括标识删除该软件产品的未使用安装的机会,以及标识添加一个或多个硬件项目以便合并该软件产品的两个或更多安装的机会。
此外,所述标识步骤可以包括标识合并该软件产品的两个或更多安装的机会。这例如可以进一步包括标识该软件产品的具有低使用水平的安装,将该软件产品的具有低使用水平的安装转移到包括相同软件产品的安装的服务器。
此外,在本发明的至少一个实施例中,所述标识步骤可以包括标识交换使用安装在两个不同服务器上的两个不同软件产品的机会。这例如可以包括将第一软件产品的具有低使用水平的安装从第一服务器转移到包括相同软件产品的安装的目标服务器,以及将使用水平与所述第一软件产品的使用水平类似的第二软件产品从所述目标服务器转移到所述第一服务器。
如在此描述的,图3中所示的技术还可以包括提供一种系统,其中所述系统包括不同软件模块,每个不同软件模块包含在有形的计算机可读可记录存储介质中。例如,所有模块(或其任何子集)可以在同一介质中,或者每个模块可以在不同介质中。所述模块可以包括附图中示出和/或在此描述的任何或全部组件。在本发明的一个方面,所述模块例如可以在硬件处理器上运行。然后可以使用所述系统的不同软件组件(如上所述,在硬件处理器上执行)执行所述方法步骤。此外,计算机程序产品可以包括有形的计算机可读可记录存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同软件模块。
此外,图3中所示的技术能够通过可以包括计算机可用程序代码的计算机程序产品来实现,所述计算机可用程序代码存储在数据处理系统内的计算机可读存储介质中,并且其中所述计算机可用程序代码通过网络从远程数据处理系统下载。此外,在本发明的一个方面,计算机程序产品可以包括存储在服务器数据处理系统内的计算机可读存储介质中的计算机可用程序代码,并且其中所述计算机可用程序代码通过网络下载到远程数据处理系统,以便在远程系统的计算机可读存储介质中使用。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
本发明的一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并且被配置为执行示例性方法步骤。
此外,本发明的一个方面可以使用在通用计算机或工作站上运行的软件。参考图4,此类实现例如可以采用处理器402、存储器404和输入/输出接口(例如,由显示器406和键盘408形成)。术语“处理器”如在此使用的,旨在包括任何处理设备,例如包括CPU(中央处理单元)和/或其它形式处理电路的处理设备。进一步,术语“处理器”可以指多个单独的处理器。术语“存储器”旨在包括与处理器或CPU关联的存储器,例如RAM(随机存取存储器)、ROM(只读存储器)、固定存储设备(例如,硬盘驱动器)、可移动存储设备(例如,软盘)、闪存等。
此外,词组“输入/输出接口”如在此使用的,旨在包括例如用于将数据输入到处理单元的机构(例如,鼠标),以及用于提供与处理单元关联的结果的机构(例如,打印机)。处理器402、存储器404和输入/输出接口(例如显示器406和键盘408)例如可以通过总线410互连,作为数据处理单元412的一部分。还可以例如通过总线410为网络接口414(例如网卡,其可以用于与计算机网络对接)以及介质接口416(例如软盘或CD-ROM驱动器,其可以用于与介质418对接)提供合适的互连。
因此,如在此描述的,包括用于执行本发明方法的指令或代码的计算机软件可以被存储在关联的存储器件(例如,ROM、固定或可移动存储器)中,并且当准备使用时,被部分或全部加载(例如,加载到RAM中)并由CPU实现。此类软件可以包括但不限于固件、驻留软件、微代码等。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线410直接或间接连接到存储元件404的处理器402。存储元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘408、显示器406、指点设备等)可以直接(例如通过总线410)或通过中间I/O控制器(为清楚起见而被省略)与系统相连。
网络适配器(例如网络接口414)也可以被连接到系统以使数据处理系统能够通过中间专用或公共网络变得与其它数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。
如在此(包括在权利要求中)使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图4中所示的系统412)。应当理解,此类物理服务器可以包括也可以不包括显示器和键盘。
如上所述,本发明的各方面可以实现为在计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。此外,可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。
计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、闪存、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用一个适当的介质传输,包括—但不限于—无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
可以以至少一种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在此将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。因此,本发明的一方面体现在具体实施计算机可读指令的制造品上,计算机可读指令在执行时,会使得计算机实现所描述的多个方法步骤。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、组件、程序段或代码的一部分,所述模块、组件、程序段或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。
例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,在此描述的任何方法都可以包括提供一种系统的额外步骤,所述系统包括包含在计算机可读存储介质中的不同软件模块;所述模块例如可以包括在此详述的任何或全部组件。然后可以使用所述系统的不同软件模块和/或子模块(如上所述,在硬件处理器402上执行)执行所述方法步骤。此外,计算机程序产品可以包括计算机可读存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同软件模块。
在任何情况下,应当理解,在此示出的组件可以以各种形式的硬件、软件或它们的组合来实现,例如,专用集成电路(多个)(ASIC)、功能电路、具有关联存储器的经过适当编程的通用数字计算机等。给予了在此提供的本发明的教导后,相关技术领域的普通技术人员将能够构想本发明的组件的其它实现。
在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除另一个特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。
本发明的至少一个方面可以提供有益的效果,例如优化硬件资产上的软件部署以便降低软件许可成本。
出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。在此使用的术语的选择,旨在最好地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属技术领域的其它普通技术人员能理解在此所公开的实施例。

Claims (18)

1.一种用于软件产品许可优化的方法,包括:
收集一个或多个服务器上的一个或多个软件进程在操作系统中的执行信息;
将所收集的所述一个或多个软件进程的执行信息映射到一个或多个软件产品;
基于所收集的所述一个或多个软件进程的执行信息到一个或多个软件产品的映射,确定一软件产品在所述操作系统中的使用;以及
基于所确定的该软件产品在所述操作系统中的使用与该软件产品在所述操作系统中的所有安装的指示的比较,标识一个或多个软件产品许可优化机会;
其中由计算机设备执行所述步骤中的至少一个,
所述方法还包括:
基于所收集的执行信息,生成所述一个或多个软件进程中的每个软件进程的时间序列。
2.根据权利要求1的方法,其中所述收集包括定期访问与所述操作系统关联的系统进程表。
3.根据权利要求1的方法,包括:
生成该软件产品的简档。
4.根据权利要求3的方法,其中所述简档包括该软件产品和所述一个或多个软件进程中与该软件产品关联的每个软件进程之间的映射。
5.根据权利要求3的方法,包括:
将所述简档编码成矩阵。
6.根据权利要求1的方法,其中所述所有安装的指示包括扫描报告。
7.根据权利要求1的方法,其中所述执行信息包括以下项中的至少一个:进程名称、进程状态、进程使用的中央处理单元的百分比、进程使用的总内存、进程的资源消耗,以及进程的输入/输出(I/O)事务。
8.根据权利要求1的方法,其中所述标识包括标识删除该软件产品的未使用安装的机会。
9.根据权利要求1的方法,其中所述标识包括标识合并该软件产品的两个或更多安装的机会。
10.根据权利要求9的方法,其中所述标识合并该软件产品的两个或更多安装的机会包括标识该软件产品的具有低使用水平的安装。
11.根据权利要求10的方法,包括:
将该软件产品的具有低使用水平的安装转移到包括相同软件产品的安装的服务器。
12.根据权利要求1的方法,其中所述标识包括标识交换使用安装在两个不同服务器上的两个不同软件产品的机会。
13.根据权利要求12的方法,包括:
将第一软件产品的具有低使用水平的安装从第一服务器转移到包括相同软件产品的安装的目标服务器;以及
将使用水平与所述第一软件产品的使用水平类似的第二软件产品从所述目标服务器转移到所述第一服务器。
14.根据权利要求1的方法,其中所述标识包括标识添加一个或多个硬件项目以便合并该软件产品的两个或更多安装的机会。
15.一种用于软件产品许可优化系统,包括:
收集单元,其被配置为收集一个或多个服务器上的一个或多个软件进程在操作系统中的执行信息;
映射单元,其被配置为将所收集的所述一个或多个软件进程的执行信息映射到一个或多个软件产品;
确定单元,其被配置为基于所收集的所述一个或多个软件进程的执行信息到一个或多个软件产品的映射,确定一软件产品在所述操作系统中的使用;以及
标识单元,其被配置为基于所确定的该软件产品在所述操作系统中的使用与该软件产品在所述操作系统中的所有安装的指示的比较,标识一个或多个软件产品许可优化机会,
所述收集单元还被配置为:
基于所收集的执行信息,生成所述一个或多个软件进程中的每个软件进程的时间序列。
16.根据权利要求15的系统,其中所述标识单元被进一步配置为标识删除该软件产品的未使用安装的机会。
17.根据权利要求15的系统,其中所述标识单元被进一步配置为标识合并该软件产品的两个或更多安装的机会。
18.根据权利要求15的系统,其中所述标识单元被进一步配置为标识交换使用安装在两个不同服务器上的两个不同软件产品的机会。
CN201410143421.XA 2013-04-16 2014-04-10 用于基于执行的许可发现和优化的方法和系统 Expired - Fee Related CN104112084B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/863,944 US9230069B2 (en) 2013-04-16 2013-04-16 Execution-based license discovery and optimization
US13/863,944 2013-04-16

Publications (2)

Publication Number Publication Date
CN104112084A CN104112084A (zh) 2014-10-22
CN104112084B true CN104112084B (zh) 2017-04-19

Family

ID=51687751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410143421.XA Expired - Fee Related CN104112084B (zh) 2013-04-16 2014-04-10 用于基于执行的许可发现和优化的方法和系统

Country Status (2)

Country Link
US (3) US9230069B2 (zh)
CN (1) CN104112084B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182713B2 (en) * 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
US9870260B2 (en) 2015-03-20 2018-01-16 International Business Machines Corporation Managing a set of assets for a user in a shared pool of configurable computing resources
US10084676B2 (en) * 2015-08-18 2018-09-25 International Business Machines Corporation Auditing networking devices
US10235158B2 (en) 2017-03-21 2019-03-19 Microsoft Technology Licensing, Llc Optimizing feature deployment based on usage pattern
CN109508517B (zh) * 2018-10-29 2021-06-29 武汉思普崚技术有限公司 软件功能模块选择性激活方法及设备
CN110333997B (zh) * 2019-07-15 2023-11-10 秒针信息技术有限公司 融合设备使用信息的方法及装置
CN111125226B (zh) * 2019-12-24 2024-01-30 中国建设银行股份有限公司 一种配置数据采集方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346709A (zh) * 2010-07-30 2012-02-08 国际商业机器公司 软件开发辅助方法及系统
CN102479145A (zh) * 2010-11-30 2012-05-30 鸿富锦精密工业(深圳)有限公司 软件使用信息收集系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US6681331B1 (en) 1999-05-11 2004-01-20 Cylant, Inc. Dynamic software system intrusion detection
US20030083995A1 (en) * 2001-11-01 2003-05-01 Arun Ramachandran Process for usage based suite licensing of resources from one or more vendors
US7490073B1 (en) 2004-12-21 2009-02-10 Zenprise, Inc. Systems and methods for encoding knowledge for automated management of software application deployments
US20070050606A1 (en) 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Runtime-based optimization profile
JP5285761B2 (ja) 2008-03-20 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション仮想化環境においてソフトウェアのインストールおよび使用を検出する方法およびシステム
US8473607B2 (en) 2008-09-02 2013-06-25 Belarc, Inc. System and method for software usage discovery
CA2792352C (en) 2010-03-31 2015-06-23 Wockhardt Limited Modified release dosage form comprising desvenlafaxine or salts thereof
US20110251937A1 (en) 2010-04-09 2011-10-13 International Business Machines Corporation Software license brokering within a cloud computing environment
US8380837B2 (en) 2010-09-07 2013-02-19 International Business Machines Corporation Software license management within a cloud computing environment
US8997242B2 (en) 2012-11-09 2015-03-31 International Business Machines Corporation Methods and apparatus for software license management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346709A (zh) * 2010-07-30 2012-02-08 国际商业机器公司 软件开发辅助方法及系统
CN102479145A (zh) * 2010-11-30 2012-05-30 鸿富锦精密工业(深圳)有限公司 软件使用信息收集系统及方法

Also Published As

Publication number Publication date
US9075965B2 (en) 2015-07-07
US9230069B2 (en) 2016-01-05
CN104112084A (zh) 2014-10-22
US20140310818A1 (en) 2014-10-16
US20140310817A1 (en) 2014-10-16
US9275201B2 (en) 2016-03-01
US20150169850A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
CN104112084B (zh) 用于基于执行的许可发现和优化的方法和系统
US10552761B2 (en) Non-intrusive fine-grained power monitoring of datacenters
CA2953826C (en) Machine learning service
CN106663038B (zh) 用于机器学习的特征处理配方
US20150379430A1 (en) Efficient duplicate detection for machine learning data sets
CN103336737B (zh) 信息操纵系统及其实施的方法
US20140108404A1 (en) License Reconciliation with Multiple License Types and Restrictions
CN105122212A (zh) 自动化跟踪系统中的周期性优化
CN105283866A (zh) 使用相似频率的优化分析
CN105122234A (zh) 使用成本分析来部署跟踪目标
CN105283848A (zh) 用分布式目标来进行应用跟踪
US8478623B2 (en) Automated derivation, design and execution of industry-specific information environment
CN112801718B (zh) 用户行为预测方法、装置、设备及介质
Park et al. EvoGraph: An effective and efficient graph upscaling method for preserving graph properties
CN105446952B (zh) 用于处理语义片段的方法和系统
CN106803799A (zh) 一种性能测试方法和装置
CN110389873A (zh) 一种判定服务器资源使用情况的方法和装置
CN104580194A (zh) 面向视频应用的虚拟化资源管理方法及装置
WO2022088632A1 (zh) 用户数据监控分析方法、装置、设备及介质
CN113434542B (zh) 数据关系识别方法、装置、电子设备及存储介质
Chen et al. Silhouette: Efficient cloud configuration exploration for large-scale analytics
WO2022227192A1 (zh) 图像分类方法、装置、电子设备及介质
CN115168848A (zh) 基于大数据分析拦截的拦截反馈处理方法
US11790087B2 (en) Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
Gao et al. High performance graph processing with locality oriented design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170419

CF01 Termination of patent right due to non-payment of annual fee