用于无线设备的流控制的制作方法

文档序号:19251952发布日期:2019-11-27 20:22阅读:224来源:国知局
用于无线设备的流控制的制作方法

相关申请的交叉引用

本申请要求享受以下申请的优先权和权益:于2017年4月17日向美国专利商标局递交的临时申请第62/486,412号、于2017年6月8日向美国专利商标局递交的临时申请第62/517,148号、以及于2018年4月13日向美国专利商标局递交的非临时申请第15/953,115号,将上述申请的全部内容通过引用的方式并入本文中,如同在下文充分阐述其全部内容并且用于所有适用的目的。

概括而言,本公开内容的某些方面涉及无线通信,并且更具体地,本公开内容的某些方面涉及无线通信系统中的流控制。



背景技术:

为了解决对于无线通信系统而言所需要的不断增加的带宽要求的问题,正在开发不同的方案。在一些方案中,在60ghz范围内的一个或多个信道上以高数据速率无线地发送数据。



技术实现要素:

第一方面涉及一种用于无线通信的装置。所述装置包括接口,其被配置为:从无线节点接收指定在所述无线节点处的存储器的一个或多个参数以及对在所述无线节点处的所述存储器中的空闲存储器空间量的指示。所述装置还包括处理系统,其被配置为:基于对所述空闲存储器空间量的所述指示以及所述一个或多个参数来确定要被发送给所述无线节点的数据单元数量。所述接口还被配置为:输出数据单元以便传输给所述无线节点,其中,被输出以便传输给所述无线节点的所述数据单元数量等于所确定的数据单元数量。

第二方面涉及一种用于无线通信的方法。所述方法包括:从无线节点接收指定在所述无线节点处的存储器的一个或多个参数;从所述无线节点接收对在所述无线节点处的所述存储器中的空闲存储器空间量的指示;基于对所述空闲存储器空间量的所述指示以及所述一个或多个参数来确定要被发送给所述无线节点的数据单元数量;以及输出数据单元以便传输给所述无线节点,其中,被输出以便传输给所述无线节点的所述数据单元数量等于所确定的数据单元数量。

第三方面涉及一种用于无线通信的装置。所述装置包括:用于从无线节点接收指定在所述无线节点处的存储器的一个或多个参数的单元;用于从所述无线节点接收对在所述无线节点处的所述存储器中的空闲存储器空间量的指示的单元;用于基于对所述空闲存储器空间量的所述指示以及所述一个或多个参数来确定要被发送给所述无线节点的数据单元数量的单元;以及用于输出数据单元以便传输给所述无线节点的单元,其中,被输出以便传输给所述无线节点的所述数据单元数量等于所确定的数据单元数量。

第四方面涉及一种计算机可读介质。所述计算机可读介质包括被存储在其上的用于进行以下操作的指令:从无线节点接收指定在所述无线节点处的存储器的一个或多个参数;从所述无线节点接收对在所述无线节点处的所述存储器中的空闲存储器空间量的指示;基于对所述空闲存储器空间量的所述指示以及所述一个或多个参数来确定要被发送给所述无线节点的数据单元数量;以及输出数据单元以便传输给所述无线节点,其中,被输出以便传输给所述无线节点的所述数据单元数量等于所确定的数据单元数量。

第五方面涉及一种无线节点。所述无线节点包括接收机,其被配置为:从另一无线节点接收指定在所述另一无线节点处的存储器的一个或多个参数以及对在所述另一无线节点处的所述存储器中的空闲存储器空间量的指示。所述无线节点还包括处理系统,其被配置为:基于对所述空闲存储器空间量的所述指示以及所述一个或多个参数来确定要被发送给所述另一无线节点的数据单元数量。所述无线节点还包括发射机,其被配置为:向所述另一无线节点发送数据单元,其中,向所述另一无线节点发送的所述数据单元数量等于所确定的数据单元数量。

第六方面涉及一种用于无线通信的装置。所述装置包括接口,其被配置为:输出一个或多个参数以便传输给无线节点,所述一个或多个参数指定存储器。所述装置还包括处理系统,其被配置为:计算在所述存储器中的空闲存储器空间量。所述接口还被配置为:输出对所述空闲存储器空间量的指示以便传输给所述无线节点。

第七方面涉及一种用于无线通信的方法。所述方法包括:输出一个或多个参数以便传输给无线节点,所述一个或多个参数指定存储器;计算在所述存储器中的空闲存储器空间量;以及输出对所述空闲存储器空间量的指示以便传输给所述无线节点。

第八方面涉及一种用于无线通信的装置。所述装置包括:用于输出一个或多个参数以便传输给无线节点的单元,所述一个或多个参数指定存储器;用于计算在所述存储器中的空闲存储器空间量的单元;以及用于输出对所述空闲存储器空间量的指示以便传输给所述无线节点的单元。

第九方面涉及一种计算机可读介质。所述计算机可读介质包括被存储在其上的用于进行以下操作的指令:输出一个或多个参数以便传输给无线节点,所述一个或多个参数指定存储器;计算在所述存储器中的空闲存储器空间量;以及输出对所述空闲存储器空间量的指示以便传输给所述无线节点。

第十方面涉及一种无线节点。所述无线节点包括发射机,其被配置为:向另一无线节点发送一个或多个参数,所述一个或多个参数指定存储器。所述无线节点还包括处理系统,其被配置为:计算在所述存储器中的空闲存储器空间量。所述发射机还被配置为:向所述另一无线节点发送对所述空闲存储器空间量的指示。

附图说明

图1示出了根据本公开内容的某些方面的示例性无线通信系统。

图2是根据本公开内容的某些方面的示例性接入点和接入终端的方块图。

图3a示出了根据本公开内容的某些方面的缓冲存储器结构的示例。

图3b示出了根据本公开内容的某些方面的fifo存储器结构的示例。

图4示出了根据本公开内容的某些方面的用于传送存储器参数的信息元素的示例。

图5a示出了根据本公开内容的某些方面的包括接收机缓冲区容量(rbufcap)字段的块确认(ba)信息字段的示例。

图5b示出了根据本公开内容的某些方面的包括关于使用了fifo存储器还是缓冲存储器的指示的ba控制字段的示例。

图6示出了根据本公开内容的某些方面的瞬时场景。

图7示出了根据本公开内容的某些方面的缓慢响应方场景。

图8a示出了根据本公开内容的某些方面的示例性添加块确认(addba)请求帧。

图8b示出了根据本公开内容的某些方面的示例性添加块确认(addba)响应帧。

图9示出了根据本公开内容的某些方面的示例性流控制扩展配置元素。

图10a和10b示出了根据本公开内容的某些方面的示例性流控制能力子元素。

图11示出了根据本公开内容的某些方面的示例性接收方存储器配置子元素。

图12是根据本公开内容的某些方面的一种用于无线通信的方法的流程图。

图13是根据本公开内容的某些方面的另一种用于无线通信的方法的流程图。

图14示出了根据本公开内容的某些方面的示例性设备。

具体实施方式

下文参照附图更充分描述了本公开内容的各个方面。然而,本公开内容可以以许多不同的形式来体现,而不应当被解释为受限于遍及本公开内容所呈现的任何特定的结构或功能。更确切地说,提供了这些方面使得本公开内容将是透彻和完整的,并将本公开内容的范围充分传达给本领域技术人员。基于本文的教导,本领域技术人员应当意识到的是,本公开内容的范围旨在涵盖本文所公开的本公开内容的任何方面,无论该方面是独立地实现还是与任何其它方面结合地来实现的。例如,使用本文所阐述的任何数量的方面可以实现一种装置或可以实践一种方法。此外,本公开内容的范围旨在涵盖使用其它结构、功能、或者除了本文所阐述的本公开内容的各个方面的或不同于本文所阐述的本公开内容的各个方面的结构和功能来实践的这样的装置或方法。应当理解的是,本文所公开的本公开内容的任何方面可以由权利要求的一个或多个元素来体现。

本文使用“示例性”一词来意指“用作示例、实例或说明”。本文中被描述为“示例性”的任何方面未必被解释为相对于其它方面优选或具有优势。

尽管本文描述了特定各方面,但这些方面的许多变型和置换落在本公开内容的范围之内。尽管提到了优选方面的一些益处和优点,但本公开内容的范围并非旨在受限于特定益处、用途或目标。更确切地说,本公开内容的各方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中一些借助于示例在附图和以下对优选各方面的描述中进行说明。该详细描述和附图仅仅是说明本公开内容而非限定本公开内容,本公开内容的范围由所附权利要求及其等效物来限定。

示例性无线通信系统

本文所描述的技术可以用于各种宽带无线通信系统,包括基于正交复用方案的通信系统。这样的通信系统的示例包括空分多址(sdma)、时分多址(tdma)、正交频分多址(ofdma)系统、单载波频分多址(sc-fdma)系统等等。sdma系统可以利用充分不同的方向来同时发送属于多个接入终端的数据。tdma系统可以通过将传输信号划分成不同的时隙、每个时隙被指派给不同的接入终端来允许多个接入终端共享相同的频率信道。ofdma系统使用正交频分复用(ofdm),ofdm是一种将整个系统带宽划分成多个正交子载波的调制技术。这些子载波还可以被称为音调、频段等。对于ofdm,可以利用数据来独立地调制每个子载波。sc-fdma系统可以使用交织的fdma(ifdma)以在跨越系统带宽而分布的子载波上进行发送,使用集中式fdma(lfdma)以在一块相邻子载波上进行发送,或者使用增强型fdma(efdma)以在多块相邻子载波上进行发送。通常,利用ofdm在频域中发送调制符号以及利用sc-fdma在时域中发送调制符号。

本文的教导可以被并入各种有线或无线装置(例如,节点)中(例如实现在其内或由其执行)。在一些方面中,根据本文的教导而实现的无线节点可以包括接入点或接入终端。

接入点(“ap”)可以包括、被实现为、或被称为节点b、无线电网络控制器(“rnc”)、演进型节点b(enb)、基站控制器(“bsc”)、基站收发机(“bts”)、基站(“bs”)、收发机功能单元(“tf”)、无线电路由器、无线电收发机、基本服务集(“bss”)、扩展服务集(“ess”)、无线电基站(“rbs”)或某种其它术语。

接入终端(“at”)可以包括、被实现为、或者被称为订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户装置、用户设备、用户站、或某种其它术语。在一些实现方式中,接入终端可以包括蜂窝电话、无绳电话、会话发起协议(“sip”)电话、无线本地环路(“wll”)站、个人数字助理(“pda”)、具有无线连接能力的手持设备、站(“sta”)或某种被连接到无线调制解调器的其它适当的处理设备。因此,本文所教导的一个或多个方面可以被并入电话(例如,蜂窝电话或智能电话)、计算机(例如,膝上型计算机)、便携式通信设备、便携式计算设备(例如,个人数据助理)、娱乐设备(例如,音乐或视频设备、或卫星无线电单元)、全球定位系统设备、或任何被配置为经由无线或有线介质进行通信的其它适当的设备。在一些方面中,节点可以是无线节点。这样的无线节点可以经由有线或无线通信链路来提供例如针对网络(例如,诸如互联网或蜂窝网络的广域网)的连接或至网络的连接。

参照以下描述,应当理解的是,不仅允许接入点和用户装置之间的通信,而且允许相应的用户装置之间的直接(例如,对等)通信。此外,设备(例如,接入点或用户装置)可以根据各种状况来改变其在用户装置和接入点之间的行为。此外,一个物理设备可以例如在不同信道、不同时隙或者两者上扮演多种角色:用户装置和接入点、多个用户装置、多个接入点。

图1示出了具有接入点和接入终端的无线通信系统100的示例。为了简单起见,在图1中仅示出了一个接入点110。接入点通常是与接入终端进行通信的固定站并且还可以被称为基站或某种其它术语。接入终端可以是固定的或移动的并且还可以被称为移动站、无线设备或某种其它术语。接入点110可以在任何给定时刻在下行链路和上行链路上与一个或多个接入终端120进行通信。下行链路(即,前向链路)是从接入点至接入终端的通信链路,而上行链路(即,反向链路)是从接入终端至接入点的通信链路。接入终端还可以与另一个接入终端以对等方式进行通信。接入点110可以被耦合到骨干网络130(例如,互联网)以向接入终端提供对骨干网络130的接入。

图2示出了无线通信系统200中的接入点210(一般而言,为第一无线节点)和接入终端220(一般而言,为第二无线节点)的方块图。接入点210是针对下行链路的发送实体和针对上行链路的接收实体。接入终端220是针对上行链路的发送实体和针对下行链路的接收实体。如本文所使用的,“发送实体”是能够经由无线信道来发送数据的独立操作的装置或无线节点,而“接收实体”是能够经由无线信道来接收数据的独立操作的装置或无线节点。

尽管在该示例中,无线节点210是接入点并且无线节点220是接入终端,但是应当理解的是,无线节点210可以替代地是接入终端,并且无线节点220可以替代地是接入点。无线节点210可以用于实现图1中的接入点110,并且无线节点220可以用于实现图1中的接入终端120中的任何一个接入终端120。

为了发送数据,接入点210包括发送数据处理器218、帧构建器222、发送处理器224、多个收发机226-1至226-n、以及多个天线230-1至230-n。接入点210还包括控制器234,其被配置为控制接入点210的操作,如下文进一步所论述的。

在操作时,发送数据处理器218从数据源215接收数据(例如,数据比特),并且对数据进行处理以便进行传输。例如,发送数据处理器218可以将数据(例如,数据比特)编码成经编码的数据,并且将经编码的数据调制成数据符号。发送数据处理器218可以支持不同的调制和编码方案(mcs)。例如,发送数据处理器218可以以多个不同的编码速率中的任何一个编码速率来对数据进行编码(例如,使用低密度奇偶校验(ldpc)编码)。此外,发送数据处理器218可以使用多种不同的调制方案(包括但不限于:bpsk、qpsk、16qam、64qam、64apsk、128apsk、256qam和256apsk)中的任何一种调制方案来对经编码的数据进行调制。

在某些方面中,控制器234可以向发送数据处理器218发送用于指定要使用哪种调制和编码方案(mcs)的命令(例如,基于下行链路的信道状况),并且发送数据处理器218可以根据所指定的mcs来对来自数据源215的数据进行编码和调制。将明白的是,发送数据处理器218可以对数据执行诸如数据加扰的另外的处理和/或其它处理。发送数据处理器218向帧构建器222输出数据符号。

帧构建器222构造帧(也被称为分组),并且将数据符号插入到帧的数据有效载荷中。下文进一步论述了示例性帧结构或格式。帧构建器222向发送处理器224输出帧。发送处理器224对帧进行处理以便在下行链路上进行传输。例如,发送处理器224可以支持不同的传输模式,诸如正交频分复用(ofdm)传输模式和单载波(sc)传输模式。在该示例中,控制器234可以向发送处理器224发送用于指定要使用哪种传输模式的命令,并且发送处理器224可以根据所指定的传输模式来对帧进行处理以便进行传输。

在某些方面中,发送处理器224可以支持多输入多输出(mimo)传输。在这些方面中,接入点210包括多个天线230-1至230-n以及多个收发机226-1至226-n(例如,针对每个天线而言一个收发机)。发送处理器224可以对传入的帧执行空间处理并且向多个天线提供多个发送帧流。收发机226-1至226-n接收相应的发送帧流并且对相应的发送帧流进行处理(例如,转换成模拟、放大、滤波和上变频),以生成发送信号以便经由天线230-1至230-n进行传输。

为了发送数据,接入终端220包括发送数据处理器260、帧构建器262、发送处理器264、多个收发机266-1至266-n、以及多个天线270-1至270-n。接入终端220可以在上行链路上向接入点210发送数据,和/或向另一个接入终端发送数据(例如,以用于对等通信)。接入终端220还包括控制器274,其被配置为控制接入终端220的操作,如下文进一步所论述的。

在操作时,发送数据处理器260从数据源255接收数据(例如,数据比特),并且对数据进行处理(例如,编码和调制)以用于传输。发送数据处理器260可以支持不同的mcs。例如,发送数据处理器260可以以多种不同的编码速率中的任何一种编码速率来对数据进行编码(例如,使用ldpc编码),并且使用多种不同的调制方案(包括但不限于:bpsk、qpsk、16qam、64qam、64apsk、128apsk、256qam和256apsk)中的任何一种调制方案来对经编码的数据进行调制。在某些方面中,控制器274可以向发送数据处理器260发送用于指定要使用哪种mcs的命令(例如,基于上行链路的信道状况),并且发送数据处理器260可以根据所指定的mcs来对来自数据源255的数据进行编码和调制。将明白的是,发送数据处理器260可以对数据执行另外的处理。发送数据处理器260向帧构建器262输出数据符号。

帧构建器262构造帧,并且将所接收的数据符号插入到帧的数据有效载荷中。下文进一步论述了示例性帧结构或格式。帧构建器262向发送处理器264输出帧。发送处理器264对帧进行处理以便进行传输。例如,发送处理器264可以支持不同的传输模式,诸如ofdm传输模式和sc传输模式。在该示例中,控制器274可以向发送处理器264发送用于指定要使用哪种传输模式的命令,并且发送处理器264可以根据所指定的传输模式来对帧进行处理以便进行传输。

在某些方面中,发送处理器264可以支持多输入多输出(mimo)传输。在这些方面中,接入终端220包括多个天线270-1至270-n以及多个收发机266-1至266-n(例如,针对每个天线而言一个收发机)。发送处理器264可以对传入的帧执行空间处理并且向多个天线提供多个发送帧流。收发机266-1至266-n接收相应的发送帧流并且对相应的发送帧流进行处理(例如,转换成模拟、放大、滤波和上变频),以生成发送信号以便经由天线270-1至270-n进行传输。

为了接收数据,接入点210包括接收处理器242和接收数据处理器244。在操作时,收发机226-1至226-n经由天线230-1至230-n(例如,从接入终端220)接收信号,并且对所接收的信号进行处理(例如,下变频、放大、滤波和转换成数字)。

接收处理器242接收收发机226-1至226-n的输出,并且对输出进行处理以恢复出数据符号。例如,接入点210可以(例如,从接入终端220)接收帧中的数据。在该示例中,接收处理器242可以使用帧的前导码中的stf序列来检测帧的起始。接收处理器242还可以使用stf来进行自动增益控制(agc)调整。接收处理器242还可以执行信道估计(例如,使用帧的前导码中的ce序列),并且基于信道估计来对所接收的信号执行信道均衡。

接收处理器242还可以从帧的报头中恢复出信息(例如,mcs方案),并且向控制器234发送该信息。在执行信道均衡之后,接收处理器242可以从帧中恢复出数据符号,并且将所恢复出的数据符号输出给接收数据处理器244以用于进一步的处理。将明白的是,接收处理器242可以执行其它处理。

接收数据处理器244从接收处理器242接收数据符号,并且从控制器234接收对相应的msc方案的指示。接收数据处理器244根据所指示的msc方案来对数据符号进行解调和解码,以恢复出数据,并且将所恢复出的数据(例如,数据比特)输出给数据宿246以用于存储和/或进一步的处理。

如上文所论述的,接入终端220可以使用ofdm传输模式或sc传输模式来发送数据。在这种情况下,接收处理器242可以根据所选择的传输模式来处理接收信号。此外,如上文所论述的,发送处理器264可以支持多输入多输出(mimo)传输。在这种情况下,接入点210包括多个天线230-1至230-n以及多个收发机226-1至226-n(例如,针对每个天线而言一个收发机)。每个收发机接收并且处理(例如,下变频、放大、滤波和转换成数字)来自相应的天线的信号。接收处理器242可以对收发机226-1至226-n的输出执行空间处理以恢复出数据符号。

为了接收数据,接入终端220包括接收处理器282和接收数据处理器284。在操作时,收发机266-1至266-n经由天线270-1至270-n(例如,从接入点210或另一接入终端)接收信号,并且对所接收的信号进行处理(例如,下变频、放大、滤波和转换成数字)。

接收处理器282接收收发机266-1至266-n的输出,并且对输出进行处理以恢复出数据符号。例如,接入终端220可以(例如,从接入点210或另一接入终端)接收帧中的数据,如上文所论述的。在该示例中,接收处理器282可以使用帧的前导码中的stf序列来检测帧的起始。接收处理器282还可以执行信道估计(例如,使用帧的前导码中的ce序列),并且基于信道估计来对所接收的信号执行信道均衡。

接收处理器282还可以从帧的报头中恢复出信息(例如,mcs方案),并且向控制器274发送该信息。在执行信道均衡之后,接收处理器282可以从帧中恢复出数据符号,并且将所恢复出的数据符号输出给接收数据处理器284以用于进一步的处理。将明白的是,接收处理器282可以执行其它处理。

接收数据处理器284从接收处理器282接收数据符号,并且从控制器274接收对相应的msc方案的指示。接收数据处理器284根据所指示的mcs方案来对数据符号进行解调和解码,以恢复出数据,并且将所恢复出的数据(例如,数据比特)输出给数据宿286以用于存储和/或进一步的处理。

如上文所论述的,接入点210或另一接入终端可以使用ofdm传输模式或sc传输模式来发送数据。在这种情况下,接收处理器282可以根据所选择的传输模式来处理接收信号。此外,如上文所论述的,发送处理器224可以支持多输入多输出(mimo)传输。在这种情况下,接入终端220包括多个天线270-1至270-n以及多个收发机266-1至266-n(例如,针对每个天线而言一个收发机)。每个收发机接收并且处理(例如,下变频、放大、滤波和转换到数字)来自相应的天线的信号。接收处理器282可以对收发机的输出执行空间处理以恢复出数据符号。

如图2中所示出的,接入点210还包括被耦合到控制器234的存储器236。存储器236可以存储指令,所述指令在被控制器234执行时使得控制器234执行本文所描述的操作中的一个或多个操作。类似地,接入终端220还包括被耦合到控制器274的存储器276。存储器276可以存储指令,所述指令在被控制器274执行时使得控制器274执行本文所描述的操作中的一个或多个操作。

流控制

流控制用于防止在链路速度高于用于递送、处理或消耗传入数据流的系统能力的情况下可能发生的接收缓冲区的过载。这变得与符合802.11ad和遵循802.11ay标准的新无线链路的吞吐量的大幅增加更为相关。具有流控制的edmg块确认的现有解决方案与块确认机制紧密耦合,该块确认机制将其限制为利用具有预定义的最大大小的缓冲区来控制存储器并且保持每ba协议的控制不允许对共享存储器的控制。

本公开内容的目的可以包括以下各项中的一项或多项:

-解决高无线链路速度关于内部总线的较低带宽(这可能导致响应方存储器溢出)之间的矛盾;

-实现mac存储器的高利用率;

-优化与最大msdu/mtu大小相比较短的msdu所消耗的存储器;

-使用8比特大小的现有接收机缓冲区容量(rbufcap);

-支持1024个缓冲区的最大ba窗口大小;

-消除当流控制维持在短数据突发时发生的高链路接入开销(当前解决方案的缺点);以及

-提供聚合流控制以在多个tid之间和每tid共享存储器。

本公开内容可以是基于以下观察结果和假设中的一项或多项:

-发起方和响应方在介质访问控制(mac)级别进行操作,其中,介质访问控制(mac)协议数据单元(mpdu)的最大大小是受限的,但是msdu的最小大小是不受限的,这可能导致不同大小的mpdu。

-ba窗口化假设每个mpdu独立于其大小来在重新排序缓冲区中利用一个恒定大小的缓冲区,这导致对缓冲存储器的低效使用。在许多应用中,预先分配的缓冲区可能包含一个以上的短mpdu。

-用于存储一数量的mpdu所需要的存储器量取决于它们的大小,这些大小事先是未知的,并且无法被响应方准确地预测。因此,响应方无法向发起方通知其具有存储器空间来存储的mpdu数量。

本公开内容的各方面提供以下特征中的一个或多个特征:

-使用与ba协议无关的空闲存储器指示,该空闲存储器指示作为响应方缓冲区存储器容量的度量被反馈给发起方;

-建立发起方用来计算可用存储器的、响应方缓冲存储器的参考模型;

-利用要被传送给发起方的一个或多个配置参数来表征模型;以及

-建立关于如何使用所配置的参数和空闲存储器指示来计算和控制要被发送给响应方的mpdu数量的发起方的规则。

下文根据本公开内容的各个实施例更加详细地论述了以上特征。

在本公开内容的某些方面中,响应方(也被称为接收方)向发起方发送一个或多个存储器参数,其指定在响应方处将用于在响应方处对来自发起方的数据单元(例如,mpdu)进行缓冲的存储器。存储器可以用于对从发起方接收的mpdu进行重新排序。当mpdu序列已经被成功地接收并且正确地排序时,可以将mpdu从存储器释放到处理器以用于(在较高层处)进一步处理,从而释放存储器中的存储器空间。

在一个示例中,在发起方和响应方之间的块确认(ba)协商期间,响应方向发起方传送一个或多个存储器参数。在该示例中,发起方可以向响应方发送添加块确认(addba)请求,addba请求用于请求与响应方的块确认(ba)会话。addba请求可以包括标识ba协议所适用的数据业务的业务标识符(tid)。对应的mpdu是所识别的数据业务的一部分。作为响应,响应方向发起方发送具有一个或多个存储器参数的addba响应。

在另一示例中,响应方可以通过向发起方发送具有一个或多个存储器参数的添加业务流(addts)请求,来发起一个或多个存储器参数到发起方的传送。作为响应,发起方可以向响应方发送用于对addts请求进行确认的addts响应。

本公开内容的实施例可以支持不同的存储器类型。例如,本公开内容的实施例可以支持以下两种类型的存储器结构:缓冲和fifo。在这点上,图3a示出了缓冲存储器300的示例,其中,存储器被组织成多个缓冲区(即,数个缓冲区)。每个缓冲区可以大到足以存储具有由当前标准所定义的最大长度的mpdu。每个缓冲区可以能够存储多个mpdu(例如,多个短mpdu),其中每个mpdu比最大长度要短。在某些方面中,mpdu是非分割的,这意味着无法在两个或更多个缓冲区之间分割mpdu。在其它方面中,可以在两个或更多个缓冲区之间分割mpdu。在某些方面中,每个缓冲区可以存储的mpdu数量被限制为n,其中n是整数。如下文进一步所论述的,当使用缓冲存储器时,响应方向发起方发送描述缓冲存储器的配置的一个或多个存储器参数。

图3b示出了先进先出(fifo)存储器310的示例。fifo存储器310缺少缓冲存储器300的结构。在某些方面中,可以容纳到fifo存储器310中的mpdu数量可以大约等于可以适配到fifo存储器310的空闲空间中的mpdu数量。在某些方面中,fifo存储器310可以要求mpdu的起始是与fifo存储器310的dword边界对齐的,以用于常规存储器寻址。

如上所论述的,响应方可以在addba响应或addts请求中向发起方发送一个或多个存储器参数,一个或多个存储器参数指定响应方的将用于在响应方处对数据单元(mpdu)进行缓冲的存储器。下文的表1列出了响应方可以针对上文所论述的两种类型的存储器(即,fifo和缓冲)而发送给发起方的存储器参数的示例。

表1

mem_unit指示一个存储器单元的大小(例如,一个存储器单元中的字节数量或字数量)。如下文进一步所论述的,响应方以mem_unit为单位来报告在其存储器中的空闲存储器空间量。因此,发起方可以通过以下操作,基于响应方所报告的空闲存储器空间的值来确定在响应方存储器中的空闲空间量:将该值乘以一个存储器单元的大小。mem_unit可以是可配置参数。如表1中所示出的,mem_unit是用于fifo存储器和缓冲存储器(例如,fifo存储器310和缓冲存储器300)两者的参数。用于fifo存储器的mem_unit的大小和用于缓冲存储器的mem_unit的大小可以是相同或不同的。

如上所论述的,响应方可以在块确认(ba)帧中报告在存储器中的空闲空间量。在某些方面中,响应方在ba帧的接收机缓冲区容量(rbufcap)字段中报告空闲空间量。在这些方面中,可以选择mem_unit,使得空闲存储器空间量的值的范围可以适配到rbufcap字段中,该rbufcap字段在当前标准中是8比特长度。在一个示例中,memory_unit=(memory_size–memory_size_at_unlimited)/254。如下文进一步所论述的,memory_size_at_unlimited是足以在rbufcap中指示无限制的并且具有足够(充足)空间来接收具有最大a-mpdu长度的a-mpdu的空闲存储器空间量。

对于缓冲存储器(例如,缓冲存储器300),表1包括另外的存储器参数buff_size和n。buff_size是缓冲存储器的一个缓冲区的大小,并且n是对每缓冲区的mpdu数量的限制。

当在响应方处使用fifo存储器(例如,fifo存储器310)进行缓冲时,响应方向发起方发送用于fifo存储器的一个或多个存储器参数(例如,mem_unit)。当在响应方处使用缓冲存储器进行缓冲时,响应方向发起方发送用于缓冲存储器的一个或多个存储器参数(例如,mem_unit、buff_size和n)。在某些方面中,响应方可以并行地支持两种类型的存储器。在这些方面中,响应方可以向发起方发送用于两种类型的存储器的存储器参数,如表1中所示出的。在这些方面中,响应方可以在块确认(ba)中向发起方用信令发送实际上正在使用存储器类型中的哪一种,如下文进一步所论述的。

可以在addba响应中每tid配置存储器参数,因为可以以每tid为基础来对ba协议进行协商。在不要求每tid支持的情况下,响应方可以在addts请求和/或关联响应中发送存储器参数。

在某些方面中,本公开内容定义了用于将一个或多个存储器参数从响应方发送给发起方的新的流控制信息元素(ie)。在图4中示出了新ie400的示例。ie400表示用于向发起方发送一个或多个存储器参数的结构。元素id标识ie400包括存储器参数,并且长度指示ie400的长度。图4示出了在ie400中针对不同存储器参数的空间分配的示例。可以作为ba协议协商的一部分,响应于addba请求帧,在addba响应帧中递送该ie。在不要求每tid支持的情况下,在由响应方发送的addts请求帧和/或关联响应帧中传送该ie。

响应方计算在其存储器中用于进行缓冲的空闲存储器空间量,并且将空闲存储器空间量以mem_units为单位发送给发起方。响应方可以通过跟踪进入存储器的数据量以及正在从存储器释放的数据量(例如,释放到响应方处的处理器以用于进一步处理)来计算空闲存储器空间量。

响应方可以在块确认帧中发送以mem_units为单位所计算出的空闲存储器空间量。在某些方面中,在块确认帧的rbufcap字段中发送所计算出的空闲存储器空间。在这点上,图5a示出了其中可以发送所计算出的空闲存储器空间的块确认(ba)信息字段500的示例。ba信息字段500用于提供针对由发起方发送给响应方的mpdu序列的确认。块确认起始序列控制指示在该序列中第一mpdu的起始,块确认位图指示在该序列中哪些mpdu被成功接收以及哪些mpdu需要重传,以及rbufcap字段指示响应方的接收机缓冲区容量。

表2a列出了可以被放置在rbufcap字段中的三种类型的指示符。

表2a

零空间指示在存储器中不存在空间,并且可以被赋予为0的值,如表2a中所示。无限制空间指示存在足够的(充足的)存储器空间来接收至少最大a-mpdu长度,如被赋予为0xff的值。最大a-mpdu长度是在当前标准中定义的,并且在本领域中是已知的。零空间和无限制空间指示符在本领域中是已知的,并且在当前标准中用于流控制。

将明白的是,可以调换在表2a中被赋予零空间和无限制空间的值,使得零空间被赋予为0xff的值并且无限制空间被赋予为0的值。在下面的表2b中示出该示例。

表2b

通常,rbufcap具有用于指示在存储器中没有空间的第一值、以及用于指示在存储器中用于接收具有最大长度的数据单元的足够空间的第二值。

本公开内容引入了新的存储器空闲空间指示符,其中,存储器空闲空间的值以mem_unit为单位来指示所计算出的空闲存储器空间。存储器空闲空间的值可以在1-0xfe的范围内,如表2a和2b中所示出的。可以选择mem_unit,使得存储器空闲空间的值的范围适配在rbufcap字段的范围减去2内(注意的是,rbufcap的两个值被预留用于零空间和无限制空间,并且因此不可用于存储器空闲空间)。

在某些方面中,响应方将所计算出的空闲存储器空间与最大a-mpdu长度进行比较。如果所计算出的空闲存储器空间等于或大于最大a-mpdu长度,则响应方在rbufcap字段中向发起方发送无限制空间指示符。如果所计算出的空闲存储器空间小于最大a-mpdu长度,则响应方在rbufcap字段中向发起方发送空闲存储器空间指示符,其指示以mem_units为单位(即,依据mem_unit)所计算出的空闲存储器空间。

如上所论述的,响应方可以在ba帧中发送所计算出的空闲存储器空间。响应方可以响应于来自发起方的ba请求来向发起方发送ba帧,在这种情况下,ba帧是经发起方请求的。

响应方还可以在没有从发起方接收到ba请求的情况下,向发起方发送ba帧,在这种情况下,ba帧是未经发起方请求的。这与其中请求ba帧的当前标准是不同的。例如,当空闲存储器空间量变化达一定量时,响应方可以发送未经请求的ba帧。更具体地,响应方可以跟踪自从上次向发起方报告空闲存储器空间以来空闲存储器空间的变化,并且将空闲存储器空间的变化与门限进行比较。如果空闲存储器空间的变化等于或大于门限,则响应方可以发送对于响应方而言未经请求的具有所计算出的空闲存储器空间的ba帧。在这种情况下,响应方是主动的(不等待发起方利用ba请求来发起ba帧)。

在响应方在addba响应或addts请求中提供用于两种类型的存储器的存储器参数的情况下,响应方可以在ba帧中指示实际上正在使用的存储器类型。在这点上,图5b示出了其中ba帧的ba控制字段510包括指示正在使用fifo存储器还是缓冲存储器的比特的示例。如下文进一步所论述的,发起方使用所指示的存储器类型来计算要发送给响应方的mpdu数量。

发起方使用来自响应方的对空闲存储器空间的指示来计算其可以向响应方发送的mpdu数量。由于发起方知道一个mem_unit的大小(其是响应方早些时候向发起方传送的),发起方可以根据来自响应方的对空闲存储器空间量的指示来确定空闲存储器空间量,其是以mem_unit为单位给出的。

因为发起方知道响应方处的空闲存储器空间量以及其计划向响应方发送的mpdu的大小,所以发起方可以确定其可以向响应方发送的mpdu数量。在确定其可以向响应方发送的mpdu数量时,发起方还可以将存储器的结构考虑在内。对于缓冲存储器,在确定要发送的mpdu数量时,发起方应用对缓冲存储器的缓冲区中的mpdu分配所施加的限制。这些限制可以包括缓冲区大小、对每缓冲区的mpdu数量的限制、以及mpdu无法在缓冲区之间被分割(即,mpdu是非分割的)的事实。了解这些限制允许发起方确定响应方可以在缓冲存储器中容纳的mpdu数量,并且因此确定要发送给响应方的mpdu数量。

对于fifo存储器,发起方可以通过计算可以适配到fifo存储器的空闲空间中的mpdu数量来确定mpdu数量。如上所论述的,如果应用了dword对齐,则发起方可以将此考虑在内。

在某些方面中,如果所计算出的mpdu数量超过每块确认规则所允许的最大mpdu数量,则发起方发送所允许的最大数量的mpdu。在这种情况下,由发起方发送的mpdu数量不应溢出响应方的具有经协商的winsize数量(即,在块确认协议中协商的缓冲区数量)的缓冲区的重新排序存储器。在每个时刻要发送的实际mpdu数量不大于winsize,并且取决于在重新排序存储器中的由于对具有较低序列号的mpdu的不成功递送而无法释放到较高层的mpdu数量。

表3总结了说明本公开内容的实施例如何运作的场景。

表3

图6示出了瞬时场景。如图6中所示出的,提供对零空间和无限制空间的指示可能足以控制在该场景中的流。对可用存储器数量的指示允许缩短的时延并且在空闲存储器空间低于所配置的最大a-mpdu长度的情况下利用存储器。图6中的“p”指示其中响应方发送未经请求的ba帧(即,响应方主动发送ba帧)的情况。

图7示出了缓慢响应方场景,其中,当空闲空间小于最大a-mpdu长度时,所计算出的空闲空间是非常有用的。具有接近缓冲区大小的最大a-mpdu长度的配置对于传送长a-mpdu以保持链路利用率高是重要的。在这种场景下,用信令发送“无限制的”存储器空间也可以起作用。

根据上文所论述的本公开内容的实施例的响应方的操作可以包括以下各项中的一项或多项:

-在每tid请求流控制的情况下,响应方通过向addba响应添加流控制信息元素(例如,图4)来提供其能力,否则响应方在关联响应中或在addts请求帧中递送该元素。

-在ba响应时,响应方在rbufcap字段中提供对空闲存储器量的指示(例如,表2)。

-如果响应方在流控制信息元素中指示对两种类型的存储器的支持,则响应方应当在ba控制字段(例如,ba控制字段510)的fifo和缓冲字段中登记在rbufcap中的该指示与之相关的存储器类型,0是存储器类型=fifo,以及1属于存储器类型=缓冲。

-在响应方空闲存储器空间增加的情况下,其可以通过发送未经请求的ba来通知发起方。发起方应当通过发送确认来对ba进行确认。(参见图6和7中的“p”以用于说明)。

根据上文所论述的本公开内容的实施例的发起方的操作可以包括以下各项中的一项或多项:

-可以使用发起方能力信息(未呈现)来协商发起方对流控制的支持。

-在发起方从响应方接收到ba时,发起方计算在下一个ba突发或a-mpdu中要发送给响应方的mpdu数量。该数量是在根据块确认规则而允许发送的mpdu数量(包括重试)与以下项之间的最小值:被计算为不超过在ba的rbufcap中所指示的响应方空闲缓冲区存储器量的mpdu数量(n)。

-发起方对n的计算将适配到流控制ie和ba控制字段(例如,ba控制字段510)(如果后者是相关的话)中指示的响应方存储器类型。在计算时,发起方应当使用在流控制ie中从响应方接收的响应方存储器参数。

发起方可以利用接入点210或接入终端220来实现。类似地,响应方(也被称为接收方)可以利用接入点210或接入终端220来实现。

下文提供本公开内容的另外的实施例。另外的实施例可以与上文所论述的实施例中的一个或多个实施例结合使用,以促进发起方和响应方之间的流控制,如下文进一步所论述的。

流控制解决了对接收方(上文被称为响应方)的限制并且提高了网络和接收方性能。当发起方提供针对接收方的流控制支持时,流控制特征可以涉及来自发起方的比接收方更多的努力。在一些情况下,接收方的能力可能比发起方的能力更广泛,然而,接收方可以满足于来自发起方的减少的支持。因此,本公开内容的各方面提供了在发起方和接收方之间的能力协商,以解决接收方的预期和发起方的能力之间的差异。

在一些情况下,发起方可能在数据递送之前想要知道接收方的存储器中的空闲空间量,以估计可以向接收方递送何种大小的数据。这对于首次访问以及当接收方存储器的空闲空间在访问之间发生变化时尤为重要。

在一些情况下,可以使用延迟块确认机制,其允许在数据帧序列之外发送块确认帧。这允许接收方发起对可以传送空闲缓冲区空间量的信息的块确认的传输。然而,块确认可能易受欺骗攻击,因为块确认是可能难以通过加密来保护的控制帧。

本公开内容的各方面提供了用于对流控制操作进行协商的信息元素结构和规则。例如,在某些方面中,可以将关于接收方的能力和流控制偏好的信息传送给发起方设备,并且发起方设备可以指示其是否支持接收方所指示的能力中的所有能力或能力的子集。此外,接收方可以在协商期间向发起方指示空闲存储器空间量,使得发起方可以立即开始发送数据。在某些方面中,关于接收方的空闲存储器空间量的交换可以是由接收方设备在单独的帧交换序列中发起的,该帧交换序列可以是在受保护(例如,经加密)的帧中发送的。

在某些方面中,信息元素可以包括如下的参数集合:该参数集合用于表征接收方的存储器并且允许发起方设备作为响应来修改参数以便向接收方指示发起方可以支持哪些能力。在一些情况下,可以为每业务标识符(tid)/业务流标识符(tsid)或每(全部或部分)tid/tsid集合来指定相同的经约定的存储器参数集合。tid/tsid可以标识用于传输数据单元的数据业务。在一些情况下,可以将几个存储器参数集合应用于tid/tsid并且动态地切换。在某些方面中,可以将接收方缓冲区容量(rbufcap)元素包括在信息元素中,以在流控制设置期间递送给发起方。rbufcap元素向发起方设备指示在接收方设备处的空闲存储器空间量,从而允许发起方设备开始数据传输。

在某些方面中,接收方设备可以在单独的帧交换序列中发送添加块确认(addba)响应帧,以便发起块确认会话。在一些情况下,addba响应帧可以是未经请求的(例如,不是响应于addba请求帧)。addba响应帧可以包括包含rbufcap元素的信息元素。在某些方面中,addba响应可以是被加密和被认证以免受拒绝服务(dos)攻击的动作帧。在某些方面中,接收方可以指示针对再循环缓冲区的地址偏移,以向发起方设备通知在接收方存储器中的空闲存储器空间量。

在某些方面中,包括信息元素的消息可以是块确认建立协商消息(例如,添加块确认(addba)响应帧)。在某些方面中,addba响应帧可以是未经请求的,在这种情况下,addba响应帧可以包括等于零的对话令牌。

图8a和8b分别示出了根据本公开内容的某些方面的示例性addba请求帧800和响应帧802。在某些方面中,addba请求帧800和响应帧802可以包括edmg流控制扩展配置元素。在某些方面中,发起方设备可以将流控制扩展配置元素插入到addba请求帧中以向接收方设备指示流控制能力。例如,edmg流控制能力子元素可以存在于edmg流控制扩展配置元素中,这将在本文中更加详细地描述。接收方设备可以利用addba响应帧802来对addba请求帧800进行响应,并且在addba响应帧802中包括edmg流控制扩展配置元素。edmg流控制能力子元素可以存在于addba响应帧802的edmg流控制扩展配置元素中,以指示发起方是否可以支持在addba请求帧800中标识的能力。edmg流控制扩展配置元素可以包括在图4中所示的示例性信息元素。下文参照图9论述了edmg流控制扩展配置元素的另一示例。

图9示出了根据本公开内容的某些方面的示例性edmg流控制扩展配置元素900。edmg流控制扩展配置元素900可以包括元素标识符(id)、以及对edmg流控制扩展配置元素900的长度的指示、以及指示在接收方处的空闲存储器空间量的rbufcap元素。

在某些方面中,edmg流控制扩展配置元素900可以包括高级接收方存储器长度指数(armle),其指示在发送时机(txop)或调度时段(sp)开始时接收方存储器的空闲空间量。换句话说,从edmg流控制扩展配置元素900被发送给发起方设备的时间和数据传输的开始(例如,在发送时机期间)可能存在延迟。在此期间,在接收方处的空闲存储器空间量可能会发生变化。因此,armle可以指示在发送时机期间的数据传输时接收方保证将可用的空闲空间量。在某些方面中,armle可以是0到9的范围内的整数。由该子字段定义的长度可以是基于以下等式来解释的:

213+armle-1八位字节

在某些方面中,edmg流控制扩展配置元素900包括可选的子元素,如将关于图10a和10b所描述的。例如,edmg流控制扩展配置元素900可以包括两个子元素,即edmg流控制能力子元素和接收方存储器配置子元素。

图10a和10b示出了根据本公开内容的某些方面的可以被包括在edmg流控制扩展配置元素900中的示例性edmg流控制能力子元素1000。edmg流控制能力子元素1000可以指示接收方存储器能力1002。如图10b中所示出的,接收方存储器能力1002可以包括一系列比特,每个比特指示对多个能力中的相应能力的支持。例如,可以将rbufcap数量能力子字段设置为1以指示对rbufcap值的支持,该rbufcap值指示在接收方处的空闲存储器空间量。上文参照表2a和2b论述了可以被放置在rbufcap字段中的三种类型的指示符的示例。

可以将armle能力子字段设置为1以指示对小于最大聚合介质协议数据单元(a-mpdu)长度指数的armle的支持,否则可以将其设置为0。可以将接收方存储器多个缓冲区单元能力子字段设置为1以指示对mem_unit_size、maxmpdu_per_memunit和mult_buff_mpdu值的支持,如将在本文中更加详细地描述的。将tid分组能力子字段设置为1以指示对tid分组值的支持。可以将存储器配置标签能力子字段设置为1以指示用于支持两个存储器配置标签的能力。

图11示出了根据本公开内容的某些方面的示例性接收方存储器配置子元素1100。memory_config_tag指示两个存储器结构中的适用于可以在addba响应帧中指示的tid/tsid的一个存储器结构。rbuf_unit_size可以用作针对rbufcap的测量单位,以指示在接收方处可用于发起方递送mpdu的空闲存储器空间量。例如,接收方空闲存储器空间可以等于rbufcapxrbuf_unit_size(dwords)。注意的是,在表1中rbuf_unit_size被称为mem_unit。

mem_unit_size字段可以指示在接收方存储器中的每个缓冲区单元的大小(以字节为单位)。maxmpdu_per_memunit可以指示可以在单个缓冲区中收集的最大mpdu数量。该字段的有效值可以是1-0xfe,并且等于0xff的值可以指示无限制的mpdu数量可以适配到单个缓冲区中。注意的是,在表1中,mem_unit_size和maxmpdu_per_memunit分别被称为buff_size和n。

可以将mult_buff_mpdu设置为1以指示可以在接收方存储器中的存储器缓冲区单元之间分割单个mpdu。如果mem_unit_size字段=0,则该字段可以是不适用的。发起方设备可以使用接收方存储器配置子元素1100中的字段中的至少一个字段来确定要发送给接收方设备的数据单元数量。

在某些方面中,可以在能力协商期间在addba响应帧中从发起方设备向接收方设备发送接收方存储器配置子元素。tid分组字段可以指示与addba响应帧中的tid相对应的tid/tsid。tid分组字段指示接收方存储器配置所适用的tid/tsid。例如,在addba响应帧的edmg流控制扩展配置元素中递送的rbufcap字段和在块确认帧中递送的rbufcap字段可以适用于与包括tid分组的addba响应帧的tid相对应的所有tid/tsid。此外,在addba响应帧的edmg流控制扩展配置元素中递送的armle字段可以适用于与tid分组与之一起被递送的addba响应帧的tid相对应的所有tid/tsid。

在某些方面中,如果接收方存储器能力字段中的至少一个子字段不等于0(例如,接收方sta支持至少一个能力),则接收方存储器配置子元素可以被包括在edmg流控制扩展配置元素中。在某些方面中,在交换或者没有交换edmg流控制扩展配置元素的情况下建立块确认协议的设备仍然可以使用rbufcap进行流控制。

本公开内容的某些方面提供了可以由交换addba请求帧和addba响应帧的设备遵循的协商规则。如果addba请求帧和addba响应帧中的对应子字段等于1,则可以支持接收方存储器能力。换句话说,如果发起设备和接收方设备两者都在addba响应帧和请求帧中指示对特定能力的支持,则支持能力。在某些方面中,如果接收方将接收方存储器能力字段中的子字段中的至少一个子字段设置为1,而addba请求帧的接收方存储器能力中的对应子字段被设置为0,或者如果在addba请求帧中不存在edmg流控制扩展配置元素,则接收方可以在addba响应帧中利用指示协商不成功的状态码进行响应。可以使用其它状态码值,其可以指示协商被拒绝,协商是以未指明的原因被拒绝的,请求被拒绝或者参数无效。

在某些方面中,addba响应可以是管理类型的帧,但是具有动作子类型,以及因此可以是稳健的。也就是说,可以通过作为802.11标准的管理帧保护的一部分的加密和认证来安全地保护该帧。通过使用addba响应帧来更新rbufcap和armle值,可以安全地传送rbufcap和armle值,以避免dos和其它类型的攻击。

在某些方面中,接收方可以发送不是响应于addba请求帧的addba响应帧,以更新rbufcap和armle值。未经请求的addba响应帧可以是在接收方是其持有者的发送时机中发送的。在这种情况下,未经请求的addba响应帧的对话令牌可以被设置为0。rbufcap和armle字段可以分别符合针对块确认协议而建立的rbufcap数量和armle能力。在某些方面中,在递送addba响应帧之后,接收方可以发送针对发送时机的授权帧,以放弃发送时机的剩余部分。在一些情况下,在发送addba响应帧之后,接收方可以向作为块确认协议的发起方的发送时机响应方授权反向方向。

在某些方面中,接收具有被设置为0的对话令牌的addba响应帧的发起方可以忽略该帧中的块确认参数集合和块确认超时值字段。在接收到addba响应帧时,发起方可以将针对rbufcap和armle的值分别更新为在该帧中递送的符合rbufcap数量和armle能力的值。

图12示出了根据本公开内容的某些方面的一种用于无线通信的示例性方法1200。

在步骤1210处,从无线节点接收指定在该无线节点处的存储器的一个或多个参数。该无线节点可以是响应方,并且一个或多个参数可以包括指示存储器单元的大小的参数。

在步骤1220处,从该无线节点接收对在该无线节点处的存储器中的空闲存储器空间量的指示。例如,可以依据存储器单元来给出对空闲存储器空间量的指示。可以在块确认中接收该指示。

在步骤1230处,基于对空闲存储器空间量的指示和一个或多个参数来确定要发送给该无线节点的数据单元数量。

在步骤1240处,输出数据单元以便传输给该无线节点,其中,被输出以便传输给该无线节点的数据单元数量等于所确定的数据单元数量。数据单元中的每一个数据单元可以包括mpdu。

图13示出了根据本公开内容的某些方面的另一种用于无线通信的示例性方法1300。

在步骤1310处,输出一个或多个参数以便传输给无线节点,一个或多个参数指定存储器。一个或多个参数可以包括指示存储器单元的大小的参数。

在步骤1320处,计算在存储器中的空闲存储器空间量。例如,可以通过跟踪进入存储器的数据量以及正在从存储器释放的数据量来计算空闲存储器空间。

在步骤1330处,输出对空闲存储器空间量的指示以便传输给该无线节点。可以依据存储器单元来给出对空闲存储器空间量的指示。

图14示出了根据本公开内容的某些方面的示例性设备1400。设备1400可以被配置为在无线设备(例如,接入点210或接入终端220)中操作,以及执行本文所描述的操作中的一个或多个操作。设备1400可以充当发起方或响应方(例如,取决于设备1400正在发送mpdu还是接收mpdu)。

设备1400包括处理系统1420、以及被耦合到处理系统1420的存储器1410。存储器1410可以存储指令,所述指令在被处理系统1420执行时使得处理系统1420执行本文所描述的操作中的一个或多个操作。下文提供了处理系统1420的示例性实现方式。设备1400还包括被耦合到处理系统1420的发送/接收接口1430。发送/接收接口1430(例如,接口总线)可以被配置为将处理系统1420与射频(rf)前端(例如,收发机226-1至226-n或者226-1至266-n)以接口方式连接。

在某些方面中,处理系统1420可以包括以下各项中的一项或多项:发送数据处理器(例如,发送数据处理器218或260)、帧构建器(例如,帧构建器222或262)、发送处理器(例如,发送处理器224或264)和/或控制器(例如,控制器234或274),以用于执行本文所描述的操作中的一个或多个操作。

在接入终端220的情况下,设备1400可以包括被耦合到处理系统1420的用户接口1440。用户接口1440可以被配置为从用户(例如,经由键盘、鼠标、操纵杆等)接收数据,并且将数据提供给处理系统1420。用户接口1440还可以被配置为从处理系统1420向用户(例如,经由显示器、扬声器等)输出数据。在这种情况下,数据在被输出给用户之前可以经历另外的处理。在接入点210的情况下,可以省略用户接口1440。

用于从无线节点接收指定在该无线节点处的存储器的一个或多个参数的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于从该无线节点接收对在该无线节点处的存储器中的空闲存储器空间量的指示的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于基于对空闲存储器空间量的指示和一个或多个参数来确定要发送给该无线节点的数据单元数量的单元的示例可以包括控制器234或274、或者处理系统1420中的至少一者。用于输出数据单元以便传输给该无线节点(其中,被输出以便传输给该无线节点的数据单元数量等于所确定的数据单元数量)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收包括对空闲存储器空间量的指示的块确认的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出块确认请求以便传输给该无线节点(其中,块确认帧是在块确认请求之后接收的)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出添加块确认(addba)请求以便传输给该无线节点(addba请求用于请求与该无线节点的块确认会话)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于在输出addba请求之后从该无线节点接收包括一个或多个参数的addba响应的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于从该无线节点接收包括一个或多个参数的添加业务(addts)请求的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出addts响应以便传输给无线(addts响应对addts请求进行确认)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收指示多种不同的存储器类型中的一种存储器类型的指示符的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收包括指示多种不同的存储器类型中的所述一种存储器类型的指示符的块确认的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收多个业务标识符的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收指示无线节点的一个或多个能力的能力元素的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于接收包括被设置为零的对话令牌的添加块确认响应的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于如果对话令牌被设置为零,则忽略块确认响应中的一个或多个参数的单元的示例可以包括控制器234或274、或者处理系统1420中的至少一者。用于接收另一指示的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。

用于输出一个或多个参数以便传输给无线节点(一个或多个参数指定存储器)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于计算在存储器中的空闲存储器空间量的单元的示例可以包括控制器234或274、或者处理系统1420中的至少一者。用于输出对空闲存储器空间量的指示以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于基于存储器的大小和接收机缓冲区容量(rbufcap)字段的范围来计算存储器单元的大小的单元的示例可以包括控制器234或274、或者处理系统1420中的至少一者。用于生成包括对空闲存储器空间量的指示的块确认帧的单元的示例可以包括控制器234或274、处理系统1420或者帧构建器222或262中的至少一者。用于输出块确认帧以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于从该无线节点接收块确认请求(其中,块确认帧是响应于块确认请求来生成的)的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于跟踪在存储器中的空闲存储器空间量的变化的单元以及用于将该变化与门限进行比较的单元的示例可以包括控制器234或274、或者处理系统1420中的至少一者。用于从该无线节点接收添加块确认(addba)请求(addba请求用于请求与该无线节点的块确认会话)的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于响应于addba请求来生成addba响应(其中,addba响应包括一个或多个参数)的单元的示例可以包括控制器234或274、处理系统1420或者帧构建器222或262中的至少一者。用于输出addba响应以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于生成包括一个或多个参数的添加业务(addts)请求的单元的示例可以包括控制器234或274、处理系统1420或者帧构建器222或262中的至少一者。用于输出添加业务(addts)请求以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于从该无线节点接收对addts请求进行确认的addts响应的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出指示符以便传输给该无线节点(该指示符指示多种不同的存储器类型中的一种存储器类型)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出块确认以便传输给该无线节点(块确认包括指示多种不同的存储器类型中的一种存储器类型的指示符)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出多个业务标识符以便传输给无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于经由所识别的数据业务中的至少一个数据业务从该无线节点接收数据单元的单元的示例可以包括接收处理器242或282、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出能力元素以便传输给该无线节点(能力元素指示该装置的一个或多个能力)的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出添加块确认响应以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。用于输出另一指示以便传输给该无线节点的单元的示例可以包括发送处理器224或264、收发机226-1至226-n或者266-1至266-n、或者发送/接收接口1430中的至少一者。

上文所描述的方法的各种操作可以由能够执行相应功能的任何适当的单元来执行。这些单元可以包括各种硬件和/或软件组件和/或模块,包括但不限于:电路、专用集成电路(asic)或处理器。通常,在存在图中所示出的操作的情况下,那些操作可以具有带有类似编号的对应的配对功能单元组件。

在一些情况下,设备可以具有用于输出帧以便进行传输的接口(用于输出的单元),而不是实际上发送帧。例如,处理器可以经由总线接口向用于发送的射频(rf)前端输出帧。类似地,设备可以具有用于获取从另一个设备接收的帧的接口(用于获取的单元),而不是实际上接收帧。例如,处理器可以经由总线接口从用于接收的rf前端获取(或接收)帧。

如本文所使用的,术语“确定”包括多种多样的动作。例如,“确定”可以包括计算、运算、处理、推导、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明等等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等等。此外,“确定”可以包括解析、选定、选择、建立等等。

如本文所使用的,提及项目列表“中的至少一个”的短语指代那些项目的任意组合,包括单个成员。举例而言,“a、b或c中的至少一个”旨在涵盖a、b、c、a-b、a-c、b-c和a-b-c、以及与相同元素的倍数的任何组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c和c-c-c或者a、b和c的任何其它排序)。

结合本公开内容所描述的各种说明性的逻辑块、模块和电路可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件(pld)、分立门或晶体管逻辑、分立硬件组件、或者其任意组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、一个或多个微处理器结合dsp内核、或者任何其它这样的配置。

结合本公开内容所描述的方法或算法的步骤可以直接地体现在硬件中、在由处理器执行的软件模块中或者在二者的组合中。软件模块可以位于本领域中已知的任何形式的存储介质中。可以使用的存储介质的一些示例包括随机存取存储器(ram)、只读存储器(rom)、闪存、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom等等。软件模块可以包括单个指令或许多指令,并且可以在若干不同的代码段上、在不同的程序之间和跨越多个存储介质来分布。存储介质可以被耦合到处理器,以使得处理器可以从该存储介质读取信息,以及向该存储介质写入信息。在替代的方案中,存储介质可以是处理器的组成部分。

本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,这些方法步骤和/或动作可以彼此互换。换句话说,除非指定了步骤或动作的特定次序,否则,在不脱离权利要求的范围的情况下,可以对特定步骤和/或动作的次序和/或使用进行修改。

所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在硬件中实现,则示例硬件配置可以包括无线节点中的处理系统(例如,处理系统1420)。处理系统可以利用总线架构来实现。总线可以包括任意数量的互连总线和桥接器,这取决于处理系统的特定应用和总体设计约束。总线可以将包括处理器、机器可读介质和总线接口的各种电路链接在一起。除此之外,总线接口还可以用于将网络适配器经由总线连接至处理系统。网络适配器可以用于实现phy层的信号处理功能。在接入终端220(参见图2)的情况下,用户接口(例如,小键盘、显示器、鼠标、操纵杆等)也可以被连接至总线。总线还可以链接诸如时序源、外围设备、电压调节器、功率管理电路等等的各种其它电路,这些电路在本领域中是公知的,并且因此将不再进行描述。

处理器可以负责管理总线和通用处理,其包括执行在机器可读介质上存储的软件。处理器可以利用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、dsp处理器以及可以执行软件的其它电路系统。无论是被称为软件、固件、中间件、微代码、硬件描述语言还是其它术语,软件都应该被广义地解释为意指指令、数据或其任意组合。举例而言,机器可读介质可以包括ram(随机存取存储器)、闪存、rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬驱动器、或任何其它适当的存储介质、或其任意组合。机器可读介质可以体现在计算机程序产品中。计算机程序产品可以包括封装材料。

在硬件实现方式中,机器可读介质可以是处理系统中的与处理器分开的一部分。然而,如本文领域技术人员将容易明白的是,机器可读介质或其任何部分可以在处理系统的外部。举例而言,机器可读介质可以包括传输线、由数据调制的载波、和/或与无线节点分开的计算机产品,全部这些可以由处理器通过总线接口来访问。替代地或另外,机器可读介质或其任何部分可以被集成到处理器中,诸如这种情况可以是高速缓存和/或通用寄存器文件。

处理系统可以被配置为通用处理系统,其具有用于提供处理器功能的一个或多个微处理器以及用于提供机器可读介质的至少一部分的外部存储器,全部这些通过外部总线架构与其它支持电路系统链接在一起。替代地,处理系统可以利用具有处理器的asic(专用集成电路)、总线接口、用户接口(在接入终端的情况下)、支持电路系统、以及被集成到单个芯片中的机器可读介质的至少一部分来实现,或者利用一个或多个fpga(现场可编程门阵列)、pld(可编程逻辑器件)、控制器、状态机、门控逻辑、分立硬件组件、或者可以执行遍及本公开内容所描述的各种功能的任何其它适当的电路系统或电路的任意组合来实现。本领域技术人员将认识到的是,根据特定的应用和施加在整个系统上的总体设计约束如何来最佳地实现针对处理系统所描述的功能。

机器可读介质可以包括多个软件模块。软件模块包括指令,所述指令在由处理器执行时使得处理系统执行各种功能。软件模块可以包括发送模块和接收模块。每个软件模块可以位于单个存储设备中或跨越多个存储设备来分布。举例而言,当触发事件发生时,可以将软件模块从硬驱动器加载到ram中。在对软件模块的执行期间,处理器可以将指令中的一些指令加载到高速缓存中以增加访问速度。随后可以将一个或多个高速缓存行加载到通用寄存器堆中以便由处理器执行。将理解的是,当在下文提及软件模块的功能时,这样的功能由处理器在执行来自该软件模块的指令时实现。

如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过其进行传输。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括促进将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是能够由计算机访问的任何可用的介质。通过举例而非限制的方式,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或者能够用于以指令或数据结构的形式来携带或存储的所期望的程序代码以及能够由计算机访问的任何其它介质。此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(dsl)或者无线技术(诸如红外线(ir)、无线电和微波)从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、dsl或者无线技术(诸如红外线、无线电和微波)被包括在介质的定义中。如本文所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。因此,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。此外,对于其它方面来说,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。上文的组合也应当包括在计算机可读介质的范围之内。

因此,某些方面可以包括用于执行本文所给出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有存储(和/或被编码)在其上的指令的计算机可读介质,所述指令可由一个或多个处理器执行以执行本文所描述的操作。对于某些方面来说,计算机程序产品可以包括封装材料。

此外,应当明白的是,用于执行本文所描述的方法和技术的模块和/或其它适当的单元可以由接入终端和/或基站在适用的情况下进行下载和/或以其它方式获得。例如,这样的设备可以被耦合至服务器,以便促进用于执行本文所描述的方法的单元的传送。替代地,本文所描述的各种方法可以经由存储单元(例如,ram、rom、诸如压缩光盘(cd)或软盘的物理存储介质等)来提供,以使得接入终端和/或基站可以在将存储单元耦合至或提供给该设备时,获取各种方法。此外,可以利用用于向设备提供本文所描述的方法和技术的任何其它适当的技术。

应当理解的是,权利要求并不限于上文所示出的精确配置和组件。在不脱离权利要求的范围的情况下,可以在上文所描述的方法和装置的布置、操作和细节方面进行各种修改、改变和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1