软件应用许可漫游的制作方法

文档序号:6367151阅读:156来源:国知局
专利名称:软件应用许可漫游的制作方法
软件应用许可漫游
背景技术
在典型的软件应用许可场景中,用户购买允许该用户使用软件产品的许可权。许多这样的许可权仅允许每次在单个计算机器上使用软件。其他许可权允许同时在多个计算机器上使用软件。然而,甚至在允许在多个机器上使用的情形下,用户典型地在每个机器上人工地输入诸如产品密钥之类的信息。

发明内容
以下论述的工具和技术考虑到应用许可和/或特征许可的漫游。如在此使用的,应用许可是指示应用可以被使用的数据结构。特征许可是指示可以使用应用的一个或多个特征的数据结构(例如,特征许可可以“解锁”相应的特征)。许可的漫游包括发送许可到机器,许可链接到主许可条目。主许可条目是将软件应用的一个或多个许可(应用和/或特征、许可)链接到用户标识的一个或多个计算机条目。例如,用户标识可以是用户名、电子邮件地址等。如在此使用的,许可、用户标识、主许可条目等的链接是指链接项通过诸如一个或多个标识引用之类的一个或多个计算机数据项来与到用于存储器或存储设备中的链接项的地址的指针等相关联。这样的链接可以是直接的或者是间接的。例如,主许可条目可以据说通过包括用于应用的标识引用以及到在包括用户标识的标识引用的存储器中的位置的指针来将应用链接到用户标识。在一个实施例中,工具和技术可以包括形成将软件应用链接到用户标识的主许可条目。使用软件应用的应用许可可以漫游到多个计算机器。可以接收针对软件应用的增加的特征的许可的请求。该增加的特征可以是在接收请求之前不被主许可条目允许的特征。然而,可以响应于请求将增加的特征链接到主许可条目。此外,用于增加的特征的特征许可可以漫游到应用许可漫游到的机器。在工具和技术的另一实施例中,可以形成将软件应用链接到用户标识的主许可条目。软件应用的多个重叠的许可权可以链接到主许可条目。可以维护软件应用的多少许可权链接到主许可条目的计数。可以从链接到用户标识的计算机器接收对软件应用的许可请求。响应于该请求,可以确定该请求是否是允许的。该确定可以包括确定软件应用的许可权的计数是否大于O。如果确定该请求是允许的,则可以响应于该请求将软件应用的许可漫游到计算机器。如果没有确定该请求是允许的,则可以拒绝这样的许可到计算机器的漫游。提供此发明内容来以简要形式介绍一些概念选集,这些概念将在以下具体实施例中进一步介绍。此发明内容不旨在标识要求保护主题的关键特征或必要特征,也不旨在用来限制要求保护主题的范围。类似地,本发明不限于解决在背景技术、具体实施例、或所附权利要求中讨论的特定技术、工具、环境、缺点、或优点的实现。


图I是其中可以实现一个或多个所描述的实施例的合适计算环境的框图。图2是应用许可漫游系统或环境的框图。
图3是软件应用许可漫游技术的流程图。图4是另一软件应用许可漫游技术的流程图。图5是又一软件应用许可漫游技术的流程图。
具体实施例在此所描述的实施例旨在用于改进的软件应用许可的技术和工具。这样的改进可以源自单独或结合使用各种技术和工具。这样的技术和工具可以包括将应用许可和/或特征许可漫游到链接到用户标识的多个机器。许可系统可以跟踪连接到用户标识的多个许可权,并且只要系统根据禁止许可权滥用的规则(例如,仍旧存在链接到用户标识的目标软件应用的至少一个许可权,该应用还没有在链接到用户标识的太多机器上被许可等)确定许可请求是允许的,就可以为新 机器发布许可。例如,当用户使用接受的登录来登录到新机器,并将该机器标识为该用户拥有的机器时,机器上的许可客户端可以自动地连接到许可服务器,并为其主许可条目链接到用户的登录标识的所有应用下载许可。然而,如果许可服务器确定该获取一个或多个许可的尝试没有被正确地授权,或者检测到用户方面的可疑行为,则许可的下载可以被拒绝。许可服务器可以跟踪用户对于应用所具有的许可权(例如,用户可能已经购买了应用的多个权利,例如通过单独购买和作为捆绑的部分购买权利)的数目(例如链接到用户的用户标识的那些许可权)。许可服务器可以保持将许可漫游至链接到用户的服务器直到活动的许可计数达到O (假设满足其他条件,例如,许可没有漫游到太多的机器)为止。相应地,根据在此描述的工具和技术可以实现一个或多个重大的益处。例如,应用许可可以漫游到多个机器同时检测滥用和盗版,并相对它们来采取行动。相应地,可以允许用户在各种计算机器上的各种位置中使用他/她的应用,同时还缓解许可权的滥用。所附权利要求中定义的主题不必受限于在此所描述的益处。本发明的特定实现可能提供全部、一些、或者没有一个在此所述的益处。虽然为了介绍起见在此以特定的、相继的顺序描述了各种技术的操作,但是应当理解,除非需要特定的排序,这样的描述方式包括了操作顺序的重新排列。例如,顺序描述的操作在某些情况下可以被重新排列或者并发地执行。此外,为了简单起见,流程图可能没有显示其中特定的技术可以结合其他技术使用的各种方式。在此所述的技术可以与在此所述的一个或多个系统和/或与一个或多个其他系统一起使用。例如,在此所述的各种过程可以用硬件或软件、或者两者的组合来实现。例如,可以构造专用的硬件实现,如专用集成电路、可编程逻辑阵列和其他硬件设备,来实现在此所述的技术的一个或多个的至少一部分。包括各种实施例的装置和系统的应用可以广泛地包括多个电子和计算机系统。技术可以使用两个或更多个具体互连的硬件模块或设备,以及在模块之间和通过模块通信的相关控制和数据信号来实现,或者作为专用集成电路的部分来实现。另外,在此描述的技术可以由可通过计算机系统执行的软件程序来实现。作为示例,实现可以包括分布式处理、组件/对象分布式处理和并行处理。此外,可以构造虚拟计算机系统来实现在此所述的技术或功能的一个或多个。I.示例性计算环境
图I示出其中可以实现所述实施例中的一个或多个的合适计算环境(100)的概括示例。例如,一个或多个这样的计算环境可以用作客户端计算机器、许可服务器、和/或应用商店。通常,可以使用各种不同的通用或专用计算系统配置。适于与在此所述的工具和技术一起使用的众所周知的计算系统配置的示例包括,但不限于,服务器群和服务器集群、个人计算机、服务器计算机、手持设备或膝上设备、多处理器系统、基于微处理器的系统、可编程消费电子、网络PC、小型计算机、大型计算机、包括任意以上系统或设备的分布式计算环
士音坐
-1 寸 ο计算环境(100)不旨在表明对于本发明的使用或功能的任何限制,因为本发明可以在多种通用或专用计算环境中实现。参照图I,计算环境(100)包括至少一个处理单元(I 10)和至少一个存储器(120)。在图I中,此最基本的配置(130)包括在虚线内。处理单元(110)执行计算机可执行指令并可以是真实的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令来 增加处理能力。该至少一个存储器(120)可以是易失性存储器(例如寄存器、缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存存储器)、或者两者的一些组合。该至少一个存储器(120)存储实现应用许可漫游的软件(180)。虽然为了清楚起见用线条显示图I的各种框,但是在现实中,描绘各种组件并非如此清晰,并且在比喻的意义上,以下讨论的图I和其他图的线条将更准确地为灰色和模糊的。例如,可以将诸如显示设备的呈现组件视为I/o组件。同时,处理器具有存储器。发明人在此认识到这是本领域的常理,并重申图I的示图仅仅是可以结合本发明的一个或多个实施例使用的示例性计算设备的说明。诸如“工作站”、“服务器”、“笔记本电脑”、“手持设备”等类别之间不做区分,因为其全部都被设想在图I的范围内并称为“计算机器”、“机器”、“计算机”、“计算环境”或“计算设备”。计算环境(100)可以具有附加的特征。在图I中,计算环境(100)包括存储设备(140)、一个或多个输入设备(150 )、一个或多个输出设备(160)和一个或多个通信连接(170)。诸如总线、控制器或网络的互连机构(未示出)互连计算环境(100)的组件。典型地,操作系统软件(未示出)为在计算环境(100)中执行的其他软件提供操作环境,并协调计算环境(100)中的组件的活动。存储设备(140)可以是可移除或不可移除的,并且可以包括计算机可读存储介质,例如磁盘、磁带或磁盒、CD-ROM、CD-RW、DVD、或者能够用来存储信息并且能够在计算环境(100)中访问的任意其他介质。存储设备(140)存储软件(180)的指令。一个或多个输入设备(150)可以是诸如键盘、鼠标、笔或者轨迹球的触摸式输入设备、语音输入设备、扫描设备、网络适配器、⑶/DVD读取器、或者将输入提供给计算环境(100)的另一设备。一个或多个输出设备(160)可以是显不器、打印机、扬声器、⑶/DVD写入器、网络适配器、或提供来自计算环境(100)的输出的另一设备。一个或多个通信连接(170)使能通过通信介质到另一计算实体的通信。因而,计算环境(100)可以使用到一个或多个远程计算设备,例如个人计算机、服务器、路由器、网络PC、对等设备或另一通用网络节点的逻辑连接来在联网的环境中操作。通信介质在经调制的数据信号中传递诸如数据或计算机可执行指令或请求的信息。经调制的数据信号是这样的信号,它的特性的一个或多个以在信号中对信息进行编码的方式来进行设置或改变。以示例而非限制的方式,通信介质包括用电、光学、RF、红外、声学、或其他载体实现的有线或无线技术。可以在计算机可读介质的一般上下文中描述这些工具和技术,该计算机可读介质可以是存储介质或通信介质。计算机可读存储介质是能够在计算环境中访问的任意可用的存储介质,但是术语计算机可读存储介质并不指代信号本身。以示例而非限制的方式,对于计算环境(100),计算机可读存储介 质包括存储器(120)、存储设备(140)以及以上的组合。可以以在目标真实或者虚拟处理器上的计算环境中执行的计算机可执行指令,例如包括在程序模块中的那些计算机可执行指令的一般上下文中描述这些工具和技术。通常,程序模块包括执行特定任务或者实现特定的抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以在各种实施例中根据需要在程序模块之间组合或拆分。程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质两者中。为了介绍起见,具体描述中使用了如“确定”、“选择”、“调节”和“操作”的术语来描述计算环境中的计算机操作。除非明确指出由人(例如“用户”)进行的动作,这些和其他类似的术语是通过计算机执行的操作的高级别抽象,并且不应当与由人进行的行为相混淆。对应于这些术语的实际的计算操作根据实现而改变。II.应用许可漫游系统和环境
图2是应用许可漫游系统或环境(200)的框图。环境(200)可以包括应用商店(210)和许可服务器(220),其可以作为单独的服务器来实现,或者结合在单个服务器中实现。应用商店(210)和许可服务器(220)可以以各种方式中的一个或多个来彼此通信,例如发送消息、具有对许可数据库(230)的共同访问等。应用商店(210)可以允许购买应用,并且许可服务器(220 )可以提供所购买应用的许可。许可数据库(230 )可以包括主许可条目(232 )。每个主许可条目(232)可以将许可的应用与用户标识(234)链接。客户端机器(240和250)可以通过计算机网络(255)与应用商店(210)和许可服务器(220)进行通信。例如,网络(255)可以是诸如因特网和/或某其他网络类型的全局计算机网络。客户端机器(240和250)可以具有安装在其上的应用(260和270)。例如,这样的应用可以是已经预先安装的,或者它们可以已经在从应用商店(210)购买之后被下载。不管怎样,应用(260和270 )的许可权可以从应用商店(210)来购买。如在此使用的,许可权的“购买”可以包括以各种交易类型获取许可权,而不管这些权利是否是以金钱交换来获取的(例如,可以免费获取许可或者以交换除金钱以外的某些东西来获取许可)。当从应用商店(210 )购买许可权时,应用商店可以使得主许可条目(232 )进入许可数据库。主许可条目可以将用户标识与被许可的应用(260或270)相链接。许可服务器(220)可以将应用许可(262、272、264和274)提供给客户端机器。应用许可(262、272、264和274)可以每个绑定到特定的客户端机器(240或250)。如在此使用的,绑定是指具有禁止试图在除许可所绑定到的一个或多个机器以外的机器上使用许可的一个或多个特征。例如,该绑定可以使用硬件标识符,其将在以下更多地讨论。在图2的图示中,应用A许可(262)是应用A (260)的许可,并且应用A许可(262)绑定到客户端机器I (240)来禁止在除客户端机器I (240)以外的机器上使用应用A许可(262)。类似地,另一应用A许可(264)是绑定到客户端机器2 (250)的应用A的应用许可。同样,应用B许可(272)是绑定到客户端机器I (240)的应用B (270)的应用许可;并且另一应用B许可(274)是绑定到客户端机器2 (250)的应用B (270)的许可。A.漫游应用的许可
在环境(200)中,许可可以跨机器漫游。以下是如何从一个客户端机器购买应用的许可权,并且应用的许可可以漫游到该客户端机器和漫游到另一客户端机器,即跨客户端机器漫游的示例。I.购买应用许可并将应用许可漫游到第一机器
客户端机器I (240)可以诸如响应于用户的输入来启动商店客户端。商店客户端可以显示能够从应用商店(210)购买的应用的目录。一旦定位了期望的应用-在此示例中为应用B (270),可以在客户端机器I (240)处接收用户输入来选择该应用以用于下载和安装(如果它还没有被下载和/或安装)。作为响应,如果这样的登录信息还没有接收到的话,客 户端机器I (240)可以提供链接到用户标识的登录信息的提示。例如,登录信息可以是连接到现有的用户标识的信息(例如,Windows Live 标识)。应用B (270)可以是免费的,或者它可能花费金钱。如果应用B (270)花费金钱的话,可以从在客户端机器I (240)处的用户输入接收诸如信用卡信息的支付信息。客户端机器I (240)上的商店客户端可以将支付信息发送到应用商店(210),并且应用商店(210)可以将支付信息链接到用户标识(234)。典型的隐私和安全保护(加密、安全通信等)可以用来保护链接到用户标识(234)的支付信息和其他敏感信息。在应用商店(210)已经接收到支付(如果应用B (270)花费金钱)或者接收到安装并激活应用B (270)的请求(如果应用B (270)是免费的)之后,应用商店(210)可以创建将应用B (270)链接到用户标识(232)的主许可条目(232)。例如,主许可条目(232)可以是数据库条目或者一些其他类型的数据结构。另外,客户端机器I (240)上的商店客户端可以生成客户端机器I (240)的硬件标识。这样的硬件标识可以用来标识客户端机器I (240)并将客户端机器I (240)与其他计算机器相区别。例如,可以根据客户端机器I (240)的多个硬件组件的特性来产生哈希值。例如,序列编号可以用于一些组件,而其他特性(例如,存储器或存储设备的量、处理速度等)可以用于其他组件。不同的逻辑可以用来为不同组件生成哈希值。在一个示例中,来自客户端机器I (240)的10个或更多个组件的特征的哈希值可以进行组合以产生客户端机器I (240)的硬件标识。客户端机器I (240)的商店客户端可以从许可服务器(220)请求应用B (270)的许可。在请求中,客户端机器I (240)可以包括标识信息,诸如应用B (270)的应用标识、用户标识(234)和客户端机器I (240)的硬件标识。当许可服务器(220)接收许可请求时,许可服务器(220)可以在满足该请求之前验证信息。例如,许可服务器(220)可以验证连接到该请求的用户标识(234)链接到应用B (270)的活动许可权。例如,这可以通过许可服务器(220)搜索将用户标识(234)链接到应用B (270)的主许可条目(232)来进行。许可服务器(220)还可以验证链接到用户标识(234)的账户是资格完好的。另外,许可服务器(220)可以验证针对该用户标识(234)的活动许可的机器限制尚未达到。例如,给定的用户标识(234)可以每次只允许在5台机器上具有来自许可服务器(220)的活动应用许可。如果由许可服务器(220)进行的验证成功,则许可服务器(220)可以生成仅对与许可请求一起发送的客户端机器I (240)的硬件标识有效的应用B (270)的许可(272)。许可服务器(220 )可以签署该应用B许可(272 ),并通过网络(255 )将其发送到客户端机器
I(240)。当客户端机器I (240)接收应用B许可(272)时,客户端机器I (240)上的商店客户端可以验证许可由受信证书签署,并且应用B许可(272)与当前机器的硬件标识相匹配。如果当前硬件的硬件标识中的哈希值和许可没有精确匹配,则在客户端机器I (240)上的商店客户端可以确定硬件标识是否足够的不同以致应将当前客户端机器I (240)视为与用来创建用于应用B许可(272)的硬件标识的机器不相同的机器。在这个匹配技术中,可以为机器上组件的每个哈希给定权重,以用于在确定两个硬件标识是否匹配中对组件的使用进行加权。加权的值可以用来确定硬件标识之间的不同是否足够地显著以致将当前的客户 端机器I (240)视为与用来生成用于应用B许可(272)的硬件标识的机器不相同的机器。如果商店客户端确定许可没有被受信证书签署,或者如果硬件标识不匹配,则商店客户端可以引起错误消息。如果商店客户端确定许可被受信证书签署,并且硬件标识匹配,则商店客户端可以在客户端机器I (240)上启动应用B许可(272)的安装。这可以包括在客户端机器I (240)的许可缓存中存储应用B许可(272),以使得不需要每次在客户端机器I (240)上启动应用B (270)都去获取许可。相反,当应用B (270)在客户端机器I(240)上启动时,可以检查应用B许可(272)的有效性。例如,在运行微软Windows 操作系统的系统中,Windows 运行时可以确保每次启动应用时都存在应用B (270)的有效许可。应用A (260)的应用A许可(262)可以以与应用B (270)的应用B许可(272)相同的方式来获取并使用。使用相同的技术还可以在客户端机器I (240)上对其他应用进行许可。2.购买特征许可并将特征许可漫游到第一机器
还可以从应用商店(210 )购买特征许可权,以使得可以通过客户端机器(240 )和(250 )从许可服务器(220)获得特征许可(282和284)。每个特征许可(282和284)可以允许使用被许可的应用(260)的一个或多个附加特征,虽然这些附加特征的使用未由基本的应用许可(262或264)所允许。可以以类似于漫游应用许可的方式来进行漫游特征许可。当应用A (260)正运行在客户端机器I上(240)时,用户输入可以指示期望对应用A (260)的一个或多个特征进行解锁。例如,这样的特征可以是游戏的附加级别、图形设计应用的附加特征、文字处理应用的附加特征等。请求对特征进行解锁的用户输入可以在各种不同的场景或环境中来接收。例如,用户输入可以通过应用来接收并被传递给商店客户端,或者更直接通过商店客户端来接收。例如,商店客户端可以在从应用商店(210)接收到要解锁的特征或特征集合的列表之后,列出这个列表。从客户端机器I (240)请求特征许可以及通过应用商店(210)和许可服务器(220)满足该请求可以以与上述针对应用许可描述的相同方式来执行。如以上参考应用许可所述的那样,可以使用来自客户端机器I (240)的硬件标识符来将所接收的应用A特征许可(282)绑定到客户端机器I (240)。当第一次发布特征许可时,可以通过应用商店(210)来更新相应应用的主许可条目(232)以包括以下指示,即,那个应用的用户标识(234)的许可权包括针对附加特征的权利。应用许可可以是诸如XML文档的单个文档,而特征许可可以是单个XML文档。然而,可以使用其他配置。例如,应用许可和特征许可可以包括在诸如单个XML文档的单个文档中。在这样的场景中,可以每次授予或撤销附加特征的权利时下载更新的组合应用许可/特征许可。作为另一示例,特征许可可以包括多个文档,每个许可文档允许应用的一个或多个特征的不同集合。3.将应用和特征许可漫游到更多机器
如以上指出的,许可可以漫游到除用来购买许可的机器以外的机器。现将讨论这个示例。商店客户端可以在客户端机器2 (250)上启动,并且可以接收用户输入以使用与用于在客户端机器I (240)上接收应用B许可(272)的用户标识(234)相同的用户标识(234)来登录。客户端机器2 (250)随后可以链接到用户标 识(234)。客户端机器2 (250)上的商店客户端可以连接到许可服务器(220)并获取链接到许可数据库(230)中的主许可条目(232)中的用户标识(234)的应用列表。这个应用列表可以使用在客户端机器2 (250)处的用户接口来呈现,并且可以接收请求在客户端机器2 (250)上安装被许可的应用中的一个或多个的用户输入。如果还没有超过针对用户标识(234)的机器限制,客户端机器2 (250)上的商店客户端可以获取客户端机器2 (250)的硬件标识。在客户端机器2 (250)上的商店客户端可以将期望的应用列表和硬件标识从客户端机器2 (250)发送到许可服务器(220)。许可服务器(220)可以为列表中的每个应用生成应用许可,并且在许可中包括硬件标识绑定,以将每个许可绑定到客户端机器2 (250)。许可服务器(250)还可以为用户标识(234)对于其具有附加特征权利(如在主许可条目(232)中所指示的)的所有应用生成特征许可。特征许可也可以包括硬件标识绑定,以将特征许可绑定到客户端机器2(250)。在图2示出的示例中,应用许可以包括应用A (260)的应用许可(264)、应用A (260)的特征许可(284)、和应用B (270)的应用许可(274)。如在将许可安装在客户端机器2 (250)上时通过将链接到许可的硬件标识和当前机器的硬件标识相匹配所指示的那样,所有这些可以被配置以使得它们在与客户端机器2 (250) —起使用时是有效的。如以上参考客户端机器I (240)所述讨论的那样,当在客户端机器2 (250)启动应用(260和270)时,客户端机器2 (250)可以确保每个应用具有有效的许可(264、274、或284)。可以为与用户标识(234)相关联的另外机器重复这个将许可漫游到另外的机器的技术,直到达到预定的机器限制为止。与用户标识(234)相关联的机器计数可以通过许可服务器(220)来维护,例如通过使用许可数据库(230)中链接到用户标识的条目。如果达到限制,则可以提供用户输入来停用客户端机器的一个或多个,以使得在那个机器上的许可将被停用/撤销。关于这样的停用数量可以存在一些限制。例如,可以在每30天的时间段中每个用户标识仅允许机器的一次停用。链接到用户标识(234)的每个客户端机器上的商店客户端可以重复地连接到许可服务器(220)来同步链接到用户标识(234)的任意许可变化。例如,可以以设定的时间间隔自动地进行同步,在发生特定的事件时自动地进行同步,和/或响应于请求同步的用户输入来进行同步。B.主许可维护-购买、退还、和停用
可以根据链接到用户标识(234)的购买历史来管理应用许可。例如,如果许可权的购买链接到用户标识(234),则可以创建针对那个许可的主许可条目(232)以将应用与用户标识(234)链接。随后可以使得那个应用的许可对于链接到用户标识(234)的客户端机器是可用的。如果在链接到用户标识(234)的交易中购买相同应用的一个或多个另外的许可权,则许可服务器可以维护有多少该应用的许可权链接到用户标识(234)的计数,并且计数随着应用的许可权的每次购买而增加。例如,用户可以单独购买用于字处理应用的权利,然后用户可以购买包括相同文字处理应用的办公室生产力套件。如果许可权被退还(例如,如果在购买办公室生产力套件之后文字处理应用的单个权利被退还),则可以将计数减I。只要用于链接到用户标识(234)的应用和用户标识(234)的许可权计数大于O,许可服务器(220)可以保持发布该应用的许可。如果计数到0,则许可权可以被撤销,并且许可服务器(220)可以停止发布链接到用户标识(234)的那个应用的许可。如果许可权的计数到0,许可服务器(220)还可以命令之前已经接收那个应用许可的、链接到用户标识(234)的客户端机器停用它们的许可以使得该应用不再能够用在那些机器上。III.软件应用许可漫游技术
现将讨论若干软件应用许可漫游技术。这些技术的每一个都可以在计算环境中执行。例如,每个技术都可以在计算机系统中进行,该计算机系统包括至少一个处理器或处理单 元和包括存储在其上的指令的至少一个存储器,当指令由至少一个处理器执行时导致该至少一个处理器执行该技术(一个或多个存储器存储指令(例如,对象代码),并且当一个或多个处理器执行那些指令时,该一个或多个处理器执行该技术)。类似地,一个或多个计算机可读存储介质可以具有体现在其上的计算机可执行指令,当该计算机可执行指令由至少一个处理器执行时,导致该至少一个处理器执行该技术。参考图3,将描述软件应用许可漫游技术。该技术可以包括形成(310)将软件应用链接到用户标识的主许可条目。使用软件应用的应用许可可以漫游(320)至链接到用户标识的第一计算机器(例如,在已经使用用户标识在第一机器处进行登录过程时,该链接可以发生)。使用软件应用的应用许可还可以漫游(330)至链接到用户标识的第二计算机器。可以接收(340)针对软件应用的增加特征的特征许可请求。该请求可以链接到用户标识,并且增加的特征可以是在接收请求前不被主许可条目允许的特征。例如,该请求可以链接到其中购买增加特征的权利的购买交易。响应于该请求,增加的特征可以链接(350)到主许可条目,以使得主许可条目指示增加的特征是允许的。另外,该增加特征的特征许可可以漫游(360)到第一机器,并且该增加特征的特征许可可以漫游(370)到第二机器。可以执行将增加特征的特征许可漫游(370)到第二机器而无需在第二机器处的标识所增加的特征的用户输入。可以响应于用户输入来执行将用于使用软件应用的应用许可漫游(330)到第二机器,该用户输入标识链接到用户标识的一个或多个软件应用许可权利列表中的软件应用(例如,具有将应用与用户标识相链接的主许可条目的那些)。该技术还可以包括将应用本身提供给第一机器和/或第二机器。该技术还可以包括形成将第二软件应用链接到用户标识的第二主许可条目。可以将用于使用第二软件应用的应用许可漫游到第一计算机器和/或第二计算机器。漫游(320)到第一机器的应用许可可以绑定到第一机器,而且漫游(330)到第二机器的应用许可可以绑定到第二机器。另外,技术可以包括维护链接到用户标识的许可已经漫游到的机器的计数。可以接收将用于使用软件应用的应用许可漫游至链接到用户标识的第三机器的请求。可以确定漫游到第三机器的请求是否是允许的请求。该确定可以包括确定授权该请求是否将导致机器的计数超过预定的机器数目。如果确定漫游到第三机器的请求不允许,则该技术可以包括响应于该请求拒绝将软件应用的许可漫游到第三计算机器。在该初始拒绝之后,可以提供机会来消除请求不被允许的原因。例如,如果授权请求会导致机器的计数超过预定的机器数目,则可以提供机会来停用一个或多个机器上的许可,从而減少机器的计数。如果确定漫游到第三机器的请求是允许的请求,则该技术可以包括响应于请求将软件应用的许可漫游到第三计算机器。该技术可以包括接收停用计算机器上软件应用许可的请求、授权该停用请求、和減少机器的计数来考虑该停用请求的授权。该技术可以包括确定停用请求是否是允许的。该确定可以包括确定是否在预定的时间段内已经授权了预定数目的链接到用户标识的许可的停用。如果停用请求是允许的,则可以授权该停用请求并且可以減少机器的计数来考虑该停用请求的授权。现參考图4,将描述另ー软件应用许可漫游技术。该技术可以包括形成(410)将软件应用标识链接到用户标识的主许可条目。多个重叠的软件应用的许可权可以链接(420)、到主许可条目。例如,重叠的许可权可以包括单独购买的应用许可权和作为捆绑的部分而购买的同一应用的另ー应用许可权。可以维护(430)有多少软件应用的许可权链接到主许可条目的计数。可以从链接到用户标识的计算机器接收(440)针对软件应用的许可请求。响应于该请求,可以确定(450)该请求是否是允许的请求。如果不是,则该技术可以包括响应于该请求拒绝(460)将软件应用的许可漫游到计算机器。如果是,则技术可以包括响应于该请求将软件应用的许可漫游(470)到计算机器。漫游(470)软件应用的许可可以包括自动地发送许可。该技术可以包括从链接到用户标识的第二计算机器接收对软件应用的许可的第ニ请求。响应于该第二请求,可以确定该第二请求是否是允许的。该确定可以包括确定软件应用许可权的计数是否大于O。如果确定第二请求是不允许的,则该技术可以包括响应于该第二请求拒绝将软件应用的许可漫游到第二计算机器。如果确定第二请求是允许的,则该技术可以包括响应于该请求将软件应用的许可漫游到第二计算机器。该技术还可以包括接收针对软件应用的増加特征的特征许可请求。该特征许可请求可以链接到用户标识,并且増加的特征可以是在接收该请求之前不被主许可条目允许的特征。増加的特征可以链接到主许可条目,以使得主许可条目指示该增加的特征是允许的。如果确定对软件应用的许可的第一请求是允许的,则可以将该增加特征的特征许可漫游到第一机器。如果确定对软件应用的许可的第二请求是允许的,则技术可以包括将增加特征的特征许可漫游到第二机器。该技术可以包括退还链接到主许可条目的ー个或多个对软件应用的许可权,并且根据有多少许可权被退还来减少许可权的计数。该技术可以进一歩包括确定減少许可权的计数是否导致许可权降至O。如果是,则可以撤销链接到主许可条目的ー个或多个许可。将软件应用的许可漫游(470)到计算机器可以包括发送绑定到计算机器的许可。同时,该技术可以进ー步包括维护有多少计算机器已经接收了连接到用户标识的许可的计数。确定(450)对软件应用的许可请求是否是允许的可以包括确定计算机器的计数是否已经达到预定的最大计数。參考图5,将描述又一软件应用许可漫游技木。该技术可以包括形成(510)将软件应用链接到用户标识的主许可条目。软件应用的ー个或多个许可权可以链接(520)到主许可条目。可以维护(530)有多少对软件应用的许可权链接到用户标识的计数。另外,可以维护(535)有多少计算机器具有链接到用户标识的活动许可的计数。可以接收(540)来自链接到用户标识的第一计算机器的、对软件应用的许可的第一请求。可以确定(542)该第一请求是否是允许的请求。这个确定(542)可以包括确定许可权的计数是否大于0,并且确定计算机器的计数是否小于预定的最大数目。如果确定该第一请求是不允许的,则该技术可以包括响应于该请求拒绝(544)将软件应用的许可漫游到第一计算机器。如果确定第一请求是允许的,则该技术可以包括响应于该第一请求将软件应用的许可漫游(546)到第一计算机器。可以从链接到用户标识的第二计算机器接收(550)对软件应用的许可的第二请求。可以确定(552)第二请求是否是允许的。这个确定可以包括确定许可权的计数是否大于0,并且确定计算机器的计数是否小于预定的最大数目。如果确定第二请求是不允许的,则该技术可以包括响应于该请求拒绝(55)将软件应用的许可漫游到第二计算机器。如果确定第二请求是允许的,则该技术可以包括响应于第二请求将软件应用的许可漫游(556)到第二计算机器。此外,可以接收(560)针对软件应用的増加特征的特征许可请求。特征许可请求可以链接到用户标识,并且増加的特征可以是在接收(560)特征许可请求之前不被 主许可条目允许的特征。増加的特征可以链接(570)到主许可条目,以使得主许可条目指示该增加的特征是被允许的。另外,如果软件应用的许可已经漫游到第一机器,则可以将增加特征的特征许可漫游(580)到第一机器。同样,如果软件应用的许可已经漫游到第二机器,则可以将增加特征的特征许可漫游(590)到第二机器。维护(535)计算机器的计数可以包括在链接到用户标识的软件应用的许可被发送到当前没有被包括在计数中的计算机器时增加计算机器的计数。维护(535)计算机器的计数还可以包括链接到包括在计数中的计算机器上的用户标识的任意活动的软件应用许可被停用时减少计算机器的计数。同时,维护(530)许可权的计数可以包括在链接到主许可条目的软件应用的许可权被授权(例如,通过购买)时增加许可权的计数。维护(530)许可权的计数还可以包括在链接到主许可条目的软件应用的许可权被退还时减少许可权的计数。虽然以特定于结构化特征和/或方法学上的动作的语言描述该主题,但是要理解的是,所附权利要求中限定的该主题不必限于上述具体特征和行为。相反,上述具体特征和行为作为实现权利要求的示例形式而公开。
权利要求
1.一种计算机实现的方法,包括 形成将软件应用(260)链接到用户标识(234)的主许可条目(232); 将用于使用所述软件应用(260)的应用许可(262)漫游至链接到所述用户标识(234)的第一计算机器(240); 将用于使用所述软件应用(260)的应用许可(264)漫游至链接到所述用户标识(234)的第二计算机器(250); 接收对所述软件应用(260)的增加特征的特征许可(282和/或284)的请求,所述请求链接到所述用户标识(234),并且所述增加的特征是在接收所 述请求之前不被所述主许可条目(232)允许的特征; 响应于所述请求,将所述增加的特征链接到所述主许可条目(232)以使得所述主许可条目(232)指示所述增加的特征被允许; 将所述增加特征的特征许可(282)漫游到第一机器(240);以及 将所述增加特征的特征许可(284)漫游到第二机器(250)。
2.如权利要求I所述的方法,其中进行将所述增加特征的特征许可漫游到第二机器而无需在第二机器处的标识所述增加的特征的用户输入。
3.如权利要求I所述的方法,其中响应于用户输入来执行将用于使用所述软件应用的应用许可漫游到第二机器,所述用户输入标识链接到所述用户标识的一个或多个软件应用许可权的列表中的软件应用。
4.如权利要求I所述的方法,还包括向第一机器提供所述应用。
5.如权利要求I所述的方法,其中所述软件应用是第一软件应用,所述主许可条目是第一主许可条目,并且该方法进一步包括 形成将第二软件应用链接到所述用户标识的第二主许可条目; 将用于使用所述第二软件应用的应用许可漫游到第一计算机器;以及 将用于使用所述第二软件应用的应用许可漫游到第二计算机器。
6.如权利要求I所述的方法,其中漫游到第一机器的应用许可绑定到所述第一机器,其中漫游到第二机器的应用许可绑定到第二机器,并且其中该方法还包括维护链接到所述用户标识的许可已经漫游到的机器的计数。
7.如权利要求I所述的方法,还包括 接收将用于使用所述软件应用的应用许可漫游至链接到所述用户标识的第三机器的请求; 确定漫游到第三机器的请求是否是允许的请求,所述确定漫游到第三机器的请求是否是允许的请求包括确定授权漫游到第三机器的请求是否会导致机器的计数超过预定的机器数目; 如果确定漫游到第三机器的请求是不允许的,则响应于所述请求拒绝将所述软件应用的许可漫游到第三计算机器;以及 如果确定漫游到第三机器的请求是允许的请求,则响应于所述请求将所述软件应用的许可漫游到第三计算机器。
8.如权利要求6所述的方法,进一步包括 接收在计算机器上停用所述软件应用的许可的请求;确定所述停用请求是否是允许的,包括确定是否在预定的时间段内已经授权了预定数目的链接到用户标识的许可的停用;以及 如果所述停用请求是允许的,则授权所述停用请求并减少机器的计数以考虑所述停用请求的授权。
9.一种计算机系统,包括 至少一个处理单元(110);以及 至少一个存储器(120),包括存储在其上的指令,当该指令由所述至少一个处理单元(110)执行时导致所述至少一个处理单元(110)执行以下动作,包括 形成将软件应用标识链接到用户标识(234)的主许可条目(232); 将所述软件应用(260)的多个重叠的许可权链接到所述主许可条目(232); 维护有多少所述软件应用(260)的许可权链接到所述主许可条目(232)的计数; 从链接到所述用户标识(234)的计算机器(240)接收所述软件应用(260)的许可请求;响应于所述请求,确定所述请求是否是允许的请求,所述确定该请求是否是允许的请求包括:确定所述软件应用(260)的许可权的计数是否大于O ; 如果确定所述请求不是允许的请求,则响应于所述请求拒绝将所述软件应用(260)的许可漫游到所述计算机器(240);以及 如果确定所述请求是允许的请求,则响应于所述请求将所述软件应用(260)的许可(262)漫游到所述计算机器(240)。
10.具有计算机可执行指令体现在其上的一个或多个计算机可读存储介质(120和/或140),当该计算机可执行指令由至少一个处理器(110)执行时,引起所述至少一个处理器(110)执行以下动作,包括 形成将软件应用(260)链接到用户标识(234)的主许可条目(232); 将所述软件应用(260)的一个或多个许可权链接到所述主许可条目(232); 维护有多少所述软件应用(260)的许可权链接到所述用户标识(234)的计数; 维护有多少计算机器具有链接到所述用户标识(234)的活动许可的计数; 从链接到所述用户标识(234)的第一计算机器(240)接收对所述软件应用(260)的许可(262或264)的第一请求; 确定所述第一请求是否是允许的请求,所述确定该第一请求是否是允许的请求包括确定许可权的计数是否大于0,以及确定计算机器的计数是否小于预定的最大数目; 如果确定所述第一请求不是允许的请求,则响应于所述第一请求拒绝将软件应用(260)的许可漫游到第一计算机器(240); 如果确定所述第一请求是允许的请求,则响应于所述第一请求将所述软件应用的许可漫游到第一计算机器(240); 从链接到所述用户标识(234)的第二计算机器接收对所述软件应用(260)的许可的第二请求; 确定所述第二请求是否是允许的请求,所述确定该第二请求是否是允许的请求包括所述确 定许可权的计数是否大于0,以及确定所述计算机器的计数是否小于所述预定的最大数目; 如果确定所述第二请求不是允许的请求,则响应于所述请求拒绝将所述软件应用(260)的许可漫游到第二计算机器; 如果确定所述第二请求是允许的请求,则响应于所述第二请求将所述软件应用的许可(264)漫游到第二计算机器(250); 接收针对所述软件应用的增加特征的特征许可(282或282)的请求,所述特征许可请求链接到所述用户标识(234),并且所述增加的特征是在接收所述特征许可请求之前不被所述主许可条目(232)允许的特征; 将所述增加的特征链接到所述主许可条目(232),以使得所述主许可条目(232)指示所述增加的特征被允许; 如果所述软件应用(260)的许可已经漫游到第一机器(240)则将所述增加特征的特征许可(282)漫游到第一机器(240);以及 如果所述软件应用(260)的许可已经漫游到第二机器(250)则将所述增加特征的特征许可(284)漫游到所述第二机器(250)。
全文摘要
可以形成将软件应用链接到用户标识的主许可条目。用来使用软件应用的应用许可可以漫游到多个计算机器。针对软件应用的增加特征的特征许可也可以漫游到那些计算机器。软件应用的多个重叠的许可权可以链接到主许可条目。可以维护有多少软件应用的许可权链接到主许可条目的计数。如果许可权计数已达到0则可以拒绝许可请求。
文档编号G06F21/00GK102737179SQ20121008744
公开日2012年10月17日 申请日期2012年3月29日 优先权日2011年3月29日
发明者A.M.科亨, A.维梅斯特, A.阿卢里, S.博伊德, S.卡达姆, S.德维维迪, V.伊达纳勒亚纳库罗桑根, 李自泉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1