CN101689237A - 激活系统体系结构 - Google Patents

激活系统体系结构 Download PDF

Info

Publication number
CN101689237A
CN101689237A CN200880021792A CN200880021792A CN101689237A CN 101689237 A CN101689237 A CN 101689237A CN 200880021792 A CN200880021792 A CN 200880021792A CN 200880021792 A CN200880021792 A CN 200880021792A CN 101689237 A CN101689237 A CN 101689237A
Authority
CN
China
Prior art keywords
software
service
licence
equipment
binding
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
CN200880021792A
Other languages
English (en)
Other versions
CN101689237B (zh
Inventor
A·T·休斯
A·V·巴克斯特
M·肯沃西
A·弗兰克
O·西梅塔特
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 CN101689237A publication Critical patent/CN101689237A/zh
Application granted granted Critical
Publication of CN101689237B publication Critical patent/CN101689237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/184Intellectual property management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

描述了用于为安装在设备上的软件生成许可证的技术。生成包括描述该软件的许可证特性的一个或多个权利的权利证书。这一个或多个权利是根据有关该软件的第一信息来确定的。第一信息包括购买令牌和包信息中的至少一项。生成根据该软件的绑定类型的绑定证书。生成根据所述绑定证书和所述权利证书的许可证。该绑定证书标识该许可证所绑定的实体。

Description

激活系统体系结构
背景
可购买各种形式的计算机软件,诸如计算机可读介质。用户随后可将该软件安装在其计算机系统上。很容易复制相同的所购买的软件副本并且安装在多个机器上。软件产品厂商可能想要根据用户的许可证的范围来控制对所购买的软件产品的每一个副本的使用,例如不允许在多于一个的计算机系统上使用相同的所购买的副本。为了根据购买者的许可证条款控制对所购买的软件产品的副本的使用,可使用不同的技术。一种现有技术包括要求在安装之后激活该软件产品以便使用该安装的软件。为了激活目的,可在每一个购买者的软件产品的副本中包括由字母和/或数字组成的产品密钥。在每一个购买者的软件产品的副本中可包括不同的产品密钥。在用户将软件安装在计算机上之后,生成一个硬件标识符。该硬件标识符可以被称为其上安装了该软件的用户计算机的“指纹”。可使用用户计算机的多个硬件属性来产生硬件标识符。作为激活过程的一部分,用户用产品密钥注册硬件标识符。将该硬件标识符与产品密钥相关联并且可使用该硬件标识符来跟踪和控制对同一所购买的副本的后续激活。例如,相同的所购买的软件副本可安装在两个各自具有不同硬件标识符的计算机系统上。可针对这些计算机系统中具有第一硬件标识符的第一计算机系统来完成激活。用户可尝试激活该软件以便在第二计算机系统上使用。如果许可证条款仅允许所购买的软件副本在单个计算机系统上激活,则针对第二计算机的激活过程会失败。作为在第二计算机上激活该软件的一部分,确定具有该产品密钥的软件已经在具有第一硬件标识符的第一计算机上激活。
概述
提供本概述以便用简化形式介绍在下面的详细描述中进一步描述的一些概念。本概述不是旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本文描述用于为许可目的激活软件的技术。生成包含一个或多个描述该软件的许可证特性的权利的权利证书。这一个或多个权利是根据有关该软件的第一信息来确定的。生成根据包含在该软件的一个或多个权利中的绑定类型绑定证书。该绑定证书标识该许可证所绑定的实体。生成根据该绑定证书和该权利证书的许可证。
附图描述
通过结合附图阅读下面的示例性实施例的详细描述,本发明的特征和优点将变得更显然,这些附图是:
图1是例示可结合本文所述技术使用的环境的实施例的示例;
图2是其中可包括图1的设备的组件的实施例的示例;
图3是可结合在线激活处理使用的组件的实施例的示例;
图3A是权利数据库的示例表示;
图4是可包含在权利证书内的信息的示例;
图5是可结合在线激活处理由许可证服务执行的处理步骤的流程图;
图6是可结合在具有存储在其上的许可证的设备上启动软件来执行的处理步骤的流程图;
图6A是许可证数据库的示例表示;
图7是可结合离线激活处理使用的组件的实施例的示例;
图8是安装标识符的示例;
图9是例示离线激活服务(OAS)如何解析安装标识符的示例;
图10是可结合生成确认标识符由OAS执行的处理步骤的流程图;
图11是确认标识符的示例;
图12是可结合在设备上启动软件来执行的处理步骤的流程图;以及
图13是可结合使用与在先已经执行了的离线激活处理相关联的信息而在设备上启动软件来执行的处理步骤的流程图。
详细描述
现在参考图1,所示的是在其中可实现使用本文所述技术的实施例的合适计算环境。图1所示的计算环境仅是合适计算环境的一个示例,并不旨在对在本文结合允许软件产品为了许可目的而被激活而描述述的技术的使用范围和功能提出任何限制。本文的技术可使用权利服务、可选的绑定服务和许可证服务以建立与由用户安装的软件包相关联的权限和任何发放的许可证被要求绑定的身份。结合在线激活模式,许可证服务可发放许可证,在每次调用为其发放这个许可证的软件时要验证该许可证。结合离线激活模式,可向用户提供确认标识符,用于在每次调用为其发放该许可证的软件时结合用于验证的其它信息来使用。
可在由一个或多个计算机或其它设备执行的计算机可执行指令诸如程序模块的一般上下文中描述本文所述的技术。一般而言,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。一般可按需在各种实施例中组合或分布各程序模块的功能。本领域的技术人员将会理解,本文所述的技术适合于与其它通用或专用计算环境或配置一起使用。众所周知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、无线设备诸如蜂窝电话、PDA、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等等。
图1中包括的是设备12、网络14和服务器15。例如,设备12可以是计算机诸如个人计算机,具有用于与其用户交互I/O的显示输出设备和输入设备。在下面的段落中,对设备12提供其它细节。然而,在一实施例中,相同的细节也可应用于一个或多个可连接至网络14的其它设备。尽管图1的示例10仅包括单个设备和单个服务器,但使用本文所述技术的实施例可包括任何数量的设备和其它组件。
图1包括的设备12是示例性的,为了例示在本文结合软件组件所述的技术。在一个实施例中,提供本文所述的功能的任何设备12可被包括在实施例中。设备12可包括用于执行包含在一个或多个程序模块中的代码的处理器。在本文其它地方更详细描述的是可由设备12结合本文所述技术执行的程序模块。设备12可在网络化环境中运行并且与服务器15和图1未示出的其它计算机或者组件通信。如本文所述,设备12可以是个人计算机。在其它实施例中,根据使用设备12的特定实施例,设备12的功能或者设备12本身可被包括在另一个组件中。如将在下面的段落中更详细地描述地,软件可被安装在设备12上,该软件需要在使用之前激活。本文所述的技术可用于激活在设备12上安装的软件。
结合在下面的段落中更详细地描述的在线激活模式,设备12可与服务器15的一个或多个服务通信以便激活安装在设备12上的软件。在线激活模式是当设备12具有与一个或多个为产品激活提供服务的服务器的连接时可为使用而激活已安装的软件的一种方式。
本领域的技术人员将会理解,尽管设备12在该示例中被示为在网络化环境中通信,但设备12可利用不同通信介质与其它组件通信。例如,设备12可利用网络连接和/或本领域已知的其它类型的链接来与一个或多个组件通信,这些链接包括但不限于因特网、内联网、或者其它与服务器15和/或其它组件的无线和/或硬连线连接。
应当注意,尽管设备12被例示为具有与服务器15的网络连通性,但本文所述的技术可结合不通过网络而直接连接至服务器15的设备来使用。此外,还应当注意,设备12还可在没有与服务器的连通性的独立模式中操作。在这些实例中,安装在设备12上的软件可使用离线激活模式来激活,这在下面的段落中更详细地描述。
现在参考图2,所示的是可包括在设备12中并可结合执行本文所述技术的各种实施例来使用的组件的示例。设备12可包括一个或多个处理单元20、存储器22、网络接口单元26、存储30、一个或多个其它通信连接24、以及用于促进设备12的组件之间的通信的系统总线32。
取决于用户设备12的配置和类型,存储器22可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存存储器等)或者这两者的某种组合。另外,设备12还可具有其它特征/功能。例如,设备12还可包括其它存储(可移动和/或不可移动),这包括但不限于USB设备、磁或光盘或带。这样的其它存储在图2中由存储30例示。图2的存储30可包括一个或多个具有可由设备12使用的相关联的计算机可读介质的可移动和不可移动存储设备。在一个实施例中,存储30可以是与为设备12提供非易失性存储的计算机可读介质相关联的大容量存储设备。尽管如在该示例中例示的计算机可读介质的描述可参考大容量存储设备诸如硬盘或CD-ROM驱动器,但本领域技术人员将会理解,计算机可读介质可以是可由设备12访问的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。存储器22以及存储30是计算机存储介质的示例。计算机存储介质包括以存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存存储器或其它存储器技术、CD-ROM、(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者任何可用于存储所需信息并且可由设备12访问的其它介质。
设备12还可包括通信连接24,其允许计算机与其它设备和组件诸如作为示例的输入设备和输出设备通信。这些和其它设备在本领域中是众所周知的并且不需要在此详细讨论。
在一个实施例中,设备12可使用通过网络至远程计算机的逻辑连接在如图1所示的网络化环境中操作。设备12可通过连接至总线32的网络接口单元26连接至图1的网络14。网络接口单元26也可结合其它类型的网络和/或远程系统和组件使用。
一个或多个程序模块和/或数据文件可包括在存储30中。在设备12的操作期间,包括在存储30中的这些元素中的一个或多个也可驻留在存储器22的一部分中,诸如例如存储在用于控制用户计算机12的运行的RAM中。图2的示例例示各种组件,包括操作系统40、一个或多个应用程序46、安装和激活软件50、和其它组件、输入和/或输出48。
应用程序46可以是由用户安装在设备12上的软件。一旦应用程序46已经被安装,则它可以被激活以便允许该应用程序执行。作为激活过程的结果,获得验证数据以便结合验证启动该程序的后续尝试是否遵从许可条款来使用。所使用的验证数据可随着具体激活模式而改变。在一个实施例中,可使用两种不同激活模式之一来执行激活过程,即在上面简述并且在下面更详细地描述的在线激活模式和离线激活模式。每一模式可产生不同的验证数据供在设备12上使用。当设备12具有与服务器15的连通性时可使用在线激活模式。作为在线激活模式的结果生成的验证数据可包括电子形式的许可证。该许可证可由服务器15生成并且被传送至设备12。该许可证可存储在设备12上并且可结合应用程序的每次后续启动来使用。关于离线激活模式,设备12未通过与服务器15的连接获得验证数据。关于离线激活模式,设备12可不连接至任何网络并且可以独立运行。验证数据可包括通过其它通信介质获得的信息,诸如例如通过与采用顾客服务代表(CSR)或交互式语音识别(IVR)系统进行通信的用户的电话来获得。作为离线模式激活过程的结果获得的这些验证数据可包括通过除计算机网络以外的电话或者替换通信介质获得的确认标识符。可诸如通过在设备12上人工数据输入来输入验证数据,并且存储该验证数据用于在启动应用程序46时设备12上的后续使用。
设备12还包括结合根据本文所述技术安装和激活软件来使用的安装和激活软件50。组件50还可包括结合每一次程序启动或调用所使用的软件。每当调用程序46时,组件50可执行验证处理以确保遵从许可证或者根据所使用的具体激活模式先前获得的其它验证数据。
操作系统40可以是各种市场上可购买的或者私有操作系统中的任何一个。例如,可结合控制设备12的操作将操作系统40加载到存储器中。
应当注意,图1的服务器15可包括一个或多个具有与结合图2所述的那些组件相似的组件。在下面的段落中更详细地描述可包括在服务器15中用于本文所述的激活技术的不同服务或者模块。
现在参考图3,所示的是可结合本文所述的用于在线激活模式的激活技术使用的组件的示例。如上所述,在线激活模式允许在计算机102连接至服务器15时进行对在计算机102上的安装软件的激活。包括在图3中的是权利服务(ES)104、绑定服务(BS)110和许可证服务(LS)120。在一个实施例中,组件104、110和120全部可以被包括在单个服务器中。另选地,本领域技术人员将会理解,服务104、110和120中的一个或多个可位于与计算机102通信的不同服务器上。
可在计算机或其它设备102上安装软件之后开始激活过程。作为安装对话的一部分,可向用户提示是否要执行激活处理。在提供多种激活模式的实施例中,还可向用户提示以选择可能的激活模式之一,诸如在线激活模式。在选择了在线激活模式后,计算机102可开始进行现在将描述的在线激活过程的处理。结合执行在线激活过程,计算机102可联系服务器上的每一个服务104、110和120。有关服务器地址诸如因特网地址以及连接至服务器和适当的服务所需的其它数据的信息可被包括在组件50中或者以其它方式传送至组件50。作为正在为其执行激活的软件的安装结果,组件50可位于计算机102上。ES、BS和/或LS每一个的位置诸如因特网地址可随组件50包括。这样的信息可被合并到组件50的软件的数据文件或者编码部分中。如在下面的段落中所描述地,可使用其它手段传送这些服务中的一个或多个的位置。例如,ES可提供要使用的LS的因特网地址。
计算机102可联系ES 104。计算机102可向ES 104发送购买令牌和包信息106并且接收权利证书(EC)108。购买令牌和包信息可被存储在计算机102上,供在启动正在为其执行激活处理的应用程序或者其它软件时的后续处理来使用。
ES 104基于购买令牌和包信息106确定什么权限或权利与在计算机102上已安装的软件相关联。购买令牌可以是与正在为其执行激活的安装在计算机102上的所购买的软件副本一起接收的产品密钥。购买令牌可以是用于区别或区分所购买的同一软件产品的不同副本的字母数字和/或其它字符串。所购买的软件产品诸如文字处理程序的每一副本可包括用于安装在计算机上的相同软件。购买令牌可用于区分所购买的这些副本。例如,可在与所购买的软件包括在一起的标签或其它纸上提供购买令牌。可在激活之前作为安装对话的一部分向用户提示输入购买令牌。例如,购买令牌可以是包括在软件产品的热缩塑料包装上的信息。购买令牌可包括5位产品编码、表示软件产品的制造者的地址的3位场所值、和随着所制造的产品的每一实例而递增的7位序号。例如,包信息可以是标识软件产品的信息,诸如用于通过名字来标识软件产品以区别该软件产品与可能的其它软件产品的字母数字和/或其它字符串。可由安装软件提供包信息来用于激活。另选地,可在激活之前提示用户输入如可与软件产品的购买令牌一起包括的包信息。
基于购买令牌和包信息106,ES 104确定在计算机102上的已安装软件的权限或权利。ES 104可使用购买令牌和包信息106来检索权利数据库104a以获得对应的权利。这些权利表示许可证的属性或者许可证特性,诸如许可证条款和条件以及与许可证的条款和条件有关的其它方面。例如,权利使用属性来描述许可证的各种条款和条件,诸如许可证有效期和/或起始日期和有多少计算机可以执行该同一软件副本,以及诸如许可证的类型和绑定类型的有关方面。在下面的段落中更详细地描述上述类型的权利的每一个等。
参考图3A,所示的是权利数据库的示例表示。示例150例示如何使用购买令牌和/或包信息156来索引数据库154以获得对应的一个或多个权利152。作为进一步的说明,该数据库可将包括在列160中的包信息用为第一索引。可在逻辑上组织该数据库,使得每一产品的权利如166a所示地被分组在一起。在该示例中,在166a中包括具有第一包信息集合即包信息1的每一产品。每一产品可具有一个或多个相关联的购买令牌的范围,在数据库中可包括针对这些购买令牌的一个或多个权利的集合。例如,包信息1可具有被包括在列164中的第一权利集合即权利集合1,它用于列162的第一购买令牌即购买令牌1。购买令牌1可用作权利数据库的第二索引来获得权利集合1。数据154还可在列162中指定为其检索权利集合的购买令牌的范围。例如,如果购买令牌处于由“购买令牌2..购买令牌m”指定的范围内,则可使用列164的第二权利集合即权利集合2。
这些权利可表示许可证的类型。不同许可证类型的示例可包括但不限于:永久的、基于试用的许可证、订阅、和按使用或使用次数许可证。基于试用的许可证可以是用于一段预定义的时间诸如30天的许可证。订阅许可证也可以是用于一段预定义的时间或时期的基于时间的许可证。对于订阅许可证,可结合在应用程序启动或调用时间执行的处理步骤来向用户给予/提示续展许可证的机会。使用次数许可证表示可启动或调用软件产品进行执行的次数。
权利可表示总许可证有效期,因此不管许可证的类型,该许可证都会在一个确定的日期期满。例如,软件可以是现场测试版本并且在一特定日期之后不能使用,而不管许可证时间段是在何时开始的。作为另一个示例,软件产品可以是电子百科全书或者包含注明日期的信息的其它项目,使得该许可证会在一确定的日期期满,到该日期就认为该信息过期了。权利还可表示起始或开始日期,例如,用于仅可从一特定起始日期起使用的软件。
权利可表示可在多少计算机系统上激活软件。例如,用热缩塑料包装的软件可以是单用户许可证,因此所安装的软件的每一副本只可在一台计算机上激活。如将结合许可证服务器120描述地,可使用这样的属性使得在不同计算机上激活同一软件副本的后续尝试失败。应当注意,该权利也可被称为表示可能的激活绑定的数量。如在本文其它地方更详细地描述地,激活绑定是指结合软件产品的激活将许可证绑定到绑定实体的实例的时候。
权利可表示可使用的绑定的一种或多种类型。结合激活服务,为购买令牌生成的许可证被绑定到特定的绑定类型实例。权利可表示可绑定许可证的绑定的一种或多种类型。在一个实施例中,可表示的不同可能的绑定类型包括硬件标识符、用户认证信息、USB密钥标识符、和可信平台模块(TPM)。可为激活绑定发放不同的许可证,随后可将它绑定于一绑定类型的特定实例。
硬件标识符绑定类型的实例是描述其上安装了正在为其执行激活处理的软件的计算机的硬件的硬件标识符。硬件标识符可被称为计算机的硬件“指纹”,它基于其上安装了该软件的计算机或其它设备的特定硬件。硬件标识符可以是多位值。这个多位值的一个或多个位的每一分组可以根据计算机或其它设备的不同硬件组件来确定。例如,硬件标识符中的一个或多个位可从计算机网卡的全局地址来导出。例如,硬件标识符中的其它位可从其它硬件组件导出,诸如硬盘驱动器的序号、RAM的字节数等。例如在Pearce等人授权公告日为2001年6月5日的、题为SOFTWARE ANTI-PIRACY SYSTEM THAT ADAPTSTO HARDWARE UPGRADES(适于硬件升级的软件防盗版系统)的美国专利No.6,243,468中更详细地描述了生成硬件标识符。一实施例也可使用其它技术,诸如Gunyakti等人在2004年9月9日公开的、题为COMPACT HARDWAREIDENTIFICATION FOR BINDING A SOFTWARE PACKAGE TO ACOMPUTER SYSTEM HAVING TOLERANCE FOR HARDWARECHANGES(具有针对硬件变化的容忍度的用于将软件包绑定到计算机系统的紧凑硬件标识)的美国公开No.2004/0177354号(美国专利申请No.10/378,294,2003年3月3日提交)。硬件标识符的大小在实施例中可以改变。例如,一实施例可使用32位或更长的的硬件标识符。
硬件标识符用于标识特定的计算机系统并且按需将一个计算机系统与另一个区别开来以限制软件盗版。不同的硬件标识符表示标识符所基于的底层硬件组件以某种方式不同,如可以是不同的计算机系统的情形。在这些情形中,当基于一购买令牌的现有许可证已经被绑定到一个硬件标识符时,可检测出将基于同一购买令牌的许可证绑定到另一个硬件标识符的尝试,并且如本文中结合许可证服务描述地对使用激活技术的单个计算机系统许可证禁止该绑定。然而,还可以是这样一种情形,同一个计算机系统的硬件标识符已经因为该同一个计算机系统的硬件配置的改变而改变。例如,安装新的硬盘驱动器可改变计算机的硬件标识符。一实施例还可结合确定两个硬件标识符是否标识同一计算机系统来使用某一水平的容忍度。例如,容忍度可说明在不同时刻生成的同一计算机系统的硬件标识符之间允许的差异水平,如因为硬件升级或替换而造成的差异。例如,在具有多位硬件标识符的实施例中,容忍度可允许在两个硬件标识符中有一或二位的差异,并且可认为这两个硬件标识符仍标识同一计算机系统。为了与许可证绑定,实施例可结合生成硬件标识符和确定两个硬件标识符是否指的是同一计算机系统来使用不同水平的容忍度和技术。上述美国专利No.6,243,468和美国公开No.2004/0177354描述了用于确定两个硬件标识符是否指的是同一计算机系统的不同容忍度水平和技术。作为激活过程的结果,结合硬件标识符绑定类型,将许可证绑定到硬件标识符,并且因而绑定到与该硬件标识符对应的计算机系统。计算机102可在其上包括具有根据在实施例中使用的特定硬件标识符技术生成硬件标识符的能力的软件。
一实施例还可允许其它类型的绑定,诸如将许可证绑定到用户认证信息。例如,用户认证信息可包括用户登录名/标识符和口令等。采样这样的许可证绑定类型,单用户许可证允许安装在不同计算机上的软件执行,只要该软件执行与在绑定中指定的用户认证信息相关联。例如,软件产品1可安装到10台计算机上。软件产品1可具有单用户许可证,为其执行的激活导致生成被绑定到用户1的帐户信息的许可证。用户1可用用户1帐户和凭证登录到这10台计算机中的任意一台上并且执行软件产品1。
另一类型的绑定可基于与便携式安全标识设备诸如道尔芯片、USB设备、智能卡等相关联的标识符。如本领域已知的道尔芯片是附连到I/O端口诸如USB端口、串行端口或并行端口的物理设备。结合便携式安全标识设备绑定类型,对该便携式安全标识设备进行绑定。结合关联于USB设备的USB密钥标识符,单用户许可证允许基于是否插入了具有在绑定实例中指定的USB密钥标识符的USB设备来允许软件的执行。如此,单用户许可证的同一软件可安装在多个计算机系统上。只要绑定中指示的USB密钥标识符被插入每一个计算机系统中,就允许在该计算机系统上执行软件。如本领域已知的,USB密钥标识符可与每一个USB设备相关联并且可由每一个特定的USB厂商分配。本领域技术人员将会理解,用于USB设备的绑定类型和相关联的USB标识符也可结合其它便携式非易失性存储器设备使用,并且不应被解释为仅应用于在本文中为了示例性目的而例示的USB设备。在下面的段落中,对作为便携式安全标识设备的示例的USB密钥标识符进行参考。然而,该特定类型的便携式安全标识设备只是为了本文所述技术的说明而被提出的。本领域技术人员将会理解,可利用任何其它类型的便携式安全标识设备。
另一类型的绑定可基于可信平台模块(TPM)。如本领域已知的,TPM是被设计成向利用它的软件提供基本的安全相关功能的微芯片。例如,TPM芯片可安装在PC或膝上型计算机的主板上,并且经由硬件总线与系统的其余部分通信。TPM具有存储在TPM本身中主密钥,该主密钥永不会泄露。包含TPM的系统具有使用主密钥创建密码密钥以及结合主密钥和由其生成的密钥执行加密和解密的能力。在本文其它地方描述结合绑定来使用主密钥或者由其生成的密钥来创建绑定到特定TPM的许可证。采用TPM绑定类型,允许从具有TPM模块的计算机系统激活的软件在具有该TPM模块的该计算机系统上执行。
权利还可表示哪些其它信息是(如果有)接收许可证所需要。例如,可要求用户提供名字、地址、电话号码等。可为随产品、厂商等改变的许可证激活的不同要求定制上述权利。例如,如果要求用户提供名字和地址信息,则可在激活之前获得该信息并且作为除包信息和购买令牌之外的附加数据发送到ES104。如果提供了包括名字和地址信息的附加信息,则ES返回权利证书108。否则,检测到错误并且激活过程可通过在计算机102的输出设备上显示的适当错误消息来终止。ES 104可检查以查看是否提供了所有需要的信息。例如,该附加信息可被存储在供厂商使用的服务器的数据库中。如果没有提供附加信息,则代替用错误消息终止激活过程,ES 104可标识所提供的信息中的缺失,例如地址信息不完整或缺少。ES 104可向计算机102发出针对缺少信息的请求,并且对其上的用户给予提供该缺少信息并获得权利证书(EC)108的另一个机会。
权利连同可能的其它信息可在EC 108中返回给计算机102。EC 108可以是数字签名的文档,诸如数字签名的XML文档,其中包括包信息、购买令牌和用于由ES 104从计算机102接收的购买令牌和包信息106的权利信息。例如,权利信息可表示许可证是供在单个计算机系统上使用的具有硬件标识符绑定的永久许可证。EC 108是这些许可权限或权利的经证实的表达。如上所述,ES 108可将用于包信息和/或购买令牌的特定组合的权利存储在权利数据库中。可基于包信息和/或购买令牌索引该数据库以返回权利信息。例如,对于标识文字处理产品的包信息,权利信息可表示许可证的一种或多种类型、包括硬件标识符绑定在内的一种或多种绑定类型等等。对于文字处理产品,购买令牌的预定范围可与试用订阅相关联。如果所接收的购买令牌被包括在预定的范围内,则可返回权利信息以表示试用订阅许可证、开始和结束日期等等。如果购买令牌不在预定范围内,则许可证类型可表示为永久的而不是试用许可证。结合EC,EC 108可由ES 104使用ES 104的私钥来签名。
在一个实施例中,包括在EC 108中的信息的第一部分可由计算机102和LS 120两者使用。包括在EC 108中的信息的第二部分可仅由LS 120使用。作为将在下面更详细地说明的示例,计算机102可阅读有关所要求的绑定类型如硬件标识符绑定类型的权利信息。计算机102可为硬件标识符绑定类型生成绑定证书而不使用BS 110。如此,计算机102可阅读包括在EC中的绑定类型以查看计算机102是否应当生成绑定证书或者以其它方式与适当的绑定服务通信。
现有参考图4,所示的是EC 108的示例表示。示例200包括购买令牌204、包信息206和权利202。这些权利202可包括未加密部分210和加密部分212。未加密部分210可以是人可读形式的,诸如纯文本。未加密部分可由计算机102以及LS 120使用。加密部分212可仅由LS 120使用。包括在未加密部分中的信息可包括硬件绑定类型、许可证的类型、日期信息、使用许可证的使用次数、购买令牌授权被激活的计算机数量、单个计算机可重新激活或者重复激活同一许可证的次数等等。如在本文其它地方描述的,未加密信息可由计算机102作为激活过程的一部分来使用并且在激活完成之后还可结合后续的程序启动或调用来使用。如上所述,计算机102可检查包括在部分210中的绑定类型。作为在其中由计算机102使用210中的信息的另一个示例,可提供用于LS 120、BS 110等的URL或其它地址信息作为EC 108的一部分。如此,ES 104可使用EC 108表示用于不同软件产品的BS和/或LS的不同提供者站点。EC 108也可用于表示为在特定实施例中使用而定制的其它项目。
在一个实施例中,EC 108是XML文档,每一个权利可表示为XML属性。例如,订阅(SUBSCRIPTION)许可证类型、硬件标识符(表示为HWDID)绑定和许可证服务URL可被表示为:
    <License>SUBSCRIPTION</License>
    <Binding>HWDID</Binding>
    <LicenseServiceURL>HTTPS://license.microsoft.com/</LicenseServiceURL
>
应当注意,加密部分212可用212中的信息的预期消费者或用户的公钥来加密。在该示例中,212中的信息的消费者可以是LS 120。如此,ES可使用LS的公钥来加密212中的信息,它可由LS使用LS的私钥来解密。以该方式,只有LS 120才能解密和阅读部分212。部分212可包括与许可证的发放有关的信息。例如,部分212可表示为特定的软件产品和购买令牌每天发放免费的许可证。
现在回来参考图3,一旦计算机102接收了EC 108,即可执行用于生成绑定证书的处理。如上所述,EC 108包括由计算机系统102使用的绑定类型信息。在使用包括在EC 104中的信息之前,计算机102可使用ES 104的公钥来验证EC108的真实性。例如,ES 104可使用各种不同散列算法中的任何一个来基于包括在其中的数据为EC 108生成散列值。ES 104随后可使用ES的私钥加密该散列值并且包括加密的散列值作为ES的数字签名。在EC 108到达计算机102处后,计算机102可基于该EC使用与ES 104相同的散列技术来生成第一散列值。计算机102还可使用ES的公钥解密数字签名(加密的散列值)并将解密的数字签名与计算出的第一散列值相比较。如果这些值相同,则EC验证成功。上面所述的是结合验证所接收的数字签名的证书该服务和其它服务如何验证数字签名的文档的示例。
在成功验证EC 104之后,计算机102检查包括在EC 104中的绑定类型以确定该绑定类型是否用于硬件标识符。如果是,则如元素142所示,计算机102可在本地生成绑定证书(BC)114。否则如元素140所示,外部BS 110可用于生成BC 114。如果绑定类型是硬件标识符,则计算机102可生成包括计算机102的硬件标识符即硬件“指纹”的BC。BC随后可使用计算机102的私钥来数字签名。计算机102的私钥可作为安装过程的一部分而被包括并且被存储在计算机102上的已知位置。
如果绑定类型是除硬件标识符以外的另一类型,则使用适当的外部BS110。绑定数据112以及BS可随着绑定的类型而改变。例如,对于TPM绑定,可使用TPM BS。可获得用于计算机102的TPM的公钥证书并将其发送到BS110用于证明。如本领域已知的,该证明可由认证机构(CA)执行以证实包含在证书中的公钥属于该证书中提到的TPM实体。如果BS成功证明了TPM的公钥证书,则BS 110通过向计算机102发送一个使用TPM的公钥加密的随机数来应答。其中具有TPM模块的计算机102使用该TPM的私钥解密该随机数。计算机随后向BS 110发送从该BS接收的加密值以及这个解密的随机数。BS110通过使用该BS的私钥数字签名的BC 114来应答。BC 114包括用TPM的公钥加密的随机数和该随机数的未加密可读形式。应当注意,例如,加密可使用本领域已知的任何加密技术,诸如AES(高级加密标准)、三重DES(数据加密标准)、RC4(或ARCFOUR)等等。
结合其它可能的绑定类型,BC可包括用于绑定类型实例的适当信息并且对应的BS可执行绑定实例的证明。例如,对于USB或其它便携式安全设备标识符绑定类型,BS可证明用于绑定的USB或其它标识符并且生成由该BS数字签名且包括关联于该便携式安全设备的USB或其它标识符的BC。对于用户认证绑定类型,BS可证实用户认证信息并且生成由BS数字签名且包括用户认证信息的BC。应当注意,如果BC包括机密或敏感信息,诸如用户认证信息的一部分的情形,这样的信息可以被编码、加密等等。对于用户认证,可存储用户域和登录名或者用户的操作系统的其它安全标识符(SID)。
一旦计算机102具有BC 114,计算机102即向LS 120发送绑定和权利证书(EC和BC)122。
参考图5,所示的是可由LS 120结合在线激活处理执行的处理步骤的流程图。在步骤252,LS 120分别使用ES 104和BS 110的公钥LAI验证EC和BC。在硬件标识符绑定类型的情形中,BS 110实际上是计算机102,因此相应地使用计算机102的公钥来由LS 120对BC进行验证。否则,使用适当的外部BS的公钥来对BC进行验证。ES的公钥可用于对EC进行验证。在BC和EC 122都已经成功验证之后,在步骤254,LS 120从EC检索绑定类型信息并且确定BC是否包含如在BC中指示的正确绑定类型。如果否,激活过程可通过给计算机102一个错误状况和消息来终止。在步骤256,从EC获得可能的激活绑定的数量和购买令牌。结合硬件标识符绑定类型,可能的激活绑定的数量可以是对其发放许可证的计算机系统的数量。在步骤258,作出是否存在对该购买令牌发放的任何现有许可证的判断。在一个实施例中,可查询LS 120的数据库120a以确定已在数据库中的用于在步骤256从EC获得的购买令牌的现有许可证的数量。如果步骤258评估为否,则控制继续至步骤266以发放新的许可证。有关发放的新许可证的信息被记录在LS 120的数据库120a中,供结合本文所述的其它处理步骤来使用。所记录的许可证信息包括有关该许可证所绑定的用于来自步骤256的相关联的购买令牌的每一绑定实例的信息。例如,对于有关硬件标识符绑定的为购买令牌发放的每一个许可证,许可证服务数据库可将绑定的硬件标识符与该购买令牌相关联。如果许可证被绑定到USB密钥标识符或者用户认证信息,则对应的信息(例如USB密钥标识符或用户认证信息)可被存储在数据库中并与购买令牌相关联。如果许可证被绑定到TPM实例,则可存储用于可信CA(认证机构)的TPM根的公钥证书。如果许可证被绑定到用户认证实例,则可存储用户的域和用户名或者SID。
如果步骤258评估为是,则控制继续至步骤260以确定当前的激活是否涉及许可证重新发放。可以通过将BC中的绑定信息诸如硬件标识符与许可证数据库中有关现有的已发放的许可证的信息作比较来作出这是许可证重新发放的判断。结合绑定于已发放许可证的硬件标识符,回想如本文所述的,可结合作出两个硬件标识符是否匹配的判断来使用不同水平或程度的容忍度。例如,如果已经存在硬件配置改变,诸如安装了新的硬盘驱动器、存储器升级等等,则取决于如何生成硬件标识符,为同一计算机系统生成的两个硬件标识符可能不能精确匹配。可使用如在本文其它地方所述的不同技术来确定两个硬件标识符是否基本上相同因而标识同一计算机系统而构成许可证重新发放。如果步骤260确定这是许可证重新发放,则控制继续至步骤266以重新发放许可证。结合重新发放,可基于接收的EC和BC以及相应更新的许可证数据库的当前信息来生成新的许可证。通过重新发放,分配的许可证的净数量不会改变。如果步骤260评估为否,则控制继续至步骤262以确定所允许的许可证数量是否已经达到使得发放另一个新许可证将会超过所允许的激活的最大数量。如果步骤262评估为否,则控制继续至步骤266以发放新许可证并且如结合250的其它处理步骤描述的那样在许可证服务数据库中记录许可证信息。如果步骤262评估为是,则控制继续至步骤264并且不发放新的许可证。
关于由许可证服务执行的流程图250的处理,可能的结果是重新发放许可证、发放新的许可证、或者未能发放许可证。未能发放的原因可以是超过了所允许的许可证数量或者其它条件诸如验证失败。
应当注意,EC中的任何加密的权利也可由LS使用LS的公钥来解密。解密的权利可结合许可证发放来使用。
在一个实施例中,许可证可以是包括EC和BC的数字证书。许可证可用LS 120的私钥来签名。可将从LS 120接收的许可证存储在计算机102上用于结合后续启动已经为其发放的许可证的软件来使用。
如本文所述,ES 104生成被包括EC中的权利,取决于具体权利,这些权利可由计算机102和LS 120消费。这些权利包括随后由LS 120和计算机102在实施如在其中表达的许可证条款和条件时使用的许可证特性的详细说明。上述许可证条件或条款由LS 120作为由LS 120执行的许可证发放过程的一部分来实施。许可证条件或条款随后还由计算机系统102在每次启动或调用与该许可证相关联的软件(例如,具有购买令牌和包信息)时实施。
将要描述的是可由计算机102在每次调用已经为其发放了许可证的软件时执行的处理。参考硬件标识符的许可证绑定类型作出下面的描述,但可使用其它绑定类型。本领域技术人员将会理解,在实施例中,步骤280可适于以与不同的绑定类型一起使用。
现在参考图6,所示的是可在设备诸如计算机102上在每次启动或调用安装在其上的软件以便执行时进行的处理步骤的流程图。280的处理步骤确定软件在计算机上的执行是否根据先前使用在线激活处理生成的有效许可证。在执行流程图280的步骤之前,许可证可位于该设备上。在一个实施例中,该许可证可存储在特定位置诸如目录、文件等之中。如果在预期位置中未找到许可证,则终止软件启动。280的处理在确定计算机102上有许可证之后继续。
在步骤282,例如结合对由ES 104数字签名且由计算机102接收的EC 108的验证,如在本文其它地方所述地使用LS的公钥验证许可证签名。在步骤284,计算机102基于计算机系统102的当前硬件配置生成新的硬件标识符。在步骤286,将从步骤284生成的硬件标识符与BC中的硬件标识符相比较以确保这两个硬件标识符被认为是匹配的。如在本文其它地方所述,这样的判断可相对于可接受的容忍度或者差异的程度来作出,使得作出这两个硬件标识符是否是标识同一计算机的基本上相同硬件标识符的判断。步骤286的不成功验证可表示该许可证是为不同于当前正在尝试启动其上的软件的计算机的计算机发放的并且不允许该软件执行。该执行可通过有关该失败的并且建议与该软件的厂商或提供者联系以提供帮助的错误消息来终止。在步骤288,执行验证处理以确保EC的购买令牌匹配如从先前的激活过程存储的购买令牌。在步骤290,可根据EC中适用于启动验证的权利来执行处理。步骤290可包括根据一个或多个权利执行处理并且在响应时采取动作,诸如进入与用户的对话或者其它动作。例如,步骤290处理可使用在这些权利中的表达的日期信息以确定许可证是否已经期满、根据指定的起始日期启动等等。如果许可证已经期满,则可用询问用户是否想要续展该许可证的对话来向该用户提示。如果该用户通过用户输入或者选择表示他/她想要续展,则计算机102可连接至网站以开始续展过程。如果许可证基于使用次数,诸如1000次调用后该许可证期满,则可在每次调用时显示一个消息,它表示当前的使用次数和剩余的调用次数。如果该许可证具有许可证期满数据,则在当前日期处于自许可证有效期起的预定时间段内的情况下,可向用户显示一个消息以表示该许可证将在MM天内期满。有关许可证的信息可被记录在用户计算机102上并且可结合以后的调用来使用。这样的信息可被存储在目录、文件、注册表设置等计算机102上的已知位置中。例如,这样的信息可包括特定软件应用程序的当前调用或使用次数。
如果步骤286、288和/或290的验证过程不成功,则当前执行软件的尝试失败并且可通过适当的消息、进一步的指令等来终止。
如本文所述,在实施例中可使用除硬件标识符之外的不同绑定类型。如果绑定类型是TPM,则步骤284和286可用与TPM实例有关的处理代替。如在本文其它地方针对TPM所述,BC可包括加密以及未加密形式的随机数,诸如可读文本。加密的随机数使用TPM的公钥来加密。对于每次程序启动,计算机102可使用TPM的私钥来解密该加密的随机数并且将该解密的结果与包括在BC中的未加密的随机数相比较。如果这两个解密的随机数匹配BC的未加密随机数,则为包括在计算机102上的TPM发放许可证,步骤286验证处理成功,并且允许被启动的软件执行。否则使用TPM绑定实例的步骤286失败。如果绑定类型是USB标识符,则步骤284获得被插入到正在其上尝试执行的计算机的当前USB设备的USB标识符。在步骤286,将当前的USB标识符与如包括在BC中的许可证的USB标识符相比较。如果这两者匹配,则为当前插入到计算机102中的设备的USB标识符发放许可证。否则,使用USB标识符实例的步骤286失败。如果绑定类型是用户认证信息,则步骤284获得当前登录到正在其上尝试执行的计算机中的用户的当前用户认证信息。在步骤286,将当前用户认证信息与如包括在BC中的许可证的用户认证信息相比较。如果这两者匹配,则为当前用户认证信息发放许可证。否则步骤286失败。
上面描述了用于在计算机102具有与包括各种服务的一个或多个服务器的连通性时的在线激活模式的处理。作为替换方案,一个实施例中的激活处理可使用离线激活模式来执行。
参考图6A,所示的是许可证数据库的示例表示。示例700例示如可被包括在图3的LS 120的许可证数据库中的信息。许可证数据库702可以是逻辑组织的,使得对于给定的购买令牌704,可以检索对应的许可证信息706。许可证信息706标识为给定的购买令牌发放的许可证。示例700更详细地例示了许可证数据库702可如何逻辑地组织并且还包括许可证信息706的示例。购买令牌被包括在列710中。数据库702可包括用于给定购买令牌的信息的一个或多个记录。在列712和714中描述许可证信息。在该示例中,对每一个购买令牌允许多于一种类型的绑定,因此在列712中表示给定购买令牌的不同绑定类型。列714包括已为其生成许可证的绑定实例。元素722标识许可数据库中用于第一购买令牌(“购买令牌1”)的许可信息。如在712中表示的,已经为两个绑定类型——硬件标识符(HDWID)和USB标识符(USB ID)发放了用于购买令牌1的许可证。已经为购买令牌1发放了两个许可证。每个许可证绑定到硬件标识符绑定类型实例HWDID1和HWDID2之一。已经为购买令牌1发放了被绑定到USB标识符绑定类型实例USBID1的一个许可证。在724中包括用于购买令牌2的许可证。如在712中表示的,已经为硬件标识符(HDWID)绑定类型发放了许可证。已经为购买令牌2发放了两个许可证。每一许可证分别绑定到列714的硬件标识符绑定类型实例HWDID3和HWDID4之一。
本领域技术人员将会理解,示例700仅表示可在实施例中使用的许可证数据库的一种可能的表示和组织。另外,与如包括在示例700中的其它信息也可被包括许可证数据库中并且可随着可能的绑定类型而改变。
参考图7,所示的是例示可使用本文所述技术执行的离线激活处理的示例。示例300包括离线激活服务(OAS)302和CSR/IVR系统332。结合离线激活模式,仅可支持硬件标识符类型绑定。与在线激活模式一样,正在激活的软件是安装在设备336上的。在该示例中,设备336可以是与提供如结合在线激活模式描述的那些服务的服务器没有连通性的计算机。执行激活过程的用户最初可联系CSR/IVR系统332并且提供安装标识符310。安装标识符可包括一个或多个组件并且可由设备336作为安装过程的一部分来生成。作为安装过程的一部分,可询问用户他/她想用在线还是离线激活模式来激活。如果选择离线模式,则可向用户提供安装标识符。在一个实施例中,安装标识符可根据设备336的硬件标识符、正在为其执行激活的已安装软件的包信息和该软件的购买令牌来形成。可执行在设备336上的软件以形成硬件标识符。可作为安装对话的一部分输入购买令牌和包信息。购买令牌、包信息和硬件标识符可被存储在设备336上,供在以后启动正在为其执行激活的程序时结合验证处理来使用。
图8示出可在一实施例中使用的安装标识符的示例表示。可通过将正在为其执行激活的软件的硬件标识符(HWDID)402与包信息406和购买令牌404串接起来而形成示例400的安装标识符。硬件标识符402可以是标识设备336的硬件的各种不同硬件标识符中的任何一个。在一个实施例中,硬件标识符可以是如在美国公开No.2004/0177354中所述的紧凑硬件标识符(CHWID)。CHWID可从较大的、较冗长的硬件标识符(VHWID)形成。VHWID可由“n”个硬件类的集合形成。例如,每一个类可标识一类硬件组件,诸如硬盘驱动器、网卡、CPU等,如在本文其它地方所述。对于每一个类,可基于设备336的每一个类的特定组件为每一个组件类形成第一散列值。例如,可基于计算机中的特定硬盘驱动器或CPU形成标识串。该串可标识制造商或者对于该计算机的CPU或硬盘驱动器唯一的其它信息(例如,“INTEL 989709789798”)。可为该串标识符形成第一散列值。可串接对“n”个组件类中的每一个得到的第一散列值以形成VHWID。CHWID可通过标识用于VHWID的“n”个类中的子集“q”个类来形成。可对用于这些所选的“q”个类的第一散列值中的每一个应用第二散列函数以生成“q”个第二散列值。随后可串接这“q”个第二散列值并用作CHWID。结合为第一和第二散列值两者执行散列,可使用各种散列函数中的任何一个,诸如例如SHA-1、MD5等。VHWID和CHWID均可使用在设备336上执行的代码来形成。所得到的CHWID,或者从其形成该CHWID的VHWID,可被存储在设备336中供以后在启动正在为其执行激活的软件时结合执行验证处理来使用。CHWID可用作用于形成安装标识符的硬件标识符组件402,尽管可使用其它技术来生成402。
安装标识符310可以是编码为十进制数字的字母数字字符串,它可通过电话输入或者以其它方式传送至CSR/IVR系统332。在一个实施例中,安装标识符可以是128位的,但可使用其它大小。安装标识符的大小可以随着每一个实施例和用于形成该安装标识符的组分(例如,硬件标识符、购买令牌和包信息)每一个的大小而改变。系统332随后向OAS 302提供安装标识符310。OAS可以是连接至CSR/IVR 332的计算机系统。在OAS 302上执行的代码可解析安装标识符310以从其中提取购买令牌和包信息306。
图9例示OAS 302可如何根据配置数据452来解析安装标识符310。配置数据452可表示如在图8所示的安装标识符的布局或数据格式的各个字段。配置数据452可表示要提取安装标识符的哪些字段以获得购买令牌和包信息。配置数据可表示要提取的适当位数以及用于该提取的起始或偏移位的位置。在一个实施例中,配置数据文件452可包括用于安装标识符的布局的每一个字段的记录。每一个记录可表示位数454、标记456和指示符458。位数454可表示字段中位的大小。标记456可以是标识特定字段的文本串。指示符458可以是指示是否要提取该字段以传送到ES的标志。
回来参考图7,OAS 302提取购买令牌和包信息306并将该信息306发送到ES 304。ES 304如在本文其它地方结合在线激活模式所述地生成经数字签名的EC 308。EC 308被发送到OAS 302,后者使用ES 304的公钥验证EC 308。OAS 302随后使用其自己的私钥和包括在安装标识符的一部分中的硬件标识符来生成BC 334。BC 334包括硬件标识符并且使用OAS 302的私钥来数字签名。OAS 302将BC和EC 322发送到LS 320以获得许可证330。LS 320执行如在本文其它地方结合用于硬件标识符的在线激活模式所述的处理。上面描述了LS 320处理的可能结果并且它们可包括生成随后被发送到OAS 302的许可证330。如在本文其它地方结合在线激活模式所述,许可证330可包含BC和EC。许可证可使用LS 320的私钥来数字签名。OAS 302执行处理以确定它是否从LS 320接收到有效的许可证。
参考图10,所示的是可在实施例中由OAS 302在处理接收的许可证330时执行的处理步骤的流程图。在步骤502,可验证许可证签名。该许可证可用LS的私钥来签名。与在本文其它地方结合使用私钥生成的其它数字签名所述的类似地,可使用对应的公钥来验证该数字签名。在步骤502,在验证时使用LS公钥。在步骤504,可执行验证处理以确定许可证的购买令牌是否匹配如包括在安装标识符中的购买令牌。在步骤506,可执行对BC的验证处理。步骤506可包括将BC的硬件标识符与如包括在安装标识符中的硬件标识符相比较。在步骤508,如果步骤502、504和506的所有先前的验证处理已经成功完成,则可生成确认标识符。
参考图11,所示的是确认标识符的各字段的示例表示。确认标识符600包括OAS生成数据部分602和加密散列值604。部分602可由OAS生成并且基于包括在EC中的各个权利。部分602可称为许可证的各个许可条款和条件的表示。作为生成确认标识符的一部分,OAS检索EC的权利并且相应地形成部分602。在一个实施例中,部分602可以是编码EC的各个权利的30位大小的。例如,部分602可包括表示许可证的类型的3位、表示许可证有效期的7位、表示许可证起始日期的7位等等。确认标识符的大小可随实施例而改变。例如,一实施例可使用114位的确认标识符,它具有一个83位的字段604和一个31位的字段602。
示例600中的确认标识符还包括加密的散列值604。可结合生成散列值604使用各种不同技术中的任何一种。例如,在一个实施例中,散列值604可以使用安装标识符和数据部分602来形成。安装标识符和数据部分602可具有用于生成散列值的散列算法。该散列技术可以本领域已知的且在本文其它地方所述的各种不同技术中的任何一种。随后可使用各自不同技术中的任何一个来加密散列值并且将其存储为散列值604。在一个实施例中,散列值可使用OAS的私钥来加密,在以后由设备336结合随后的程序启动和相关联的验证处理来解密该散列值。作为另一个示例,散列值可使用在Lauter等人授权公告日为2006年3月28日、题为CRYPTOSYSTEM BASED ON A JACOBIAN OF ACURVE(基于曲线的雅可比行列式的密码系统)的美国专利No.7,020,776中所述的加密技术来加密。
除部分602和安装标识符之外,可使用其它数据来形成确认标识符。从其产生散列值604的数据可以在EC的各权利中表示。例如,EC可表示602的部分和/或安装标识符的部分以及从其生成散列值604的其它值。例如,EC可表示发放许可证的天数、针对特定许可证允许激活的机器数等等。可在EC中传送的信息的其它示例在本文其它地方描述。
一旦由OAS 312形成确认标识符312,则OAS 312就将该确认标识符312传送至CSR/IVR系统332。系统332将确认标识符312传送至用户。用户随后可输入确认标识符312,诸如通过设备336上的输入设备。确认标识符312可被存储在设备336上供结合后续程序启动来使用。安装标识符310也可被存储在设备336上供结合后续程序启动来使用。在一个实施例中,可串接安装标识符310和确认标识符336并且将其存储为设备336上的单个数据项。
如上所述,从在线激活模式生成的许可证可在程序启动时用于执行验证处理以确定是否允许程序执行继续进行。如将在下面更详细地描述的,从离线激活模式生成的确认标识符也可用于执行验证处理以确定是否允许程序执行继续进行。
参考图12,所示的是可在一设备诸如计算机的实施例中当尝试执行该设备上的软件时执行的处理步骤的流程图。该软件可被安装在该计算机上并且执行在线或离线激活处理以分别生成许可证或确认标识符。在步骤802,启动或调用该软件程序。在步骤804,作出以前是否执行过在线激活的判断。计算机通过检查计算机上如果已经成功执行过在线激活则预期会包含许可证的位置的内容来作出判断。例如,许可证可被存储在特定的目录、文件等等之中。如果许可证在预期的位置中,则步骤804可评估为是并且控制继续至步骤806以执行与如在本文其它地方所述的用于在线激活的程序启动相关联的验证处理。例如,这样的处理是结合图6描述的。如果步骤804评估为否,则控制继续至步骤808,在那里可检索安装标识符和确认标识符。安装标识符和确认标识符可存储在与如相关于许可证所述的位置类似的已知位置。如果找到安装和确认标识符,则步骤810评估为是并且控制继续至步骤812以执行与如在下面的段落中更详细地描述的用于离线激活的程序启动相关联的验证处理。否则,步骤810评估为否并且控制继续至步骤814以通过适当的错误消息来终止处理。结合步骤814不允许执行该程序。
参考图13,所示的是可在一实施例中结合在设备诸如计算机上已安装软件的执行来执行的处理步骤的流程图。流程图900例示可结合图800的步骤812当与具有以前执行的离线激活处理相关联的信息位于计算机系统上时执行的处理。应当注意,如果步骤904、906、908或912的验证处理中的任一步骤失败,则不允许执行该软件并且处理可通过适当的消息终止。在步骤902,当前的硬件标识符基于在步骤802中执行其上的软件启动的计算机的硬件。使用用于生成以前包括在安装标识符中的硬件标识符的相同技术。在步骤904,执行验证处理以确保步骤902的当前硬件标识符匹配所存储的安装标识符的硬件标识符。如在本文其它地方所述,可使用不同技术来确定这两个硬件标识符是否基本上相同以表示同一计算机系统。例如,如果硬件标识符是如在本文其它地方所述的CHWID,则CHWID可形成为串接的散列值集合,其中每一个散列值对应于特定的硬件组件类。这些散列值随着如包括在计算机系统的配置中的每一个类的特定硬件而改变。可通过具有在当前硬件标识符与安装标识符的硬件标识符之间的散列值匹配的阈值数量来引入容忍度程度。该阈值可以是某个数字m,它≤q,q是CHWID的散列值和对应类的数量。为m选择的数字可随着可接受的容忍度程度或者计算机系统的配置的变化而改变。在步骤906,执行验证处理以确保如以前在安装期间输入的、所存储的购买令牌和包信息匹配所存储的安装标识符的购买令牌和包信息。在步骤908,可使用加密的散列值部分604针对确认标识符的加密的散列值执行验证处理。使用如存储在计算机上的OAS的公钥为604生成解密的散列值。例如,该公钥可被存储为先前软件安装的一部分。计算机可执行如在本文其它地方所述的处理以基于所存储的安装标识符和所存储的确认标识符的数据部分生成新的散列值。使用与OAS用于生成部分604的相同技术来生成这个新的散列值。如果解密的散列值匹配该新散列值,则验证处理成功。否则,步骤908的验证处理失败。在步骤910,可提取存储在计算机上的确认标识符的数据部分602并解码它以确定许可证特性。如在本文其它地方所述,描述许可证特性诸如许可证类型、有效期的不同权利等可被编码在确认标识符的数据部分中。步骤910的解码确定许可证特性。控制随后继续至步骤912,在那里结合验证处理使用许可证特性来确保有效许可证存在。结合离线处理,使用确认标识符而不是使用如结合在线处理的许可证。确认标识符是许可证特性的不同表示。例如,步骤912的处理可包括,从确认标识符的数据部分602的适当位确定许可证有效期和起始日期。将当前日期与起始日期和有效期两者相比较以确定根据许可证特性软件是否可被执行。
尽管已经以专用于结构特征和/或方法动作的语言描述了本主题,但应当理解,在所附权利要求书中定义的主题不必受限于上述这些特定的特征或动作。相反,上述特定的特征和动作是作为实现权利要求的示例形式而揭示的。

Claims (20)

1.一种用于为安装在设备(102,336)上的软件生成许可证(130,330)的方法,所述方法包括:
生成权利证书(108,308),所述权利证书包括描述所述软件的许可证特性的一个或多个权利(152,202),所述一个或多个权利(152,202)是根据有关所述软件的第一信息确定的,所述第一信息包括包括购买令牌和包信息中的至少一项(106,156,306),所述购买令牌(162,710)与安装在所述设备上的所述软件的副本相关联,所述包信息(160)是所述软件的标识符;
根据包括在所述一个或多个权利(152,202)中的所述软件的绑定类型生成绑定证书(114,334);以及
根据所述绑定证书(114,224)和所述权利证书(108,308)生成许可证(130,330),所述绑定证书(114,334)标识所述许可证(130,330)所绑定的实体。
2.如权利要求1所述的方法,其特征在于,所述权利证书是由具有与所述设备的连通性的服务器上的权利服务生成的。
3.如权利要求2所述的方法,其特征在于,还包括:
从所述设备将所述购买令牌和所述包信息提供给所述权利服务;以及
通过所述权利服务使用权利数据库确定所述一个或多个权利。
4.如权利要求3所述的方法,其特征在于,所述购买令牌和包信息是在所述软件的安装期间获得的。
5.如权利要求1所述的方法,其特征在于,所述绑定类型是下列各项之一:硬件标识符绑定、可信平台模块绑定、便携式安全标识设备标识符绑定和用户认证绑定。
6.如权利要求5所述的方法,其特征在于,还包括:
如果所述绑定类型是所述硬件标识符绑定,则由所述设备生成所述绑定证书。
7.如权利要求5所述的方法,其特征在于,如果所述绑定类型是不同于所述硬件标识符绑定的类型,则所述方法还包括:
将绑定数据发送至具有与所述设备的连通性的服务器上的绑定服务;以及
由所述绑定服务生成所述绑定证书。
8.如权利要求1所述的方法,其特征在于,还包括:
将所述许可证发送至所述设备;以及
在所述设备上存储所述许可证供结合所述软件的后续启动来使用。
9.如权利要求1所述的方法,其特征在于,还包括:
将所述许可证发送至离线激活服务;
由所述离线激活服务生成确认标识符,所述确认标识符包括其中编码了所述一个或多个权利的数据部分;以及
在所述设备上存储所述确认标识符供结合所述软件的后续启动来使用。
10.如权利要求9所述的方法,其特征在于,还包括:
将安装标识符提供给所述离线激活服务,所述安装标识符包括所述设备的硬件标识符、所述购买令牌和所述包信息。
11.如权利要求10所述的方法,其特征在于,还包括:
由所述离线激活服务从所述安装标识符提取所述购买令牌和所述包信息;
由所述离线激活服务将所述购买令牌和所述包信息发送至权利服务;以及
由所述权利服务生成所述权利证书。
12.如权利要求11所述的方法,其特征在于,还包括:
从所述权利服务将所述权利证书发送至所述离线激活服务;
由所述离线激活服务生成所述绑定证书;
将所述绑定证书和所述权利证书发送至许可证服务;以及
由所述许可证服务生成所述许可证。
13.如权利要求1所述的方法,其特征在于,还包括:
在许可证数据库中存储所述许可证;以及
结合用于为所述软件的所述副本生成另一个许可证的处理查询所述许可证数据库。
14.一种用于为安装在设备(102,336)上的软件执行激活处理的方法,所述方法包括:
从多个激活模式中选择(804)激活模式,所述激活模式包括在线激活模式和离线激活模式,所述在线激活模式在所述设备(102,336)具有与结合所述软件的激活使用的权利服务(104)和许可证服务(140)的连通性时提供所述软件的所述激活,所述离线激活在所述设备没有所述连通性时用于所述软件的激活;
响应于选择所述在线激活模式,执行包括下列步骤的处理:
与权利服务(104)通信以根据描述安装在所述设备上的所述软件的第一信息生成包括描述所述软件的许可证特性的一个或多个权利(152)的权利证书(108);
根据所述软件的绑定类型生成绑定证书(114);以及
与许可证服务(120)通信以根据所述绑定证书(114)和所述权利证书(108)生成许可证(130),所述绑定证书(114)标识所述许可证(130)所绑定的实体;以及
响应于选择所述离线激活模式,与离线激活服务(302)通信,所述离线激活服务(302)执行所述与权利服务(304)的通信、所述生成绑定证书(334)、所述与许可证服务(320)的通信,所述离线激活服务(302)接收所述许可证(330)并生成其中编码了所述一个或多个权利的确认标识符(312)。
15.如权利要求1所述的方法,其特征在于,选择所述离线激活模式,所述方法还包括:
在所述设备上存储所述确认标识符供结合启动所述设备上的所述软件来使用。
16.如权利要求1所述的方法,其特征在于,选择所述在线激活模式,所述方法还包括:
在所述设备上存储所述许可证供结合启动所述设备上的软件来使用。
17.一种用于为安装在设备(102,336)上的软件执行激活处理的系统,所述系统包括:
权利服务(104,304),用于根据描述安装在所述设备(102,336)上的所述软件的第一信息生成包括描述所述软件的许可证特性的一个或多个权利(152,202)的权利证书(108,308);
存储在计算机可读介质上的可执行代码,用于根据所述软件的绑定类型生成绑定证书(114,334);以及
许可证服务(120,320),用于根据所述绑定证书(114,334)和所述权利证书(108,308)生成许可证(130,330),所述绑定证书(114,334)标识所述许可证(130,330)所绑定的实体。
18.如权利要求17所述的系统,其特征在于,还包括:
存储在所述设备的计算机可读介质上用于选择在线激活模式或离线激活模式的设备的可执行代码,如果选择所述在线激活模式,则所述可执行代码执行第一处理操作集合,并且如果选择所述离线激活模式,则所述可执行代码执行第二处理操作集合;
离线激活服务,所述离线激活服务包括存储在计算机可读介质上的可执行代码,其中包括:
用于生成包括所述设备的硬件标识符的绑定证书的可执行代码;
用于与所述权利服务、所述许可证服务和结合用于所述激活处理的
用户通信使用的系统通信的可执行代码;以及
用于生成在其中编码了所述一个或多个权利的确认标识符的可执行代码。
19.如权利要求18所述的系统,其特征在于,所述离线激活服务还包括存储在计算机可读介质上的可执行代码,所述可执行代码用于:
接收包括所述硬件标识符、购买令牌和包信息的安装标识符,所述第一信息包括关联于所述软件的购买令牌和所述包信息,所述购买令牌与安装在所述设备上的所述软件的副本相关联,所述包信息是所述软件的标识符;
从所述安装标识符提取所述购买令牌和所述包信息;以及
将所述购买令牌和所述包信息发送至所述权利服务。
20.如权利要求19所述的系统,其特征在于,所述离线激活服务还包括存储在计算机可读介质上的可执行代码,所述可执行代码用于:
将所述绑定证书和所述权利证书发送至所述许可证服务;以及
从所述许可证服务接收所述许可证。
CN2008800217923A 2007-06-25 2008-06-24 激活系统体系结构 Active CN101689237B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/821,777 US8620818B2 (en) 2007-06-25 2007-06-25 Activation system architecture
US11/821,777 2007-06-25
PCT/US2008/067973 WO2009002959A2 (en) 2007-06-25 2008-06-24 Activation system architecture

Publications (2)

Publication Number Publication Date
CN101689237A true CN101689237A (zh) 2010-03-31
CN101689237B CN101689237B (zh) 2013-03-20

Family

ID=40137447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800217923A Active CN101689237B (zh) 2007-06-25 2008-06-24 激活系统体系结构

Country Status (5)

Country Link
US (2) US8620818B2 (zh)
EP (1) EP2160695A4 (zh)
CN (1) CN101689237B (zh)
TW (1) TWI484364B (zh)
WO (1) WO2009002959A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340521A (zh) * 2010-07-14 2012-02-01 中国联合网络通信集团有限公司 许可证获取方法、媒体内容播放方法及用户终端
CN103119559A (zh) * 2010-06-02 2013-05-22 吉田稔 信息生成系统及其方法
CN104796739A (zh) * 2015-04-22 2015-07-22 西安诺瓦电子科技有限公司 一种与显示屏终端交互的方法
CN106503492A (zh) * 2016-10-27 2017-03-15 厦门中控生物识别信息技术有限公司 一种授权管理方法、服务器、客户设备和系统
WO2017070846A1 (zh) * 2015-10-27 2017-05-04 深圳市星电商科技有限公司 一种数据交互处理方法及装置
CN106934261A (zh) * 2017-03-31 2017-07-07 山东超越数控电子有限公司 一种基于数据库的license信息储存和提取方法
CN109063427A (zh) * 2018-10-29 2018-12-21 北京京航计算通讯研究所 基于j2ee技术体系的应用软件许可认证方法
CN109376506A (zh) * 2018-10-29 2019-02-22 北京京航计算通讯研究所 基于j2ee技术体系的应用软件许可认证系统
CN111143808A (zh) * 2019-12-26 2020-05-12 北京神州绿盟信息安全科技股份有限公司 系统安全认证方法、装置及计算设备、存储介质
CN112866419A (zh) * 2021-03-11 2021-05-28 统信软件技术有限公司 一种激活控制方法、系统及计算设备
CN113950646A (zh) * 2019-06-14 2022-01-18 恩德莱斯和豪瑟尔过程解决方案股份公司 用于激活或去激活自动化部件的至少一个硬件和/或软件功能的方法

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5145336B2 (ja) * 2007-06-20 2013-02-13 パナソニック株式会社 ネットワークavコンテンツ再生端末、サーバ、及びシステム
US8620818B2 (en) 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US9098840B2 (en) * 2007-08-22 2015-08-04 Siemens Aktiengesellschaft System and method for providing and activating software licenses
US20090205027A1 (en) * 2008-02-11 2009-08-13 Henry Jose Salazar Album drive
US20090204543A1 (en) * 2008-02-11 2009-08-13 Henry Jose Salazar Moure System and method of selectively distributing media content to a consumer and preventing the unauthorized sharing of media content
JP5042109B2 (ja) * 2008-04-17 2012-10-03 株式会社リコー 電子証明書発行システム、電子証明書発行方法、及び電子証明書発行プログラム
EP2128867A1 (en) * 2008-05-28 2009-12-02 Sony DADC Austria AG Method for controlling access to content on data carrier
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
US20100262963A1 (en) * 2009-04-09 2010-10-14 Gary Michael Wassermann Systems and methods for activating a network appliance
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9633183B2 (en) 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US20100324983A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution
US9092598B2 (en) * 2009-07-30 2015-07-28 Microsoft Technology Licensing, Llc Version-based software product activation
JP5454035B2 (ja) * 2009-09-15 2014-03-26 株式会社リコー 画像処理装置、遠隔管理システム、ライセンス更新方法、およびライセンス更新プログラム
US20110154501A1 (en) * 2009-12-23 2011-06-23 Banginwar Rajesh P Hardware attestation techniques
US8418259B2 (en) * 2010-01-05 2013-04-09 Microsoft Corporation TPM-based license activation and validation
US8170783B2 (en) * 2010-03-16 2012-05-01 Dell Products L.P. System and method for handling software activation in entitlement
US8799411B2 (en) * 2010-05-28 2014-08-05 Arvato Digital Services Canada, Inc. Method and apparatus for providing enhanced streaming content delivery with multi-archive support using secure download manager and content-indifferent decoding
JP5672890B2 (ja) * 2010-09-16 2015-02-18 株式会社リコー ライセンス導入支援システム、ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
US9336368B2 (en) 2010-09-16 2016-05-10 Ricoh Company, Ltd. License install support system, license install support method
US20120095877A1 (en) 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US9684781B2 (en) * 2010-11-12 2017-06-20 Hewlett Packard Enterprise Development Lp Determine authorization of a software product based on a first and second authorization item
US8984293B2 (en) 2010-11-19 2015-03-17 Microsoft Corporation Secure software product identifier for product validation and activation
US8775797B2 (en) * 2010-11-19 2014-07-08 Microsoft Corporation Reliable software product validation and activation with redundant security
US8683579B2 (en) 2010-12-14 2014-03-25 Microsoft Corporation Software activation using digital licenses
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
TWI454959B (zh) * 2011-12-08 2014-10-01 Phison Electronics Corp 儲存裝置保護系統及其儲存裝置上鎖與解鎖方法
US9317672B2 (en) * 2011-12-14 2016-04-19 Visa International Service Association Online account access control by mobile device
US9652806B2 (en) 2012-04-30 2017-05-16 Hartford Fire Insurance Company System and method for providing and activating commoditized insurance
TWI474725B (zh) * 2012-11-01 2015-02-21 Miiicasa Taiwan Inc 裝置識別碼管理方法與系統
US20140230068A1 (en) * 2013-02-12 2014-08-14 Rajendra Rao Kundapur System and method for packaging and authenticating a software product
US9292664B2 (en) * 2013-03-01 2016-03-22 Lenovo (Singapore) Pte. Ltd. Key injection tool
WO2015013474A2 (en) 2013-07-25 2015-01-29 Siemens Healthcare Diagnostics Inc. Anti-piracy protection for software
CN104954399B (zh) * 2014-03-27 2018-06-19 正文科技股份有限公司 绑定移动载具与智能装置之方法及其绑定系统
TW201546649A (zh) * 2014-06-05 2015-12-16 Cavium Inc 用於基於硬體安全模組的基於雲端的web服務安全管理的系統和方法
CN104601551B (zh) * 2014-12-25 2017-12-12 重庆森鑫炬科技有限公司 软件产品安全验证系统
US10706130B2 (en) * 2015-02-06 2020-07-07 Macpaw Inc. System and method for software activation and license tracking
EP3062255A1 (de) * 2015-02-25 2016-08-31 Siemens Aktiengesellschaft Lizensierung von Softwareprodukten
US10178164B2 (en) * 2015-08-31 2019-01-08 Visa International Service Association Secure binding of software application to communication device
US10009179B2 (en) 2015-11-30 2018-06-26 Microsoft Technology Licensing, Llc Trusted platform module (TPM) protected device
US10320774B2 (en) * 2016-08-05 2019-06-11 Route1 Inc. Method and system for issuing and using derived credentials
CN106843950B (zh) * 2017-01-12 2020-07-28 武汉噢易云计算股份有限公司 一种适用于机房内多台电脑的软件激活方法及激活系统
US20180260539A1 (en) * 2017-03-08 2018-09-13 Microsoft Technology Licensing, Llc Device specific identity linked to user account
US10333717B2 (en) 2017-03-09 2019-06-25 Microsoft Technology Licensing, Llc Timestamped license data structure
KR20200000448A (ko) * 2017-05-22 2020-01-02 맥퍼, 인크. 소프트웨어 활성화 및 라이센스 추적을 위한 시스템 및 방법
CN109302370B (zh) * 2017-07-24 2021-11-02 上海牛卡网络科技有限公司 一种客户端验证方法、终端和服务器
DE102017214443A1 (de) * 2017-08-18 2019-02-21 Lenze Automation Gmbh Verfahren zum Betreiben eines elektrischen Steuergeräts und elektrisches Steuergerät
US10642970B2 (en) * 2017-12-12 2020-05-05 John Almeida Virus immune computer system and method
US11316693B2 (en) * 2018-04-13 2022-04-26 Microsoft Technology Licensing, Llc Trusted platform module-based prepaid access token for commercial IoT online services
US11012241B2 (en) * 2018-09-10 2021-05-18 Dell Products L.P. Information handling system entitlement validation
EP3637287B1 (en) * 2018-10-08 2024-05-22 ABB Schweiz AG Block chain for license keys of variable frequency drives
US10965551B2 (en) * 2018-11-21 2021-03-30 Microsoft Technology Licensing, Llc Secure count in cloud computing networks
US11449370B2 (en) 2018-12-11 2022-09-20 DotWalk, Inc. System and method for determining a process flow of a software application and for automatically generating application testing code
CN111338462A (zh) * 2018-12-19 2020-06-26 技嘉科技股份有限公司 通用型输入输出端口的配置方法及系统
TWI684114B (zh) * 2018-12-19 2020-02-01 技嘉科技股份有限公司 通用型輸入輸出埠的配置方法及系統
WO2020159551A1 (en) * 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Control of applications based on licensing objects
US11252570B2 (en) 2019-11-22 2022-02-15 John Junior Richardson Computer system and method for software authentication and single application enforcement
US11586710B2 (en) * 2019-12-24 2023-02-21 Microsoft Technology Licensing, Llc System and method for protecting software licensing information via a trusted platform module
US20220385478A1 (en) * 2020-01-15 2022-12-01 Hewlett-Packard Development Company, L.P. Deploying a software package
US11909882B2 (en) * 2020-01-30 2024-02-20 Dell Products L.P. Systems and methods to cryptographically verify an identity of an information handling system
US11025508B1 (en) 2020-04-08 2021-06-01 Servicenow, Inc. Automatic determination of code customizations
US11296922B2 (en) 2020-04-10 2022-04-05 Servicenow, Inc. Context-aware automated root cause analysis in managed networks
US10999152B1 (en) 2020-04-20 2021-05-04 Servicenow, Inc. Discovery pattern visualizer
US11301435B2 (en) 2020-04-22 2022-04-12 Servicenow, Inc. Self-healing infrastructure for a dual-database system
US11392768B2 (en) 2020-05-07 2022-07-19 Servicenow, Inc. Hybrid language detection model
US11263195B2 (en) 2020-05-11 2022-03-01 Servicenow, Inc. Text-based search of tree-structured tables
US11470107B2 (en) 2020-06-10 2022-10-11 Servicenow, Inc. Matching configuration items with machine learning
US11277359B2 (en) 2020-06-11 2022-03-15 Servicenow, Inc. Integration of a messaging platform with a remote network management application
US11451573B2 (en) 2020-06-16 2022-09-20 Servicenow, Inc. Merging duplicate items identified by a vulnerability analysis
US11379089B2 (en) 2020-07-02 2022-07-05 Servicenow, Inc. Adaptable user interface layout for applications
US11277321B2 (en) 2020-07-06 2022-03-15 Servicenow, Inc. Escalation tracking and analytics system
US11301503B2 (en) 2020-07-10 2022-04-12 Servicenow, Inc. Autonomous content orchestration
US11449535B2 (en) 2020-07-13 2022-09-20 Servicenow, Inc. Generating conversational interfaces based on metadata
US11632300B2 (en) 2020-07-16 2023-04-18 Servicenow, Inc. Synchronization of a shared service configuration across computational instances
US11343079B2 (en) 2020-07-21 2022-05-24 Servicenow, Inc. Secure application deployment
US11272007B2 (en) 2020-07-21 2022-03-08 Servicenow, Inc. Unified agent framework including push-based discovery and real-time diagnostics features
WO2022019887A1 (en) * 2020-07-21 2022-01-27 Hewlett-Packard Development Company, L.P. Time-restricted and node-locked license
US11748115B2 (en) 2020-07-21 2023-09-05 Servicenow, Inc. Application and related object schematic viewer for software application change tracking and management
US11095506B1 (en) 2020-07-22 2021-08-17 Servicenow, Inc. Discovery of resources associated with cloud operating system
US11582106B2 (en) 2020-07-22 2023-02-14 Servicenow, Inc. Automatic discovery of cloud-based infrastructure and resources
US11275580B2 (en) 2020-08-12 2022-03-15 Servicenow, Inc. Representing source code as implicit configuration items
US11372920B2 (en) 2020-08-31 2022-06-28 Servicenow, Inc. Generating relational charts with accessibility for visually-impaired users
US11245591B1 (en) 2020-09-17 2022-02-08 Servicenow, Inc. Implementation of a mock server for discovery applications
US11150784B1 (en) 2020-09-22 2021-10-19 Servicenow, Inc. User interface elements for controlling menu displays
US11625141B2 (en) 2020-09-22 2023-04-11 Servicenow, Inc. User interface generation with machine learning
US11632303B2 (en) 2020-10-07 2023-04-18 Servicenow, Inc Enhanced service mapping based on natural language processing
US11734025B2 (en) 2020-10-14 2023-08-22 Servicenow, Inc. Configurable action generation for a remote network management platform
US11342081B2 (en) 2020-10-21 2022-05-24 Servicenow, Inc. Privacy-enhanced contact tracing using mobile applications and portable devices
US11258847B1 (en) 2020-11-02 2022-02-22 Servicenow, Inc. Assignments of incoming requests to servers in computing clusters and other environments
US11363115B2 (en) 2020-11-05 2022-06-14 Servicenow, Inc. Integrated operational communications between computational instances of a remote network management platform
US11868593B2 (en) 2020-11-05 2024-01-09 Servicenow, Inc. Software architecture and user interface for process visualization
US11281442B1 (en) 2020-11-18 2022-03-22 Servicenow, Inc. Discovery and distribution of software applications between multiple operational environments
US11693831B2 (en) 2020-11-23 2023-07-04 Servicenow, Inc. Security for data at rest in a remote network management platform
US11216271B1 (en) 2020-12-10 2022-01-04 Servicenow, Inc. Incremental update for offline data access
US11269618B1 (en) 2020-12-10 2022-03-08 Servicenow, Inc. Client device support for incremental offline updates
US20210103662A1 (en) * 2020-12-18 2021-04-08 Chinmay Ashok Techniques for restricted deployment of targeted processor firmware updates
US11630717B2 (en) 2021-01-06 2023-04-18 Servicenow, Inc. Machine-learning based similarity engine
US11301365B1 (en) 2021-01-13 2022-04-12 Servicenow, Inc. Software test coverage through real-time tracing of user activity
US11418586B2 (en) 2021-01-19 2022-08-16 Servicenow, Inc. Load balancing of discovery agents across proxy servers
US11301271B1 (en) 2021-01-21 2022-04-12 Servicenow, Inc. Configurable replacements for empty states in user interfaces
US20220229685A1 (en) * 2021-01-21 2022-07-21 Capital One Services, Llc Application execution on a virtual server based on a key assigned to a virtual network interface
US11921878B2 (en) 2021-01-21 2024-03-05 Servicenow, Inc. Database security through obfuscation
EP4037284A1 (de) * 2021-02-02 2022-08-03 Siemens Mobility GmbH Verfahren, vorrichtungen und computerprogrammprodukt zum ausführen einer software auf einem rechner für eine steuerung eines technischen systems, insbesondere eines systems zur bahnsteuerung
US11513885B2 (en) 2021-02-16 2022-11-29 Servicenow, Inc. Autonomous error correction in a multi-application platform
US11277369B1 (en) 2021-03-02 2022-03-15 Servicenow, Inc. Message queue architecture and interface for a multi-application platform
US11831729B2 (en) 2021-03-19 2023-11-28 Servicenow, Inc. Determining application security and correctness using machine learning based clustering and similarity
US11640369B2 (en) 2021-05-05 2023-05-02 Servicenow, Inc. Cross-platform communication for facilitation of data sharing
US11635953B2 (en) 2021-05-07 2023-04-25 Servicenow, Inc. Proactive notifications for robotic process automation
US11635752B2 (en) 2021-05-07 2023-04-25 Servicenow, Inc. Detection and correction of robotic process automation failures
US11277475B1 (en) 2021-06-01 2022-03-15 Servicenow, Inc. Automatic discovery of storage cluster
US11762668B2 (en) 2021-07-06 2023-09-19 Servicenow, Inc. Centralized configuration data management and control
US11418571B1 (en) 2021-07-29 2022-08-16 Servicenow, Inc. Server-side workflow improvement based on client-side data mining
US11880479B2 (en) 2021-08-05 2024-01-23 Bank Of America Corporation Access control for updating documents in a digital document repository
US11790098B2 (en) 2021-08-05 2023-10-17 Bank Of America Corporation Digital document repository access control using encoded graphical codes
US11516307B1 (en) 2021-08-09 2022-11-29 Servicenow, Inc. Support for multi-type users in a single-type computing system
US11960353B2 (en) 2021-11-08 2024-04-16 Servicenow, Inc. Root cause analysis based on process optimization data
US11734381B2 (en) 2021-12-07 2023-08-22 Servicenow, Inc. Efficient downloading of related documents
US20230206368A1 (en) * 2021-12-29 2023-06-29 Advanced Micro Devices, Inc. Disabling selected ip
US12001502B2 (en) 2022-01-11 2024-06-04 Servicenow, Inc. Common fragment caching for web documents
US11829233B2 (en) 2022-01-14 2023-11-28 Servicenow, Inc. Failure prediction in a computing system based on machine learning applied to alert data
US11582317B1 (en) 2022-02-07 2023-02-14 Servicenow, Inc. Payload recording and comparison techniques for discovery
US11734150B1 (en) 2022-06-10 2023-08-22 Servicenow, Inc. Activity tracing through event correlation across multiple software applications
US11989538B2 (en) 2022-06-21 2024-05-21 Servicenow, Inc. Orchestration for robotic process automation
TWI826175B (zh) * 2022-12-08 2023-12-11 緯創資通股份有限公司 儲存裝置、利用儲存裝置進行驗證及授權的方法及系統

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5592611A (en) * 1995-03-14 1997-01-07 Network Integrity, Inc. Stand-in computer server
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US5825884A (en) * 1996-07-01 1998-10-20 Thomson Consumer Electronics Method and apparatus for operating a transactional server in a proprietary database environment
EP1018084B1 (en) * 1996-07-25 2011-12-07 Xcelera Inc. Web serving system with primary and secondary servers
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6219692B1 (en) * 1997-03-21 2001-04-17 Stiles Invention, L.L.C. Method and system for efficiently disbursing requests among a tiered hierarchy of service providers
US6223209B1 (en) * 1997-09-30 2001-04-24 Ncr Corporation Distributed world wide web servers
US6134593A (en) 1997-09-30 2000-10-17 Cccomplete, Inc. Automated method for electronic software distribution
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
US20040107368A1 (en) 1998-06-04 2004-06-03 Z4 Technologies, Inc. Method for digital rights management including self activating/self authentication software
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
CA2290170C (en) * 1999-01-29 2005-06-14 International Business Machines Corporation Improved digital signature
US7055040B2 (en) * 1999-04-02 2006-05-30 Hewlett-Packard Development Company, L.P. Method and apparatus for uniquely and securely loading software to an individual computer
AU5910800A (en) 1999-06-30 2001-01-31 Accenture Llp A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher
AU6061300A (en) 1999-06-30 2001-01-31 Ac Properties B.V. A system, method and article of manufacture for an electronic software distribution, post-download payment scheme with encryption capabilities
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US7020776B2 (en) 2000-06-22 2006-03-28 Microsoft Corporation Cryptosystem based on a Jacobian of a curve
US6891953B1 (en) * 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
US7236958B2 (en) * 2001-01-05 2007-06-26 Microsoft Corporation Electronic software license with software product installer identifier
US6993664B2 (en) 2001-03-27 2006-01-31 Microsoft Corporation Method and system for licensing a software product
US8073780B2 (en) * 2001-05-15 2011-12-06 Altair Engineering, Inc. Token based club digital content licensing method
US6694045B2 (en) * 2002-01-23 2004-02-17 Amerasia International Technology, Inc. Generation and verification of a digitized signature
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
AU2003223802A1 (en) * 2002-05-10 2003-11-11 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
JP2003333025A (ja) 2002-05-13 2003-11-21 Be Graph Inc 個別機器におけるソフトウェアの再生及びインストール方式
US7152243B2 (en) * 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7523310B2 (en) * 2002-06-28 2009-04-21 Microsoft Corporation Domain-based trust models for rights management of content
US20040139318A1 (en) * 2002-11-06 2004-07-15 Digital Interactive Entertainment, Llc Activation and personalization of downloadable content
US7603717B2 (en) * 2002-11-18 2009-10-13 Microsoft Corporation Digital licenses that include universally quantified variables
US20040098277A1 (en) * 2002-11-18 2004-05-20 Microsoft Corporation Licenses that include fields identifying properties
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318236B2 (en) * 2003-02-27 2008-01-08 Microsoft Corporation Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
US7278131B2 (en) 2003-03-03 2007-10-02 Microsoft Corporation Compact hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7296294B2 (en) * 2003-03-03 2007-11-13 Microsoft Corporation System for binding secrets to a computer system having tolerance for hardware changes
US8041957B2 (en) * 2003-04-08 2011-10-18 Qualcomm Incorporated Associating software with hardware using cryptography
US7213268B2 (en) 2003-07-25 2007-05-01 Aviation Communication And Surveillance Systems, Llc Method for controlling customer-implemented data updates
US7831515B2 (en) 2003-08-05 2010-11-09 Intraware. Inc. Method and system for subscription-based, entitlement-driven license key generation and distribution for digital goods
US7142891B2 (en) * 2003-10-10 2006-11-28 Texas Instruments Incorporated Device bound flashing/booting for cloning prevention
US7761921B2 (en) 2003-10-31 2010-07-20 Caterpillar Inc Method and system of enabling a software option on a remote machine
US8301910B2 (en) * 2004-01-12 2012-10-30 International Business Machines Corporation Intelligent, export/import restriction-compliant portable computer device
JP2005215945A (ja) 2004-01-29 2005-08-11 Renesas Technology Corp 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法
JP4726805B2 (ja) * 2004-02-03 2011-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタル権利管理
US7853790B2 (en) * 2004-03-19 2010-12-14 Microsoft Corporation Enhancement to volume license keys
JP2006031320A (ja) 2004-07-15 2006-02-02 Matsushita Electric Ind Co Ltd ソフトウェアライセンスの管理システムおよび管理方法
TWI267753B (en) * 2004-08-20 2006-12-01 Cyberlink Corp System and method for licensing software
US20060064756A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Digital rights management system based on hardware identification
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
US20060080257A1 (en) 2004-10-08 2006-04-13 Level 3 Communications, Inc. Digital content distribution framework
US7516326B2 (en) * 2004-10-15 2009-04-07 Hewlett-Packard Development Company, L.P. Authentication system and method
US7502924B2 (en) * 2005-01-25 2009-03-10 International Business Machines Corporation Transparent on-demand certificate provisioning for secure email
US20060288009A1 (en) 2005-06-20 2006-12-21 Tobid Pieper Method and apparatus for restricting access to an electronic product release within an electronic software delivery system
US8495389B2 (en) * 2005-12-16 2013-07-23 Safenet, Inc. Locking changing hard disk content to a hardware token
US8839451B1 (en) * 2006-08-07 2014-09-16 Moka5, Inc. Activation and security of software
US20080184028A1 (en) * 2007-01-29 2008-07-31 Dell Products L.P. Methods, Apparatus and Products for Establishing a Trusted Information Handling System
US20080189213A1 (en) * 2007-02-05 2008-08-07 Curtis Blake System and method for digital rights management with license proxy for mobile wireless platforms
US8620818B2 (en) 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119559B (zh) * 2010-06-02 2018-01-30 吉田稔 信息生成系统及其方法
CN103119559A (zh) * 2010-06-02 2013-05-22 吉田稔 信息生成系统及其方法
CN102340521A (zh) * 2010-07-14 2012-02-01 中国联合网络通信集团有限公司 许可证获取方法、媒体内容播放方法及用户终端
CN104796739A (zh) * 2015-04-22 2015-07-22 西安诺瓦电子科技有限公司 一种与显示屏终端交互的方法
WO2017070846A1 (zh) * 2015-10-27 2017-05-04 深圳市星电商科技有限公司 一种数据交互处理方法及装置
CN106503492A (zh) * 2016-10-27 2017-03-15 厦门中控生物识别信息技术有限公司 一种授权管理方法、服务器、客户设备和系统
CN106934261A (zh) * 2017-03-31 2017-07-07 山东超越数控电子有限公司 一种基于数据库的license信息储存和提取方法
CN109063427A (zh) * 2018-10-29 2018-12-21 北京京航计算通讯研究所 基于j2ee技术体系的应用软件许可认证方法
CN109376506A (zh) * 2018-10-29 2019-02-22 北京京航计算通讯研究所 基于j2ee技术体系的应用软件许可认证系统
CN113950646A (zh) * 2019-06-14 2022-01-18 恩德莱斯和豪瑟尔过程解决方案股份公司 用于激活或去激活自动化部件的至少一个硬件和/或软件功能的方法
CN111143808A (zh) * 2019-12-26 2020-05-12 北京神州绿盟信息安全科技股份有限公司 系统安全认证方法、装置及计算设备、存储介质
CN111143808B (zh) * 2019-12-26 2022-05-03 绿盟科技集团股份有限公司 系统安全认证方法、装置及计算设备、存储介质
CN112866419A (zh) * 2021-03-11 2021-05-28 统信软件技术有限公司 一种激活控制方法、系统及计算设备
CN112866419B (zh) * 2021-03-11 2023-05-02 统信软件技术有限公司 一种激活控制方法、系统及计算设备

Also Published As

Publication number Publication date
CN101689237B (zh) 2013-03-20
US20140095394A1 (en) 2014-04-03
WO2009002959A3 (en) 2009-04-23
TWI484364B (zh) 2015-05-11
EP2160695A2 (en) 2010-03-10
TW200907743A (en) 2009-02-16
US20080319779A1 (en) 2008-12-25
US9881348B2 (en) 2018-01-30
EP2160695A4 (en) 2012-05-30
US8620818B2 (en) 2013-12-31
WO2009002959A2 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
CN101689237B (zh) 激活系统体系结构
US10489562B2 (en) Modular software protection
US6233567B1 (en) Method and apparatus for software licensing electronically distributed programs
CN102426640B (zh) 用于产品验证和激活的安全软件产品标识符
US20010051928A1 (en) Protection of software by personalization, and an arrangement, method, and system therefor
US7134016B1 (en) Software system with a biometric dongle function
CN102419804B (zh) 具有冗余安全性的可靠的软件产品验证和激活
JP5572209B2 (ja) 電子チケット処理の方法及び装置
US20050138387A1 (en) System and method for authorizing software use
US7844832B2 (en) System and method for data source authentication and protection system using biometrics for openly exchanged computer files
US20040255119A1 (en) Memory device and passcode generator
US20040039932A1 (en) Apparatus, system and method for securing digital documents in a digital appliance
US20110289318A1 (en) System and Method for Online Digital Signature and Verification
US20060106729A1 (en) Method and apparatus for restricting use of a computer program
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及系统
CN101578608B (zh) 用于基于会话票证存取内容的方法及设备
CN109118377A (zh) 一种基于区块链的理赔事件的处理方法、系统及电子设备
CN101118634B (zh) 一种生成许可证的方法及系统
JP2009080772A (ja) ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム
JP2000215280A (ja) 本人認証システム
KR20090041473A (ko) 오티피 전자태그를 이용하여 상품의 정품 여부를 인증하는정품인증서버 및 그 방법
CN111222929A (zh) 支持文件动态权限的电子发票应用方法及装置
KR100423506B1 (ko) 아이씨칩내장카드를 이용한 온라인상에서의 소프트웨어불법복제방지방법
US20030135745A1 (en) Method of licensing computer program or data to be used legally
Usama et al. Software Copy Protection and Licensing based on XrML and PKCS# 11

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: 20150512

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

Effective date of registration: 20150512

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.