支持知晓成本的应用的操作系统的制作方法

文档序号:7784722阅读:135来源:国知局
专利名称:支持知晓成本的应用的操作系统的制作方法
支持知晓成本的应用的操作系统
背景技术
许多计算设备具有去到提供数据服务的移动网络的连接。蜂窝电话已经演进成运行应用的“智能电话”,其中的许多应用通过移动数据网络发送及接收数据。与此同时,计算设备已经演进成采取使其易于由用户携带的外型。这些计算设备也运行通过移动数据网络发送及接收数据的应用。随着在移动计算设备上执行的应用变得更加强大和多样化,由这些应用使用所消费的移动数据网络上的带宽也随之增长。除了连接到移动网络的移动设备的数目增多和可用于在这些移动设备上执行的应用的数目增多之外,作为这些应用使用数据的方式改变的结果,数据使用也已增多。各项应用现在可以消费网络带宽以从事各项功能,比如发送及接收电子邮件、向移动设备流送音乐或视频或者通过因特网访问数据。响应于网络带宽使用的日益增长,移动网络运营商已经开始重新审视其关于网络数据使用收费的策略。在之前的几年中常见的做法是对于固定月费可以获得不受限制的数据使用,而现在更加普遍的做法则是对数据网络进行计量。在已计量网络中,基于使用来进行收费。但是已经提出了各种收费策略。举例来说,在可变收费策略中,可以对于由移动设备传送或接收到的每一个数据单位进行收费。可变收费策略的一种变型可以是封顶每月的总费用,从而使得一旦使用超出一定阈值之后,就不再招致附加的收费。在固定收费策略中,服务计划可以具有每月使用封顶。直到封顶的使用可以由固定价格涵盖,但是对高于封顶的使用可以按照可变策略来收费。在固定收费策略的一种变型中,一旦超出封顶之后可以没有附加的使用收费,但是网络可以节制高于封顶的数据传送,从而使得超出封顶的用户可能会体验到降级的服务。

发明内容
为了增强移动计算设备的用户的体验,可以提供知晓成本的操作系统。所述操作系统可以包括网络栈,其识别出与供传送的数据相关联的实体,并且根据适用于该实体的策略在网络使用之前对该数据进行选择性处理。所述实体可以是用户模式实体。但是这里所描述的处理也可以结合任何适当实体来执行,其中包括用户模式实体以及具有操作系统的内核的其他实体。所述处理可以包括通过网络传送数据,这可以包括基于成本标准选择适当的网络。但是处理也可以包括阻断数据传送或者节制传送。在一些实施例中,所述操作系统可以包括监测组件,其可以记录关于与多个实体当中的每一个相关联的网络数据使用的信息。成本服务可以至少部分地基于所记录的该使用信息来确定对于所述多个实体当中的第一实体的数据使用限制。确定使用限制的其他标准例如可以包括可配置的策略以及具有不同成本属性的连接的可用性。可以将这一限制提供给施行组件以便限制或者以其他方式影响(比如通过重定向)与第一实体相关联的数据通信。所述施行组件例如可以是能够阻断或节制数据通信的防火墙,或者可以涉及通过一个或更多审查点与网络栈进行交互的组件。可以在诸如应用、操作系统服务、用户帐户或应用分类等实体方面表达网络数据使用和使用策略。可以提供图形用户接口,通过所述图形用户接口用户可以识别出供所述服务使用来跟踪使用以及应用限制的实体。通过这样的接口,用户还可以指定与所指定的实体相关联的策略。但是也可以按照任何适当方式来指定所述策略,其中包括例如由企业网络的IT管理员指定,其在所管理的膝上型计算机或其他计算设备上规定策略。前面是本发明的非限制性概要,本发明由所附权利要求书限定。


附图不意图是按比例绘制的。在附图中,在各图中所示出的每一个完全相同或接近完全相同的组件由相同的附图标记表示。为了清楚起见,可能没有在每一幅图中标记出每一个组件。在附图中
图1是本发明的实施例可以操作在其中的示例性环境的草图; 图2是合并有成本服务的示例性计算设备的功能方框图; 图3代表由图2的成本服务提供的示例性应用编程接口(API); 图4是操作具有成本服务和知晓成本的应用的计算设备的示例性方法的流程图; 图5是操作知晓成本的应用的示例性方法的流程图; 图6是操作知晓成本的软件更新服务的方法的一个示例性实施例的流程图; 图7是处理数据以供在知晓成本的操作系统中传送的方法的一个示例性实施例的流程图8是图形用户接口的一个示例性实施例的草图,用户通过所述图形用户接口可以指定用于在计算设备上执行的应用的数据使用策略;以及
图9是可以在其中实践本发明的实施例的示例性计算设备的方框图。
具体实施例方式本发明的发明人已经发觉并认识到,针对移动数据使用的新型收费策略的启用可能对移动计算设备的用户构成负担。用户可能会误判其在记帐周期内的累积使用数量,并且不经意地对于超出封顶的使用招致收费或者令其数据传送受到节制。在任一种情况下, 用户体验都可能降级,这或者是由于“令人吃惊的”收费,或者是由于计算设备在尝试需要数据传送的操作时的出乎意料地差的性能。此外,随着移动应用变得更加强大,可能有更多应用自主地发起消费网络带宽的动作。这样的操作可能在计算设备的背景操作模式下执行,因此用户可能甚至不知道这些操作正在发生并且正在消费网络带宽。与网络上的数据存储库同步的应用例如可能周期性地通过网络与这些数据存储库交换数据。这样的应用可以包括电子邮件服务器或者软件更新服务。这些应用的信息交换可能在没有明确用户输入的情况下在背景模式下发生。为了避免损害移动计算设备的用户体验,可以提供促进知晓成本的应用的操作系统。所述操作系统可以提供服务,通过所述服务各项应用和其他用户模式组件可以获得当前网络信息,其中包括标识出可以借之计算针对网络的使用收费基础的信息。该信息例如可以允许应用确定所设想的操作的影响,以及基于所确定的影响选择性地执行或修改操作。所述影响例如可以被计算为在执行特定操作时所招致的收费。但是可以替换地或附加地计算其他类型的影响。这些影响可以包括将由所述操作消费的作为使用封顶的一定百分比的使用数量,或者直到达到封顶为止的剩余数量的百分比。不管确定所述影响的具体形式如何,知晓成本的应用都可以使用该信息来确定是否将执行会消费带宽的网络操作以及将如何执行。所述应用例如可能确定将立即在计量网络上执行操作。可替换地,所述应用可能确定将在后来的某一时间执行操作,或者推迟执行操作直到检测到未计量的或者成本较低的网络为止。在做出这样的确定时,知晓成本的应用可以利用可能由该应用获得的信息,比如关于完成操作的重要性或者与推迟完成相关联的成本的信息。一项服务可以从许多来源当中的任一个获得信息,以便能够将其提供给用户模式组件。在一些实施例中,可以从移动网络运营商获得所述信息。移动网络运营商可以为此目的运营服务器,其使得信息可用于移动计算设备上的所述服务。这样的信息例如可以包括标识移动网络运营商使用来计算数据收费的适用于移动计算设备的收费策略的信息。替换地或附加地,所述信息可以指明计算设备的先前使用。此外还可以获得管理信息,比如重置朝向封顶的累计使用度量的日期。所述服务还可以例如通过监测获得使用信息,从而收集其中一些或全部所述信息。为此目的,所述服务可以合并有监测组件,其对接到管理网络通信的操作系统的各个部分。所述监测组件例如可以对接到网络栈。通过这样的接口,监测组件可以获得关于在其上传送数据的特定网络的使用信息。此外,监测组件还可以获得关于与通过网络传送的数据相关联的用户模式实体的信息。监测组件可以与可用于监测网络使用的任何适当的用户模式实体或用户模式实体类别相关联地记录该信息。举例来说,监测组件可以记录与特定应用或服务、用户帐户或者应用类型相关联的使用信息。替换地或附加地,知晓成本的操作系统的服务可以基于与成本有关的标准来确定并施行关于数据使用的策略。这样的策略可以指定各种标准,当应用所述标准时,其表明是要执行、修改还是取消网络操作。这些标准可以是基于一种或更多种因素,比如通过执行操作而将招致的收费、由生成数据的申请人附着到供传送的数据上的标签或者用户指定的使用极限。可以通过任何适当方式获得这样的策略信息。在一些实施例中,所述服务可以提供用户接口,通过所述用户接口用户可以指定针对特定应用或应用分类的数据使用策略的使用极限或其他方面。为了施行关于数据使用的决定,可以在操作系统中合并一种或更多种施行机制。 这样的施行机制可以被合并到在应用级别建立网络连接的组件中。这样的组件可以被用来在使用连接的用户模式组件违反数据使用策略时阻断该连接的创建或者打断该连接。可替换地,可以通过防火墙或类似组件来施行,其可以被设定来阻断或节制去往或来自正操作在应用于其的数据使用策略之外的用户模式组件的数据分组。图1示出了具有知晓成本的操作系统的计算设备可以操作在其中的环境。图1示出了计算设备110。在该例中,计算设备110由用户112操作。计算设备110可以由用户 112携带到多个地点,并且计算设备110可以通过那些地点的每一个处的一个或更多接入网进行无线通信。在该例中,计算设备110具有平板外型,其可以很容易由用户携带。但是应当认识到,计算设备的外型并非本发明的关键所在。在图1的示例中,计算设备110包括一个或更多无线电装置,其支持通过多个接入网进行通信,计算设备Iio可以通过所述接入网访问因特网130。通过因特网130,计算设备110还可以访问许多数据源当中的任一个,比如网站、公司网络或者连接到因特网130的任何其他网络。为了简单起见,在图1中没有明确地表明这些数据源。在图1的示例中,计算设备110被装备成通过移动宽带网络访问因特网130。这样的网络例如可以由蜂窝电话运营商或其他移动网络运营商运营。在该例中,移动网络运营商维持接入网120。接入网120可以由移动计算设备通过基站访问,在图1中示出了其中的基站126。接入网120和基站1 可以利用传统组件或者按照任何其他适当方式来实施。基站1 可以包括用以支持与移动计算设备110的通信的传送器/接收器。该传送器/接收器耦合到接入网120,通过接入网120可以对去往和来自因特网130的通信进行路由。这样,移动计算设备110可以与能够通过因特网130到达的任何设备或其他网络交换数据,而因特网130又可以通过接入网120到达。运营接入网120的移动网络运营商可以针对使用接入网120进行收费。应用于发送自或目的为计算设备110的数据传送的收费策略可能取决于许多因素中的任一个。这些因素可以包括由用户112选择的特定订购计划。其他因素可以包括在适用的收费区间期间对于计算设备110先前通过接入网120传送的数据量。举例来说,所述收费策略可以对于在每月记帐周期期间超出预定阈值的数据使用施加不同的收费。但是应当认识到,许多因素可以替换地或附加地被用来确定对于在执行涉及到通过接入网120传送数据的操作时的数据使用将会招致的特定收费。不同的移动网络运营商可能具有对于这些因素进行不同地加权的不同收费策略。基于与不同用户的订购协议,一些移动网络运营商可能对于这些不同用户具有不同的收费策略。为了便于按照知晓成本的方式控制计算设备110的操作,计算设备110包括知晓成本的操作系统。这样的知晓成本的操作系统可以接收关于由移动网络运营商施加的收费策略的信息。知晓成本的操作系统可以通过许多方式获得关于移动网络运营商的收费策略和网络数据使用的信息。在一些实施例中,由计算设备110内的知晓成本的操作系统所适用的其中一些或所有(并且可能还有其他)数据成本信息都可以来自移动网络运营商。在图1 的实施例中,移动网络运营商维持服务器122,其被配置成向移动计算设备110提供这样的 fn息ο例如可以通过移动宽带网络的控制信道向计算设备110传送其中一些或全部数据成本信息。作为一个具体示例,可以通过SMS信道或其他适当控制信道传送这样的信息。 替换地或附加地,服务器122可以直接耦合到因特网130。这样的连接可以允许移动计算设备110通过移动计算设备110可能与因特网130形成的任何其他连接来获得数据成本信息。举例来说,用户112可以不时地将移动计算设备110连接到有线网络,通过该有线网络可以访问因特网130。在这种情况下,可以通过该有线连接访问其中一些或全部数据成本信肩、ο相应地应当认识到,移动计算设备110获得数据成本信息的定时和方式并非本发明的关键所在,并且可以采用用以获得该信息的任何适当机制或机制组合。作为一个具体
6示例,移动计算设备110可以按照不同方式获得收费策略信息和关于先前使用的信息。例如可以在将移动计算设备110最初配置成使用移动宽带网络时把策略信息加载到所述设备中。当移动计算设备110已经可以访问因特网130时,可以不时地更新收费策略信息。但是可能频繁改变的关于先前数据使用的信息则可以通过接入网120来无线传送。可以由服务器122或者由移动计算设备110发起这种动态改变的信息的传送。不管传送数据成本信息的定时和方式如何,都可以按照任何适当格式来传送所述信息。举例来说,移动网络运营商可以定义数据成本信息记录的格式。移动计算设备110内的知晓成本的操作系统可以被编程来识别所述格式,并且把数值与数据成本信息的特定参数相关联。替换地或附加地,可以把所述信息与标签或其他标识符相关联,从而允许知晓成本的操作系统基于与各个数值相关联的标签而把数值与数据成本信息的特定参数相关联。 相应地应当认识到,向移动计算设备110传送数据成本信息的格式并不是本发明的关键所在。服务器122例如可以耦合到接入网120,从而可以按照类似于被用来向计算设备 110传送其他类型数据的格式的格式通过基站1 向计算设备110无线传送数据成本信息。 但是向计算设备110传送数据成本信息的具体机制并不是本发明所要求的。服务器122可以按照任何适当方式获得数据成本信息。例如可以由移动网络运营商确立关于数据收费策略的信息,以作为向移动网络的订户提供的一个或更多订购计划的一部分。当用户112加入对于移动网络运营商的订购时,移动网络运营商可以把特定计划与移动计算设备110相关联。这样的订购的条款可以确定适用于计算设备110的数据收费策略。相应地,服务器122可以从用于管理移动网络的未在图1中明确示出的其他组件获得数据收费策略信息。服务器122可以按照任何适当方式获得关于移动计算设备110的过去数据使用的信息。服务器122可以在与移动计算设备110相关联的数据业务经过接入网120时监测该数据业务。但是也可以通过移动网络内的记帐组件或其他传统组件来跟踪关于过去数据使用的信息。相应地,服务器122可以从移动网络的未示出的其他组件获得关于与计算设备 110相关联的过去数据使用的信息。不管获得数据成本信息的方式如何,知晓成本的操作系统都可以按照许多方式当中的任一种来使用该信息。操作系统例如可以使用该信息来施行适用于在计算设备110上执行的应用或其他用户模式组件的数据使用策略。替换地或附加地,知晓成本的操作系统可以向知晓成本的应用或其他用户模式组件提供关于数据使用的与成本有关的信息。所述应用或其他用户模式组件于是可以使用这样的信息来确定是否以及如何执行网络操作。从而基于成本选择性地执行网络操作。知晓成本的应用可以选择性地执行网络操作的一种方式是推迟所述操作直到可以在较低成本下执行所述操作的某一后来时间为止。在其中收费策略基于不同日间时的数据使用而施加不同收费的实施例中,将操作推迟到较低成本的日间时的做法可能是适当的。可替换地,移动计算设备110可以被配置成连接到不同类型的网络。知晓成本的操作系统可以保持对应于每一个网络的数据成本信息,并且可以使用该数据成本信息来识别出用于执行特定网络操作的较低成本网络。相应地,推迟网络操作可能要求延迟所述操作的执行直到移动计算设备110连接到较低成本网络为止,并且随后通过所述较低成本网络执行所述操作。在图1的示例中,移动计算设备110被配置成执行涉及到通过移动宽带网络交换数据的操作。其还被配置成用于无线连接到局域网,所述局域网又可以耦合到因特网130。 例如可以通过为移动计算设备110装备能够使用Wi-Fi的网络接口卡来提供这样的能力。 但是与移动宽带网络不同,这样的局域网连接固有地与地点相关。图1示出了移动计算设备110可以在该处通过接入点140形成与局域网的无线连接的地点144。地点144可以代表用户112的家庭或办公室,或者接入点处于其范围内的公共“热点”或其他适当地点。在该例中,接入点140通过服务器142耦合到因特网130。相应地,当用户112将移动计算设备110带到地点144时,移动计算设备110可以执行涉及通过接入点140交换数据的操作。如果通过接入点140交换数据的成本低于通过移动宽带网络的接入网120交换数据的成本,则知晓成本的应用可以在移动计算设备处于地点144或者其中可以获得这种低成本网络连接的其他适当地点时执行推迟的涉及数据交换的操作。参照图2,其中提供了合并有知晓成本的操作系统和知晓成本的用户模式组件的移动计算设备210的体系结构的一个示例。图2示出了移动计算设备210被配置成接口到多个网络。在该例中,示出了网络接口卡220和网络接口卡222。每一个网络接口卡可以支持去到不同网络的连接。举例来说,网络接口卡220可以是本领域内已知的Wi-Fi网络接口卡。这样的网络接口卡可以支持去到局域网的连接,比如通过图1中所示的接入点140 的连接。网络接口卡222可以被配置成用于通过移动宽带网络进行通信,比如通过图1中所示的基站126的连接。网络接口卡220和222可以利用本领域内已知的技术来实施。可以通过被图示为驱动程序2M和驱动程序2 的软件来控制每一个网络接口卡 220和222。每一个驱动程序2M和2 可以被配置成控制其相关联的网络接口卡的特定操作。这些操作可以包括传送及接收数据。这样的控制可以利用本领域内已知的技术来执行。但是进行传送及接收的具体机制不是本发明的关键所在,而是可以使用任何适当的技术。在操作中,驱动程序2M和2 与移动计算设备210的操作系统的各个组件接口。 所述操作系统充当驱动程序与一个或更多用户模式组件之间的中介,所述用户模式组件生成或使用通过网络接口卡220或222交换的数据。在该例中,用户模式组件被标记为应用 270A.270B和270C。但是应当认识到,可以在移动计算设备210上执行发送或接收数据的任何数目的应用。此外,操作系统内的操作系统服务或其他用户模式组件可以类似地发送或接收数据。相应地,应用270A、270B和270C是示例性的,而不限制可以发送或接收数据的用户模式组件的类型。在图2的示例中,移动计算设备210的操作系统被显示为包括栈230,其用来传递数据以供从应用270A、270B或270C传送到其中一个网络接口卡220或222。相反,可以在栈 230内处理在网络接口卡220或222处接收到的数据,并且使其可用于其中一个应用270A、 270B或270C。在所示实施例中,栈230可以利用传统技术来实施。栈230可以执行诸如以下操作接收数据以供从其中一个应用270A、270B或270C 传送,将该数据分割成各个分组,以及将适当的报头附着到所述分组上。栈230然后可以将这样的分组传输到其中一个驱动程序2M或226,以便分别通过相关联的网络接口卡220或222传送。每一个分组的具体格式以及所述分组被施加到的驱动程序可以由栈230决定。 举例来说,应用可能请求栈230建立去到远程设备的连接。栈230可以通过经由其中一个网络接口卡220或222所连接到的网络与该远程设备交换通信来形成这样的连接。随后可以通过网络的特性来确定分组的格式。在一些情况中,由栈230选择来形成连接的网络接口卡可以是基于能够借之访问远程设备的网络而选择的。但是当可以通过多个网络访问远程设备时,借之建立连接的网络可以取决于用户偏好或者可以借之到达远程设备的各个网络的相对性能。这样的选择技术在本领域内是已知的。在其中计算设备210的操作系统知晓成本的实施例中,通过每一个网络进行通信的相对成本也可以是选择用于建立这种连接的网络的因素。不管被用来选择用于连接的网络的具体方法如何,一旦建立连接,所述应用就可以为栈230提供数据以供通过该连接传送。在提供数据以供通过连接传送时,应用不需要指定将借之传送该数据的网络。相反,栈230可以对数据进行处理,并且对其进行格式化以适于通过与连接相关联的网络进行传送。类似地,对于比如UDP之类的无连接协议,用户模式组件可以请求对端点进行传送。栈230随后可以应用已知的技术来选择网络和适当格式以便与该端点进行通信。栈230可以在各个阶段中执行这样的处理。第一阶段可以在上栈部分232中执行, 并且可以独立于将要借之传送数据的特定网络。依赖于将要借之传送数据的网络的任何处理可以在下栈部分234中执行。下栈部分234中的处理例如可以包括选择供传送的分组被路由到的适当驱动程序。但是在下栈部分234中也可以替换地或附加地执行任何其他适当的处理。在网络接口卡220和222所连接到的网络上所接收到的数据也可以通过栈230来处理。对于所接收到的数据,栈230对所述数据进行处理,并且使其可用于适当的其中一个应用270A…270C。所述处理可以要求特定于网络的处理(其可以在下栈部分234中执行) 以及独立于网络的处理(其可以在上栈部分232中执行)。但是在每一种情况下,每一个栈部分中的处理都可以利用本领域内已知的技术来执行。图2示出了移动计算设备210可以知晓成本的多种方式。在所示示例中,所述操作系统包括成本服务256。在这里,成本服务256保持多个数据存储库,即数据存储库252、 数据存储库253和数据存储库254。数据存储库252可以包含关于计算设备210所能连接到的网络的数据收费策略的信息。虽然图1示出了移动计算设备连接到仅仅一个移动宽带网络,但是用户可以具有针对多个网络的订购,并且数据存储库252可以包含关于多个这种网络的信息。数据存储库2M可以包含关于数据使用的信息。数据存储库254中的信息可以按照任何适当方式来组织。在一些实施例中,数据存储库邪4可以包含对应于计算设备210 所能连接到的一个或更多网络的聚集使用信息。在其他实施例中,数据存储库254中的数据使用信息可以仅仅是针对在数据存储库252中有相应的收费策略的网络而存储的。但是也可以使用其他标准(其中包括明确用户输入)来确定可以为之存储数据使用信息的网络。作为通过网络存储聚集数据使用的替代或补充,数据存储库2M可以存储关于用户模式组件的数据使用的信息。该信息可以被存储以记录比如应用270A、270B或270C的各个用户模式组件的数据使用。替换地或附加地,数据存储库254中的信息可以被组织成
9显示用户模式组件分类的数据使用。举例来说,可以把操作系统的所有组件作为一分类来对待,并且关于操作系统组件的数据使用的信息可以被存储在数据存储库254内的单条记录中。通过存储与用户模式组件有联系的数据使用信息,可以允许知晓成本的操作系统和/或知晓成本的应用基于数据使用以及适用于特定用户模式组件的数据使用策略来管理网络操作。为了支持这样的行为,知晓成本的操作系统可以包括其他的数据存储库253。 数据存储库253可以包含适用于一个或更多用户模式组件的数据使用策略。在一些实施例中,可以为各个用户模式组件或用户模式组件分类提供数据使用策略。可以按照任何适当方式来获得这样的数据使用策略。在一些实施例中,可以由移动计算设备210的管理员将信息和数据存储库253下载到数据存储库253中。但是在其他实施例中,可以由成本服务 256通过用户接口 260获得数据使用策略。通过用户接口沈0,成本服务256可以从移动计算设备210的用户获得策略信息。不管成本服务256借以获得数据存储库252、253和254中的信息的机制如何,成本服务256都可以使用该信息来促进移动计算设备210的知晓成本的操作。正如前面关于图1所描述的那样,保持在数据存储库252和254中的该类数据成本信息可以从移动网络运营商获得。这样的信息可以通过经由网络接口卡220或222接收到的数据传送而获得,并且通过栈230被传递到成本服务256。在这样的操作中,成本服务 256可以利用适用于任何其他用户模式组件的通信技术接收这样的数据成本信息。不管成本服务256接收所述信息的方式如何,其都可以按照任何适当格式将数据成本信息存储在数据存储库252和254中。图2示出了可以借之获得数据使用信息的一种替换机制。在该例中,成本服务包括使用监测器组件250。在该例中,使用监测器组件250与栈230接口。随着栈230处理所传送或所接收的数据,其可以提供关于以下各方面的信息所传送或所接收的数据量,借之传送或接收数据的网络,以及生成或接收该数据的用户模式组件。这样的信息可以被用来利用数据使用信息填充数据存储库254。因此可以使用通过使用监测器250获得的信息而不是获得自移动网络运营商的信息。在一些实施例中,可以将来自使用监测器250的信息与获得自移动网络运营商的信息相结合地使用。举例来说,成本服务256可以在相对较长的间隔下从移动网络运营商获得数据使用信息。在这些间隔之间,由使用监测器250生成的数据使用信息可以被用来提供更加新近的信息。可替换地,由使用监测器250收集的数据使用信息可以是关于数据使用的信息的主导来源。但是可以不时地把使用监测器250所记录的数据使用与移动网络运营商所报告的数据使用进行比较。可以解决所述两种用于测量数据使用的技术之间的差异。举例来说,可以更新由使用监测器250采集的数据存储库254中的信息,从而使得由使用监测器250所测量的数据使用跟踪由移动网络运营商所报告的数据使用。在一些实施例中,使用监测器250可以采集不可用于移动网络运营商的关于数据使用的信息。作为一个示例,使用监测器250可以访问到关于借之传送或接收数据的网络的信息以及关于正在传送或接收该数据的用户模式实体的信息。虽然移动网络运营商可能访问到关于数据使用的信息,但是移动网络运营商可能不一定能够把通过接入网120传送的数据与计算设备210内的特定用户模式实体相关联。为了获得这样的信息,使用监测器250可以耦合到栈230中的可在该处获得网络信息和用户模式组件信息的一个或更多位置。在图2所示的实施例中,使用监测器250通过可扩展点244耦合到上栈部分232。 在上栈部分232中,可以获得关于用户模式实体的信息,比如请求了数据传送或者作为通过网络接收到的数据的目的地的应用或其他用户模式组件。可以按照任何适当方式来标识用户模式组件,比如实施该用户模式组件的可执行程序组件的完整路径或者与所述可执行程序相关联的数字签名。不管标识用户模式组件的方式如何,所述标识都提供了一种使得使用监测器250把关于通过网络传送的数据的信息与特定用户模式组件相关联的机制。在一些实施例中,上栈部分232可以执行独立于将要借之传送数据或者已经借之接收到数据的网络的处理。相应地,使用监测器250还可以耦合到下栈部分234,在该处可以获得关于网络的信息。在该例中,使用监测器250通过可扩展点M2耦合到下栈部分234。 使用监测器250可以把接收自下栈部分234的关于网络的信息与接收自上栈部分的关于用户模式组件的信息进行相关,从而使得使用监测器250能够在逐应用的基础上生成数据使用fn息。可以使用任何适当技术来实施栈230内的可扩展点。但是可以利用本领域内已知的技术来实施可扩展点。可扩展点(比如可扩展点242和M4)可以在其他情境中被合并到栈230内,比如用以允许反病毒软件与栈230接口。通过这样的可扩展点,栈230可以提供关于正被处理以供发送或者通过网络接收到的分组的信息。此外,通过这样的可扩展点,外部组件可以向栈230提供命令,所述命令可以影响对所接收到的分组或者将要传送的分组的处理。在使用监测器250的情况下,可扩展点242和244可以只被用来采集信息。但是知晓成本的操作系统的其他方面可以基于数据成本信息使用可扩展点242或244来控制栈 230的操作。不管信息被加载到数据存储库252、253和254中的方式如何,成本服务256都可以按照一种或更多种方式来使用该信息。成本服务256例如可以访问数据存储库252、253 和254以便向知晓成本的应用提供信息,所述知晓成本的应用随后可以基于成本信息改动其执行网络操作的方式。可替换地,成本服务256可以使用数据存储库252、253和254中的信息来直接控制网络操作的执行。为了支持向知晓成本的应用或者其他用户模式组件提供成本信息,成本服务256 可以具有应用编程接口 258。知晓成本的应用可以在执行网络操作之前通过应用编程接口 258进行调用,以便获得成本信息。响应于这样的调用,成本服务256可以向知晓成本的应用提供来自数据存储库252、253和254当中的任一个的任何信息。替换地或附加地,成本服务256可以计算适用于通过应用编程接口 258进行了调用的特定应用的成本参数的数值。作为一个示例,通过应用编程接口 258进行调用的知晓成本的应用可以标识网络适配器,并且指明将要通过该网络适配器传送的数据量。基于由操作系统所保持的信息,成本服务256可以识别当前与所述网络适配器相关联的网络。成本服务256可以访问数据存储库252以便获得对应于该网络的数据收费策略。由于所述策略可能指明了用以基于该网络的使用是高于还是低于某一封顶来计算对应于数据传输的收费的不同方法,因此成本服务256可以访问数据存储库2M来确定通过该网络的先前数据使用。通过组合该信息,成本服务256可以确定将要对于待传送数据施加收费的基础。用于计算收费的所述基础可以响应于通过应用编程接口 258的调用而被传送到知晓成本的应用。但是也可以按照其他格式给出该收费基础信息。在一些实施例中,通过应用编程接口 258的调用可以包括关于将要传送的数据量的信息。在这种情况下,关于计算收费的基础的信息可以在递增收费的计算中得到反映,其中所述递增收费将通过在网络上传送指定数据量而招致。作为另一种可能性,应用编程接口 258可以返回定义收费策略和先前数据使用的信息。但是应当认识到,可以通过应用编程接口 258使得任何适当的数据成本信息可用,并且不需要响应于所述接口上的调用而直接提供信息。作为一种可能变型的一个示例, 应用编程接口 258可以支持对用户模式组件进行登记,以便在具有指定成本特性的网络可用时接收通知。举例来说,正如前面关于图1所描述的那样,知晓成本的应用所能采取的动作是推迟数据传送直到低成本或无成本网络可用为止。相应地,应用编程接口 258可以支持登记,通过登记用户模式组件可以指明所期望的网络成本特性。用户模式组件例如可能指明无成本网络。成本服务256可以监测移动计算设备210所连接到的可用网络。利用数据存储库252和254中的信息,成本服务256可以对于每一个网络确定该网络的成本特性。 在检测到满足由已登记的用户模式组件所指明的期望成本特性的网络之后,成本服务256 可以向用户模式组件通知满足所述期望成本特性的网络的可用性。这样,知晓成本的应用可以推迟其确定为如果在当前网络上执行则成本将过高的特定操作,直到识别出定价较低的网络这样的时间为止。除了使用数据存储库252、253和2M中的信息来向知晓成本的用户模式组件提供信息之外,成本服务256可以基于数据成本信息控制涉及到通过网络传送数据的操作的执行方式。在图2的实施例中,成本服务256可以访问包含数据使用策略的数据存储库253。 每一条策略可以指明将要在其下传送或接收数据的条件。数据使用策略还可以一般性地指明这样的策略信息,即适用于所有组件。替换地或附加地,可以对于各个用户模式组件或用户模式组件类别指明使用策略。这样的通知可以指明将要在其下传送或接收数据的条件, 受到一条或更多条约束(比如关于传送时间的约束),用于传送的网络成本,或者被用于这样的传送的数据速率。相应地,成本服务256可以访问数据存储库253以便获得对应于一个或更多用户模式组件的数据使用策略,并且确定是要允许、阻断还是限制来自或去往用户模式组件的数据传送。就任何这样的策略取决于网络的当前收费基础来说,服务256可以从数据存储库2M访问数据使用信息,并且对于移动计算设备210所连接到的一个或更多网络确定对于通过该网络传送的递增数据量计算收费的当前基础。在其中成本服务256确定可以传送或接收数据的方式的实施例中,成本服务256 可以与一个或更多施行组件接口,以便实施这样的确定。在图2的示例中,这些施行组件处于移动计算设备210内。作为一个示例示出了防火墙M0。防火墙240可以是本领域内已知的可以阻断分组传送或接收的组件。防火墙240 可以被配置成在逐用户模式组件的基础上阻断或限制数据传送。在其中成本服务256决定允许应用组件例如进一步通过网络传送数据的情况下,成本服务256可以将防火墙240配置成阻断来自该应用的传送。在一些情况下,防火墙240可以被配置成允许来自所标识出的用户模式组件的传送,但是限制这些传送的数据速率,从而“节制”所述传送。相应地,防火墙240是成本服务256可以采用来为特定用户模式组件或者用户模式组件分类施行数据使用策略的施行机制的一个示例。可以替换地或附加地包括其他施行机制。作为一种可能替换方案的一个示例,成本服务256可以与栈230接口以便施行数据使用策略。成本服务256可以例如通过比如可扩展点242和M4的可扩展点与栈230接口。通过这样的可扩展点,成本服务256可以获得关于正被传送或接收的数据的信息。响应于这样的信息,成本服务256可以通过可扩展点242或M4向栈230提供命令。这些命令可以表明是否将由栈230传递某一数据分组。 这样就可以阻断或节制通过网络的数据传送。替换地或附加地,由成本服务256提供的命令可以控制栈230改变将在其上传送一个或更多数据分组的网络。举例来说,虽然应用组件270A…270C指明通过与计量网络相关联的网络适配器进行传送,但是当成本服务256确定通过该计量网络的传送将违反与生成所述数据的应用相关联的数据使用策略时,成本服务256可以向栈230生成命令,从而使得通过替换的非计量网络传送来自该应用组件的数据分组。通过可扩展点,成本服务256还可以影响发送到计算设备210的数据量,所述数据量也可能招致数据使用收费。作为可以被采用来减少发送到移动计算设备210的数据量的施行机制的一个示例,成本服务256可以向栈230生成命令以便断开网络连接。通过断开网络连接可以阻断由外部设备针对在移动计算设备210上执行的用户模式组件的数据传送。除了从数据存储库253获得数据使用策略信息之外,成本服务256还可以通过其他方式获得数据使用策略信息。作为一个示例,可以将数据使用策略信息从用户模式组件传输到成本服务256。图2提供了可以借之把所述数据使用策略信息传输从用户模式组件传输到成本服务256的机制的一个示例。在该例中,该信息是基于由用户模式组件生成的标签238的数值而被传输的。如图所示,比如应用270A…270C之类的用户模式组件可以通过接口 236访问栈230,以便发起通过网络的数据传送或接收。接口 236可以接受与针对数据传输的请求或者针对建立连接的请求相关联的标签238。标签238的数值可以指明与将由应用组件发送或接收的数据相关联的优先级。成本服务256可以使用该数值来确定用于处理与所述应用组件的数据传送或接收相关联的网络操作的具体动作。作为一个更加具体的示例,如果标签238的数值表明数据传送具有高优先级,则成本服务256可以建立或保持用于传输该数据到应用组件或从该应用组件传输该数据的连接,即使存在与这样的数据传送相关联的递增成本也是如此。可替换地,如果标签238的数值表明相对较低的优先级,则成本服务256可以断开涉及该应用组件的连接,以便阻断通过对于其而言进一步的传送将招致数据使用收费的网络的来自该应用组件的数据传送以及针对该应用组件的进一步数据接收。作为另一个示例,标签238的数值可以表明与对应于某一应用组件的数据传送相关联的中等优先级。相应地,成本服务256可以允许这样的传送继续,只要与所述数据传输相关联的递增成本低于某一阈值。但是当对应于进一步传送的递增成本超出一定阈值时,成本服务256可以阻断进一步的传送。在该例中描述了对应于标签238的三个优先级数值。但是应当认识到,标签238 可以采取任意数目的数值,并且成本服务256可以被编程为对每一个所述可能数值做出不同响应。此外还应当认识到,虽然图2示出了可以在单独的组件中执行与网络成本相关联
13的处理,但是成本服务256不需要具有任何特殊形式。举例来说,成本服务256的各项功能可以与网络栈230或者与操作系统内的其他组件集成在一起。参照图3,其中示出了可以通过应用编程接口 258提供的信息的一个示例。在图3 的示例中,应用编程接口 258包含多个字段,每个字段包含被返回到通过应用编程接口 258 请求数据成本信息的用户模式组件的信息。在所示实施例中,可以将每一个字段中的信息调整到移动计算设备210的当前操作状态,这是因为其涉及可能已经对之请求了信息的特定网络。相应地,通过应用编程接口 258返回的信息的一部分可以表明使得所标识出的网络计算对于递增数据使用的收费的当前基础。在该例中,表明计算收费的当前基础的信息是通过字段310和312中的信息的组合而反映的。在该例中,字段310包括关于网络的收费策略的信息。字段310中的数值例如可以表明所标识出的网络不受限制,这意味着移动网络运营商对于递增数据使用不施加附加的收费。可替换地,字段310中的数值可以表明所述网络的收费策略是固定类型收费策略,这意味着对于直到指定封顶的数据使用没有附加收费,但是对于高于封顶的数据使用可能有递增收费。作为另一个示例,字段310中的数值可以表明对应于所标识出的网络的可变收费策略,这意味着移动网络运营商对于通过所述网络传送的每一个数据单位都施加收费。此外,字段312可以包含标志数值,其表明基于先前数据使用的所标识出的网络的当前收费状态。字段312可以取得不同数值,这取决于字段310中所表明的收费策略。字段312中的标志的数值可以表明已经发生了一定先前数据使用量,从而已经超出了所标识出的网络的使用封顶,并且移动网络运营商可能正对所传送的每个数据单位施加收费。这样的数值对于使用固定类型收费策略的网络可能是适当的。作为另一个示例,字段312中的数值可以表明所标识出的网络正被节制。这样的数值对于其中在超出封顶之后节制数据传送的使用固定类型收费策略的网络来说可能是适当的。作为另一个示例,字段312中的数值可以表明移动计算设备310正处于漫游模式下。这样的数值可以表明计算设备210正处于移动计算设备210的用户与之存在订购的移动网络运营商的归属服务区之外。在漫游模式下,可能无法从用户与之存在订购的移动网络运营商获得关于网络数据使用的信息或者数据成本信息的其他元素。知晓成本的用户模式组件可以将这样的信息对待为表明所标识出的网络正对所传送的每一次数据递增施加收费,并且该收费是以高费率施加的。知晓成本的用户模式组件可以使用该信息来决定应当阻断除了最高优先级信息之外的所有网络传送或者应当将其路由到一个替换网络。图3示出了结合共同提供关于所标识出的网络对于数据传送施加递增收费的基础的信息的字段310和312中的信息,用户接口 258可以提供对于所标识出的网络正在实行的收费策略的属性320。知晓成本的用户模式组件可以使用属性320来确定对于可能需要数据传送的网络操作的处理。在图3的示例中示出了属性322A…322N。可以通过应用编程接口 258提供任意数目的属性。可以通过所述接口传递的属性的一个示例是表明先前数据使用的属性。这样的属性可以表明在对应于与所标识出的网络的订购的当前记帐周期期间通过网络先前传送的数据量。这样的信息可以从数据存储库2M或者任何适当来源获得。所述属性可以表明对应于所标识出的网络的总的数据使用。替换地或附加地,属性可以只表明通过应用编程接口 258请求信息的用户模式组件的数据使用,或者表明与通过应用编程接口 258请求信息的用户模式组件属于同一类别的各个用户模式组件的聚集使用。可以包括在属性320当中的另一项属性是封顶阈值。对于具有固定类型收费策略的网络,该属性的数值可以表明某一阈值,在高于该阈值的情况下施加每单位收费、节制传送速率或者网络收费或操作的某种其他特性发生改变。另一项属性可以是时间戳。时间戳属性的数值可以表明对应于通过应用编程接口 258传递的信息的数值是何时获得的。在其中通过应用编程接口 258提供的信息是从移动网络运营商导出的情况下,所述时间戳可以表明接收到来自移动网络运营商的最近一次信息更新的时间。作为可以通过应用编程接口 258提供的属性的再一个示例,可以包括计划重置日期。对于具有基于某一间隔(比如一个月或一个记帐周期)期间的使用的收费策略的网络, 计划重置日期属性可以表明新的间隔开始的日期,从而在该日期将累计的使用实际重置到零。另一项属性可以表明移动计算设备210的有效连接速度。该属性可以表明移动计算设备210的有效链接速度。这样的信息可以表明网络上的状况。替换地或附加地,在其中网络采用包括节制超出封顶的数据传输的收费策略的实施例中,该属性中的信息可以表明网络的当前操作模式。应当认识到,图3代表可以通过应用编程接口 258提供给知晓成本的用户模式组件的信息的一个示例。在一些实施例中可以提供不同的或附加的信息,并且知晓成本的用户模式组件可以使用所提供的其中一些或所有信息来控制涉及数据传输的网络操作的执行。表I示出了可以在字段310、311和322A…322N中提供的可能数值组合的示例。在表I所提供的示例中,在表I的标题为“成本数值”的一列中列出代表收费策略的数值,其比如可以由字段310中的数值代表。标题为“标志”的一列表示标志字段312的可能数值。 表I中的其他各列提供可以结合其他数据成本信息通过应用编程接口 258传递的属性320 的示例。标识先前数据使用的属性的可能数值被表示在表I中的标题为“数据使用”的列中。代表被用来定义封顶的阈值的属性的可能数值出现在表I的标题为“封顶阈值”的列中。时间戳的可能数值表明从移动网络运营商采集到通过应用编程接口 258被提供给用户模式组件的数据成本信息的时间。代表对于累计数据使用的跟踪根据与移动网络运营商的订购而重置的日期的另一项属性的可能数值被表示在标题为“计划重置日期”的列中。虽然没有在表I中示出,但是也可以提供其他属性,比如通过网络的通信的有效数据速率。表I示出了已经为某一网络定义的多个可能的成本状态。可能的成本状态被标识在标题为“成本状态”的列中。相应地,表I中的每一行表明在特定成本状态下通过应用编程接口 258提供的每一个字段中的可能数值。举例来说,表I的对应于被表示为“连接不受封顶或使用收费限制”的成本状态的该行标识对于该成本状态的字段310、312、322A…322N 的可能数值。具体来说,在该例中,由于连接不受限制,因此字段310包含的数值表明网络收费策略对应于不受限制的策略。类似地,由于没有与不受限制的收费策略相关联的封顶,因此在该成本状态下将不设置用以表明相对于封顶的使用的标志。
对于属性320,其中的一些可能不适用于所表明的成本状态。在不受限制的收费策略的具体示例中,对应于封顶阈值的属性不适用,正如表I中所表明的那样。其他属性可以取得数字数值。举例来说,表明数据使用的属性可以具有代表先前数据使用量的任意数值。 表明时间戳的属性可以具有表明时间的任意数值。表明计划重置日期的属性也可以具有表明日期的任意数值。在其他成本状态下,字段310、312和322A…322N可以具有不同的所允许数值。举例来说,如表I的下一行中所示,当成本状态是“连接是封顶计划并且正在封顶阈值以下操作”时,字段310可以取得表明收费策略是固定类型收费策略的数值。虽然对于该成本状态可能存在封顶,正如“封顶阈值”的列中所表明的那样,但是由于移动计算设备正在封顶阈值以下操作,因此在该成本状态下不设定字段312中的标志。在对应于具有封顶并且在封顶阈值以下操作的计划的成本状态下,其他属性也可以取得数值。举例来说,代表数据使用、封顶阈值、时间戳或计划重置日期的属性在该状态下可以取得任意数值。作为另一个示例,在表明“在每字节的基础上对连接收费”的成本状态下,字段310 可以取得一定数值,正如标题为“成本数值”的列中所表明的那样,其代表可变类型收费策略。在该状态下,正如标题为“标志”的列中所表明的那样,字段312中的数值可以表明没有设定标志。在该成本状态下,对应于封顶阈值的数值不适用,但是诸如数据使用、时间戳和计划重置日期之类的其他属性可以具有适当类型的任意适当数值。表I的其他各行表明了另外可能的成本状态以及在这些状态下通过应用编程接口 258传递的可接受数值。具体来说,在该例中,表I示出了以下另外的成本状态“连接正在逼近超出封顶”、“连接已经超出封顶并且现在正在按照字节进行超额收费”、“连接已经超出封顶并且现在正被节制”、“连接正被移动网络运营商节制”以及“连接正在移动网络运营商的网络之外漫游”。表I表明了对应于图3中所示的每一个字段的可能数值。举例来说,字段310中所反映的收费策略可以取得表I所示示例中的“不受限制”、“固定”或“可变”数值。在图I所示的示例中,字段312中的信息所代表的标志可以不被设定或者可以表明超出封顶状况或者受节制状况或者漫游状况。可以按照任何适当方式确定响应于针对数据成本信息的请求而通过应用编程接口 258报告的成本状态。成本状态例如可以由移动网络运营商报告。替换地或附加地,成本状态可以由成本服务256或者执行在移动计算设备210上的其他组件确定。在表I所代表的示例中,除了漫游在移动网络运营商的网络之外的任何成本状态都可以由移动网络运营商确定。漫游状态可能无法由移动网络运营商表明,这是因为移动网络运营商可能不具有在移动计算设备210漫游时与其进行通信的适当措施。但是确定成本状态和相应的属性值的具体机制不是本发明的关键所在。
权利要求
1.一种操作包括至少一个组件和网络栈的计算设备的方法从所述组件生成供传送的数据;利用至少一个处理器执行以下操作把所述数据和与所述组件相关联的实体的标识符相关联; 结合针对通过网络传送所述数据的命令将所述数据施加到网络栈(234);在所述栈(234)内,根据用于所述数据的标识符识别出(414)与所述实体相关联的所记录的网络数据使用信息;把数据使用策略与至少所记录的网络数据使用信息进行比较(432);以及基于所述比较步骤确定(432)对所述数据的处理。
2.权利要求1的方法,其中,所述实体是所述组件。
3.权利要求2的方法,其中,所述组件是执行在所述计算设备上的应用。
4.权利要求1的方法,其中,所述实体是所述组件的用户。
5.权利要求1的方法,其中所述方法还包括,在将所述数据施加到所述栈之前把所述数据与由所述组件生成的标签(234)相关联,所述标签表明与所述数据的传送相关联的优先级;并且基于所述比较步骤确定对所述数据的处理包括,至少部分地基于由所述标签所表明的优先级来确定所述处理。
6.权利要求1的方法,其中确定对所述数据的处理包括,确定通过网络传送(450)所述数据;并且所述方法还包括,在所述栈内基于所述数据的大小更新所述网络数据使用信息。
7.一种计算设备,其包括非易失性存储装置(252,253,2 );物理网络接口(220,222);网络栈(234),其包括用于接收供传送的数据的第一接口(236)和所述网络栈借之与物理网络接口交互的第二接口 ;以及监测组件(250),其与所述栈交互以便接收关于通过第二接口传递的数据的指示,所述监测组件把实体与所述数据相关联并且在所述非易失性存储装置中记录与所述实体相关联的使用。
8.权利要求7的计算设备,其中所述监测组件基于应用分类在所述非易失性存储装置中记录使用;并且所述监测组件通过结合与所述实体相关联的应用分类来记录使用而把与所述实体相关联的使用记录在所述非易失性存储装置中。
9.权利要求8的计算设备,其中所述计算设备还包括用于再现图形用户接口的组件(260),以用于接收指明与所述实体相关联的应用分类的用户输入。
10.权利要求7的计算设备,其中所述监测组件基于以下各项的至少其中之一将所述实体与所述数据相关联与之交换所述数据的应用的身份,与之交换所述数据的应用或服务的分类,或者和与之交换所述数据的组件相关联的用户帐户。
全文摘要
一种支持知晓成本的网络行为的移动计算设备。所述移动计算设备的操作系统可以把供传送的数据与实体相关联,并且根据适用于该实体的策略和关于数据使用的信息来确定对于所述数据的适当处理。所述处理可以包括在有或没有节制的情况下传送所述数据,或者阻断所述数据的传送。所述策略例如可以由用户提供,或者可以被编码在与供传送的数据一起提供的标签中。可以对于诸如应用、操作系统服务、用户帐户或者应用分类之类的实体指定策略。所确定的处理的施行可以是基于栈内的动作或者单独的施行机制,比如防火墙。
文档编号H04W4/24GK102547647SQ20111042618
公开日2012年7月4日 申请日期2011年12月19日 优先权日2010年12月17日
发明者A.A.哈桑, B.R.小安德斯, D.A.安尼普科, S.R.加塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1