当前位置: 首页 > 专利查询>微软公司专利>正文

用于支持关于计算机程序的许可证的实施的方法和系统技术方案

技术编号:2921245 阅读:201 留言:0更新日期:2012-04-11 18:40
一种软件许可“应用编程接口”(API),它允许软件产品使用公共服务的该许可证管理功能。许可证规定软件产品中的权利。该软件产品调用该API上的消费方法,以给以消费权利。如果该权利存在,则该服务将该权利捆绑到在其中发现该权利的该许可证。通过根据是否发现该权利的有效实例来准予或拒绝对一些或所有特点的访问,该软件产品实施该许可证的各种条款。任意数据可以与权利关联。该API包括一种方法,用于从以前已由该消费方法来捆绑的权利中检索数据。

【技术实现步骤摘要】

本专利技术一般涉及计算机软件领域,更具体地说,涉及一种支持实施电子许可证的编程接口。
技术介绍
传统上,为商业目的而生产的软件在许可证之下一直可用,该许可证定义可容许的该软件的使用条款。当首先开始实行软件许可时,该许可证通常采取定义过该用户在该软件方面的权利的法律文档的形式。这种文档依靠该用于实施的法律系统。后来,变得需要用电子学方法来实施许可证——即,需要计算机程序包含按与该许可证相反的方式来主动地阻碍或防止该软件的运用的代码。规定电子许可证实施的大多数软件提供其自己的基础结构,来管理该软件的许可和这些许可证的运用。这样,典型的商业软件产品不仅可能包括用于执行该产品的核心功能的代码,而且也可能随之携带用于获得、评估、保护和管理关于该软件的许可证的那个代码。对于每位软件商而言,开发这种基础结构并将它并入其软件常常是重复劳力、浪费精力。所以,需要提供一种执行与软件许可有关的基本功能的系统,其中,该系统可以由众多不同的软件应用按统一、定义的方法来加以使用。鉴于前述内容,需要一种克服原先技术的这些缺点的机制。专利技术概述本专利技术提供了一种软件许可“应用编程接口”(API),该软件许可“应用编程接口”提供某些许可功能,供软件产品使用。许可证服务执行涉及该许可证运用的功能,并通过该API来向软件产品揭示这些功能。该服务执行各种功能,例如获得许可证;存储和管理许可证;保护许可证不受到篡改;评估许可证的有效性;以及评估许可证是否正确地与机器其在该机器和/或上面使用的软件产品结合。该软件能够通过调用该API的各种方法来使用这个功能性。在该API的典型运用中,软件产品调用“开放的”API方法,以获得被该许可证服务用来识别该应用程序的唯一句柄。然后,该软件产品调用“消费权利”API方法。在此上下文中,“消费”意味着规定权利的运用。由该软件产品的句柄并以待消费的该权利的名义来用参数表示对该“消费权利”方法的调用。然后,该许可证服务尝试定位包含该指定权利的一个或多个有效的、被正确结合的许可证。如果不存在这种许可证,那么,向该软件产品通知失败。如果存在这类许可证,那么,将该权利与这些许可证中的一个许可证结合,并且向该调用软件产品通知该结合。在这种情况下,该软件产品知道该权利存在,并且可以执行与这项权利关联的无论什么功能。在较佳实施例中,该许可证服务不定义该软件在该权利之下能够或不能做什么,也不对该软件的运用实施实质性的约束。相反,该许可证服务按软件产品可以通过调用该API来确定权利存在与否的这样一种方法来管理这些许可证,以便该软件可以相应地运作。例如,权利可以被称作“运行”,从而指出该用户有权运行该软件产品。该软件产品可以使用该API来确定是否有有效的(和被正确结合的、以及未到期的)权利来运行该软件。但是,如果该API调用返回——指出没有权利来运行该软件,则该由该软件根据这项权利的不存在来停止操作或采取某种其他的行动。权利可能与信息关联,在对该“消费权利”方法进行成功调用之后,它才变得可用。例如,给定的软件产品可能具有关于“何时可容许进行编辑、打印、保存等”的单独的规则,并且,这些规则可以被存储在包含该权利的那个许可证中。该API提供“获得信息”方法,该方法允许从该许可证中检索该信息。以下描述本专利技术的其他特点。附图简述当连同附图来阅读时,可以更好地理解前面的概述、以及较佳实施例的以下详述。出于展示本专利技术的目的,这些附图表现了本专利技术的示范构造;但是,本专利技术不局限于所揭示的这些特殊的方法和工具。在这些附图中附图说明图1是可以在其中执行本专利技术的各个方面的范例计算环境的框图;图2是一种体系结构的框图,在该体系结构中,系统执行许可功能,并揭示供软件产品使用的API;图3是一种方法的流程图,软件产品通过该方法来使用许可API;图4是一种方法的流程图,软件产品通过该方法来消费权利;以及,图5是一种方法的流程图,软件产品通过该方法来检索涉及被消费的权利的信息。专利技术详述纵览商业软件的运用通常受到许可证的控制,并且,用可以由该软件本身实施的电子形式来具体表现该许可证已变得日益普通。创建电子许可系统的过程中的一个应答是需要基础结构来管理这些许可证的运用。为每个软件产品复制该基础结构既麻烦、又浪费。本专利技术提供API,该API允许不同的软件产品使用执行各种许可功能的共同的基础结构。示范计算布置图1表现了可以在其中执行本专利技术的各个方面的示范计算环境。计算系统环境100只是合适的计算环境的一个例子,它并不意在对本专利技术的使用或功能性的范围提出任何限制。也不应该将计算环境100解释为具有涉及示范操作环境100中所展示的任何一个部件或部件组合的任何从属性或要求。本专利技术可用于众多其他的通用或专用计算系统环境或配置。可能适用于本专利技术的众所周知的计算系统、环境和/或配置的例子包括(但不局限于)个人计算机、服务器计算机、手持设备或便携式设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、嵌入式系统、包括以上任何系统或设备的分布式计算环境,以及类似物。可以在正由计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本专利技术。通常,程序模块包括执行特殊任务或实施特殊的抽象数据类型的例行程序、程序、对象、部件、数据结构等。也可以在分布式计算环境中实践本专利技术,在这些分布式计算环境中,由通过通信网络或其他数据传输介质而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块和其他数据可以位于包括记忆存储设备的本地计算机存储介质和远程计算机存储介质中。参照图1,用于执行本专利技术的示范系统包括采取计算机110的形式的通用计算设备。计算机110的部件可能包括(但不局限于)处理单元120、系统存储器130和系统总线121,系统总线121将包括该系统存储器的各种系统部件耦合到处理单元120。处理单元120可能表示多个逻辑处理单元(例如,多线程处理器上所支持的那些逻辑处理单元)。系统总线121可以是几种类型的总线结构(包括存储总线或存储控制器、外围总线和使用各种总线构造中的任何总线构造的局域总线)中的任何总线结构。举例来讲(不作限制),这类结构包括“工业标准结构”(ISA)总线、“微通道结构”(MCA)总线、“增强型ISA”(EISA)总线、“视频电子标准协会”(VESA)局域总线和“外围部件互连”(PCI)总线(也被称作“夹层(Mezzanine)总线”)。系统总线121也可能作为这些通信设备之中的点到点连接、交换结构或类似物来加以执行。计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110存取的任何可用介质,它包括易失和非易失性介质、可移动和不可移动的介质。举例来讲(不作限制),计算机可读介质可能包括计算机存储介质和通信介质。计算机存储介质包括易失和非易失性的可移动和不可移动的介质,该介质用关于信息(例如,计算机可读指令、数据结构、程序模块或其他数据)存储的任何方法或技术来加以执行。计算机存储介质包括(但不局限于)RAM、ROM、EEPROM、快闪存储器或其他存储技术、CDROM、数字通用光盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁性存储设备、或可以被用来存储所需信息并可以本文档来自技高网...

【技术保护点】
一种用于支持关于计算机程序的许可证的实施的系统,该系统的特征在于包括:维持其中存储有该许可证的许可证存储器的许可部件,该许可证包括该软件中的权利和与所述权利关联的数据集,该许可部件向该计算机程序揭示可调用接口,所述可调用接口包括:   权利消费方法,该方法从该计算机程序中接收所述权利的标识符,并确定是否可以行使该权利;以及,信息检索方法,该方法从该计算机程序中接收所述权利的标识符,并将所述数据集或基于所述数据集的信息提供给该计算机程序。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C古恩亚可迪张宁徐文斌
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1