实施订阅有效性的制作方法

文档序号:6569728阅读:195来源:国知局
专利名称:实施订阅有效性的制作方法
实施订阅有效性
背景
一般而言,诸如个人计算机等计算设备可以包括各种各样的软件应用程 序以供用户使用。在一个常见的实施例中,诸如可以通过购买软件应用程序 的副本或者通过如因特网等通信网络下载副本,来将新的软件应用程序装载 到指定的计算设备上。然而,因为计算机软件的本性和用于安装新软件的机 制的本性(例如,计算机盘、CD、 DVD等),软件应用程序的单个合法副 本可能会被装载在多个计算机设备上而违反软件应用程序制造商的意图。
一种减轻软件应用程序的未经授权的副本向多台计算设备的扩散的尝试 是将软件应用程序使用许可证与该软件应用程序相结合。 一般而言,软件应 用程序使用许可证涉及一组由软件应用程序和/或软件应用程序服务所利用 的信息,以控制软件应用程序可被装载到计算设备上的副本个数。该组信息 可以对应于唯一产品标识符、涉及计算设备机器特性的信息(例如,客户计 算设备硬件配置的数据"快照")、以及该软件应用程序使用许可证的期满 数据。该软件应用程序通常会在安装该软件应用程序时要求提供软件应用程 序使用许可证。
在实践中,唯一产品标识符可以位于随软件应用程序提供的文档上(例 如,在CD盒的封面上)。用户可能被要求在客户计算设备上手动输入产品 标识符,随后将该产品标识符连同客户计算设备的机器特性一起作为"激活" 请求发送至软件应用程序服务。软件应用程序服务随后返回将会让该软件应 用程序能够在该特定客户计算设备上执行的信息。然而,从那以后,如果软 件应用程序服务接收到对应于同一产品标识符但不同机器特性的第二激活请 求,则它会假定该第二激活请求是欺诈性的并且该激活请求会被拒绝。在安 装和/或使用了某一段时间之后,软件应用程序可以停止工作或者以功能縮减模式工作,直至该软件应用程序已被成功激活。
软件应用程序会因为同一软件应用程序的较新的或经更新的版本而变得 过时。同样,用户可能只是偶尔需要一特定软件应用程序,并且可能并不趋 向于购买频繁使用的软件应用程序。因此,软件应用程序订阅服务可以基于 用户的需要/需求提供对软件应用程序的较新和/或经更新的版本的访问。订阅 可以基于该特定软件应用程序的指定使用时间量(例如,使用40小时)或者 基于以日期为基础的准则(例如,每月、每季度、每年订阅)。
虽然软件应用程序使用许可证可以包括软件应用程序使用许可证一旦到 达则不再有效的期满信息,但是软件应用程序使用许可证也许不能很好地适 用于在基于订阅的软件应用程序内实现。通常, 一旦软件应用程序使用许可 证期满,用户必须请求新的软件应用程序使用许可证。如上所述,用户会被 要求手动输入新的产品标识符,这可以按类似于激活请求的方式在"续订" 请求中发送给软件服务。取决于订阅的频率(例如,每月),新产品标识符 的重新手动输入可能是令人厌烦的。此外,典型的软件应用程序使用许可证 可能无法很好地适用于在对应于多个计算设备的分组的订阅服务中使用。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一 些概念。本概述并不旨在标识要求保护的主题的关键特征,也不旨在用于帮 助确定要求保护的主题的范围。
根据一个方面,提供了一种用于促进软件订阅服务的系统。该系统包括 一个或多个客户计算设备,这些计算设备能够包括任何数量的基于订阅的软 件应用程序。软件应用程序与软件应用程序使用许可证和软件应用程序订阅 许可证相关联。客户计算设备还可以包括软件订阅代理,用来管理软件应用 程序订阅许可证。该系统还包括软件订阅服务,用于基于证书的比较来生成 软件应用程序订阅许可证并将其发送至客户计算设备。在软件应用程序执行 期间,软件订阅代理基于检测到的条件(诸如软件应用程序订阅许可证即将 期满)周期性地发送更新软件应用程序订阅许可证的请求。根据另一方面,提供了一种管理软件应用程序订阅的方法。该方法由计 算机系统中的软件订阅代理实现,该计算机系统包括多个基于订阅的软件应 用程序,而这些应用程序则与软件应用程序使用许可证和软件应用程序订阅 许可证相关联。根据该方法,软件订阅代理获取针对多个软件应用程序的一 组当前软件应用程序订阅许可证,并且确定是否已满足当前软件应用程序订 阅许可证的更新准则。如果是,则软件订阅代理一旦检测到更新准则,就向 软件应用程序订阅服务请求经更新的软件应用程序订阅许可证。软件应用程 序使用许可证无需更新并且独立于软件应用程序订阅许可证。
根据又一方面,提供了一种计算机可读介质,该介质具有与客户计算设 备上的软件应用程序相关联的计算机可执行组件。该计算机可执行组件包括 与软件应用程序相关联的软件应用程序使用组件。该软件应用程序使用组件 包括唯一产品标识以及对应于客户计算设备的机器特性的信息。该软件应 用程序使用组件还包括关于需要软件应用程序订阅许可证的指示。该计算机 可执行组件还包括与软件应用程序相关联的软件应用程序订阅组件。该软件 应用程序订阅组件包括唯一产品标识和期满准则。软件应用程序使用组件和 软件应用程序订阅组件两者都是在客户计算设备上执行软件应用程序所必需 的。


当结合附图参考以下详细描述时,可以更容易领会并更好地理解本发明
的上述方面和许多附加优点,附图中
图1是为基于订阅的软件应用程序管理软件应用程序使用许可证和软件
应用程序订阅许可证的系统的框图2A是例示了软件应用程序使用许可证的供应的图1系统的框图; 图2B是例示了软件应用程序订阅许可证的供应的图1系统的框图; 图2C是例示了软件应用程序订阅许可证的更新的图1系统的框图; 图3A是例示关联于软件应用程序使用许可证的信息的框图; 图3B是例示关联于软件应用程序订阅许可证的信息的框图;图4是例示由客户计算设备上的软件订阅代理实现的软件应用程序订阅 许可证生成例程的流程图5是例示由客户计算设备上的软件订阅代理实现的软件应用程序订阅 许可证更新例程的流程图;以及
图6是例示由软件应用程序订阅服务实现的软件应用程序订阅许可证更
新请求处理例程的流程图。 详细描述
一般而言,本发明涉及用于管理软件应用程序订阅许可证的系统、方法 和计算机可读组件。更具体地,本发明涉及用于管理具有期满准则的软件应 用程序订阅许可证连同软件应用程序使用许可证的系统、方法和计算机可读 组件。虽然将参考说明性操作环境、数据结构、软件组件和软件例程来描述 本发明,但是本领域普通技术人员将会认识到公开的实施例本质上是说明性 的,并且不应被解释为限制。
图1是为基于订阅的软件应用程序管理软件应用程序使用许可证和软件
应用程序订阅许可证的系统100的框图。系统100包括多个客户计算设备102, 这些客户计算设备包括对应于基于订阅的软件应用程序的一个或多个软件应 用程序,诸如软件应用程序104A、 104B和104C。本领域普通技术人员将会 认识到,基于订阅的软件应用程序能够对应于其在客户计算设备102上的执 行由一度量来控制的软件应用程序。度量的示例包括在客户计算设备上执行 的总次数、客户计算设备可用日期、生成的数据量、处理的数据量等。
正如以下将进一步详述的,在一说明性实施例中,软件应用程序 104A-104C的执行是通过利用软件应用程序使用许可证和软件应用程序订阅 许可证来控制的。客户计算设备102还可以包括软件订阅代理106,用于管 理软件应用程序订阅许可证的生成和更新。虽然未示出,但是客户计算设备 102还包括包括用于生成并管理软件应用程序使用许可证的各种组件。软件 应用程序使用许可证和软件应用程序订阅许可证可被存储在许可证数据存储 106内。在一个说明性实施例中, 一个软件应用程序使用许可证可以应用于一个 或多个软件应用程序。在一个方面,单个软件应用程序使用许可证可以应用 于单个客户计算设备102上的多个软件应用程序。在另一方面,单个软件应 用程序使用许可证可应用于不同的、关联的客户计算设备(例如,专用网上 的所有客户计算设备)上的同一类型的软件应用程序(例如,文字处理软件 应用程序)。以类似的方式,在一个说明性实施例中,软件应用程序订阅许 可证可以基于一组证书而应用于一个或多个软件应用程序。在一个方面,单 个软件应用程序订阅许可证可以基于单组证书(例如,单用户)应用于单个 客户计算设备102上的多个软件应用程序。在另一方面,单个软件应用程序
订阅许可证基于一组共享证书可应用于不同的、关联的客户计算设备(例如, 专用网上的所有客户计算设备)上的同一类型的软件应用程序(例如,文字 处理软件应用程序)。
继续参考图1,系统100还包括用于生成软件应用程序使用许可证的软 件应用程序服务112以及用于生成并管理软件应用程序订阅许可证的软件订 阅服务114。在一个说明性实施例中,软件应用程序服务112和软件订阅服 务114能够经由诸如因特网等通信网络与各个客户计算设备102通信。本领 域普通技术人员将会认识到,客户计算设备以及关联于软件应用程序服务112 和软件订阅服务114的计算设备可以对应于多种计算设备,诸如个人计算机、 服务器计算机、手持计算机、移动电话、嵌入式计算设备等。虽然软件应用 程序服务112和软件订阅服务114被示为单个组件,但是本领域普通技术人 员将会认识到,这些服务可以包括用于提供与所示服务相关联的功能的多个 联网的计算设备。
现参考图2A-2C,将描述在客户计算设备102和软件应用程序服务112 及软件订阅服务114之间的说明性交互。参见图2A,在安装软件应用程序(诸 如通过从可移动介质或网络连接下载)或以其他方式启动软件应用程序之后 的某一时刻,客户计算设备102将软件应用程序使用许可证请求及关联信息 发送给软件应用程序服务112。软件应用程序使用许可证请求可伴随有诸如 32位唯一数字等唯一产品id,以及特定客户计算设备102的硬件组件和/或硬件/软件配置的一个或多个数据特性。软件应用程序服务112用对应信息处理 请求并确定是否应授予软件应用程序使用许可证。例如,软件应用程序服务
112能够确定唯一产品id是否是有效的、未泄密的和/或未期满的。此外,软 件应用程序服务112能够确定该唯一产品id是否先前已经与不同的机器特性 相关联。如果许可证应被授予,则软件应用程序服务112生成软件应用程序 使用许可证并将该软件应用程序使用许可证发送至客户计算设备102。
现参考图2B,客户计算设备102还将软件应用程序订阅许可证请求和关 联的证书发送给软件订阅服务114。例如,软件应用程序使用许可证可以包 括关于需要对应软件应用程序订阅许可证来利用该特定软件应用程序的指 示。如前所述,证书可以对应于单个用户证书或与一组用户相关联的一组证 书。软件订阅服务114用对应信息处理请求并确定是否应授予软件应用程序 订阅许可证。如下将更为详尽地描述对软件应用程序订阅许可证请求的处理。 如果订阅许可证应被授予,则软件订阅服务114生成软件应用程序订阅许可 证并将该软件应用程序订阅许可证发送至客户计算设备102。
现转至图2C, 一旦接收到软件应用程序使用许可证和软件应用程序订阅 许可证,软件订阅代理106就管理在检测到更新条件时更新软件应用程序订 阅许可证的需求。例如,更新条件可以对应于检测到能够建立与软件订阅服 务114的通信的网络连接以及确定软件应用程序订阅许可证的期满在阈值时 间量之内(例如, 一个月之内)的组合。如果检测到更新条件,则客户计算 设备102还将软件应用程序订阅许可证更新请求和关联的证书发送给软件订 阅服务114。同样地,软件订阅服务114用对应信息处理该更新请求并确定 是否应授予或以其他方式更新软件应用程序订阅许可证。如果订阅许可证应 被授予,则软件订阅服务114生成软件应用程序订阅许可证并将该软件应用 程序订阅许可证发送至客户计算设备102。
现参考图3A和3B,将描述用于软件应用程序使用许可证(图3A)和 软件应用程序订阅许可证(图3B)的说明性组件。参考图3A,软件应用程 序使用许可证300可以包括由软件应用程序服务112和/或客户计算设备利用 的各类组件。具体地,软件应用程序使用许可证300包括与软件应用程序104的一个或多个授权实例相关联的唯一产品id组件302。软件应用程序使用许 可证300还可以包括与特定客户计算设备102的各机器特性相关联的机器特 性组件304。软件应用程序使用许可证300还可以包括定义软件应用程序使 用许可证300何时将不再有效的期满数据。在一个说明性实施例中, 一旦软 件应用程序使用许可证300期满,软件应用程序就无法更新该许可证,而必 须生成新的软件应用程序使用许可证300。软件应用程序使用许可证300还 可以包括订阅标识符组件308,用于标识软件应用程序使用许可证300需要 软件应用程序订阅许可证。本领域普通技术人员将会认识到,可选的、附加 的或者更少的数据可以与软件应用程序使用许可证300相关联。
现参考图3B,软件应用程序订阅许可证350可以包括由软件订阅服务 114和/或客户计算设备利用的各类组件。具体地,软件应用程序订阅许可证 350包括与软件应用程序104的一个或多个授权实例相关联的唯一产品id组 件352。在一个说明性实施例中,唯一产品id组件302和352可以共享相同 的唯一产品id。软件应用程序订阅许可证350还可以包括与特定客户计算设 备102的各机器特性相关联的机器特性组件354。在一个说明性实施例中, 机器特性组件304和354可以共享相同的机器特性或者不同的机器特性。另 外,机器特性组件354可以被省略,或以其他方式无需利用。软件应用程序 订阅许可证350还可以包括定义软件应用程序订阅许可300何时将不再有效 并需要更新的期满准则。 一旦软件应用程序订阅许可证期满,软件应用程序 可以进入功能縮减模式和/或完全停止工作。例如,软件应用程序104的一个 或多个特征件不再可用。可选地,软件应用程序104可以开始提示用户更新 订阅服务账户。本领域普通技术人员将会认识到,可选的、附加的或者更少 的数据可以与软件应用程序订阅许可证350相关联。
现在转向图4,将会描述例示由客户计算设备上的软件订阅代理106实 现的软件应用程序订阅许可证生成例程400的流程图。在框402,客户计算 设备102获取对应于软件应用程序订阅账户的证书。证书可以对应于由单个 用户或一组用户用于多种用途的通用证书。可选地,证书可以对应于由单个 用户或一组用户仅用于软件应用程序订阅服务的专用证书。在框404,客户计算设备102将软件应用程序订阅许可证请求发送给软件订阅服务114。在 一个说明性实施例中,客户计算设备102可以在审阅软件应用程序使用许可 证和/或在诸如软件应用程序104等组件请求时自动发送该请求。
其后,在框406,客户计算设备获取并处理软件应用程序订阅许可证。 在一个方面,客户计算设备102可以在软件应用程序104提示时显示唯一产 品id以供用户使用。在另一方面,客户计算设备102可以在许可证数据存储 108内存储软件应用程序订阅许可证。在另一方面,可以对软件应用程序订 阅许可证进行处理以标识期满准则356 (图3B)。在框408,注册对应于软 件应用程序104和/或软件应用程序订阅许可证350的更新条件准则。例如, 软件应用程序104可以指定一旦检测到订阅许可证将在下月内期满的网络条 件就应该更新软件应用程序订阅许可证。在另一示例中,软件应用程序104 可以指定一旦管理员请求则更新所有的订阅许可证。在框410,例程400终 止。
现在参考图5,将会描述例示由客户计算设备上的软件订阅代理106实 现的软件应用程序订阅许可证更新例程500的流程图。在框502,客户计算 设备102检测网络连接。在一个说明性实施例中,客户计算设备102可能不 具有与通信网络的永久或可靠连接(例如,拨号上网网络连接)。因此,客 户计算设备102可被配置为利用在其中网络通信可用并且对应的软件应用程 序订阅许可证可被更新的任何情况。在永久或可靠网络连接可用的情况下, 框502可以被省略。在框504,软件订阅代理106获取当前存储软件应用程 序订阅许可证的至少一个子集。在一个说明性实施例中,单个软件订阅代理 106可以管理各种软件应用程序104的软件应用程序订阅许可证。可选地, 每个软件应用程序104可以利用它自身的软件订阅代理。在与软件应用程序 订阅许可证相关联的更新条件准则被单独存储的情况下,软件订阅代理106 也获取该更新条件准则。
在框506,软件订阅代理106将第一标识符软件应用程序订阅许可证设 置为当前软件应用程序订阅许可证。在判定框508,进行测试来确定是否满 足与当前软件应用程序订阅许可证相关联的更新条件。在一个说明性实施例
12中,该更新条件准则可以对应于在接收并处理该软件应用程序订阅许可证时 所注册的更新条件。在另一个实施例中,也可以由软件应用程序104和/或软 件订阅代理106提供附加的更新条件。此外,更新条件准则可以是一组可选 条件的形式,对其的满足将会导致对整个更新条件的满足。
如果已满足该更新条件,则在框510,客户计算设备102将软件应用程 序订阅许可证更新请求发送给软件订阅服务114。其后,在框512,客户计算 设备获取并处理软件应用程序订阅许可证。在一个说明性实施例中,客户计 算设备102可以按类似于框406(图4)的方式处理软件应用程序订阅许可证。 在框514,注册对应于软件应用程序104和/或软件应用程序订阅许可证350 的更新条件。
如果在判定框508处当前许可证尚未满足更新条件或者在框514处注册 了经更新的软件应用程序订阅许可证,那么就在判定框516处,进行测试以 确定在框504中标识的当前存储的软件应用程序订阅许可证的子集中是否还 有任何附加的软件应用程序订阅许可证剩余。如果是,就在框518处将该子 集内的下一个软件应用程序订阅许可证设置为当前许可证,并且例程500返 回判定框508。可选地,例程500在框520终止。
现参考图6,将会描述例示由软件应用程序订阅服务114实现的软件应 用程序订阅许可证更新请求处理例程600的流程图。在框602,软件应用程 序订阅服务114从客户计算设备102获取软件应用程序订阅许可证请求。在 一个说明性实施例中,该请求可以对应于新的软件应用程序订阅许可证。可 选地,该信息可以对应于对预先存在的软件应用程序订阅许可证的更新。
在判定框604,进行测试以确定在请求中提供的证书是否对应于一活动 订阅。如果该证书不对应于活动订阅,则例程600在框608终止。可选地, 在判定框610,进行测试以确定与该软件应用程序相关联的软件应用程序使 用许可证是否对应于一订阅账户。在一个说明性实施例中,如果该软件应用 程序使用许可证未指定也需要软件应用程序订阅许可证,则软件订阅服务114 将不会生成订阅许可证。因此,如果使用许可证不对应于一订阅,则例程600 在框612终止。如果软件应用程序使用许可证对应于一订阅,则在框614,软件订阅服
务114生成软件应用程序订阅许可证350 (图3)。在框616,软件订阅服务 114将软件应用程序订阅许可证350发送给客户计算设备102。在框618,例 程600终止。
尽管示出和描述了本发明的说明性实施例,但将会认识到可在其中作出 各种改变而不背离本发明的精神和范围。
权利要求
1. 一种用于促进软件订阅服务的系统,包括包括至少一个软件应用程序和一软件订阅代理的一个或多个客户计算设 备,其中所述至少一个软件应用程序关联于一软件应用程序使用许可证和一软 件应用程序订阅许可证;以及用于提供软件应用程序订阅许可证的软件订阅服务;其中,所述软件订阅代理基于检测到的条件发送更新所述软件应用程序订 阅许可证的请求。
2. 如权利要求1所述的系统,其特征在于,还包括用于向所述客户计算 设备提供所述软件应用程序使用许可证的软件应用程序许可证服务。
3. 如权利要求2所述的系统,其特征在于,所述软件应用程序许可证服 务在所述客户计算设备上的所述软件应用程序激活期间提供所述软件应用程 序使用许可证。
4. 如权利要求1所述的系统,其特征在于,所述软件订阅许可证与一期 满曰期相关联,并且其中,软件订阅代理在检测到有关所述期满日期的时间窗 口时发送所述更新软件应用程序订阅许可证的请求。
5. 如权利要求4所述的系统,其特征在于,所述软件订阅代理还用于在 所述软件应用程序订阅许可证期满一段时间之后请求所述软件应用程序进入 功能縮减模式。
6. 如权利要求4所述的系统,其特征在于,所述软件订阅代理还用于在 所述软件订阅许可证期满一段时间之后请求所述软件应用程序停止工作。
7. 如权利要求1所述的系统,其特征在于,所述软件应用程序使用许可 证包括指示需要未期满的软件应用程序订阅许可证的至少一个标识符。
8. 如权利要求1所述的系统,其特征在于,至少一个客户计算设备包括 两个或更多软件应用程序,其中每个软件应用程序关联于一软件应用程序使用 许可证和一软件应用程序订阅许可证,并且其中,所述软件订阅服务为所述两 个或更多软件应用程序中的每一个提供软件应用程序订阅许可证。
9. 如权利要求1所述的系统,其特征在于,还包括多个客户计算设备,其中每个客户计算设备包括至少一个软件应用程序和一软件订阅代理,并且其 中,所述至少一个软件应用程序关联于所述多个客户计算设备公用的软件应用 程序使用许可证以及对所述多个客户计算设备中的每一个是唯一的软件应用 程序订阅许可证。
10. 如权利要求l所述的系统,其特征在于,所述软件订阅服务响应于来 自所述客户计算设备的更新请求生成新的软件应用程序订阅许可证。
11. 在包括至少一个软件应用程序的计算机系统中,其中所述至少一个软 件应用程序关联于一软件应用程序使用许可证和一软件应用程序订阅许可证, 一种用于管理软件应用程序订阅的方法,包括获取当前软件应用程序订阅许可证;确定是否检测到用于所述当前软件应用程序订阅许可证的更新准则;以及 一旦检测到更新准则就向一软件应用程序订阅服务请求经更新的软件应 用程序订阅许可证。
12. 如权利要求11所述的方法,其特征在于,所述更新准则包括针对所 述软件应用程序订阅许可证的期满日期,并且其中,确定是否检测到用于所述 当前软件应用程序订阅许可证的更新准则包括确定当前日期是否位于所述期 满日期的阈值之内。
13. 如权利要求12所述的方法,其特征在于,所述阈值是一个月。
14. 如权利要求11所述的方法,其特征在于,所述更新准则包括通信网络连接的可用性。
15. 如权利要求11所述的方法,其特征在于,所述软件订阅许可证与一期满日期相关联,所述方法还包括在所述软件订阅许可证期满一段时间之后请 求所述软件应用程序停止工作。
16. 如权利要求11所述的方法,其特征在于,所述软件订阅许可证与一期满日期相关联,所述方法还包括在所述软件订阅许可证期满一段时间之后请 求所述软件应用程序进入功能縮减模式。
17. —种具有关联于客户计算设备上的软件应用程序的计算机可执行组件的计算机可读介质,所述计算机可执行组件包括与所述软件应用程序相关联的软件应用程序使用组件,它包括唯一产品标识以及对应于所述客户计算设备的机器特性的信息;以及与所述软件应用程序相关联的软件应用程序订阅组件,它包括唯一产品标识和期满准则;其中所述软件应用程序使用组件和所述软件应用程序订阅组件是在所述 客户计算设备上执行所述软件应用程序所必需的。
18. 如权利要求17所述的计算机可执行组件,其特征在于,所述软件应 用程序使用组件包括由所述客户计算设备用来管理所述软件应用程序订阅组 件的标识符。
19. 如权利要求17所述的计算机可执行组件,其特征在于,所述软件应 用程序订阅组件包括对应于所述客户计算设备的机器特性的信息。
20. 如权利要求17所述的计算机可执行组件,其特征在于,所述期满准 则包括日期信息。
全文摘要
提供了一种用于管理软件应用程序使用许可证和软件应用程序订阅许可证的系统和方法。一个或多个客户计算设备的软件订阅服务具有基于多个订阅的软件应用程序和软件订阅代理。软件应用程序与软件应用程序使用许可证及软件应用程序订阅许可证相关联。该系统还包括软件订阅服务,用于基于证书的比较生成软件应用程序订阅许可证并将其发送至客户计算设备。在该软件应用程序执行期间,软件订阅代理基于检测到的条件周期性地发送更新该软件应用程序订阅许可证的请求。
文档编号G06F17/00GK101313298SQ200680043632
公开日2008年11月26日 申请日期2006年11月15日 优先权日2005年11月23日
发明者M·A·伊万诺夫, S·舍洛夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1