用于低功率运行无线局域网接口的系统的制作方法

文档序号:7605742阅读:155来源:国知局
专利名称:用于低功率运行无线局域网接口的系统的制作方法
技术领域
所公开的发明一般地涉及无线通信领域,更具体地说,涉及无线局域网(LAN)中的电源管理领域。
背景技术
参考图1,其中示出了已知的无线局域网系统100的一个实例,所述系统100包括有线局域网120,有线局域网120包括局域网服务器124和有线客户机122,两者通过有线线路总线128被连接到所述局域网。所述系统还包括多个与蜂窝系统中的基站相类似的接入点(AP)126。无线客户机单元132通常以免许可的频率(例如2.4GHz ISM(工业、科学和医疗)频带)通过空气与接入点126通信。AP 126被连接到以太网集线器或局域网服务器并将能够穿透墙壁和其他非金属障碍物的射频信号发射到远达一千英尺的区域。如在蜂窝移动电话系统中那样,漫游用户(例如,无线客户机单元132)可以被从一个接入点126传递到另一接入点。膝上型计算机使用插入到现有以太网接口的或PC卡上自带的无线调制解调器,而独立的台式计算机和服务器使用插卡。
移动站(无线单元)的功耗是一个显著的问题,因为这些单元通常由电池供电,并且为了支持无线通信,需要一定的功耗水平,这显著降低了电池寿命,例如,参见E.Shih等人的“无线唤醒用于电池操作的设备的事件驱动节能策略”(Wake on WirelessAn Event Driven Energy SavingStrategy for Battery Operated Devices,MobiCom 2002)。
在讨论本发明的实施例之前,我们首先应概述IEEE 802.11无线局域网(WLAN)协议、此协议内的两种供电模式以及无线局域网系统的动态特性。注意,除非另有所指,无论何时我们提及术语功率时,我们指无线接口中的功耗,包括与运行无线协议直接相关的主系统功耗。与客户机中的其他组件关联的功率(例如显示屏功率、电源损耗以及与执行其他计算任务关联的处理器/存储器功率)被排除在外。
以下背景讨论说明了以所谓的“基础体系结构”模式运行的无线局域网客户机(或用802.11的说法,STA),在该模式中,接入点(AP)126将无线客户机单元132连接到另一网络介质,通常是有线以太网介质。AP126的作用是在公共时基上同步无线客户机单元132并代表无线客户机132缓冲分组以及协调将分组传送给客户机132。通过信标信号(通常由AP 126每隔102.4ms发出)来维持同步。进而,AP 126为以两种供电模式(即,恒定唤醒模式(CAM)与节电(PS)模式)之一运行的客户机132提供支持。在CAM模式中,客户机132向AP 126注册为一直处于“唤醒”状态,这意味着它们必须始终监视无线介质。因此,AP 126可以在任意给定时刻向客户机132发送分组。由于在恒定唤醒模式中,客户机单元132的接收器始终接通,所以此模式也将消耗最多的电力。
在节电模式中,客户机132向AP 126注册为在信标信号之间处于“昏睡”状态以及注册为临时地“唤醒”以接收选定的信标信号。AP 126必须缓冲目的地是被注册为处于PS模式中的客户机132的分组。通过在客户机132预期将接收的信标信号中包括业务指示图,AP 126通知处于PS模式中的客户机是否有分组在该AP 126处排队。依次地,处于PS模式中的客户机132将轮询AP 126以检索排队的分组。
在PS模式中运行的客户机132可以具有显著降低的功耗。通过忽略信标信号,客户机132可以进一步减少其功耗。在第一次将其意图通知AP126(通过将称为ListenInterval的参数传递给AP 126)之后,客户机132可以进行此操作。此ListenInterval指示符是信标信号之间的间隔,其中客户机132想要唤醒并接收信标信号。例如,Nlisten=1的ListenInterval,意味着客户机想要唤醒以接收每一个信标信号。Nlisten=3的ListenInterval,意味着客户机想要唤醒以每隔两个信标信号接收一次信标信号。客户机132处于昏睡状态时的无线接口中的功耗Pdoze远小于客户机132处于唤醒状态时的功耗Pawake。在处于昏睡状态的时间Tdoze远大于处于唤醒状态的时间Tawake(当可以接收到信标信号时)的情况下,平均功耗P可以按以下公式来计算<P>=Pdoze+Pawake*Tawake/Tdoze在最新技术中,功率数为Pdoze=5mW和Pawake=500mW,并且通常需要Tawake=10ms来接收信标信号。通过将ListenInterval扩展到超过10(其使Tdoze增加到超过1秒),客户机132的功耗可以被降低到CAM模式以下几乎两个数量级。
处于节电模式的一个缺点是显著降低的网络吞吐量,因为当分组到达时,客户机132无法接收进入的分组。相反,客户机132必须等到唤醒才能接收信标信号,然后轮询AP 126以接收已排队的分组。初看起来,这似乎仅会影响等待时间,这不一定转换为吞吐量减少。但是实际上,吞吐量受到严重影响,如R.Krashinsky和H.Balakrishnan在“最小化具有有限减速的无线Web接入的能量”(Minimizing Energy for Wireless WebAccess with Bounded Slowdown,MobiCom 2002)中所讨论的。其原因在于通过网络将网络应用数据从起始服务器发送到客户机的方式。参见P.Barford和M.Crovella的“TCP事务处理的关键路径分析”(Critical pathanalysis of TCP transactions,IEEE/ACM Transactions on Networking,Vol,9,No.3,2001)关于此问题的讨论。
目前,最主要的网络协议是传输控制协议/因特网协议(TCP/IP)堆栈。参见D.E.Comer的《使用TCP/IP进行网络互连卷I》(“Internetworking with TCP/IPVolume I”,Prentice Hall,第二版,1991年)。在此堆栈中,TCP确保在两个TCP端点之间进行可靠的数据分组传送。端点被定义为IP地址和TCP端口号对。两个不同端点的关联被称为TCP连接,并且TCP协议定义了用于建立连接、进行可靠的数据传送以及终止连接的机制。TCP是一种对称协议(即,同一连接保证双向的可靠数据传送;两个端点中的任何一个端点都可以启动连接的建立或终止;并且协议规定了同时打开和关闭)。但是,为了简化讨论,我们应分别将端点称为“客户机”和“服务器”,并仅指从服务器到客户机的数据流。
通过两种方式可以实现可靠的数据分组传送。首先,客户机必须确认其从服务器接收的每个DATA分组,通常一个ACK分组(用于确认传输数据的无错接收)用于每两个DATA分组。其次,服务器将只发送有限数量的DATA分组,同时允许在以后接收(多个)ACK分组。如下面所解释的,根据拥塞窗口大小(CWND)算法来扩展未完成的(即,没有ACK的)数据分组的最大数量。但是,对于建立在TCP层的每一个新网络连接,此算法都重新启动。为了给出所有这些是如何工作的一个实例,假设使用FTP服务器建立了一个文件传输协议(FTP)会话。在该FTP应用中,客户机可以在命令连接上发布命令“get<file_name>”,命令连接是在FTP客户机与服务器之间建立的第一个连接。当执行此命令时,在客户机和FTP服务器之间建立了被称为数据连接的第二个TCP连接,并且一接收到整个文件,数据TCP连接就被断开。
假设FTP服务被配置成使用被动模式(如目前大多数匿名FTP服务器和客户机(例如Netscape)被配置的),下面描述了在客户机与服务器之间的分组传输的动态特性以及在连接的生存期内的CWND算法。为了打开数据连接,客户机将称为SYN(同步)分组的第一个分组发送到服务器的端口号,该端口号在命令连接上由服务器在先前提供。服务器必须立即使用SYN分组来响应,该SYN分组还必须确认(ACK)客户机SYN分组的接收。由于其双重作用,此服务器分组被称为SYN/ACK分组。
同时,作为CWND算法的一部分,服务器将其CWND变量初始化为值1。客户机通过发送ACK分组来立即确认SYN/ACK分组。在TCP中,所有ACK分组都是累积的。当接收到ACK时,如CWND算法所规定的,服务器将其CWND增加1。此外,服务器将发送两个数据分组(如果所请求的文件足够大)。只要没有DATA或ACK分组被丢失或重新排序,对于服务器接收的每个ACK,服务器将其CWND增加1,直到一个非常大的极限值,并且服务器将发送当前CWND所允许的最大数量的分组、最后一个ACK以及文件大小;对于客户机接收的每两个数据分组,或者在系统相关的超时过期(通常为100ms)之后(如果存在任何接收到的未确认的数据的话),客户机将发送一个ACK分组。由于CWND算法处理非常事件(例如分组丢失和重新排序或空闲超时过期),当CWND减小(例如减半或重置为1)并且其上限被重置为更低的极限值(例如其在事件之前的值)时,CWND算法实际上更为复杂。为了简洁,这里没有包括TCP如何处理非常事件以及TCP连接终止的描述,但是本领域的技术人员都熟悉这些主题。
如可以从以上讨论认识到的,如果客户机132接收SYN/ACK分组迟缓,则其第一个ACK分组的传输将被延迟。然后,如果客户机132接收最初两个DATA分组迟缓,则其还将延缓对它们的确认。随着CWND不断增大,即时吞吐量增加,AP 126排队了不断增多的DATA分组(最高为CWND数量的分组)。这发生在客户机132处于昏睡状态时。然后,客户机132可以在其接收到下一个信标信号后非常快地取回分组(当其处于唤醒状态时)。但是,总体平均吞吐量将经历不断增大且具有更小的文件大小,这是由于所谓的“TCP缓慢起动”现象,该现象在新的网络连接的最开始时出现,即两个DATA,然后一个ACK,然后四个DATA,然后两个ACK等等。还可以看到,ListenInteval越小,吞吐量越大。但即使对于Nlisten=1(即,客户机将接收每个信标信号),通常为1500字节的DATA分组仅需1.1毫秒即可传输通过11Mbps的无线接口。因此,考虑典型的102.4毫秒的信标周期并考虑到TCP、IP以及介质访问控制(MAC)协议的低效率,在处于PS模式中的客户机132不再限制吞吐量之前,大约50个DATA分组必须在AP 126处排队,假设客户机-服务器连接带宽受无线接口的速度(即,11Mbps)的限制。若干其他因素可以进一步限制可能的最大吞吐量。应当指出,每102.4ms信标的50个最大大小的DATA帧的最大吞吐量是基于在CAM模式中运行的802.11b无线局域网客户机执行的测量值并对应于每秒700千字节(kByte/s)的最大吞吐量,或者约为无线接口自身的速度的一半。低效率主要是由于802.11b协议开销。TCP/IP帧开销也是一个原因。
对于处于PS模式中的客户机132,可以采取两个操作来最小化对吞吐量的负面影响。第一,只要检测到DATA分组,Nlisten状态就被立即减小到最小大小,以预期更多的DATA分组在AP 126处排队。第二,处于PS模式中的客户机132临时地转变到CAM模式中,在CAM模式中,其通常可以保留100ms,但最长可以保留1秒钟。这种对CAM模式的临时访问将被称为CAM超时时间,或Ttimeout。通常,在DATA分组已被发送或接收之后,Ttimeout被重置为其初始值(比如说,100ms)。
通过将Nlisten减小到1,可以实现吞吐量的某些改进。但是,考虑到典型网页的累积大小约为150KB,由于先前提到的“TCP缓慢起动”现象,只能达到最大可实现吞吐量的1/3。
就临时利用CAM模式而言,这是一个非常有效的方法,在某些情况下,该方法可以重新获得100%的吞吐量效率,即使并不减小Nlisten。其原因在于,只要客户机-服务器往返时间Tround充分地小于Ttimeout,客户机132将由于在每个DATA分组上重置Ttimeout而保留在CAM模式中。即,直到在Ttimeout时间段内没有DATA分组被发送或接收。
使用CAM模式(即使是短暂的时刻,例如100ms)的问题是增大的功耗,如果客户机-服务器带宽小于无线带宽的话。只要有DATA分组正在被接收或发送,客户机132就将保留在CAM模式中另一个100ms。因此,如果延缓了总体吞吐量,客户机132将在CAM模式中花费过量的时间来等待DATA分组到达AP 126。随着客户机-服务器带宽的降低,功率效率也将降低。取决于特定的服务器及其负载并取决于客户机的浏览器,万维网(WWW)上典型的客户机-服务器吞吐量在25-150千字节/秒的范围内。此吞吐量可以由诸如IBM PageDetailer之类的Web嗅探器(分析业务并检测网络中的瓶颈和问题的软件和/或硬件)来测量。
应当指出,确实存在试图增加客户机132处的下载吞吐量的解决方案。一个此类解决方案是将Web缓存与Web预取相结合,其中服务器在客户机请求历史记录的基础上预取客户机132预期将请求的Web数据。此方法被表示为推测性预取。参见X.Chen和X.Zhang的“用于Web预取的基于普及性的预测模型”(A popularity-based prediction model for webprefetching,IEEE Computer,2003年3月)关于预取的讨论。但是,对于每个客户机,推测性预取的效率是不可靠的或不可预测的。在作为数以千计的客户机的主机并经历非常高的吞吐量的代理服务器中,推测性预取可以最佳地工作。预取代理服务器还必须在页面超时时不断地检查页面,并因此生成显著的网络业务量。因此,如果没有过多的此类代理服务器,对于总体网络性能也将是有益的。
还应指出,代理服务器增强和支持客户机能力的好处是公知的。参见D.Gourley和B.Totty的“HTTP确定的指南”(HTTPThe definitiveguide,O’Reilly,2002)关于代理服务器以及它们如何工作的详细研究。出于多种目的开发了代理服务器。可能地,最广为人知的代理服务器类型是Web缓存代理服务器和安全防火墙代理服务器。其他值得关注的类型包括用于转换内容代码以更好地适应特定设备(如PDA)的能力的代理服务器,以及用于阻止访问不适当网站的过滤代理服务器。但是,没有最优化客户机功耗的代理服务器。
最后,需要指出的是,在传输网络层及以下已经进行了相当多的工作来减少功耗。参见C.E.Jones、K.M.Sivalingam、P.Agrawal和J.C.Chen的“用于无线网络的能效网络协议的研究”(A survey of energy efficientnetwork protocols for wireless networks,Wireless Networks,No.7,2001)。但是,这些网络级方法并没有代替或减小代理服务器的重要性和优点。
因此,当前的解决方案并没有设法在客户机(处于CAM模式)等待或监听更多数据时有效地减少浪费的功耗。因此,需要进一步减小移动站中的功耗。

发明内容
一种装置,根据本发明的一个实施例,所述装置通过减少无线客户机接口在唤醒状态中消耗的时间来降低所述无线客户机接口中的能耗,并且所述装置增加无线客户机接口在睡眠状态中消耗的时间。所述装置包括至少一个处理器,所述处理器用于运行被配置成与至少一个无线客户机通信的软件。所述软件被配置成警告所述无线客户机所述装置的配置;使用存储器空间来缓冲目的地为所述无线客户机的网络应用数据;以及根据促进节能的指定条件的至少一次发生,将所述网络应用数据释放给所述无线客户机。


图1是现有技术的无线局域网系统的示例;图2示出了其中可以有利地使用根据本发明的系统的无线局域网环境的表示;图3示出了图2所示的网络的一部分的更详细的表示;图4示出了使用直接方案(根据现有技术)和代理服务器方案(根据本发明的实施例)的功耗的图形表示;图5示出了根据本发明的实施例的使用代理服务器的网页检索的流程图;图6示出了根据本发明的实施例的应用代理服务器的简化方块图;图7示出了根据本发明的实施例的无线客户机的方块图表示。
具体实施例方式
参考图2,其中示出了根据本发明的实施例的使用代理服务器方案的通信系统或网络200的方块图。系统200包括多个诸如无线客户机202之类的无线客户机单元。它们可以是膝上型计算机、个人数字助理或其他无线通信设备,其中电池寿命是一个重要的考虑因素。无线客户机202通过接入点(AP)206被连接到内联网214,所述接入点(AP)206包括无线收发器,以便提供与客户机202的无线通信。如图2所示,AP 206通常通过多端口以太网交换机205与内联网214相连。根据本发明,应用代理服务器204也通过多端口以太网交换机205与内联网214和AP 206相连。
内联网214通过网关208与因特网210相连。还与因特网210相连的是服务器212(此处称为起始服务器)。网络200使用TCP/IP协议来交换分组。
参考图3,其中示出了根据本发明的实施例的网络200的更详细的方块图的示例。内联网214被示为有线局域网306(例如根据图1讨论的有线局域网),只是其现在包括多个应用代理服务器204,每个应用代理服务器204都通过多端口以太网交换机205与AP 206以及有线局域网306的其余部分相连。无线客户机202也不同于图1所示的那些客户机,不同之处在于,它们都适合于使用代理服务器204的服务。
在此实施例中,我们将讨论11Mbps IEEE802.11b无线局域网,其将最大客户机-服务器应用带宽或吞吐量限制为约750kBytes/s。但是,本领域的技术人员将理解,本发明的原理可以用于包括其他802.11系统以及其他无线和有线通信系统的其他实施例。所述代理服务器方案通过从起始服务器212预取应用数据来工作。这导致数据累积在代理服务器204中,直到无线客户机202能够检索数据以及直到代理服务器204释放数据为止。以这种方式,在CAM模式中,客户机202无需与起始服务器212通信,因为现在此任务由代理服务器204来处理。在CAM模式中,客户机202仍必须等待来自代理服务器204的数据分组。但是由于客户机-代理服务器带宽(例如,750kBytes/s)远大于客户机-起始服务器带宽(例如,25-150kBytes/s),客户机202可以以约快5-30倍的速度从代理服务器204检索数据分组,并且因此少消耗5-30倍的时间在CAM模式中,由此减小了功耗。
此外,假设客户机202知道代理服务器204的存在,因为客户机202知道客户机-代理服务器连接的响应时间非常高(由于很高的客户机-代理服务器带宽),所以客户机202可以将其自身的Ttimeout调整到非常小。真正可以影响响应时间的唯一因素是无线网络本身(例如,由于连接或数据丢失)。相比于直接与起始服务器212通信,经由AP 206和代理服务器204的通信将更快。在所述优选实施例中,将假设Ttimeout=25ms。所有这些的净效应是客户机202可以显著地减小处于CAM模式时的能耗。根据本发明的一个方面,客户机202被配置成检测代理服务器204的存在并根据代理服务器204是否可用于缓存消息来调整其Ttimeout。
代理服务器204在应用层运行。在一个优选实施例中,使用了Web浏览器应用。所以在这种情况下,代理服务器204是Web代理服务器,其使用超文本传输协议(HTTP)从起始服务器212来检索网页和对象。类似地,客户机202使用HTTP从代理服务器204来检索网页和对象。
现在参考图4,可以看到两个图表410和420,其中示出了在两个不同系统中1)如直接方案410所示,当客户机202被直接连接到起始服务器212时;以及2)当客户机202利用代理服务器方案420时,无线客户机202的无线局域网接口中的动态功耗(功率)以及累积的DATA分组数NDATA。SYN和FIN分别表示初始客户机202TCP连接请求分组和最终客户机202TCP连接分组。其余的“下”箭头(↓)指示到达a)接入点206和b)代理服务器204的DATA分组。诸如SYN/ACK和ACK分组之类的其他分组没有被示出。在这两种情况下,Nlisten=5(客户机202将每隔四个信标信号接收一个信标信号)。
如可以从图4中看到的,在代理服务器方案420中,代理服务器204累积以任何速度到达代理服务器204的分组。同时,客户机202处于昏睡状态以节约能量。然后,当客户机202被唤醒时,其一检测到第一个DATA分组就转换到CAM模式。然后,客户机202检索所有缓冲的分组,尽可能快地清空代理服务器204的缓冲区。然后,在CAM模式中,客户机202等待Ttimeout=25ms,并且如果AP 206没有传送更多的DATA分组,则客户机202返回昏睡状态。
Web代理服务器至少以两种方式来帮助减小客户机202功耗。首先,通过将客户机与服务器之间的TCP连接分割成两个单独的连接,即客户机-代理服务器以及代理服务器-服务器。此分割保护了客户机202免受广域网状况(例如,有限的带宽、高等待时间、分组丢失)对分组动态特性的负面影响及其对Ttimeout选择的影响。在代理服务器204处分割TCP连接的好处可以应用到任何主要是单向的、朝向客户机202的TCP业务。
第二个好处特定于Web内容并在图5中示出,图5示出了流程图500,其详细说明了检索和释放网页的过程。更具体地说,第二个好处来自构建网页的方式,其中主页可以包括多个嵌入此页的其他对象。所述过程开始于步骤510,接收来自客户机202的HTTP请求,这唤醒了主线程ProxyMain(*Object)。在初始HTTP请求的情况下,在步骤512中,Web代理服务器产生GetWebObject(*Object)线程,其从起始服务器212取回对象。注意,*Object是指向HTTP请求标头字符串的指针。除其他项以外,所述标头包括起始服务器212的名称、对象/页面的路径名称以及cookie。在后续客户机HTTP请求(例如,客户机202请求主HTML页面中的嵌入的图像)的情况下,首先在步骤514中判定对象是否已被取回并因此出现在高速缓存中。如果对象不在高速缓存中,则在步骤516中唤醒GetWebObject()线程。如果对象出现在高速缓存中,则在步骤518中产生ReleaseObject(*Object)线程,将对象释放给客户机202。然后,在步骤520中,所述线程进入等待状态。
步骤530是GetWebObject(*Object)线程。在步骤532中,此线程从起始服务器212取回对象,在步骤534中将所述对象保存在高速缓存中,然后在步骤536中产生ReleaseObject(*Object)以将所述对象释放给客户机202。接着,判定所述对象是否可分析。在不可分析对象的情况下,所述线程在步骤538中进入等待状态。在可分析对象(例如HTML页面或Java脚本)的情况下,在步骤540中分析对象并计数嵌入的对象数。接着,在步骤542中,从起始服务器212取回下一个对象,然后在步骤544将其保存在高速缓存中。如果当前对象是可分析的,则执行返回步骤540。如果当前对象是不可分析的,则在步骤546中将对象计数递减1。如果存在更多要预取的对象,则执行返回步骤542。当所有对象都已被预取时,所述线程在步骤538进入等待状态。
步骤560是ReleaseObject(*Object)线程,其在步骤562中将所述对象释放给客户机202,然后在步骤564中终止所述线程。
注意,ReleaseObject()线程将始终被产生并在对象传输完成时被立即终止。在步骤510中,这使得代理服务器204能够接受多个相继的客户机202请求,即,流水线请求。ReleaseObject()线程在为流水线请求提供服务期间彼此同步以符合HTTP协议规范。
注意,步骤532假设在更早的请求中没有接收到所述对象。如果所述对象已经在高速缓存中,则步骤532可以只是从高速缓存取回所述对象,跳过步骤534并跳至步骤536。
注意,图5所示的流程图500说明了根据接收整个对象的情况来释放Web对象。通常,也可以在其他情况下释放Web数据。例如,另一个情况可以是基于超过一定的缓冲区空间量来释放Web数据。另一个情况可以是基于超时来释放Web数据。在这两种情况下,代理服务器204可以在其接收到整个对象之前开始释放Web数据。
嵌入的对象数可以从几个到一百个以上并取决于网页内容和所使用的Web设计工具。当处理带有嵌入对象的页面时,就分析主页和请求嵌入的对象而言,代理服务器204可以试图模拟某些客户机操作。例如,这取决于Web浏览器(其中请求排序嵌入的对象)的特定实现。对于证明自身为执行其他嵌入对象的结果的对象也同样适用。因为原则上代理服务器204可以知道客户机202正在使用哪个Web浏览器,代理服务器204可以相应地调整其预取策略以更好地匹配来自客户机202的后续请求序列。
当预取操作发生时,客户机202可以仍处于昏睡状态更长的一段时间并不时地醒来以确定是否有分组在代理服务器204处排队。一旦客户机202检索到了主页,很可能客户机202将保持在唤醒状态直到其已从代理服务器204接收到所有当前释放的对象,并且很可能此时间间隔(Tawake)将明显短于在无代理服务器配置中的时间间隔,因为嵌入对象是从本地代理服务器204的高速缓存提供的。此外,在通过低等待时间客户机-服务器连接进行分组传输时,由于可以使用低Ttimeout值来配置客户机202,所以客户机202将在检索到最后一个对象后立即返回昏睡状态。
客户机202必须被配置(编程或连线)成检测Web代理服务器的存在。这是很重要的,因为如前所述,客户机202中的电源管理(PM)机制将取决于对客户机-服务器等待时间的期望以及服务器特性。这可以通过以下操作来完成。在客户机202中,ProxySniffer()后台程序使用UDP端口。有时,它将在达成一致的UDP端口上广播嗅探分组并等待响应。该嗅探分组可以包含关于浏览器的能力和配置的信息。在Web代理服务器上,Alert()后台程序正在监听所述达成一致的UDP端口。当其探测到来自客户机202的嗅探分组时,Alert()后台程序使用其IP地址、TCP端口和能力进行响应。依次地,客户机202将Web浏览器应用配置成使用代理服务器204。其次,客户机202选择用于无线局域网接口的适合的电源管理(PM)方案。一个此类适合的PM方案是在MAC网络层中设置Nlisten=5(即,512ms)和Ttimeout=25ms。为了在PM方案中实现更改,客户机202必须能够与MAC共享代理服务器204的信息。这将在以后进行描述。注意,为了防止嗅探分组传播到属于其他AP的代理服务器,每个代理服务器204都应位于不同的IP子网,这是因为广播分组不会跨子网传播。
客户机202还应该能够判定是否存在任何应用网络会话。根据定义,应用会话环境仅在每个应用内是已知的。但是,通过与MAC网络层共享会话环境,可以选择更适合的PM方案。一个此类适合的PM方案是当客户机202没有与服务器相连时设置Nlisten=100而不是Nlisten=5,因为没有理由应唤醒客户机202以便每隔4个信标信号接收1个信标信号,因为将永远不会有任何分组在AP 206处排队。实际上,无线局域网接口可以被完全关闭,然后当用户单击超链接时再次启动。注意,只有当客户机202并未运行任何类似服务器的应用(即,监听特定TCP/UDP端口以监听命令的应用)时,此类最优化才是可能的。如果客户机202运行类似服务器的应用,如果这些应用的客户机能够容忍(极端)长的响应时间,则上述最优化仍然可以被使用。
以下讨论描述了如何检索应用会话环境和如何将会话和代理环境传输到MAC层以及如何在Web浏览器的网络设置中反映代理环境。
检索应用网络会话环境在客户机202中,SessionContext()模块钩入TCP协议层,在此它拦截所有相关端口上的通信,并通过拦截与IP网络层的所有通信来确定连接何时被打开和关闭。SessionContext()还需要知道每个端口与哪个应用关联,这可以从已知的系统配置文件或数据库来检索。网络编程领域的技术人员将知道如何实现SessionContext()模块。同时,可以从市场上购买到用于检索网络环境的工具。例如,在Linux客户机上,使用shell命令(例如‘netstat-t’,其列出了该客户机的所有TCP连接、它们的状态以及接收和发送队列大小),网络环境可在用户级可用。
将环境传送给MAC驱动程序将环境从ProxySniffer()和SessionContext()传送到MAC驱动程序是实现软件模块或软件组件以便交换数据的这一领域的技术人员公知的。例如,参见J.Richter的《高级Windows》(“Advanced Windows”,Microsoft出版社,1997年第三版)和A.Rubini、J.Corbet的《Linux设备驱动程序》(“Linux Device Drivers”,O’Reilly,2001年第二版)。
在Web浏览器网络设置中反映代理服务器环境在Web浏览器中反映代理服务器环境(最重要地,代理服务器204的IP地址)是系统编程领域的技术人员公知的。例如,在MicrosoftWindowsTM下,这只是更新保存代理服务器204的地址的Windows注册表中的特定键。此外,指示浏览器使用代理服务器204的该特定键首先必须被启用,或者在代理服务器204不存在时被禁用。最后,Web浏览器的配置实用程序必须被切换以便检测对Windows注册表键所做的修改。
通常,Web浏览器和其他网络应用不允许其他软件组件触发其配置实用程序的切换。因此,客户机将继续使用同一代理服务器(其不再是最优的代理服务器),直到用户碰巧重新启动浏览器为止。一种补救方法是在IP协议层使用被称为网络地址转换(NAT)的技术。通过将NAT功能插入拦截所有分组的IP软件层,NAT功能可以手动地插入适当的代理服务器IP地址。为了使这能够工作,NAT功能还需要知道浏览器正在使用哪个TCP端口,以便NAT功能可以正确地分离源自浏览器的分组。在任何操作系统的配置数据库(例如Microsoft Windows注册表)中,可以很容易地访问TCP端口号对网络应用的映射。
本领域的技术人员将认识到,Web代理服务器也可以是Email代理服务器或任何其他网络应用代理服务器。
本领域的技术人员将认识到,代理服务器204还可以与接入点206集成,并且代理服务器204可以位于内联网214上的任何其他位置,或甚至在因特网210上。为了降低功率,重要的是无线客户机202与代理服务器204之间存在高速连接。因此,代理服务器204越靠近接入点206,客户机202与代理服务器204之间的连接带宽就越高。
现在参考图6,代理服务器204包括缓冲区600,其用于存储目的地为客户机单元202的数据(或其他信息)。缓冲区600是代理服务器204的系统存储器(RAM)的一部分,由缓冲区控制程序602来控制。客户机报警程序608将代理服务器204的IP地址和其他能力通知客户机。缓冲区控制程序602和客户机报警程序608可以作为在处理器604上执行的软件来实现。输入/输出(I/O)接口606将实现与客户机和其他信息处理系统的通信。代理服务器204运行在网络应用层,或更具体地说,在层5,并且高于开放系统互联(OSI)ISO标准。在所述优选实施例中,我们假设了一个Web浏览器应用。因此,在这种情况下,代理服务器204是使用超文本传输协议(HTTP)从起始服务器212检索网页和对象的Web代理服务器。类似地,客户机202使用HTTP从代理服务器204检索网页和对象。
根据本发明的另一个实施例,代理服务器204包括这样的软件,所述软件被配置成根据检测到的客户机运行参数,延迟一定的时间量(大于零)来处理为该客户机缓冲的数据中的至少一些数据。所述运行参数包括客户机的设备类型,例如移动电话或无线膝上型计算机或掌上电脑或所使用的操作系统。通过分析从客户机202接收的信号,代理服务器204可以检测这些运行参数。所述参数可以以例如元数据来确切地表达,或者可以从接收的信号类型来推断(例如,使用的协议)。代理服务器204可以被编程为根据检测到的参数将处理延迟调整预定的时间量。
图7示出了根据本发明的实施例,无线客户机202可以如何被配置。无线客户机202可以配备有组件,以包括射频(RF)收发器702、处理器704、代理服务器检测器程序706、代理服务器配置程序708以及客户机配置程序710。电池712也将是配置的一部分。
因此,尽管已经描述了目前被认为是一个或多个优选实施例的以上内容,本领域的技术人员将理解,可以在本发明的精神内做出其他修改。
权利要求
1.一种装置,所述装置包括至少一个处理器,所述处理器用于运行被配置成与客户机交互的软件;所述软件还被配置成从服务器预取数据;所述软件还被配置成使用存储器空间来缓冲所述数据;所述软件还被配置成根据促进节能的指定条件的至少一次发生,将所述数据释放给所述客户机;以及所述软件还被配置成有意地延迟一个大于零的时间量来处理所述数据中的至少一些数据以促进节能。
2根据权利要求1的装置,还包括用于接收配置指令的输入端;以及用于存储所述配置指令的存储器空间;其中所述至少一个处理器被配置成运行软件以执行所述配置指令。
3.根据权利要求1的装置,其中所述指定条件包括超过缓冲区阈值。
4.根据权利要求1的装置,其中所述指定条件包括应用数据流结束。
5.根据权利要求1的装置,其中所述指定条件包括接收到至少一个对象。
6.根据权利要求1的装置,其中所述指定条件包括指定的时间段到期。
7.根据权利要求1的装置,其中所述网络应用数据包括一组数据之一,所述组包括电子邮件数据;网页数据;网络会议数据;即时消息数据;以及数据库同步数据。
8.根据权利要求1的装置,其中所述装置还被配置成作为代理服务器来运行。
9.根据权利要求1的装置,其中所述装置与用于无线网络的接入点集成。
10.根据权利要求1的装置,其中所述装置适合于为多个客户机提供服务。
11.根据权利要求1的装置,还包括用于仿真网络应用的仿真系统。
12.根据权利要求1的装置,其中所述装置包括直接到所述接入点的网络端口中的连接,所述网络端口又连接到互联网。
13.根据权利要求2的装置,其中所述配置指令源自所述客户机。
14.根据权利要求2的装置,其中所述配置指令指定了指定条件的所述至少一次发生以便释放所述网络应用数据。
全文摘要
一种装置,所述装置通过减少无线客户机接口在唤醒状态中消耗的时间来降低所述无线客户机接口中的能耗,并且所述装置增加无线客户机接口在睡眠状态中消耗的时间。所述装置包括至少一个处理器,所述处理器用于运行被配置成与至少一个无线客户机通信的软件。所述软件被配置成警告所述无线客户机所述装置的配置;使用存储器空间来缓冲目的地为所述无线客户机的网络应用数据;以及根据促进节能的指定条件的至少一次发生,将所述网络应用数据释放给所述无线客户机。
文档编号H04L29/06GK101069173SQ200480010591
公开日2007年11月7日 申请日期2004年4月20日 优先权日2003年4月21日
发明者M·O·克劳斯, C·W·杰弗里, N·钱德拉塞卡尔, R·马塞尔-卡塔林 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1