CN1609746A - 用于提供基于时间和权的灵活容许硬件id的系统和方法 - Google Patents

用于提供基于时间和权的灵活容许硬件id的系统和方法 Download PDF

Info

Publication number
CN1609746A
CN1609746A CNA2003101097951A CN200310109795A CN1609746A CN 1609746 A CN1609746 A CN 1609746A CN A2003101097951 A CNA2003101097951 A CN A2003101097951A CN 200310109795 A CN200310109795 A CN 200310109795A CN 1609746 A CN1609746 A CN 1609746A
Authority
CN
China
Prior art keywords
unit type
relevant
type
group
component identification
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.)
Granted
Application number
CNA2003101097951A
Other languages
English (en)
Other versions
CN100377022C (zh
Inventor
P·杜布利施
C·干亚基
A·T·胡格斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1609746A publication Critical patent/CN1609746A/zh
Application granted granted Critical
Publication of CN100377022C publication Critical patent/CN100377022C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/04Supports for telephone transmitters or receivers
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1033Cables or cables storage, e.g. cable reels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Abstract

通过使用硬件ID(HWID)来实现基于时间和权的灵活的系统和方法,其中硬件ID中包括关于硬件部件的识别信息。在运行软件时,生成当前HWID。当对当前HWID同存储的HWID进行比较以确定两个HWID是否匹配时,使用时间向量和权向量进行比较。运行匹配记分与匹配保持一致。对于各个硬件部件,权向量指示被给予硬件部件散列值的正确匹配的权。例如,如果硬件部件的权值为3并且存在匹配,则全部运行加3。对于各个硬件部件,时间向量表示更换部件之后所允许的期满时间。例如,如果部件的期满时间为1年,并且在激活后已经过去了一年,则即使激活HWID中部件的信息与当前部件信息不匹配,全部运行也会增加。

Description

用于提供基于时间和权的灵活 容许硬件ID的系统和方法
发明领域
本发明涉及为计算机系统提供识别信息并评估该计算机系统是否与一个已存的识别信息版本相匹配的系统和方法。更具体的,本发明涉及根据来自计算机系统的识别信息为计算机系统提供硬件ID的系统和方法,并且其中所述硬件ID能够容许在其使用期间出现的正常变化。
发明背景
通常由软件许可来管理软件的使用。由于软件在售出后可以很容易的被复制,因此很难防止在没有相关许可的情况下使用软件。这类使用包括盗版,其中软件被非法复制并且盗版拷贝被安装到非许可的计算机系统中使用。另外,非盗版拷贝的购买者也可能在相关许可的范围之外不正当的使用软件。例如,一个用户可能将软件安装到比许可所允许的更多的计算机系统中。
虽然许可为抵制这种情况提供了一种合法的途径,可是实际上很难实现。因此,需要其它的方法来降低许可范围之外的软件使用量。一种这样的方法是基于为获得了使用软件许可的用户的计算机系统生成一个标识符。其名称为“Software Anti-Piracy System That Adapts to Hardware Upgrade”美国专利号6243468以及公开的美国专利申请号20010044782详细说明了该方法。
计算机系统一般包括各种硬件部分,其中包括磁盘驱动器,CDROM驱动器,以及处理器。这些硬件部件都有一个能够被系统访问的标识符(序列号或者名称),例如通过执行即插即用(PnP)调用。可以以一种预定的方式对这些部件标识符进行组合,从而生成一个硬件标识符(HWID),该硬件标识符可以用来识别特定的计算机系统。
值得注意的是,该HWID可以被用作软件许可的一部分或者与其组合在一起,用以确保该被许可用到一个特定计算机系统上的软件只能在该计算机系统上使用。尤其是,如果在运行期间为该计算机系统算出的HWID与软件许可中指定的HWID相匹配的话,具有指定HWID的许可软件只能在一个计算机系统上运行。
可是,当计算机系统的用户为了例如维修或升级的目的而增加、减少,或者更换系统部件时,该HWID就会变化。每个新的或者更换后的部件都会具有一个新的部件标识符。这样,在为系统计算HWID时,新的部件标识符会导致HWID发生变化。这就会在用户接收用于软件的许可的时候出现问题,其中该许可为该计算机系统先前的版本指定了HWID。
因此,公知的是,在与一个新近计算的HWID进行比较时,将已存储的HWID接受为基本匹配,并且允许用户运行该软件。例如,在上面提到的美国专利US6243468中就公开了一个例子,其中的HWID就包括5个部件标识符,并且如果其中的任何四个都不匹配的话,则无法在计算机系统中运行该软件产品。
在现有技术中没有指出的情况是,其中的某些部件可能比其它的部件更换的频率更快。同样也没有指出随着时间消逝而使用对于许可的不太严格的计算机-系统匹配要求,因为随着时间的进行,软件的价值会降低。解决上述这些问题的基于HWID的许可系统将可以提供更强的安全性,而而且允许随着时间变化的的过去允许动态安全性。
考虑到前面提到的情况,需要有一种系统,其能够允许将HWID用来标识软件的许可实例化,并将其与一个计算机系统链接到一起,同时能够容许为了适应允许随着硬件系统的变化以及时间的进行流逝而柔性要求的灵活性,允许合法用户计算机系统中的变化。
发明概要
考虑到上文,本发明提供了用于提供HWID的系统和方法,其中,该HWID即使在系统设置发生变化的情况下也会保持有效。
在一个实施例中,当软件被激活时,计算系统的HWID。所述软件中的或者系统中的产品激活代码对现存硬件部件进行查询以便获得关于这些部件的信息。例如,可以通过查询网卡来确定MAC(媒体访问控制)地址。这些关于各个硬件部件类型的硬件部件的信息是散列的。将这些散列的数值连接起来成为HWID。
在激活状态计算出来的HWID被包括在一个许可数据文件中。与该激活HWID一起被包括的是时间和权向量,其中含有各个硬件部件的时间和权值。该许可数据文件中还包括一个阈值记分。每次使用软件时必须要计算该许可数据文件。当许可要求验证计算机系统时,重新计算系统的HWID,并且对该新近计算的HWID同激活HWID进行比较。
在为了确定两个HWID是否匹配而对该新近计算的HWID同激活HWID进行比较时,在比较过程中使用时间向量和权向量。部件的时间向量值确定在确定新近计算的HWID是否与激活HWID基本匹配的过程中,是否考虑到该部件。部件的权向量确定在确定新近计算的HWID是否与激活HWID基本匹配的过程中,为该部件给出一个什么样的匹配权值。
本发明的其它特性和实施例将在下面描述。
附图说明
下面将参照附图对用于提供根据本发明的具有平均化及可视性前向映像的系统和方法进行进一步的描述,其中:
图1为表示基本无限制计算系统的方框图,该系统中可以实现本发明;
图2为表示本发明一个实施例中许可数据的方框图;
图3为使用权向量对各个存储的部件标识同当前部件标识进行比较的方法的方框图;以及
图4为使用时间向量对各个存储的部件标识同当前部件标识进行比较的方法的方框图。
本发明的详细描述
概述
在一个实施例中,计算当前的硬件ID(HWID)。对于将要被考虑的一组部件类型中的各个部件类型,对该类型的部件进行查询。在一个实施例中,各个结果都是散列的。结果数值包括当前HWID。
在一个实施例中,与软件相关的许可文件存储了一个激活HWID,一个时间向量,一个权向量,以及一个阈值记分。为了允许使用该软件,计算机系统的当前HWID必须与激活HWID基本匹配。使用时间向量,权向量,以及阈值记分来确定是否基本匹配。
为了确定当前HWID是否与激活HWID基本匹配,对于各个部件类型,将该种类型部件的每一个存储散列值同该种类型的每一个当前部件的散列值相比较。在一个实施例中,为所有的比较计算匹配记分。任一匹配都表示在计算存储HWID时系统中存在的部件仍旧存在于系统中。当发现有一个匹配时,用于比较的匹配记分递增。如果匹配记分大于或者等于阈值记分,则当前HWID与激活HWID基本匹配。
对于各个部件类型,权向量表示该种部件类型的匹配应该遵循的权。当由于与一种部件类型的匹配而增加匹配记分时,则依据权值增加该部件类型的匹配记分。
时间向量也同存储的HWID相关。对于各个部件类型,时间向量可以表示一个期满时间。当期满时间过去时,即使对于一个部件来讲,没有发现匹配,该匹配记分也增加权值。通过这种方式,提供了一种HWID系统,该系统能够为不同的部件提供不同的权,并且能够更加灵活的容许计算机系统中的硬件变化。在候选实施例中,只使用时间向量。在另一个候选实施例中,只使用权向量。
示例性计算装置
图1以及下面的论述旨在提供一种对于适当计算环境的简要一般描述,在该环境中可以实现本发明。可是能够被理解的是,如上所述,能够构思出可以将各种各样的手持式、便携式以及其它的计算装置以及计算物体同本发明一块使用。这样,下面虽然只对通用目的的计算机进行描述,可是这只是一个例子,并且本发明也可以在其它的计算装置中实现,例如具有网络/总线交互操作性以及交互作用的薄(thin)客户机。因此,本发明可以在一个网络宿主服务环境中实现,在所述环境中,牵涉到非常少或者最少的客户机资源,例如一种网络环境,其中客户机装置仅仅被用作与网络/总线的接口,例如置于设备中的对象,或者其它的计算装置以及对象。本质上,任何可以存储数据或者可以从中检索数据的地方都是用于本发明进行操作的理想、合适的环境。
虽然没有要求,但是本发明可以通过操作系统来实现,以便被装置或对象的服务开发者所使用,和/或被包括在根据本发明运行的应用软件中。软件可以用计算机可执行指令的一般情况来描述,所述指令能够由诸如客户机工作站、服务器或者其它装置之类的一个或多个计算机来执行,例如程序模块。一般来讲,程序模块包括例程,程序,对象,构件,数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。通常,程序模块的功能性可以根据需要在各种实施例中进行组合或者分配。并且,本领域那的技术人员能够理解的是,本发明也可以用其它的计算机配置来实现。适用于本发明的其它公知的计算系统,环境,和/或配置包括,但并不仅限于,个人计算机(PC),自动播音机器(automated teller machine),服务器计算机,手持式或膝上型装置,多处理器系统,微处理器系统,可编程家用电器,网络PC,设备,灯具,环境控制元件,微型计算机,大型机等等。本发明也可以在分布式计算环境中实现,其中所述分布式计算环境通过经通信网络/总线或其它数据传输介质相连的远程控制装置来完成任务。在分布式计算环境中,程序模块可以位于包括有存储器存储装置的本地或者远程计算机存储介质中,并且客户机节点可以依次被用作服务器节点。
图1说明了一个合适的计算系统环境100的例子,其中可以实现本发明,虽然如上面所解释,但是该计算系统环境100也只是合适的计算环境的一个例子,并且并不意味着对本发明使用或功能性的范围有任何限制。计算环境100绝不能被解释为对典型操作环境100中所示部件的任何一个或多个组件的组合有任何取决性或者必要要求。
参照图1,用于实现本发明的一个示例性系统包括以计算机系统110形式存在的通用目的计算装置。计算机系统110可以包括,但不仅限于,处理单元120,系统存储器130,以及将包括系统存储器在内的各个系统部件与处理单元120连接在一块的系统总线121。该系统总线121可以是各种总线结构类型中的任何一种,这些总线结构包括有存储器总线或存储控制器,外围总线,以及使用各种总线结构中的任何一种的局部总线。作为例子,但并不仅限于此,此类结构包括包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强ISA(EISA)总线,视频电子标准协会(VESA)局部总线,以及外设部件互连(PCI)总线(也被称为附加板总线)。
计算机系统110通常包括各种计算机可读介质。计算机可读介质可以是任何能够被计算机系统110存取的可用介质,包括易失性及非易失性介质,可移动及不可移动介质。作为例子,但并不仅限于,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息的任何方法或技术实现的易失性及非易失性、可移动及不可移动介质,所信息例如是计算机可读指令,数据结构,程序模块或其它数据。计算机存储介质包括,但并不仅限于,随机存储器(RAM)、只读存储器(ROM)、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、光盘只读存储器(CDROM)、数字多用盘(DVD)或者其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储装置,或者任何其它的能够用于存储所需信息并能够由计算机系统110存取的存储介质。通信介质一般包括有计算机可读指令,数据结构,程序模块或者采用调制数据信号形式的其他数据,所述调制数据信号例如是载波或者其它传输机制,并且包括任何信息传送介质。术语“调制数据信号”表示一种信号,该信号以这样一种方式设置或者改变它的一个或多个特性,以致对信号中的信息进行编码。作为例子,但并不仅限于,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学、RF、红外以及其它无线介质。任何上述内容的组合也都应该被包括在本发明的计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,例如只读存储器(ROM)131以及随机存储器(RAM)132。在ROM131中一般存储有基本输入输出系统133(BIOS),所述基本输入输出系统133(BIOS)包括用于在计算机系统110内部的各个元件之间传输信息的基本例程,例如在启动期间。RAM132一般包括可以立即由处理单元130存取和/或不久将由处理单元130运行的数据和/或程序模块。图1说明了操作系统134,应用程序135,其它程序模块136,以及程序数据137。
该计算机系统110也可以包括其它可移动/不可移动,易失性/非易失性计算机存储介质。仅仅作为例子,图1示出了从不可移动、非易失性磁介质读出或向其中写入的硬盘驱动器141,从可移动、非易失性磁盘152读出或向其中写入的磁盘驱动器151,以及从例如CD-ROM或者其它光盘介质的可移动、非易失性光盘156读出或向其中写入的光盘驱动器155。能够被用在该示例性操作环境中的其它可移动/不可移动、易失性/非易失性计算机存储器介质包括,但并不仅限于,磁带盒、闪存卡、数字多用盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141一般通过不可移动存储器接口例如接口140同系统总线121相连,并且磁盘驱动器151以及光盘驱动器155一般通过可移动存储器接口例如接口150同系统总线121相连。
上面所述的、并在图1中所示的驱动器及与其相关联的计算机存储介质用于存储计算机系统110的计算机可读指令、数据结构、程序模块以及其它数据。在图1中,硬盘驱动器141被说明为包括存储操作系统144,应用程序145,其它程序模块146,以及程序数据147。需要指出的是,这些部件既可以同操作系统134、应用程序135,其它程序模块136以及程序数据137相同,也可以与其不同。这里给予操作系统144,应用程序145,其它程序模块146,以及程序数据147不同的编号,用以至少说明它们是不同的拷贝。用户可以通过输入装置向计算机系统110输入命令以及信息,所述输入装置例如是键盘162以及点装置161,一般是指鼠标、跟踪球或触摸板。其它输入装置(未示出)可以包括麦克风、操纵杆、游戏面板、卫星天线、扫描仪等等。这些以及其它的输入装置通常通过与系统总线121相连的用户输入接口而同处理单元120相连,但是也可以通过其它的接口及总线结构相连,例如并行端口,游戏端口或者通用串联总线(USB)。图形接口182,例如Northbridge,也可以同系统总线121相连。Northbridge是一个同CPU或主处理单元120进行通信的芯片组,并且假定用于加速图形接口(AGP)通信。一种或多种图形处理单元(GPU)184可以同图形接口182进行通信。在这方面,GPU184一般包括芯片级存储器存储,例如寄存器存储,并且GPU184通常同视频存储器186进行通信。可是,GPU184只是协处理器的一个例子,并且各种协处理器装置都可以包括在计算机系统110中。监视器191或者其它类型的显示装置也通过诸如视频接口190之类的接口与系统总线121相连,所述视频接口依次同视频存储器186进行通信。除了监视器191,计算机系统还包括其它外围输出装置例如扬声器197和打印机196,它们通过输出外围接口195相连。
该计算机系统可以通过使用与一个或多个远程计算机,例如一个远程计算机180之间的逻辑连接来在网络或分布式环境中运行。该远程计算机180可以为个人计算机,服务器,路由器,网络PC,对等装置或者其它的普通网络节点,并且尽管在图1中仅仅示出了存储器存储装置181,但其通常包括上面所述的与计算机系统110相关的多个或全部元件,。图1中的逻辑连接包括局域网(LAN)171以及广域网(WAN)173,但是也可以包括其它的网络/总线。这种网络环境在家中,办公室,企业计算机网络,内联网以及国际互连网中是很平常的。
当用于LAN网络环境中时,计算机系统110通过网络接口或适配器170通LAN171相连。当用于WAN网络环境中时,计算机系统110一般包括用于在WAN173、例如国际互连网上建立通信的调制解调器172或者其它装置。该调制解调器172可以是内部的或外部的,它可以通过用户输出接口160或者其它合适的装置与系统总线121相连。在网络环境中,与计算机系统110相关的所述程序模块或者其中的一部分可以被存储在远程存储器存储装置中。作为例子,但并不仅限于,图1说明了远程应用程序185驻留在存储器存储装置181上。需要明确的是,所示的网络连接是示例性的,并且也可以使用在计算机之间建立通信链接的其它装置。
鉴于用户计算以及国际互连网的交融,各种分布式计算结构已经或者正在被开发。向个人或商业用户同样地提供用于应用程序以及计算装置的可无缝交互操作的、并且网页使能的接口,使得计算行为渐渐面向Web浏览器或者网络。
例如,MICROSOFT的.NET平台包括服务器,标准件服务,例如基于Web的数据存储以及可下载的装置软件。虽然这里的示例性实施例是根据驻留在计算装置上的软件进行描述的,可是本发明的一个或多个部分也可以通过操作系统,应用程序接口(API),或者协处理器、显示装置和请求对象任何之间的“中间人”对象,使得可以通过在所有的.NET的语言以及服务中被支持或者存取、经由所有的.NET的语言以及服务来支持或者存取、以及在其它的分布式计算结构被支持或者存取,来执行根据本发明的操作。
许可交易
当用户购买用于在计算机系统110上运行的软件产品时或者之后的一段时间内,就会发生许可交易。该软件产品,例如可以为具有软件程序的用收缩薄膜包装的产品,其中这些软件程序被存储在可运送的计算机可读介质中,例如DVD,CDROM,或者软盘。该软件产品也可以通过网络进行电子发货。用户将软件产品载入到计算机系统110中。可是,没有许可数据是无法运行该软件的。为了接收该许可数据,用户必须通过被软件许可人信任的实体,例如许可交换所进行接触,来“激活”该软件。该交换所例如是产品制造商或者授权第三方。通过向用户提供所需的许可数据,该激活过程允许用户为了在一个特定的计算机系统上安装以及使用而激活该软件产品。
同交换所之间的接触可以是从计算机系统110通过网络例如因特网或拨号连接与交换所计算机之间进行,其中如果激活成功了,则所述交换所计算机将会向计算机系统110发送许可数据。作为替换的方案,软件产品通过与图形用户接口(UI)对话窗口支持激活作用,该窗口要求用户调用交换所的服务代表。该UI窗口列出了用户传送给服务代表的信息,并且包括输入框,用于输入从服务代表获得的许可信息,其中该许可信息用于生成使得软件能够被使用的许可数据。
提供基于时间和权的灵活容许硬件ID
在一个实施例中,与软件相关的许可文件包括激活HWID、时间向量、权向量以及阈值记分。在检验许可时,计算当前的硬件ID(HWID)。对于待考虑的一组部件类型中的各个部件类型,对这种类型的部件进行查询。各个结果都是散列的。结果数值包括当前HWID。为了允许使用软件,计算机系统的当前HWID必须与激活HWID基本匹配。使用时间向量、权向量、和阈值记分来确定是否发生基本匹配。
在一个实施例中,如图2所示,许可数据200包括激活HWID210,权向量220,时间向量230,以及阈值记分240。该信息在运行期间被用来确定当前系统的HWID是否表示在当前系统上允许使用软件。
在一个实施例中,参照图1,用于计算HWID的部件类型为:声卡(位于输出外围接口195中);网卡(位于网络接口170中);BIOS133;CDROM驱动器155;显示适配器(包括GPU184);磁盘装置151,SCSI适配器,磁盘适配器,处理器120,以及RAM132。当然,在不脱离本发明的精神和范畴的情况下也可以采用其它的部件,并且这些部件的一个或多个的任何组合也是可以使用的。
在计算HWID时,执行即插即用(PnP)查询或者其它的查询来为这些部件确定标识符。其中的一部分,例如处理器120就可以用序列号来标识。其它的,例如BIOS133可以用BIOS133的一部分来标识,例如存储在ROM131中的BIOS的前两个千字节。RAM132,例如,可以用其全部的存储容量来进行标识。
作为一个进一步的例子,网卡可以用MAC地址来标识。该MAC(媒体访问控制)地址为标识该网卡的唯一地址。在局域网(LAN)或其它网络中,使用MAC地址作为计算机系统的唯一硬件编号。当计算机系统同因特网相连时,该编号被用于索引该计算机系统的正确IP地址。该网卡的MAC地址是一个唯一的编号,它是由其制造商烧制到网卡中的。地址块被指定给各个网卡制造商,并且被硬编码至他们的网卡上的芯片中。
如图,对于每一部件类型,激活HWID210包括在激活时存在的该种类型的部件数量。激活HWID210还包括用于每一部件的一个数值。在一个实施例中,硬件标识符是散列的,用以生成一个散列数值,该数值被包括在HWID中。例如,如图2所示,在激活时安装了四个CDROM。在一个实施例中,各个部件的散列值被存储在HWID中。例如,cdrom1,cdrom2,cdrom3,以及cdrom4是用于示例性激活HWID210中的4个CDROM的散列标识符。
在一个实施例中,用于对部件标识符进行散列的散列函数是一个模数函数。例如,表示HWID210中的BIOS部件的散列值可以是BIOS的前两个千字节,模为8。当然,在不脱离本发明的精神和范畴的情况下也可以采用其它的散列函数。
在一个实施例中,许可数据200中还包括权向量220和阈值记分240。当对新近计算出的HWID同激活HWID210进行比较,以便确定是否允许该计算机系统运行该许可数据200对应的软件时,对系统中特定部件类型的各个部件进行查询。对于已存在的特定部件类型的各个部件,对查询进行散列以生成散列的部件标识符。这些散列的部件标识符被包含在新近计算出的HWID中。
对激活HWID以及新近计算的HWID进行比较。对运行匹配记分总数进行保持。对于各个部件类型,如果新近计算出的HWID中该种类型的部件的散列数值中任何一个与激活HWID210中该种部件类型的散列数值中的任何一个相匹配,则匹配记分增加。在计算完匹配记分之后,如果匹配记分大于或者等于阈值记分,则当前HWID与激活HWID基本匹配。在另一个实施例中,HWID必须精确匹配,以便使匹配记分增加。在另一个实施例中,激活HWID中给定类型的各个部件必须存在于新近计算出的HWID中,使得该种部件类型的匹配记分能够增加。用来确定一种部件类型HWID之间的匹配的其它方法也是可以构思出的,在不脱离本发明的精神和范畴的情况下也是可以采用的。
权向量220控制增加量。例如,匹配的BIOS标识符使得匹配记分每次增加3,而匹配CDROM标识符使得匹配记分每次仅增加1。
另外,在一个实施例中,在计算匹配记分时也可以采用时间向量230。对于任何部件,如果时间向量230包括用于该部件的数值,则该数值就是在对两个HWID进行比较时使用该部件的期满时间。例如,如图2中所示,在示例性许可数据200中,为一些部件存储了时期。在示例性许可数据200中,为CDROM部件存储了2年的时期。这样,如果自从许可后过去了两年,则相应于当前存在于计算机系统中的CDROM的不匹配数值不应当对匹配记分产生负影响。因此,无论在计算机系统中是否发现了其标识符与存储在激活HWID210中的数值相匹配的CDROM(即cdrom1,cdrom2,cdrom3,以及cdrom4),匹配记分都会加1(权向量220中的数值)。在另一个实施例中,当匹配记分是由于期满而不是匹配增加时,匹配记分增加预先指定的数值(不考虑权向量220数值)。
为了允许出现期满的情况,可以在许可数据200中包括许可日期。候选的,每个时间向量230值都可以用设定日期来表示。另外,也可以采用安全措施来保证系统时钟的复位不会阻止对日期进行比较。当在用于一个部件类型的时间向量230中不存在有效数据时(在一个实施例中,当该值被置为零时),通常都是用该部件来确定匹配记分。例如,时间向量230指示只有MAC、CDROM,以及显示部件期满。而其它部件并没有期满。
在一个实施例中,许可数据中只包括权向量而没有时间向量。在该实施例中,为了比较两个HWID,要考虑到各个部件,并且仅仅在有匹配的情况下增加匹配记分。如图3所示,在步骤310中,获得系统各个相关部件的当前标识信息。在步骤320中,将当前标识信息同从激活HWID中获得的存储部件标识信息进行比较。如果使用了散列函数,则对特定信息进行散列并同存储的部件标识信息进行比较,其中所述存储部件标识信息已经被散列了。在步骤330中,当存在一个给定部件类型的匹配时,匹配记分增加与部件类型相关的权向量中的数值。并且在步骤340中,在考虑到所有的部件之后,将匹配记分同阈值匹配记分进行比较,用来确定匹配是否成功。这种测试可以以多种方式进行。例如,如果通过比较来确定一个系统是否被许可运行软件,如果匹配成功的话,则该计算机系统就被允许来运行软件。
在另一个实施例中,许可数据200中只包括时间向量而没有权向量。在该实施例中,当发现部件匹配时,则将相同的值加到匹配记分中,而不考虑进行比较的部件类型。可是,如果为部件类型指定的时间值已经过去了,则即使没有发现匹配,该匹配记分也会增加。如图4所示,在步骤410中,获得HWID分量,即用于系统各个相关部件的当前标识信息。在步骤420中,将当前标识信息和从激活HWID210中获得的存储部件标识信息进行比较。在步骤430中,当存在一个给定部件类型的匹配的时候、或者在该部件类型的期满时间已经过去的情况中,增加匹配记分。和前面一样,在步骤440中,对匹配记分同阈值匹配记分进行比较,用来确定匹配是否成功。
在一个实施例中,许可数据200中包括匹配记分。在另一个实施例中,匹配记分被硬编码为对是否存在基本匹配进行计算。这样,许可数据200可以只包括时间向量,只包括权向量,或者同时包括时间和权向量,并且这些组合中的任何一个都可以包括一个匹配记分,或者作为选择,可以依靠匹配记分,该匹配记分被硬编码为对是否存在基本匹配进行计算。
通过使用时间向量,权向量,或者它们全部,该许可数据不再是被动数据,而是在许可比较数据中起到作用。该许可人或者交换所能够对用户经验具有更多的控制。例如,许可人可以对用户进行调查并发现他们中相当大的一部分每2年就会更换视频卡。这就可以使得许可人将新许可中的视频卡的时间值设定为2年。后来,可能确定新的视频卡将在6个月内进入市场,并且接着大部分用户将会更换他们的视频卡。该许可人可以将新许可中的时间值设置为6个月。可以确定用户更换CDROM时有一个很宽的变化性,但是其它的时间值在描述用户行为时是非常准确的。这就可以使得许可人将CDROM的权值设置为小于其它部件的权值。
在一个实施例中,使用权向量对关于用户的信息中的变化作出反应。用户获得软件的第一许可。接着,例如,当估计时间期满时,用户获得软件的第二许可。将第一激活HWID同第二激活HWID进行比较,并且对部件权值进行适当的调整。在一个这样的实施例中,已经更换过的部件被给定一个相对于并没有被更换的部件增加了的权。这反映出一种假设,也就是新近更换过的部件不会再次被更换。在另一个这样的实施例中,已经更换过的部件被给定一个相对于并没有被更换的部件降低了的权。这反映出一种假设,也就是用户可能要测试或者更换用户已经更换过的部件。
结论
如上所述,虽然已经参照各种计算装置以及网络结构对本发明的示例性实施例进行了描述,但是基础的概念也可以应用于希望在其中实现硬件ID的任何计算装置或系统。因此,本发明的方法和系统可以应用于各种应用及装置。例如,本发明的算法可以应用于计算装置的操作系统,作为装置上的单独对象,作为另一个对象的一部分,作为可从服务器下载的对象,作为装置或对象与网络之间的“中间人”,作为分布式对象等等。虽然这里选择了示例性的编程语言、名称以及例子作为各种选择的代表,但是这些语言、名称以及例子并不意图进行限制。本领域内的技术人员能够认识到的是,可以有各种方式来提供用于实现与本发明所实现的系统和方法相同、类似或者等同的对象代码。
这里所述的各种技术可以结合硬件或软件实施,或者最好是使用两者的组合来实施。因此,本发明的方法和设备,或者其中的某些方面或者部分可以采取被记录在有形介质中的程序代码的形式,所述有形介质例如是磁盘,CD-ROM,硬盘驱动器,或者任何其它的机器可读存储介质,其中当程序代码被载入到一个诸如计算机的机器中并被执行时,该机器就成了实现本发明的设备。在可编程计算机上执行程序代码的情况下,计算装置一般包括处理器,可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,以及至少一个输出装置。例如通过使用数据处理API等等对本发明信号处理服务进行使用的一个或多个程序,最好是以高级程序或者面向对象的编程语言实现,用以同计算机进行通信。可是如果需要的话,该程序也可以用汇编或者机器语言来实现。在任何情况下,所述语言可以是一种编译或解释语言,并且同硬件结构组合在一块。
本发明的方法和装置也可以通过在程序代码中实施的通信,其中该程序代码通过一些传输介质来传送,例如通过电气布线或电缆连接,经由光纤,或者借由任何其它传输形式,其中,当所述程序代码被接收和载入机器、并被该机器执行时,例如EPROM,门阵列,可编程逻辑器件(PLD),客户端计算机,视频记录器等,或者具有上述示例性实施例中所述信号处理功能的接收机将成为实现本发明的装置。当在通用目的处理器上实现时,程序代码和处理器组合在一块,用以提供唯一装置,该装置运行以便调用本发明功能性。因此,与本发明结合使用的任何存储技术都总是硬件和软件的结合。
虽然已经参照各个附图的优选实施例对本发明进行描述,但是可以理解的是,也可以使用其它类似的实施例,或者对上述实施例进行修改以及增加,以便为实现与本发明相同的功能而不与之背离。进一步来讲,需要强调的是,各种计算机平台,包括手持设备操作系统以及其他应用程序专用操作系统,都是可以构想出的,尤其是随着无线网络装置的数量的连续增长。更进一步来讲,本发明可以在多个处理芯片或设备中或者经由多个处理芯片或设备来实现,并且同样经由多个设备实施存储。因此,本发明并不应仅仅限于任何简单的实施例,而是应该被解释为根据所附权利要求的广度和范畴。

Claims (57)

1、一种方法,该方法使用包括一个和多个部件的计算机系统对软件产品强制实行软件许可条款的方法,该方法包括:
对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过将已存储的相关部件类型权加至所述匹配记分来增加匹配记分;以及
将所述匹配记分与阈值匹配记分进行比较。
2、根据权利要求1的方法,其中所述的对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的步骤包括:
对于该部件类型的各个部件,获得一个相关的单独当前部件标识。
3、根据权利要求2的方法,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的步骤包括:
如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
4、根据权利要求2的方法,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的步骤包括:
如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
5、根据权利要求1的方法,其中所述的对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的步骤包括:
对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
对查询结果进行散列。
6、根据权利要求1的方法,其中所述的通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过加上将已存储的相关部件类型权来增加匹配记分的步骤包括:
对于各个部件类型,确定是否已经过去了一个相关的期满时间;以及
对于各个部件类型,如果所述期满时间已经过去了,则加上所述存储的相关部件类型权。
7、根据权利要求1的方法,其中所述的通过相对于于所述部件类型组中各个部件类型增加存储的相关部件类型权来计算匹配记分的步骤包括:
对于各个部件类型,确定是否经过去了一个相关的期满时间已;以及
对于各个部件类型,如果所述期满时间已经过去了,则加上预先指定的期满时间增量。
8、根据权利要求1的方法,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
9、一种方法,该方法使用包括一个和多个部件的计算机系统对软件产品强制实行软件许可条款的方法,该方法包括:
对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正或者如果已经过去了一个相关期满时间,则通过将已存储的相关部件类型权加至所述匹配记分,来增加匹配记分;以及
将所述匹配记分与阈值匹配记分进行比较。
10、根据权利要求9的方法,其中所述的对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的步骤包括:
对于该部件类型的各个部件,获得一个相关的单独当前部件标识。
11、根据权利要求10的方法,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的步骤包括:
如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
12、根据权利要求10的方法,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的步骤包括:
如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
13、根据权利要求9的方法,其中所述的对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的步骤包括:
对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
对查询结果进行散列。
14、根据权利要求9的方法,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
15、一种许可数据结构,用于使能使用包括一个和多个部件的计算机系统对软件产品强制实行软件许可条款,包括:
硬件ID,其中包括多个数值,各个数值都相应于所述部件类型之一的一个部件标识;
权向量,对于各个所述一个或多个部件类型,该向量包括所述部件类型的权值。
16、根据权利要求15的许可数据结构,还包括:
阈值记分,用于确定所述硬件ID是否与第二硬件ID基本匹配。
17、一种许可数据结构,用于使能使用包括一个和多个部件的计算机系统对软件产品强制实行软件许可条款,包括:
硬件ID,其中包括多个数值,各个数值都相应于所述部件类型之一的一个部件标识;
时间向量,对于各个至少一个所述部件类型,该向量包括所述部件类型的一个期满值。
18、根据权利要求17的许可数据结构,还包括:
阈值记分,用于确定所述硬件ID是否与第二硬件ID基本匹配。
19、根据权利要求17的许可数据结构,还包括:
权向量,对于各个所述一个或多个部件类型,该向量包括所述部件类型的权值。
20、根据权利要求19的许可数据结构,还包括:
阈值记分,用于确定所述硬件ID是否与第二硬件ID基本匹配。
21、一种计算机可读介质,用于使能使用包括一个或多个部件的计算机系统对软件产品强制实行软件许可条款,在其上存储了至少一个计算机可执行模块,该模块中包括用于执行一种方法的计算机可执行指令,该方法包括:
对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过将已存储的相关部件类型权加至所述匹配记分来增加匹配记分;以及
将所述匹配记分与阈值匹配记分进行比较。
22、根据权利要求21的计算机可读介质,其中所述的对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的步骤包括:
对于该部件类型的各个部件,获得一个相关的单独当前部件标识。
23、根据权利要求22的计算机可读介质,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的步骤包括:
如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
24、根据权利要求22的计算机可读介质,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的步骤包括:
如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
25、根据权利要求21的计算机可读介质,其中所述的对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的步骤包括:
对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
对查询结果进行散列。
26、根据权利要求21的计算机可读介质,其中所述的通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过加上将已存储的相关部件类型权来增加匹配记分的步骤包括:
对于各个部件类型,确定是否已经过去了一个相关的期满时间;以及
对于各个部件类型,如果所述期满时间已经过去了,则加上所述存储的相关部件类型权。
27、根据权利要求21的计算机可读介质,其中所述的通过相对于于所述部件类型组中各个部件类型增加存储的相关部件类型权来计算匹配记分的步骤包括:
对于各个部件类型,确定是否经过去了一个相关的期满时间已;以及
对于各个部件类型,如果所述期满时间已经过去了,则加上预先指定的期满时间增量。
28、根据权利要求21的计算机可读介质,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
29、一种计算机可读介质,用于使能使用包括一个或多个部件的计算机系统对软件产品强制实行软件许可条款,在其上存储了至少一个计算机可执行模块,该模块中包括用于执行一种方法的计算机可执行指令,该方法包括:
对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正或者如果已经过去了一个相关期满时间,则通过将已存储的相关部件类型权加至所述匹配记分,来增加匹配记分;以及
将所述匹配记分与阈值匹配记分进行比较。
30、根据权利要求29的计算机可读介质,其中所述的对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的步骤包括:
对于该部件类型的各个部件,获得一个相关的单独当前部件标识。
31、根据权利要求30的计算机可读介质,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的步骤包括:
如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
32、根据权利要求30的计算机可读介质,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的步骤包括:
如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
33、根据权利要求29的计算机可读介质,其中所述的对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的步骤包括:
对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
对查询结果进行散列。
34、根据权利要求29的计算机可读介质,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
35、一种计算机装置,用于为使用包括一个和多个部件的计算机系统而对软件产品强制实行软件许可条款,包括:
装置,用于对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
装置,用于对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
装置,用于通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过将已存储的相关部件类型权加至所述匹配记分来增加匹配记分;以及
装置,用于将所述匹配记分与阈值匹配记分进行比较。
36、根据权利要求35的计算机装置,其中所述的、用于对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的装置包括:
装置,用于对于该部件类型的各个部件,获得一个相关的单独当前部件标识
37、根据权利要求36的计算机装置,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的、用于对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的装置包括:
装置,用于如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
38、根据权利要求36的计算机装置,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的、用于对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的装置包括:
装置,用于如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
39、根据权利要求35的计算机装置,其中所述的、用于对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的装置包括:
装置,用于对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
装置,用于对查询结果进行散列。
40、根据权利要求35的计算机装置,
其中所述的、用于通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正,则通过加上将已存储的相关部件类型权来增加匹配记分的装置包括:
装置,用于对于各个部件类型,确定是否已经过去了一个相关的期满时间;以及
装置,用于对于各个部件类型,如果所述期满时间已经过去了,则加上所述存储的相关部件类型权。
41、根据权利要求35的计算机装置,其中所述的、用于通过相对于于所述部件类型组中各个部件类型增加存储的相关部件类型权来计算匹配记分的装置包括:
装置,用于对于各个部件类型,确定是否经过去了一个相关的期满时间已;以及
装置,用于对于各个部件类型,如果所述期满时间已经过去了,则加上预先指定的期满时间增量。
42、根据权利要求35的计算机装置,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
43、一种计算机装置,用于使能使用包括一个和多个部件的计算机系统对软件产品强制实行软件许可条款,包括:
装置,用于对于一组部件类型中各个部件类型,从所述计算机系统中获得一个相关的当前部件标识;
装置,对于所述部件类型组中的各个部件类型,将所述相关的当前部件标识同一个相关的存储部件标识进行比较;
装置,通过以下方式计算匹配记分:对于所述部件类型组中各个部件类型,如果所述比较结果为正或者如果已经过去了一个相关期满时间,则增加匹配记分;以及
装置,用于将所述匹配记分与阈值匹配记分进行比较。
44、根据权利要求43的计算机装置,其中所述的、用于对于所述部件类型组中的各个部件类型、从所述计算机系统中获得一个相关的当前部件标识的装置包括:
装置,用于对于该部件类型的各个部件,获得一个相关的单独当前部件标识
45、根据权利要求44的计算机装置,其中对于所述组硬件部件类型中的至少一个部件类型,所述相关的存储部件标识包括一个或多个相关的单独当前部件标识,并且所述的、用于对于所述组硬件部件类型中的至少一个部件类型、将所述相关的现存部件标识同相关的存储部件标识进行比较的装置包括:
装置,用于如果任何所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
46、根据权利要求44的计算机装置,其中对于所述组硬件部件类型中的至少一个部件类型,所述的相关存储部件标识包括一个或多个相关单独当前部件标识,并且所述的、用于对于所述组硬件部件类型中的至少一个部件类型、将所述相关的当前部件标识同相关的存储部件标识进行比较的装置包括:
装置,用于如果所有所述相关单独存储部件标识同任何所述相关单独当前部件标识相匹配,则返回一个正结果。
47、根据权利要求43的计算机装置,其中所述的、用于对于一组硬件部件类型中的各个部件类型、获得一个相关的现存部件标识的装置包括:
装置,用于对具有该硬件部件类型的硬件部件进行查询,得到查询结果;以及
装置,用于对查询结果进行散列。
48、根据权利要求43的计算机装置,其中所述部件类型组包括下面当中的一个或者多个选择:
声卡,网卡,BIOS,CDROM驱动器,显示适配器,磁盘装置,SCSI适配器,磁盘适配器,处理器,以及RAM。
49、一种为了许可软件能够在包括一个和多个部件的计算机系统运行而对软件产品强制实行软件许可条款的方法,该方法包括:
生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
生成时间向量,对于各个至少一个所述部件类型,该时间向量包括所述部件类型的一个期满值。
50、一种为了许可软件能够在包括一个和多个部件的计算机系统运行而对软件产品强制实行软件许可条款的方法,该方法包括:
生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
生成权向量,对于各个所述一个或多个部件类型,该向量包括所述部件类型的一个权值。
51、根据权利要求50的方法,其中第二硬件ID在前一时间描述所述计算机系统,其中所述生成权向量的步骤包括:
对于所述组部件类型中的各个部件类型,将所述权值调整为预先指定的值,其中对于所述组部件类型,所述第一硬件ID不同于所述第二硬件ID。
52、一种计算机可读介质,用于许可软件能够在包括一个或多个部件的计算机系统运行而对软件产品强制实行软件许可条款,在其上存储了至少一个计算机可执行模块,该模块中包括用于执行一种方法的计算机可执行指令,该方法包括:
生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
生成时间向量,对于各个至少一个所述部件类型,该时间向量包括所述部件类型的一个期满值。
53、一种计算机可读介质,用于许可软件能够在包括一个或多个部件的计算机系统运行而对软件产品强制实行软件许可条款,在其上存储了至少一个计算机可执行模块,该模块中包括用于执行一种方法的计算机可执行指令,该方法包括:
生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
生成权向量,对于各个所述一个或多个部件类型,该向量包括所述部件类型的一个权值。
54、根据权利要求53的计算机可读介质,其中第二硬件ID在前一时间描述所述计算机系统,其中所述生成权向量的步骤包括:
对于所述组部件类型中的各个部件类型,将所述权值调整为预先指定的值,其中对于所述组部件类型,所述第一硬件ID不同于所述第二硬件ID。
55、一种装置,用于为了许可软件能够在包括一个和多个部件的计算机系统运行而对软件产品强制实行软件许可条款,包括:
装置,用于生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
装置,用于生成时间向量,对于各个至少一个所述部件类型,该时间向量包括所述部件类型的一个期满值。
56、一种装置,用于为了许可软件能够在包括一个和多个部件的计算机系统运行而对软件产品强制实行软件许可条款,包括:
装置,用于生成硬件ID,该硬件ID包括多个数值,各个数值都相应于所述部件中的一个部件标识;
装置,用于生成权向量,对于各个所述一个或多个部件类型,该向量包括所述部件类型的一个权值。
57、根据权利要求56的装置,其中第二硬件ID在前一时间描述所述计算机系统,其中所述生成权向量的装置包括:
装置,对于所述组部件类型中的各个部件类型,将所述权值调整为预先指定的值,其中对于所述组部件类型,所述第一硬件ID不同于所述第二硬件ID。
CNB2003101097951A 2003-01-06 2003-12-30 用于提供基于时间和权的灵活容许硬件id的系统和方法 Expired - Fee Related CN100377022C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/337,064 US7302590B2 (en) 2003-01-06 2003-01-06 Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
US10/337,064 2003-01-06

Publications (2)

Publication Number Publication Date
CN1609746A true CN1609746A (zh) 2005-04-27
CN100377022C CN100377022C (zh) 2008-03-26

Family

ID=32655428

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101097951A Expired - Fee Related CN100377022C (zh) 2003-01-06 2003-12-30 用于提供基于时间和权的灵活容许硬件id的系统和方法

Country Status (14)

Country Link
US (2) US7302590B2 (zh)
EP (1) EP1452940B1 (zh)
JP (1) JP4651947B2 (zh)
KR (1) KR101014140B1 (zh)
CN (1) CN100377022C (zh)
AT (1) ATE419587T1 (zh)
AU (1) AU2004200043B2 (zh)
BR (1) BRPI0400061B1 (zh)
CA (1) CA2454842C (zh)
DE (1) DE60325550D1 (zh)
DK (1) DK1452940T3 (zh)
ES (1) ES2318085T3 (zh)
MX (1) MXPA04000166A (zh)
RU (1) RU2372653C2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644442B2 (en) * 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US9547780B2 (en) 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US20140013449A1 (en) 2005-07-28 2014-01-09 Adobe Systems Incorporated Delayed validation for software licensing and activation
US8712973B2 (en) * 2006-04-11 2014-04-29 International Business Machines Corporation Weighted determination in configuration management systems
US8769703B2 (en) 2006-04-27 2014-07-01 Unisys Corporation System and method for providing a mechanism to virtualize a perpetual, unique system identity on a partitioned computer system
US8521652B2 (en) * 2006-05-19 2013-08-27 Hewlett-Packard Development Company, L.P. Discovering licenses in software files
US7610483B2 (en) * 2006-07-25 2009-10-27 Nvidia Corporation System and method to accelerate identification of hardware platform classes
US20080183690A1 (en) 2007-01-26 2008-07-31 Ramachandran Puthukode G Method for providing assistance in making change decisions in a configurable managed environment
FR2912529A1 (fr) * 2007-02-13 2008-08-15 France Telecom Couplage d'un programme informatique ou de donnees a un systeme de reference et verification associee.
US8528109B2 (en) * 2007-10-09 2013-09-03 Microsoft Corporation Optimizing amount of data passed during software license activation
EP2260427A4 (en) * 2008-02-20 2016-11-16 Ericsson Telefon Ab L M FLEXIBLE NODEIDENTITY FOR TELECOM NODES
US8676714B2 (en) * 2009-06-11 2014-03-18 Microsoft Corporation Hardware specific product license validation
US20100332400A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Use of Fingerprint with an On-Line or Networked Payment Authorization System
US20110093503A1 (en) * 2009-10-19 2011-04-21 Etchegoyen Craig S Computer Hardware Identity Tracking Using Characteristic Parameter-Derived Data
US8316421B2 (en) * 2009-10-19 2012-11-20 Uniloc Luxembourg S.A. System and method for device authentication with built-in tolerance
US9256899B2 (en) * 2010-01-15 2016-02-09 Dell Products, L.P. System and method for separation of software purchase from fulfillment
US9235399B2 (en) * 2010-01-15 2016-01-12 Dell Products L.P. System and method for manufacturing and personalizing computing devices
US10387927B2 (en) * 2010-01-15 2019-08-20 Dell Products L.P. System and method for entitling digital assets
US9100396B2 (en) * 2010-01-29 2015-08-04 Dell Products L.P. System and method for identifying systems and replacing components
US8170783B2 (en) 2010-03-16 2012-05-01 Dell Products L.P. System and method for handling software activation in entitlement
US9218491B2 (en) * 2010-04-13 2015-12-22 Hewlett-Packard Development Company, L.P. Systems and methods for providing security in an electronic device
GB2484268A (en) 2010-09-16 2012-04-11 Uniloc Usa Inc Psychographic profiling of users of computing devices
US8657000B2 (en) 2010-11-19 2014-02-25 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8739869B2 (en) 2010-11-19 2014-06-03 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8656996B2 (en) 2010-11-19 2014-02-25 Exxonmobil Upstream Research Company Systems and methods for enhanced waterfloods
US8974661B2 (en) 2010-12-30 2015-03-10 Exxonmobil Upstream Research Company Methods for separation of bitumen from oil sands
EP2686806B1 (en) * 2011-03-15 2019-09-11 Irdeto B.V. Change-tolerant method of generating an identifier for a collection of assets in a computing environment using a secret sharing scheme
AU2011101296B4 (en) 2011-09-15 2012-06-28 Uniloc Usa, Inc. Hardware identification through cookies
US8949401B2 (en) 2012-06-14 2015-02-03 Dell Products L.P. Automated digital migration
US9779219B2 (en) 2012-08-09 2017-10-03 Dell Products L.P. Method and system for late binding of option features associated with a device using at least in part license and unique ID information
US8856757B2 (en) * 2012-11-08 2014-10-07 International Business Machines Corporation Automatic license entitlement calculation
AU2013100802B4 (en) 2013-04-11 2013-11-14 Uniloc Luxembourg S.A. Device authentication using inter-person message metadata
US8695068B1 (en) 2013-04-25 2014-04-08 Uniloc Luxembourg, S.A. Device authentication using display device irregularity
CN104850519A (zh) * 2015-04-10 2015-08-19 宁波萨瑞通讯有限公司 电子产品中硬件id更换情况的远程统计系统及方法
US10365931B2 (en) * 2017-02-27 2019-07-30 Microsoft Technology Licensing, Llc Remote administration of initial computer operating system setup options
US20200220865A1 (en) * 2019-01-04 2020-07-09 T-Mobile Usa, Inc. Holistic module authentication with a device
US20230297724A1 (en) * 2022-03-15 2023-09-21 Microsoft Technology Licensing, Llc Hardware identity restoration post-device repair

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2145068A1 (en) * 1992-09-21 1994-03-31 Ric Bailier Richardson System for software registration
JP2924560B2 (ja) * 1993-04-23 1999-07-26 日本電気株式会社 有償プログラムプロダクト利用チェック装置
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5815709A (en) * 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
JPH10283271A (ja) * 1997-03-31 1998-10-23 Victor Co Of Japan Ltd 暗号鍵生成方法,光ディスク,情報再生方法及びその装置
US6148407A (en) * 1997-09-30 2000-11-14 Intel Corporation Method and apparatus for producing computer platform fingerprints
US6501846B1 (en) * 1997-11-25 2002-12-31 Ethentica, Inc. Method and system for computer access and cursor control using a relief object image generator
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6697948B1 (en) 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
DE10023820B4 (de) * 2000-05-15 2006-10-19 Siemens Ag Software-Schutzmechanismus
DE10155752A1 (de) * 2001-11-14 2003-05-22 Siemens Ag Lizenzierungsverfahren
JP4313941B2 (ja) * 2000-09-29 2009-08-12 株式会社東芝 半導体記憶装置
KR100375220B1 (ko) * 2000-10-12 2003-03-07 삼성전자주식회사 플래시 메모리 장치 형성방법
US6898286B2 (en) * 2000-12-19 2005-05-24 International Business Machines Corporation Method and system verifying product licenses using hardware and product identifications
US20040073789A1 (en) * 2002-10-15 2004-04-15 Powers John Stephenson Method for collaborative software licensing of electronically distributed computer programs
TWI255683B (en) * 2005-01-05 2006-05-21 Asustek Comp Inc Portable electronic device and battery module thereof

Also Published As

Publication number Publication date
JP4651947B2 (ja) 2011-03-16
DK1452940T3 (da) 2009-03-23
CA2454842C (en) 2012-10-23
KR101014140B1 (ko) 2011-02-14
CA2454842A1 (en) 2004-07-06
US7302590B2 (en) 2007-11-27
KR20040063824A (ko) 2004-07-14
MXPA04000166A (es) 2005-06-17
RU2004100639A (ru) 2005-06-10
AU2004200043B2 (en) 2009-07-16
RU2372653C2 (ru) 2009-11-10
CN100377022C (zh) 2008-03-26
US7779274B2 (en) 2010-08-17
ATE419587T1 (de) 2009-01-15
US20040133792A1 (en) 2004-07-08
EP1452940B1 (en) 2008-12-31
BRPI0400061B1 (pt) 2016-08-09
EP1452940A1 (en) 2004-09-01
BRPI0400061A (pt) 2004-10-19
JP2004213676A (ja) 2004-07-29
AU2004200043A1 (en) 2004-07-22
ES2318085T3 (es) 2009-05-01
DE60325550D1 (de) 2009-02-12
US20080040619A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
CN1609746A (zh) 用于提供基于时间和权的灵活容许硬件id的系统和方法
US7552341B2 (en) Licensing the use of software on a particular CPU
CN102081534B (zh) 自动模块化且安全的引导固件更新
US8756694B2 (en) Prevention of exploitation of update rollback
CN101404014B (zh) 用于创建和更新批准文件和受信任域数据库的方法和系统
US8738822B2 (en) System and method for controlling operation of a component on a computer system
JP6469028B2 (ja) オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法
CN1519676A (zh) 在多用户许可环境中制止软件盗版的系统与方法
CN1694031A (zh) 限制软件更新的方法和系统
WO2007076631A1 (en) Usage model of online/offline license for asset control
US20060191016A1 (en) Systems and methods for free demonstration of online premium content prior to purchase
CN1782942A (zh) 用改进的特征键值启用系统特征
CN104769598A (zh) 用于检测非法应用程序的系统和方法
KR20090097174A (ko) 소프트웨어 라이센스에서의 조건부 정책
US20100169879A1 (en) Resource distribution system and method
US7702903B1 (en) License re-allocation system and method
CN1696910A (zh) 有效地打补丁
CN101030149A (zh) 快速的基于补丁的方法调用
Khiste et al. HISEA: HIerarchical SEed aligner for PacBio data
WO2008130744A1 (en) Binary verification service
US11914717B2 (en) Information handling systems and related methods to cryptographically verify information handling system platform components and track events associated with the platform components
CN103098066A (zh) 环境条件识别型许可证消费系统和方法,以及功能提供服务器和程序
MXPA06001113A (es) Arquitectura de licencia flexible para la obtencion de una licencia de aplicacion digital

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20080326

Termination date: 20191230

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