[0001] 背景
[0002] 即用即付(pay-as-you-go)或
按使用付费(pay-per-use)经营模型已在从蜂窝电话到自助洗衣店的许多商业领域中使用。在开发即用即付经营时,例如蜂窝电话供应商等供应商以低于市场的成本提供对
硬件(蜂窝电话)的使用来交换将订户保持到其网络的承诺。在这一具体示例中,顾客以极少的钱或免费接收蜂窝电话,作为交换,签署在给定时间段内成为订户的合同。在合同期间,服务供应商通过向消费者收取使用蜂窝电话的
费用来回收硬件的成本。
[0003] 即用即付经营模型是构建在计量使用上的。在蜂窝电话的情况下,用于计量使用的度量是所传输的数据的分钟或兆字节。在用于计算机的即用即付经营模型中,其中服务供应商或承包商资助硬件的成本来期望有将来的收入,存在可被监控或计量的许多使用方面。然而,并非可统一信赖于所有的计量数据源。当数据暗示计算机正在使用中而实际不是时,订户可能无法从其预订费中获得全部的价值。相反,当计算机正被使用但是未被计量时,服务供应商无法接收到公平的补偿。
[0004] 概述
[0005] 准确地
跟踪使用,尤其是与计量合同有关的使用的能
力是允许订户以低于市场的价格购买并使用计算机来交换预订付费的经营模型的一个重要部分。然而,跟踪计算机使用可导致其中存在关于计量条件是否存在的模糊性的某些情况。在计算机的安全区域中执行计量管理,该安全区域必要时可以不信任指导计量的软件程序。因此,可使用关于计算机状态的附加信息来确定计算机是否应被计量。计算机和/或其各个组件的功率状态是可由计量过程用于确定是否应进行计量的指示符之一。当
操作系统或类似的
软件组件发出计量管理器应停止计量的
信号时,计量管理器可监控功率状态来确认该信号。当功率使用指示计算机仍在活动使用中时,计量管理器可恢复计量,或者在一个
实施例中,迫使计算机进入低功率状态或引起复位。
[0007] 图1是一
计算机网络的简化的、代表性
框图。
[0008] 图2是可连接到图1的网络的计算机的框图。
[0009] 图3是示出外部连接性的
许可证供应服务的框图;
[0011] 图5是描绘监控计算机状态来确定计量状态的方法的
流程图。
[0012] 各实施例的详细描述
[0013] 尽管以下正文陈述了众多不同实施例的详细描述,但是应当理解,该描述的法律范围由本
申请公开开头陈述的
权利要求书的言辞来限定。该详细描述应被解释为仅是示例性的,且不描述每一可能的实施例,因为描述每一可能的实施例即使不是不可能的也是不切实际的。可使用
现有技术或在本
专利提交日之后开发的技术来实现众多替换实施例,而这仍落入权利要求书的范围之内。
[0014] 还应当理解,除非一术语在本专利中使用语句“如此处所使用的,术语‘__’此处被定义为指……”或类似的语句来明确地定义,否则毫无意图将该术语的含义明确地或隐含地限制,而超出其简单或普通意义,且这类术语不应当被解释为基于本专利的任何一节中所作出的任何陈述(权利要求书的语言除外)而在范围上有限制。就本专利末尾的权利要求书中引用的任何术语在本专利中以与单数意义相一致的方式来引用而言,这是为清楚起见而如此做的,仅仅是为了不使读者感到混淆,且这类权利要求术语并不旨在隐含地或以其它方式限于该单数意义。最后,除非一权利要求要素是通过叙述单词“装置”和功能而没有叙述任何结构来定义的,否则任何权利要求要素的范围并不旨在基于35U.S.C.§112第6段的应用来解释。
[0015] 许多
发明性功能和许多发明性原理使用或利用软件程序或指令以及诸如专用集成
电路(IC)等IC来最佳地被实现。期望本领域的普通技术人员虽然可能要进行大量的工作和由例如可用时间、现有技术以及经济问题促动的许多设计选择,但是当受到此处所公开的概念和原理的指引时仍能够容易地以最小的试验来生成这些软件指令和程序以及IC。因此,为了简明以及最小化遮掩根据本发明的原理和概念任何
风险,对这些软件和IC(如果有的话)的进一步讨论将限于对于较佳实施例的原理和概念所必需的那些讨论。
[0016] 图1示出了可用于实现按使用付费
计算机系统的网络10。网络10可以是因特网、虚拟专用网(VPN)、或允许一个或多个计算机、通信设备、
数据库等通信上彼此连接的任何其它网络。网络10可经由以太网16和路由器18以及通信
电缆20连接到个人计算机12和计算机终端14。另一方面,网络10可以经由无线通信站26和无线链路28无线地连接到膝上型计算机22和个人数据助理24。类似地,
服务器30可使用通信链路32连接到网络10,而大型机34可使用另一通信链路36连接到网络10。
[0017] 图2示出了可连接到网络10并用于实现动态软件供应系统的一个或多个组件的计算机110形式的计算设备。计算机110的组件可包括但不限于,处理单元120、系统
存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的
系统总线121。系统总线121可以是若干种总线结构类型中的任一种,包括存储器总线或存储器
控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频
电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
[0018] 计算机110还可包括下级供应模块(LPM)125。下级供应模块125是许可证供应服务的一个硬件组件,并且具有相应的软件组件,即上级供应模块。许可证供应服务及其主要组件元素,即上级供应模块和下级供应模块125将参考图3更详细讨论。LPM 125具体地在图4中更详细讨论。简要而言,LPM 125有助于计算机110的即用即付或按使用付费操作。LPM 125管理计量使用,当计量使用到期时强制实施制裁,并管理用于计算机110的补充的数据的
请求、接收和处理以获得附加的计量使用。下级供应模块125可以如所述地用硬件来实现,但是考虑到预期的安全风险,可以给定适当的
执行环境用软件来实例化。
[0019] 计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110
访问的任一可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制等的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、射频、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
[0020] 系统存储器130包括易失性和/或
非易失性存储器形式的计算机存储介质,如
只读存储器(ROM)131和
随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。
作为示例而非局限,图2示出了操作系统134、应用程序135、其它程序模块136和程序数据
137。
[0021] 计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图2示出了对不可移动、非易失性磁介质进行读写的
硬盘驱动器140、对可移动、非易失性磁盘152进行读写的磁盘驱动器151以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器
接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
[0022] 上文讨论并在图2示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图2中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如
键盘162和
定位设备161(通常指
鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。另一输入设备可以是用于通过因特网发送图像的
照相机,被称为web摄像头163。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、
扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用
串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也可包括其它外围输出设备,如扬声器197和
打印机196,它们通过输出外围接口195连接。
[0023] 计算机110可以使用到一台或多台远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络
节点,并通常包括许多或所有以上相对于计算机110所描述的元件,尽管在图2中仅示出了存储器存储设备181。图2描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
[0024] 当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN171。当在WAN网络环境中使用时,计算机110通常包括
调制解调器172或用于通过WAN
173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图2示出远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
[0025] 图3是描绘许可证供应服务(LPS)的一个实现的简化框图。LPS 300可代表服务供应商或对计算机或计算机的组件有利益的其它运营商来行动。LPS 300可用于测量使用(计量)、对计量帐户进行贷记或借记、以及根据使用策略为作为整体的计算机以及诸如
外围设备和应用程序等子系统确定使用条款等等。LPS 300可具有如由线302所描绘的硬件和软件组件,其中软件组件在上方,而硬件组件在下方。然而,当存在可信任执行环境时,在该线下示出的这些组件甚至可以用软件来实现。包括应用程序135和操作系统134的客户机304可使用LPS 300的服务。对LPS 300的访问可通过提供用于与LPS 300交互的命令结构和协议的软件驱动程序或接口动态连接库(DLL)306来进行。
[0026] 上级供应模块308可以是LPS 300的主要软件部分。LPS 300的软件部分还可包括用于与下级供应模块312,即LPS 300的硬件部分接口的DLL 310。还可使用中断(未描述)用于上级供应模块308和下级供应模块312之间的通信。上级供应模块308可用于收集诸如操作系统状态和应用程序状态等软件状态。这些状态可被报告给LPM 312以用于确定计量。例如,UPM 308可检测诸如登录、注销、登录不活动等状态之间的操作系统状态改变。另外,可监控功率状态。有效功率状态可包括活动、关机、待机、或这些状态之间的转换。UPM 308然后可将操作系统状态或功率状态报告给下级供应模块312。来自UPM 308的报告还可包括明确规定了与当前状态相对应是否应开启或关闭计量的指示。在另一实施例中,该指示可从当前操作系统状态、功率状态或状态之间的改变中隐含地取得。
[0027] 下级供应模块312可接收例如当操作系统状态被报告为注销并且将导致功率状态改为待机时应停止计量的指示。下级供应模块312然后可开始其自己的监控过程。在一个实施例中,可启动一
定时器以在超时时段内监控功率状态是否实际反映了所报告的状态。对功率状态到断电或待机的改变的确认在一个实施例中可自动发生,其中LPM 312共享正被报告的所述相同的功率电路。即,LPM 312本身也仅仅在功率状态实际为断电或待机时被关闭。然而,当下级供应模块312在超时时段内不能确认功率状态实际已如所报告的那样改变时,可强制实施制裁。
[0028] 如上所述,在报告监控应停止的信号与LPM 312中结束的超时时段之间可存在延迟。类似地,在登录操作或退出待机状态与LPM 312恢复计量之间也可能有延迟。LPM 312可监控待机时段的持续时间或登录操作之间的时段的持续时间。当任一状态的持续时间小于一最小值,例如一分钟时,LPM 312可忽略该状态变化并相应地计量。
[0029] LPM 312可具有若干种用于制裁的选择。在一个实施例中,LPM 312可简单地重启计量。重启计量是影响相对较小的制裁,并且可通过向用户显示消息或形成一指示因所报告的状态改变不能被确认而已恢复计量的日志条目来实现。
[0030] 在另一实施例中,LPM 312可采取更严厉的制裁,诸如复位计算机或强制功率状态改变,例如将计算机110或诸如视频接口190等个别组件置于待机功率模式。很明显,断电制裁更为严厉,并且可被保留以在计量制裁的重复要求之后使用。在另一实施例中,可在计算机处于计量应为活动,但是计量没有进行的状态中时指示断电制裁。这可以指示计量电路的故障或绕过计量过程的成功尝试。
[0031] 断电制裁也可被
修改成适合不同的硬件而非整个计算机。例如,当计算机被注销但是仍观察到网络通信量时,可对网络接口170断电或将其置于待机功率状态。类似地,如果计算机被报告为注销但是仍在播放音乐时,可关闭支持扬声器的外围接口195。
[0032] 报告的功率状态与观察到的功率状态之间的不一致性可以指示故意的欺诈尝试,并且可能需要比操作系统状态不一致性更快的更严厉的制裁。
[0033] 图4是简化的、典型的下级供应模块400的框图,该模块可以与图3的LPM 312相同或相似。下级供应模块400可包括防篡改存储器402、
通信接口404、定时器或时钟406、具有可任选随机数发生器(RNG)410的密码电路408、以及处理器412。与计算机110的通信可以通过耦合到通信接口404的系统总线414来实现。LPM 400的内部组件可通过内部总线416来通信。
[0034] 存储器402可储存与LPM 400的功能有关的可执行代码和数据。计量功能418和计量策略420可用于实现各种计量选项。例如,计量功能418可包括诸如每月无限使用等预订、或诸如使用给定小时数等按时间计量。是否计量以及强制实施何种计量类型可由计量策略420
指定。功率计量功能422可用于确定功率状态或诸如操作系统状态等其它准则是否与经由通信接口404接收到的数据和指示相一致。制裁功能424可如上所述地操作,即,用于强制实施计量策略的操作包括恢复计量、引起复位、或中断功率。制裁功能424或计量策略420还可包括对用于监控从通电到断电/待机状态的转换的定时器406的设置。密码密钥426可结合密码电路408使用来验证签名,或结合诸如签署、验证签名、加密和解密等其它密码功能来使用。
[0035] 图5是监控计算机状态以验证计量状态从被计量到非被计量的改变的方法。在框502处,被安排成且适用于按使用付费、预订或其它计量环境中使用的诸如计算机110的计算机可以处于被计量状态。出于本示例的目的,假定了按使用计量。上级供应模块308可接收指示例如响应于用户注销功率状态正从通电转换到待机的信号或中断。上级供应模块
308可在框504处向下级供应模块312发送指示计量应停止的信号。下级供应模块312然后可在框506处基于当前策略来确定是否应停止计量。当计量应继续时,处理可在框502处通过跟随从框506处出发的“否”分支来继续。当停止计量是适当的时候,可跟随“是”分支到框508,并且可停止计量。为验证遵循于管控计量策略,可在框510处启动一内部定时器。在该间隔的结束,处理可在框512处继续以确定功率状态。下级供应模块312可直接感测功率状态,或者如上所述本身可使用所监控的功率来操作。即,当计算机被置于待机模式时,下级供应模块本身可被停用,从而内在地指示遵循于低功率状态。
[0036] 在下级供应模块本身没有被停用并且在框514处功率和计量状态被确认为一致的情况下,可跟随“是”分支,并且可在框502处维护计量状态。当发现功率和计量状态不一致时,例如已通电且用户是活动的,但是没有进行计量,则可取从框514出发的“否”分支到框516。在框516处,可如上所述地强制实施制裁。例如,可重启计量并且操作返回到框502,或者可强制实施更严厉的制裁,诸如将计算机或组件断电。
[0037] 以上所讨论的概念和技术利用了计算机的可用性在断电或待机模式中时受到极大限制的这一简单事实。因此,当处于断电或待机状态时,具有高度的
置信度,确信停止计量。通过结合与计量有关的指示来监控功率状态,可实现一简单但有效的用于减少欺诈或计量出错的机制。
[0038] 本领域的普通技术人员将认识到,可对上述实施例作出各种修改和改变,包括但不限于对用于活动监控和制裁的硬件或软件的不同组合的使用。因此,
说明书和附图被认为是说明性而非限制性的意义,并且所有这样的修改都旨在被包括在本专利的范围之内。