启用长期通信空闲以用于能量效率的制作方法

文档序号:7770033阅读:194来源:国知局
启用长期通信空闲以用于能量效率的制作方法
【专利摘要】本发明涉及启用长期通信空闲以用于能量效率。提供了一种网络适配器包括用于基于发送分组的数量、接收到的分组的大小、以及接收到的分组的到达之间的间隔来从第二模式改变成第一模式的控制器。在一个实施例中,该网络控制器还包括用于缓冲接收到的分组的存储器,其中在第一模式中比在第二模式中将接收到的分组缓冲更长时间。
【专利说明】启用长期通信空闲以用于能量效率
[0001]本申请是申请号为201010158016.7、发明名称为“启用长期通信空闲以用于能量效率”的发明专利申请的分案申请。
【技术领域】
[0002]本发明的各实施例涉及通信系统;更具体地,涉及通信系统的能量效率。
【背景技术】
[0003]在偏爱低功率设计的移动平台中找到宽带无线联网能力(例如,IEEE802.11、802.16e等)和有线连接性(例如,IEEE802.3)正变得日益常见。在一些网络环境中,以全功率状态维护所有网络设备(有线或无线)不必要地消耗了能量,尤其是在零星访问数据的情况下。结合网络设备使用功率管理方案来延长移动通信设备的电池寿命。
[0004]网络设备能以降低功率状态(例如,待机、休眠、睡眠等)操作来节省功率消耗。然而,如果设备处于降低功率状态,则该设备可能不能够从其他连网设备接收数据请求或数据。
【专利附图】

【附图说明】
[0005]在各附图中作为示例而非限制说明了本发明的各实施例,附图中相同标记指示相同元件,并且附图中:
[0006]图1是根据本发明的一实施例的包括网络设备的计算平台的框图。
[0007]图2示出用于确定是否以长期空闲模式操作的过程的一个实施例的流程图。
[0008]图3示出用于确定睡眠间隔(SI)的过程的一个实施例的流程图。
[0009]图4是根据本发明的一个实施例的无线通信系统的图示。
[0010]图5示出用于本发明的一个实施例的计算机系统。
[0011]图6示出用于本发明的一个实施例的点对点计算机系统。
【具体实施方式】
[0012]描述了一种用于确定在将一些接收到的分组发送到计算平台之前是否缓冲这些分组的装置的各实施例。在一个实施例中,接收到的分组被缓冲一段时间而非立即传送到计算平台。在一个实施例中,在缓冲分组时,计算平台观察空闲时间段。计算平台随后进入低操作功率状态。在一个实施例中,该装置是无线网络设备。在另一实施例中,该装置是有线网络设备。
[0013]在以下描述中,阐明了许多细节以提供对本发明的各实施例的更透彻说明。然而,本领域技术人员将显而易见的是,没有这些具体细节也可实践本发明的各实施例。在其他实例中,以框图形式而非详细地示出了公知的结构和设备以免湮没本发明的各实施例。
[0014]根据对计算机存储器内的数据位的操作的算法和符号表示来呈现以下详细描述的一些部分。这些算法描述和表示是数据处理领域技术人员用来向本领域技术人员最高效地传达他们工作的实质的手段。在此,一般认为算法是产生所需结果的自相容步骤序列。这些步骤是需要对物理量进行物理操纵的那些步骤。通常但非必须,这些量采取能被存储、传输、组合、比较、以及以其他方式操纵的电信号或磁信号的形式。主要出于常见用法的原因,有时将这些信号称为位、值、元素、符号、字符、项、数字等被证明是方便的。
[0015]然而,应当记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。除非明确指明,否则如从以下讨论显而易见的,可以理解,在全文中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论,指的是计算机系统或类似电子计算设备的动作和进程,该计算机系统操纵在该计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将其转换成在该计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内类似地表示为物理量的其他数据。
[0016]本发明的各实施例还涉及用于执行此处的操作的装置。一些装置可专门构造来用于所需目的,或其可包括通用计算机,该通用计算机由存储在该计算机内的计算机程序有选择地激活或重新配置。这种计算机程序可以存储在计算机可读存储介质中,这些计算机可读存储介质诸如但不限于任何类型的磁盘,包括软盘、光盘、CD-ROM、DVD-ROM、和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁卡或光卡、或适用于存储电子指令且都耦合到计算机系统总线的任何其他类型的介质。
[0017]此处所呈现的算法和显示并非固有地相关于任何特定计算机或其他装置。可以将各种通用系统与根据此处教示的程序一起使用,或可以证明构造更专用装置来实现所需方法步骤是方便的。这些各种系统的所需结构从以下描述中将显而易见。另外,不参考任何特定编程语言来描述本发明的各实施例。可以理解,可以使用各种编程语言来实现本文所述的发明的教示。
[0018]一种机器可读介质包括用于以机器(例如,计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质可包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备;以及其它。
[0019]此处描述的方法和装置用于启用长期通信空闲,使得平台以降低功率状态操作。具体地,参考无线通信系统主要讨论了网络适配器。然而,用于启用长期通信空闲的方法和装置不限于此,因为它们可以实现在诸如蜂窝电话、个人数字助理、嵌入式控制器、移动平台、台式平台、以及服务器平台等任何集成电路设备或系统上或与其相关联,并结合诸如硬件/软件线程等利用数据联网的其他资源。
[0020]概览
[0021]图1是根据本发明的一实施例的包括网络设备的计算平台的框图。未示出诸如总线和外围设备等许多相关组件以避免湮没本发明。参考图1,该计算机系统包括平台110以及经由接口 102 (例如,有线接口或无线接口)耦合到接入点101的网络适配器120。
[0022]在一个实施例中,平台110包括功率状态控制器111、处理器112、以及存储器控制器113。在其他实施例中,平台110还包括1/0 (输入/输出)控制器和1/0设备(未示出)。在一个实施例中,网络适配器120包括采样逻辑121、控制器122、睡眠间隔(SI)控制器123、收发机124、发射fifo (先入先出)(TX fifo) 125、长期空闲模式(LT模式)缓冲区126、接收fifo (RX fifo)、以及缓冲区控制单元128。
[0023]然而,本发明的其他实施例可存在于图1的系统内的其他电路、逻辑单元、或设备中。此外,在本发明的其他实施例中,可以分布在图1所示的一个或多个电路、逻辑单元、或设备上。
[0024]在一个实施例中,平台110包括诸如蜂窝电话、个人数字助理、嵌入式控制器、移动平台、台式平台、以及服务器平台等系统,并结合诸如硬件/软件线程等利用网络适配器120来发射和接收网络分组的其他资源。在一个实施例中,平台110经由诸如例如一个或多个计算机总线、链路、或信道等接口 114耦合到网络适配器120。
[0025]在一个实施例中,平台110包括执行在其上运行的程序或应用程序的处理器112。在一个实施例中,处理器112耦合到存储器控制器113以读和写存储操作系统、用户应用程序、程序、或它们的组合的存储器(未示出)。
[0026]在一个实施例中,功率状态控制器111控制平台110的功率状态。在一个实施例中,功率状态控制器111直接或间接控制处理器112、存储器控制器113、其他组件(未示出)、或它们的组合的功率状态。在一个实施例中,处理器112、存储器控制器113、以及其他组件基于来自功率状态控制器111的控制信号来设置它们的功率状态。
[0027]在一个实施例中,网络适配器120经由接口 102通信耦合到接入点101 (基站)。在一个实施例中,网络适配器120包括用于与接入点101通信传递射频(RF)信号的无线接口。在一个实施例中,无线接口是基于IEEE802.11兼容无线网络的接口。
[0028]在一个实施例中,网络适配器120包括用于经由有线兼容网络(例如,IEEE802.3)来与交换机(未示出)进行通信的有线网络接口卡(NIC)。在一个实施例中,网络适配器120包括用于经由蜂窝网络(例如,3G网络)与基站(未示出)进行通信的蜂窝网络接口。
[0029]在一个实施例中,TX fifol25存储要经由接口 102发送到接入点101的数据分组。在一个实施例中,RX fifol27存储经由接口 102从接入点101接收到的数据分组。在一个实施例中,接口 102包括用于接收和发送数据分组的一个或多个信道或链路。
[0030]在一个实施例中,缓冲区控制单元128基于来自控制器122的控制信号来管理TXfifo 125和RX fifo 127的操作。在一个实施例中,控制器122直接管理TX fifo 125和RXfifol27的操作。在一个实施例中,缓冲区控制单元128与控制器122集成在一起。
[0031]在一个实施例中,采样逻辑121相对于接口 102处的网络通信量来确定例如发送分组的数量、接收到的分组的大小、接收到的分组的到达、以及到达之间的间隔。在一个实施例中,采样逻辑121相对于接口 102处的网络通信量来确定分组类型(单播或多播)。
[0032]在一个实施例中,两次到达之间的间隔在此被称为分组到达间隔(inter-packetarrival)时间。在一个实施例中,分组抖动是分组到达间隔时间的方差(与从协商获得的或在协议中预定的预期值相比)。换言之,分组抖动是顺序分组的到达时间的偏差。
[0033]例如,在一个实施例中,假定网际协议语音(VoIP)设备每20毫秒发送一个RTP(实时协议)(IETF RFC1889)分组。如果后续RTP分组在下一 21毫秒时到达,则该分组抖动是I毫秒(S卩,21-20)。在其他实施例中,分组抖动是用其他表达式来计算的。在一个实施例中,RTP用于跨网络发送实时数据流。在一个实施例中,VoIP基于分组的多媒体通信协议(例如,H.323)。
[0034]在一个实施例中,采样逻辑121确定与发送队列和接收队列相关的度量。在一个实施例中,这些度量被用来确定被传送的数据的类别。在一个实施例中,与各网络协议所需要来管理、控制、或广播分组相关的网络通信量在此被称为后台通信量。在一个实施例中,涉及应用程序、程序、或系统所使用的数据的其余网络通信量在此被称为活动通信量。在一个实施例中,米样逻辑121每一米样窗口(例如500毫秒)重复一次米样过程。在一个实施例中,采样逻辑121每一采样窗口都生成结果。
[0035]在一个实施例中,后台通信量包括小型分组,其中接近于MTU (最大传输单元)的分组大小不常见。在一个实施例中,后台通信量通常只在接收路径上找到,而与活动通信量相关联的小型分组通常使用双向通信。在一个实施例中,与活动通信量(例如,VoIP、多媒体数据流)相关联的分组的分组到达间隔时间基本上是统一的。在一个实施例中,活动通信量主要包括单播分组。广播/多播分组在活动通信量中不是很常见。
[0036]在一个实施例中,控制器122至少基于来自采样逻辑121的结果来确定是否改变成长期空闲模式(LT模式)。在一个实施例中,如果来自采样逻辑121的结果指示接收到的数据分组是后台通信量,则控制器122将网络适配器120设置成以LT模式操作。在一个实施例中,如果控制器122基于来自采样逻辑121的结果检测到活动通信量,则控制器122将网络适配器120设置成正常模式。
[0037]在一个实施例中,后台通信量包括与确认、链路管理、网络管理、低优先级应用程序(例如,小窗口、移动性应用程序、即时消息收发应用程序)等相关的分组。在一个实施例中,延迟这种后台通信量对服务质量的性能几乎没有影响。
[0038]在一个实施例中,在设置了 LT模式的情况下,缓冲区控制单元128使得(从接口102)接收到的一些分组存储在LT模式缓冲区126中,而非立即将这些接收到的分组发送到平台110。在一个实施例中,平台110在接口 114处观察空闲时间段,在该段时间期间接收到的分组被缓冲。在接口 114保持空闲的时间段超过预定值(例如,100毫秒、300毫秒)的情况下,平台110进入低操作功率状态。在一个实施例中,在接口 114保持空闲100毫秒的情况下,平台110转换成以最低操作功率状态操作。最终,缓冲区控制单元128以猝发来将存储在LT模式缓冲区126中的接收到的分组发送到平台110。
[0039]在一个实施例中,在设置了 LT模式的情况下,缓冲区控制单元128使得(从接口102)接收到的一些分组存储在LT模式缓冲区126中,而非存储在RX fifol27中。在一个实施例中,缓冲区控制单元128通过设置多路复用器电路(未示出)的控制信号来选择使用哪一缓冲区。缓冲区控制单元128以猝发来将存储在LT模式缓冲区126中的接收到的分组发送到平台110。在一个实施例中,在处于正常模式时,存储在RX fifol27中的接收到的分组基本上被立即发送到平台110。
[0040]在一个实施例中,缓冲区控制单元128可用于通过临时缓冲(从接口 102)接收到的分组而非立即将接收到的分组发送到目的地来调节控制器122接收到的网络通信量。在一个实施例中,经调节的网络通信量基本上被以猝发来发送到平台。平台因此能够以低功率状态操作,因为该平台没有预期分组到达,直到下一猝发发生为止。
[0041]在一个实施例中,缓冲区控制单元128基于超时值周期性地以猝发来发送缓冲在LT模式缓冲区126中的接收到的分组。在一个实施例中,缓冲接收到的分组,直到超时值期满或直到检测到活动通信量为止。该超时值是结合功率节省简档、操作系统、用户配置设置、或它们的组合来设置的。
[0042]在一个实施例中,缓冲区控制单元128可用于使得网络适配器120不中断平台110进入低功率状态所需的安静时间段。在一个实施例中,缓冲区控制单元128结合控制器122使得在几乎不影响或不影响总体性能的情况下将后台通信量或空闲通信量的分组缓冲一段时间。
[0043]在一个实施例中,LT模式缓冲区126是RX fifol27的一部分。在一个实施例中,LT模式缓冲区126是RX fifol27之外的不同存储区域。在一个实施例中,LT模式缓冲区126的大小小于3K字节(例如,2.6K字节)。基于网络通信量和环境,LT模式缓冲区126的大小是不同的。在一个实施例中,以下另外参考其余附图更详细地描述了启用LT模式的过程。
[0044]在一个实施例中,接入点101经由至少一个无线设备连接到网络基础结构(例如,网络100)。在一个实施例中,接入点101经由无线接口(例如,IEEE802.11兼容网络)耦合到网络100。
[0045]睡眠间隔
[0046]在一个实施例中,网络适配器120能够以多个功率状态操作,例如,发送、接收、空闲、休眠、以及关闭。在空闲模式中,没有要发送和接收的分组,但收发机124仍然打开。
[0047]在一个实施例中,网络适配器120是能够以功率节省模式(PSM)操作的无线NIC。在该功率节省模式中,在网络适配器120在预定持续时间内没有接收到或发送分组的情况下,网络适配器120进入休眠状态。
[0048]在一个实施例中,在没有要发送或接收的数据的情况下,网络适配器120进入休眠状态,而同时仍然连接到网络。在休眠状态中,收发机124关闭固定一段时间,该段时间是已预先与接入点101协商的。在该时间期间,接入点101缓冲定向到平台110的数据。在休眠持续时间(睡眠间隔)期满后,打开收发机124以检查接入点101是否已经缓冲了该设备的一些数据。如果存在缓冲数据或如果在任何时间存在要发送到接入点的数据,则网络适配器120退出休眠状态。
`[0049]在一个实施例中,网络适配器120支持多个不同的功率节省状态(例如,5个功率节省状态)。这些功率节省状态中的每一个具有在网络适配器120进入功率节省模式之前的不同监听间隔。例如,允许用户在提高电池寿命的设置与提高性能的设置之间进行选择。在一个实施例中,设置较短的监听间隔(例如,25毫秒)来提高电池寿命。在一个实施例中,设置较长的监听间隔(例如,100毫秒)来提高性能。
[0050]在一个实施例中,用户站(例如,网络适配器120)将该用户站将改变成休眠状态通信通知给接入点101。在一个实施例中,接入点101缓冲分组,直到用户站改变成唤醒状态为止。
[0051]在一个实施例中,睡眠间隔表示网络适配器120改变成休眠状态并再次改变成唤醒状态所需的时间间隔。在一个实施例中,睡眠间隔是用户站处于休眠状态并且不可由网络访问的时间段。在一个实施例中,睡眠间隔按帧数来表不。在一个实施例中,睡眠间隔被设为50晕秒、25晕秒、或更短。
[0052]在其他实施例中,睡眠间隔由接入点101根据来自用户站(例如,网络适配器120)的请求来分配。
[0053]在一个实施例中,接入点101发送通信量指示消息(--Μ)。该--Μ向客户机通知接入点101上存在着为该客户机缓冲的分组。在一个实施例中,在交付通信量指示消息(DHM)中传递广播/多播数据。在一个实施例中,DHM以DTIM间隔所指定的频率来生成。在一个实施例中,睡眠间隔与DHM间隔相关联。
[0054]在一个实施例中,SI控制器123确定网络适配器120的睡眠间隔。在一个实施例中,睡眠间隔是结合功率节省简档、操作系统、用户配置设置、或它们的组合来确定的。将在以下参考图3更详细地描述用于确定睡眠间隔的过程。
[0055]操作
[0056]图2示出用于确定是否以长期空闲模式(LT模式)操作的过程的一个实施例的流程图。该过程由可包括硬件(电路、专用逻辑等)、软件(如在通用计算机系统或专用机器上运行的软件)、或两者的组合的处理逻辑来执行。在一个实施例中,该过程结合网络适配器(例如,图1中的网络适配器120)来执行。在一个实施例中,该过程由参考图5的计算机系统来执行。
[0057]在一个实施例中,该过程以将LT模式设置成关闭开始。在一个实施例中,处理逻辑周期性地对与网络通信量相关联的数据进行采样(过程框201 )。在一个实施例中,所采样的数据包括发送分组的数量、接收到的分组的大小、接收到的分组的到达、以及各到达之间的间隔(分组到达间隔)。
[0058]在一个实施例中,处理逻辑确定采样时间窗口是否已经过去(处理框210)。如果采样时间尚未过去,则处理逻辑继续对网络通信量执行采样(过程框201)。否则,处理逻辑继续前进以基于来自采样的结果(或部分结果)来确定是否以LT模式操作。
[0059]在一个实施例中,处理逻辑将接收到的分组的大小与阈值进行比较(过程框211)。在一个实施例中,该阈值是500字节。如果任何接收分组大小(在采样时间段期间)都大于500字节,则处理逻辑将LT模式设置成关闭(过程框200)。
[0060]否则,处理逻辑进一步比较到达之间的间隔是否基本上统一。在一个实施例中,分组的统一到达指示这些分组是与活动通信量相关联的网际协议语音(VoIP)分组(或实时流传输多媒体分组,例如,视频会议、web广播等)。在一个实施例中,处理逻辑将这些间隔的偏差(分组抖动值)与预定分组抖动值(例如,2毫秒、4毫秒等)进行比较(过程框212)。
[0061]在一个实施例中,如果接收到的分组的到达是统一的,则处理逻辑确定LT模式关闭。否则,处理逻辑进一步将发送分组的数量与阈值(例如,5)进行比较(过程框213)。如果发送分组的数量高于阈值,则处理逻辑将LT模式设置成关闭(过程框200)。否则,处理逻辑将LT模式设置成打开(过程框202)。
[0062]在一个实施例中,以LT模式操作指示网络通信量包括后台通信量。处理逻辑使得这些分组缓冲一段时间。平台(这些缓冲分组的接收机)观察未中断的空闲时间段。该平台随后以降低功率状态操作。在一个实施例中,至少基于以上描述的条件,在超时之后或在处理逻辑检测到活动通信量的情况下,这些缓冲分组将被发送到该平台(接收机)。
[0063]在一个实施例中,处理逻辑能够基于来自采样的结果而不读入网络分组的内容来确定是否以LT模式操作。在一个实施例中,处理逻辑能够在不读取并解释网络分组首部的情况下确定是否以LT模式操作。在一个实施例中,处理逻辑能够仅基于来自采样的结果而不解密通常被解密的网络分组来确定是否以LT模式操作,以使执行该确定需要较少时间或较少资源。在其他实施例中,该过程中合并了更多或更少条件来确定是否转换成LT模式。
[0064]在一个实施例中,从网络适配器接收分组的平台需要100毫秒空闲时间段以使该平台切换到休眠状态。在不在网络适配器处进行缓冲的情况下,平台较不频繁地以降低功率状态操作,因为该平台每隔小于100毫秒接收分组(例如,50毫秒、25毫秒、或零星地)。在一个实施例中,平台设置该平台以降低功率状态操作的持续时间。确定该持续时间,以便即使计算包括在转换成不同功率时所使用的能量也提高功率节省。在一个实施例中,在网络适配器处将接收分组缓冲至少该持续时间段。
[0065]在一个实施例中,通过切换到LT模式,网络适配器缓冲与后台通信量相关的分组,直到超时值期满或直到检测到活动通信量为止。在一个实施例中,网络适配器将接收到的分组缓冲超过100毫秒(该平台所需的)时间段,以使该平台切换到降低功率状态来节省功率。在一个实施例中,超时被设为一个值,如25毫秒、50毫秒、或100毫秒。
[0066]在一个实施例中,结合功率节省简档、操作系统、用户配置设置、或它们的组合来确定是否转换成LT模式。在一个实施例中,LT模式是与功率节省简档相关联的可任选特征。
[0067]图3示出用于确定装置(例如,网络适配器120)的睡眠间隔(SI)的过程的一个实施例的流程图。该过程由可包括硬件(电路、专用逻辑等)、软件(如在通用计算机系统或专用机器上运行的软件)、或两者的组合的处理逻辑来执行。在一个实施例中,该过程结合网络适配器(例如,图1中的网络适配器120)来执行。在一个实施例中,该过程由参考图5的计算机系统来执行。
[0068]在一个实施例中,睡眠间隔是结合功率节省简档、操作系统、用户配置设置、或它们的组合来确定的。在一个实施例中,该过程通过处理逻辑确定是否正在实行LT模式开始(过程框321)。如果未实行LT模式,则处理逻辑将分组发送到平台(过程框311)。否则,处理逻辑确定睡眠间隔的最小值和最大值。在一个实施例中,该值可由用户配置。在一个实施例中,最小值是50毫秒,而最大值是6个DTIM间隔(例如,600毫秒)。
[0069]在一个实施例中,处理逻辑将网络适配器设置成以唤醒模式操作(过程框300)。处理逻辑向接入点发送触发帧以向该接入点通知网络适配器的状态(过程框301)或通知接入点该网络适配器准备好从该接入点接收数据分组。
[0070]在一个实施例中,处理逻辑使得从接入点接收数据分组(或数据帧)。在一个实施例中,处理逻辑还对接收到的分组的数量进行计数,该数量在此被称为N (过程框302)。
[0071]在一个实施例中,处理逻辑基于采样结果确定接收到的分组是否与活动通信量相关(过程框322)。在一个实施例中,采样结果包括关于网络通信量的若干数据,诸如例如发送分组的数量、接收到的分组的大小、接收到的分组的到达、以及到达之间的间隔。在一个实施例中,以上另外参考图2描述了用于确定活动或后台通信量的过程。在一个实施例中,基于比图2中描述的更少或更多条件来执行用于确定活动或后台通信量的过程。
[0072]在一个实施例中,如果通信量是活动通信量,则处理逻辑将LT模式设置为关闭(过程框310)。在一个实施例中,处理逻辑还将接收到的分组发送到计算平台而不进行任何附加缓冲阶段(过程框311)。
[0073]在一个实施例中,如果通信量不是活动通信量,处理逻辑确定网络适配器的新睡眠间隔值。在一个实施例中,处理逻辑基于接收到的分组的数量(N)来确定睡眠间隔(过程框323)。在一个实施例中,如果N是1,则处理逻辑不改变睡眠间隔(过程框305)。
[0074]在一个实施例中,如果N大于1,则处理逻辑降低睡眠间隔。在一个实施例中,处理逻辑将睡眠间隔降低一半,或在一半间隔小于最小值的情况下将睡眠间隔设置为最小值(过程框303)。
[0075]在一个实施例中,如果N是0,则处理逻辑增加睡眠间隔。在一个实施例中,处理逻辑将睡眠间隔加倍,或在新间隔大于最大值的情况下将睡眠间隔设置为最大值(过程框304)。
[0076]在一个实施例中,处理逻辑结合LT模式的操作来使接收到的分组得到缓冲(过程框305)。在一个实施例中,在缓冲区区域(例如,接收fifo的一部分或分开的缓冲区区域)中缓冲接收到的分组,直到超时值过去为止。在一个实施例中,超时值被设置为100毫秒。
[0077]在一个实施例中,处理逻辑确定超时值是否已经过去(过程框324)。如果超时值已经过去,则处理逻辑将接收到的分组发送到计算平台(过程框311)。否则,处理逻辑将网络适配器设置成在休眠间隔时间段内以休眠状态操作。在一个实施例中,处理逻辑还将N值复位到O (过程框306)。
[0078]在一个实施例中,处理逻辑通过将网络适配器设置成以唤醒模式操作来重复该过程(过程框300)。
[0079]图4是根据本发明的一个实施例的无线通信系统的图示。参考图4,在一个实施例中,无线通信系统400包括一个或多个无线通信网络,概括地示为410、420、以及430。
[0080]在一个实施例中,无线通信系统400包括无线个域网(WPAN) 410、无线局域网(WLAN) 420、以及无线城域网(WMAN) 430。在其他实施例中,无线通信系统400包括更多或更少通信网络。例如,无线通信网络400包括另外的WPAN、WLAN、和/或WMAN。本文中所描述的方法和装置不限于此方面。
[0081]在一个实施例中,无线通信系统400包括一个或多个用户站(例如,被示为440、442、444、446、以及448 )。例如,用户站440、442、444、446以及448包括诸如台式计算机、膝上型计算机、手持计算机、平板计算机、蜂窝电话、寻呼机、音频/视频播放器(例如MP3播放器或DVD播放器)、游戏设备、视频摄像机、数码相机、导航设备(例如GPS设备)、无线外围设备(例如,打印机、扫描仪、头戴式耳机、键盘、鼠标等等)、医疗设备(例如,心率监视仪、血压监视仪等等)之类的无线电子设备,和/或其他合适的固定的、便携的、或移动的电子设备。在一个实施例中,无线通信系统400包括更多或更少用户站。
[0082]在一个实施例中,用户站440、442、444、446、和448使用诸如扩频调制(例如,直接序列码分多址(DS-CDMA)、跳频码分多址(FH-CDMA)、或两者)、时分多路复用(TDM)调制、频分多路复用(FDM)调制、正交频分多路复用(OFDM)调制、多载波调制(MDM)、其他合适的调制技术、或它们的组合等多种调制技术以通过无线链路通信。
[0083]在一个实施例中,膝上型计算机440可根据功耗很低的诸如蓝牙RTM、超宽带(UWB)JP /或射频识别(RFID)、或它们的组合等合适的无线通信协议操作以实现WPAN410。在一个实施例中,膝上型计算机440可通过无线链路与诸如视频摄像机442和/或打印机444、或两者等与WPAN410相关联的设备通信。
[0084]在一个实施例中,膝上型计算机440可使用直接序列扩频(DSSS)调制、跳频扩频(HlSS)调制、或两者来实现WLAN420 (例如,根据由电气与电子工程师协会(IEEE)开发的802.11标准系列和/或这些标准的变种和改进的基本服务组(BSS)网络)。例如,膝上型计算机440经由无线链路同诸如打印机444、手持式计算机446、智能电话448、或它们的组合等与WLAN420相关联的设备进行通信。
[0085]在一个实施例中,膝上型计算机440还经由无线链路与接入点(AP) 450通信。AP450在操作上耦合到路由器452,如以下更详细地描述的。或者,AP450和路由器452可集成到单个设备中(例如,无线路由器)。
[0086]在一个实施例中,膝上计算机440使用OFDM调制通过将射频信号分割成多个小的子信号然后再以不同频率同时发送来发送大量数字数据。在一个实现中,膝上型计算机440使用OFDM调制来实现WMAN430。例如,膝上型计算机440根据IEEE所开发的用于固定的、便携的、移动的宽带无线接入(BWA)网络(例如,2004年公布的IEEE标准802.16))的802.16标准系列或其组合来操作以经由无线链路与基站(示为460、462、以及464)通信。
[0087]虽然以上相对于由IEEE开发的标准描述了以上示例的一些内容,但本文中公开的方法和装置可容易地应用到由其他特别利益集团、标准开发组织(例如,无线高保真(W1-Fi)联盟、微波接入全球互通(WiMAX)论坛、红外数据协会(IrDA)、第三代合作伙伴计划(3GPP)等等)开发的许多规范和/或标准或其组合中。本文中所描述的方法和装置不限于此方面。
[0088]WLAN420和WMAN430可通过以太网连接、数字用户线(DSL)、电话线、同轴电缆、和/或任何无线连接等、或它们的组合来在操作上耦合到网络470 (公共或专用),诸如因特网、电话网络(例如,公共电话交换网(PSTN))、局域网(LAN)、电缆网络、和/或另一无线网络。
[0089]在一个实施例中,WLAN420经由AP450和路由器452在操作上耦合到网络470。在另一实施例中,WMAN430经由基站460、462、464、或它们的组合在操作上耦合到网络470。网络470包括一个或多个网络服务器(未示出)。
[0090]在一个实施例中,无线通信系统400包括其他合适的无线通信网络,诸如例如被示为480的无线网格网络。在一个实施例中,AP450,基站460、462、以及464与一个或多个无线网格网络相关联。在一个实施例中,AP450与无线网格网络480的多个网格点(MP)490中的一个通信或担当这样一个网格点。在一个实施例中,AP450结合多个MP490中的一个或多个来接收和发送数据。在一个实施例中,多个MP490包括经由网格路径的通信流的接入点、重分发点、端点、其他合适的连接点、或它们的组合。MP490使用上述任何调制技术、无线通信协议、有线接口、或它们的组合来进行通信。
[0091]在一个实施例中,无线通信系统400包括诸如蜂窝无线电网络(未示出)等无线广域网(WWAN)。膝上型计算机440根据其他无线通信协议工作以支持WWAN。在一个实施例中,这些无线通信协议基于模拟、数字、或双模式通信系统技术,诸如例如全球移动通信系统(GSM)技术、宽带码分多址(WCDMA)技术、通用分组无线电服务(GPRS)技术、增强数据GSM环境(EDGE )技术、通用移动电信系统(UMTS )技术、高速下行分组接入(HSDPA )技术、高速上行分组接入(HSUPA)技术、基于这些技术的其他合适代的无线接入技术(例如,3G、4G等)标准、这些标准的变体及改进、以及其他合适的无线通信标准。虽然图4描绘WPAN、WLANjPWMAN,但在一个实施例中,无线通信系统400包括WPAN、WLAN、WMANjP WffAN的其他组合。本文中所描述的方法和装置不限于此方面。
[0092]在一个实施例中,无线通信系统400包括诸如例如网络接口设备和外围设备(例如,网络接口卡(NIC))、接入点(AP)、重新分发点、端点、网关、网桥、集线器、等等其他WPAN、WLAN、WMAN、或WffAN设备(未示出)来实现蜂窝式电话系统、卫星系统、个人通信系统(PCS)、双向无线电系统、单向寻呼机系统、双向寻呼机系统、个人计算机(PC)系统、个人数 据助理(PDA)系统、个人计算配件(PCA)系统、其他合适的通信系统、或它们的组合。[0093]在一个实施例中,用户站(例如,440、442、444、446和448 ) AP450或基站(例如, 460、462和464)包括串行接口、并行接口、小型计算机系统接口(SCSI)、以太网接口、通用 串行总线(USB)接口、高性能串行总线接口(例如,IEEE1394接口)、任何其他合适类型的有 线接口、或它们的组合以经由有线链路通信。虽然以上说明了特定示例,但本发明的覆盖范 围不限于此。[0094]本发明的各实施例可以在各种电子设备和逻辑电路中实现。此外,包括本发明的 各实施例的设备或电路可以包括在各种计算机系统中。本发明的各实施例还可包括在其他 计算机系统拓扑结构和体系结构中。[0095]例如,图5示出结合本发明的一个实施例的计算机系统。处理器705从I级(LI) 高速缓存存储器706、2级(L2)高速缓存存储器710、以及主存储器715存取数据。在本发 明的其他实施例中,高速缓存存储器706可以是包括计算机系统存储器分层结构内的LI高 速缓存与诸如L2高速缓存等其他存储器的多级高速缓存存储器,且高速缓存存储器710是 诸如L3高速缓存或更多级高速缓存等后续较低层高速缓存存储器。此外,在其他实施例 中,计算机系统可具有高速缓存存储器710作为供超过一个处理器核共享的高速缓存。[0096]处理器705可具有任何数量的处理核。然而,本发明的其他实施例能以硬件、软 件、或它们的某一组合来在该系统中的其他设备内实现或分布在该系统内。[0097]主存储器715可以在各种存储器源中实现,如动态随机存取存储器(DRAM)、硬盘 驱动器(HDD)720、基于NVRAM技术的固态盘725、或经由物理接口 730或经由无线接口 740 而位于该计算机系统远程的包含各种存储设备和技术的存储器源。高速缓存存储器可以位 于处理器内或位于该处理器附近,如在该处理器的局部总线707上。此外,高速缓存存储器 可包含相对快速的存储器单元,如六晶体管(6T)单元或大约相等或更快的存取速率的其他 存储器单元。[0098]然而,本发明的其他实施例可存在于图5的系统内的其他电路、逻辑单元、或设备 中。此外,在本发明的其他实施例中,可以分布在图5所示的若干电路、逻辑单元、或设备 上。[0099]类似地,至少一个实施例可以在点对点计算机系统内实现。例如,图6示出以点对 点(PtP)配置来安排的计算机系统。具体地,图6示出其中处理器、存储器、以及输入/输 出设备由多个点对点接口连接的系统。[0100]图6的系统还可包括若干处理器,但为了清楚起见仅示出了其中两个处理器870、 880。处理器870、880各自可包括本地存储器控制器集线器(MCH)811、821来与存储器850、 851连接。处理器870、880可以使用点对点(PtP)接口电路812、822经由PtP接口 853来 交换数据。处理器870、880均可使用点对点接口电路813、823、860、861经由单独的PtP接 口 830、831来与芯片组890交换数据。芯片组890还可经由高性能图形接口 862来与高性 能图形电路852交换数据。本发明的各实施例可以耦合到计算机总线(834或835),或处于 芯片组890内,或耦合到数据存储875,或耦合到图6的存储器850。[0101]然而,本发明的其他实施例可存在于图6的系统内的其他电路、逻辑单元、或设备 中。此外,在本发明的其他实施例中,可以分布在图6所示的若干电路、逻辑单元、或设备上。[0102]本发明不限于所描述的实施例,而可使用所附权利要求的精神和范围内的修改和 变化来实现。例如,应领会,本发明适用于与所有类型的半导体集成电路(“1C”)芯片一起使 用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、 存储器芯片、网络芯片等等。此外,应当理解,虽然已给出了示例性尺寸/模型/值/范围, 但本发明的各实施例不限于此。随着制造技术(例如,光刻)随时间成熟,期望能制造出更小 尺寸的器件。[0103]虽然在阅读了上述描述后,本发明的实施例的许多更改和修改对本领域普通技术 人员无疑会变得显而易见,但可以理解,作为说明所示出和描述的任何具体实施例绝不旨 在被解释为限制。因此,对各实施例的细节的引用不旨在限制权利要求的范围,权利要求自 身陈述了被认为是本发明必要的那些特征。
【权利要求】
1.一种网络适配器,包括: 用于至少部分地基于以下各项从第二模式改变成第一模式的第一控制器: 发送分组的数量; 第一多个接收到的分组的大小;以及 所述第一多个接收到的分组的到达之间的间隔;以及 用于缓冲一个或多个接收到的分组的第一存储器,其中在所述第一模式中比在所述第二模式中将所述一个或多个接收到的分组缓冲更长时间。
2.如权利要求1所述的网络适配器,其特征在于,所述第一缓冲区包括供在所述第一模式中使用的第一存储器和供在所述第二模式中使用的第二存储器。
3.如权利要求1所述的网络适配器,其特征在于,在以下情况下所述第一控制器被设置成所述第一模式: 发送分组的数量小于第一阈值; 所述第一多个接收到的分组的大小小于第二阈值;以及 所述间隔的差不处于第一抖动值之内。
4.如权利要求1所述的网络适配器,其特征在于,还包括用于重复地每隔第一时间段以猝发来将所述一个或多个接收到的分组从所述网络适配器发送到平台的缓冲区控制单`J Li ο
5.如权利要求1所述的网络适配器,其特征在于,所述第一控制器可用于在不读取网络分组的内容和不解密加密网络分组的情况下来确定是否转换成所述第一模式。
6.如权利要求1所述的网络适配器,其特征在于,还包括用于重复地每隔第一时间段以猝发来将所述一个或多个接收到的分组从所述网络适配器发送到平台的缓冲区控制单元,其中所述第一时间段根据与所述平台相关联的功率节省简档来设置,其中在所述缓冲区控制单元以所述第一模式操作的情况下比在所述缓冲区控制单元以所述第二模式操作的情况下,所述平台更频繁地进入休眠状态。
7.如权利要求1所述的网络适配器,其特征在于,所述第一控制器可用于结合用户简档中的设置来确定是否去往所述第一模式。
8.如权利要求1所述的网络适配器,其特征在于,所述第一控制器可用于在每一采样间隔重复地确定 发送分组的数量; 第一多个接收到的分组的大小;以及 所述第一多个接收到的分组的到达之间的间隔。
9.如权利要求1所述的网络适配器,其特征在于,还包括用于至少基于所述第一模式和所述第一多个接收到的分组的数量来增加或减少所述网络适配器的睡眠间隔(SI)的第二控制器。
10.如权利要求1所述的网络适配器,其特征在于,还包括用于在接收到超过一个分组的情况下减少所述网络适配器的睡眠间隔(SI)的第二控制器。
11.一种系统,包括: 包括至少一个处理器和存储器控制器的平台; 用于至少部分地基于以下各项来确定是否从第二模式改变成第一模式的网络适配器: 发送分组的数量; 第一多个接收到的分组的大小;以及 所述第一多个接收到的分组的到达之间的间隔;以及 用于缓冲一个或多个接收到的分组的第一存储器,其中在所述第一模式中比在所述第二模式中将所述一个或多个接收到的分组缓冲更长时间。
12.如权利要求11所述的系统,其特征在于,所述网络适配器可用于在以下情况下转换成所述第一模式: 发送分组的数量小于第一阈值; 所接收到的分组的大小小于第二阈值;以及 所述间隔的差不处于第一抖动值之内。
13.如权利要求11所述的系统,其特征在于,所述网络适配器可用于在不读取网络分组的内容和不解密加密网络分组的情况下来确定是否转换成所述第一模式。
14.如权利要求11所述的系统,其特征在于,所述网络适配器包括用于重复地每隔第一时间段以猝发来将所述一个或多个接收到的分组从所述网络适配器发送到平台的缓冲区控制单元。
15.如权利要求11所述的系统,其特征在于,所述网络适配器包括用于重复地每隔第一时间段以猝发来将所述一`个或多个接收到的分组从所述网络适配器发送到平台的缓冲区控制单元,其中所述第一时间段根据与所述平台相关联的功率节省简档来设置,其中在所述缓冲区控制单元以所述第一模式操作的情况下比在所述缓冲区控制单元以所述第二模式操作的情况下,所述平台更频繁地进入休眠状态。
16.如权利要求11所述的系统,其特征在于,所述网络适配器包括用于至少基于所述第一模式和所述第一多个接收到的分组的数量来增加或减少所述网络适配器的睡眠间隔(SI)的控制器。
17.如权利要求11所述的系统,其特征在于,所述网络适配器包括用于在接收到超过一个分组的情况下减少所述网络适配器的睡眠间隔(SI)的控制器。
18.如权利要求11所述的系统,其特征在于,所述网络适配器是所述平台的一部分。
19.一种方法,包括: 至少部分地基于以下各项来确定是否从第二模式改变成第一模式: 发送分组的数量, 第一多个接收到的分组的大小,以及 所述第一多个接收到的分组的到达之间的间隔;以及 在所述第一模式中比在所述第二模式中将一个或多个接收到的分组存储更长的时间段。
20.如权利要求19所述的方法,其特征在于,还包括在以下情况下转换成所述第一模式: 发送分组的数量小于第一阈值; 所述第一多个接收到的分组的大小小于第二阈值;以及 所述间隔的差不处于第一抖动值之内。
21.如权利要求19所述的方法,其特征在于,在不读取网络分组的内容和不解密加密网络分组的情况下执行对是否改变成所述第一模式的所述确定。
22.如权利要求19所述的方法,其特征在于,还包括每隔第一时间段以猝发来将所述一个或多个接收到的分组发送到平台。
23.如权利要求19所述的方法,其特征在于,还包括至少基于所述第一模式和所述第一多个接收到的分组的数量来增加或减少网络适配器的睡眠间隔(SI)。
24.如权利要求19所述的方法,其特征在于,还包括在接收到超过一个分组的情况下减少网络适配器的睡眠间隔(SI)。
25.如权利要求19所述的方法,其特征在于,还包括在没有接收到分组的情况下增加网络适配器的睡眠间隔(SI)。
【文档编号】H04L12/70GK103560946SQ201310412776
【公开日】2014年2月5日 申请日期:2010年3月29日 优先权日:2009年3月30日
【发明者】S·戈布瑞尔, C·玛克西科, T-Y·C·泰, S·巴克什 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1