使用访问令牌控制软件的可获许可的特征的制作方法

文档序号:13033627阅读:164来源:国知局
使用访问令牌控制软件的可获许可的特征的制作方法与工艺



背景技术:

近年来,基于云的计算系统的使用迅速增长。例如,个人和企业现在通常使用远程服务器用于数字存储、网络托管或数字软件部署和支持。实际上,很多传统的数字软件系统在客户端设备上安装软件产品,但是使用远程服务器用于与所安装的软件产品相关的各种任务。例如,很多传统的系统通过以下方式来操作:在客户端设备上下载软件产品,并且随后使用远程服务器通过生成、管理和/或验证用于在客户端设备上激活软件产品的许可证来许可软件产品。

尽管传统的许可系统能够向客户端设备提供软件产品,但是这种传统系统包括各种问题。例如,传统的许可系统通常是复杂的,并且涉及各种耗时的(且昂贵的)步骤和过程。例如,很多传统的数字许可系统验证客户端设备,向客户端设备提供权限,并且经历各种步骤以获取、解码和使用许可证。例如,传统的数字许可系统使用复杂的经加密的许可证来生成和维持活动许可服务器。这样的许可服务器通常响应于来自客户端设备的许可激活调用来确定可用的许可证。具体地,传统的许可服务器可以查询数据库以获取可用的许可证,并且将其提供给客户端设备以授权在客户端设备处访问软件产品。

前述步骤不仅复杂,它们还使得难以快速和有效地推出软件产品。实际上,根据认证/许可服务器和数据库所需的修改,在传统的数字许可系统中难以添加或调整软件产品和/或软件产品特征。因此,传统的数字许可系统中的修改和更新导致显著的操作成本。

此外,传统的数字许可系统通常需要大量的数字版权管理(“drm”)方案来保护软件产品免遭盗版或其他智能窃取。例如,在没有drm方案的情况下,软件盗版者可以访问被提供给客户端设备的许可证,并且使用许可证来获取对软件产品的未授权访问(例如,其他客户端设备上的未授权的访问)。虽然传统的数字许可系统包括drm技术,但是软件盗版者以往已经找到了绕开传统的数字许可系统的方式,从而导致软件产品的未授权使用,市场和品牌稀释,客户满意度降低和收入的损失。

关于许可软件产品的当前技术存在这些和其他的问题。



技术实现要素:

通过将特征数据嵌入在访问令牌中以在客户端设备上激活软件产品的特征的系统和方法,本公开的实施例提供了各种优点和/或解决了本领域中的前述或其他问题中的一个或多个问题。特别地,在一个或多个实施例中,所公开的系统和方法去除了单独的许可证、许可服务器和/或对许可服务器的调用,并且使用存储在客户端设备处的存储器中的特征数据来激活软件产品。具体地,在一个或多个实施例中,系统和方法向客户端设备提供主要特征注册表。此外,系统和方法将特征集id嵌入在被提供给客户端设备的访问令牌中。客户端设备将主要特征注册表和存储在客户端设备上的存储器中的特征集id进行比较,以确定可应用于一个或多个软件产品的经许可的特征的集合。客户端设备然后可以激活经许可的特征的集合。

更具体地,在一个或多个实施例中,所公开的系统和方法向客户端设备提供主要特征注册表(即,多个软件产品的特征的列表)。此外,所公开的系统和方法基于主要特征注册表生成特征集id,特征集id指示客户端设备的用户被允许访问的软件产品和/或特征。所公开的系统和方法将所生成的特征集id嵌入到访问令牌中。此外,所公开的系统和方法向客户端设备发送具有嵌入的特征集id的访问令牌(例如,响应于认证用户),使得客户端设备能够将主要特征注册表与特征集id进行比较,并且激活客户端设备的用户被允许访问的软件产品和/或特征。

本公开的示例性实施例的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过这样的示例性实施例的实践而习得。

附图说明

参考附图来描述具体实施方式,在附图中:

图1示出了根据一个或多个实施例的激活软件产品的特征的方法中的一系列动作的顺序图;

图2a至图2c示出了根据一个或多个实施例的在客户端设备上激活软件产品的特征的方法中的一系列动作的另一顺序图;

图3a至图3c示出了根据一个或多个实施例的在客户端设备上激活新的软件产品的新的特征的方法中的一系列动作的又一顺序图;

图4a至图4b示出了根据一个或多个实施例的在客户端设备上激活与客户端设备的第二用户对应的软件产品的特征的方法中的一系列动作的顺序图;

图5示出了根据一个或多个实施例的数字特征激活系统的示意图;

图6示出了根据一个或多个实施例的数字特征激活系统可以在其中操作的示例性环境的示意图;

图7示出了根据一个或多个实施例的激活软件产品的特征的方法中的一系列动作的流程图;

图8示出了根据一个或多个实施例的激活软件产品的特征的另一方法中的一系列动作的流程图;

图9示出了根据一个或多个实施例的激活软件产品的特征的另一方法中的一系列动作的流程图;以及

图10示出了根据一个或多个实施例的示例性计算设备的框图。

具体实施方式

本公开的一个或多个实施例包括使用嵌入在访问令牌中的特征数据来安全地激活软件产品和/或其特征的数字特征激活系统和对应的方法。特别地,在一个或多个实施例中,数字特征激活系统将特征数据存储在客户端设备处的存储器中,并且使用特征数据来激活特征,而不是使用单独的许可证和/或对许可服务器的调用。例如,在一个或多个实施例中,数字特征激活系统检测对使用客户端设备的用户的授权(例如,经由用户名和密码的登录),并且向访问令牌中嵌入特征集id(即,具有用户被允许访问的特征的软件产品的指示)。客户端设备可以标识访问令牌中的特征集id,并且使用该指示(例如,结合存储在客户端设备上的主要特征注册表)来标识客户端设备的用户被允许访问的特征。

例如,在一个或多个实施例中,数字特征激活系统通过一个或多个服务器向客户端设备提供主要特征注册表(例如,结合将软件产品下载到用户的客户端设备)。具体地,在一个或多个实施例中,主要特征注册表列出多个软件产品(包括下载的软件产品)的特征。此外,数字特征激活系统生成特征集id,特征集id指示客户端设备的用户被允许访问的软件产品。此外,数字特征激活系统将所生成的特征集id嵌入到访问令牌中。此外,响应于认证用户,数字特征激活系统将具有嵌入的特征集id的访问令牌发送给客户端设备。客户端设备将主要特征注册表与特征集id进行比较,并且基于该比较来激活客户端设备的用户被允许访问的软件产品的特征。

通过将特征集id嵌入在访问令牌中,并且结合客户端设备上的主要特征注册表来使用特征集id,数字特征激活系统简化了激活软件产品特征的过程。实际上,因为特征数据被移动到客户端设备上的存储器中,所以数字特征激活系统消除了传统的数字许可系统的很多复杂的过程和系统。例如,数字特征激活系统避免了对于客户端设备上的单独的驻留许可证的需要。类似地,数字特征激活系统避免了对客户端设备和许可服务器之间的调用和响应以获取软件许可证的需要,从而消除了不必要的通信和不必要地使用通信设施和处理能力。此外,数字特征激活系统可以完全消除对于许可服务器的需要。

数字特征激活系统还减少了数字盗版的风险和对抗知识产权盗窃的成本。例如,在一个或多个实施例中,数字特征激活系统在软件产品的每次启动时生成嵌入有特征集id的访问令牌。因为数字特征激活系统不使用本地软件许可证,所以不再需要本地drm解决方案(例如,以保护本地软件许可证)。相反,在每次启动时,数字特征激活系统安全地提供具有嵌入的安全特征集id的安全访问令牌,其激活客户端设备的用户被允许访问的软件产品特征。

为了帮助确保访问令牌的安全性,数字特征激活系统可选地将到期时间嵌入到访问令牌中。到期时间可以在访问令牌到期之后禁止使用特征集id。因为每个会话通常需要访问令牌,所以数字特征激活系统以短的有效时间增加了安全性。与传统的数字许可系统(其使用打开通往数字盗版的门的冗长的许可证订阅时间(例如,几个月或几年))相反,使用具有访问令牌的短的(例如24小时)到期时间显著地限制了数字盗版。

此外,由于很多软件系统已经使用访问令牌来授权用户,所以数字特征激活系统呈现了采用现有的过程来组织和简化软件产品激活的很好的解决方案。实际上,通过在访问令牌中嵌入特征集id,数字特征激活系统不仅消除了对于本地许可证以及客户端设备和许可服务器之间的不必要的数据传送的需求,而且数字特征激活系统不引起任何性能下降。实际上,在一个或多个实施例中,数字授权系统通过消除需要大量计算能力的加密、解密和许可证管理而提高了计算效率。

此外,数字特征激活系统简化了添加、移除或更新软件产品和对应特征的过程。实际上,如上所述,在一个或多个实施例中,数字特征激活系统使用主要特征注册表,主要特征注册表标识特征和对应软件产品。因此,为了添加、移除或更新软件产品和特征,数字特征激活系统简单地更新主要特征注册表——因此修改被自动地反映在客户端设备处激活的特征中。以这种方式,数字特征激活系统允许软件提供商接近实时地刷新可用的软件产品和特征,同时避免更新许可证、许可服务器和许可过程所需的大量操作步骤(例如,许可服务器处的元数据的改变)。

除了简化添加、移除或更新软件产品和特征的过程之外,数字特征激活系统还使得客户端设备的多个用户能够访问对于每个用户特定的软件产品的不同特征。相比之下,在很多传统的数字许可系统中,许可证存储在客户端设备上,而不是对于特定用户特定的。因此,关于客户端设备激活软件产品,以向所有用户提供相同的软件产品特征。在一个或多个实施例中,数字特征激活系统将具有特征集的访问令牌存储在本地存储器中,并且在检测到用户退出时删除所存储的特征集。如果新的用户登录,则数字特征激活系统可以生成新的访问令牌和对于新的用户特定的新的特征集id,并且使用新的访问令牌和新的特征集id来激活新的对于用户特定的特征。以这种方式,数字特征激活系统可以使软件产品的特征无缝地适合单个客户端设备的多个用户。

现在将关于描绘示例性实施例的说明性图来提供关于数字特征激活系统的附加细节。特别地,参照图1至图2c,提供了关于根据一个或多个实施例的通过在访问令牌中嵌入软件特征id来激活软件产品的方法中的步骤的公开。此后,图3a至图3c提供了关于通过使用访问令牌中的嵌入的特征id来激活与新的软件产品相关的新的特征的方法中的步骤的附加细节。图4a至图4b和相关描述提供了关于根据一个或多个实施例的针对多个用户在同一客户端设备上激活软件产品的不同特征的方法的附加公开。图5至图6提供了关于数字特征激活系统的部件和能力以及数字特征激活系统可以在其中操作的示例性环境的附加公开。

如刚才提到的,图1示出了显示由数字特征激活系统100执行的用于激活软件产品的特征的多个步骤106-128的顺序图。数字特征激活系统100可以部分地驻留在客户端设备102和服务器设备104上。特别地,如下面更详细地讨论的,数字特征激活系统100可以包括计算机可执行指令,这些计算机可执行指令在由客户端设备102或服务器设备104执行时引起客户端设备102或服务器设备执行图1的顺序图中所示的步骤106-128。客户端设备102可以包括任何计算设备,诸如台式机、膝上型计算机、平板计算机或移动设备。服务器设备104可以包括生成、存储、接收和传输数据的远程服务器。例如,在一个或多个实施例中,服务器设备104包括远程通信服务器、标识/授权服务器和/或数据服务器。

如图1所示,数字特征激活系统100执行生成主要特征注册表的步骤106。如本文中所使用的,术语“主要特征注册表”是指指示一个或多个软件产品的特征的数字项。特别地,术语“主要特征注册表”包括列出(或以其他方式指示)对应软件产品的特征的数据库、表格、数组或电子表格。此外,在一个或多个实施例中,主要特征注册表包括由一套应用或软件提供商支持的所有软件产品的所有特征的列表。在一个或多个实施例中,术语主要特征注册表包括服务器生成的文件,其包括由软件产品id索引的所支持的软件产品的特征集。因此,如图1a所示,数字特征激活系统100引起服务器设备104生成主要特征注册表,主要特征注册表列出一个或多个软件产品的特征。

如本文中所使用的,术语“特征”是指软件产品的功能、过程或能力。特别地,术语“特征”包括可以切换(例如,打开或关闭、可访问或阻止、激活或去激活)的软件产品的一个或多个功能、过程或能力。在一个或多个实施例中,数字特征激活系统使用特征指示符来标识特征或特征集。例如,数字特征激活系统可以使用包括标识一个或多个特征的字符串、数字或代码的特征指示符。因此,关于图1,服务器设备104结合对应软件产品id生成主要特征注册表,主要特征注册表列出特征指示符。

如本文中所使用的,术语“软件产品”是指在计算设备上执行的软件程序。特别地,术语“软件产品”是指计算机指令的有组织的集合,这些计算机指令在由计算设备执行时引起计算设备执行一个或多个任务。在一个或多个实施例中,术语“软件产品”包括作为单个应用或一套应用(即,集合)销售和售卖的计算机指令的集合。

此外,如本文中所使用的,术语“软件产品id”是指软件产品的指示符。例如,在一个或多个实施例中,软件产品id是指用于标识软件产品的代码、值、字符串或其他指示符。软件产品id可以采取各种形式。例如,软件产品id可以包括二进制数或另一字符串。

应当理解,特定软件程序品牌可以作为具有多个不同特征和软件产品id的多个不同软件产品销售和售卖。例如,软件程序可作为具有对应的第一软件产品id的第一软件产品(例如,基本订阅)销售和售卖,其中用户被允许访问第一特征集,而软件程序也可以作为与第二软件产品id对应的第二软件产品(例如,高级订阅)销售和售卖,其中用户被允许访问第二特征集。

返回图1,在生成主要特征注册表时,服务器设备104执行向客户端设备102提供主要特征注册表的步骤108。在一个或多个实施例中,服务器设备104结合将一个或多个软件产品下载到客户端设备102来提供主要特征注册表。以这种方式,数字特征激活系统可以确保下载软件产品的任何客户端设备具有主要特征注册表。

此外,客户端设备102执行存储主要特征注册表的步骤110。如上所述,在一个或多个实施例中,通过存储主要特征注册表,数字特征激活系统将监督经许可的软件产品的过程移动到客户端设备102(而不是服务器设备104)的存储器。

如图1所示,客户端设备102还执行发送验证证书的步骤112。如本文中所使用的,术语“验证证书”是指由客户端设备提供以验证用户或客户端设备的身份的信息。具体地,术语“验证证书”包括登录信息,诸如用户名和/或密码。类似地,术语“验证证书”包括唯一的标识,诸如与用户或设备对应的全局唯一标识符(“guid”)。例如,在一个或多个实施例中,服务器设备104在首次认证客户端设备102的用户时向客户端设备102提供委托guid。此后,客户端设备102可以使用委托guid来认证用户和/或客户端设备。术语“验证证书”包括这样的委托guid。此外,术语“验证证书”可以包括与客户端设备102对应的设备令牌或设备id。

在一个或多个实施例中,发送验证证书的步骤112关于对服务器设备104的请求认证和/或使用一个或多个软件产品的调用来执行。例如,在一个或多个实施例中,每次在客户端设备102上启动从服务器设备104下载的软件产品时,客户端设备102执行步骤112。如下所述,以这种方式,数字特征激活系统100可以确保每次在客户端设备上使用软件产品时激活适当的特征。

在向服务器设备104发送验证证书时,服务器设备104执行授权用户的步骤114。特别地,在一个或多个实施例中,服务器设备104可以使用验证证书来授权用户。例如,服务器设备104将验证证书发送给授权系统,授权系统验证用户的身份(例如,用户具有访问一个或多个软件产品的账户和权限)或者在服务器设备处执行验证步骤。步骤114可以包括使用户登录到与用户相关联的账户中,诸如与用户简档或与用户对应的其他信息相关联的账户。

此外,在授权用户时,服务器设备104执行标识对应于用户或被授权给用户的软件产品的步骤116。特别地,服务器设备104可以访问服务器设备104的用户简档(或账户)以确定用户被允许使用的软件产品(例如,用户已经购买的软件产品)。

此外,如图1所示,在标识与用户对应的软件产品时,服务器设备104还执行生成特征集id的步骤118。如本文中所使用的,术语“特征集id”是指用户被允许/授权使用的一个或多个软件产品和/或特征的指示符。具体地,术语“特征集id”包括用户被允许使用的一个或多个软件产品id的指示符(和/或特征指示符)。例如,特征集id包括一系列数字,一系列数字指示与用户被允许使用的软件产品和对应特征对应的软件产品id。特征集id可以采取各种形式,诸如二进制数、64进制数或者字符或数据的某种其他组合。在一个或多个实施例中,特征集id包括位串值,其中每个位被保留作为用户是否被允许使用一个或多个软件产品和/或特征的指示符。更具体地,在一个或多个实施例中,特征集id包括256位字符串值,其中每个位被保留作为软件产品特征的对应软件产品id的真或假指示符。

如图1所示,在生成特征集id时,服务器设备104还执行生成访问令牌并且将特征集id嵌入在访问令牌中的步骤120。如本文中所使用的,术语“访问令牌”是指指示用户和/或客户端设备的权限的数字项。特别地,术语“访问令牌”可以包括被配置成提供对一个或多个远程服务器的访问的权限的数字项。因此,术语“访问令牌”包括在认证用户或设备时由标识或认证系统发出的临时令牌,其标识用户关于一个或多个服务器的权限。类似地,术语“访问令牌”包括在刷新与客户端设备的会话时由标识系统发出的临时令牌。更具体地,在一个或多个实施例中,访问令牌包括具有一个或多个扩展的jsonweb令牌。

因此,在一个或多个实施例中,服务器设备104通过将特征集id嵌入在jsonweb令牌的一个或多个扩展中来生成访问令牌。除了包含嵌入的特征集id之外,所得到的访问令牌还可以向客户端设备102提供对服务器设备104上的各种信息的访问,例如存储在服务器设备104的数据服务器上的数字内容(数字媒体、数字视频、数字图像、数字字体和/或数字样式)。

如图1所示,在生成访问令牌并且嵌入特征集id时,服务器设备104执行向客户端设备102提供访问令牌的步骤122。此外,客户端设备102执行从访问令牌标识特征集id的步骤124。例如,客户端设备102分析jsonweb令牌并且标识嵌入在jsonweb令牌的一个或多个扩展中的特征集id。

在从访问令牌标识特征集id时,客户端设备102执行将特征集id和主要特征注册表进行比较的步骤126。特别地,客户端设备102可以将特征集id与主要特征注册表中的条目进行比较,以标识用户被允许访问的特征(即,授权的特征)。

例如,如前所述,在一个或多个实施例中,特征集id包括指向一个或多个软件产品的256位字符串值(例如,软件产品id)。客户端设备102可以访问主要特征注册表(即,主要特征注册表中的产品和对应特征的列表),并且将特征集id与主要特征注册表进行比较以标识授权的特征(即,用户被允许访问的特征)。此外,客户端设备102可以存储授权的特征以用于稍后使用。

此外,如图1所示,在比较特征集id和主要特征注册表时,客户端设备102执行激活授权的特征(即,用户被允许访问的特征)的步骤128。具体地,客户端设备102可以将授权的特征加载到软件产品的存储器中。此外,客户端设备102可以使用软件产品来激活在步骤126标识的授权的特征。

值得注意的是,数字特征激活系统100在不对许可服务器进行调用的情况下在客户端设备102上激活授权的特征集,而不将许可证下载到客户端设备102上,并且不将许可证存储在客户端设备102上。相反,数字特征激活系统100基于具有嵌入的特征集id的访问令牌来激活一个或多个软件产品的授权的特征集。因此,数字特征激活系统100在激活软件产品的特征时降低了服务器设备104和客户端设备102之间所需的复杂性和通信,而没有牺牲软件产品的安全性。

此外,如上所述,在一个或多个实施例中,数字特征激活系统100在每次客户端设备102登录到服务器设备104时获取访问令牌。因此,每次用户使用软件产品时,数字特征激活系统验证软件产品的授权的特征,从而导致软件产品的安全性增加并且盗版减少。

此外,如图1所示,在一个或多个实施例中,数字特征激活系统100消除了对于复杂的drm解决方案的需要。例如,在一个或多个实施例中,数字特征激活系统100避免了对于许可证的复杂加密/解密的需要。实际上,在一个或多个实施例中,数字特征激活系统100完全避免了对于存储在客户端设备上的许可证的需要。

现在转到图2a至图2c,提供了关于由数字特征激活系统200执行的特征的步骤的附加细节,这些步骤用于使用具有嵌入的特征集id的访问令牌来激活客户端设备上的软件产品。特别地,图2a示出了数字特征激活系统200经由客户端设备102和服务器设备104执行步骤216-268。此外,关于方法200,客户端设备102还包括数字特征激活系统200的特征管理器206和应用208。此外,服务器设备104还包括数字特征激活系统200的信息管理系统(“ims”)210、用户简档管理器212和特征注册表管理器214。

客户端设备102上的应用208可以包括任何软件产品(例如,单个软件程序或一组软件程序)。例如,在一个或多个实施例中,应用208包括管理客户端设备102上的多个软件产品的软件管理应用程序。为了说明,应用208可以包括管理多个附加软件程序(诸如软件、软件和/或软件)的软件程序的一个或多个版本。

如图所示,客户端设备102还包括特征管理器206。如关于方法200的步骤进一步描述的,特征管理器206可以标识、检测、获取和/或管理用户被允许关于应用208来使用的特征。如关于图2a所示,特征管理器206可以包括数字特征激活系统200的独立部件。此外,在一个或多个实施例中,特征管理器206被实现为应用208的部分(例如,作为应用208的库、插件或其他子部分)。

此外,如图2a所示,服务器设备104还包括信息管理系统210、用户简档管理器212和特征注册表管理器214。信息管理系统210可以传送、发送、接收和存储服务器设备104的信息。用户简档管理器212包含关于数字特征激活系统200的一个或多个用户的信息,包括关于用户和用户被允许使用的软件产品的信息。此外,特征注册表管理器214可以接收特征和/或产品标识符,并且生成一个或多个主要特征注册表。将在下面(例如,关于图5)提供关于客户端设备102、特征管理器206、应用208、服务器设备104、ims210、用户简档212和特征注册表管理器214的附加细节。

如图2a所示,数字特征激活系统200引起特征注册表管理器214执行接收特征和软件产品的步骤216。具体地,步骤216可以包括特征注册表管理器214接收特征和对应的软件产品id。例如,在一个或多个实施例中,在生成或发布软件产品和/或特征时,特征注册表管理器214从软件开发商接收特征和对应的软件产品id。

如前所述,在一个或多个实施例中,数字特征激活系统200使用特征指示符来指示一个或多个特征。关于图2a至图2c的实施例,特征指示符包括字符串,字符串标识与对应的软件产品版本(例如,“photoshop-content-aware1.0”形式的特征指示符)相关的特征集。因此,关于步骤216,特征注册表管理器214可以从软件开发商接收特征指示符和对应的软件产品id。

在一个或多个实施例中,数字特征激活系统提供被托管在服务器设备104上的特征注册表控制台,用于接收特征和软件产品id的用户输入。特别地,在一个或多个实施例中,特征注册表控制台包括允许软件开发商声明或定义软件产品id和对应的特征(例如,定义软件产品id和对应的特征指示符)的用户接口。因此,数字特征激活系统可以为软件开发商提供方便和简单的接口,以定义在数字特征激活系统中使用的软件产品和对应的特征。

此外,如图2a所示,在接收到特征和软件产品时,特征注册表管理器214还执行生成主要特征注册表的步骤218。具体地,关于图2a的实施例,步骤218包括生成主要特征注册表,主要特征注册表列出软件产品id和对应的特征指示符。更具体地,以下示例数组提供根据一个或多个实施例的主要特征注册表的一般形式:

软件产品ida::特征标识符1a{|}...特征标识符xa

软件产品idb::特征标识符1b{|}....{|}特征标识符xb

...

软件产品idn::特征标识符1n{|}...{|}特征标识符xn

关于该示例,软件产品ida至软件产品idn指示所支持的软件产品的软件产品id。此外,特征标识符1a-xa指示与软件产品a对应的软件特征。类似地,特征标识符1b-xb指示与软件产品b对应的软件特征,并且特征标识符1n-xn指示与软件产品n对应的软件特征。因此,主要特征注册表列出了根据软件产品id索引的多个软件产品的特征。

如上所述,在一个或多个实施例中,数字特征激活系统200以256位字符串值的形式表示软件产品id,并且以字符串的形式表示特征标识符。在这样的实施例中,主要特征注册表采取以下形式:

0000...01::photoshopcc-base-1.0{|}...{|}photoshopcc-content-aware-2.0{|}

...

0000...10::indesigncc-base-1.0{|}...{|}indesigncc-uber-2

关于该示例,前256位字符串值(即,“0000...001”和“0000...10”)是软件产品id,并且字符串(即,“photoshopcc-base-1.0”和“indesigncc-base-1.0”)是特征指示符。具体地,关于该特定示例,在第一软件产品id的结尾处的“01”指示与具有某些对应特征的软件程序品牌对应的特定软件产品。类似地,在第二软件产品id的结尾处的“10”指示与具有某些对应特征的软件程序品牌对应的特定软件产品。

尽管前面的示例示出了具有两个软件产品id的简化的主要特征注册表,但是应当理解,数字特征激活系统可以生成具有任何数目的软件产品和任何数目的对应特征的主要特征注册表。实际上,在一个或多个实施例中,主要特征注册表列出了软件提供商支持的所有软件产品和特征。

此外,主要特征注册表可以包含包括有软件产品的集合的一个或多个套件软件产品。例如,主要特征注册表可以包括提供对特定版本的软件程序以及特定版本的软件程序的访问的套件软件产品。在这样的实施例中,关于套件软件产品,主要特征注册表可以指向在主要特征注册表中定义的其他软件产品id。例如,对于包括特定版本的软件产品和软件产品的套件软件产品,主要特征注册表中的套件软件产品条目可以简单地指向特定版本的软件程序和软件程序的软件产品id。

如图2所示,在生成主要特征注册表时,特征注册表管理器214执行将主要特征注册表发送给ims210的步骤220。此外,ims210可以执行存储主要特征注册表的步骤222。以这种方式,ims210可以获取主要特征注册表,以准备将主要特征注册表传播到客户端设备。

实际上,如图2a所示,客户端设备102执行安装软件产品的步骤224。具体地,客户端设备102可以向服务器设备104发送请求并且下载软件产品(例如,下载应用208)。例如,客户端设备102的用户选择软件产品,提供验证证书(例如,用户名和密码),并且提供软件产品的支付。此外,客户端设备102可以从服务器设备104下载和安装软件产品。

另外,如图2所示,服务器设备104经由用户简档管理器212执行存储用户和对应软件产品的步骤224a。特别地,用户简档管理器212可以维持使用户与每个用户有权限使用的软件产品相关联的数据库(例如,用户简档和/或账户的数据库)。例如,在确定客户端设备102的用户购买、下载和/或安装了软件产品时,用户简档管理器212在与用户对应的用户简档中存储用户已经购买、下载和/或安装软件产品的指示。此外,用户简档管理器212可以维持和更新用户简档,以反映用户在任何给定时间有权限使用的软件产品。

如图2所示,结合下载和/或安装软件产品,ims210还执行向客户机设备102的应用208提供主要特征注册表的步骤226。例如,在一个或多个实施例中,应用208包括安装的软件产品,并且ims210将主要特征注册表下载在安装的软件产品的存储器中。

此外,应用208可以执行向特征管理器206提供主要特征注册表的步骤228。特征管理器206还可以执行存储主要特征注册表的步骤230。以这种方式,数字特征激活系统200可以将主要特征注册表存储在客户端设备102的存储器中,以用于在客户端设备处基于嵌入在访问令牌中的特征集id来标识要在软件产品中激活的特征。

实际上,如图2b所示,应用208执行启动软件产品(例如,应用208)的步骤232。响应于启动软件产品,应用208执行向特征管理器206发送取回访问令牌的调用的步骤234。特征管理器206进而执行标识设备令牌和委托guid的步骤236。

如前所述,设备令牌和委托guid包括一种形式的验证证书。具体地,设备令牌包括标识客户端设备102的数字项。此外,委托guid是指示特定用户的全局唯一标识符。例如,在一个或多个实施例中,委托guid是由服务器设备104(和/或客户端设备102)生成的唯一标识符,其指示与由用户简档管理器212存储的用户简档相关的特定用户。在一个或多个实施例中,委托guid标识登录到与服务器设备104相关联的账户的最后用户。

例如,客户端设备102获取与利用服务器设备104进行的第一授权相关的委托guid。例如,在一个或多个实施例中,客户端设备102的用户提供用户名、密码或者用户第一次访问服务器设备104的账户时的其他验证证书。服务器设备104可以提供委托guid作为唯一标识符,唯一标识符由客户端设备102存储以标识用户用于对服务器设备104进行后续调用。

如图2b所示,特征管理器206执行向ims210发送设备令牌和委托guid的步骤238。此外,ims210执行授权用户的步骤240。特别地,ims210可以使用设备令牌和委托guid(或其他验证证书)经由认证或身份服务器来认证用户。此外,步骤238、240可以包括登录到与用户相关联的账户。

在授权用户时,如图2b所示,ims210执行从用户简档管理器212请求与用户对应的软件产品的步骤242。例如,ims210向用户简档管理器212发送委托guid,以从与用户对应的用户简档请求软件产品。

此外,响应于对软件产品的请求,用户简档管理器212执行标识与用户对应的软件产品(例如,步骤224a中存储的软件产品)并且发送与用户对应的软件产品的指示的步骤244、246。具体地,在一个或多个实施例中,用户简档管理器212存储与用户被允许访问的软件产品对应的软件产品id。步骤244、246可以包括标识与用户被允许访问的软件产品对应的软件产品id并且将软件产品id发送给ims210。

如图2b所示,在接收到与用户对应的软件产品的指示时,数字特征激活系统200执行生成特征集id的步骤248。特别地,ims210使用软件产品的指示(即,来自步骤246)来生成特征集id。例如,在一个或多个实施例中,ims210查询主要特征注册表以标识与用户被允许访问的软件产品对应的产品id。此外,ims210使用产品id来生成特征集id。

如前所述,在一个或多个实施例中,特征集id指向与用户被允许访问的软件产品对应的产品id。更具体地,在一个或多个实施例中,特征集id是256位字符串值,其中每个位被保留作为对于特定软件产品或产品id的指示。

例如,考虑其中用户简档管理器212提供用户被允许访问第一软件产品和第二软件产品的指示的示例。ims210访问主要特征注册表并且确定第一软件产品的第一产品id和第二软件产品的第二产品id。ims210可以确定特征集id中的最后一个位被保留用于第一软件产品。因此,ims210可以生成以下特征集id:0000...01(例如,关于步骤218描述的相同产品id)。类似地,ims210可以确定特征集id中的第二至最后一个位被保留用于第二软件产品。因此,ims210可以如下修改特征集id:0000...11(例如,向第二至最后一个位添加肯定的“1”以形成关于步骤218描述的两个产品id的组合)。以这种方式,ims210生成指示用户被允许访问的第一软件产品和第二软件产品的特征集id。

如上所述,特征集id可以以各种形式来表示。例如,在一个或多个实施例中,步骤248包括修改特征集id的形式。具体地,在一个或多个实施例中,数字特征激活系统200将特征集id从256位数组变换成64进制编码值(或一些其他编码值)。例如,ims210将0000...11变换成64进制值“d”(或十进制值“3”),并且将值“d”存储为特征集id。

如图2c所示,数字特征激活系统200还执行生成访问令牌并且将特征集id嵌入到访问令牌中的步骤250。具体地,ims210生成包括jsonweb令牌(.jwt文件)的访问令牌。ims210将特征集id嵌入到jsonweb令牌中。例如,关于先前的实施例,ims210将64进制值“d”嵌入到jsonweb令牌的扩展中。

在生成访问令牌时,ims210还可以指示到期时间。例如,在一个或多个实施例中,ims210为所生成的访问令牌设置24小时的到期时间。因此,客户端设备102可以在24小时的时段内使用访问令牌和对应的信息。在这个时间之后,访问令牌到期,并且用户和/或客户端设备102必须获取新的访问令牌。

以这种方式,数字特征激活系统提供了超过传统的数字许可系统的附加的安全性。实际上,由于获取、生成、管理、解密和应用传统的许可证的复杂性,数字许可证通常在延长的时间段(例如,几个月或几年,这取决于订阅的寿命)内有效。因此,获取许可证的盗版者可以在相当长的时间内使用该许可证。然而,因为数字特征激活系统的一个或多个实施例使用访问令牌来传递特征集id(并且不使用许可证),所以数字特征激活系统可以使用明显更短的到期时间,从而使得盗版者更加难以在任何有意义的时间段内获取对软件产品的未授权的访问。

此外,如图2c所示,ims210还执行将访问令牌发送给特征管理器206的步骤252。特征管理器206执行从访问令牌标识特征集id的步骤254。例如,关于先前的示例,特征管理器206标识嵌入在访问令牌中的64进制值“d”(即,特征集id的一种形式)。此外,特征管理器206可以对特征集id进行解码(例如,将64进制值“d”变换成位数组0000...11)。

如图2c所示,特征管理器206还执行存储具有委托guid(或一些其他用户标识符)的特征集id的步骤256。如下面关于图4a至图4b更详细地讨论的,通过存储具有委托guid的特征集id,数字特征激活系统200可以容易地移除或替换特征集id,以向使用客户端设备102的不同的用户提供个性化特征。

此外,应用208还可以执行向特征管理器206发送对授权的特征的请求的步骤258。作为响应,特征管理器206可以执行步骤260,步骤260执行校验和与特征集id验证。如本文中所使用的,术语“校验和值”是指被生成以检测数字项中的错误或修改的数字数据块。特别地,术语“校验和值”包括对于特定数字输入唯一的数字数据(也称为散列或散列和)。校验和算法可以基于特定数据输入(例如,主要特征注册表)生成唯一的校验和值。对校验和算法的数字输入(例如,主要特征注册表)的任何修改导致生成不同的校验和值。

具体地,在一个或多个实施例中,数字特征激活系统使用一个或多个校验和值和/或校验和算法生成主要特征注册表(在步骤218)和/或特征集id(在步骤248)。特征管理器206然后可以使用校验和值和/或校验和算法来验证主要特征注册表和/或特征集id尚未被改变、篡改或盗版。

特别地,在一个或多个实施例中,服务器设备104(和/或客户端设备102)使用校验和算法来生成对主要特征注册表唯一的控制校验和值。此外,服务器设备104(和/或客户端设备102)包括对具有访问令牌中的特征集id的主要特征注册表唯一的控制校验和值的指示。在执行步骤260中,特征管理器206可以标识与安装在客户端设备102上的主要特征注册表对应的测试校验和值。此外,特征管理器206可以将测试校验和值与控制校验和值进行比较。如果主要特征注册表已经被修改、篡改或盗版,则测试校验和与控制校验和将不匹配,并且特征管理器206将不返回任何授权的特征。如果控制校验和与测试校验和匹配,则特征管理器206可以继续分析特征集id和主要特征注册表(例如,激活软件产品的授权的特征)。

除了执行校验和验证之外,特征管理器206还可以执行特征集id验证。具体地,特征管理器206可以确定特征集id是否已经超过到期时间。实际上,如先前关于步骤250所提到的,数字特征激活系统200可以生成具有到期时间的访问令牌。特征管理器206可以确定嵌入在访问令牌中的特征集id是否已超过到期时间并且已到期。如果特征集id已经到期,则特征管理器206将不返回任何授权的特征。如果特征集id尚未到期,则特征管理器206可以继续分析特征集id和主要特征注册表(例如,激活软件产品的授权的特征)。

实际上,在执行校验和与特征集id验证时,如图2c所示,特征管理器206执行将主要特征注册表和特征集id进行比较并且标识授权的特征的步骤262、264。例如,特征管理器206可以分析特征集id的每个位并且标识用户被允许访问的软件产品id。特征管理器206然后可以结合主要特征注册表使用所标识的软件产品来确定授权的特征。

例如,如果特征集id为0000...11,则特征管理器206可以在主要特征注册表中搜索与特征集id的肯定位(即,“11”)对应的产品。例如,从步骤218继续上述示例,特征管理器206可以搜索存储在主要特征注册表中的第一软件产品id0000...10和第二软件产品id0000...01(例如,在最后一个数字位中具有肯定位的产品id以及在第二至最后一个数字位中具有肯定位的产品id)。

在标识第一和第二软件产品id时,特征管理器206还可以基于存储在主要特征注册表中的特征标识符来标识授权的特征。例如,从步骤218继续上述示例,特征管理器206使用第一产品id从主要特征注册表标识特征标识符“photoshopcc-base-1.0”和“photoshopcc-content-aware-2.0”。此外,使用第二产品id,特征管理器206可以从主要特征注册表标识特征标识符“indesigncc-base-1.0”和“indesigncc-uber-2”。此外,特征管理器206可以存储“photoshopcc-base-1.0”、“photoshopcc-content-aware-2.0”、“indesigncc-base-1.0”和“indesigncc-uber-2”作为授权的特征。

更具体地,在一个或多个实施例中,特征管理器206可以使用以下伪代码来比较主要特征注册表和特征集id并且标识授权的特征:

1.将主要功能注册表加载到master_register中;

2.从主要特征注册表检索产品id并且存储在master_index中;

3.保持名为_autherizedfeatures的空列表;

4.逐一迭代通过master_index列表,从列表中获取下一项i到sizeof(master_index);

5.将特征集id(256位的数组)加载到fs_id中;

6.如果来自master_register[i]的逐位对应的fs_idand的逐位为真,则将来自master_register[i]的特征指示符插入到_autherizedfeatures中,并且继续,直到i=sizeof(masterindex);

以及

7.返回_authorizedfeatures。

应当理解,尽管先前示例使用特定形式的特征集id、产品id和/或特征指示符,但是数字特征激活系统200可以使用各种不同的形式来激活客户端设备上的软件产品。例如,尽管在先前示例中的示例性产品id和特征集id是以“0”或“1”数字(例如,256位数组)表示的,但是数字特征激活系统200还可以使用其他代码、字符、数组或项目。类似地,虽然先前示例中的特征指示符被表示为字符串,但是数字特征激活系统200可以使用其他代码、字符、数组或项目来指示特征。

如图2c所示,特征管理器206还执行将授权的特征发送给应用208的步骤266。此外,应用208可以执行激活应用中的授权的特征的步骤268。具体地,应用208可以确定应用208是否支持授权的特征。此外,应用208可以基于从特征管理器206提供的授权的特征来激活或去激活(启用或停用)支持的特征。

值得注意的是,从用户的角度来看,简单地通过下载和启动应用208,方法300在客户端设备上自动激活特定于用户(即,特定于用户购买的软件产品)的特征。客户端设备102在不调用许可服务器,下载许可证,对许可证解密,应用许可证或存储许可证的情况下这样做。相反,通过使用嵌入有特征集id的访问令牌,客户端设备使用存储在客户端设备的存储器中的特征数据(即,主要特征注册表和特征集id)来激活软件特征。

如前所述,数字特征激活系统还可以简化添加、移除或以其他方式更新软件产品和特征。具体地,因为数字特征激活系统的一个或多个实施例使用存储在本地应用的存储器中的主要特征注册表和特征集id来在客户端设备上激活软件产品,所以数字特征激活系统可以通过简单地更新主要特征注册表来刷新软件产品和特征。具体地,数字特征激活系统可以在安装新的软件产品和/或特征时更新主要特征注册表并且将主要特征注册表下载到客户端设备。然后,客户端设备可以基于嵌入在新的访问令牌中的特征集id来标识和激活与所安装的新的软件产品相关的新的特征。

特别地,图3a示出了数字特征激活系统300使用经更新的主要特征注册表、新的特征集id和/或新的访问令牌在客户端设备上激活新的软件产品和新的特征。特别地,如图3a至图3c所示,数字特征激活系统300引起步骤302-346由客户端设备102(包括特征管理器206和应用208)和服务器设备104(包括ims210、用户简档管理器212和特征注册表管理器214)来实现。

如图3a所示,数字特征激活系统300引起特征注册表管理器214执行接收一个或多个新的特征和/或一个或多个新的软件产品的步骤302。如本文中所使用的,关于特征或软件产品使用的术语“新的”是指之前未以相同形式可用的特征或软件产品。例如,术语“新的”软件产品是指添加的软件产品(其在以前完全不可用)或经修改的软件产品(其在以前不可修改)。类似地,术语“新的”特征是指添加的特征(其在以前完全不可用)或经修改的特征(其在以前不可修改)。

步骤302还可以包括接收软件产品和/或特征的删除。使用下面概述的步骤,数字特征激活系统还可以远程地操作(例如,去激活)软件产品和/或特征。因此,尽管关于新的产品和新的特征描述以下的很多步骤,但是应当理解,也可以关于被删除的软件产品和/或特征来执行这些步骤。

如前所述,在一个或多个实施例中,特征注册表管理器214向特征注册表控制台提供使得软件开发商能够声明或定义软件产品id和对应的特征(例如,特征指示符)的用户接口。特征注册表管理器214还可以经由特征注册表控制台和对应的用户接口来接收对软件产品id和/或对应的特征的修改。因此,在任何时间,软件开发商可以与特征注册表管理器交互并且提供对软件产品和/或特征的更新。此外,如在随后的步骤中所概述的,数字激活管理器然后可以将更新反映在安装在客户端设备上的软件产品上。以这种方式,数字特征激活系统的一个或多个实施例可以使得软件开发商能够实时地对软件产品和/或特征进行更新,从而显著地简化和组织更新许可证、许可服务器和传统的数字许可系统中的过程的繁琐过程。

例如,如图3a所示,在接收到新的(或删除的)特征和/或新的(或删除的)软件产品时,特征注册表管理器214执行生成经更新的主要特征注册表并且向ims210发送经更新的主要特征注册表的步骤304、306。如关于图2a的主要特征注册表(即步骤218)所讨论的,特征注册表管理器214可以生成列出软件产品和对应的特征(例如,产品id和特征指示符)的经更新的主要特征注册表。此外,ims210执行存储经更新的主要特征注册表(即,替换在步骤222中存储的主要特征注册表)的步骤308。

如前所述,数字特征激活系统可以结合安装软件产品和/或特征来传播经更新的主要特征注册表。因此,如图3a所示,应用208执行安装新的特征和/或新的软件产品的步骤310。例如,步骤310包括安装对应用208的更新,包括一个或多个附加的或经修改的特征。

另外,在安装新的特征和/或新的软件产品时,用户简档管理器212执行更新用户和对应的软件产品的步骤310a。例如,用户简档管理器212更新数据库,数据库使与客户端设备102的用户对应的用户简档与安装在客户端设备102上的新的特征和/或新的软件产品相关联。

此外,在安装新的特征和/或新的软件产品时,ims210执行向应用208提供经更新的主要特征注册表的步骤312。此外,应用208执行向特征管理器206提供经更新的主要特征注册表的步骤314。另外,特征管理器206执行存储经更新的主要特征注册表的步骤316。

一旦经更新的主要特征注册表被安装在客户端设备上,数字特征激活系统可以启动新的软件产品,获取新的访问令牌和新的特征集id,并且激活新的软件产品的新的特征。特别地,图3b示出了应用208执行启动新的软件产品(例如,经更新的应用208)的步骤318。在启动新的软件产品时,特征管理器206执行向ims210发送激活证书(即,委托guid、设备令牌、用户名和/或密码)的步骤320。ims210(例如,经由认证服务器)执行授权用户的步骤322。

响应于授权用户,ims210然后获取与用户对应的软件产品。具体地,ims210执行从用户简档管理器212请求与用户对应的软件产品的步骤324,用户简档管理器212执行标识与用户对应的软件产品的步骤326(即,包括新的软件产品),并且用户简档管理器212执行向ims210发送软件产品(包括新的软件产品)的指示的步骤328。

使用来自用户简档管理器212的软件产品(包括新的软件产品),ims210执行生成新的特征集id的步骤330。特别地,ims210可以生成指向新的软件产品和新的特征的新的特征集id。例如,在新的软件产品包括添加的软件产品的情况下,ims210基于与新的软件产品对应的新产品id来生成新的特征集id。ims210还执行生成新的访问令牌并且将新的特征集id嵌入到新的访问令牌中的步骤332。此外,ims210执行将新的访问令牌发送给特征管理器206的步骤334。

使用新的访问令牌,客户端设备102标识新的特征集id,并且结合经更新的主要特征注册表使用新的特征集id来激活用户被允许访问的特征(包括新的特征集)。特别地,如图3c所示,特征管理器206执行从新的访问令牌标识新的特征集id、存储新的特征集id、比较经更新的主要特征注册表和新的特征集id、以及标识新的授权的特征的步骤336、338、340、342。此外,特征管理器206执行将新的授权的特征发送给应用208的步骤344,并且应用208执行激活应用中的新的特征的步骤346。

值得注意的是,数字特征激活系统响应于接收到新的特征和/或软件产品(在步骤302)来在客户端设备102上自动激活新的特征。因此,从软件开发商与特征注册表管理器214交互的角度来看,在提供新的特征和/或新的软件产品时,新的特征和/或新的软件产品在端用户设备处被自动激活。软件开发商不需要调整与一个或多个许可证或许可服务器对应的元数据或者以其他方式参与在传统的数字许可系统中更新许可证、产品和特征所需要的操作过程。

如前所述,数字特征激活系统还使得能够激活单个客户端设备的多个用户的用户特定的特征。特别地,数字特征激活系统使得多个用户能够使用相同的计算机器来访问具有对每个特定用户唯一的特征的软件产品。因为传统的数字许可系统在设备上存储许可证,所以客户端设备的不同用户可以访问相同的软件产品和特征。相反,数字特征激活系统可以在同一客户端设备上激活用户特定的特征。

具体地,在一个或多个实施例中,在检测到用户已经退出账户时,数字特征激活系统删除存储在存储器中的特征数据(例如,特征集id和/或授权的特征),并且因此去激活与用户相关联的所有功能。数字特征激活系统然后获取与第二用户相关的访问令牌,该访问令牌包含特定于第二用户的新的特征集id。以这种方式,数字特征激活系统可以激活特定于相同客户端设备的第二用户的特征。

例如,图4a至图4c示出了数字特征激活系统400使用嵌入在访问令牌中的特征集id来激活用户特定的特征。特别地,图4a至图4c示出了数字特征激活系统400经由客户端设备102(包括特征管理器206和应用208)和服务器设备104(包括ims210、用户简档管理器212和特征注册表管理器214)来执行步骤402-432。

更具体地,图4a示出了特征管理器206执行检测用户退出的步骤402。具体地,步骤402可以包括检测用户退出与用户相关联的账户。例如,步骤402可以包括检测用户使用ims210(和/或用户简档管理器212)退出账户。

实际上,如前所述,客户端设备102的用户可以登录由服务器设备104管理的账户。例如,如上所述(例如,关于步骤112-114、236-238和320-322),用户使用诸如用户名和密码和/或委托guid等验证证书登录由服务器设备104管理的账户。因此,服务器设备104还可以确定用户退出由服务器设备104管理的账户。

用户可以以各种形式退出。例如,数字特征激活系统可以提供包括退出元件的用户接口。在用户与退出元件交互时,数字特征激活系统检测到用户已经退出了与应用208对应的账户。类似地,数字特征激活系统可以在经过了特定时间量之后、或者在客户端设备102上退出用户账户时自动将用户退出账户。

实际上,在一个或多个实施例中,客户端设备102本身可以包括一个或多个用户账户。例如,客户端设备102可以包括被划分成与不同用户相关联的各种账户的计算设备。客户端设备的用户可以退出客户端设备102,并且数字特征激活系统可以检测到用户已经退出了与服务器设备104相关联的账户。

在检测到用户退出时,如图4a所示,特征管理器206执行从存储器清除特征数据的步骤404。具体地,在一个或多个实施例中,特征管理器206从存储器清除特征集id和/或授权的特征的列表。通过清除特征集id和/或授权的特征的列表,特征管理器206停用(或去激活)安装在客户端设备102上的软件产品的特征。

在一个或多个实施例中,步骤404还包括清除委托guid或其他激活证书。例如,步骤404可以包括从存储器清除委托guid,使得客户端设备102不再能够向服务器设备104提供委托guid并且使用委托guid来获取授权。

在一个或多个实施例中,步骤404不包括删除主要特征注册表;相反,数字特征激活系统将主要特征注册表保留在客户端设备102上。实际上,在一个或多个实施例中,主要特征注册表不包含对于特定用户特定的信息,但是指示与所有或者一个或多个支持的软件产品对应的特征。因此,在一个或多个实施例中,数字特征激活系统向客户端设备提供主要特征注册表,并且在退出任何特定用户时将主要特征注册表保留在适当的位置(以便避免必须重新下载主要特征注册表用于另一用户)。

在从存储器清除特征数据时,数字特征激活系统可以等待第二用户的登录。此外,在第二用户登录时,数字特征激活系统可以标识并且激活对于第二用户特定的特征。例如,如图4a所示,在从存储器清除特征数据之后,应用208执行将第二用户的验证证书(例如,与第二用户对应的用户名和/或密码)发送给ims210的步骤406。如上所述,特征激活系统响应于第二用户激活一个或多个软件产品来执行步骤406。例如,如果第二用户启动应用208,则数字特征激活系统请求验证证书并且将验证证书发送给ims210。

如图所示,ims210执行授权第二用户的步骤408。具体地,如上所述,步骤408包括使第二用户登录到与用户相关联的账户。在授权用户时,ims210执行从用户简档管理器212请求与第二用户对应的软件产品的步骤410。此外,用户简档管理器212执行标识与第二用户对应的软件产品并且将与第二用户对应的软件产品发送给ims210的步骤412、414。

如图4a所示,ims210执行生成第二特征集id的步骤416。此外,ims210执行生成第二访问令牌并且将第二特征集id嵌入到第二访问令牌中的步骤418。此外,如图所示,ims210执行将第二访问令牌发送给特征管理器206的步骤420。

特征管理器206然后可以使用第二访问令牌和嵌入的第二特征集id来激活与第二用户对应的特征。特别地,如图4b所示,特征管理器206执行从第二访问令牌标识第二特征集id、存储第二特征集id、比较主要特征注册表和第二特征集id、标识第二授权的特征、以及将第二授权的特征发送给应用208的步骤422、424、426、428和430。此外,应用208可以执行激活应用208中的第二授权的特征的步骤432。

值得注意的是,数字特征激活系统使得第二用户能够与原始用户从相同的设备访问特定于第二用户的特征。实际上,在登录时,数字特征激活系统的一个或多个实施例提供具有特定于第二用户的新的特征集id的新访问令牌,这使得客户端设备能够激活特定于第二用户的特征。

因此,例如,第一用户可能已经购买了包括具有更有限的第一特征集的基本版本的程序的软件产品,而第二用户已经购买了包括具有更鲁棒的第二特征集的高级版本的程序的第二软件产品。第二用户可以与第一用户使用相同的计算设备,并且通过提供验证证书,第二用户可以在同一计算设备上激活更鲁棒的第二特征集。

虽然关于执行特定步骤的特定部件进行图示,但是应当理解,关于图1至图4b描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以由不同的部件以不同的顺序执行。另外,本文中所描述的步骤/动作可以彼此并行地重复或执行,或者与相同或类似的步骤/动作的不同实例并行地重复或执行。

现在转向图5,提供关于数字特征激活系统的一个实施例的部件和能力的附加细节。特别地,图5示出了示例性数字特征激活系统500(上文引用的数字特征激活系统100、200、300和400中的任一个)的实施例。如图所示,数字特征激活系统500可以包括但不限于客户端设备502(例如,客户端设备102)和服务器504(例如,服务器设备104)。此外,如图所示,客户端设备502包括下载管理器506、客户端应用508(包括特征管理器508a和特征激活引擎508b)和设备存储管理器510(包括证书510a、用户简档510b、特征数据510c和主要特征注册表510d)。此外,如图所示,服务器504包括特征注册表管理器512、软件下载设施514、用户认证引擎516、用户简档管理器518、信息管理系统520(包括特征集id生成器520a和访问令牌管理器520b)和服务器存储管理器522(包括用户简档数据522a和主要特征注册表522b)。

如刚才所提及的,并且如图5所示,数字特征激活系统500包括下载管理器506。下载管理器506可以接收、下载和/或安装一个或多个数字项。特别地,下载管理器506可以从服务器504(例如,经由软件下载设施514)下载和安装一个或多个软件产品(例如,客户端应用508或其他软件产品)。此外,下载管理器506可以下载一个或多个主要特征注册表。例如,结合下载软件产品,下载管理器506可以下载主要特征注册表。

如图5所示,客户端设备502还包括客户端应用508。客户端应用508可以包括一个或多个软件产品(包括单独的软件产品或套件软件产品)中的任何一个。客户端应用508能够执行能够被启用或停用(即,激活或去激活)的各种特征。

如图5所示,客户端应用508包括特征管理器508a(例如,特征管理器206)。特征管理器508a可以获取、标识和/或管理一个或多个特征。特别地,特征管理器508a可以标识、获取和解码一个或多个特征集id(例如,嵌入在访问令牌中的特征集id)。此外,特征管理器508a可以将特征集id与主要特征注册表(例如,主要特征注册表510d)进行比较,并且标识用户被允许访问的一个或多个特征(即,授权的特征)。

特征管理器508a还可以根据需要发送和接收信息,以获得对一个或多个特征的访问。例如,特征管理器508a可以(例如,向信息管理系统520和/或用户认证引擎516)发送验证证书,以获取包含特征集id的一个或多个访问令牌。

特征管理器508a还可以删除特征数据(例如,特征数据510c)。例如,在检测到用户的退出时,特征管理器508a可以删除特征集id和/或授权的特征。类似地,特征管理器508a可以删除用于访问特征集id的激活证书,诸如委托guid。

特征管理器508a还可以执行校验和验证和/或特征集id验证。如上所述,特征管理器508a可以标识主要特征注册表的校验和值,并且确定校验和是否对应于特征集id和/或访问令牌的对应值。此外,特征管理器508a可以确定特征集id是否已经到期。

除了特征管理器508a之外,客户端应用508还包括特征激活引擎508b。特征激活引擎508b可以打开、激活和/或启用客户端应用508的一个或多个特征。类似地,特征激活引擎508b可以关闭、去激活和/或停用客户端应用的一个或多个特征。例如,特征激活引擎508b可以(经由特征管理器508a)获取授权的特征,确定哪些授权的特征对应于客户端应用508,并且激活授权的特征。

如图5所示,客户端设备502还包括设备存储管理器510。设备存储管理器510维持数据以执行数字特征激活系统500的功能。如图所示,设备存储管理器510包括证书510a(例如,激活证书(诸如用户名和/或密码)、委托guid或设备令牌)、用户简档510b(例如,关于用户或用户账户的信息)、特征数据510c(特征集id或授权的特征)和主要特征注册表510d。

另外,如上所述并且如图5所示,数字特征激活系统500还包括服务器504。此外,服务器504包括特征注册表管理器512(例如,特征注册表管理器214)。特征注册表管理器512可以接收和/或标识一个或多个软件产品以及与每个软件产品对应的一个或多个特征。具体地,如上所述,特征注册表管理器512可以接收产品id和特征标识符。此外,特征注册表管理器512可以创建、生成和/或编译主要特征注册表。如上所述,特征注册表管理器512可以生成包括软件产品id和对应特征标识符的列表的主要特征注册表。此外,特征注册表管理器512还可以生成经更新的主要特征注册表。例如,如上所述,特征注册表管理器512可以接收新的软件产品和/或新的特征,并且生成经更新的主要特征注册表。

除了特征注册表管理器512之外,如图5所示,服务器504还可以包括软件下载设施514。软件下载设施514可以发送、提供、下载和/或安装一个或多个软件产品。特别地,软件下载设施514可以提供客户端应用508以安装在客户端设备502上。此外,软件下载设施514可以提供、下载和/或安装对软件产品的更新(例如,对安装在客户端设备502上的客户端应用508的更新)。

另外,软件下载设施514还可以下载主要特征注册表。例如,结合将一个或多个软件产品下载到客户端设备502,软件下载设施514可以提供主要特征注册表。此外,软件下载设施514可以结合下载新的软件产品来提供经更新的主要特征注册表。

如图5所示,服务器504还包括用户认证引擎516。用户认证引擎516可以认证、登录、注册和/或标识一个或多个用户和/或客户端设备。具体地,用户认证引擎516可以从客户端设备502接收验证证书并且认证和/或标识客户端设备502的用户。用户认证引擎516可以关于多个软件产品对用户进行认证或签名(例如,经由单点登录)。例如,在客户端设备502提供关于与第一软件产品相关联的账户的验证证书时,用户验证引擎516在多个软件产品上验证(例如,登录)客户端设备502。

此外,如图5所示,服务器504还包括用户简档管理器518(例如,用户简档管理器212)。用户简档管理器518可以创建、管理、修改和/或删除一个或多个用户简档或账户。特别地,用户简档管理器518可以管理使用户(例如,用户简档和/或用户账户)与对应于用户的信息(例如,用户购买的软件产品、联系信息、委托guid或其他信息)相关联的数据库(例如,用户简档数据522a)。

如图5所示,服务器504还包括信息管理系统520。信息管理系统520可以代表服务器504发送、接收和管理数字信息。特别地,信息管理系统520从客户端设备(例如,特征管理器508a)接收调用,向客户端设备502提供信息,协调客户端设备502的认证(例如,经由用户认证引擎516),并且与服务器504的其他部件协调。

此外,如图5所示,信息管理系统520包括特征集id生成器520a。特征集id生成器520a可以创建、生成和/或编码特征集id。例如,特征集id生成器520a可以标识(例如,经由用户简档管理器518)对应于客户端设备502的用户的软件产品,并且生成标识软件产品的特征集id。具体地,在一个或多个实施例中,特征集id生成器520a通过对与用户对应的软件产品的产品id进行编码来创建特征集id。

除了特征集id生成器520a之外,如图5所示,信息管理系统520还包括访问令牌管理器520b。访问令牌管理器520b可以创建、生成、提供和/或编码访问令牌。具体地,访问令牌管理器520b可以生成包括特征集id的访问令牌。具体地,访问令牌管理器520b可以将来自特征集id生成器520a的特征集id编码到访问令牌中,并且将访问令牌提供给客户端设备502。

除了嵌入特征集id之外,访问令牌管理器520b可以生成使得客户端设备502的用户能够访问存储在服务器504上的信息的访问码。例如,在一个或多个实施例中,服务器504存储数字内容(例如,数字媒体、数字图像、数字视频或字体)。访问令牌可以提供对被托管在服务器504上的数字内容或其他资源的访问。

访问令牌管理器520b还可以在访问令牌中创建和/或嵌入到期时间。例如,访问令牌管理器520b可以嵌入到期时间,使得客户端设备102在访问令牌到期之后不能使用访问令牌和/或特征集id。

此外,如图5所示,服务器504还包括服务器存储管理器522。服务器存储管理器522根据需要维持数据以执行数字特征激活系统500的功能。如图所示,服务器存储管理器522包括用户简档数据522a(例如,用户被允许访问的软件产品、用户账户和其他用户信息)和主要特征注册表522b。

数字特征激活系统500的部件502-522中的每个及其对应的元件(如图5所示)可以使用任何合适的通信技术彼此通信。将认识到,虽然在图5中将数字特征激活系统500的部件502-522及其对应的元件示出为是分离的,但是部件502-522及其对应的元件中的任一个可以组合成更少的部件,例如组合成单个设施或模块,可以分成更多的部件,或者被配置成可以服务于特定实施例的不同部件。

数字特征激活系统500的部件502-522及其对应的元件可以包括软件、硬件或这二者。例如,部件502-522及其对应的元件可以包括存储在计算机可读存储介质上并且由一个或多个计算设备的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,数字特征激活系统500的计算机可执行指令可以引起客户端设备和/或服务器设备执行本文中所描述的方法。备选地,部件502-522及其对应元件可以包括硬件,诸如执行某一功能或一组功能的专用处理设备。另外,部件502-522及其对应的元件可以包括计算机可执行指令和硬件的组合。

此外,部件502-522可以例如被实现为一个或多个操作系统、一个或多个独立应用、一个或多个应用模块、一个或多个插件、一个或多个库函数或者可以由其他应用调用的函数、和/或云计算模型。因此,部件502-522可以被实现为独立的应用,诸如桌面或移动应用。此外,部件502-522可以被实现为驻留在远程服务器上的一个或多个基于web的应用。部件502-522还可以在一组移动设备应用或“app”中实现。为了说明,部件502-522可以在如下应用中实现,该应用包括但不限于creative软件、adobe软件、软件、软件、软件、软件、adobe软件、软件、软件或软件或者任何组合这样的软件程序的套件。“adobe”、“creativecloud”、“photoshop”、“indesign”、illustrator、“lightroom”、“marketingcloud”、“analytics”、“campaign”、“social”和“target”是在美国和/或其他国家的奥多比公司的注册商标或商标。

图6示出了数字特征激活系统500可以在其中操作的示例性环境600的一个实施例的示意图。在一个或多个实施例中,示例性环境600包括一个或多个客户端设备602a、602b、...602n、网络604和服务器606。网络604可以是计算设备可以在其上通信的任何合适的网络。下面关于图10更详细地讨论示例网络。

如图6所示,环境600可以包括客户端设备602a-602n。客户端设备602a-602n可以包括任何计算设备(例如,客户端设备102和客户端设备502)。例如,在一个或多个实施例中,客户端设备602a-602n中的一个或多个包括以下关于图10描述的任何计算设备。

此外,环境600还可以包括服务器606(例如,服务器设备104和服务器504)。服务器606可以生成、存储、接收和传输任何类型的数据,包括证书510a、用户简档510b、特征数据510c、主要特征注册表510d、用户简档数据522a或主要特征注册表522b。例如,服务器606可以向诸如客户端设备602a等客户端设备传输数据。服务器606还可以在环境600的一个或多个用户之间传输电子消息。在一个示例实施例中,服务器606包括内容服务器。服务器606还可以包括通信服务器或web托管服务器。将在下面参照图10讨论关于服务器606的附加细节。

如图所示,在一个或多个实施例中,服务器606可以包括数字特征激活系统500的部分。特别地,数字特征激活系统500可以包括在服务器606上运行的应用或者可以从服务器606下载的软件应用的部分。例如,数字特征激活系统500可以包括使得客户端设备602a-602n能够与被托管在服务器606处的内容交互的web托管应用。为了说明,在示例性环境600的一个或多个实施例中,一个或多个客户端设备602a-602n可以访问由服务器606支持的网页。特别地,客户端设备602a可以运行使得用户能够访问、查看和/或与驻留在服务器606处的网页或网站交互的应用。

尽管图6示出了客户端设备602a-602n、网络604和服务器606的特定布置,但是各种附加布置是可能的。例如,虽然图6示出了多个单独的客户端设备602a-602n经由网络604与服务器606通信,但是在一个或多个实施例中,单个客户端设备可以绕过网络604直接与服务器606通信。

类似地,尽管图6的环境600被描绘为具有各种部件,但是环境600可以具有附加的或备选的部件。例如,数字特征激活系统500可以在单个计算设备上实现。特别地,数字特征激活系统500可以由客户端设备602a整体实现,或者数字特征激活系统500可以由服务器606整体实现。备选地,数字特征激活系统500可以实现为跨越多个设备或部件(例如,使用客户端设备602a-602n和服务器606)。

作为示例,在一个或多个实施例中,客户端设备602a向服务器606发送使用安装在客户端设备602a上的软件产品的请求(例如,经由特征管理器508a)。服务器606授权(例如,标识)客户端设备602a的用户(例如,经由用户认证引擎516),并且生成指示客户端设备602a的用户被允许访问的软件产品(和特征)的特征集id(例如,经由用户简档管理器518和特征集id生成器520a)。服务器606将特征集id嵌入到访问令牌中(例如,经由访问令牌管理器520b)并且将访问令牌发送给客户端设备602a(例如,经由信息管理系统520)。客户端设备602a标识访问令牌中的特征集id,并且将特征集id与存储在客户端设备602a上的主要特征注册表进行比较(例如,经由特征管理器508a)。具体地,结合下载软件产品,客户端设备602a将特征集id与从服务器606下载的主要特征注册表进行比较。使用特征集id和主要特征注册表,客户端设备602a标识客户端设备602a的用户被允许使用的特征(即,授权的特征),并且激活与软件产品相关的授权的特征(例如,经由特征激活引擎508b)。

图1a至图6、对应的文本和示例提供了使用嵌入有特征集id的访问令牌来激活软件产品的特征的多个不同的系统和设备。除了前述之外,还可以在包括用于实现特定结果的方法中的动作和步骤的流程图方面来描述实施例。例如,图7至图9示出了根据一个或多个实施例的示例性方法的流程图。关于图7至图9描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序执行。另外,本文中所描述的步骤/动作可以彼此并行地重复或执行,或者与相同或类似的步骤/动作的不同实例并行地重复或执行。

图7示出了使用嵌入有特征集id的访问令牌来激活软件产品的特征的方法700中的一系列动作的流程图。在一个或多个实施例中,方法700在包括数字特征激活系统500的数字介质环境中执行。方法700旨在说明根据本公开的一个或多个方法,而不旨在限制到潜在的实施例。备选实施例与图7中所述的相比可以包括附加的、更少的或不同的步骤。

如图7所示,方法700包括向客户端设备提供主要特征注册表的动作710。特别地,动作710可以包括由一个或多个服务器结合将软件产品下载到客户端设备来向用户的客户端设备提供主要特征注册表,其中主要特征注册表列出了多个软件产品的特征,并且其中多个软件产品包括上述软件产品。

如图7所示,方法700还包括生成特征集id的动作720。具体地,动作720可以包括由一个或多个服务器生成指示客户端设备的用户被允许访问的软件产品的特征的特征集id。例如,在一个或多个实施例中,动作720包括从用户的用户简档确定用户被允许访问软件产品;以及将与软件产品对应的软件产品id编码到特征集id中。

此外,如图7所示,方法700还包括将所生成的特征集id嵌入到访问令牌中的动作730。具体地,动作730可以包括由一个或多个服务器将所生成的特征集id嵌入到访问令牌中。例如,动作730可以包括将所生成的特征集id嵌入到包括jsonweb令牌的访问令牌中。另外,在一个或多个实施例中,动作730包括将到期时间嵌入到访问令牌中,使得客户端设备在到期时间之后将不再使用特征集id来激活软件产品的特征。

此外,如图7所示,方法700还包括将访问令牌发送给客户端设备的动作740。具体地,动作740可以包括由一个或多个服务器响应于认证用户来向客户端设备发送具有嵌入的特征集id的访问令牌,使得客户端设备将主要特征注册表与特征集id进行比较,并且基于该比较来激活客户端设备的用户被允许访问的软件产品的特征。

在一个或多个实施例中,方法700还包括基于从客户端设备接收的验证证书来认证用户。另外,方法700还可以包括从客户端设备接收与第二用户对应的第二验证证书;以及基于第二用户和与第二用户相关联的第二软件产品来生成第二特征集id。此外,方法700还可以包括将与第二软件产品对应的第二特征集id嵌入到第二访问令牌中;以及向客户端设备发送具有嵌入的第二特征集id的第二访问令牌,使得客户端设备能够将主要特征注册表与第二特征集id进行比较,基于比较来激活第二软件产品的第二特征,并且禁止对软件产品的特征的访问。

此外,在一个或多个实施例中,方法700包括更新主要文件注册表以列出新的软件产品的新的特征;结合向客户端设备下载新的软件产品来向客户端设备提供经更新的主要文件注册表;以及基于新的软件产品来生成新的特征集id。此外,方法700可以包括将与新的软件产品对应的新的特征集id嵌入到第三访问令牌中。另外,方法700还可以包括向客户端设备发送具有嵌入的经更新的特征集id的第三访问令牌,使得客户端设备可以将经更新的主要特征注册表与嵌入到第三访问令牌中的新的特征集id进行比较,并且基于比较来激活新的软件产品的新的特征。

另外,图8示出了使用嵌入有特征集id的访问令牌来激活软件产品的特征的方法800中的一系列动作的另一流程图。如图所示,方法800包括接收主要特征注册表的动作810。具体地,动作810可以包括结合从一个或多个服务器下载软件产品来从一个或多个服务器接收主要特征注册表,其中主要特征注册表列出软件产品的多个特征。

另外,如图8所示,方法800还包括接收具有嵌入的特征集id的访问令牌的动作820。具体地,动作820可以包括响应于向一个或多个服务器发送认证请求来从一个或多个服务器接收访问令牌,其中访问令牌包括与软件产品对应的嵌入的特征集id。另外,动作820可以包括解码嵌入的特征集id以标识在嵌入的特征集id中引用的一个或多个软件产品和/或特征。

如图8所示,方法800还包括将嵌入的特征集id和主要特征注册表进行比较的动作830。具体地,动作830可以包括将来自访问令牌的嵌入的特征集id和从一个或多个服务器接收的主要特征注册表进行比较,以标识授权的特征。例如,在一个或多个实施例中,方法800包括将特征集id与嵌入在主要特征注册表中的产品id进行比较;以及基于软件产品id来标识特征(例如,特征标识符)。另外,在一个或多个实施例中,动作830包括将主要特征注册表的校验和值与特征集id的对应校验和值进行比较;以及基于确定主要特征注册表的校验和值与对应校验和相匹配,在客户端设备上激活软件产品的授权的特征。

如图8所示,方法800还包括激活授权的特征的动作840。特别地,动作840可以包括基于特征集id和主要特征注册表的比较来在客户端设备上激活软件产品的授权的特征。例如,在一个或多个实施例中,动作840包括激活授权的特征,而不向许可服务器发送请求。

另外,方法800还可以包括结合下载具有新的特征的新的软件产品来接收经更新的主要特征注册表;以及响应于向一个或多个服务器发送附加认证请求来从一个或多个服务器接收第二访问令牌,其中第二访问令牌包括与新的软件产品对应的嵌入的第二特征集id。此外,在一个或多个实施例中,方法800包括将与新的软件产品对应的嵌入的第二特征集id与从一个或多个服务器接收的经更新的主要特征注册表进行比较,以标识第二授权的特征,其中第二授权的特征包括新的特征;以及在客户端设备上激活第二软件产品的第二授权的特征。

此外,在一个或多个实施例中,方法800还包括响应于用户退出账户来清除特征集id,使得授权的特征不再被激活。另外,方法800还可以包括响应于第二用户在客户端设备上登录到账户来向一个或多个服务器发送验证证书;响应于发送验证证书来接收第三访问令牌,其中第三访问令牌包括与第三软件产品对应的嵌入的第三特征集id;将来自第三访问令牌的嵌入的第三特征集id和从一个或多个服务器接收的主要特征注册表进行比较,以标识第三经许可的特征集;以及授权与第三软件产品有关的第三特征集。

此外,图9示出了使用嵌入有特征集id的访问令牌来激活软件产品的特征的方法900中的一系列动作的另一流程图。如图所示,方法900包括用新的特征更新第一主要特征注册表的动作910。具体地,动作910包括通过添加与新的软件产品对应的新的特征的指示来更新列出多个软件产品的特征的第一主要特征注册表。

如图9所示,方法900还包括向客户端设备提供经更新的主要特征注册表的动作920。具体地,动作920包括向用户的客户端设备提供经更新的主要特征注册表以替换在客户端设备上先前下载的第一主要特征注册表。

此外,如图9所示,方法900还包括生成新的特征集id的动作930。具体地,动作930包括生成指示客户端设备的用户被允许访问的新的软件产品的新的特征集id。

此外,如图9所示,方法900还包括在访问令牌中嵌入新的特征集id的动作940。具体地,动作940包括将与新的软件产品对应的新的特征集id嵌入在访问令牌中,使得客户端设备在接收到访问令牌时能够用新的特征集id替换客户端设备上的原始特征集id,并且通过将新的特征集id与客户端设备上的经更新的主要产品注册表进行比较来激活与新的软件产品对应的新的特征。

本公开的实施例可以包括或使用专用或通用计算机,其包括计算机硬件,例如一个或多个处理器和系统存储器,如下面更详细讨论的。在本公开的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文中描述的过程中的一个或多个可以至少部分地实现为在非暂态计算机可读介质中实施并且由一个或多个计算设备(例如,本文中所描述的任何媒体内容访问设备)可执行的指令。一般来说,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器等)接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文中所描述的过程中的一个或多个。

计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,借由示例而非限制,本公开的实施例可以包括至少两种截然不同的种类的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。

非暂态计算机可读存储介质(设备)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如基于ram)、闪存、相变存储器(“pcm”)、其它类型的存储器、其他光盘存储、磁盘存储或其它磁性存储设备、或者可用于以计算机可执行指令或数据结构的形式存储期望的程序代码装置并且可以由通用或专用计算机访问的任何其它介质。

此外,在到达各种计算机系统部件时,计算机可执行指令或数据结构形式的程序代码装置可以从传输介质自动传送到非暂态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓存在网络接口模块(例如,“nic”)内的ram中,并且然后最终传送到计算机系统ram和/或计算机系统处的较不易失性计算机存储介质(设备)。因此,应当理解,非暂态计算机可读存储介质(设备)可以被包括在也(或甚至主要地)使用传输介质的计算机系统部件中。

计算机可执行指令包括例如当在处理器处执行时引起通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转换为实现本公开的元件的专用计算机。计算机可执行指令可以是例如二进制中间格式指令,诸如汇编语言的,或者甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于以上描述的特征或动作。相反,所描述的特征和动作被公开作为实现权利要求的示例形式。

本领域技术人员将理解,本公开可以在具有很多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中通过网络链接(通过硬连线数据链路、无线数据链路、或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。

本公开的实施例还可以在云计算环境中实现。在本描述中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中采用云计算来提供对可配置计算资源的共享池的普遍且方便的按需访问。可以经由虚拟化来快速地供应可配置计算资源的共享池,并且以低的管理努力或服务提供商交互来将其释放,并且然后相应地进行缩放。

云计算模型可以由各种特性组成,诸如例如按需自助服务、广泛网络接入、资源池、快速弹性、测量服务等。云计算模型还可以暴露各种服务模型,例如软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。还可以使用诸如私有云、社区云、公共云、混合云等不同的部署模型来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是其中采用云计算的环境。

图10以框图形式示出了可以被配置成执行上述过程中的一个或多个过程的示例性计算设备1000。应当理解,数字特征激活系统500可以包括计算设备1000的实现。如图10所示,计算设备可以包括处理器1002、存储器1004、存储设备1006、i/o接口1008和通信接口1010。在某些实施例中,计算设备1000可以包括比图10所示的更少或更多的部件。现在将更详细地描述图10所示的计算设备1000的部件。

在特定实施例中,处理器1002包括用于执行指令的硬件,诸如组成计算机程序的指令。作为示例而非限制,为了执行指令,处理器1002可以从内部寄存器、内部高速缓存、存储器1004或存储设备1006检索(或取回)指令,并且对它们进行解码和执行。

计算设备1000包括耦合到处理器1002的存储器1004。存储器1004可以用于存储用于由处理器执行的数据、元数据和程序。存储器1004可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“ram”)、只读存储器(“rom”)、固态盘(“ssd”)、闪存、相变存储器(“pcm”)或其它类型的数据存储装置。存储器1004可以是内部或分布式存储器。

计算设备1000包括存储设备1006,其包括用于存储数据或指令的存储装置。作为示例而不是作为限制,存储设备1006可以包括上述非暂态存储介质。存储设备1006可以包括硬盘驱动器(hdd)、闪存、通用串行总线(usb)驱动器或者这些或其他存储设备的组合。

计算设备1000还包括一个或多个输入或输出(“i/o”)设备/接口1008,其被提供以使得用户能够向计算设备1000提供输入(例如用户笔画),从计算设备1000接收输出,以及以其他方式传送去往和来自计算设备1000的数据。这些i/o设备/接口1008可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其它已知的i/o设备或者这样的i/o设备/接口1008的组合。触摸屏可以用指示笔或手指来激活。

i/o设备/接口1008可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器和一个或多个音频驱动器。在某些实施例中,设备/接口1008被配置成向显示器提供图形数据以呈现给用户。图形数据可以表示可以服务于特定实现的一个或多个图形用户接口和/或任何其他图形内容。

计算设备1000还可以包括通信接口1010。通信接口1010可以包括硬件、软件或这二者。通信接口1010可以提供用于计算设备与一个或多个其他计算设备1000或一个或多个网络之间的通信(例如,基于分组的通信)的一个或多个接口。作为示例而非限制,通信接口1010可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器、或者用于与无线网络(诸如wi-fi)进行通信的无线nic(wnic)或无线适配器。计算设备1000还可以包括总线1012。总线1012可以包括将计算设备1000的部件彼此耦合的硬件、软件或这二者。

在前述说明书中,已经参照本发明的具体示例性实施例描述了本发明。参考本文中所讨论的细节描述本发明的各种实施例和方面,并且附图示出了各种实施例。上面的描述和附图是对本发明的说明,而不应当被解释为限制本发明。描述了很多具体细节以提供对本发明的各种实施例的透彻理解。

在不脱离本发明的精神或本质特征的情况下,本发明可以以其它具体形式来实施。所描述的实施例在所有方面都被认为仅是说明性的而不是限制性的。例如,本文中所描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序执行。另外,本文中所描述的步骤/动作可以彼此并行地重复或执行,或者与相同或类似的步骤/动作的不同实例并行地重复或执行。因此,本发明的范围由所附权利要求书而不是前面的描述来表示。在权利要求的等同物的含义和范围内的所有变化将被包括在其范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1