发明内容
在一个实施例中,一种方法包括:在网络接口设备利用物理层(PHY)协议数据单元(PPDU)最大持续时间以使得(A)当在第一操作模式中操作时,(i)由在协议栈中的PHY协议以上的层中的协议定义的并且(ii)具有由在PHY协议以上的协议定义的最大长度的数据单元将在第一操作模式中的最低可能数据速率在单个PPDU内完全相配,以及(B)当在第二操作模式中操作时,(i)由在PHY协议以上的层中的协议定义的并且(ii)具有由在PHY协议以上的协议定义的最大长度的数据单元将在第二操作模式中的最低可能数据速率未在单个PPDU内完全相配。该方法还包括:接收介质访问控制(MAC)服务数据单元(MSDU),以及在网络接口生成MPDU以包括MSDU。当在第二操作模式中操作时,生成MPDU包括:对于每个接收的MSUD,确定MSDU的长度是否超过分割阈值,在确定MSDU的长度超过分割阈值时将MSDU分割成多个MPDU,以及在确定MSDU的长度未超过分割阈值时生成包括MSDU的单个MPDU。基于将在第二操作模式中的最低可能数据速率在单个PPDU内完全相配的最大MPDU大小确定分割阈值。该方法还包括:在网络接口设备生成PHY协议数据单元(PPDU)以包括MPDU,其中每个PPDU具有小于或者等于PPDU最大持续时间的持续时间,以及使PPDU被传输。
在另一实施例中,一种装置包括:网络接口,被配置用于:利用物理层(PHY)协议数据单元(PPDU)最大持续时间以使得(A)当在第一操作模式中操作时,(i)由在协议栈中的PHY协议以上的层中的协议定义的并且(ii)具有由在PHY协议以上的协议定义的最大长度的数据单元将在第一操作模式中的最低可能数据速率在单个PPDU内完全相配,以及(B)当在第二操作模式中操作时,(i)由在PHY协议以上的层中的协议定义的并且(ii)具有由在PHY协议以上的协议定义的最大长度的数据单元将在第二操作模式中的最低可能数据速率未在单个PPDU内完全相配。网络接口还被配置用于生成MPDU以包括介质访问控制(MAC)服务数据单元(MSDU)。当在第二操作模式中操作时,网络接口被配置用于对于每个MSUD,确定MSDU的长度是否超过分割阈值,在确定MSDU的长度超过分割阈值时将MSDU分割成多个MPDU,以及在确定MSDU的长度未超过分割阈值时生成包括MSDU的单个MPDU。基于将在第二操作模式中的最低可能数据速率在单个PPDU内完全相配的最大MPDU大小确定分割阈值。此外,网络接口被配置用于生成PHY协议数据单元(PPDU)以包括MPDU,其中每个PPDU具有小于或者等于PPDU最大持续时间的持续时间,以及使PPDU被传输。
在另一实施例中,一种方法包括:接收介质访问控制(MAC)服务数据单元(MSDU),以及确定是否(i)将根据第一操作模式传输MSDU,或者(ii)将根据第二操作模式传输MSDU,其中第二操作模式对应于比第一操作模式更长范围的传输。该方法包括:在将根据第一操作模式传输MSDU时,确定MSDU的长度是否超过与第一操作模式对应的第一分割阈值,在确定MSDU的长度超过第一分割阈值时将MSDU分割成多个MAC协议数据单元(MPDU),以及在确定MSDU的长度未超过第一分割阈值时生成包括MSDU的MPDU。该方法还包括:在将根据第二操作模式传输MSDU时,确定MSDU的长度是否超过与第二操作模式对应的第二分割阈值,在确定MSDU的长度超过第二分割阈值时将MSDU分割成多个MPDU,以及在确定MSDU的长度未超过第二分割阈值时生成包括MSDU的MPDU。
在另一实施例中,一种装置包括:网络接口,被配置用于:确定是否(i)将根据第一操作模式传输介质访问控制(MAC)服务数据单元(MSDU),或者(ii)将根据第二操作模式传输MSDU,其中第二操作模式对应于比第一操作模式更长范围的传输。网络接口被配置用于在将根据第一操作模式传输MSDU时确定MSDU的长度是否超过与第一操作模式对应的第一分割阈值,在确定MSDU的长度超过第一分割阈值时将MSDU分割成多个MAC协议数据单元(MPDU),以及在确定MSDU的长度未超过第一分割阈值时生成包括MSDU的MPDU。网络接口被配置用于在将根据第二操作模式传输MSDU时确定MSDU的长度是否超过与第二操作模式对应的第二分割阈值,在确定MSDU的长度超过第二分割阈值时将MSDU分割成多个MPDU,以及在确定MSDU的长度未超过第二分割阈值时生成包括MSDU的MPDU。
在又一实施例中,一种方法包括:当在第一操作模式中操作时,利用第一物理层(PHY)协议数据单元(PPDU)最大持续时间以使得(i)由在协议栈中的PHY协议以上的层中的协议定义的并且(ii)具有由在PHY以上的协议定义的最大长度的数据单元将在第一操作模式中的最低可能数据速率在单个PPDU内完全相配。此外,该方法包括:当在第二操作模式中操作时,利用第二PPDU最大持续时间以使得(i)由在PHY协议以上的层中的协议定义的并且(ii)具有由在PHY以上的协议定义的最大长度的数据单元将在第二操作模式中的最低可能数据速率未在单个PPDU内完全相配。
在在一实施例中,一种装置包括:网络接口,被配置用于当在第一操作模式中操作时利用第一物理层(PHY)协议数据单元(PPDU)最大持续时间以使得(i)由在协议栈中的PHY协议以上的层中的协议定义的并且(ii)具有由在PHY以上的协议定义的最大长度的数据单元将在第一操作模式中的最低可能数据速率在单个PPDU内完全相配。网络接口还被配置用于当在第二操作模式中操作时利用第二PPDU最大持续时间以使得(i)由在PHY协议以上的层中的协议定义的并且(ii)具有由在PHY以上的协议定义的最大长度的数据单元将在第二操作模式中的最低可能数据速率未在单个PPDU内完全相配。
在一个实施例中,一种用于有助于在无线网络中的功率节省的方法包括:生成PHY首部以包括PHY数据单元的持续时间的指示,以及生成前导码。该方法还包括:生成PHY数据单元以包括前导码和PHY首部,以及使PHY数据单元被传输。
在其他实施例中,生成PHY首部以还包括以下各项中的一项或者多项的任何组合:(i)目的地地址的指示、(ii)PHY数据单元是否对应于单播帧的指示,以及(iii)PHY数据单元是否由AP传输的指示。在一些实施例中,生成PHY首部以包括信号字段,其中信号字段包括PHY数据单元的持续时间的指示。在一些实施例中,生成信号字段以还包括以下各项中的一项或者多项的任何组合:(i)目的地地址的指示、(ii)PHY数据单元是否对应于单播的指示,以及(iii)PHY数据单元是否由AP传输的指示。
在另一实施例中,一种装置包括:网络接口,被配置用于生成PHY首部以包括用于有助于在无线网络中的功率节省的信息,其中用于有助于在无线网络中的功率节省的信息包括PHY数据单元的持续时间的指示。网络接口还被配置用于:生成前导码,生成PHY数据单元以包括前导码和PHY首部,以及使PHY数据单元被传输。
在其他实施例中,用于有助于在无线网络中的功率节省的信息还包括以下各项中的一项或者多项的任何组合:(i)目的地地址的指示、(ii)PHY数据单元是否对应于单播帧的指示,以及(iii)PHY数据单元是否由AP传输的指示。在一些实施例中,网络接口被配置用于生成PHY首部以包括信号字段,其中信号字段包括PHY数据单元的持续时间的指示。在一些实施例中,生成信号字段以还包括以下各项中的一项或者多项的任何组合:(i)目的地地址的指示、(ii)PHY数据单元是否对应于单播的指示,以及(iii)PHY数据单元是否由AP传输的指示。
在一个实施例中,一种方法包括:在网络接口确定基本服务集(BSS)信息是否已经改变,一起在确定BSS信息已经改变时,在网络接口生成一个或者多个第一BSS信元(IE),一个或者多个第一BSS IE包括已经改变的BSS信息中的至少一些BSS信息。该方法还包括:在网络接口生成信标帧,信标帧(i)包括一个或者多个第一BSS IE,以及(ii)省略与尚未改变的BSS信息对应的一个或者多个第二BSS IE,以及用网络接口传输信标帧或者使信标帧被传输。
在其他实施例中,该方法还包括以下要素中的一个或者多个要素的任何组合。
在确定BSS信息已经改变时,在网络接口生成用于指示在信标帧中包括一个或者多个第一BSS IE的指示符字段,其中生成信标帧包括生成信标帧以包括指示符字段。
生成信标帧以省略与已经改变的BSS信息对应的一个或者多个第三BSS IE,生成信标帧以包括与一个或者多个第三BSS IE对应的BSS信息已经改变的指示符,并且该方法还包括:在网络接口接收响应于信标的探测请求帧,在网络接口生成响应于探测请求帧的探测响应帧,其中探测响应帧包括一个或者多个第三BSS IE,以及用网络接口传输探测响应帧或者使探测响应帧被传输。
信标帧是第一信标帧,生成第一信标帧以省略与已经改变的BSS信息对应的一个或者多个第三BSS IE,并且该方法还包括:在网络接口生成第二信标帧,第二信标帧(i)包括一个或者多个第三BSS IE,以及(ii)省略一个或者多个第一BSS IE,以及用网络接口传输第二信标帧或者使第二信标帧被传输。
在另一实施例中,一种装置包括:网络接口,被配置用于:确定基本服务集(BSS)信息是否已经改变,以及在确定BSS信息已经改变时,生成一个或者多个第一BSS信元(IE),一个或者多个第一BSS IE包括已经改变的BSS信息中的至少一些BSS信息。网络接口还被配置用于生成信标帧,信标帧(i)包括一个或者多个第一BSS IE,以及(ii)省略与尚未改变的BSS信息对应的一个或者多个第二BSS IE,以及传输信标帧或者使信标帧被传输。
在其他实施例中,该装置还包括以下要素中的一个或者多个要素的任何组合。
网络接口被配置用于:在确定BSS信息已经改变时,生成用于指示在信标帧中包括一个或者多个第一BSS IE的指示符字段,以及生成信标帧以包括指示符字段。
网络接口被配置用于:生成信标帧以省略与已经改变的BSS信息对应的一个或者多个第三BSS IE,生成信标帧以包括与一个或者多个第三BSS IE对应的BSS信息已经改变的指示符,接收响应于信标的探测请求帧,生成响应于探测请求帧的探测响应帧,其中探测响应帧包括一个或者多个第三BSS IE,以及传输探测响应帧或者使探测响应帧被传输。
信标帧是第一信标帧,并且网络接口被配置用于:生成第一信标帧以省略与已经改变的BSS信息对应的一个或者多个第三BS SIE,生成第二信标帧,第二信标帧(i)包括一个或者多个第三BSS IE,以及(ii)省略一个或者多个第一BSS IE,以及传输第二信标帧或者使第二信标帧被传输。
在又一实施例中,一种方法包括:生成时间戳字段,以及生成用于指示基本服务集(BSS)信息是否已经改变的改变指示符字段。该方法还包括:生成信标帧以包括(i)时间戳字段,以及(ii)改变指示符字段以使得信标帧的首部的在(i)时间戳字段,以及(ii)改变指示符字段中的至少一个字段之前出现的所有字段是固定长度的字段,以及传输信标帧或者使信标帧被传输。
在其他实施例中,该方法还包括以下要素中的一个或者多个要素的任何组合。
生成信标帧以使得信标帧的首部的在(i)时间戳字段,以及(ii)改变指示符字段二者之前出现的所有字段是固定长度的字段。
该方法还包括生成用于指示接入点是否具有为一个或者多个站缓冲的信息的流量指示字段,并且其中生成信标帧以使得信标帧的在流量指示字段之前出现的所有字段是固定长度的字段。
生成信标帧以使得信标帧的首部的在(i)时间戳字段、(ii)改变指示符字段,以及(iii)流量指示字段中的所有字段之前出现的所有字段是固定长度的字段。
生成信标帧以在信标帧的首部中包括(i)时间戳字段,以及(ii)改变指示符字段,以及以在信标帧的净荷部分中包括流量指示字段作为信元。
该方法还包括生成信标帧的首部以包括用于指示流量指示字段是否在信标帧的净荷部分中存在的指示符字段。
该方法还包括:生成信标帧的首部以包括(i)仅具有必备固定长度的字段的第一首部部分,以及(ii)第二首部部分,第二首部部分(a)仅具有固定长度的字段并且(b)包括可选固定长度的字段,以及生成净荷,其中生成信标帧以使得(i)首部的第二部分紧接着跟随首部的第一部分,以及(ii)净荷紧接着跟随首部的第二部分。
生成首部的第一部分以包括(i)时间戳字段,以及(ii)改变指示符字段,生成净荷以包括流量指示字段,并且流量指示字段紧接着跟随首部的第二部分。
该方法还包括生成首部的第一部分以包括指示是否在首部的第二部分中包括一个或者多个字段的一个或者多个指示符。
在再一实施例中,一种装置包括:网络接口,被配置用于:生成时间戳字段,以及生成用于指示基本服务集(BSS)信息是否已经改变的改变指示符字段。网络接口还被配置用于生成信标帧以包括(i)时间戳字段,以及(ii)改变指示符字段以使得信标帧的首部的在(i)时间戳字段,以及(ii)改变指示符字段中的至少一个字段之前出现的所有字段是固定长度的字段,以及传输信标帧或者使信标帧被传输。
在其他实施例中,该装置还包括以下要素中的一个或者多个要素的任何组合。
网络接口被配置用于生成信标帧以使得信标帧的首部的在(i)时间戳字段,以及(ii)改变指示符字段二者之前出现的所有字段是固定长度的字段。
网络接口被配置用于:生成用于指示接入点是否具有为一个或者多个站缓冲的信息的流量指示字段,以及生成信标帧以使得信标帧的在流量指示字段之前出现的所有字段是固定长度的字段。
网络接口被配置用于生成信标帧以使得信标帧的首部的在(i)时间戳字段、(ii)改变指示符字段,以及(iii)流量指示字段中的所有字段之前出现的所有字段是固定长度的字段。
网络接口被配置用于生成信标帧以在信标帧的首部中包括(i)时间戳字段,以及(ii)改变指示符字段并且以在信标帧的净荷部分中包括流量指示字段作为信元。
网络接口被配置用于生成信标帧的首部以包括用于指示流量指示字段是否在信标帧的净荷部分中存在的指示符字段。
网络接口被配置用于:生成信标帧的首部以包括(i)仅具有必备固定长度的字段的第一首部部分,以及(ii)第二首部部分,第二首部部分(a)仅具有固定长度的字段并且(b)包括可选固定长度的字段,生成净荷,以及生成信标帧以使得(i)首部的第二部分紧接着跟随首部的第一部分,以及(ii)净荷紧接着跟随首部的第二部分。
网络接口被配置用于:生成首部的第一部分以包括(i)时间戳字段,以及(ii)改变指示符字段,生成净荷以包括流量指示字段,以及生成信标帧以使得流量指示字段紧接着跟随首部的第二部分。
网络接口被配置用于生成首部的第一部分以包括指示是否在首部的第二部分中包括一个或者多个字段的一个或者多个指示符。
在一个实施例中,一种方法包括:在网络接口生成信号字段,信号字段包括(i)用于指示物理层(PHY)数据单元是控制帧的字段,以及(ii)帧控制字段、接收器地址(RA)字段和循环冗余校验(CRC)字段中的一个或者多个字段。该方法还包括:在网络接口生成PHY数据净荷,PHY数据净荷(i)包括服务字段、发射器地址(TA)字段、网络ID字段和CRC字段中的一个或者多个字段,以及(ii)省略RA字段。该方法还包括:在网络接口生成PHY数据单元以包括(i)前导码、(ii)具有SIG字段的PHY首部,以及(iii)PHY数据净荷,以及用网络接口传输PHY数据单元或者用网络接口使PHY数据单元被传输。
在其他实施例中,该方法还包括以下要素中的一个或者多个要素的任何组合。
PHY数据净荷的网络ID字段是第二网络ID字段,并且生成信号字段包括生成信号字段以包括第一网络ID字段。
第一网络ID字段包括基本服务集标识符(BSSID)的第一部分,并且第二网络ID字段包括BSSID的第二部分。
第一网络ID字段包括缩短或者压缩的基本服务集标识符(BS SID)的第一部分,并且第二网络ID字段包括缩短或者压缩的BSSID的第二部分。
生成信号字段包括生成信号字段以包括服务字段,以及生成PHY数据净荷以省略服务字段。
在另一实施例中,一种装置包括:网络接口,被配置用于:生成信号字段,信号字段包括(i)用于指示物理层(PHY)数据单元是控制帧的字段,以及(ii)帧控制字段、接收器地址(RA)字段,以及循环冗余校验(CRC)字段中的一个或者多个字段,以及生成PHY数据净荷,PHY数据净荷(i)包括服务字段、发射器地址(TA)字段、网络ID字段,以及CRC字段中的一个或者多个字段,以及(ii)省略RA字段。网络接口还被配置用于:生成PHY数据单元以包括(i)前导码、(ii)具有SIG字段的PHY首部,以及(iii)PHY数据净荷,以及传输PHY数据单元或者使PHY数据单元被传输。
在其他实施例中,该装置还包括以下要素中的一个或者多个要素的任何组合。
PHY数据净荷的网络ID字段是第二网络ID字段,并且网络接口被配置用于生成信号字段以包括第一网络ID字段。
第一网络ID字段包括基本服务集标识符(BSSID)的第一部分,并且第二网络ID字段包括BSSID的第二部分。
第一网络ID字段包括缩短或者压缩的基本服务集标识符(BSSID)的第一部分,并且第二网络ID字段包括缩短或者压缩的BSSID的第二部分。
网络接口被配置用于:生成信号字段包括生成信号字段以包括服务字段,以及生成PHY数据净荷以省略服务字段。
在又一实施例中,一种方法包括:在网络接口基于当前传输速率动态确定分割阈值。该方法还包括:接收介质访问控制(MAC)服务数据单元(MSDU),以及在网络接口确定MSDU的长度是否超过分割阈值。该方法还包括:在确定MSDU的长度超过分割阈值时在网络接口将MSDU分割成多个MAC协议数据单元(MPDU),以及在确定MSDU的长度未超过分割阈值时在网络接口生成包括MSDU的MPDU。
在再一实施例中,一种装置包括:网络接口,被配置用于:基于当前传输速率动态确定分割阈值,确定介质访问控制(MAC)服务数据单元(MSDU)的长度是否超过分割阈值,在确定MSDU的长度超过分割阈值时将MSDU分割成多个MAC协议数据单元(MPDU),以及在确定MSDU的长度未超过分割阈值时,生成包括MSDU的MPDU。
在又一实施例中,一种方法:接收介质访问控制(MAC)服务数据单元(MSDU),以及在网络接口确定MSDU的长度是否超过分割阈值。此外,该方法包括:在确定MSDU的长度超过分割阈值时在网络接口将MSDU分割成多个MAC协议数据单元(MPDU),以及在网络接口将与MSDU对应的多个MPDU聚合成聚合MPDU(A-MPDU)。
在再一实施例中,一种装置包括:网络接口,被配置用于:确定介质访问控制(MAC)服务数据单元(MSDU)的长度是否超过分割阈值,在确定MSDU的长度超过分割阈值时将MSDU分割成多个MAC协议数据单元(MPDU),以及将与MSDU对应的多个MPDU聚合成聚合MPDU(A-MPDU)。
具体实施方式
在以下描述的实施例中,无线网络设备(比如无线局域网(WLAN)的接入点(AP))向一个或者多个客户端站传输数据流。AP被配置用于根据至少一个通信协议与客户端站一起操作。在一个实施例中,通信协议定义在1GHz以下频率范围中的操作,并且通常用于如下应用,这些应用需要具有相对低数据速率(例如,与由IEEE802.11n标准定义的通信协议比较)的远程无线通信。(在一些实施例中的例如如由当前在开发中的IEEE802.11af标准或者IEEE802.11ah标准定义的)通信协议在这里被称为“远程”通信协议。
在一个实施例中,远程通信协议定义至少包括普通模式和极低速率(VLR)模式的两个或者更多个通信模式。VLR模式具有比普通模式更低的数据速率并且被旨在于用于在与普通模式比较的甚至更长范围的通信。
当前IEEE802.11标准定义近似5毫秒(ms)的最大物理层(PHY)协议数据单元(PPDU)持续时间。在为IEEE802.11af和IEEE802.11ah标准提出的数据速率中的一些数据速率,能够在5ms内被传输的数据量相对低,从而造成相对高开销和相对低效率。例如,使用为IEEE802.11af和IEEE802.11ah标准提出的数据速率中的一些数据速率并且用5ms的最大PPDU持续时间,介质访问控制(MAC)数据单元的过量分割可能出现。表1列举为IEEE802.11af和IEEE802.11ah标准设想的在各种信道带宽的用于最低数据速率的示例PPDU净荷大小。
表1
信道带宽(MHz) |
数据速率(Mbps) |
PPDU净荷最大大小(字节) |
20 |
6 |
3720 |
10 |
3 |
1755 |
5 |
1.5 |
877.5 |
2.5 |
0.75 |
438.75 |
1.25 |
0.375 |
219.375 |
如在表1中可见,在一些情形中,PPDU可以仅能够携带至多近似200字节。在考虑以太网帧可以与1500字节一样长时,可能在至少一些场景中需要分割大量MAC数据单元。此外,由于每个MAC数据单元片段包括MAC首部信息,所以MAC层效率(在考虑MAC首部数据时传输的净荷数据的百分比)随着数据速率减小而减小。
一个潜在选项是增加最大PPDU持续时间。表2列举为IEEE802.11af和IEEE802.11ah标准设想的用于数据速率的对于不同PPDU持续时间的示例MAC层效率。
表2
如在表2中可见,增加最大PPDU持续时间增加MAC层效率。在另一方面,延伸最大PPDU持续时间超出5ms造成用于信道接入的更长介质感测时间(这可能增加功率消耗,因为设备可能需要花费更多时间唤醒)并且有问题,因为随时间变化的信道条件可能不利地影响接收很长PPDU的更晚结束。
在以下描述的一些实施例中,利用用于减少分割的技术。同样,在以下描述的一些实施例中,利用用于在分割出现时减少协议开销的技术。此外,在以下描述的一些实施例中,利用用于在传输延伸长度的PDDU时改进操作的技术。
图1是根据一个实施例的示例无线局域网(WLAN)10的框图。AP14包括耦合到网络接口16的主机处理器15。网络接口16包括介质访问控制(MAC)处理单元18和物理层(PHY)处理单元20。PHY处理单元20包括多个收发器21,并且收发器21耦合到多个天线24。虽然在图1中图示了三个收发器21和三个天线24,但是AP14在其他实施例中可以包括不同数目(例如,1、2、4、5等)的收发器21和天线24。
WLAN10包括多个客户端站25。虽然在图1中图示了四个客户端站25,但是WLAN10在各种场景和实施例中可以包括不同数目(例如,1、2、3、5、6等)的客户端站25。客户端站25中的至少一个客户端站(例如,客户端站25-1)被配置用于至少根据远程通信协议操作。
客户端站25-1包括耦合到网络接口27的主机处理器26。网络接口27包括MAC处理单元28和PHY处理单元29。PHY处理单元29包括多个收发器30,并且收发器30耦合到多个天线34。虽然在图1中图示了三个收发器30和三个天线34,但是客户端站25-1在其他实施例中可以包括不同数目(例如,1、2、4、5等)的收发器30和天线34。
在一个实施例中,客户端站25-2、25-3和25-4中的一个或者多个客户端站具有与客户端站25-1相同或者相似的结构。在这些实施例中,结构与客户端站25-1相同或者相似的客户端站25具有相同或者不同数目的收发器和天线。例如,根据一个实施例,客户端站25-2具有仅两个收发器和两个天线。
在各种实施例中,AP14的PHY处理单元20被配置用于生成符合远程通信协议并且具有下文描述的格式的数据单元。收发器21被配置用于经由天线24传输生成的数据单元。相似地,收发器24被配置用于经由天线24接收数据单元。根据各种实施例,AP14的PHY处理单元20被配置用于处理符合远程通信协议并且具有下文描述的格式的接收的数据单元。
在各种实施例中,客户端站25-1的PHY处理单元29被配置用于生成符合远程通信协议并且具有下文描述的格式的数据单元。收发器30被配置用于经由天线34传输生成的数据单元。相似地,收发器30被配置用于经由天线34接收数据单元。根据各种实施例,客户端站25-1的PHY单元处理29被配置用于处理符合远程通信协议并且具有下文描述的格式的接收的数据单元。
在一些实施例中,网络接口(例如,AP14的网络接口16和/或客户端站25的网络接口27)被配置用于在包括普通模式和VLR模式的至少两个模式中操作。例如,在一个实施例中,VLR模式利用与普通模式比较的更慢时钟速率。在一个实施例中,不同时钟速率对应于不同数据速率。因此,VLR模式一般对应于至少用于一些调制编码方案(MCS)的与普通模式比较的更慢时钟速率。
在另一实施例中,使用用来生成普通模式PHY数据单元的相同时钟速率、但是使用与用来生成用于普通模式的数据单元的快速傅里叶变换(FFT)大小比较的更小大小的FFT来生成为VLR模式生成的PHY数据单元。在这样的实施例中,更小FFT大小造成PHY数据单元在每个OFDM符号中具有更少子载波,由此造成与将更大大小的FFT用于普通模式来生成的PHY数据单元比较的更低数据速率并且相应地造成由在VLR模式中生成的PHY数据单元占用的更小带宽。作为示例,在一个实施例中,普通模式利用大小为64(或者128、256、512或者大于64的另一适当大小)的FFT,并且VLR模式利用大小为32、16或者小于64的另一适当大小的FFT。
备选地或者附加地,在一些实施例中,使用单个载波来调制用于在VLR模式中传输的PHY数据单元,而使用正交频域复用(OFDM)调制来调制用于在普通模式中传输的PHY数据单元。在一些这样的实施例中,使用相同时钟速率来生成VLR模式(单载波)PHY数据单元和普通模式(OFDM)PHY数据单元。在一些这样的实施例中,VLR模式PHY数据单元通常占用与由普通模式PHY数据单元占用的最低带宽比较的更小带宽。在一个实施例中,在VLR模式中,单载波PHY数据单元使用下钟控比率10根据由IEEE802.11b标准指定的数据单元格式被生成并且占用等于近似1.1MHz的带宽。在其他实施例中,不同适当下钟控比用来生成VLR模式单载波PHY数据单元。例如,指定用于VLR模式的下钟控比以使得单载波VLR模式PHY数据单元占用与由普通模式OFDM PHY数据单元占用的最低带宽的某个希望的百分比(例如,1/2、2/3、3/4等)相等的带宽。在一个实施例中,选择单载波下钟控倍率以使得在VLR模式中的单载波PHY数据单元占用与由在普通模式中传输的最低带宽OFDM PHY数据单元的数据和导频音占用的带宽近似相同的带宽。
MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)一般向PHY处理单元(比如PHY处理单元20和/或PHY处理单元29)提供信息以用于传输。例如,在一个实施例中,MAC处理单元处理被称为MAC服务数据单元(MSDU)的信息单元并且在MAC协议数据单元(MPDU)中包括MSDU。MPDU包括来自MSDU的信息以及MAC首部信息。然后向PHY处理单元MAC提供由MAC处理单元生成的MPDU。PHY处理单元在PHY协议数据单元(PPDU)中包括MPDU以用于无线传输。PPDU包括来自MPDU的信息以及PHY首部信息。
相似地,PHY处理单元经由无线介质接收PPDU,并且从接收的PPDU提取MPDU。PHY处理单元向MAC处理单元提供提取的MPDU,MAC处理单元然后从提取的MPDU提取MSDU。
图2是图示根据一些实施例的、MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)被配置用于执行的分割操作的示图。比较MSDU204的长度与分割阈值以确定是否应当分割MSDU204。在MSDU204的长度超过分割阈值时,将MSDU204分割成两个或者更多个片段208。接着,在向PHY处理单元提供的相应MPDU212中包括片段208。在一个实施例中,PHY处理单元在相应PPDU中包括每个MPDU。
在一个实施例中,基于当前传输速率动态确定分割阈值。例如,在一个实施例中,基于被利用的当前MCS、被利用的空间或者空间-时间流的当前数目、被利用的当前信道带宽等中的一项或者多项动态确定分割阈值。在一个实施例中,还基于重试传输速率动态确定分割阈值。例如,在一个实施例中,基于最低重试传输速率动态确定分割阈值。
在另一实施例中,基于当前操作模式确定分割阈值。例如,在一个实施例中,在当前操作模式是普通模式时利用第一分割阈值,而在当前操作模式是VLR模式时利用第二分割阈值。在一个实施例中,第一分割阈值大于第二分割阈值。
图3是根据一个实施例的用于确定是否应当分割MSDU的示例方法225的流程图。在一个实施例中,方法225由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,在一个实施例中,方法225由MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)实施。
在块230,基于当前传输速率动态确定分割阈值。例如,在一个实施例中,基于被利用的当前MCS、被利用的空间或者空间-时间流的当前数目、被利用的当前信道带宽等中的一项或者多项动态确定分割阈值。在一个实施例中,还基于重试传输速率动态确定分割阈值。例如,在一个实施例中,基于最低重试传输速率动态确定分割阈值。
在块234,接收MSDU。在块238,确定MSDU的长度是否超过在块230确定的分割阈值。在确定MSDU的长度超过分割阈值时,流程前进到块242。在块242,将MSDU分割成多个MPDU。
在另一方面,如果在块238确定MSDU的长度未超过分割阈值,则流程前进到块244。在块244,在单个MPDU中完全包括MSDU。
在一个实施例中,向PHY处理单元提供根据方法225生成的MPDU,PHY处理单元生成包括每个相应MPDU的相应PPDU。
再次参照图2,在一个实施例中,将不同分割阈值用于普通模式和VLR模式。例如,在一个实施例中,在网络接口根据普通模式传输之时利用第一分割阈值,而在网络接口根据VLR模式传输之时利用第二分割阈值。在一个实施例中,第一分割阈值大于第二分割阈值。在一个实施例中,普通操作模式包括多个第一可能数据速率,多个第一可能数据速率包括第一最低可能数据速率,并且在普通模式中利用的分割阈值基于第一最低可能数据速率。此外,在这一实施例中,VLR操作模式包括多个第二可能数据速率,多个第二可能数据速率包括第二最低可能数据速率,并且在VLR模式中利用的分割阈值基于第二最低可能数据速率。
图4是根据一个实施例的用于确定是否应当分割MSDU的示例方法250的流程图。在一个实施例中,方法250由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,在一个实施例中,方法250由MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)实施。
在操作254,接收MSDU。在块258,确定当前操作模式是否为普通模式。在确定当前操作模式是普通模式时,流程前进到块262。
在块262,如以上讨论的那样确定MSDU的长度是否超过与普通模式对应的第一分割阈值。在确定MSDU的长度超过第一分割阈值时,流程前进到块266。在块266,将MSDU分割成多个MPDU。在另一方面,如果在块262确定MSDU的长度未超过第一分割阈值,则流程前进到块270。在块270,在单个MPDU中完全包括MSDU。
然而,当在块258确定当前操作模式是VLR模式时,流程前进到块274。在块274,如以上讨论的那样确定MSDU的长度是否超过与VLR模式对应的第二分割阈值。在确定MSDU的长度超过第二分割阈值时,流程前进到块278。在块278,将MSDU分割成多个MPDU。在另一方面,如果在块274确定MSDU的长度未超过第二分割阈值,则流程前进到块282。在块282,在单个MPDU中完全包括MSDU。
在一个实施例中,向PHY处理单元提供根据方法250生成的MPDU,PHY处理单元生成包括每个相应MPDU的相应PPDU。
图5是图示根据一些实施例的、MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)被配置用于执行的分割操作的示图。图5的示图除了在一些场景中在聚合MPDU(A-MPDU)(比如在IEEE802.11n标准中描述的A-MPDU或者与之相似的A-MPDU)内聚合MSDU的片段之外与图2的示图相似。
比较MSDU304的长度与分割阈值以确定是否应当分割MSDU204。在一个实施例中,分割阈值是比如以上描述的动态分割阈值。在另一实施例中,分割阈值是比如以上描述的依赖于模式的分割阈值。在另一实施例中,在所有模式中和/或与所有数据速率一起利用单个分割阈值。
在MSDU304的长度超过分割阈值时,将MSDU304分割成两个或者更多个片段308。接着,在相应MPDU312中包括片段308。
在一个实施例中,在一些场景中,在A-MPDU316内聚合多个MPDU312。例如,确定是否可以聚合多个MPDU312以使得所得A-MPDU的长度未超过最大A-MPDU长度。在图5中所图示的场景中,所有三个MPDU能够被聚合而未超过最大A-MPDU长度。在其他场景中,可以在单个A-MPDU内聚合少于所有MPDU312而未超过最大A-MPDU长度。在一个实施例中,向PHY处理单元提供A-MPDU,PHY处理单元生成包括A-MPDU的PPDU。在一个实施例中,如果生成多个A-MPDU316,则向PHY处理单元提供每个A-MPDU,PHY处理单元生成包括相应A-MPDU的相应PPDU。
在一个实施例中,基于当前传输速率动态确定最大A-MPDU长度。例如,在一个实施例中,基于被利用的当前MCS、被利用的空间或者空间-时间流的当前数目、被利用的当前信道带宽等中的一项或者多项动态确定最大A-MPDU长度。在一个实施例中,还基于重试传输速率动态确定最大A-MPDU长度。例如,在一个实施例中,基于最低重试传输速率动态确定最大A-MPDU长度。
在另一实施例中,基于当前操作模式确定最大A-MPDU长度。例如,在一个实施例中,在当前操作模式是普通模式时利用第一最大A-MPDU长度,而在当前操作模式是VLR模式时利用第二最大A-MPDU长度。在一个实施例中,最大A-MPDU长度大于第二最大A-MPDU长度。
在另一实施例中,在普通模式中利用、但是在VLR模式中未利用MSDU片段的聚合。
在一个实施例中,仅能在A-MPDU316内聚合与单个MSDU对应的MPDU312。因此,在其中不能在单个A-MPDU316内聚合与单个MSDU304对应的所有MPDU312的一些场景中,在单个A-MPDU316内包括MPDU312中的一些MPDU(例如,MPDU312a和312b),而向PHY处理单元提供一个或者多个其他MPDU312(例如,MPDU312c)作为非聚合MPDU312。在另一实施例中,可以在A-MPDU316内聚合与不同MSDU对应的MPDU312。换言之,在一个实施例中,A-MPDU316在一些场景中包含与不同MSDU304对应的MPDU312。
图6是根据一个实施例的用于在适当时分割MSDU并且在适当时将多个MSDU片段聚合成A-MPDU的示例方法325的流程图。在一个实施例中,方法325由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,在一个实施例中,方法325由MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)实施。
在块330,接收MSDU。在块334,在MSDU的长度超过分割阈值时将MSDU分割成多个MPDU。在块338,在确定可以聚合多个MPDU312以使得所得A-MPDU的长度未超过最大A-MPDU长度时在A-MPDU内聚合在块334生成的多个MPDU。
在一个实施例中,向PHY处理单元提供根据方法325生成的A-MPDU,PHY处理单元生成包括每个相应A-MPDU的相应PPDU。
在一个实施例中,在普通操作模式中执行、但是在VLR操作模式中未执行方法325。在另一实施例中,在普通操作模式和VLR操作模式二者中执行方法325。
在其中在一个或者多个A-MPDU中包括MSDU的片段的实施例中,利用各种适当确认机制。例如,在一个实施例中,接收器在接收器正确接收在A-MPDU内的所有MPDU时生成和传输A-MPDU的确认。在另一实施例中,接收器生成和传输A-MPDU的块确认,其中块确认包括(i)与从其生成片段的MSDU对应的序列号(SN),以及(ii)用于指示正确接收了片段中的哪些片段的位图。在另一实施例中,接收器生成和传输一个或者多个A-MPDU和/或MPDU的块确认,其中块确认包括(i)与块确认对应于的初始MSDU对应的SN,以及(ii)用于指示正确接收了哪些条目MSDU的SN位图。
在一些实施例中,在A-MPDU中包括的第一MSDU片段中包括全MPDU MAC首部,而在A-MPDU中的其他片段具有简化和/或缩短的MAC首部以帮助减少A-MPDU的总长度。图7A是在一些实施例中在A-MPDU中包括的并且可以用于在A-MPDU中的至少一些MSDU片段的示例MSDU片段350的示图。片段350包括MAC首部部分354和净荷358。在一个实施例中,MAC首部部分354比在当前IEEE802.11标准中指定的MAC首部更短和/或省略MAC首部的字段。例如,在一个实施例中,MAC首部部分354包括片段编号(FN)字段和指示后续MSDU片段是否跟随的比特,但是省略SN字段、接收站地址(RA)字段和传输站地址(TA)字段中的一个或者多个字段。
在一些实施例中,在A-MPDU中包括的MSDU片段具有简化和/或缩短的MPDU定界符(与由IEEE802.11n标准指定的MPDU定界符比较)以帮助减少A-MPDU的总长度。图7B是可以在一些实施例中利用的示例A-MPDU子帧370(包括MSDU片段)的示图。子帧370包括定界符部分374和MPDU378(包括MSDU片段)。在一些实施例中,定界符部分374比在IEEE802.11n标准中指定的A-MPDU定界符字段更短和/或省略A-MPDU定界符字段的字段。例如,在一个实施例中,定界符字段374具有两个字节的长度。在另一实施例中,定界符字段374具有三个字节的长度。在一些实施例中,MPDU378具有MAC首部,该MAC首部比在当前IEEE802.11标准中指定的MAC首部字段更短和/或省略MAC首部字段的字段。例如,在一个实施例中,MPDU的SN字段具有6比特的长度。作为另一示例,在一个实施例中,MPDU的FN字段具有2比特的长度。
在一些实施例中,关于图7A描述的技术与关于图7B描述的技术组合以便减少A-MPDU的总长度。
图8是图示根据一些实施例的、MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)被配置用于执行的分割操作以及PHY处理单元(比如PHY处理单元20和/或PHY处理单元2)被配置用于执行的聚合过程的示图。图8的示图除了在一些场景中在扩展PPDU内聚合MSDU的片段之外与图5的示图相似。为了简洁,未具体讨论来自图5的相似编号的元素。
向PHY处理单元提供与MSDU304的片段对应的MPDU312。在一个实施例中,在一些场景中,PHY处理单元在扩展PPDU404内聚合多个MPDU312。例如,确定是否可以聚合多个MPDU312以使得所得扩展PPDU的长度未超过最大扩展PPDU长度。在图8中所图示的场景中,所有三个MPDU能够被聚合而未超过最大扩展PPDU长度。在其他场景中,可以在单个扩展PPDU内聚合少于所有MPDU312而未超过最大扩展PPDU长度。
在一个实施例中,基于当前传输速率动态确定最大扩展PPDU长度。例如,在一个实施例中,基于被利用的当前MCS、被利用的空间或者空间-时间流的当前数目、被利用的当前信道带宽等中的一项或者多项动态确定最大扩展PPDU长度。在一个实施例中,还基于重试传输速率动态确定最大扩展PPDU长度。例如,在一个实施例中,基于最低重试传输速率动态确定最大扩展PPDU长度。
在另一实施例中,基于当前操作模式确定最大扩展PPDU长度。例如,在一个实施例中,在当前操作模式是普通模式时利用第一最大扩展PPDU长度,而在当前操作模式是VLR模式时利用第二最大扩展PPDU长度。在一个实施例中,最大扩展PPDU长度大于第二最大扩展PPDU长度。
在其他实施例中,确定是否可以聚合多个MPDU312以使得所得扩展PPDU的长度在传输机会(TXOP)时段内相配。
在另一实施例中,在普通模式中利用、但是在VLR模式中未利用将MSDU片段聚合成扩展PPDU。
在一个实施例中,仅能在扩展PPDU404内聚合与单个MSDU对应的MPDU312。因此,在其中不能在单个扩展PPDU404内聚合与单个MSDU304对应的所有MPDU312的一些场景中,在单个扩展PPDU404内包括MPDU312中的一些MPDU(例如,MPDU312a和312b),而传输一个或者多个其他MPDU312(例如,MPDU312c)作为普通PPDU(例如,非扩展PPDU)。在另一实施例中,可以在扩展PPDU404内聚合与不同MSDU对应的MPDU312。换言之,在一个实施例中,扩展PPDU404在一些场景中包含与不同MSDU304对应的MPDU312。
图9A是根据一个实施例的示例扩展PPDU420的示图。扩展PPDU420包括多个子帧(例如,在图9A的例示性示例中为子帧1、子帧2和子帧3)。扩展PPDU420的第一子帧包括具有信号字段428的PHY前导码424。在一个实施例中,信号字段428包括扩展PPDU420的持续时间的指示。第一子帧包括MAC首部(MH)部分432和MAC数据部分436。在一个实施例中,跟随的一个或者多个子帧中的每个子帧包括中间码(mid-amble)440和MAC数据部分444,并且省略MH部分。在一个实施例中,中间码440是PHY前导码424的重复。在一个实施例中,中间码440仅包括PHY前导码424的一部分(例如,中间码440省略PHY前导码424的某些适当字段)。在一个实施例中,中间码440是PHY前导码424的更短版本(例如,与PHY前导码424的对应字段比较在长度上适当缩短在中间码440中的某些适当字段)。
中间码440被配置用于至少通过提供训练数据以允许接收站在接收扩展PPDU420期间更新信道估计来改进扩展PPDU的接收。此外,在一个实施例中,每个中间码440包括信号字段,该信号字段包括指示扩展PPDU420的剩余持续时间的持续时间信息。这样的持续时间信息将辅助接收站确定扩展PPDU420将何时结束以用于功率节省模式等目的。
在一个实施例中,在扩展PPDU420的相邻子帧之间包括适当间隙。在一个实施例中,间隙是如由IEEE802.11标准、RIFS或者另一适当间距定义的至少短帧间间距(SIFS)。
在各种实施例中,接收站用确认或者块确认448确认扩展PPDU420。例如,在一个实施例中,接收站仅在正确接收扩展PPDU420的所有子帧时用确认408确认扩展PPDU420。在另一实施例中,接收站用块确认408确认扩展PPDU420,块确认408指示(例如,用位图)正确接收了扩展PPDU420的子帧中的哪些子帧。
图9B是根据另一实施例的另一示例扩展PPDU455的示图。扩展PPDU455除了跟随第一子帧的子帧中的每个子帧包括中间MAC首部(MMH)部分460之外与图9A的扩展PPDU420相似。
在一个实施例中,MMH部分460仅包括MH部分432的一部分(例如,MMH部分460省略MH部分432的某些适当字段,比如RA字段、TA字段、帧控制字段等中的一个或者多个字段)。在一个实施例中,MMH部分460包括SN字段、FN字段、安全首部、长度字段等中的一项或者多项。
在一个实施例中,MMH部分460是MH部分432的更短版本(例如,在MMH部分460中的某些适当字段与MH部分432的对应字段比较在长度上被适当缩短)。例如,在一个实施例中,MMH部分460的SN字段具有6比特的长度。作为另一示例,在一个实施例中,MMH部分460的FN字段具有2比特的长度。
在另一实施例中,每个MMH部分460是MH部分432的重复。
现在参照图9A和图9B,在一些实施例中,每个子帧包括(i)安全尾字段(例如,消息完整性代码(MIC))和(ii)检错信息字段(比如帧校验序列(FCS)字段、循环冗余校验(CRC)字段)等中的一个或者两个字段。在一个实施例中,每个子帧为自包含以使得即使未正确接收一个或者多个子帧,接收器仍然可以标识正确接收的子帧并且请求发射器仅重发不正确接收的子帧。在一个实施例中,每个子帧包括完整MPDU或者A-MPDU。在一个实施例中,第一子帧包括完整MPDU,而后续子帧包括另一MPDU的片段。
在另一实施例中,每个子帧包括分割的MPDU的片段。在一个实施例中,比如在图9A的示例格式中省略MMH部分460。在省略MMH部分460时,在未正确接收即使仅一个片段时仍然必须重发整个MPDU。
在一个实施例中,第一子帧包括用于分割的MPDU的完整MAC首部、FCS字段和MPDU的第一片段。后续子帧各自包括如图9B中的MMH部分460以及FCS字段和MPDU的相应片段。在这一实施例中,在未正确接收仅一些片段时无需重发MPDU的被正确接收的片段。
在其他实施例中,在一些场景中,PHY处理单元传输与多个MPDU312对应的多个近间距PPDU。近间距PPDU是仅被短时间段(比如在IEEE802.11n标准中定义的减少的帧间间距(RIFS)或者另一适当持续时间)分离的PPDU。例如,确定是否可以传输多个MPDU312作为多个PPDU以使得可以在TXOP时段内传输多个PPDU。
在一个实施例中,在普通模式和VLR模式二者中利用传输MSDU片段作为多个近间距PPDU。在另一实施例中,在普通模式中利用、但是在VLR模式中未利用传输MSDU片段作为多个近间距PPDU。
图10是用于分割和后续聚合的示例方法470的流程图。在一个实施例中,方法470由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,在一个实施例中,方法470由MAC处理单元(比如MAC处理单元18和/或MAC处理单元28)、PHY处理单元(比如PHY处理单元20和/或PHY处理单元2)执行。
在块474,接收MSDU。在块478,在MSDU的长度超过分割阈值时将MSDU分割成多个MPDU。在一个实施例中,向PHY处理单元提供在块478生成的MPDU,PHY处理单元在块482生成(比如以上描述的)扩展PPDU或者近间距PPDU以聚合在块478生成的多个MPDU以使得所得扩展PPDU或者近间距PPDU未超过最大扩展PPDU长度或者TXOP时段。
在一个实施例中,在普通操作模式中执行、但是在VLR操作模式中未执行方法470。在另一实施例中,在普通操作模式和VLR操作模式二者中执行方法470。
在一个实施例中,方法470与图6的方法325组合。例如,比如根据方法325将MPDU聚合成A-MPDU,并且以与方法470相似的方式将多个A-MPDU和/或具有一个或者多个MPDU的一个A-MPDU聚合成扩展PPDU或者近间距PPDU。
图11是根据一个实施例的用于格式化数据单元以用于无线传输的示例方法500的流程图。在一个实施例中,方法500由网络接口单元(比如网络接口16和/或网络接口27)实施。
在块504,确定当前操作模式是否为普通模式或者VLR模式。如果确定当前操作模式是普通模式,则流程前进到块508。在块508,利用PPDU最大持续时间以使得具有由在协议栈中的MAC协议层定义的最大长度(例如,1500字节或者另一适当长度)的MPDU将在以普通模式的最低可能数据速率传输时在单个PPDU内完全相配。利用这样的PPDU最大持续时间将帮助减少需要的分割数量。
在另一方面,如果在块504确定当前操作模式是VLR模式,则流程前进到块512。在块512,利用PPDU最大持续时间以使得具有由在协议栈中的MAC协议层定义的最大长度(例如,最大以太网帧大小、由在协议栈中的PHY层以上的另一适当协议确定的最大帧大小、1500字节或者另一适当长度等)的MPDU将在以VLR模式的最低可能数据速率传输时未在单个PPDU内完全相配。在一个实施例中,在普通模式和VLR模式中利用相同PPDU最大持续时间。在另一实施例中,在普通模式和VLR模式中利用不同PPDU最大持续时间。
图12是根据一个实施例的用于格式化数据单元以用于无线传输的示例方法550的流程图。在一个实施例中,方法550由网络接口单元(比如网络接口16和/或网络接口27)实施。
在块554,确定当前操作模式是否为普通模式或者VLR模式。如果确定当前操作模式是普通模式,则流程前进到块558。在块558,利用第一PPDU最大持续时间。在另一方面,如果在块554确定当前操作模式是VLR模式,则流程前进到块562。在块562,利用第二PPDU最大持续时间,其中第一PPDU最大持续时间不同于第二PPDU最大持续时间。在一个实施例中,第一PPDU最大持续时间小于第二PPDU持续时间。在一个实施例中,第一PPDU最大持续时间为5ms,而第二PPDU最大持续时间大于5ms(例如,10ms、15ms、20ms或者其他适当持续时间)。
如以上讨论的那样,在一些实施例和/或场景中,PPDU可以比在当前IEEE802.11标准中定义的5ms最大长度更长。出于功率节省(PS)模式目的,至少在一些实施例中有益的是使接收站能够快速获得关于被传输的PPDU的信息以使得站可以确定(i)站是否可以回到睡眠和/或(ii)站可以睡眠多久。例如,在一些实施例中,在站处于PS模式中时,站周期性地唤醒以监听信标帧和/或包括流量指示映射(TIM)的帧以确定另一个站(例如,AP14)是否具有为站缓冲的数据。在另一实施例中,另一个站(例如,AP14)将未向在PS模式中的站发送单播帧,除非由在PS模式中的站首先提示另一个站(例如,AP14)这样做。因此,在一些实施例中,在PS模式中的站唤醒并且听见单播帧,并且站知道站尚未提示这样的单播帧,在PS模式中的站知道单播站未旨在于用于站。然而,在PS模式中的站可能想要知道单播帧的持续时间以用于(i)回到睡眠、(ii)确定站何时可以尝试传输等目的。因此,在一些实施例中,在PPDU的早期部分中包括对于在PS模式中的站有用(至少在一些场景中)的信息以使在PS模式中的站能够快速获得信息。
图13是根据一个实施例的用于生成PHY数据单元以用于无线传输的示例方法570的流程图。在一个实施例中,方法570由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,网络接口被配置用于实施方法570。
在块574,利用PPDU最大持续时间以使得(A)当在第一模式(例如,普通模式)中操作时,具有(如由MAC协议(例如,IEEE802.3标准)指定的)最大长度的以太网帧将在第一模式中的最低可能数据速率在单个PPDU内完全相配,并且(B)当在第二模式(例如,VLR模式)中操作时,具有最大长度的以太网帧将在VLR模式中的最低可能数据速率未在单个PPDU内完全相配。
在块576,接收MSDU。在块578,确定是否将在第一模式(例如,普通模式)或者第二模式(VLR模式)中传输MSDU。在将在第二模式中传输MSDU时,流程前进到块580。在块580,生成MPDU以包括MSDU。对于每个MSDU,确定MSDU的长度是否超过分割阈值。在MSDU长度超过分割阈值时,生成多个MPDU以包括MSDU的不同片段。在MSDU长度未超过分割阈值时,生成单个MPDU以包括MSDU。
在块582,生成PPDU以包括MPDU。每个PPDU具有小于或者等于最大PPDU持续时间的持续时间。在块584,传输PPDU或者使PPDU被传输。例如,在确定将利用第一模式时根据第一模式传输PPDU,而在确定将利用第二模式时根据第二模式传输PPDU。
在另一方面,如果在块578确定将在第一模式(例如,普通模式)中传输MSDU,则流程前进到块586。在块586,生成MPDU以包括MSDU。在一个实施例中,块586省略比较MSDU长度与分割阈值。在另一实施例中,块586包括除了利用不同(例如,更长)分割阈值之外与块580相同的分割。换言之,块580可以利用第一分割阈值,而块586利用大于第一分割阈值的第二分割阈值。
流程从块586前进到块582。
在其他实施例中,块574涉及到利用基于除了以太网帧之外的数据单元的最大长度确定的PPDU最大持续时间,该数据单元比如是(i)由在协议栈中的PHY协议以上的层中的另一适当协议定义的并且(ii)具有由在PHY协议以上的协议定义的最大长度的数据单元。
在一些实施例和/或场景中,图13的方法570实现当在普通模式中操作时避免MSDU的任何分割,而MSDU的分割可以当在普通模式中操作时仍然出现。
图14是根据一个实施例的用于具有扩展持续时间(与当前IEEE802.11标准比较)的PPDU600的格式的框图。PPDU600包括PPDU前导码部分604、MAC首部部分608和MAC数据部分612。PHY前导码部分604包括信号字段616。
在一个实施例中,信号(SIG)字段616包括指示PPDU600的持续时间的持续时间字段。当在SIG字段616中而不是在MAC首部中包括持续时间字段时,如果接收器确定接收器无需监听PPDU600,则至少在一些实施例中,接收器能够更快确定传输的持续时间并且可以更快进入睡眠。
在一个实施例中,信号字段包括响应指示字段,该响应指示字段指示是否将存在对紧接着跟随PPDU600的PPDU600的响应(例如,确认620)。在一个实施例中,接收器可以计算响应的持续时间。例如,接收器假设响应的数据速率和长度以确定响应的持续时间。在一个实施例中,接收器假设响应的数据速率与PPDU600的数据速率或者另一适当数据速率相同。在接收器能够确定是否将传输响应并且可以确定或者估计响应的持续时间时,如果接收器确定接收器无需监听PPDU600,则至少在一些实施例中,接收器可以对于如下时段进入睡眠,该时段包括PPDU600的传输和对PPDU600的响应(例如,ACK)二者。
在一个实施例中,在VLR模式中,如果在VLR模式中对于每个TXOP仅允许一个帧交换,则省略在MAC首部608中的持续时间字段。例如,接收器可以基于TXOP的长度估计PPDU的持续时间和响应。
在一个实施例中,信号字段616包括指示PPDU600是否对应于单播帧的字段。例如,如以上讨论的那样,在PS模式中的站可以忽略单播帧(至少在一些场景中)但是应当监听组寻址和广播帧。因此,至少在一些实施例和/或场景中,在SIG字段616中对指示PPDU600是否对应于单播帧的字段定位允许接收器比如果接收器需要处理MAC首部以确定PPDU600是否对应于单播帧更快进入睡眠。
在一个实施例中,信号字段616包括指示PPDU600是否为信标帧、TIM帧和/或包括TIM元素的帧的字段。例如,在PS模式中的站在至少一些场景中在唤醒时对接收信标帧、TIM帧和/或包括TIM元素的帧感兴趣。作为另一示例,在普通模式中操作的站在至少一些场景中对在VLR模式中传输的信标帧和/或在VLR模式中传输的包括TIM元素的帧感兴趣。在另一实施例中,在普通模式中操作的站忽略在VLR模式中传输的所有PPDU。至少在一些实施例和/或场景中,在SIG字段616中对指示PPDU600是否为信标帧、TIM帧和/或包括TIM元素的帧的字段定位允许接收器比如果接收器需要处理MAC首部以确定PPDU600是否为信标帧、TIM帧和/或包括TIM元素的帧更快进入睡眠。
在一个实施例中,信号字段616包括指示是否向AP或者从AP传输PPDU600的字段。例如,站在至少一些场景中对从AP传输的PPDU感兴趣。因此,在至少一些实施例和/或场景中,在SIG字段616中对指示AP是否传输PPDU600的字段定位允许接收器比如果接收器需要处理MAC首部以确定AP是否传输PPDU600更快进入睡眠。
在一些实施例中,修改MAC首部608以与由当前IEEE802.11标准定义的MAC首部比较在MAC首部608中更早地包括目的地地址(DA)和/或网络标识符(ID)。例如,监听向站寻址的单播帧的站必须处理MAC首部608的至少一部分以确定MAC首部是否包括与站对应的DA。例如,在一个实施例中,DA字段紧接着跟随帧控制(FC)字段。作为另一示例,在另一实施例中,DA字段是在MAC首部中的第一字段。在其中MAC首部包括网络ID字段的一些实施例和/或场景中,网络ID字段紧接着跟随DA字段,并且DA字段(i)紧接着跟随FC字段,或者(ii)是在MAC首部中的第一字段。因此,至少在一些实施例和/或场景中,在MAC首部608中对DA和/或网络ID更早定位允许接收器比如果接收器需要处理MAC首部的更多组成以确定DA和/或网络ID更快进入睡眠。
在一个实施例中,网络接口(比如网络接口16和/或网络接口27)被配置用于生成PPDU600。
图15是根据一个实施例的用于生成PHY数据单元以用于无线传输的示例方法630的流程图。在一个实施例中,方法630由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,网络接口被配置用于实施方法630。在一些实施例中,方法630用于生成以上关于图14讨论的PPDU或者另一适当PPDU。
在块634,生成SIG字段,其中SIG字段包括以下字段中的一个或者多个字段的任何组合:(i)用于指示PPDU的长度的持续时间字段、(ii)用于指示响应(例如,ACK、BA等)是否将跟随PPDU的响应指示字段、(iii)用于指示PPDU是否对应于单播传输的单播指示字段、(iv)用于指示PPDU是否为信标帧、TIM帧和/或包括TIM元素的帧的信标/TIM指示字段、(v)指示AP是否传输PPDU的字段,以及(vi)CRC字段。
在块638,生成MAC首部以使得(i)DA字段,以及(ii)网络ID字段中的一个或者两个字段在MAC首部中比由当前IEEE802.11标准指定更早地出现。例如,在一个实施例中,DA字段紧接着跟随在MAC首部中的FC字段。作为另一示例,在另一实施例中,DA字段是在MAC首部中的第一字段。在其中MAC首部包括网络ID字段的一些实施例和/或场景中,网络ID字段紧接着跟随DA字段,并且DA字段(i)紧接着跟随FC字段,或者(ii)是在MAC首部中的第一字段。在一些实施例中,省略块638。
在块642,生成PHY数据单元以包括前导码、具有在块634生成的SIG字段的PHY首部。在一些实施例中,生成PHY数据单元以包括PHY净荷。在一些实施例中,PHY净荷包括在块638生成的MAC首部。在一些实施例中,PHY净荷包括并非根据块638生成的MAC首部。在一些实施例中,生成PHY数据单元以省略PHY净荷。
在块646,传输PHY数据单元或者使PHY数据单元被传输。
至少在一些实施例中,不能分割一些广播和/或控制帧。因此,在各种实施例中,修改各种控制帧以例如具有与在当前IEEE802.11标准中描述的相似控制帧比较的更短持续时间。
例如,在一些实施例中,站(例如,AP14)的网络接口例如生成具有与在当前IEEE802.11标准中描述的信标比较的更少信息的信标。在一个实施例中,信标帧例如包括基本服务集(BBS)信息(比如时间戳、信标间隔、服务集标识符(SSID)等)但是省略在当前IEEE802.11标准中描述的信标中包括的其他信息。在一个实施例中,信标包括新近更新(例如,自从传输紧接先前信标起更新、在某个时间量内更新等)的BBS信息。在一个实施例中,如果新近改变的BSS信元(IE)的数目足够大以使得新近改变的所有IE不能在一个信标帧内相配,则网络接口可以被配置用于分布在若干信标帧之中新近改变的IE。在另一实施例中,如果新近改变的BSS信元(IE)的数目足够大以使得新近改变的所有IE不能在一个信标帧内相配,则网络接口可以被配置用于在信标中包括改变的BSS IE的指示,该指示提示站轮询AP以使AP响应于轮询来传输改变的BSS IE。例如,在一个实施例中,信标包括字段,该字段指示BSS IE是否已经改变并且提示站轮询AP以使AP响应于轮询来传输改变的BSSIE。在一个实施例中,响应于这样的轮询,AP的网络接口向轮询站传输信息,该信息传送改变的IE。在一个实施例中,站使用探测请求帧向AP轮询关于改变的IE的信息,并且AP用探测响应帧对探测请求帧做出响应,其中探测响应帧包括请求的信息。
在一个实施例中,在BSS看来为新的站向AP传输探测请求帧以从AP获得具体BSS信息。响应于探测请求,AP在探测响应帧中传输具体BSS信息。
在一个实施例中,将探测响应帧划分成多个探测响应帧(短探测响应帧)因此与单个探测响应帧比较缩短每个探测响应帧的持续时间。在一个实施例中,每个短探测响应帧包括用于指示至少一个附加探测响应帧是否将跟随的字段。在一个实施例中,每个短探测响应帧包括SN字段以有助于有选择性地确认短探测响应帧和重传未正确接收的短探测响应帧。在一个实施例中,响应于单个探测请求帧传输所有短探测响应帧。在另一实施例中,站传输多个探测请求帧以提示AP传输多个短探测响应帧。
利用TIM信元和/或TIM帧以向站通知AP是否具有用于站的缓冲的数据。在一些情形中,当在BSS中有许多站时,TIM元素和/或帧可以很大,并且因此包括TIM元素的帧或者TIM帧可以很长。
在一个实施例中,TIM信元或者TIM帧包括指示符列表(例如,位图),该指示符列表指示AP具有用于哪些站的缓冲数据。在一个实施例中,在列表中的每个指示符(例如,在位图中的每位)对应于组关联标识符(组AID),并且每个组AID是用于在BSS中的一组站的组ID。在一个实施例中,在TIM元素或者TIM帧中的组AID指示符指示为指示的一组站缓冲了数据时,在该组中的每个站作为响应轮询AP以确定AP是否具有为站缓冲的数据。在AP接收这样的轮询时,AP作为响应来确定是否有为站缓冲的数据。如果有为站缓冲的数据,则AP向站传输缓冲的数据。在一个实施例中,AP也与缓冲的数据一起传输AP是否具有用于站的更多缓冲数据的指示。在另一方面,如果AP响应于来自站的轮询确定AP没有用于站的缓冲数据,则AP传输AP没有用于站的缓冲数据的指示。
在另一实施例中,在AP接收这样的轮询时,AP作为响应来生成包括TIM信元的帧,其中TIM信元指示AP具有用于哪些站的缓冲数据,并且向该组站传输帧。这对在该组中的尚未向AP传输轮询的其他站有帮助。在另一实施例中,在AP接收这样的轮询时,AP作为响应生成包括TIM信元的帧,其中TIM信元指示AP具有用于哪些站的缓冲数据并且向轮询站传输帧作为单播帧。在一个实施例中,在TIM信元中的指示符指示为特定站缓冲了数据时,站作为响应轮询AP以提示AP向站传输缓冲的数据。
在另一实施例中,在AP接收这样的轮询时,AP作为响应来生成包括TIM信元的段的帧,其中TIM信元的段包括信息,该信息指示AP具有用于该组中的哪些站的缓冲数据,并且向该组站传输帧。这对在该组中的尚未向AP传输轮询的其他站有帮助。在另一实施例中,在AP接收这样的轮询时,AP作为响应生成包括TIM信元的段的帧,其中TIM信元的段包括信息,该信息指示AP具有该组中的哪些站的缓冲数据,并且向轮询站传输帧。在一个实施例中,在TIM信元的段中的指示符指示为特定站缓冲了数据时,站作为响应轮询AP以提示AP向站传输缓冲的数据。
在另一实施例中,分割并且在多个信标帧、TIM帧等之间分布TIM信元。在一个实施例中,每个TIM段包括信息,该信息使接收站能够确定将何时传输与站对应的段。因此,在一个实施例中,当在PS模式中的站唤醒并且接收TIM段时,站使用接收的TIM段中的信息以确定何时将传输与站对应的另一TIM段。站然后可以回到睡眠直至在将传输与站对应的另一个TIM段时的适当时间。
在另一实施例中,AP传输(i)TIM信元,该TIM信元具有组AID的指示,AP具有用于这些组AID的缓冲数据(组TIM)和(ii)分割的TIM信元(分割的TIM)二者。在一个实施例中,站首先检查组TIM以尝试确定AP是否具有为站缓冲的数据。如果站可以基于组TIM确定AP没有为站缓冲的数据,则站可以回到睡眠而未检查分割的TIM。如果站不能基于组TIM确定AP是否具有为站缓冲的数据,则站然后分析适当TIM段以确定AP是否具有为站缓冲的数据。
在其中单个AP支持多个基本服务集标识符(BSSID)的一个实施例中,在BSS看来为新的站向AP传输探测请求帧以从AP获得完成的多个BSSID信息。
在其中单个AP支持BSSID的一个实施例中,如果一个或者多个非传输BSSID(例如,单独信标未被传输的虚拟AP)简档具有改变的信息,则AP在多个信标帧中分布更新的BSS信息。在其中单个AP支持BSSID的另一实施例中,如果一个或者多个非传输BSSID简档具有改变的信息,则AP生成帧(例如,信标帧),该帧具有改变的BSS信息的指示符,并且向一个或者多个对应BSSID的站传输帧以提示站向AP发送探测以获得改变的BSS信息。例如,在一个实施例中,指示符是BSS更新字段,该BSS更新字段指示BSS信息更新是否可用于每个非传输BSSID。作为另一示例,在一个实施例中,指示符是BSS更新字段,该BSS更新字段指示BSS信息更新是否可用于每个传输和非传输BSSID。
在一些实施例中,在帧(例如,数据帧、管理帧、信标帧等)中包括一个或者多个检错信息字段以使接收站能够验证相关字段并且如果不需要则略过其他字段(例如,以允许站更快进入睡眠以用于功率节省)。图16是根据一个实施例的示例信标帧650的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧650。
信标帧650包括MAC首部654和CRC字段658。使用MAC首部654来生成CRC字段658以使得接收器可以利用CRC字段658以验证MAC首部654的完整性并且分析MAC首部654中的信息而无需处理信标帧650的其他更晚部分。因此,在一些情形中,接收站可以在它在分析MAC首部654之后确定帧650并非旨在于用于站时停止处理帧650的剩余部分。例如,如果接收站确定在MAC首部654中的DA地址未对应于接收站,则接收站可以停止处理帧650的剩余部分。
信标帧650也包括校验更新字段662、时间戳字段668、TIM字段672和CRC字段676。使用校验更新字段662、时间戳字段668和TIM字段672来生成CRC字段676以使得接收器可以利用CRC字段676以验证校验更新字段662、时间戳字段668和/或TIM字段672的完整性并且分析校验更新字段662、时间戳字段668和/或TIM字段672中的信息而无需处理信标帧650的其他部分。因此,在一些情形中,接收站可以在它在分析校验更新字段662、时间戳字段668和/或TIM字段672之后确定站无需进一步处理帧650时停止处理帧650的剩余部分。例如,如果接收站从TIM字段672确定AP没有用于站的缓冲数据,则接收站可以停止处理帧650的剩余部分。
信标帧650还包括其他字段和/或元素680和FCS字段684。在一个实施例中,使用字段680而未使用MAC首部654、CRC658、校验更新字段、TIM字段672或者CRC字段676来生成FCS字段684。在另一实施例中,使用MAC首部654、CRC658、校验更新字段、TIM字段672、CRC字段676和其他字段680来生成FCS字段684。
在一个实施例中,省略CRC字段658。在其中省略CRC字段658的一个实施例中,使用MAC首部字段654来生成CRC字段676。在另一实施例中,省略CRC字段676。
在其中网络接口判决停止进一步处理帧650的实施例中,网络接口可以对于帧650的剩余部分进入睡眠模式以减少能量消耗。
在一些实施例中,信标帧具有与由当前IEEE802.11标准定义的信标帧比较的更短长度。图17是根据一个实施例的示例信标帧700的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧700。
信标帧700包括帧控制字段704、源地址(SA)字段、压缩SSID字段712、时间戳字段716、改变序列字段720、BSS信息字段724、IE净荷字段728和FCS字段732。信标净荷字段728包括信元(IE),比如TIM IE736。在一个实施例中,TIM IE736是在IE净荷字段728中的第一IE。在一个实施例中,压缩SSID字段712包含(如在当前IEEE802.11标准中定义的)全SSID的压缩版本。在一个实施例中,压缩SSID字段712包括全SSID的级联版本(例如,更少比特)。在其他实施例中,利用其他压缩技术。
关联站经常仅校验信标帧700的某些字段以确定是否(i)站应当校验信标帧700的其他字段,或者(ii)站可以忽略信标帧700的剩余部分。例如,站可能需要校验(i)时间戳字段716、(ii)改变序列字段720(该改变序列字段指示BSS信息是否已经改变并且因此指示站是否应当处理信标帧700的其他字段以确定什么BSS信息已经改变),或者(iii)TIM IE736中的一个或者多个字段。格式化信标帧700以使得在(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736中的每个字段之前的所有字段是固定长度的字段。这简化在信标帧700中的(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736的解析。在另一方面,可变长度字段使字段定位和/或解析更困难和/或更复杂。
在另一实施例中,时间戳字段718被定位为紧接着跟随SA字段708。
在另一实施例中,设备发现信息被包括在BSS信息字段724中或者作为在IE净荷字段728中的IE。在另一实施例中,服务发现信息被包括在BSS信息字段724中或者作为在IE净荷字段728中的IE。
图18是根据另一实施例的另一示例信标帧750的示图。在一个实施例中,网络设备(比如网络接口16)被配置用于生成信标帧750。信标帧750与图17的信标帧700相似,并且未具体讨论相似编号的元素。
信标帧750包括帧控制字段754,帧控制字段754包括TIM IE指示符子字段758和SSID IE指示符子字段762。TIM IE指示符子字段758指示TIM IE是否在信标帧750中存在。相似地,SSID IE指示符子字段762指示SSID IE是否在信标帧750中存在。
信标帧750也包括哈希S SID字段766。在一个实施例中,将哈希函数应用于(例如,如在当前IEEE802.11标准中指定的)全SSID以生成哈希SSID766。
信标帧750也包括IE净荷字段770。在一个实施例中,TIM IE736在存在时是在IE净荷字段770中的第一IE。在一个实施例中,在IE净荷字段770未包括TIM IE736时,SSID IE774在存在时是在IE净荷字段770中的第一IE。在一个实施例中,SSID IE774包括全SSID。在一个实施例中,SSID IE774在SSID IE774和TIM IE736二者存在时紧接着跟随TIM IE736。在另一实施例中,SSID IE774和TIM IE736的顺序相反。在一个实施例中,TIM IE指示符子字段758指示TIM IE736是否在IE净荷770中存在,并且SSID IE指示符子字段762指示SSID IE774是否在IE净荷770中存在。
与信标帧700相似,格式化信标帧750以使得在(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736中的每个字段之前的所有字段在存在时是固定长度的字段。这简化在信标帧750中的(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736的解析。在另一方面,可变长度的字段使字段定位和/或解析更困难和/或更复杂。
在另一实施例中,时间戳字段716被定为为紧接着跟随SA字段708。
在另一实施例中,设备发现信息被包括在BSS信息字段724中或者作为在IE净荷字段770中的IE。在另一实施例中,服务发现信息被包括在BSS信息字段724中或者作为在IE净荷字段770中的IE。
图19是根据另一实施例的另一示例信标帧800的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧800。信标帧800与图17的信标帧700相似,并且未具体讨论相似编号的元素。
信标帧800包括必备部分802,必备部分802包括在所有情形中在信标帧800中包括的字段。在一个实施例中,必备部分802包括在许多境况中很可能对站重要的字段。必备部分802被定位于信标帧800的开头并且在固定位置包括固定长度的字段以简化和实现在必备部分802中的字段的快速解析。在一个实施例中,必备部分802包括帧控制字段804、SA字段708、时间戳字段716、改变序列字段720和BSS信息字段724。
在一个实施例中,跟随必备部分802,信标帧800包括可以在一些场景中省略的一个或者多个可选字段。例如,至少在一些境况中,信标帧800包括缩短SSID字段804和与下一全信标的间隔字段808。帧控制字段804包括在信标帧800中包括哪些可选字段的至少一些指示。例如,在一个实施例中,帧控制字段804包括子字段812,子字段812指示缩短SSID字段804是否在信标帧800中存在。在一个实施例中,帧控制字段804还包括子字段816,该子字段指示与下一全信标的间隔字段808是否在信标帧800中存在。在一个实施例中,可选字段位于必备部分802之后和IE净荷728之前。
在一个实施例中,(例如,与在当前IEEE8021.11标准中指定的全SSID比较的)缩短SSID是全SSID字段的级联版本、全SSID的哈希版本等。
与信标帧700和信标帧750相似,格式化信标帧800以使得在(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736中的每个字段之前的所有字段在存在时是固定长度的字段。这简化在信标帧800中的(i)时间戳字段716、(ii)改变序列字段720,以及(iii)TIM IE736的解析。
图20是根据另一实施例的另一示例信标帧850的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧800。信标帧850与图19的信标帧800相似,并且未具体讨论相似编号的元素。
信标帧850除了若干不同之外与图19的信标帧800相似。例如,BSS信息已经移向在帧控制字段858内的子字段854。此外,已经改变了字段804和808的顺序。相似地,已经改变了子字段812和8126的顺序。
在另一实施例中,在IE净荷728中包括BSS信息。在另一实施例中,在必备部分802中包括BSS信息的第一子集,并且在必备部分之后并且在IE净荷728之前包括BSS信息的第二子集。在另一实施例中,在必备部分802中包括BSS信息的第一子集,并且在IE净荷728中包括BSS信息的第二子集。
图20是根据另一实施例的另一示例信标帧900的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧800。信标帧900与图20的信标帧850相似,并且未具体讨论相似编号的元素。
信标帧900包括对HotSpot2.0(HS2.0)的支持,这是用于有助于在蜂窝与Wi-Fi网络之间的无缝移动手机切换的标准。例如,信标帧900包括可选字段,这些可选字段用于包括重要HS2.0信息以帮助客户端站快速发现和选择希望的AP。
信标帧900包括必备部分902,必备部分902包括帧控制字段904。此外,信标900包括可以用若干不同方式解释的可选字段908(短NetID908)。例如,可以如以下讨论的那样将短NetID908解释为缩短SSID字段或者提供HS2.0信息的字段。
在一个实施例中,帧控制字段904包括NetID控制字段912,NetID控制字段912指示(i)短NetID908是否在信标帧900中存在,以及(ii)如果存在则将如何解释短NetID908。在一个实施例中,表3示出如何利用NetID控制字段912以解释短NetID908。
表3
NetID控制 |
短NetID908的解释 |
00 |
不存在 |
01 |
缩短SSID |
10 |
哈希SSID |
图21图示了被解释为HS2.0信息的短NetID908。短NetID908包括接入网络选项字段916和漫游联盟组织唯一标识符(OUI)字段920。
图22是根据另一实施例的另一示例信标帧1000的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧800。信标帧1000与图21的信标帧900相似,并且未具体讨论相似编号的元素。
信标帧1000包括必备部分1002,必备部分1002包括帧控制字段1004。此外,信标帧1000包括可选短SSID字段1008和可选HS2.0信息字段1012。在一个实施例中,可以将短SSID字段1008解释为缩短SSID字段或者哈希SSID字段。
在一个实施例中,帧控制字段1004包括短SSID控制字段1016,短SSID控制字段1016指示(i)短SSID字段1008是否在信标帧1000中存在,以及(ii)如果存在则将如何解释短SSID字段1008。帧控制字段1004还包括HS2.0信息存在子字段1020,该HS2.0信息存在子字段指示HS2.0信息字段1012是否在信标1000中存在。
在一个实施例中,HS2.0字段包括通报(advertising)协议ID字段1024。在另一实施例中,HS2.0字段省略通报协议ID字段1024。
图23是根据另一实施例的另一示例信标帧1100的示图。在一个实施例中,网络接口(比如网络接口16)被配置用于生成信标帧800。信标帧1100与图22的信标帧1000相似,并且未具体讨论相似编号的要素。
信标帧1100包括必备部分1102,必备部分1102包括帧控制字段1104。此外,接入网络选项字段916已经移向必备部分1102。
漫游联盟920字段在存在时和通报协议ID字段1024在存在时已经移向IE净荷728。此外,在一个实施例中,在IE净荷728中包括可选互作用单元字段1112。
控制帧(比如确认(ACK)、块确认(BA)、请求发送(RTS)、清除发送(CTS)、功率节省轮询(PS轮询)等)被频繁利用并且因此消耗原本可用于传输用户信息的大量传输时间。因此,控制帧是协议开销的来源。根据各种实施例,以下公开用于减少控制帧的持续时间的若干示例技术。
对于控制帧无需在现有技术的SIG字段和/或PHY首部中携带的信息中的许多信息以及在现有技术的MAC首部中的信息中的一些信息。在以下讨论的实施例中,重用和/或重新解释SIG字段和/或PHY首部的部分以携带MAC首部和/或MAC净荷信息。
在一些实施例中,使用预定义和/或固定的PHY参数(例如,使用二进制相移键控(BPSK)和/或单个空间流)来传输控制帧。
图24是省略PHY净荷部分的示例控制帧1200的示图。在一个实施例中,网络接口(比如网络接口16和/或网络接口27)被配置用于生成和传输控制帧1200(或者使控制帧1200被传输)。
控制帧1200包括前导码,该前导码具有一个或者多个短训练字段(STF)1204、一个或者多个长训练字段(LTF)1208。控制帧1200也包括PHY首部,该PHY首部具有SIG字段1212。在一个实施例中,每个STF字段1204对应于2个OFDM符号。在一个实施例中,每个LTF字段1208对应于两个OFDM符号。在各种实施例和/或场景中,SIG字段1212对应于两个或者三个或者四个OFDM符号并且具有范围为48至96比特的长度。
在一个实施例中,前导码被调制用于指示帧1200是控制帧。例如,在一个实施例中,与用于指示帧1200是控制帧的其他类型的帧比较,旋转前导码的调制。作为另一示例,在一个实施例中,与用于指示帧1200是控制帧的其他类型的帧比较,用于代码的扩展序列不同。
在一个实施例中,SIG字段1212包括帧控制(FC)/类型子字段1216、接收器地址(RA)子字段1220、发射器地址(TA)子字段1224、网络ID子字段1228、持续时间子字段1232、CRC子字段1236以及尾和/或填充子字段1240。在图24中示出各种子字段的示例长度。在一些实施例和/或场景中,省略TA子字段1224、网络ID子字段1228、持续时间子字段1232以及尾/填充子字段1240中的一个或者多个子字段。在一个实施例中,RA子字段1220包括AID。在一个实施例中,TA子字段1220包括AID。在一个实施例中,网络ID子字段1228包括BSSID的缩短版本。例如,在一个实施例中,BSSID的缩短版本在BSS的邻域中唯一。在一些实施例中,与由当前IEEE802.11标准指定的RA/TA MAC首部字段比较,缩短和/或压缩RA和/或TA子字段。
图25是根据一个实施例的用于生成控制帧以用于无线传输的示例方法1300的流程图,其中控制帧省略PHY净荷部分。在一个实施例中,方法1300由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,网络接口被配置用于实施方法1300。在一些实施例中,方法1300用于生成以上参照图24讨论的控制帧或者省略PHY净荷部分的另一适当控制帧。
在块1304,生成SIG字段,其中SIG字段包括帧控制字段、RA字段、TA字段、网络ID字段、持续时间字段和CRC字段中的一个或者多个字段的任何组合。在一些实施例中,如以上关于图24讨论的那样生成SIG字段。
在块1308,生成PHY前导码。在一个实施例中,前导码被配置用于指示帧是控制帧。例如,在一个实施例中,与用于指示帧是控制帧的其他类型的帧比较,旋转前导码的调制。作为另一示例,在一个实施例中,与用于指示帧是控制帧的其他类型的帧比较,用于代码的扩展序列不同。
在块1312,生成省略PHY净荷部分的控制帧(NDP控制帧)以包括(i)在块1308生成的PHY前导码和(ii)具有在块1304生成的SIG字段的PHY首部。
在块1316,传输PHY数据单元或者使PHY数据单元被传输。
图26是根据一个实施例的示例缩短控制帧1400的示图。在一个实施例中,网络接口单元(比如网络接口16和/或网络接27)被配置用于生成和传输控制帧1400(或者使控制帧1400被传输)。
控制帧1400包括前导码,该前导码具有一个或者多个短训练字段(STF)1404、一个或者多个长训练字段(LTF)1408。控制帧1200还包括PHY首部,该PHY首部具有SIG字段1412。在一个实施例中,每个STF字段1404对应于2个OFDM符号。在一个实施例中,每个LTF字段1408对应于两个OFDM符号。在一个实施例中,SIG字段1412对应于两个OFDM符号并且具有48比特的长度。在其他实施例中,每个STF字段1404、每个LTF字段1408和SIG字段1412具有其他适当长度。
控制帧1400还包括PHY数据净荷部分1416。在一个实施例中,控制帧1400还包括尾/填充部分1420。在一些实施例和/或场景中,省略尾/填充部分1420。
在一个实施例中,SIG字段1212包括用于指示帧1400是否是控制帧的子字段1424。此外,SIG子字段1212包括帧控制(FC)/类型子字段1216、接收器地址(RA)子字段1220、第一网络ID子字段1436、服务子字段1440、CRC子字段1444以及尾和/或填充子字段1448。在图24中示出各种子字段的示例长度,但是在其他实施例中利用其他适当长度。在一些实施例和/或场景中,省略第一网络ID子字段1436、服务字段1440和/或尾/填充子字段1448中的一个或者多个子字段。
在一个实施例中,RA子字段1220包括AID。在一个实施例中,第一网络ID子字段1436包括BSSID的至少第一部分。在另一实施例中,第一网络ID子字段1436包括BSSID的缩短版本的至少第一部分。例如,在一个实施例中,BSSID的缩短版本在BSS的邻域中唯一。
数据净荷部分1416包括服务子字段1452、持续时间子字段1456、发射器地址(TA)子字段1460、第二网络ID子字段1464和CRC子字段1468。在一些实施例和/或场景中,省略服务字段1452、TA子字段1460和/或第二网络ID子字段1464中的一个或者多个子字段。例如,当在SIG字段1412中包括服务字段1440时,省略服务字段1452。相似地,在包括服务字段1452时,从SIG字段1412省略服务字段1440。
在一个实施例中,TA子字段1460包括AID。
在一些实施例中,与由当前IEEE802.11标准指定的RA/TAMAC首部字段比较,缩短和/或压缩RA和/或TA子字段。
图27是根据一个实施例的用于生成缩短控制帧以用于无线传输的示例方法1500的流程图。在一个实施例中,方法1500由网络接口单元(比如网络接口16和/或网络接口27)实施。例如,网络接口被配置用于实施方法1500。在一些实施例中,方法1500用于生成以上关于图26讨论的控制帧或者另一适当缩短控制帧。
在块1504,生成SIG字段,其中SIG字段包括用于指示帧是否为控制帧的子字段。此外,生成SIG字段以包括帧控制字段、RA字段、第一网络ID字段、服务字段和CRC字段中的一个或者多个字段的任何组合。在一些实施例中,如以上关于图26讨论的那样生成SIG字段。
在块1508,生成PHY净荷部分,其中生成PHY净荷部分以包括服务子字段、持续时间子字段、TA子字段、第二网络ID子字段和CRC子字段中的一个或者多个子字段的任何组合。在一些实施例中,如以上关于图26讨论的那样生成PHY净荷部分。在一个实施例中,生成PHY净荷部分以省略至少RA字段。
在块1512,生成控制帧以包括(i)PHY前导码、(ii)具有在块1504生成的SIG字段的PHY首部,以及(iii)在块1508生成的PHY净荷部分。
在块1516,传输控制帧或者使控制帧被传输。
可以利用硬件、执行固件指令的处理器、执行软件指令的处理器或者其任何组合来实施以上描述的各种块、操作和技术中的至少一些块、操作和技术。各种块、操作和技术中的一些块、操作和技术也可以按照不同顺序(和/或并行)执行并且仍然实现希望的结果。在利用执行软件或者固件指令的处理器来实施时,可以在任何计算机可读存储器中(比如在磁盘、光盘或者其他存储介质上、在RAM或者ROM或者闪存、处理器、硬盘驱动、光盘驱动、带驱动等中)存储软件或者固件指令。同样地,可以经由任何已知或者希望的递送方法向用户或者***递送软件或者固件指令,该递送方法例如包括在计算机可读盘或者其他可运送的计算机存储机制上或者经由通信介质。通信介质通常在调制的数据信号(比如载波或者其他运送机制)中体现计算机可读指令、数据结构、程序模块或者其他数据。术语“调制的数据信号”意味着如下信号,该信号让它的特性中的一个或者多个特性以对信号中的信息进行编码这样的方式来设置或者改变。举例而言而非限制,通信介质包括有线介质(比如有线网络或者直接有线连接)和无线介质(比如声学、射频、红外线和其他无线介质)。因此,可以经由通信信道(比如电话线、DSL线、有线电视线、光纤线、无线通信信道、因特网等)向用户或者***递送软件或者固件指令(被视为与经由可运送的存储介质提供这样的软件相同或者可互换)。软件或者固件指令可以包括在由处理器执行时使处理器执行各种动作的机器可读指令。
当在硬件中实施时,硬件可以包括分立部件、集成电路、专用集成电路(ASIC)等中的一项或者多项。
尽管已经参照旨在于仅举例说明而未限制本发明的具体示例描述了本发明,但是可以对公开的实施例进行改变、添加和/或删除而未脱离本发明的范围。