分布式目录服务产品激活的制作方法

文档序号:6440130阅读:157来源:国知局
专利名称:分布式目录服务产品激活的制作方法
分布式目录服务产品激活
背景技术
软件产品激活可以起购买的证明的作用,典型地起软件出版商的反盗版策略的一部分的作用。可以将强制(enforement)机制联系到产品激活,使得软件基于购买的证明的存在或缺乏来不同地运行或显示。现今存在许多软件激活解决方案,并且这些解决方案被各种软件出版商使用。这些解决方案典型地将软件与该软件在其上运行的单独的计算机相关联(即结合)。对于要使用需要产品激活的软件的组织,这些强制措施引起了针对跨各个计算机的维持、保护、传递和管理购买的证明的成本开销。各种策略和设计已被创建以降低所有权的该附加成本,同时仍然保护软件出版商的知识产权。然而,这些解决方案经受各种缺陷。 许多解决方案是不安全的,并且其他解决方案配置或维持起来过于昂贵。该问题的一种解决方案是Microsoft针对Windows 和其他应用配置的密钥管理服务(KMS)。例如,在美国专利No. 7356709中描述了 KMS的某些特征,该专利通过整体引用合并于此。KMS可由组织的网络中的客户端自动地且无限制地发现。因为买主因此负责保护对KMS的访问,所以对于一些环境而言,这可能不是足够安全的。此外,KMS是使用主机硬件配置的并且使用远程过程调用(RPC)协议通信,远程过程调用(RPC)协议在安全网络内经常被阻碍。在美国专利申请公布No. U. S. 2009/0204544中描述了另一种解决方案。该解决方案使用针对高安全性和军事用途的购买的PKI证明解决方案。这样的解决方案由于其复杂性不适合于许多组织。

发明内容
在一些实施例中,用于激活软件产品的激活对象被存储在目录服务中。该激活对象可以例如包括购买证明令牌(token)和/或关于目录服务的信息,并且可以在目录服务认证了来自客户端计算机的访问激活对象的请求之后从目录服务传送到客户端计算机。在一些实施例中,针对用于激活客户端计算机上的软件的激活对象询问目录服务。客户端计算机可以例如从被询问的目录服务接收激活对象,并且使用接收到的激活对象激活客户端计算机上的软件产品。在一些实施例中,非瞬时的计算机可读介质具有存储于其上的指令,这些指令在被计算机执行时使得该计算机针对用于激活该计算机上的软件的激活对象询问目录服务。 该计算机可以例如从目录服务接收激活对象,并且使用接收到的激活对象激活软件产品。


附图不旨在按比例绘制。在这些附图中,在各种附图中图示的每一个相同或几乎相同的组件由同样的数字表示。为了清楚起见,不是每个组件都可能在每个附图中被标记。 在附图中
图I是图示可以用于利用软件产品的许可证激活目录服务的过程的实例的流程图;图2是图示可以用于激活用于客户端的软件产品的的例程的流程图3图示了适当的计算系统环境300的实例,利用该环境可以实施本发明的各种实施例。
具体实施例方式在一些实施例中,可以使用由企业配置的目录服务(例如Microsoft的Active Directory (活动目录))来实现产品激活。特别地,在一些实施例中,这种目录服务可以存储针对软件激活的购买证明并将之传递到客户端计算机。该解决方案可以例如通过将诸如产品密钥之类的唯一令牌绑定(bind)到目录服务的唯一 ID来利用目录服务。这可以例如通过以加密方式保护许可证中的数据或其他数据块(blob)。客户端计算机一旦被目录服务认证就可以获得对该许可证的访问并且该软件可以将它用作购买的证明,从而变成“被激活”。如本文所使用的“购买的证明”是指建立某事物已被合法购买的证明的数据,并且“激活”是指基于购买证明改变软件功能的任何技术。如本文所使用的“目录”是指包含关于网络上对象的信息的存储器,并且“目录服务”是指提供用于存储目录数据并且使这种数据对网络用户和管理员而言是可获得的方法的服务。Microsoft Active Directory 例如存储关于用户账户的信息(例如姓名、密码、电话号码等等),并且使得相同网络上的其他授权用户能够访问这种信息。简单目录服务可以例如包括用户的数据库、访问控制列表和网络资源。因此,目录服务可以起集中式认证机制和网络上可用资源的目录的作用。可以与其一起使用这里描述的本发明的各方面的目录服务的实例包括Microsoft Active Directory 、Novell目录服务、Netware目录服务、Zimbra等。如本文所使用的“许可证”是指用于授权的数据的集合。许可证可以例如包括含有目录服务信息和关于购买证明令牌的信息这二者的信息集合。这种许可证独自或与其他数据一起可以授权相关联的软件运行(激活)。本文所描述的基于目录服务的产品激活技术可以促进(leverage)目录服务的强度、成熟度(maturity)和工业饱和以简化产品激活并且改进知识产权(IP)的保护以防盗窃或滥用。从买主的视角来看,使用这样的技术可以十分简单。首先,该买主可以利用由软件出版商提供的产品密钥或其他令牌激活目录服务。这可以用于创建存储在目录服务中的购买证明。当该软件在认证该目录服务的计算机上运行时,软件可以自动地收集并评估购买证明。如果满足所有要求,则可以激活所述软件。在一些实施例中,购买证明的收集和评估对用户而言可以是透明的。在其他实施例中,可以例如通过所显示的消息和/或图标通知用户这样的步骤中的任一个或二者正被执行。当由软件出版商实现时,基于目录的软件激活解决方案可以降低买主的总拥有成本(TC0),简化产品激活,解决虚拟化系统所面对的许多激活困难,解决面对产品激活的问题的许多国家政府的主权关注,以及当需要软件激活时消除软件出版商面对的大量支持调用费用(support call expense)0图I是图示可以用于利用用于软件产品的许可证激活目录服务的过程100的实例的流程图。应当理解,激活许可证所需的所述特定要求和操作可以根据软件供应商的不同而改变,并且不必执行所描绘的用于实践本发明的各方面的所有特定步骤。
如图I中所示,目录服务激活过程100可以在步骤102处开始。该过程可以开始于例如负责在组织内配置软件资源的系统管理员的发起。在步骤104处,一些适当过程可以用于收集来自买主的、可以用于使买主现有目录服务与正被激活的软件许可证相关联的信息。这样的信息收集可以例如使用在线接口 (通过电话)实现,或使用与远程服务通信的某个其他形式实现,或可能通过本地地运行在买主机器上的过程实现,这取决于软件出版商定义的规则。在所示的实例中,该买主可以结合收集过程104来提供购买证明令牌106和目录服务身份集合。购买证明令牌106可以例如包括产品密钥、密码、PIN、证书、硬件密钥或电子狗、文件等。该目录服务身份信息108可以例如包括活动目录森林(active directory forest)的根域的标识符,其可以或不可以具有一个或多个子域。用户还可以可选地被提示提供用于正被激活的许可证的名称。如果没有提供名称,则可以分配默认名称作为买主特定的令牌的标签,或者采用其他方式。所述信息收集过程可以完全或部分地通过使用安装向导或类似物而被自动化。如所示,所收集的信息可以被提供110给目录服务激活机器112,其可以产生适当受保护的许可证114,其包含关于令牌和激活的目录服务这二者的信息。该激活机器112可以呈现许多形式中的任意一个,并且本发明不限于使用任意特定类型或形式的用于激活的设备。该激活机器112可以例如在线地存在、存在于本地网络上或本地机器上。该激活机器112还可以经由非网络通信而被联系,所述非网络通信包括例如电话、SMS (文本)、文件传输、本地计算或其他机制。可以可替代地被称为“激活对象”的许可证114可以被数字签名或另外地被以加密方式或某些其他方式保护,或者可以以明文(in the clear)存储。然而,优选地是,在客户端激活阶段中存在某种机制以确保激活对象114中的数据尚未被改变,使得软件可以信任激活对象。激活对象114可以呈现许多形式中的任意一个,并且本发明不限于使用任意特定类型或格式的数据。该激活对象114可以例如包括XrML许可证、签名的文件、二进制块、数据库记录、注册条目、系统策略值、系统存储器等等。在一些实施例中,激活对象114中的数据不可以被编辑。在一些实施例中,激活对象114可以包括用于认证、批准、软件激活或用于任何其他相关目的的附加数据。可以用于这样的目的的附加数据的实例包括校验和、时间/日期戳、源数据、控制数据、位掩码、人可读名称等。激活对象114于是可以存储在目录服务中。目录服务可以使用许多类型中任意一种类型的组织单元,并且本发明不限于针对这样的服务使用任意特定类型的组织单元。在一些实施例中,目录服务可以例如将域(例如,“microsoft. com”)用作其组织单元。 Microsoft Active Directory 是这种目录服务的一个实例。然而,在其他实施例中,所述目录服务可以使用不同类型的组织单元。相应地,尽管某些实施例在本文中被描述为使用域作为它们的组织单元,但是应当理解,可以可替代地使用任何其他组织单元并且这样的实施例可以改为用使用某其他组织单元的目录服务来实现。在一些实施例中,所述目录服务可以具有多个域结构,其可以被称为“森林”,该域结构包括根域和一个或多个子域。每一个这样的子域可以从根域或另一个子域下垂,从而形成一层或多层嵌套域。在一些实施例中,每一个域可以具有允许、权利等的内部层级,并且子域可以从其他域继承策略和/或属性,这些子域从所述其他域下垂。在一些实施例中, 例如每一个子域可以通过它从其直接下垂的域的策略和/或属性来管理。相应地,在一些实施例中,信任、权利、允许和其他信息沿着域之中的继承的链行进经过森林。在其他实施例中,目录服务可以仅包括单个域,在此情况下该单个域可以构成整个森林并且也是该森林的根域。在一些实施例中,激活对象114可以存储在目录服务的根域的容器中,从而对于森林中任意计算机上的客户端软件而言,可以根据买主在所述环境中实现的任意访问限制访问。如果目录服务的根域中不存在适当的容器,则可以创建一个容器。对于例如使用 Microsoft Active Directory 的实现方式,激活对象容器可以被创建为轻量目录访问协议(LDAP)数据库中的表,并且激活对象114可以存储在这种表中。在一些实施例中,激活对象114可以附加地包含标识正被激活的软件产品的版本的信息。此外或可替代地,标识正被激活的软件产品的版本的数据可以连同激活对象114存储在目录服务中,例如作为包含激活对象的数据库行中单独的条目。在一些实施例中,目录服务可以包含每个激活对象 114的位置的指针。在一些实施例中,买主的目录服务可以例如通过认证客户端计算机、用户账户或其他凭证(credential)来调节对它所存储的激活对象114的访问。认证机制的实例可以例如包括账户/密码对、预先共享的秘密、加密密钥(包括传统的产品密钥)、PKI证书、生物特征识别或任何用于通过确认客户端计算机和/或客户端计算机的用户与目录服务的关联而识别和授权对链接到目录服务的资源的访问的其他认证机制。买主令牌因此可以被绑定到目录服务,以将认证的客户端与购买证明相关联。图2是图示可以用于激活客户端的软件产品的例程200的流程图。如所示,该例程可以开始于步骤202,此时做出一个客户端软件需要激活的确定。将触发对激活的需要的事件的性质可以例如由软件出版商确定。软件激活可以具有不同的持续时间(或可以是无限的持续时间),并且可以在出版商的自由量裁下基于各种标准(例如时间、系统状态等)而成为必要的,或者是其他情况。在一些实施例中,客户端软件将会明了可以用于从目录服务的数据存储器提取一个或多个激活对象的方法(一个或多个)和目录服务的存在。在步骤204处,所述软件可以针对任何适用的激活对象114查询目录服务。激活对象114可以由目录服务针对适用性过滤,或者所有可用的激活对象114可以被返回并且稍后由客户端过滤。不管怎样,客户端可以针对本地数据(步骤208)和关于目录服务的数据(步骤210)评估每一个返回的激活对象114。步骤208可以例如涉及要被激活的软件的版本与包含在激活对象114中或连同其一起返回的版本数据的比较。步骤210可以例如涉及针对客户端计算机的网络域对包含在激活对象114中的目录服务身份信息(例如域)的评估。如果本地数据和目录服务信息匹配,则所述软件被成功激活(步骤212)。否则,激活尝试失败(步骤214)。尽管图2中未示出,但是例程200可以附加地涉及包括在激活对象114内或伴随激活对象114的数字签名(如果有的话)的有效性的验证或用于验证激活对象114可以被信任的一些其他过程。通过前述过程,为了激活软件的目的或其他,被认证到买主的现有目录服务的任何计算机或其他认证机构可以被自动允许使用买主的购买证明。上述过程的实例可以例如用于操作系统激活、订阅(subscript ion )激活、征召 (enlistment)授权或期望软件产品的激活或授权的任何其他情况。在一些实施例中,例如,Microsoft Windows 可以针对激活对象114在每次启动时查询Microsoft Active Directory 或某其他目录服务,或可能仅仅直到它成功地激活第一次为止。作为另一个实例,Microsoft Office 可以针对激活对象 114 查询 Microsoft Active Directory 或其他目录服务以便打印。图3图示了本发明的各种实施例可以与其一起实现的适当的计算系统环境300的实例。该计算系统环境300仅仅是适当的计算环境的一个实例并且不旨在暗示关于本发明的用途或功能的范围的任何限制。计算环境300也不应该被解释为具有与示范性操作环境 300中所示的组件的任意一个或组合相关的依赖性或要求。本发明的实施例与许多其他通用或专用计算系统环境或配置一起操作。可以适合于与本发明一起使用的公知计算系统、环境和/或配置的实例包括但不限于个人计算机、 服务器计算机、手持式或膝上型设备、智能电话、写字板/垫、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子设备、网络PC、微型计算机、大型计算机、包括上述系统或设备的任何一种的分布式计算环境,等等。所述计算环境可以执行计算机可执行指令,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明还可以在分布式计算环境中实践,在该分布式计算环境中,由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。参照图3,用于实现本发明实施例的示范性系统包括计算机310形式的通用计算设备。计算机310的组件可以包括但不限于处理单元320、系统存储器330和将包括系统存储器的各种系统组件耦合到处理单元320的系统总线321。该系统总线321可以是包括存储器总线或存储器控制器、外围总线和使用多种总线架构的任意一种的局部总线的若干类型的总线结构中的任意一种。举例来说,而非限制地,这样的架构包括工业标准架构(ISA) 总线、微通道架构(MCA)总线、增强的ISA (EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,其也被称为夹层总线(Mezzanine bus)。计算机310典型地包括多种计算机可读介质。计算机可读介质可以是可以被计算机310访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。举例而言而非限制地,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失性和非易失性、可移动和不可移动的介质。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或可以用于存储期望的信息并可以被计算机310存取的任何其他介质。通信介质典型地收录了计算机可读指令、数据结构、 程序模块或经调制数据信号(例如载波或其他传输机制)中的其他数据,通信介质还包括任何信息传递介质。术语“经调制的数据信号”意指这样的信号该信号使其特性中的一个或多个以一定方式设置或改变以便将信息编码在该信号中。举例而言而非限制地,通信介质包括诸如有线网络或直接布线连接之类的有线介质和无线介质,例如声学、RF、红外和其他无线介质。上述介质的任意组合也应包括在计算机可读介质的范围内。系统存储器330包括易失性和/或非易失性存储器形式的计算机存储介质,例如
7只读存储器(R0M)331和随机存取存储器(RAM)332。包含帮助例如在启动期间在计算机310 内的元件之间传输信息的基本例程的基本输入/输入系统333 (BIOS)典型地存储在ROM 331中。RAM 332典型地包含可立即被处理单元320访问到和/或当前被该处理单元操作的数据和/或程序模块。举例而言而非限制地,图3图示了操作系统334、应用程序335、其他程序模块336和程序数据337。计算机310还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅举例而言,图3图示了从不可移动、非易失性磁性介质读取或向其写入的硬盘驱动器340,从可移动、非易失性磁盘352读取或向其写入的磁盘驱动器351,以及从可移动、非易失性光盘356 (例如⑶ROM或其他光学介质)读取或向其写入的光盘驱动器355。可以用在示范性操作环境中的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,盒式磁带、闪存、数字通用盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器 341典型地通过诸如接口 340之类的不可移动存储器接口而连接到系统总线321,并且磁盘驱动器351和光盘驱动器355典型地通过诸如接口 350之类的可移动存储器接口而连接到系统总线321。上文讨论且在图3中图示的驱动器及其相关联的计算机存储介质提供了对用于计算机310的计算机可读指令、数据结构、程序模块和其他数据的存储。在图3中,例如, 硬盘驱动器341被图示为存储操作系统344、应用程序345、其他程序模块346和程序数据 347。注意到,这些组件可以与操作系统334、应用程序335、其他程序模块336和程序数据 337相同或不同。在这里给予操作系统344、应用程序345、其他程序模块346和程序数据 347不同的数字以图示最低限度它们是不同的副本。用户可以通过诸如键盘362和指示设备361 (通常被称为鼠标、跟踪球或触摸垫)之类的输入设备将命令和信息输入到计算机 310中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、碟形卫星天线、扫描仪等等。这些和其他输入设备经常通过耦合到系统总线的用户输入接口 360而被连接到处理单元320,但是也可以通过其他接口和总线结构(例如并行端口、游戏端口或通用串行总线 (USB))连接。监视器391或其他类型的显示设备也经由诸如视频接口 390之类的接口连接到系统总线321。除了监视器之外,计算机还可以包括其他外围输出设备,例如扬声器397 和打印机396,这些外围输出设备可以通过输出外围接口 395连接。计算机310可以在使用到一个或多个远程计算机(例如远程计算机380)的逻辑连接的联网环境中操作。远程计算机380可以是个人计算机、服务器、路由器、网络PC、对等设备或其他普通的网络节点,并且典型地包括上面相对于计算机310描述的元件中的许多或全部,尽管只有存储器存储设备381在图3中被图示。图3中描绘的逻辑连接包括局域网 (LAN) 371和广域网(WAN) 373,但是还可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中普遍存在。计算机310在用在LAN联网环境中时通过网络接口或适配器370连接到LAN 371。 计算机310在用在WAN联网环境中时典型地包括用于在WAN 373 (例如因特网)上建立通信的调制解调器372或其他装置。可以在内部或外部的调制解调器372可以经由用户输入接口 360或其他适当机构而连接到系统总线321。在联网的环境中,相对于计算机310描绘的程序模块或其部分可以存储在远程存储器存储设备中,举例而言而非限制地,图3将远程应用程序385图示为驻留在存储器设备381中。应当理解,所示的网络连接是示范性的,并且可以使用在计算机之间建立通信链路的其他手段。因此在描述了本发明的至少一个实施例的若干方面之后,应当理解,本领域技术人员将容易想到各种改变、修改和改进。这样的改变、修改和改进旨在成为本公开的一部分,并且旨在在本发明的精神和范围内。相应地,前述描述和附图仅为举例。本发明的上述实施例可以以许多方式的任一种实现。例如,这些实施例可以使用硬件、软件或其组合来实现。当以软件实现时,软件代码可以在任意适当处理器或处理器的集合上执行,无论处理器在单个计算机中提供还是分布在多个计算机中。这样的处理器可以被实现为集成电路,其中一个或多个处理器在集成电路组件中。然而,应当理解,处理器可以使用任何适当格式的电路实现。而且,应当理解,计算机可以以多种形式的任一种体现,例如机架式计算机、台式计算机、膝上型计算机或写字板计算机。此外,计算机可以嵌入在通常不被认为是计算机而是具有适当处理能力的设备中,这样的设备包括个人数字助理(PDA)、智能电话或任何其他适当的便携式或固定电子设备。而且,计算机可以具有一个或多个输入和输出设备。这些设备可以尤其用于给出用户接口。可以用于提供用户接口的输出设备的实例包括用于视觉呈现输出的打印机或显示屏幕和用于听觉呈现输出的扬声器或其他声音生成设备。可以用于用户接口的输入设备的示例包括键盘和指示设备,例如鼠标、触摸垫和数字化写字板。作为另一个实例,计算机可以通过语音识别或以其他听觉格式接收输入信息。这样的计算机可以由一个或多个网络以适当形式互连,所述网络包括局域网或广域网,例如企业网或因特网。这样的网络可以基于任何适当的技术并且可以根据任何适当协议操作并且可以包括无线网络、有线网络或光纤网络。而且,本文概述的各种方法或过程可以被编码为可在使用多种操作系统或平台的任意一种的一个或多个处理器上执行的软件。此外,这种软件可以使用多个适当编程语言和/或编程或脚本工具中的任意一种来写,并且还可以被编译为在主机或虚拟机上执行的可执行机器语言代码或中间码。在该方面中,本发明可以被体现为利用一个或多个程序编码的计算机可读介质 (或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、致密盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或其他半导体设备中的电路配置、或其他非瞬时、有形的计算机存储介质),所述程序在一个或多个计算机或其他处理器上执行时执行实现上文讨论的本发明各种实施例的方法。所述计算机可读介质(一个或多个)可以是可移动的,从而使得其上存储的一个或多个程序可以被加载到一个或多个不同计算机或其他处理器上以实现上文所讨论的本发明的各个方面。如本文所使用的术语“非瞬时计算机可读存储介质”仅包含可被认为是产品(即制造的物品)或机器的计算机可读介质。这里使用的术语“程序”或“软件”在一般意义上是指可以用于对计算机或其他处理器进行编程以实现如上所述的本发明的各种方面的任何类型的计算机代码或计算机可执行指令集。此外,应当理解,根据这个实施例的一个方面,在被执行时执行本发明的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以采用模块化的方式分布在多个不同的计算机或处理器中,以实现本发明的各个方面。
计算机可执行指令可以采用多种由一个或多个计算机或其他设备执行的形式,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、 对象、组件、数据结构等等。典型地,在各种实施例中可以根据需要来组合或分布程序模块的功能。此外,数据结构可以以任何适当形式存储在计算机可读介质中。为了简化说明,数据结构可被示出为具有通过数据结构中的位置而关联的域。这种关系同样可以通过在计算机可读介质中为域的存储分配位置(这传递域之间的关系)来实现。然而,任何适当的机制均可用于在数据结构的域中的信息之间建立关系,包括通过使用建立数据元素之间的关系的指针、标签或其他机制。本发明的各种方面既可以单独使用,也可以组合使用,还可以采用上述实施例中没有具体讨论的多种布置使用,因此其不限于其在细节上的应用和上文中阐述的或在附图中图示的组件布置。例如,在一个实施例中描述的方面可以以任何方式与在其他实施例中描述的方面组合。此外,本发明可以体现为方法,并且已经提供了所述方法的实例。作为方法的一部分执行的动作可以采用任何适当的方式排序。因此,实施例可以被构造成其中的动作以与所示出的顺序不同的顺序来执行,所述实施例可以包括同时执行某些动作,即使这些动作在说明性实施例中被显示成顺序动作。在权利要求中使用例如“第一”、“第二”、“第三”等之类的顺序术语来修改权利要求要素不单独意味着任何优先级、居先、或一个权利要求要素相对于另一个要素的顺序或执行方法的动作的时间顺序,而是仅仅用作将具有某个名称的一个权利要求要素与另一个具有相同名称(而是用于顺序术语)的要素区分开来的标签,以便区分权利要求元素。此外,这里使用的措辞和术语用于描述的目的,而不应该被视为限制。这里使用的 “包括”、“包含”或“具有”、“含有”、“涉及”及其变型意指包含了其后列举的项目,以及其等价物和附加项目。
权利要求
1.一种方法,包括存储用于激活目录服务中的软件产品的激活对象(114)。
2.权利要求I的方法,进一步包括将激活对象(114)传输到目录服务的客户端计算机。
3.权利要求I或2的方法,其中激活对象(114)包括购买证明令牌(106)。
4.权利要求1-3中任一项的方法,其中激活对象(114)包括关于目录服务(108)的信肩、O
5.权利要求1-4中任一项的方法,进一步包括利用目录服务,认证来自客户端计算机的访问激活对象(114)的请求;以及如果所述请求被认证,则将激活对象(114)从目录服务传送到客户端计算机。
6.一种方法,包括针对用于激活客户端计算机上的软件的激活对象(114)询问(204)目录服务。
7.权利要求6的方法,进一步包括利用客户端计算机,从目录服务接收激活对象(114);以及使用接收到的激活对象(114)激活(212)客户端计算机上的软件产品。
8.权利要求7的方法,其中使用接收到的激活对象(114)激活(212)客户端计算机上的软件产品的步骤还包括利用客户端计算机,将激活对象(114)中的数据与关于要被激活的软件产品的数据进行比较(208)以验证其间的相符性。
9.权利要求7或8的方法,其中使用接收到的激活对象(114)激活(212)客户端计算机上的软件产品的步骤还包括利用客户端计算机,将激活对象(114)中的数据与关于目录服务的数据进行比较 (210)以验证其间的相符性。
10.权利要求7-9中任一项的方法,其中使用接收到的激活对象(114)激活客户端计算机上的软件产品的步骤进一步包括使用加密方法认证激活对象(114)。
11.一种计算机可读介质,具有存储在其上的指令,所述指令在由计算机执行时使所述计算机执行权利要求1-10中任一项的方法。
全文摘要
在一些实施例中,用于激活软件产品的激活对象被存储在目录服务中。该激活对象可以例如包括购买证明令牌和/或关于目录服务的信息,并且可以在目录服务认证了来自客户端计算机的访问激活对象的请求之后从目录服务传送到客户端计算机。在一些实施例中,针对用于激活客户端计算机上的软件的激活对象询问目录服务。客户端计算机可以例如从被询问的目录服务接收激活对象,并且使用接收到的激活对象激活客户端计算机上的软件产品。在一些实施例中,非瞬时的计算机可读介质具有存储于其上的指令,这些指令在被计算机执行时使得该计算机针对用于激活计算机上的软件的激活对象询问目录服务。该计算机可以例如从目录服务接收激活对象,并且使用接收到的激活对象激活软件产品。
文档编号G06F21/00GK102592072SQ20111040047
公开日2012年7月18日 申请日期2011年12月6日 优先权日2010年12月6日
发明者A.J.史密斯, A.布哈夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1