许可升级管理的制作方法

文档序号:6367366阅读:164来源:国知局
专利名称:许可升级管理的制作方法
许可升级管理
背景技术
在购买软件时,用户可以首先几乎没有或者没有成本地获得试用版本。该试用版本可能并不具备完整的功能,或者可能在有限的时期(例如,30天或者特定的使用次数)具备完整的功能。在一些情形中,该试用版本和该完整版本可以是完全独立的程序,这些程序必须在不同的时间被下载(或者以其他方式被购买)。假如是这样的话,用户可以首先安装该试用版本来探究该程序是否满足 该用户所期望的需求。如果用户希望升级到完整的版本,那么该完整的版本就必须被购买并单独被安装。可替换地,试用版本和完整版本可以存在于一个程序中。在这样的情形中,用户加载该程序,该程序最初作为试用版本运行。可能需要序列号或者其他激活码来使能完整版本的全部特征和功能。如果用户希望获得使用该完整版本的许可,那么该序列号或者激活码可以被购买并被用于将该试用版本升级为完整版本。

发明内容
为了提供对在此描述的一些方面的基本理解,下面提出了本创新的简化的概述。这个概述并不是所请求保护的主题的全面的概述。它既不意在确定请求保护的主题的关键的或紧要的元件,也不意在划清本主题创新的范围。它的唯一目的是以简化的形式提供请求保护的主题的一些概念,作为对随后提供的更详细的描述的前导。请求保护的主题提供了一种在计算环境中用于管理许可升级的方法。一种示范性的方法包括发送用来改变软件程序的许可状态的请求。该方法进一步包括接收指示该软件程序的许可状态的改变的许可信息,该软件程序的许可状态的改变足以自动地允许用户在改变后的状态下使用该软件程序,而不需要用户进一步的行动。请求保护的主题的一个实施例涉及一种用于管理许可升级的系统。一种用于管理许可升级的示范性系统包括处理单元和系统存储器。该系统存储器包括被配置成指导该处理单元发送获得软件程序的请求的代码。该系统存储器还包括指导该处理单元接收该软件程序并接收指示该软件程序的许可状态的许可信息的代码。在该系统存储器中存储的额外代码指导该处理单元发送改变该软件程序的许可状态的请求。该系统存储器进一步包括指导该处理器接收指示该软件程序的许可状态的改变的许可信息的代码。根据本主题创新,该软件程序的许可状态的改变自身就足以自动地允许用户在升级状态下使用该软件程序,而不需要用户进一步的行动。请求保护的主题的另一个实施例涉及一个或者多个存储许可升级管理代码的计算机可读存储介质。该许可升级管理代码被配置成指导处理单元发送获得应用程序的试用版本的请求,以及接收该应用程序和指示该应用程序的许可状态是试用状态的许可信息。该许可升级管理代码还使该处理单元发送升级该应用程序的许可状态的请求。此外,该许可升级管理代码还使该处理单元接收指示该应用程序的许可状态的升级的许可信息。根据本主题创新,该应用程序的许可状态的改变足以允许用户在升级状态下自动地使用该应用程序,而不需要用户进一步的行动。


图I是可以在其中实施根据本主题创新的许可升级的系统的框 图2是根据本主题创新在计算环境中管理许可升级的方法的处理流程 图3是示范性联网环境的框图,该联网环境中能够采用请求保护的主题的各方面;以

图4是用于实现请求保护的主题的各个方面的示范性操作环境的框图。
具体实施例方式请求保护的主题是被参照附图描述的,其中同样的参考数字自始至终被用于指同样的元件。在下面的描述中,为了解释的目的,阐明了众多特定的细节,以提供本主题创新的透彻理解。然而,很显然,可以在没有这些特定细节的情况下实施请求保护的主题。在其他情况下,众所周知的结构和装置被以框图的形式示出,以便于描述本主题创新。如在此所使用的那样,术语“组件”、“系统”、“客户端”等意指涉及计算机的实体,或者是硬件、软件(例如,在执行中),和/或固件,或者是它们的组合。例如,组件可以是在处理器上运行的进程、对象、可执行文件、程序、函数、库、子程序,和/或计算机或者软件和硬件的组合。举例来说,在服务器上运行的应用以及服务器都可以是组件。一个或者多个组件可以驻留在进程中,而且组件可以被本地化在计算机上和/或分布于两个或者更多个计算机之间。术语“处理器” 一般被理解成是指硬件组件,诸如计算机系统的处理单元。此外,通过使用标准的编程和/或工程技术来生产软件、固件、硬件或者它们的任意组合以便控制计算机来实现所公开的主题,请求保护的主题可以被实现为方法、设备,或者制造产品。术语“制造产品”正如在此被使用的那样,意在包括能够从任何非瞬态计算机可读取的装置或介质中存取的计算机程序。非瞬态计算机可读存储介质能够包括,但不限于磁性存储装置(例如,硬盘、软盘,以及磁带,等等)、光盘(例如,紧凑盘(⑶),以及数字多功能盘,等等)、智能卡,以及闪存装置(例如,卡、棒,以及键驱动器(key drive),等等)。相反,计算机可读介质一般(即,不一定是存储介质)可以额外地包括通信介质,诸如用于无线信号等的传输介质。当然,本领域技术人员将会认识到可以在不背离请求保护的主题的范围或者精神的前提下对本配置做出许多修改。而且,“示范性”一词在此被用来表示作为例子、实例,或者说明。任何在此被描述成“示范性”的方面或者设计不一定要被解释成比其他的方面 或者设计优选的或者有利的。根据本主题创新,用户可以获得软件(诸如应用程序)的试用版本。如果该用户此后购买了该软件的完整版本的许可,那么指示被完全许可状态的许可信息就被自动地递送,而不需要任何其他的用户交互。在下次使用该被许可的软件时,它基于该许可信息以被完全许可的状态运行。而且,该软件的用户的试用版本被自动地升级成完整版本,而不需要任何额外的步骤,诸如手动地输入证书、手动地激活应用或者下载任何额外的数据。图I是可以在其中实施根据本主题创新的许可升级的系统100的框图。该系统100包括在图I的左侧面板中描述的客户端环境102。正如在此参考图3和4所解释的那样,该客户端环境102可以被实现在客户端计算系统中。图I的右侧面板描述了服务器环境104,诸如服务器计算系统。在右侧面板中表示的该服务器环境104可以被配置在,例如,云计算环境中的服务器计算系统中。而且,该服务器环境104可以被连接到网络(诸如因特网)。该客户端环境102包括应用购物客户端106。在Windows 计算环境中的应用购物客户端106的例子是Windows Store客户端。在示例性实施例中,应用购物客户端106可以被实现为操作系统的组件或者模块。该应用购物客户端106与认证服务器和应用购物服务器通信,正如在此所解释的那样。许可客户端组件108也被包括在该客户端环境102中。该许可客户端组件108把许可信息保留在该客户端环境102的本地许可缓存110中。该许可客户端组件108可以接收来自许可服务器的许可信息,正如在此所解释的那样。应用程序112可以在该客户端环境102中被执行。该应用程序112可以经由该许 可客户端组件108从该本地许可缓存110获得许可信息。该应用程序112的某些特征可以根据该许可信息而被禁用。例如,如果该许可信息指示仅获得了应用程序112的试用版本,则该应用程序112的某些高级特征可以被禁用。可替换地,如果例如许可信息指示该应用程序112的试用期已过,则该应用程序112可以被完全禁用。服务器环境104除其它东西外包括在客户端环境102的用户登录时提供认证的服务器114。而且,用户可以在服务器114上具有账户,而且可以为了购买软件应用的目的登录。在Windows 计算环境里,服务器114的一个例子是Windows Live 服务器。服务器环境104包括应用购物服务器116,该应用购物服务器116可以向该客户端环境102的用户提供可用于购买的软件应用的选集。在经服务器114认证后,该应用购物客户106可以加入与应用购物服务器116的安全连接。在Windows 计算环境里,应用购物服务器116的一个例子是Windows Store服务器。应用购物服务器116可以有权访问许可服务器118。在Windows 计算环境里,该许可服务器118的一个例子是Windows Store许可服务器。该许可服务器118进而又可以访问被存储在许可数据库120中的许可信息。在用户从应用购物服务器116获得软件应用时,该许可数据库120可以提供正确的许可信息,诸如序列号或者认证码。而且,该许可服务器118可以加入与许可客户端组件108的安全连接,以向客户端环境102的用户提供许可信息。根据本主题创新,具有试用许可的应用最初是从应用购物服务器116取得的。指示该试用许可状态的许可信息是经由许可服务器118从许可数据库120获得并被提供给用户的。在示例性实施例中,许可信息是经由许可服务器118和许可客户端组件108之间的安全连接而被提供的。在被许可客户端组件108获得之后,该许可信息被存储在本地许可缓存HO中。之后,该用户被授权在客户端环境102中根据试用许可使用该应用。每次当在客户端环境102中启动应用时,该应用都向本地许可缓存110查询其许可状态。在该试用许可被记录在该本地许可缓存110之后,试用许可状态将被返回,而且该应用将根据试用许可的条款运行。在一个实施例中,在作为试用版本运行时,应用可以提示用户购买完整的许可。例如,一旦确定了其试用许可状态,该应用就可以调用许可客户端组件108,以开始对用户的提示。而且,对用户的提示可以鼓励用户为把试用许可升级到完整许可而付款,这可以经由在服务器114上的用户的账户完成。如果用户试图在试用许可过期之后启动该应用,该应用将无法启动。在这种情形中,许可客户端组件108可以向用户提供支付升级许可的提示。在用户购买了完整许可时,指示完整许可的许可信息将经由许可客户端组件108和许可服务器118之间的安全连接而从许可数据库120被自动地获得。指示已经购买完整许可的许可信息随后被自动地存储到本地许可缓存110中。在那之后,当在客户端环境102中启动该应用时,指示完整许可的许可状态将被返回,并查询本地许可缓存110中对于该应用的许可权的状态。被存储在本地许可缓存110中的许可状态从试用许可到完整许可的改变自身就足以允许该应用作为被完全许可的应用被执行。用这种方式,用户能够开始将该应用作为被完全许可的版本来使用,而没有不得不下载另一个版本的应用的不便。此夕卜,用户不需要获得和输入长长的激活码或者类似物来把该应用的许可状态从试用版本改变为完整版本。 图2是根据本主题创新在计算环境中管理许可升级的方法200的处理流程图。在示例性实施例中,获得软件程序的试用版本的请求被发送。该软件程序和指示软件程序的许可状态的许可信息可以被接收。随后,用户可以期望升级应用程序的许可,例如从试用版本到完整版本。在图2的方框202处,改变软件程序的许可状态的请求被发送。该请求可以伴随有例如完整许可的支付信息。在方框204处,指示该软件程序的许可状态的改变的许可信息被接收。根据本主题创新,该软件程序的许可状态的改变自身就足以自动地允许用户在改变后的状态下使用该软件程序,而不需要用户进一步的行动。而且,在该软件程序被启动时,它可以查询本地许可缓存110以确定该软件程序的许可状态。在检索到指示该软件程序完全地被许可的许可信息时,该软件程序根据改变后的许可的条款执行,而不需要用户一方的进一步的行动。图3是示范性联网环境300的框图,在该联网环境中能够采用所请求保护的主题的各方面。而且,该示范性联网环境300可以被用于实现根据本主题创新的许可软件的系统和方法。该联网环境300包括一个或者多个客户端302。客户端302可以是硬件和/或软件(例如,线程、进程、计算装置)。例如,客户端302可以是通过通信框架308 (诸如因特网)提供对服务器的访问的计算机。客户端302可以对应于参考图I在此示出和描述的客户端环境102。环境300还包括一个或者多个服务器304。该服务器304可以是硬件和/或软件(例如,线程、进程、计算装置)。服务器304可以包括网络存储系统。该服务器可以被客户端302访问。正如在这里所描述的那样,服务器304可以对应于参考图I在此示出和描述的服务器环境104。客户端302和服务器304之间的一种可能的通信可以采取数据分组的形式,该数据分组适于在两个或者多个计算机进程之间传输。环境300包括可以被用来促进客户端302和服务器304之间的通信的通信框架308。客户端302可操作地被连接到一个或者多个可以被用来在客户端302本地存储信息的客户端数据存储器310。该客户端数据存储器310可以被设置在客户端302中,或者远程地设置,诸如在云服务器中。该客户端数据存储器310的一个例子包括在图I中示出和描述的本地许可缓存110。类似地,服务器304可操作地被连接到一个或多个可以被用来在服务器304本地存储信息的服务器数据存储器306。服务器数据存储器306的例子包括在图I中示出和描述的许可数据库120。参考图4,示出了用来实现所请求保护的主题的各个方面的示范性操作环境400。该示范性操作环境400包括计算机402。该计算机402包括处理单元404、系统存储器406,以及系统总线408。计算机402可以构成客户端环境102或者服务器环境104的一部分。系统总线408耦合系统组件,系统组件包括但不限于系统存储器406到处理单元404。处理单元404可以是各种可用的处理器中的任何一种。双微处理器或者其他多处理器架构也可以被用作处理单元404。系统总线408可以是若干类型的总线结构(包括存储器总线或者存储器控制器、外设总线或者外部总线,和/或使用本领域技术人员已知的任何种类可用总线架构的本地总线)中的任意一种。系统存储器406包括非瞬态计算机可读存储介质,包括易失性存储器410和非易失性存储器412。包括(诸如在启动期间)在计算机402中的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)被存储在非易失性存储器412中。举例说明,而并非限制,非易失性存储器412可以包括只读存储器(ROM)、可编程ROM (PR0M)、电可编程ROM (EPR0M)、电可擦 除可编程ROM (EEPROM),或者闪存。易失性存储器410包括随机存取存储器(RAM),该随机存取存储器起到外部缓存存储器的作用。举例说明而并非限制,RAM是可以通过许多形式获得的,诸如静态RAM(SRAM)、动态 RAM(DRAM)、同步 DRAM(SDRAM)、双倍数据速率 SDRAM(DDR SDRAM)、增强 SDRAM(ESDRAM)、SynchLink DRAM (SLDRAM)、Rambus 直接 RAM (RDRAM)、直接 Rambus 动态 RAM(DRDRAM),以及 Rambus 动态 RAM (RDRAM)0计算机402还包括其他非瞬态计算机可读介质,诸如可移除/非可移除、易失性/非易失性计算机存储介质。图4示出了例如盘存储器414。盘存储器414包括但不限于,像磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡,或者存储棒之类的装置。此外,盘存储器414可以单独包括存储介质或者与其他存储介质(包括,但不限于,诸如紧凑盘ROM装置(⑶-ROM )、⑶可刻录驱动器(⑶-R驱动器)、⑶可重写驱动器(⑶-RW驱动器)或者数字多功能盘ROM驱动器(DVD-ROM)之类的光盘驱动器)相组合包括存储介质。为了便于盘存储装置414到系统总线408的连接,可移除或者非可移除接口通常被使用,诸如接口 416。应当理解的是,图4描述了在用户和在适当的操作环境400中描述的基本计算机资源之间起到中介作用的软件。这种软件包括操作系统418。可以被存储在盘存储器414上的操作系统418起到控制和分配计算机402的资源的作用。系统应用420借由被存储在系统存储器406中或者盘存储器414上的程序模块422和程序数据424,通过操作系统418利用资源管理。应当理解的是,所请求保护的主题可以利用各种操作系统或者操作系统的组合来实现。用户通过输入装置426把命令或者信息输入到计算机402。输入装置426包括,但不限于,指示装置(诸如鼠标、轨迹球、指示笔,或者类似物)、键盘、麦克风、操纵杆、卫星天线、扫描仪、电视调谐卡、数码相机、数码录像机、网络摄像机,和/或类似物。该输入装置426通过系统总线408经由接口端口 428连接到处理单元404。接口端口 428包括例如串行端口、并行端口、游戏端口、通用串行总线(USB )。输出装置430使用一些和输入装置426同样类型的端口。因此,例如,USB端口可以被用于提供到计算机402的输入,以及从计算机402向输出装置430输出信息。输出适配器432被提供用于说明除了其他输出装置430以外还存在一些能够经由适配器访问的输出装置430 (像监视器、扬声器和打印机)。该输出适配器432包括,例如但不限于,在输出装置430和系统总线408之间提供连接装置的视频和声音卡。能够注意到的是,其他装置和/或装置的系统(诸如远程计算机434)提供输入和输出能力。计算机402可以是在使用到一个或者多个远程计算机(诸如远程计算机434)的逻辑连接联网的环境中拥有各种软件应用的服务器。该远程计算机434可以是被配置有网络浏览器、个人计算机应用、移动电话应用等的客户端系统。
该远程计算机434可以是个人计算机、服务器、路由器、网络个人计算机、工作站、基于微处理器的设备、移动电话、对等装置或者其他通用的网络节点等,而且典型地包括相对于计算机402描述的许多或者全部元件。为了简要的目的,仅用远程计算机434为例说明了存储器存储装置436。远程计算机434被通过网络接口 438逻辑地连接到计算机402,并随后被经由通信连接440物理地连接。网络接口 438包括诸如局域网(LAN)和广域网(WAN)的有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(⑶DI)、以太网、令牌环等。WAN技术包括,但不限于,点对点链路、像综合业务数字网(ISDN)那样的电路交换网络和在其上的各种变化、分组交换网络,以及数字用户线路(DSL)。通信连接440指的是被用来把网络接口 438连接到总线408的硬件/软件。虽然为了清楚说明的目的而将通信连接440示于计算机402内部,但是它也可以在计算机402的外部。用于到网络接口 438的连接的硬件/软件可以包括(仅为示例目的)内部和外部技术,诸如移动电话交换、包括常规电话级调制解调器(regular telephone grade modem)、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器,以及以太网卡。用于服务器的示范性处理单元404可以是包括Intel Xeon CPU的计算机集群。盘存储器414可以包括企业数据存储系统,例如,持有数以千计的印象。上面已经描述的包括本主题创新的实例。当然,为了描述所请求保护的主题的目的而描述每个可以设想到的组件和方法的组合是不可能的,但是一位本领域技术人员可以认识到本主题创新的许多进一步的组合和置换都是可能的。因此,所请求保护的主题意在包括所有落入所附权利要求的精神和范围内的这种替换、修改,以及变型。特别地并且关于由上述组件、装置、电路、系统等执行的各种功能,被用于描述这种组件的术语(包括对“装置”的引用)意在对应于(除非用其他方式指明以外)执行所述组件的指定功能的任何组件(例如,功能性等价物),即使在结构上并不等价于所公开的结构,该结构执行在此被说明的请求保护的主题的示范性方面中的功能。就这一点而言,还应当认识到的是本创新包括系统以及具有计算机可执行指令的计算机可读存储介质,该指令用于执行请求保护的主题的各种方法的动作和/或事件。
存在多种实现本主题创新的方式,例如,适当的API、工具箱、驱动器代码、操作系统、控件、单机或者可下载的软件对象,等等,这些使得应用和服务能够使用在此所描述的技术。请求保护的主题预期从API (或者其他软件对象)以及根据在此阐述的技术操作的软件或硬件对象的立场来使用。因此,在此描述的本主题创新的各种实现可以具有完全硬件、部分硬件部分软件以及软件的各方面。已经参照若干组件之间的交互描述了前面提及的系统。能够理解的是这种系统和组件可以包括那些组件或者指定的子组件、指定组件或者子组件中的一些,和/或额外的组件,以及根据前述的各种置换和组合。子组件还可以被实现为可通信地耦合到其他组件、而不是被包括在父组件(分层体系的 )的组件。此外,能够注意到的是一个或者多个组件可以被组合到提供累积功能的单个组件或者被分割到若干单独的子组件,而且任意一个或者多个中间层,诸如管理层,可以被提供为可通信地耦合到这种子组件,以提供集成的功能。在此描述的任何组件都还可以与一个或者多个没有在此被具体地描述的但被本领域技术人员公知的其他组件交互。此外,虽然可能已经参考若干实现中的仅仅一个而公开了本主题创新的特定特征,但是这种特征可以被与其他实现的一个或者多个的其他特征组合,正如对任何给定的或者特定的应用而言可能是期待的或者有利的。此外,就术语“包括”、“包含”、“具有”、“含有”、它们的各种变体,以及其他类似的词语在具体实施方式
或者权利要求书中使用来说,这些术语以类似于术语“包括”的方式意指包括性的,就像开放式的过渡词(transitionword)那样,并不排除任何额外或者其他元素。
权利要求
1.一种用于管理许可升级的方法(200),包括 发送(202)改变软件程序(112)的许可状态的请求;以及 接收(204)指示该软件程序(112)的许可状态的改变的许可信息,该软件程序(112)的许可状态的改变足以自动地允许用户在改变后的状态下使用该软件程序(112),而不需要用户进一步的行动。
2.一种根据权利要求I中所述的方法(200),包括 查询存储装置(110,120,306,310,406,436)以获得许可状态;以及 基于从该存储装置(110 )接收到的许可状态,运行该软件程序(112)。
3.一种根据权利要求I中所述的方法(200),其中改变许可状态的请求包括支付信息。
4.一种根据权利要求I中所述的方法(200),其中许可状态的改变包括从试用状态到完全许可状态的升级。
5.一种根据权利要求I中所述的方法(200),包括把指示许可状态的改变的许可信息存储在本地许可缓存(110 )中。
6.一种根据权利要求I中所述的方法(200),包括在发送获得该软件程序(112)的试用版本的请求之前,提供用户认证信息,以使得用户被登录到一个账户,通过该账户获得该软件程序(112)。
7.一种根据权利要求I中所述的方法(200),包括在发送改变许可状态的请求之前,提示用户请求许可升级。
8.一种用于管理许可升级的系统(100,300,400),包括 处理单元(404);以及 系统存储器(406 ),其中该系统存储器(406 )包括被配置成指导该处理单元(404 )执行如下操作的代码 发送获得软件程序(112)的请求; 接收该软件程序(112)和指示该软件程序(112)的许可状态的许可信息; 发送改变该软件程序(112)的许可状态的请求; 接收指示对该软件程序(112)的许可状态的改变的许可信息,该软件程序(112)的许可状态的改变足以自动地允许用户在升级状态下使用该软件程序(112),而不需要用户进一步的行动。
9.一种根据权利要求8所述的系统(100,300,400),包括本地许可缓存(110),该本地许可缓存存储该软件程序(112)的许可信息。
10.一种或者多种计算机可读存储介质(406,414,436),包括 被配置成指导处理单元(404)执行如下操作的许可升级管理代码 发送获得应用程序(112)的试用版本的请求; 接收该应用程序(112)和指示该应用程序(112)的许可状态是试用状态的许可信息; 发送升级该应用程序(112)的许可状态的请求;以及 接收指示该应用程序(112)的许可状态的升级的许可信息,该应用程序(112)的许可状态的改变足以自动地允许用户在升级状态下使用该应用程序(112),而不需要用户进一步的行动;以及 本地许可缓存(110),该本地许可缓存存储该应用程序(112)的许可信息。
11.一种计算机存储介质,其上包含有计算机可执行指令,所述指令在被运行时执行如权利要求1-7中任何一项所述的方法。
全文摘要
请求保护的主题提供了一种在计算环境中用于管理许可升级的方法(200)。一种示范性的方法(200)包括发送(202)升级应用软件程序的许可状态的请求。该方法进一步包括接收(204)指示该软件程序的许可状态的改变的许可信息,该软件程序的许可状态的改变足以自动地允许用户在改变后的状态下使用该软件程序,而不需要用户进一步的行动。
文档编号G06F9/445GK102736930SQ20121008999
公开日2012年10月17日 申请日期2012年3月30日 优先权日2011年3月31日
发明者A.M.科亨, A.维梅斯特, S.S.卡达姆, S.德维维迪, Z.李 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1