管理网络接口模块中电源的方法和装置的制作方法

文档序号:6381681阅读:341来源:国知局
专利名称:管理网络接口模块中电源的方法和装置的制作方法
技术领域
本发明涉及移动计算设备,更特别地,涉及移动计算设备中的电源管理。
背景技术
随着如膝上型计算机、个人数字助理设备等等这样的无线连网设备和体系结构的发展和部署,消费者和公司越来越能够实现真实移动计算、合作和信息交换的好处。商务旅行者不再需要携带任何类型的电缆及仅为连接到网络来检索email消息、下载文件或交换信息而无休止地搜索可用的数据端口。公司和家庭消费者对他们的网络的访问不再限制于墙上的以太网接口所在地点。会议的参加者和朋友组群现在可以构成他们自己的特别网络而无需在他们自己之间连接电缆或登录到某些已有的网络。他们可以使用无线协议登录到网络同时使用电池电源,从而允许更高的移动性。
然而,虽然无线网络上移动计算的概念被广泛接受,这个概念的实现有多种形式。即,目前在市场竞争中存在几种不同的无线协议标准。这些标准包括802.11b(也称为Wi-Fi)、802.11a(也称为Wi-Fi5)、802.11g、HomeRF、蓝牙、无线1394、HiperLAN2、UWB、ZigBee等等。这些不同标准的每一个有着特殊的优点并且在观念中过去和现在都是对特殊的应用和用户开发。这些标准的一个共同点是使用通常作为网络接口卡(NIC)实现的网络接口模块。
随着移动工作者要求在组织内和旅行时更高的移动性,移动工作者受限于对无线设备供电的电池的寿命。电池寿命是对移动性的主要限制。无线NIC是在膝上型计算机中第三高消费的电源使用者。在小波形因数的设备中,无线NIC甚至比膝上型电脑消耗更高百分比的电池电源。能量的大部分被用于能保持无线NIC处于加电状态以便无线数据传输,即使当前NIC并未用于数据传输时。由于电池提供的能量有限,如何降低功耗以延长由电池供电的设备的操作时间对这些设备是一个重要问题。
已用于降低无线NIC执行的功能的功耗的一种方法是调整在执行进行确定哪些设备在无线连网设备的范围之内的扫描之间的周期。例如,2002年12月8日提交、并指派给本申请的代理人的美国专利10/323,043教授了基于扫描历史和上次扫描的扫描结果使用指数函数设置扫描之间的时间。然而,虽然增加了扫描之间的时间而节约了电源,仍需要更多的方法来节约电池电源。

发明内容
本发明提供用于在移动设备的网络接口模块中管理电源的方法和装置。电源管理模块基于从计算设备中的其他模块接收的参数控制网络接口模块的电源状态。如果计算设备由如电池或燃料电池这样的有限能量电源供电且该计算设备和访问点关联,网络接口模块在节电状态工作以节约从有限能量电源提取的电能。在一个实施例中,节电状态为快速节电状态或最大节电状态。如果计算设备未关联于访问点且网络接口模块正在扫描或已请求扫描,网络接口模块工作在加电状态,在其中对网络接口模块完全供电。在一个实施例中,当网络接口模块未关联于访问点且未执行扫描或已完成扫描时,网络接口模块被设置为低电源状态(即,休眠状态)。如果计算设备未和访问点关联且网络接口模块正在扫描或已请求扫描时,而且如果网络接口模块处于休眠状态,其中对网络接口模块使用最小量的电源进行工作,则网络接口模块被设置为完全供电状态。如果计算设备由电源线电源(如,AC电源、电池充电器等)供电,网络接口模块保持在完全供电状态,其中对网络接口模块完全供电。
用户可以通过接口设置的首选以指定用户需要不节电(即,恒定清醒状态)、中等节电(即,快速节电状态),还是最大节电(即,最大节电状态)。除了用户可设置的首选,应用可以标记分组来指示需要快速响应,且电源管理模块调整网络接口模块的操作以工作在恒定清醒状态或快速节电状态。
在快速节电状态中,电源管理模块确定网络接口模块何时进入休眠状态并把网络接口模块将被设置为休眠状态的通知发送到访问点。在发送该通知后,电源管理模块设置网络接口模块为休眠状态。在信标时间间隔结束之前,网络接口模块被设置为加电状态(即,开状态)以对每个信标时间间隔接收信标。如果信标指示没有分组在访问点或对等计算设备对该计算设备排队,网络接口模块被设置回休眠状态。如果信标指示至少有一个分组对计算设备被缓冲,网络接口模块接收被缓冲的分组然后被设置为休眠状态。
确定网络接口模块何时进入休眠状态的步骤包括确定延时休眠计时已到期、确定扫描是否完成、确定信标是否指示没有通信流对该计算设备排队,及电源是否从有限能量电源切换到电源线电源。
在最大节电状态,电源管理模块设置网络接口模块在多个信标时间间隔(即,监听时间间隔)中为休眠状态。电源管理模块确定网络接口模块何时进入休眠状态并把网络模块将被设为休眠状态的通知发送到访问点。在发送通知后,电源管理模块设置网络接口模块为休眠状态。在监听时间间隔结束之前,网络接口模块被设置为开状态以接收信标。如果信标表明没有分组对该计算设备排队,网络接口模块在监听时间间隔中被设置回休眠状态。如果信标表明至少有一个分组对计算设备被缓冲,网络接口模块接收被缓冲的分组,然后在监听时间间隔的余下部分被设置为休眠状态。
电源管理模块有确定网络接口模块何时被设为开状态和休眠状态之一的电源管理后端模块,与电源管理后端模块连接以提供包括设备是否由有限能量电源向电源管理后端模块供电的系统状态信息的系统状态模块,及与电源管理后端模块连接以向电源管理后端模块提供网络接口模块的接口状态信息的接口列表模块。电源管理后端模块使用状态机确定网络接口模块何时被设置为开状态、休眠状态和关状态。电源管理模块确定在延时休眠计时已到期、扫描已完成,或信标表明当网络接口模块工作在节电状态时没有通信流对该计算设备排队之后,将网络接口包括设置为休眠状态。
通过在分组发送之后、设置网络接口模块为休眠状态之前等待指定的时间,延时休眠计时被用来提高工作在节电状态的设备的网络吞吐量。这允许应用在如果接收者在延时休眠时间内发送响应时,接收响应而无需等待下一信标时间间隔或监听时间间隔。延时休眠计时被用于提供定时功能。在分组发送到访问点进行发布之后设置延时休眠计时且网络接口模块在定时休眠计时器到期之后被设置为休眠状态。如果当延时休眠计时在计数时另一个分组被发送到访问点,那么重置延时休眠计时。对每个分组且基于被发送的分组的估计的往返时间确定延时休眠计时。
本发明的其他特性和优点将在下面引用附图的说明性实施例的详细说明中得以阐明。


虽然后附的权利要求阐明了本发明的特性,本发明与其目标和优点一起,从下面的详细说明和附图中可以得到最佳的理解,附图包括图1为方框图,总体展示在其中实现本发明实施例的典型计算机设备的结构;图2为示意图,展示实现本发明节电机制实施例的计算设备的典型操作环境;图3为示意图,展示监听时间间隔和信标时间间隔的关系;图4为流程图,展示根据本发明所述确定设置网络接口模块为何种电源工作状态的步骤;图5为方框图,展示本发明的电源管理模块;图6为示意图,展示本发明使用的状态机;图7为折线图,根据本发明所述展示网络接口模块在无线网络中的典型操作;及图8为示意图,展示本发明电源管理模块的替换实施例。
具体实施例方式
本发明工作在有访问网络的网络接口模块及如电池组这样在其上存储有限能量的有限能量电源的计算设备中。当不发送网络通信流时,已有的网络接口模块仍然保持在高能量状态(发送、接收或监听),处于这样的状态的时间比所需时间要长。这些时间是浪费的功耗,它减少了电池的持续时间。这导致必须更频繁地更换电池组或对其充电。希望能够减少当不发送通信流或扫描时网络接口模块处于高能量状态的时间。本发明提供基于用户的首选节约电池能量的方法。在详细说明本发明之前,首先引用图1说明在其中可以实现本发明的典型计算设备。
可以使用如程序模块这样的由处理器执行的指令在部署不同类型机器,包括移动电话、手持设备、无线监控设备、基于微处理器的可编程消费者电子产品及其类似的系统中实现本发明。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例程、对象、组件、数据结构及其类似者。术语“程序”包括一个或多个程序模块。
引用附图,其中类似的引用编号指类似的元件,作为实现在适合的计算环境中展示本发明。虽然不是必须的,将在由个人计算机执行的计算机可执行指令的,如程序模块的通用上下文中对本发明进行说明。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例程、程序、对象、组件、数据结构等等。再者,熟悉技术的人应理解本发明可以实现在其他计算机系统配置中,包括手持设备、多处理器系统、基于微处理器的或可编程的消费者电子产品、网络PC、小型机、大型机及其类似者。本发明也可以实现在分布式计算环境中,在其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程的存储器存储设备。
图1展示实现本发明实施例的典型计算设备100。在其最基本的配置中,计算机设备100至少包括处理单元102和存储器104。取决于具体配置和计算设备的类型,存储器104可以为易失的(如RAM)、非易失的(如ROM、闪存等等)或两者的某些组合。此最基本的配置在图1中用虚线106展示。另外,设备100也可以有附加的特性/功能。例如,设备100也可以包括但不仅限于,如磁盘或光盘或磁带等的附加存储(可移动和/或不可移动)。这样的附加存储在图1中用可移动存储108和不可移动存储110展示。计算机存储媒体包括用任何存储如计算机可读指令、数据结构、程序模块或其他数据这样的信息的方法或技术实现的易失的和非易失的、可移动的和不可移动的媒体。存储器104、可移动存储108和不可移动存储110都是计算机存储媒体的例子。计算机存储媒体包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CDROM、数字多功能盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储或其他磁存储设备、或可以用来存储所需信息并可以由设备100访问的任何其他媒体。任何这样的计算机存储媒体都可以为设备100的一部分。
设备100也可以包含一个或多个允许设备和其他设备通信的通信连接112。通信连接112为通信媒体的例子。通信媒体通常包含计算机可读指令、数据结构、程序模块或形式为如载波这样的调制数据信号的其他数据或其他传输机制并包括任何信息分发媒体。术语“调制数据信号”指在信号中以编码信息方式设置或更改它的一个或多个特征的信号。作为例子,而非限制,通信媒体包括有线媒体,如有线网络或直接有线连接,和无线媒体,如声音、RF、红外线和其他无线媒体。如上所述,在此所用的术语计算机可读媒体包括存储媒体和通信媒体。
设备100也可以有一个或多个输入设备114,如键盘、鼠标、笔、语音输入装置、触摸输入装置等。也可以包括一个或多个输出装置116如显示器、扬声器、打印机等等。所有这些设备在技术中都是众所周知的且无需在此详述。
用于本发明的预期应用,设备100被配置为移动设备。在此,设备100有可移动有限能量电源120,如电池组、燃料电池或其类似。有限能量电源102对设备100的计算和数据传输提供电源。如图2所示,计算设备100进一步包括用于和不同类型的无线网络进行无线通信的网络接口模块201。网络接口模块201在此实现中包括连接到天线206、用于在适合的频道上无线地发送数据的发送器122。接收器126也耦合到天线206,用于接收从与设备通信的网络无线地发送的通信分组。网络接口模块201和天线206是图1中的通信连接112的部分。在一个实施例中,网络接口模块201在IEEE 802.11无线连接上使用无线配置服务以简化网络配置,包括基础结构网络和特殊网络。典型网络接口模块为PCMCIA无线网卡。应理解网络接口模块的接口类型和物理配置对本发明并不重要。例如,接口类型可以为PCI或其他类型且网络接口模块并不一定位于单独的卡上。它可以被包括在计算机的主板上或甚至于在将来内置于处理器中。
通过网络接口模块,计算设备100可以和不同类型的无线网络通信。例如,在图2中所示的环境中,计算设备100可以为通过其上的访问点231无线连接到基础结构网络230的站。计算设备100也可以为包括其他计算设备,如计算设备221、222和223,也称为ad hoc网络的对等网络220的部分。在连接到访问点231基础结构网络或ad hoc网络220之前,计算设备100可以处于通过发送探测请求并扫描由访问点或其他设备发送的探测返回信号用积极的定期扫描来搜索属于网络的设备的状态。替换地,计算设备100可以被动地用扫描由访问点发送的信标来搜索。
网络驱动器203控制网络接口模块201的操作。网络驱动器203为计算设备100的操作系统的一部分或运行在计算设备100上的独立可执行程序。典型的网络驱动器是网络驱动器接口规范(NDIS)。网络驱动器203和电源管理模块202连接,电源管理模块202如上述动态地指示网络接口模块201更改电源状态。电源管理模块202和几个组件连接以获取用于确定网络接口模块201处于哪个电源状态的数据。这些组件可以包括扫描引擎204、通过API(应用编程接口)206的应用、电源指示器208、电源设置210、分组分析器212和统计分析器214。
扫描引擎204使用到电源管理模块202的接口在其需要执行扫描时请求网络接口模块201被设置为高电源状态。它将发送消息指示扫描已完成来指示不再需要网络接口模块201保持在高电源状态。扫描引擎204基于扫描历史和扫描结果使用指数函数调整扫描之间的时间。扫描引擎204的进一步细节可以在2002年12月18日提交的美国专利申请号10/323,043中找到,在此包含其完整引用。应用使用API 206来请求它发送的数据必须在低或高电源状态发送。如果应用没有首选项,它不调用API 206。
设备100的操作系统或其他模块(未标出)确定电源是由有限能量电源120还是AC电源提供。它使用电源指示器208通知电源管理模块202设备100是由AC电源还是有限能量电源120供电。用户可以通过电源设置210指定所需的电源设置。这些电源设置为高、中和低。高电源设置对应于恒定清醒状态,低电源设置对应于最大节电状态,且中电源设置对应于快速节电状态且这些电源设置在此说明。分组分析器212确定何时设置网络接口模块202为休眠状态。分组分析器212监视通过网络接口模块202发送的分组以确定客户机何时未发送通信流。当在数据发送之间过去了足够的时间,分组分析器212通知电源管理模块它可以设置网络接口模块202为休眠状态。统计分析器214仅用于支持它的网络驱动器。分组分析器212查询统计分析器214以确定连接的统计数据以确定是否应调整电源级别。统计数据包括接收的信号强度、发送的分段计数、失败计数、重试计数、多次重试计数、分段重复计数、RTS成功计数、RTS失败计数、ACK失败计数、FCS错误计数和发送的帧计数。
电源管理模块202和组件204-214可以位于图1中的系统存储器104、可移动存储108或不可移动存储110之中。虽然为了清晰起见分别展示电源管理模块202和组件,应理解模块202和部分或全部组件可以为操作系统的一部分或计算设备100中另一模块的一部分。
在下面的说明中,除非另外指出,将引用由一个或多个计算设备执行的动作和操作的符号化表示来说明本发明。这样,应理解这样的动作和操作,有时被称为计算机执行的,包括设备的处理单元对以结构化形式表示数据的电信号的处理。这样的处理在计算机存储器系统中的位置上转换数据或维护数据,以熟悉技术的人熟知的方式重新配置或更改计算机的操作。在其中维护数据的数据结构是由数据的格式定义的特殊属性的存储器的物理位置。然而,虽然在上述上下文中对本发明进行说明,并不意味着任何限制,熟悉技术的人应理解下文中所述的不同动作和操作也可以在硬件中实现。另外,访问点将被用来说明本发明的操作。应理解本发明将在有对等设备的特别状态及在有如访问点和对等设备那样工作的组件的其他系统中工作。在下述说明中,网络接口模块和访问点之间的交互(如,消息和通知)也可以在对等设备及其类似者之间实现。
本发明控制网络接口模块201的电源为三个主要级别。这些级别为开状态、休眠状态和关状态。虽然说明了三个级别,可以取决于操作系统、网络接口模块和驱动器的能力使用任意数量的级别。在休眠状态,系统处于空闲状态,其中以它维护自身但不发送任何通信流所需最小电源级别对网络接口模块210供电。本发明提供当网络接口模块201不发送或接收通信流或扫描时,网络接口模块201使用尽可能多的时间处于休眠状态的方法。
处于开状态时,有三种电源级别。这些电源级别为恒定清醒状态(CAM)、最大节电状态(Max PSP)和快速节电状态(Fast PSP)。在CAM状态时,网络接口模块201被完全供电且不使用任何节电。在定义Max PSP和Fast PSP之前,先说明信标时间间隔和监听时间间隔的关系。现引用图3,在很多无线系统中,访问点定期地广播包含定时信息和其他信息,包括通信流指示图(TIM),的信标帧。如果接收时间晚于站自身的时间,接收信标帧的站采用在接收的信标中的访问点时间值。广播之间的时期称为信标时间间隔。典型的信标时间间隔为100ms。
图3展示信标时间间隔300、302、304、306、308。监听时间间隔定义为多个信标时间间隔。在图3中,监听时间间隔310为4个信标时间间隔。任何数量的信标数都可以用于监听时间间隔。既然已解释了信标时间间隔和监听时间间隔,下面定义Max PSP和Fast PSP。在Max PSP状态,网络接口模块201在未接收或发送通信流时处于休眠状态且仅在每个监听时间间隔激活。在Fast PSP状态,网络接口模块201在未接收或发送通信流时处于休眠状态且在每个信标时间间隔激活。访问点定期地发送信标中的TIM以识别哪个使用节电状态的设备有在访问点的缓冲内等待它们的数据帧。TIM通过访问点在关联处理中分配给设备100的关联ID来标识站。在关状态,网络接口模块被关闭。
既然已说明了各状态,下面说明电源管理模块202的总体操作。现引用图4,电源管理模块202确定设备100使用的电源是来自有限能量电源120还是来自电源线电源(步骤400)。如果设备100正在使用来自电源线电源的电源,电源管理模块202设置网络接口模块201工作在恒定清醒状态(步骤402)。应注意如果设备100为能源之星兼容的设备(或其类似者),电源管理模块202工作时如同该设备在使用有限能量电源120以节约能量。用户可以通过电源设置210强制设备100处于恒定清醒状态。
如果设备100正在使用来自有限能量电源的电源,电源管理模块202确定设备100是否和访问点关联(步骤404)。如果设备100和访问点关联,电源管理模块202在一个节电状态下(即,Max PSP或Fast PSP)操作网络接口模块(步骤406)。如果设备100未和访问点关联,电源管理模块202确定设备100是否处于扫描状态(步骤408)。扫描引擎204提供此信息到模块202。如果设备100正在扫描,电源管理模块202在恒定清醒状态操作网络接口模块201(步骤410)。如果设备100未处于扫描状态,电源管理模块202设置网络接口模块201为休眠状态(步骤412)。
当处于一个节电状态中时,电源管理模块202从模块204-214接收信息并使用该信息设置网络接口模块201的电源级别。来自分组分析器212的分组分析器设置优先于来自扫描引擎204的扫描设置或从API 206接收的应用设置。基本原理是分组分析器对所支持的数据传输速率确定适当的电源级别且如果卡不需要全部电源就可获得该数据传输速率,那么应节省电源。例外是如果扫描引擎204或应用都不请求高电源且它们之一请求低电源,在此情况网络接口模块201可以保持在低电源状态,如同没有客户请求它处于高电源状态。如果没有组件对电源管理模块202提供输入,那么电源设置将保持其现有状态。
当有数据要发送时,网络接口模块202将被设置为恒定清醒状态以从应用发送数据。分组分析器212确定预期的从上次传输得到返回通信流的往返时间。该时间,称为延时休眠时间,和每个由设备100发送的分组关联。当发送分组时,电源管理模块202为该延时休眠时间设置计时器。在计时器到期且没有接收到通信流时,网络接口模块202将被设置为休眠状态以节约电源。如果还有更多通信流需要发送,则重置该计时器。延时休眠时间是动态的,因为它基于往返时间。网络接口模块可以发送来自多个会话的分组。来自不同会话的分组传输有不同的往返传输(RTT)延时。延时休眠时间是基于来自所有会话的分组传输的RTT的最大值的动态值。例如,来自一个会话将进行的分组传输可以有小于10毫秒的RTT,而另一个可以有为50毫秒的RTT,在此情况延时休眠应基于两种情况的最大值(如,50毫秒)。另外,在发送分组到不同位置的情况下,会话的RTT可以不同。例如,从美国发送到日本的传输与比从美国发送到美国的另一位置的传输相比将有较长的延时休眠时间。如果往返时间长于信标时间间隔,电源管理模块基于丢失返回分组的风险、往返时间等这样的因素确定网络接口模块是否可以在比信标时间间隔更长的时间内保持在休眠状态。如果电源管理模块确定网络接口模块不能在比信标时间间隔更长的时间内保持在休眠状态,电源管理模块将设置网络接口模块为完全供电状态以接收信标。否则,网络接口模块保持在休眠状态,直到延时休眠计时到期。
延时休眠时间提高了工作在节电状态中的设备的网络吞吐量,因为如果接收者在延时休眠时间内发送响应时,它允许应用接收响应而无需等待下一个信标时间间隔或监听时间间隔。另外,访问点不必缓冲响应,从而节省了资源。满足此操作模式的应用不需要调用API 206且对所选的电源设置没有任何影响。
明确需要快速响应的应用将使用API 206来相应地标记分组。当应用已调用API 206时,电源管理模块202将不积极关闭网络接口模块201来对返回通信流提供足够的时间。例如,可以在几个信标时间间隔中将网络接口模块201设置为恒定清醒状态和/或可以增加延时休眠时间。本发明用计时器功能保护设备100防止应用不断地标记分组以故意消耗有限能量电源120。如果应用调用API 206,电源管理模块202开始一个计时器。如果应用(或任何其他应用)并不需要发送任何分组,计时器将在通信流的多个往返时间过去之后到期,这允许电源管理模块202设置网络接口模块201为休眠状态。
电源管理模块202使用对象标识符和通信网络接口模块(如,OID)。OID设置或查询网络接口模块201的电源状态并设置或查询传输通信流的延时休眠时间。电源状态OID为OID_802_11_Power_State及延时休眠OID为OID_802_11_Delayed_Sleep。OID_802_11_Power_State的参数是切换网络接口模块到开状态的设置、切换网络接口模块到休眠状态的设置,及切换网络接口模块到关状态的设置。OID_802_11_Delayed_Sleep的参数是以毫秒为单位设置的延时休眠。
既然已说明了总体操作,现在说明电源管理模块202中的模块。引用图5,电源管理模块202有电源管理后端500、系统状态模块502和接口列表模块504。电源管理后端500使用状态机基于设备100的当前状态管理网络接口模块201的电源状态。状态信息包括来自系统状态模块502的全局系统状态信息和来自接口列表模块504的每个接口的状态信息。全局系统状态信息包括设备100是由有限能量电源120还是AC电源供电工作。每个接口的状态信息包括设备100是否和接口关联、是否请求了扫描,及即插即用事件。电源设置210也是对电源管理后端500的输入。
状态机在图6中展示。电源管理模块201将在几个条件下把网络接口模块201从开状态600设置到休眠状态602。这些条件包括在最后一个发送的分组之后的延时休眠计时何时过期(线604)。如果延时休眠时间长于信标时间间隔,网络接口模块201被设置为休眠状态602。其他条件为何时完成扫描(线606)、何时网络接口模块201激活以接收信标且没有等待被发送到设备100的通信流(线608),及何时设备100从电源线电源切换到有限能量电源120且没有通信流(线610)。
电源管理模块201将在几个条件下把网络接口模块201从休眠状态602设置到开状态600。这些条件包括何时设备100有分组要发送(线612)、何时网络接口模块201需要扫描可用的网络(线614)、何时网络接口模块201需要激活以接收信标(线616)及何时设备100从有限能量电源120切换到AC电源(线618)。如果设备100为能量兼容设备(译者注疑为engergy starcompliant能源之星兼容设备)或其类似,则当设备100从有限能量电源120切换到AC电源时,网络接口模块201保持在休眠状态。如果空闲计时器过期,电源管理模块201将把网络接口模块201从休眠状态602设置到关状态620(线622)。如果设备100有分组发送且网络接口模块201处于关状态,电源管理模块201将把网络接口模块201从关状态620设置到开状态600(线624)。
在图7中展示网络接口模块201以Max PSP或Fast PSP状态工作的典型操作情景。当设备100未发送或接收分组时,它在延时休眠时间过去后进入休眠状态。在进入休眠状态之前,发送分组到访问点231以指示设备100中的网络接口模块201正在进入休眠状态(线700)。当网络接口模块201处于休眠状态时,访问点231缓冲目的为设备100的分组(由线702表示)。访问点231定期地发送信标。如上所示,信标包含通信流指示图,通信流指示图标识哪些使用节电状态的设备在访问点的缓冲内有等待发送给它们的数据帧。当网络接口模块201被设置为开状态以接收信标时,如果网络接口模块201以Fast PSP状态工作,在信标时间间隔过去之后(或在Max PSP的情况下,在监听时间间隔过去之后),它接收信标分组(线704)并通过通信流指示图得知是否至少有一个到设备100的分组在访问点231被缓冲。
如果通信流指示图表明有到设备100的分组被缓冲,网络接口模块201发送消息到访问点指示它已激活(线706)。在接收消息后,访问点231发送缓冲的分组到设备100(线708)。如果有更多的分组在缓冲内排队,访问点231在第一个发送的分组中提供指示并发送所有的分组。最后一个发送的分组有信标指示没有更多到设备100的数据在访问点的缓冲内。在接收所有的分组后,发送分组到访问点231以指示网络接口模块201进入休眠状态(线710)。仅当没有要发送的分组时,网络接口模块201将重新进入休眠状态。如果有要发送的分组,网络接口模块201将首先发送所有的要发送的分组且仅在它用完它的发送队列之后,它才会把它进入休眠状态的指示发送到访问点。这处理当它处于休眠状态时,网络接口模块201有排队的分组要发送到访问点或对等设备的情况。只要设备100和访问点231关联,这个处理就不断重复自身。当发送分组时,网络接口模块201发送分组到访问点231以路由到分组的目的地并等待延时休眠时间到期。在延时休眠时间过去之后,网络接口模块201发送模块201正在进入休眠状态然后模块201进入休眠状态的消息到访问点231。
每个网络媒体类型都需要或可以实现电源管理。引用图8,在操作环境800中展示本发明的电源管理机制的替换实施例。在此实施例中,电源管理模块802从提供输入到电源管理模块802且不限于特殊网络的组件接收命令。为了说明的目的,这些组件可以被称为电源设置组件。电源管理模块802转换命令并向网络适配器/接口提供电源设置。这允许如电源指示器、应用编程接口、用户电源设置及其类似的电源设置组件向电源管理转换器802指定它的电源管理需求而无需指定它们对特定网络适配器的需求。如果可以用的话,每个电源设置组件还可以指定设置应用于哪个设备。限于特定网络的组件,如扫描引擎204、分组分析器212和统计分析器214保留在网络中特定的电源管理模块,如用于802.11WLAN的电源管理模块202中。限于GPRS(通用分组无线业务)的组件是在WWAN电源管理模块8 14中,它控制GPRS网络接口模块816中的电源级别。类似地,限于LAN的组件在以太网电源管理模块818中,它控制LAN适配器820中的电源级别。
设备100的操作系统或其他模块(未标出)确定电源是由有限能量电源120还是AC电源提供。它使用电源指示器804通知电源管理转换器802设备100是由AC电源还是有限能量电源供电。应用使用API 806来请求发送的数据必须在低或高电源状态发送。如果应用没有首选,它就不调用API 806。用户可以通过用户电源设置808指定所需的电源设置。这些电源设置为高、中、低或没有电源管理。这些电源设置可以扩展到对提供更多电源设置的接口模块的附加设置。在一个实施例中,当设备100由AC电源供电时,忽略用户设置。另外,如果有正在进行调用活动的实时应用且用户有指定的高电源管理,电源管理转换器802暂时覆盖用户设置。
如果温度超标或用户指定了全局电源设置,基本电源设置810被用来指示电源管理模块关闭网络接口模块。漫游组件812也对电源管理有影响。如果802.11网络接口模块201是活动的网络连接,电源管理转换器802通知其他电源管理模块814、818、822将它们网络接口模块断电。如果两个网络接口模块同时活跃(如,LAN和WLAN),那么电源管理转换器802对两者指定相关的电源设置并指定其他网络接口模块应断电。每个电源管理组件使用由电源管理转换器802提供的电源级别设置来确定电源管理模块控制的特殊网络接口模块所需的电源管理级别。
电源管理转换器802有系统状态模块和接口模块。系统状态模块连接电源指示器804、API 806、用户电源设置808、基本电源设置810,和漫游组件812。接口模块连接电源管理模块202、814、818、822并基于来自电源指示器804、API 806、用户电源设置808、基本电源设置810,和漫游组件812的输入按如上所述对电源管理模块202、814、818、822提供所需的电源设置。以802.11电源管理模块202为例,电源管理转换器802发送H/M/L/Idle/Off(高电源设置、中电源设置、低电源设置、无电源管理或关)的设置到802.11电源管理模块202。802.11电源管理模块202转换该设置为网络接口模块202的正确的电源状态(开/休眠/关)并基于特定于802.11网络接口模块201的操作参数控制网络接口模块。例如,如果从电源控制转换器对电源管理模块202指定低电源状态,电源管理模块202在如上所述的监听时间间隔(如,没有进行扫描、延时休眠计时已到期等)将网络接口模块设置为休眠状态。类似地,如果电源管理转换器802对电源管理模块202提供中电源设置,电源管理模块202在如上所述的信标时间间隔将网络接口模块设置为休眠状态。
电源管理模块对其他媒体类型使用电源管理转换器802提供的电源设置以对它们的网络接口模块使用适当的电源管理设置。例如,无线WAN可以支持多于或少于三种电源设置,因此WWAN电源管理模块814使用由电源管理转换器802提供的电源设置以对GPRS网络接口模块816确定正确的电源管理设置。例如,对GPRS网络中的设备的电源设置为空闲或完全供电。当设备正在发送或接收调用通信流,该设备被完全供电。当设备未在调用中或在调用中但未发送或接收时,该设备处于低电源设置。
电源管理转换器802提供无缝增加新媒体类型的能力。新媒体类型通过调用API并提供全局唯一标识符(GUID)和友好名称对电源管理转换器802注册。电源管理转换器802使用这些来对网络接口模块的电源管理模块822提供对该媒体类型的通用设置。电源管理转换器802不需要知道特定电源管理模块822的功能。类似地,单独的电源管理模块822不需要知道上层组件804到812的电源管理需求,因为这些被转换为单个设置。
可以看到给出了通过优化计算设备的网络接口模块的功耗节约电源的方法。虽然用802.11无线网络中的术语对时间间隔进行说明,该方法可用于使用信标间隔及其类似的其他类型的无线网络,包括蓝牙、GPRS、HiperLAN和其他无线LAN网络类型,以及如以太LAN这样的网络。
鉴于本发明的原理可以应用于多种可能的实施例,应承认这里引用附图所述的实施例仅是说明性的且不应视为对本发明范围的限制。例如,电源管理模块也可以关闭无线网络接口模块中支持该功能的发送器。在此情况,网络接口模块(或电源管理模块)可以选择保持接收路径完全供电而发送路径为低电源状态。该机制可用网络接口模块执行被动扫描时,其中网络接口模块并不主动发送探测请求(每个IEEE 802.11及其类似者),而是通过接收信标和来自网络接口模块的范围内节点的广播探测响应被动地收集和周围的网络相关的信息。熟悉技术的人应承认在所示实施例中以软件展示的元件可以在硬件中实现且反之亦然,或可以在安排和细节上修改所示实施例而不偏离本发明的精神。因此,在此所述的本发明包含所有这样的实施例,只要它们在后附的权利要求及其等价的范围之中。
权利要求
1.一种管理移动设备中的网络接口模块中的电源的方法,其特征在于,所述方法包括步骤确定移动设备是否由有限能量电源供电;如果移动设备由有限能量电源供电确定移动设备是否和访问点关联;如果移动设备和访问点关联,以快速节电状态和最大节电状态之一操作网络接口模块;如果移动设备未和访问点关联;确定网络接口模块是否正在扫描;如果网络接口模块正在扫描,以恒定清醒状态操作网络接口模块;及如果网络接口模块未在扫描,设置网络接口模块为休眠状态。
2.如权利要求1所述的方法,其特征在于,进一步包括步骤如果移动设备由电源线电源供电,设置网络接口模块为恒定清醒状态。
3.如权利要求1所述的方法,其特征在于,进一步包括步骤根据用户的首选设置网络接口模块为恒定清醒状态、快速节电状态和最大节电状态之一。
4.如权利要求1所述的方法,其特征在于,进一步包括步骤如果移动设备与其关联或已请求扫描,则设置网络接口模块为恒定清醒状态。
5.如权利要求1所述的方法,其特征在于,进一步包括步骤如果一个分组有高的优先权或应用标记分组来指示需要快速响应,则以快速节电状态操作网络接口模块。
6.如权利要求1所述的方法,其特征在于,所述如果移动设备和访问点关联,以快速节电状态和最大节电状态之一操作网络接口模块的步骤包括以快速节电状态操作网络接口模块。
7.如权利要求6所述的方法,其特征在于,所述以快速节电状态操作网络接口模块的步骤包括步骤a)确定网络接口模块何时可以进入休眠状态;b)发送网络接口模块正被设置为休眠状态的通知到访问点;c)在发送通知后设置网络接口模块为休眠状态;d)设置网络接口模块为开状态以对每个信标时间间隔接收信标e)如果信标指示没有分组对该移动设备排队,重复步骤b-f;及f)如果信标指示至少有一个分组对该移动设备排队,重复步骤a-f。
8.如权利要求7所述的方法,其特征在于,进一步包括步骤重复步骤a-f直到移动设备和访问点不再关联或网络接口模块的操作已更改为恒定清醒状态和最大节电状态之一。
9.如权利要求7所述的方法,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期。
10.如权利要求7所述的方法,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期、扫描已完成、信标表明没有通信流对该移动设备排队,及电源从有限能量电源切换到电源线电源之一。
11.如权利要求1所述的方法,其特征在于,所述把正在设置网络接口模块为休眠状态的通知发送到访问点的步骤包括步骤在所有要发送的分组已被发送之后发送通知。
12.如权利要求1所述的方法,其特征在于,所述在发送通知后设置网络接口模块为休眠状态的步骤包括设置网络接口模块的发送路径为休眠状态且保持网络接口模块的接收路径供电。
13.如权利要求1所述的方法,其特征在于,如果所述移动设备和访问点关联,以快速节电状态和最大节电状态之一操作网络接口模块的步骤包括以最大节电状态操作网络接口模块。
14.如权利要求13所述的方法,其特征在于,所述以最大节电状态操作网络接口模块的步骤包括步骤a)确定网络接口模块何时可以进入休眠状态;b)发送正在设置网络接口模块为休眠状态的通知到访问点;c)在发送通知后设置网络接口模块为休眠状态;d)设置网络接口模块为开状态以在监听时间间隔过去之后接收信标;e)如果信标指示没有分组对该移动设备排队,重复步骤b-f;及f)如果信标指示至少有一个分组对该移动设备排队,重复步骤a-f。
15.如权利要求14所述的方法,其特征在于,进一步包括步骤重复步骤a-f直到移动设备和访问点不再关联或网络接口模块的操作已更改为恒定清醒状态和快速节电状态之一。
16.如权利要求14所述的方法,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期。
17.如权利要求14所述的方法,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期、扫描已完成、信标表明没有通信流对该移动设备排队,及电源从有限能量电源切换到电源线电源之一。
18.一种在有网络接口模块的移动设备中使用的电源管理系统,其特征在于,所述系统包括用于控制网络接口模块的电源状态以恒定清醒状态、最大节电状态和快速节电状态之一操作的电源管理模块,所述电源管理模块包括确定网络接口模块何时被设置为开状态和休眠状态之一的电源管理后端模块;连接电源管理后端模块以提供系统状态信息给电源管理后端模块的系统状态模块;及连接电源管理后端模块以提供网络接口模块的接口状态信息到电源管理后端模块的接口列表模块。
19.如权利要求18所述的系统,其特征在于,进一步包括连接电源管理模块的分组分析器,所述分组分析器确定移动设备何时不发送通信流。
20.如权利要求18所述的系统,其特征在于,进一步包括连接电源管理模块的电源指示器,所述电源指示器向电源管理模块提供移动设备是否由有限能量电源供电的指示。
21.如权利要求18所述的系统,其特征在于,进一步包括连接电源管理模块的应用编程接口,所述应用编程接口对应用提供接口以指示分组需要快速响应或分组有高的优先级之一。
22.如权利要求18所述的系统,其特征在于,进一步包括连接电源管理模块的电源设置模块,所述电源设置模块提供用户的首选电源状态的指示。
23.如权利要求18所述的系统,其特征在于,进一步包括连接电源管理模块的扫描引擎,所述扫描引擎向电源管理模块提供网络接口模块何时应被设置为开状态进行扫描的指示。
24.如权利要求18所述的系统,其特征在于,所述电源管理后端模块使用状态机确定网络接口模块何时应被设置为开状态和休眠状态之一。
25.如权利要求24所述的系统,其特征在于,所述电源管理模块确定在延时休眠计时已到期、扫描已完成及信标表明没有通信流对该移动设备排队之一之后,将网络接口模块设置为休眠状态。
26.如权利要求25所述的系统,其特征在于,所述延时休眠计时已到期、扫描已完成及信标表明没有通信流对该移动设备排队之一包括延时休眠计时已到期、扫描已完成、信标表明没有通信流对该移动设备排队,及电源从有限能量电源切换到电源线电源之一。
27.如权利要求24所述的系统,其特征在于,所述电源管理模块确定在接收到移动设备有分组发送的通知、接收到网络接口模块需要扫描可用网络的通知、计时器到期以指示网络接口模块需要接收信标,及接收到移动设备从有限能量电源切换到电源线电源的通知之一之后,将网络接口模块设置为开状态。
28.如权利要求18所述的系统,其特征在于,所述电源管理模块使用对象标识符和网络接口模块通信,其特征在于,所述对象标识符包括执行设置网络接口模块的电源状态和查询网络接口模块以确定网络接口模块的电源状态之一的电源状态对象标识符;及执行设置延时休眠时间和查询网络接口模块以确定当前的延时休眠时间之一的延时休眠对象标识符。
29.如权利要求28所述的系统,其特征在于,所述电源状态对象标识符有多个设置,所述设置包括切换网络接口模块为开状态的开设置、切换网络接口模块为休眠状态的休眠设置,及切换网络接口模块为关状态的关设置。
30.如权利要求28所述的系统,其特征在于,所述延时休眠时间对象标识符有以毫秒设置延时休眠时间的参数设置。
31.一种包括执行权利要求1所述步骤的计算机可执行指令的计算机可读介质。
32.如权利要求31所述的计算机可读媒体,其特征在于,进一步包括执行如果移动设备由电源线电源供电,设置网络接口模块为恒定清醒状态的步骤的计算机可执行指令。
33.如权利要求31所述的计算机可读媒体,其特征在于,进一步包括执行根据用户的首选设置网络接口模块为恒定清醒状态、快速节电状态和最大节电状态之一的步骤的计算机可执行指令。
34.如权利要求31所述的计算机可读媒体,其特征在于,进一步包括执行如果移动设备与其关联或已请求扫描,设置网络接口模块为恒定清醒状态的步骤的计算机可执行指令。
35.如权利要求31所述的计算机可读媒体,其特征在于,进一步包括执行如果应用标记分组来指示需要快速响应,以快速节电状态操作网络接口模块的步骤的计算机可执行指令。
36.如权利要求31所述的计算机可读媒体,其特征在于,所述发送正在设置网络接口模块为休眠状态的通知到访问点的步骤包括步骤在所有要发送的分组已被发送之后发送通知。
37.如权利要求31所述的计算机可读媒体,其特征在于,所述在发送通知后设置网络接口模块为休眠状态的步骤包括设置网络接口模块的发送路径为休眠状态且保持网络接口模块的接收路径供电。
38.如权利要求31所述的计算机可读媒体,其特征在于,所述如果移动设备和访问点关联,以快速节电状态和最大节电状态之一操作网络接口模块的步骤包括以快速节电状态操作网络接口模块,所述以快速节电状态操作网络接口模块的步骤包括步骤a)确定网络接口模块何时可以进入休眠状态;b)确定延时休眠时间;c)发送正在设置网络接口模块为休眠状态的通知到访问点;d)在发送通知后设置网络接口模块为休眠状态;e)设置网络接口模块为开状态以对每个信标时间间隔接收信标;f)如果信标指示没有分组对该移动设备排队,重复步骤c-g;及g)如果信标指示至少有一个分组对该移动设备排队,重复步骤a-g。
39.如权利要求38所述的计算机可读媒体,其特征在于,进一步包括执行重复步骤a-g直到移动设备和访问点不再关联或网络接口模块的操作已更改为恒定清醒状态和最大节电状态之一的步骤的计算机可执行指令。
40.如权利要求38所述的计算机可读媒体,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期。
41.如权利要求38所述的计算机可读媒体,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期、扫描已完成、信标表明没有通信流对该移动设备排队,及电源从有限能量电源切换到电源线电源之一。
42.如权利要求31所述的计算机可读媒体,其特征在于,所述如果移动设备和访问点关联,以快速节电状态和最大节电状态之一操作网络接口模块的步骤包括以以最大节电状态操作网络接口模块,所述以以最大节电状态操作网络接口模块的步骤包括步骤a)确定网络接口模块何时可以进入休眠状态;b)确定延时休眠时间;c)发送正在设置网络接口模块为休眠状态的通知到访问点;d)在发送通知后设置网络接口模块为休眠状态;e)设置网络接口模块为开状态以在监听时间间隔过去之后接收信标;f)如果信标指示没有分组对该移动设备排队,重复步骤c-g;及g)如果信标指示至少有一个分组对该移动设备排队,重复步骤a-g。
43.如权利要求42所述的计算机可读媒体,其特征在于,进一步包括执行重复步骤a-g直到移动设备和访问点不再关联或网络接口模块的操作已更改为恒定清醒状态和快速节电状态之一的步骤的计算机可执行指令。
44.如权利要求42所述的计算机可读媒体,其特征在于,所述确定网络接口模块何时可以进入休眠状态的步骤包括确定延时休眠计时已到期、扫描已完成、信标表明没有通信流对该移动设备排队,及电源从有限能量电源切换到电源线电源之一。
45.一种在有以节电状态操作的网络接口模块的设备中发送分组的方法,其特征在于,所述方法分组括步骤发送分组到访问点进行分发;设置延时休眠计时在延时休眠时间后到期;在延时休眠计时到期后发送消息到访问点以指示网络接口模块正在进入休眠状态;及设置网络接口模块为休眠状态。
46.如权利要求45所述的方法,其特征在于,进一步包括步骤如果至少有一个其他分组正被发送到访问点而延时休眠计时还在计数,则重设置延时休眠计时。
47.如权利要求45所述的方法,其特征在于,进一步包括步骤对每个分组及至少一个其他分组确定延时休眠时间。
48.如权利要求45所述的方法,其特征在于,进一步包括步骤对分组确定延时休眠时间。
49.如权利要求48所述的方法,其特征在于,所述确定延时休眠时间的步骤包括确定估计的往返时间。
50.如权利要求49所述的方法,其特征在于,所述确定延时休眠时间的步骤包括如果估计的往返时间低于信标间隔时间,设置延时休眠时间为估计的往返时间。
51.如权利要求48所述的方法,其特征在于,所述确定延时休眠时间的步骤包括如果估计的往返时间大于等于信标间隔时间,设置延时休眠时间为小于信标间隔时间的一个时间。
52.如权利要求45所述的方法,其特征在于,所述网络接口模块发送来自多个会话的分组,所述方法进一步包括步骤对多个会话确定最大的往返传输时间;及设置延时休眠时间为最大的往返时间。
53.如权利要求52所述的方法,其特征在于,所述设置延时休眠时间为最大的往返时间的步骤包括步骤如果估计的往返时间低于信标间隔时间,设置延时休眠时间为最大的往返时间;及如果估计的往返时间大于等于信标间隔时间,设置延时休眠时间为小于信标间隔时间的一个时间。
54.一种用于在移动设备中向多个网络接口模块提供电源设置命令的电源管理转换器,其特征在于,所述电源管理转换器包括用于从电源设置组件接收电源状态的系统状态模块;及用于发送电源设置到每个网络接口模块的接口模块。
55.如权利要求54所述的电源管理转换器,其特征在于,所述电源设置组件包括电源指示器组件、API组件、用户电源设置组件、基本电源设置组件和漫游组件中的至少一个。
56.如权利要求54所述的电源管理转换器,其特征在于,所述接口模块提供高电源设置、中电源设置和低电源设置之一到每个网络接口模块。
57.如权利要求54所述的电源管理转换器,其特征在于,如果移动设备由AC电源供电,所述电源管理转换器忽略用户电源设置。
58.如权利要求54所述的电源管理转换器,其特征在于,如果实时应用正在调用中使用,所述电源管理转换器覆盖用户电源设置。
59.如权利要求54所述的电源管理转换器,其特征在于,所述电源管理转换器转换来自电源设置组件的电源设置为对每个网络接口模块的单个电源设置。
全文摘要
说明管理在有网络接口模块的移动计算设备中的功耗的系统和方法。电源管理模块接收来自其他模块的输入并确定何时在预定数量的信标时间间隔内将网络接口模块设置为休眠状态以节约网络接口模块中的功耗。在事件发生之后将与网络关联的设备中的网络接口模块设置为休眠状态,事件包括当进行扫描时、在延时休眠计时到期后,及在信标发送完成后且没有对该设备缓冲的通信流时。基于估计的分组往返时间设置延时休眠计时。
文档编号G06F1/32GK1519680SQ200410003710
公开日2004年8月11日 申请日期2004年1月30日 优先权日2003年1月31日
发明者A·W·克兰兹, A W 克兰兹, A·艾伯西谢克, 餍豢, A·阿亚加里, 羌永, J·阮, 莫尔, T·M·莫尔, 吉格, A·R·吉格, 巴克利, W·V·巴克利 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1