CN1744099B - 许可特定cpu上软件的使用 - Google Patents

许可特定cpu上软件的使用 Download PDF

Info

Publication number
CN1744099B
CN1744099B CN200510091085.XA CN200510091085A CN1744099B CN 1744099 B CN1744099 B CN 1744099B CN 200510091085 A CN200510091085 A CN 200510091085A CN 1744099 B CN1744099 B CN 1744099B
Authority
CN
China
Prior art keywords
computing equipment
activation code
application program
software
machine key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200510091085.XA
Other languages
English (en)
Other versions
CN1744099A (zh
Inventor
J·贝纳尔
陈陵
B·C·马尔特勒
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 CN1744099A publication Critical patent/CN1744099A/zh
Application granted granted Critical
Publication of CN1744099B publication Critical patent/CN1744099B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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]
    • 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/2109Game systems

Abstract

软件被许可在诸如游戏控制台或多媒体控制台等特定计算设备上使用。一解锁代码从分发服务提供给计算设备(直接或通过用户),它进而解锁适当的软件或软件部分以用于相关联的计算设备。该软件可驻留在诸如CD-ROM或DVD盘等与该计算设备结合使用的计算机可读介质上。解锁代码可私密地(例如,通过电子邮件或移动电话)或公开地(例如,发布在网站上)直接提供给用户。软件中可解锁的部分包括游戏的特定级别或其它特征(例如,附加人物或武器),或作为演示或较旧版本提供的应用程序的运行或更高级版本。解锁代码可基于计算设备的唯一标识符和与试图被访问的软件相关联的标识符。由此,代码仅可由具有该唯一标识符的计算设备使用。这防止了未授权或未许可的计算设备使用该软件。

Description

许可特定CPU上软件的使用
技术领域
本发明针对控制软件的分发,尤其针对许可软件的使用。
背景技术
保护诸如软件等数字内容的权限在这一数字时代已变得日益困难。软件的未授权复制和共享是猖獗的。
保护数字内容的一种常见方法是使用数字权限管理(DRM)系统。常规的DRM系统通常包括至少两方:内容提供者和权限实体。在操作中,用户向权限实体注册,并获得一解密手段。当用户向内容提供者请求数字内容时,该数字内容作为加密的文件被发送给用户。文件中的数字内容可以在文件使用该解密手段解密之后被访问。
常规的DRM系统对于本质上严格地为数据的数字内容能起到很好的保护。诸如音乐文件和视频文件等数字数据可以使用各种加密方案来保护。然而,加密对于保护计算机软件并不能起很好的作用。与数据不同,计算机程序被设计成执行各操作,并通常需要安装。使用加密来保护计算机程序是不经济的,这是由于与所需的解密机制相关联的体系结构的复杂性和外来操作的开销。
当前,对于储存在诸如盘等物理介质上的软件,隐含了使用软件的许可证以与介质本身一起传播。为此,未被正当地许可来使用软件的用户在不知道需要许可证或故意忽略对许可证的需求的情况下可使用该软件。例如,在某些盗版严重的地区,用户能够购买包含计算机软件的副本的未授权盘。由于用户购买了包含软件的盘,对用户至少暗示了该软件是被正确许可的,而无论实际上是否获得了正确的许可证。该盗版的软件可运行在任何适当的计算机上,而用户无需获得使用该软件的许可证。需要防止在没有正确许可证的情况下使用软件,或将使用软件的许可证从包含该软件的介质的传送中分离开来。
某些常规的方法通过加密包含程序的整个文件来防止计算机可执行程序的未授权分发。所加密的文件然后被发送到已获得了正确的解密手段的预期用户。在发送了文件之后,用户必须在安装和使用该程序之前解密该文件。然而,一旦程序被解密,该程序不再受保护以免遭未授权使用。
用于控制计算机软件的非法分发和许可的有效且高效的系统和方法一直困扰着本领域的技术人员。
发明内容
本发明针对许可驻留在计算设备上特定中央处理单元(CPU)上的软件的使用。向计算设备(直接或通过用户)提供代码,该代码进而解锁驻留在计算设备上或与其结合使用的适当软件(或软件的特征)。例如,软件可驻留在诸如盘等提供给计算设备的计算机可读介质上。
解锁代码可通过例如网站、公用电话亭、售货机、电话或任何其它发行方法或手段来提供。解锁代码可以直接提供给运行该软件的计算设备,或可由用户手动输入,或可通过诸如插入到或附加到计算设备的存储器单元等存储设备来提供。解锁代码可解锁整个软件应用程序或仅解锁该软件的特定特征,诸如游戏的更高等级或作为演示版提供的应用程序的运行版本。
该代码理想地基于计算设备的唯一标识符以及与试图被访问的软件相关联的标识符。该代码可以在付费或者满足了另一条件之后提供。该代码仅可用于特定的计算设备。因此,被解锁的软件不能在另一计算设备上使用。理想地应当很难改变这一计算设备的标识符。
当参考附图阅读以下说明性实施例的详细描述时,可以清楚本发明的其它特征和优点。
附图说明
以上概述以及以下较佳实施例的详细描述在结合附图阅读时可以得到更好的理解。为说明本发明,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中:
图1是示出其中可实现本发明的各方面的多媒体控制台的框图;
图2是依照本发明的示例性软件激活控制系统的示意图;
图3是依照本发明提供软件许可证的示例性方法的流程图;
图4是依照本发明提供软件许可证的另一示例性方法的流程图;
图5是依照本发明的示例性软件升级控制系统的示意图;
图6是依照本发明升级计算机程序的示例性方法的流程图。
具体实施方式
综述
软件可以被许可以在诸如游戏控制台或多媒体控制台等特定的计算设备,或更具体地,计算设备上的CPU上使用。从分发服务向计算设备(直接或通过用户)提供代码,该代码解锁用于相关联的计算设备的适当软件或软件部分。软件可驻留在诸如CD-ROM或DVD等与计算设备结合使用的计算机可读介质上。
解锁代码可以私密地(例如,通过电子邮件或移动电话)或公开地(例如,在网站上发行)提供给用户。软件中可解锁的部分包括游戏的特定等级或其它特征(诸如附加人物或武器),或作为演示版或较旧的版本提供的应用程序的运行或更高级的版本。
解锁代码理想地基于计算设备的唯一标识符以及与试图被访问的软件相关联的标识符。因此,该代码仅可由该计算设备使用。这防止未授权或未许可的计算设备使用该软件。因此,软件比特的传送与运行该软件比特的许可相分离。运行特定软件应用程序的许可不需要与实际地拥有包含该软件的盘相联系。
示例性计算环境
图1示出了其中可实现本发明的某些方面的多媒体控制台100的功能组件。多媒体控制台100具有带有一级高速缓存102和二级高速缓存104的中央处理单元(CPU)101以及闪速ROM(只读存储器)106。一级高速缓存102和二级高速缓存104临时地储存数据,并因此减少了存储器访问周期数,由此提高了处理速度和吞吐量。CPU 101可以具有一个以上核心,因此可具有附加的一级和二级高速缓存102和104。闪速ROM 106可储存可执行代码,该代码在当多媒体控制台100被通电时的引导过程的初始阶段加载。
图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成了用于高速和高分辩率图形处理的视频处理管道。数据经由总线从图形处理单元108传送到视频编码器/解码器。视频处理管道向A/V(音频/视频)端口140输出数据以供发送到电视机或其它显示器。存储器控制器110连接到GPU 108以便于处理器访问各种类型的存储器112,包括但不限于RAM(随机存取存储器)。
多媒体控制台100包括I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB主机控制器126、第二USB控制器128以及较佳地在模块118上实现的面板I/O子组件130。USB控制器126和128担当外围控制器142(1)-142(2)、无线适配器148以及外部存储器设备146(例如,闪存、外部CD/DVD ROM驱动器、可移动介质等)的主机。网络接口124和/或无线适配器148提供了对网络(例如,因特网、家庭网络等)的访问,并且可以是各种各样有线或无线接口组件的任一种,包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等等。
提供了系统存储器143以储存在引导过程中加载的数据。提供了介质驱动器144,且它包括DVD/CD驱动器、硬盘驱动器或其它可移动介质驱动器等等。介质驱动器144对多媒体控制台100可以是内部或外部的。应用程序数据可经由介质驱动器144来访问以供多媒体控制台100执行、回放等等。介质驱动器144经由诸如串行ATA总线其它高速连接(例如,IEEE 1394)等总线连接到I/O控制器120。
系统管理控制器122提供了与确保多媒体控制台100的可用性有关的各种服务功能。音频处理单元123和音频编解码器132形成了具有高保真和立体声处理的对应音频处理管道。音频数据通过通信链路在音频处理单元123和音频编解码器132之间传送。音频处理管道向A/V 140端口输出数据以供外部音频播放器或具有音频能力的设备再现。
面板I/O子组件130支持电源按钮150和弹出按钮152的功能,以及展现在多媒体控制台100的外表面上的任何LED(发光二极管)或其它指示器。系统电源模块136向多媒体控制台100的组件提供电源。风扇138冷却多媒体控制台100内的电路。
多媒体控制台100内的CPU 101、GPU 108、存储器控制器110和各种其它组件通过一个或多个总线互连,包括串行和并行总线、存储器总线、外围总线以及使用各种总线体系结构的任一种的处理器或局部总线。
当多媒体控制台100被通电时,应用程序数据可从系统存储器143加载到存储器112和/或高速缓存102、104中,并在CPU 101上执行。应用程序可呈现在导航到多媒体控制台100上可用的不同媒体类型时提供一致用户体验的图形用户界面。在操作中,介质驱动器144中包含的应用程序和/或其它介质可以从介质驱动器144中发送或播放,以向多媒体控制台100提供附加的功能。
多媒体控制台100可以通过简单地将系统连接到电视机或其它显示器来作为独立的系统操作。在这一独立模式中,多媒体控制台100允许一个或多个用户与系统交互、观看影片或听音乐。然而,有了可通过网络接口124或无线适配器148获得的宽带连接的集成,多媒体控制台100还可以作为更大网络团体中的参与者来操作。
当多媒体控制台100被通电时,保留一组硬件资源量以供多媒体控制台操作系统的系统使用。这些资源可包括存储器(例如,16MB)、CPU和GPU周期(例如,5%)、网络带宽(例如,8kbs)等的保留。由于这些资源是在系统引导时保留的,因此所保留的资源从应用程序的观点来看并不存在。
具体地,存储器保留较佳地应足够大以包含启动内核、并发系统应用程序和驱动程序。CPU保留较佳地以恒定的级别维持。
对于GPU保留,由系统应用程序生成的轻量级消息(例如,弹出窗口)通过使用对调度代码的GPU中断来显示,以将弹出窗口呈现到覆盖图(overlay)上。覆盖图需要的存储器量取决于覆盖图面积大小,且覆盖图较佳地用屏幕分辩率来缩放。当并发系统应用程序使用全用户界面时,较佳的是使用与游戏分辩率无关的分辩率。可使用缩放程序来设置这一分辩率,从而消除了改变频率且导致TV重新同步的需求。
在多媒体控制台100引导且保留了系统资源以后,并发系统应用程序执行以提供系统功能。系统功能被封装在一组在上述保留的系统资源内执行的系统应用程序中。操作系统内核标识作为系统应用程序线程和多媒体应用程序线程的线程。系统应用程序较佳地被调度成以预定的次数和间隔在CPU 101上运行,以向应用程序提供一致的系统资源观点。调度是最小化运行在控制台上的多媒体应用程序的高速缓存中断。
当并发系统应用程序需要音频时,由于时间敏感性,与多媒体应用程序异步地调度音频处理。多媒体控制台应用程序管理器在系统应用程序活动时控制多媒体应用程序的音频级别(例如,静音、衰减)。
输入设备(例如,控制器142(1)和142(2))由多媒体应用程序和系统应用程序共享。输入设备不是保留的资源,但是要在系统应用程序和多媒体应用程序之间共享,使得其每一个将具有该设备的焦点。应用程序管理器较佳地控制输入流的切换,而无需知道多媒体应用程序的知识,且驱动程序维护关于焦点切换的状态信息。
示例性实施例
图2是依照本发明的一个实施例的示例性软件激活控制系统250的示意图。
为说明起见,软件激活控制系统250被示为包括激活处理器253和字符代码(也称为解锁代码或激活代码)生成器256。然而,实际上,激活处理器253和字符代码生成器256可以被组合成单个组件。付费系统(未在图2中示出)也可用于从用户接收付费,用于要由激活控制系统激活的软件程序。
激活处理器253是处理诸如计算设备200等计算设备的软件的激活的计算机可执行组件。激活处理器253被配置成处理对软件许可证的请求,以及解锁在计算设备上使用的授权。对于对软件许可证的每一请求或使用的其它授权,激活处理器253便于用对设备唯一的设备标识锁在特定计算设备上的软件的激活。
当接收到对软件的请求时,激活处理器253被配置成接收与其中可使用该软件的计算设备200相关联的设备标识。为此,激活处理器253可建立到计算设备200的通信链路以接收设备标识,或可以用不使用到计算设备的直接通信链路的替换方式来接收设备标识。可使用使得激活处理器253能够从计算设备获得数据的任一类型的有线或无线网络连接来建立通信链路。例如,激活处理器253可通过因特网、LAN、无线通信网络等与计算设备交互。或者,激活处理器可通过替换的手段接收设备标识(例如,从计算设备间接接收),诸如通过具有储存在其上的设备标识的用户提供的存储器单元,或通过用户手动将设备标识输入到激活控制系统中。
计算设备200较佳地具有唯一标识符。该标识符用于创建如下所述的在该特定设备上使用软件的“许可证”。字符代码生成器256是创建在计算设备200上使用的、允许在计算设备200上使用特定软件程序的代码的计算机可执行组件。字符代码生成器256接收计算设备的唯一设备标识,并生成在计算设备200上使用的解锁代码。解锁代码然后例如通过激活处理器253直接或通过用户(例如,用户接收其上储存解锁代码的存储器单元,然后将该存储器单元提供给计算设备200)提供给计算设备200。此外,解锁代码仅涉及具有该特定设备标识的计算设备。因此,解锁代码可例如发布在公共网站上,而没有未授权用户在另一计算设备上使用该代码的风险。理想地,机器标识符包含防止用户购买错误计算设备的代码(例如,通过输入错误的控制台序列号(计算设备唯一标识符))的校验和。
解锁代码可储存在计算设备中,使得用户在将来获取运行已被许可给该特定计算设备的软件程序的授权时没有麻烦。由此,解锁代码可以在每次启动该程序时进行校验。如果提供了解锁代码或软件已被正确许可的其它指示符,则软件可正确地运作。注意,软件程序可以是诸如游戏、游戏级别、游戏特征等的任何应用程序或应用程序的部分。其进一步描述在下文给出。
图3是依照本发明提供软件许可证的示例性方法的流程图、在本示例性实施例中,其上可许可并运行软件的计算设备不必连接到诸如因特网等网络。
用户希望在计算设备上运行软件程序或产品。在步骤300,在计算设备上启动该产品。在步骤305,核查与该产品相关联的持久存储器(例如,与计算设备相关联的存储器,如ROM、存储器单元或硬盘)的签名或产品信息(理想地不能被伪造),该签名或信息知识该产品已对该计算设备激活。如果是,则取决于所存储的信息的特性,如果签名要用公钥来解码,则处理在步骤360继续,或者如果产品要直接运行,则在步骤390继续。
如果持久存储器不包含涉及试图运行的产品的先前所储存的信息,则例如在步骤310,可向用户提供一带有关于如何购买用于该计算设备的软件产品的许可证的指令的用户界面。或者,可向用户提供关于如何继续的附加指令。
在这一点上,假定用户已为该产品付费(若需要付费的话)。在步骤320,向激活控制系统提供计算设备的唯一标识符(例如,序列号)以及需要激活的软件程序或产品的产品标识符(例如,产品代码)。用户可手动或通过电话、电话亭、网站或其它手动或电子手段向激活控制系统提供唯一标识符和产品标识符。
在步骤330,在激活控制系统处(例如,在字符代码生成器256处)用私钥(例如,使用RSA签署、DSA签署或任何其它私钥/公钥签署技术或系统)来签署计算设备的标识符和产品标识符。所签署的比特可以被转换成具有预定数量的字母数字字符(例如,大约25到30个字符)的激活代码。
签署的代码或数据然后在步骤340被公共地或私密地提供给用户。例如,所签署的数据可以在网站上张贴、或发电子邮件、打电话或用其它方式提供给用户。由于所签署的数据仅涉及一种计算设备,因此它可以在任何地方公布,甚至可以对公众可用。仅具有计算设备的唯一标识符的计算设备能够激活相关联的软件程序或应用程序。
在步骤350,用户向计算设备提供经签署的数据(例如,比特串)。(或者,如果计算设备例如通过网络连接到激活控制系统,则激活控制系统可向计算设备透明地提供经签署的数据。)计算设备在步骤360使用对应的公钥来检索并验证计算设备的唯一标识符和产品标识符。
在步骤370,确定所检索的唯一标识符是否与计算设备的唯一标识符相匹配,以及所检索的产品标识符是否与用户试图运行的产品的标识符相匹配。如果这些比较的任一个失败,则在步骤380,激活过程停止,可任选地显示或向用户提供出错消息或其它指示符。此外,软件程序可被禁用或异常中止。如有需要,该计算设备也可被禁用。
如果所检索的唯一标识符与计算设备的唯一标识符相匹配,且所检索的产品标识符与用户试图运行的产品的标识符相匹配,则在步骤390,产品被激活并运行。
在步骤385,可能期望在持久存储器中储存一指示符以记住该产品已对该计算设备激活。以此方式,计算设备理想地在未来不需要再联系激活系统或与其交互以运行该产品。例如,该指示符可以是经签署的代码或数据本身,或标识该产品可在该计算设备上使用的产品标识符。理想地,这一代码可以是加密的且以不能被伪造的形式储存,使得仅该计算设备(例如,其CPU)能够读取它。
图4是依照本发明提供软件许可证的另一示例性方法的流程图。在此示例性实施例中,确定顾客激活(解锁)代码,并将其提供给用户或机器。
理想地提供(例如,通过计算设备的制造商)与计算设备的唯一标识符不同的机器密钥,并将其储存在计算设备上(例如,ROM中)。例如,密钥可以是在计算设备的制造过程中生成的随机128比特密钥。机器密钥不必是唯一的。较佳地,密钥可以在计算设备上加密。激活控制系统理想地维护将计算设备的唯一标识符与其机器密钥相关联的数据库、查找表或其它存储设备。
类似于图3,用户期望在计算设备上运行软件程序或产品。在步骤400,在计算设备上启动该产品。在步骤405,核查与该产品相关联的持久存储器(例如,与计算设备相关联的存储器,诸如ROM、存储器单元或硬盘),以找出指示该产品已对该计算设备激活的激活代码或产品信息(理想地不能被伪造)。如果是,则取决于所储存的信息的特性,如果所储存的数据是激活代码,则处理在步骤450继续,或者如果储存了产品标识符,则处理在步骤490继续。
如果持久存储器不包含涉及试图运行的产品的先前储存的信息,则在步骤410,例如可向用户提供一带有关于如何购买用于该计算设备的软件产品的许可证的指令的用户界面。或者,可向用户提供关于如何继续的附加指令。
在这一点上,假定用户已为该产品付费(如果需要付费的话)。在步骤420,向激活控制系统提供计算设备的唯一标识符(例如,序列号)以及需要激活的软件程序或应用程序的产品标识符(例如,产品代码)。用户可手动或通过电话、电话亭、网站或其它手动或电子手段向激活控制系统提供唯一标识符和产品标识符。
在步骤430,例如激活控制系统从数据库(例如,诸如查找表等数据库,具有两列:计算设备标识符和对应的机器密钥)中查找对应的机器密钥(对称密钥),并基于机器密钥和产品标识符计算散列(例如,诸如SHA-1(机器密钥|产品代码)等单向散列)。如果该密钥被加密,则它理想地在散列确定之前解密。在步骤435,基于该散列生成激活代码。该散列或散列的某一部分被转换成用户可键入字符。例如,单向散列的前32个比特可被转换成8字符激活代码。
然后在步骤440,向用户提供该激活代码。例如,激活代码可以被张贴在网站上、发电子邮件、打电话或通过其它方式提供给用户。在步骤445,用户向计算设备提供激活代码。如果计算设备例如通过网络连接到激活控制系统,则激活控制系统可透明地向计算设备提供激活代码。
在步骤450,在计算设备处,本地地计算包括机器密钥和产品代码的单独散列。使用步骤435中的同一技术,散列或散列的某一部分被转换成用户可键入字符。
在步骤470,确定本地计算的激活代码是否与由激活控制系统确定和提供的激活代码相匹配。如果这一比较失败,则在步骤480,激活过程停止,可任选地显示或向用户提供出错消息或其它指示符。
如果本地计算的激活代码与由激活控制系统确定和提供的激活代码相匹配,则在步骤490,该产品被激活并运行。
类似于相对图3所描述的,在步骤485,可能期望在持久存储器中储存一指示符,以记住该产品已对该计算设备激活。指示符可以是由激活控制系统本身确定的激活代码(会导致在将来取框405到框450的路径),或者标识可在该计算设备上使用该产品的产品标识符(会导致在将来取框405到框490的路径)。
图5是依照本发明的另一实施例的示例性软件升级控制系统500的示意图。软件升级控制系统500使用户能够购买被锁定到其特定计算设备的软件升级。这些软件升级可以是任何类型的计算机可执行程序。例如,软件升级可包括当前在计算设备200上找到(例如,许可使用)的软件的新版本,或游戏上的附加等级、人物或其它特征的解锁。在一个配置中,软件升级控制系统500包括激活处理器505、付费系统510、升级代码生成器515。实际上,这些组件可被组合成单个组件。
寻求对计算设备200上的先前许可的软件程序的某一类别的升级的访问的用户通过例如绑定到激活处理器505的用户界面联系升级控制系统500。激活处理器505便于通过付费系统510为该软件升级付费。在作出了适当的付费之后,升级代码生成器515生成最终提供给计算设备200的升级代码。该升级代码解锁附加特征等等。
付费系统510可包括一个或多个计算设备,并可被配置成使用户能够通过电子方式购买软件升级。可构想付费系统不必是货币付费系统。例如,注册一个人的名字和地址可以是用于访问附加特征的“付费”。
为提供用户为计算设备所购买的软件升级,升级控制系统500被配置成与激活控制器505和升级代码生成器515交互并向其提供计算设备标识。使用该计算设备标识信息,升级代码生成器515被配置成生成软件升级代码,并将其锁定到设备标识,并将该升级代码提供给计算设备200(或用户)。例如,升级代码生成器515可通过电子邮件、允许用户通过因特网下载软件升级代码、或某些其它类似的方法将软件升级代码提供给用户。
图6是依照本发明升级计算机程序的示例性方法的流程图。在步骤600,用户能够使用计算设备上软件程序的一部分,这是因为例如软件程序的该部分已对该计算设备许可(例如,使用先前相对于图3和4描述的方法),或者因为软件程序的该部分不需要许可证(即,它是免费使用的)。软件程序的剩余部分被锁定且对用户不可用。
在步骤610用户期望升级软件程序来获得对附加特征等的访问,并由此向升级控制系统500提供付费(可以是货币或诸如名字和地址等其它东西)和计算设备标识符。升级控制系统500在步骤620处理该付费,并生成升级代码。
在步骤630,向用户和计算设备提供解锁附加特征的升级代码。该升级代码或其它指示符理想地在步骤640储存在与计算设备相关联的非易失性存储器中,使得计算设备可访问升级中的附加特征,而不需要进一步联系升级控制系统500。
升级代码也可作为经签署的数据或依照散列来提供,例如上文相对于图3和4所陈述的。
作为一个示例,假定用户去往零售商处并购买了软件应用程序的演示盘。用户将演示盘插入到计算设备中并可以玩游戏的演示级别。为了玩游戏的剩余部分,指令用户访问网站或呼叫电话号码,并提供计算设备的标识符(例如,序列号)。用户也支付了费用,并响应于标识符和正确的付费,用户接收到激活该软件应用程序的激活代码。在此之后,提供适用于在特定计算设备上运行特定软件应用程序的8字符激活代码。用户可将该激活代码输入到计算设备。在此之后,计算设备允许用户永远能够玩完整的游戏,而不会再要求激活代码。
用户也可从网站下载软件程序的副本,并且然后使用程序标识符和计算设备的唯一标识符(例如,序列号)来购买激活代码。
此处所描述的激活代码可以提供给附加到用户计算设备的存储器设备(例如,可插式USB闪存)。由此,用户不需要键入任何激活代码,因为它是通过存储器设备来提供的。或者,计算设备本身可连接到提供激活代码的网站或系统,因此不需要手动输入激活代码或附加存储器设备。
可以构想,用户可通过购买特定软件产品的软件许可证以在特定计算设备上运行一段特定时间(例如,一周、一个月等等)来“租借”软件应用程序。例如,所生成和提供的激活代码可具有与其相关联的过期时间或日期。当用户在计算设备上使用该软件程序时,可对照驻留在计算设备上的值核查该过期时段,或者计算设备可能必须向网站登记或连接到网站。
诸如控制系统250或500等控制系统可维护注册到个别计算设备的每一应用程序的列表。由此,例如如果计算设备被破坏或被盗窃,则替换的计算设备也可用原先在原始设备上注册的程序来激活。可以构想用户可联系控制系统并提供原始计算设备的标识符以及新计算设备的标识符。控制系统将检索原始计算设备的已激活程序列表,并为新计算设备生成新激活代码,并将该新激活代码提供给用户以用于新计算设备。
由此,在准许应用程序运行之前,执行软件激活核查。这允许控制激活(解锁)代码的分发和销售的分发服务与其中游戏零售商或发行商可获得大部分销售额的传统零售环境相比,能够获得更大百分比的销售额。软件激活是用于盗版严重地区的营销和游戏分发机制。本发明允许更快速和简单地分发新软件。在游戏投放过程中由于不正确地计算出版的物理盘的数量而引起的收入损失可被减少。为了以克服常规DVD复制保护而可能出现一种逐凹点(pit)DVD复制技术不会影响本发明的功效。应用程序定价调整变得更简单和快速,而无需价格改变来使整个零售渠道起波动。游戏演示可以大规模地分发,而无需额外的成本。消费者不再需要担心破坏、刮伤或甚至丢失应用程序盘。
可设立网站以允许用户购买在特定计算设备上使用的软件产品的激活和/或升级代码,并且可显示软件产品的当前解锁价格。网站也可显示特定计算设备的已购买代码。如果控制台曾被复位(再刷新)或重新销售,则这是有用的。二手计算设备购买者因此将能够访问计算设备的解锁代码列表。
提供解锁和/或升级代码的示例性系统可跟踪销售、使用等等,并可将解锁的软件程序的统计量记入日志,并提供当前定价的权威定位。这也允许系统进行第三方软件发行商的版税跟踪/审计。
如上所述,尽管结合各种计算设备描述了本发明,然而基本概念可应用于任何计算设备或系统。
此处描述的各种技术可以结合硬件或软件,或在适当时用两者的组合来实现。由此,本发明的方法和装置或其某些方面或部分可采用包含在诸如软盘、CD-ROM、硬盘或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载到诸如计算机等机器并由其执行时,该机器变为用于实施本发明的装置。在可编程计算机上的程序代码执行的情况下,计算设备一般将包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。如有需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是编译或解释的语言,并与硬件实现相组合。
本发明的方法和装置也可以经由以通过某一传输介质传输的程序代码形式具体化的通信来实施,诸如通过电线或电缆、通过光纤或通过任何其它形式的传输,其中,当该程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户机计算机等机器接收并加载到其中并由其执行时,该机器变为用于实施本发明的装置。当在通用处理器上实现时,该程序代码与处理器结合以提供用于调用本发明的功能的唯一装置。另外,与本发明结合使用的任何存储技术可以不变地为硬件和软件的组合。
尽管结合各附图的较佳实施例描述了本发明,然而可以理解,可以使用其它类似的实施例或可以对所描述的实施例作出修改和添加以执行本发明的同一功能,而不脱离本发明。因此,本发明不应当由任何单个实施例来限制,而是应当依照所附权利要求书的宽度和范围来解释。

Claims (20)

1.一种用于提供对应用程序的访问的方法,包括:
基于要在其上运行所述应用程序的计算设备的唯一标识符以及与所述应用程序相关联的应用程序标识符,确定一激活代码,其中一与所述唯一标识符不同但对应于所述唯一标识符的机器密钥被用于确定所述激活代码,其中所述机器密钥存储在所述计算设备的只读存储器中,并且所述机器密钥是所述计算设备的制造商在所述计算设备的制造过程中生成的随机密钥并且不必是唯一的,并且所述机器密钥在所述计算设备上被加密;
向所述计算设备提供所述激活代码;
本地地计算包括所述机器密钥和所述应用程序标识符的单独散列;
基于所述单独散列生成本地计算的激活代码;
确定所述本地计算的激活代码是否与提供给所述计算设备的激活代码相匹配;以及
如果所述本地计算的激活代码与提供给所述计算设备的激活代码相匹配,则激活所述应用程序。
2.如权利要求1所述的方法,其特征在于,还包括在确定所述激活代码前确定所述应用程序是否已在所述计算设备上激活,并且仅在所述应用程序尚未在所述计算设备上激活时确定所述激活代码。
3.如权利要求1所述的方法,其特征在于,还包括在确定所述激活代码之前收集所述应用程序的付费。
4.如权利要求1所述的方法,其特征在于,确定所述激活代码包括基于所述机器密钥和所述应用程序标识符确定一散列。
5.如权利要求1所述的方法,其特征在于,还包括在确定所述激活代码前在所述计算设备上启动所述应用程序。
6.如权利要求1所述的方法,其特征在于,还包括在确定所述激活代码前在所述计算设备处请求所述激活代码。
7.如权利要求1所述的方法,其特征在于,还包括将所述激活代码储存在与所述计算设备相关联的存储器设备中。
8.一种用于提供对应用程序的访问的方法,包括:
在计算设备上启动一应用程序;
接收所述应用程序的激活代码,所述激活代码基于所述计算设备的唯一标识符和与所述应用程序相关联的应用程序标识符,其中一与所述唯一标识符不同但对应于所述唯一标识符的机器密钥被用于确定所述激活代码,其中所述机器密钥存储在所述计算设备的只读存储器中,并且所述机器密钥是所述计算设备的制造商在所述计算设备的制造过程中生成的随机密钥且不必是唯一的,并且所述机器密钥在所述计算设备上被加密;
本地地计算包括所述机器密钥和所述应用程序标识符的单独散列;
基于所述单独散列生成本地计算的激活代码;
确定所述本地计算的激活代码是否与提供给所述计算设备的激活代码相匹配;以及
如果所述本地计算的激活代码与提供给所述计算设备的激活代码相匹配,则基于所述激活代码激活所述应用程序。
9.如权利要求8所述的方法,其特征在于,还包括在接收所述激活代码之前提供所述激活代码的付费。
10.如权利要求8所述的方法,其特征在于,还包括在接收所述激活代码之前确定所述应用程序是否已在所述计算设备上激活,并且仅在所述应用程序尚未在所述计算设备上激活的时候接收所述激活代码。
11.如权利要求8所述的方法,其特征在于,所述激活代码基于一散列来生成,所述散列基于所述机器密钥以及与所述应用程序相关联的应用程序标识符来计算。
12.如权利要求8所述的方法,其特征在于,还包括将所述激活代码储存在与所述计算设备相关联的存储器设备中。
13.一种激活控制系统,其特征在于,包括:
一激活处理器,用于接收对用于在计算设备上运行应用程序的激活代码的请求;以及
一激活代码生成器,用于基于要在其上运行所述应用程序的计算设备的唯一标识符和与所述应用程序相关联的应用程序标识符确定所述激活代码,其中一与所述唯一标识符不同但对应于所述唯一标识符的机器密钥被用于确定所述激活代码,其中所述机器密钥存储在所述计算设备的只读存储器中,并且所述机器密钥是所述计算设备的制造商在所述计算设备的制造过程中生成的随机密钥且不必是唯一的,并且所述机器密钥在所述计算设备上被加密;
其中所述计算设备本地地计算包括所述机器密钥和所述应用程序标识符的单独散列,基于所述单独散列生成本地计算的激活代码,确定所述本地计算的激活代码是否与提供给所述计算设备的激活代码相匹配,并且如果所述本地计算的激活代码与提供给所述计算设备的激活代码相匹配则激活所述应用程序。
14.如权利要求13所述的系统,其特征在于,所述激活代码生成器向所述计算设备提供所述激活代码。
15.如权利要求13所述的系统,其特征在于,还包括一用于收集为所述应用程序的付费的付费系统。
16.如权利要求13所述的系统,其特征在于,所述激活代码生成器基于一散列来确定所述激活代码,所述散列基于所述机器密钥和所述应用程序标识符来计算。
17.一种计算设备,包括:
一中央处理单元CPU,用于:
在所述计算设备上启动一应用程序,
请求和接收所述应用程序的激活代码,所述激活代码基于所述计算设备的唯一标识符和与所述应用程序相关联的应用程序标识符,其中一与所述唯一标识符不同但对应于所述唯一标识符的机器密钥被用于确定所述激活代码,其中所述机器密钥存储在所述计算设备的只读存储器中,并且所述机器密钥是所述计算设备的制造商在所述计算设备的制造过程中生成的随机密钥且不必是唯一的,并且所述机器密钥在所述计算设备上被加密,
本地地计算包括所述机器密钥和所述应用程序标识符的单独散列,
基于所述单独散列生成本地计算的激活代码,
确定所述本地计算的激活代码是否与提供给所述计算设备的激活代码相匹配,以及
如果所述本地计算的激活代码与提供给所述计算设备的激活代码相匹配,则基于所述激活代码激活所述应用程序;以及
一存储器设备,用于储存所述激活代码。
18.如权利要求17所述的计算设备,其特征在于,所述CPU适用于从一输入设备接收付费指令,并将付费提供给一远程付费系统。
19.如权利要求17所述的计算设备,其特征在于,所述CPU适用于在请求所述激活代码之前确定所述应用程序是否已在所述计算设备上激活,并且仅在所述应用程序尚未在所述计算设备上激活时请求所述激活代码。
20.如权利要求17所述的计算设备,其特征在于,所述激活代码基于一散列来生成,所述散列基于所述计算设备的机器密钥以及与所述应用程序相关联的应用程序标识符来计算。
CN200510091085.XA 2004-09-01 2005-08-01 许可特定cpu上软件的使用 Expired - Fee Related CN1744099B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/931,785 2004-09-01
US10/931,884 US7849329B2 (en) 2004-09-01 2004-09-01 Licensing the use of a particular feature of software
US10/931,884 2004-09-01
US10/931,785 US7552341B2 (en) 2004-09-01 2004-09-01 Licensing the use of software on a particular CPU

Publications (2)

Publication Number Publication Date
CN1744099A CN1744099A (zh) 2006-03-08
CN1744099B true CN1744099B (zh) 2011-05-11

Family

ID=36035609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510091085.XA Expired - Fee Related CN1744099B (zh) 2004-09-01 2005-08-01 许可特定cpu上软件的使用

Country Status (2)

Country Link
US (2) US7552341B2 (zh)
CN (1) CN1744099B (zh)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7611409B2 (en) * 2001-09-20 2009-11-03 Igt Method and apparatus for registering a mobile device with a gaming machine
US7699703B2 (en) * 2001-09-20 2010-04-20 Igt Method and apparatus for registering a mobile device with a gaming machine
CN101699505B (zh) 2003-04-25 2016-02-17 苹果公司 一种基于网络的媒体系统
US9406068B2 (en) 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
US7844548B2 (en) * 2003-10-15 2010-11-30 Apple Inc. Techniques and systems for electronic submission of media for network-based distribution
US8512144B2 (en) 2003-10-20 2013-08-20 Tipping Point Group, Llc Method and apparatus for providing secondary gaming machine functionality
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
US7552341B2 (en) * 2004-09-01 2009-06-23 Microsoft Corporation Licensing the use of software on a particular CPU
US20060129459A1 (en) * 2004-11-22 2006-06-15 Mendelsohn Mark P Method and system for the secure distribution of software via a communications network
US8876606B2 (en) 2004-12-07 2014-11-04 Microsoft Corporation User-centric method of aggregating information sources to reinforce digital identity
US7887419B2 (en) 2004-12-07 2011-02-15 Microsoft Corporation Game achievements system
US8425331B2 (en) 2004-12-07 2013-04-23 Microsoft Corporation User interface for viewing aggregated game, system and personal information
GB2423603A (en) * 2005-02-25 2006-08-30 Canon Europa Nv Authorising printer access via a removable memory
US20060200814A1 (en) * 2005-03-02 2006-09-07 Nokia Corporation Software distribution with activation control
US9270732B2 (en) * 2005-03-14 2016-02-23 Rhapsody International Inc. System and method for automatically uploading updates
US20070028298A1 (en) * 2005-07-29 2007-02-01 Helaine Snyder System and method for configuring an electronic device
US20070028233A1 (en) * 2005-07-29 2007-02-01 Miller David D Traffic control software lock and method
US8667395B2 (en) * 2005-08-19 2014-03-04 Nintendo Co., Ltd. Method and apparatus for creating video game and entertainment demonstrations with full preview and/or other features
DE602005008738D1 (de) * 2005-08-25 2008-09-18 Elling Innovative Group As Kopiergeschützter optischer Informationsträger
JP4818664B2 (ja) * 2005-09-05 2011-11-16 富士通株式会社 機器情報送信方法、機器情報送信装置、機器情報送信プログラム
US9202210B2 (en) * 2005-11-23 2015-12-01 Sandisk Il Ltd. Digital rights management device and method
US7389426B2 (en) * 2005-11-29 2008-06-17 Research In Motion Limited Mobile software terminal identifier
US20070219924A1 (en) * 2006-03-17 2007-09-20 Wildtangent, Inc. User interfacing for licensed media consumption using digital currency
US9082113B2 (en) * 2006-03-17 2015-07-14 Wildtangent, Inc. Licensing media consumption using digital currency
US9087326B2 (en) * 2006-03-17 2015-07-21 Wildtangent, Inc. Accruing and/or providing digital currency for media consumption
US7590601B2 (en) * 2006-03-17 2009-09-15 Wildtangent, Inc Licensing media consumption using digital currency
US8469792B2 (en) 2006-03-31 2013-06-25 Michael R. Pace Electronic gaming method and system having variable game display timer
US9028329B2 (en) 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device
US10026255B2 (en) 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US8784196B2 (en) 2006-04-13 2014-07-22 Igt Remote content management and resource sharing on a gaming machine and method of implementing same
US8015237B2 (en) 2006-05-15 2011-09-06 Apple Inc. Processing of metadata content and media content received by a media distribution system
US7827162B2 (en) * 2006-05-15 2010-11-02 Apple Inc. Media package format for submission to a media distribution system
US7962634B2 (en) * 2006-05-15 2011-06-14 Apple Inc. Submission of metadata content and media content to a media distribution system
US20070265969A1 (en) * 2006-05-15 2007-11-15 Apple Computer, Inc. Computerized management of media distribution agreements
US20080270310A1 (en) * 2006-06-27 2008-10-30 Intuit Inc. Facilitating dynamic configuration of software products
US9471756B2 (en) * 2006-06-27 2016-10-18 Intuit Inc. Method and apparatus for authorizing a software product to be used on a computer system
US7747864B2 (en) * 2006-06-29 2010-06-29 Mircosoft Corporation DVD identification and managed copy authorization
DE102006035526A1 (de) * 2006-07-27 2008-01-31 Endress + Hauser Gmbh + Co. Kg Verfahren zum Freischalten von Sonderfunktionalitäten bei Feldgeräten der Automatisierungstechnik
US7992171B2 (en) 2006-09-06 2011-08-02 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US7873988B1 (en) * 2006-09-06 2011-01-18 Qurio Holdings, Inc. System and method for rights propagation and license management in conjunction with distribution of digital content in a social network
US7801971B1 (en) 2006-09-26 2010-09-21 Qurio Holdings, Inc. Systems and methods for discovering, creating, using, and managing social network circuits
US7925592B1 (en) 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US8554827B2 (en) 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US20080147227A1 (en) * 2006-10-31 2008-06-19 Delaney William P Systems and methods for improved product variant configuration and distribution in hub-based distribution
US20090156303A1 (en) 2006-11-10 2009-06-18 Igt Bonusing Architectures in a Gaming Environment
US9311774B2 (en) 2006-11-10 2016-04-12 Igt Gaming machine with externally controlled content display
US8142282B2 (en) * 2006-11-15 2012-03-27 Microsoft Corporation Console integrated downloadable game service
US9002745B2 (en) 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
CN100590633C (zh) * 2007-01-31 2010-02-17 同方股份有限公司 一种基于可扩展固件接口的便携式计算机的防盗方法
JP2008197795A (ja) * 2007-02-09 2008-08-28 Nec Infrontia Corp 機能ライセンス認証方法及び機能ライセンス認証システム
US20080242406A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Digital game distribution for gaming devices
US20080243697A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Digital game distribution and royalty calculation
CN101068441B (zh) * 2007-06-25 2010-06-09 华为技术有限公司 许可认证方法、认证中心和认证系统
US8667604B2 (en) * 2007-09-13 2014-03-04 Microsoft Corporation Protection of software on portable medium
US8725790B2 (en) * 2007-12-12 2014-05-13 Big Fish Games, Inc. Multiple application activation
US9818071B2 (en) 2007-12-21 2017-11-14 Invention Science Fund I, Llc Authorization rights for operational components
US20110178619A1 (en) * 2007-12-21 2011-07-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Security-activated robotic tasks
US9626487B2 (en) 2007-12-21 2017-04-18 Invention Science Fund I, Llc Security-activated production device
US8145537B2 (en) * 2008-02-21 2012-03-27 Digital River, Inc. Integrated software network agent
AU2009201387A1 (en) 2008-04-22 2009-11-05 Aristocrat Technologies Australia Pty Limited A method of gaming, a gaming system and a game controller
US9342287B2 (en) 2008-05-05 2016-05-17 Apple Inc. Software program ratings
US10255580B2 (en) * 2008-05-05 2019-04-09 Apple Inc. Network-based distribution of application products
US9076176B2 (en) 2008-05-05 2015-07-07 Apple Inc. Electronic submission of application programs for network-based distribution
US20090307683A1 (en) * 2008-06-08 2009-12-10 Sam Gharabally Network-Based Update of Application Programs
US20090313171A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Electronic transaction verification
US8316423B2 (en) * 2008-06-17 2012-11-20 Kyocera Document Solutions Inc. Image forming apparatus, key management server, activation system, and deactivation system
JP5175628B2 (ja) * 2008-06-17 2013-04-03 京セラドキュメントソリューションズ株式会社 画像形成装置、キー管理サーバ装置およびアクティベーションシステム
JP5175629B2 (ja) * 2008-06-17 2013-04-03 京セラドキュメントソリューションズ株式会社 アクティベーションシステム
US20100186095A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Method and system for gap based anti-piracy
US10476883B2 (en) 2012-03-02 2019-11-12 Inside Secure Signaling conditional access system switching and key derivation
US10691860B2 (en) 2009-02-24 2020-06-23 Rambus Inc. Secure logic locking and configuration with camouflaged programmable micro netlists
US20100235889A1 (en) * 2009-03-16 2010-09-16 Michael Kuohao Chu Application products with in-application subsequent feature access using network-based distribution system
US20100235254A1 (en) * 2009-03-16 2010-09-16 Payam Mirrashidi Application Products with In-Application Subsequent Feature Access Using Network-Based Distribution System
AU2012258433B2 (en) * 2009-03-16 2014-01-23 Apple Inc. Application products with in-application subsequent feature access using network-based distribution system
US9633183B2 (en) 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US20100325431A1 (en) * 2009-06-19 2010-12-23 Joseph Martin Mordetsky Feature-Specific Keys for Executable Code
US9092598B2 (en) * 2009-07-30 2015-07-28 Microsoft Technology Licensing, Llc Version-based software product activation
US9729609B2 (en) * 2009-08-07 2017-08-08 Apple Inc. Automatic transport discovery for media submission
US8935217B2 (en) * 2009-09-08 2015-01-13 Apple Inc. Digital asset validation prior to submission for network-based distribution
US9299075B2 (en) * 2009-11-19 2016-03-29 Adobe Systems Incorporated Method and system for activating a software application while provisioning services for the application
US8401973B1 (en) * 2009-11-19 2013-03-19 Adobe Systems Incorporated Method and system for managing a license for an add-on software component
US20110153441A1 (en) * 2009-12-23 2011-06-23 Merrill Brooks Smith Systems and Methods for Authorizing Use of Validly Sold Merchandise
US8521852B2 (en) * 2009-12-28 2013-08-27 The Directv Group, Inc. Method and system for registering a client device in a multi-room digital video recording system
US9922063B2 (en) * 2009-12-29 2018-03-20 International Business Machines Corporation Secure storage of secret data in a dispersed storage network
US9449324B2 (en) * 2010-11-11 2016-09-20 Sony Corporation Reducing TV licensing costs
US10102354B2 (en) * 2010-11-19 2018-10-16 Microsoft Technology Licensing, Llc Integrated application feature store
WO2012068614A1 (en) * 2010-11-22 2012-05-31 Lockerteck Pty Ltd A system and method for providing an application lock
RU2446458C1 (ru) * 2010-11-24 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Компонента лицензирования компьютерных приложений
US8438079B1 (en) * 2011-04-04 2013-05-07 Google Inc. Processing purchase requests by third-party applications
US9875607B2 (en) 2011-07-13 2018-01-23 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
CN102915414A (zh) * 2011-08-02 2013-02-06 中国银联股份有限公司 用于安全性信息交互的数据存储系统及方法
CN102955700A (zh) * 2011-08-18 2013-03-06 腾讯科技(深圳)有限公司 软件升级系统及方法
US10121318B2 (en) 2011-09-09 2018-11-06 Igt Bill acceptors and printers for providing virtual ticket-in and ticket-out on a gaming machine
US8613659B2 (en) 2011-09-09 2013-12-24 Igt Virtual ticket-in and ticket-out on a gaming machine
US9367835B2 (en) 2011-09-09 2016-06-14 Igt Retrofit devices for providing virtual ticket-in and ticket-out on a gaming machine
US10297105B2 (en) 2011-09-09 2019-05-21 Igt Redemption of virtual tickets using a portable electronic device
US9524609B2 (en) 2011-09-30 2016-12-20 Igt Gaming system, gaming device and method for utilizing mobile devices at a gaming establishment
US10192199B2 (en) 2011-11-16 2019-01-29 Microsoft Technology Licensing, Llc Enabling service features within productivity applications
US8792637B2 (en) * 2011-11-22 2014-07-29 Combined Conditional Access Development & Support, LLC Downloading of data to secure devices
US8613668B2 (en) 2011-12-22 2013-12-24 Igt Directional wireless communication
CN102609665B (zh) * 2012-01-19 2014-12-10 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
US8876596B2 (en) 2012-02-29 2014-11-04 Igt Virtualized magnetic player card
EP2820546B1 (en) * 2012-03-02 2019-07-31 INSIDE Secure Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
US8914767B2 (en) * 2012-03-12 2014-12-16 Symantec Corporation Systems and methods for using quick response codes to activate software applications
CN104303148B (zh) * 2012-03-22 2018-10-19 爱迪德技术有限公司 更新软件组件
US9311769B2 (en) 2012-03-28 2016-04-12 Igt Emailing or texting as communication between mobile device and EGM
CN103377332B (zh) * 2012-04-26 2016-04-20 腾讯科技(深圳)有限公司 访问应用程序的方法及装置
US9203624B2 (en) 2012-06-04 2015-12-01 Apple Inc. Authentication and notification heuristics
DE102012011250A1 (de) 2012-06-06 2013-12-24 Fresenius Medical Care Deutschland Gmbh Konzentratbehältnis mit Stützelementen
DE102012012350A1 (de) * 2012-06-22 2013-12-24 Fresenius Medical Care Deutschland Gmbh Vorrichtung und Verfahren zur Erzeugung und Anzeige von für medizinische Geräte und medizinische Behandlungen spezifischen Grafikkodierungen
US9412227B2 (en) 2012-07-11 2016-08-09 Igt Method and apparatus for offering a mobile device version of an electronic gaming machine game at the electronic gaming machine
CN103577744A (zh) * 2012-08-08 2014-02-12 上海赤炫信息科技有限公司 一种用于Android移动互联网设备的网络在线激活方式
US8990188B2 (en) 2012-11-30 2015-03-24 Apple Inc. Managed assessment of submitted digital content
CN103049683B (zh) * 2012-12-18 2016-04-06 惠州市亿能电子有限公司 一种bms上位机程序授权保密方法
US9087341B2 (en) 2013-01-11 2015-07-21 Apple Inc. Migration of feedback data to equivalent digital assets
US9609080B2 (en) 2013-03-12 2017-03-28 Cyberlink Corp. Systems and methods for device identity delegation for application software
CN104346317B (zh) * 2013-07-23 2019-08-27 南京中兴软件有限责任公司 共享资源访问方法和装置
US20150121540A1 (en) * 2013-10-28 2015-04-30 Linear Llc Software and Inventory Licensing System and Method
DE102014104227B4 (de) 2014-03-26 2016-08-18 Lorch Schweißtechnik GmbH VERFAHREN ZUR FUNKTIONSERWEITERUNG EINES ELEKTRISCHEN SCHWEIßGERÄTS UND SCHWEIßGERÄT ZUR DURCHFÜHRUNG DES VERFAHRENS
US9536060B2 (en) * 2014-05-03 2017-01-03 Clevx, Llc Network information system with license registration and method of operation thereof
JP6475455B2 (ja) * 2014-09-26 2019-02-27 任天堂株式会社 コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ配信プログラムおよびコンテンツ配信方法
US9916735B2 (en) 2015-07-22 2018-03-13 Igt Remote gaming cash voucher printing system
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US20170092054A1 (en) 2015-09-25 2017-03-30 Igt Gaming system and method for utilizing a mobile device to fund a gaming session
US10417867B2 (en) 2015-09-25 2019-09-17 Igt Gaming system and method for automatically transferring funds to a mobile device
US10257189B2 (en) 2016-05-24 2019-04-09 Microsoft Technology Licensing, Llc Using hardware based secure isolated region to prevent piracy and cheating on electronic devices
US10310718B2 (en) * 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature
US10217317B2 (en) 2016-08-09 2019-02-26 Igt Gaming system and method for providing incentives for transferring funds to and from a mobile device
US10916090B2 (en) 2016-08-23 2021-02-09 Igt System and method for transferring funds from a financial institution device to a cashless wagering account accessible via a mobile device
US10621824B2 (en) 2016-09-23 2020-04-14 Igt Gaming system player identification device
GB201705749D0 (en) * 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
US10332344B2 (en) 2017-07-24 2019-06-25 Igt System and method for controlling electronic gaming machine/electronic gaming machine component bezel lighting to indicate different wireless connection statuses
US10360763B2 (en) 2017-08-03 2019-07-23 Igt System and method for utilizing a mobile device to facilitate fund transfers between a cashless wagering account and a gaming establishment retail account
US10380843B2 (en) 2017-08-03 2019-08-13 Igt System and method for tracking funds from a plurality of funding sources
US10360761B2 (en) 2017-08-03 2019-07-23 Igt System and method for providing a gaming establishment account pre-approved access to funds
US10373430B2 (en) 2017-08-03 2019-08-06 Igt System and method for tracking fund transfers between an electronic gaming machine and a plurality of funding sources
US10643426B2 (en) 2017-12-18 2020-05-05 Igt System and method for providing a gaming establishment account automatic access to funds
US11341817B2 (en) 2017-12-18 2022-05-24 Igt System and method for providing awards for utilizing a mobile device in association with a gaming establishment retail account
US11922765B2 (en) 2017-12-18 2024-03-05 Igt System and method employing virtual tickets
US11043066B2 (en) 2017-12-21 2021-06-22 Igt System and method for centralizing funds to a primary gaming establishment account
US10950088B2 (en) 2017-12-21 2021-03-16 Igt System and method for utilizing virtual ticket vouchers
US10970968B2 (en) 2018-04-18 2021-04-06 Igt System and method for incentivizing the maintenance of funds in a gaming establishment account
WO2020070873A1 (ja) * 2018-10-05 2020-04-09 三菱電機株式会社 Cpuユニット、プログラマブルロジックコントローラ、方法、プログラム、及びエンジニアリングツール
US11450172B2 (en) 2019-03-19 2022-09-20 Keen Dog, Llc Amusement system for skill-based games and methods directed to the same
EP3973422A4 (en) * 2019-05-21 2022-11-23 Agilent Technologies, Inc. MANAGEMENT AND AUTHENTICATION OF SOFTWARE LICENSING
CN111597545B (zh) * 2020-05-19 2021-08-31 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN112417423A (zh) * 2020-11-27 2021-02-26 陈德锋 电子设备的使用控制方法、装置、电子设备及计算机设备

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799497B2 (ja) * 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
CA2683230C (en) 1995-02-13 2013-08-27 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6252964B1 (en) 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
US6937729B2 (en) 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5652793A (en) 1995-05-08 1997-07-29 Nvidia Corporation Method and apparatus for authenticating the use of software
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US6151618A (en) 1995-12-04 2000-11-21 Microsoft Corporation Safe general purpose virtual machine computing system
US5944821A (en) 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US7039603B2 (en) 1996-09-04 2006-05-02 Walker Digital, Llc Settlement systems and methods wherein a buyer takes possession at a retailer of a product purchased using a communication network
US6081893A (en) 1997-05-28 2000-06-27 Symantec Corporation System for supporting secured log-in of multiple users into a plurality of computers using combined presentation of memorized password and transportable passport record
US6029141A (en) 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US6170060B1 (en) 1997-10-03 2001-01-02 Audible, Inc. Method and apparatus for targeting a digital information playback device
JP4006796B2 (ja) 1997-11-17 2007-11-14 株式会社日立製作所 個人情報管理方法および装置
US6253370B1 (en) 1997-12-01 2001-06-26 Compaq Computer Corporation Method and apparatus for annotating a computer program to facilitate subsequent processing of the program
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6353889B1 (en) 1998-05-13 2002-03-05 Mytec Technologies Inc. Portable device and method for accessing data key actuated devices
US6044471A (en) 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US6363356B1 (en) 1998-07-16 2002-03-26 Preview Software Referrer-based system for try/buy electronic software distribution
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6599194B1 (en) 1998-09-08 2003-07-29 Darren Smith Home video game system with hard disk drive and internet access capability
WO2000016210A1 (en) 1998-09-17 2000-03-23 Nexchange Corporation Affiliate commerce system and method
US6470450B1 (en) 1998-12-23 2002-10-22 Entrust Technologies Limited Method and apparatus for controlling application access to limited access based data
US7225333B2 (en) 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6754826B1 (en) 1999-03-31 2004-06-22 International Business Machines Corporation Data processing system and method including a network access connector for limiting access to the network
US6651171B1 (en) 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6920567B1 (en) 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6468160B2 (en) 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
US6460081B1 (en) 1999-05-19 2002-10-01 Qwest Communications International Inc. System and method for controlling data access
JP4086445B2 (ja) 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7016859B2 (en) 2000-04-04 2006-03-21 Michael Whitesage System and method for managing purchasing contracts
US20040078305A1 (en) 2000-04-20 2004-04-22 Scott Weller Internet sales tracking system for reimbursing display store costs
WO2001082086A1 (fr) 2000-04-24 2001-11-01 Matsushita Electric Industrial Co., Ltd. Dispositif de definition de droit d'acces et terminal gestionnaire
JP2002014929A (ja) 2000-04-26 2002-01-18 Sony Corp アクセス制御システム、アクセス制御方法、およびデバイス、アクセス制御サーバ、アクセス制御サーバ登録サーバ、データ処理装置、並びにプログラム記憶媒体
JP2001350720A (ja) 2000-06-06 2001-12-21 Sony Corp 情報提供システム、情報提供装置、情報提供方法及びプログラム格納媒体
FR2810481B1 (fr) 2000-06-20 2003-04-04 Gemplus Card Int Controle d'acces a un moyen de traitement de donnees
US7096354B2 (en) 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
JP4655345B2 (ja) 2000-08-31 2011-03-23 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム提供媒体
DE10050734A1 (de) 2000-09-29 2002-04-11 Reinhold Rohrbach Verfahren und Vorrichtung zur Zugangscodeermittlung
US7349987B2 (en) 2000-11-13 2008-03-25 Digital Doors, Inc. Data security system and method with parsing and dispersion techniques
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US20020073042A1 (en) 2000-12-07 2002-06-13 Maritzen L. Michael Method and apparatus for secure wireless interoperability and communication between access devices
JP2002208925A (ja) 2001-01-10 2002-07-26 Ntt Advanced Technology Corp 可変認証情報を用いる資格認証方法
DE10105059A1 (de) 2001-02-05 2002-08-29 Fujitsu Siemens Computers Gmbh Verfahren zur Bereitstellung eines Gerätecodes für ein elektronisches Gerät
US6871150B2 (en) 2001-02-23 2005-03-22 Power Measurement Ltd. Expandable intelligent electronic device
US20020129121A1 (en) 2001-03-07 2002-09-12 Motorola, Inc. Method and system for providing purchase referrals using machine-readable codes
US6684293B1 (en) 2001-03-27 2004-01-27 Novell, Inc. Methods and computer readable media for preserving unique critical information during data imaging
US6993664B2 (en) * 2001-03-27 2006-01-31 Microsoft Corporation Method and system for licensing a software product
US7603703B2 (en) 2001-04-12 2009-10-13 International Business Machines Corporation Method and system for controlled distribution of application code and content data within a computer network
US20030028781A1 (en) 2001-05-10 2003-02-06 Strongin Geoffrey S. Mechanism for closing back door access mechanisms in personal computer systems
US7149854B2 (en) 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US6628934B2 (en) 2001-07-12 2003-09-30 Earthlink, Inc. Systems and methods for automatically provisioning wireless services on a wireless device
US7313828B2 (en) 2001-09-04 2007-12-25 Nokia Corporation Method and apparatus for protecting software against unauthorized use
US6745307B2 (en) 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US7404202B2 (en) 2001-11-21 2008-07-22 Line 6, Inc. System, device, and method for providing secure electronic commerce transactions
US20030101347A1 (en) 2001-11-27 2003-05-29 Reed Letsinger Method and system to authenticate a user when accessing a service
JP3735300B2 (ja) 2002-01-31 2006-01-18 富士通株式会社 アクセス制限可能な情報記録再生システム及びそのアクセス制限方法
JP4289817B2 (ja) 2002-02-26 2009-07-01 キヤノン株式会社 情報管理装置及び方法
AU2003252901A1 (en) 2002-04-18 2003-12-11 Walker Digital, Llc Method and Apparatus for Authenticating Data Relating to Usage of a Gaming Device
US20030226036A1 (en) 2002-05-30 2003-12-04 International Business Machines Corporation Method and apparatus for single sign-on authentication
JP2004046708A (ja) 2002-07-15 2004-02-12 Sony Corp ソフトウェア提供システム、ソフトウェア提供サーバ、端末、制御プログラム、ソフトウェア提供方法、ソフトウェア利用方法、ソフトウェア提供プログラム、及びソフトウェア利用プログラム
US20040083370A1 (en) 2002-09-13 2004-04-29 Sun Microsystems, Inc., A Delaware Corporation Rights maintenance in a rights locker system for digital content access control
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US20050004837A1 (en) 2003-01-22 2005-01-06 Duane Sweeney System and method for compounded marketing
GB2403105B (en) * 2003-06-17 2006-10-18 Imagine Broadband Ltd Method and system for selectively distributing data to a set of network devices
US8738535B2 (en) * 2003-08-15 2014-05-27 Inter-Tel (DE) Inc System and method for software site licensing
US8898657B2 (en) * 2003-10-03 2014-11-25 Cyberlink Corp. System and method for licensing software
US8078481B2 (en) 2003-12-05 2011-12-13 John Steinbarth Benefits administration system and methods of use and doing business
US7552341B2 (en) * 2004-09-01 2009-06-23 Microsoft Corporation Licensing the use of software on a particular CPU
GB2434724A (en) 2006-01-13 2007-08-01 Deepnet Technologies Ltd Secure transactions using authentication tokens based on a device "fingerprint" derived from its physical parameters

Also Published As

Publication number Publication date
US20060048132A1 (en) 2006-03-02
CN1744099A (zh) 2006-03-08
US7849329B2 (en) 2010-12-07
US7552341B2 (en) 2009-06-23
US20060059571A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
CN1744099B (zh) 许可特定cpu上软件的使用
CN100517351C (zh) 对于特定用户许可软件的使用
US20060064761A1 (en) Issuing unlock codes from a server with third party billing
JP6940212B1 (ja) アプリケーション連携方法、コンピュータプログラム及びアプリケーション連携システム
US6460140B1 (en) System for controlling the use of licensed software
CN101390104B (zh) 用于应用程序和媒体内容的受保护分布的方法和设备
CN1879155B (zh) 用于递送或播放物理介质上的多媒体内容的方法和设备
CN100527142C (zh) 信息服务器、信息设备、信息处理系统和信息处理方法
US7725929B2 (en) Systems and methods for free demonstration of online premium content prior to purchase
CN103460708B (zh) 用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置
CN101241735A (zh) 用于控制盗版和启用交互式内容的可重编程的安全性
CN102073826A (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
US7421412B2 (en) Computerized method and system for monitoring use of a licensed digital good
JP2010244542A (ja) ユーザ装置において保護されたコンテンツにアクセスするためにユーザにライセンスを提供するための方法、システム、ライセンスサーバ、およびソフトウェアモジュール
CN103038775A (zh) 电子证书管理
CN100504818C (zh) 调控对非易失性存储区访问的方法和判定访问的自动方法
WO2002035414A1 (en) Digital content selling method and system using communication network
JP2007527056A (ja) 閉鎖型のコンテンツ配信システムにおけるショートメッセージングシステムプロトコルを用いたライセンス情報の配信
JP2007143022A (ja) コンテンツデータ配信方法及びこれに用いられる通信端末
EP1837789A2 (en) Method and apparatus for temporarily accessing content using temporary license
KR20230165102A (ko) 메타버스 플랫폼에 등록된 음원에 대한 nft와 관련된 정보에 기초하여 메타버스 공간에서 제공되는 공연을 위한 음원을 선별하는 서비스 제공 방법 및 장치
US20070143212A1 (en) Online product distribution using fingerprint and encryption
CN101211387B (zh) 一种文件保护方法
US20080242406A1 (en) Digital game distribution for gaming devices
US20060064349A1 (en) System and method for rewarding a seller of a computing device

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

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

Effective date of registration: 20150504

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

Termination date: 20200801

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