在无线网络中执行多频带链路聚合的方法和装置与流程

文档序号:21831946发布日期:2020-08-11 22:06阅读:453来源:国知局
在无线网络中执行多频带链路聚合的方法和装置与流程

本公开一般涉及无线保真连接(wi-fi),并且更具体地,涉及在无线网络中执行多频带链路聚合的方法和装置。



背景技术:

许多地点提供wi-fi,以将启用wi-fi的设备连接到例如互联网的网络,启用wi-fi的设备包括个人计算机、视频游戏机、移动电话和设备、数码相机、平板电脑、智能电视、数字音频播放器等。wi-fi使启用wi-fi的设备能够经由无线局域网(wlan)无线访问internet。为了向设备提供wi-fi连接,wi-fi接入点在接入点(例如热点)信号范围内将射频wi-fi信号发送到启用wi-fi的设备。使用一组媒体访问控制(mac)和物理层(phy)规范(例如,电气与电子工程师协会(ieee)802.11协议)来实现wi-fi。

附图说明

图1是示例的第一设备和示例的第二设备之间的多频带链路聚合。

图2是图1的示例的链路聚合器的框图。

图3-9是表示示例的机器可读指令的流程图,该示例的机器可读指令可以被执行以实现图1和/或图2的示例的链路聚合器。

图10是根据一些示例的无线电架构的框图。

图11示出了根据一些示例的在图10的无线电架构中使用的示例的前端模块电路。

图12示出了根据一些示例的在图10的无线电架构中使用的示例的无线电ic电路。

图13示出了根据一些示例的在图10的无线电架构中使用的示例的基带处理电路。

图14是被构造为执行图3至图9的示例的机器可读指令以实现图1和/或图2的示例的链路聚合器的处理器平台的框图。

数字未按比例绘制。在可能的情况下,将在整个附图和随附的书面描述中使用相同的附图标记表示相同或相似的部分。

具体实施方式

许多地点(例如,家庭、办公室、咖啡店、饭店、公园、机场等)可以向启用wi-fi的设备(例如,站(sta))提供wi-fi,以将启用wi-fi的设备与internet或任何其他网络轻松地连接。这些地点可以提供一个或多个wi-fi接入点(ap),以在wi-fi信号(例如热点)的范围内将wi-fi信号输出到启用wi-fi的设备。wi-fiap被构造为使用wi-fi协议(例如,诸如ieee802.11)通过无线局域网(wlan)将启用wi-fi的设备无线连接到互联网。wi-fi协议是一种通过该协议,ap与sta通信以通过使sta向internet发送上行链路(ul)传输或从internet接收下行链路(dl)传输来提供对internet的访问的协议。

在一些示例中,无线设备(例如,ap和/或sta)使用预设的接口(例如,频率范围或被划分为信道的频带)进行通信。例如,802.11协议通常使用2.4千兆赫(ghz)、3.6ghz、4.9ghz、5ghz和5.9ghz频带中的一个或多个。例如,当ap将数据包发送到sta时,ap和sta同意使用特定接口(例如,2.4ghz)进行通信,并且ap使用经同意的接口将数据包发送到sta。在这样的示例中,当2.4ghz频带过载时,ap、sta或用户可以决定将通信切换到不同的接口(例如5ghz频带)。本文公开的示例聚合接口链路,以允许无线设备在不同的接口(例如,不同的频带和/或信道)上发送和/或接收数据包。本文公开的一些示例包括在不同接口上同时或几乎同时(例如,在重叠的持续时间期间)发送和/或接收数据包。例如,ap可以使用第一接口(例如,2.4ghz)发送第一组数据包,使用第二接口(例如,3.6ghz)发送第二组数据包,以及使用第三接口(例如5ghz)来发送第三组数据包,这三组数据包全部在重叠的持续时间内,从而增加了x倍的吞吐量(例如,其中x与所使用的接口的数量相对应)。附加地或可替代地,无线设备可以在两个或更多个不同的接口上传送相同的数据,以将数据包丢失的可能性降低x倍。

在常规数据传输中,当数据从第一无线设备(例如,发起者)发送到第二无线设备(例如,接收者)时,发起者从发起者的应用处理器接收数据包并将数据包存储在发送器缓冲器中。发起者使用发起者的无线电架构将发送器缓冲器中的数据发送到接收者设备。接收者将接收到的数据包存储在接收器缓冲器中。一旦接收到数据包,则接收者按顺序(例如,基于每个数据包的sn)将一些或所有数据包传递到下一mac层,并更新本地接收器缓冲器记录(例如,窗)。例如,如果接收到所有数据包,则接收者将所有数据包传递到下一mac层。在另一示例中,如果没有接收到所有数据包,则接收者可以从第一数据包开始按顺序向下一mac层发送第一组数据包。此外,接收者将与块确认(ack)(ba)位图相对应的块ack发送到发起者。ba位图对应于已接收到哪些数据包并将其存储在接收器缓冲器中。

常规发起者使用传输缓冲器控制协议来跟踪发送器缓冲器中的数据包,并且常规接收者使用接收到的重排序缓冲器控制协议和记分板(scoreboard)上下文控制协议来跟踪接收器缓冲器中的数据包。传输缓冲器控制和接收重排序缓冲器控制协议使用窗来跟踪相应缓冲器中的数据。记分板上下文控制协议使用窗来表示与哪些数据包已存储在接收器缓冲器中相对应的ba位图。例如,当与特定序列号相对应的数据存储在缓冲器中时,记分板上下文控制协议使用该窗来更新ba位图以标识该数据包已被存储。随着新数据包的传输,相应的窗被调整为专注于正在传输的当前组的数据包。ba位图可以被包括在发送到发起者的ack中。

为了使用多个接口执行链路聚合,将在不同接口上接收大量数据包。用于处理无线数据传输的常规缓冲协议将不起作用,因为接收者设备将无法处理如此大量的数据包,并且没有用于在不同接口上排列不同数据包的参考。另外,需要一种新的ack协议来处理来自多个接口的大量数据包。在某些示例中,可以增加块确认(ba)位图的大小,以匹配在所有接口上的接收者处接收到的数据包的总数。但是,这样的示例将ack开销增加了x(例如,所使用的接口的数量)倍。因此,这样的示例是不可缩放以用于大量接口的。在其他示例中,可以将附加序列号(例如,与全局序列号相对应)添加到数据包的报头以跟踪来自每个接口的数据包中的每个。但是,这样的示例还为每个传输的数据包引入了额外的开销,并将复杂性推到更高的mac层。其他示例可以包括使用两个用于传输和/或接收的独立的接口。例如,在发送器侧和/或接收器侧使用两个单独的mac地址,使得可以被确认的数据包的数量加倍。然而,这样的示例导致在mac的上层中接收到乱序的分组。因此,将需要向来自不同的mac地址对的记录器分组添加附加机制,从而增加了复杂性、成本和开销。

本文公开的示例通过将重排序缓冲器和接口中的特定确认机制(例如,记分板上下文控制协议)解耦来提供链路聚合。例如,一个重排序缓冲器可以由多个接口共享,并且每个接口将具有用于独立ba位图的独立记分板上下文。本文公开的示例包括用于更新独立的记分板上下文的协议以及在接收器侧的重排序缓冲器窗和在发送器侧的传输缓冲器窗,以跟踪在独立接口上的数据包的传输。本文公开的示例提供了在不增加ba位图大小或添加用于链路聚合的全局序列号的情况下使用多个接口的链路聚合。

图1示出了示例的第一设备100和示例的第二设备102之间的多频带链路聚合。图1包括示例的第一设备100、示例的第二设备102、示例的链路聚合器104、示例的应用处理器106以及示例的接口108、110、112。

图1的示例的设备100、102是能够在无线通信期间执行多频带链路聚合的无线设备。示例的设备100、102可以是ap、sta和/或任何其他类型的无线通信设备。例如,设备100、102可以是计算设备、便携式设备、移动设备、移动电话、智能电话、平板电脑、游戏系统、数字照相机、数字视频记录器、电视、机顶盒、电子书阅读器、路由器、调制解调器路由器和/或提供和/或利用与网络的无线连接的任何其他设备。路由器提供与sta的无线通信链路。路由器经由调制解调器通过有线连接访问网络。调制解调器路由器结合了调制解调器和路由器的功能。对于在此使用的示例,第一设备100被描述为发起者(例如,发送)设备,第二设备102被描述为接收者(例如,接收)设备。然而,示例的设备100、102中的任一个都可以作为发起者和/或接收者来操作。

示例的设备100、102包括图1的示例的链路聚合器104。取决于设备100、102是用作发送器还是接收器,链路聚合器104作为发起者或接收者促进多频带链路聚合。为了启动两个设备100、102之间的链路聚合,第一设备的示例的链路聚合器104和第二设备102的链路聚合器104基于第一设备和第二设备100、102的能力来协商链路聚合特征。链路聚合特征可以包括块ack请求配置、第一设备和第二设备100、102的公共缓冲器的大小、每个接口108、110、112的窗大小、链路聚合的接口特征、接口108、110、112的标识等。

当作为发起者操作时,示例的链路聚合器104可以使用与接收者设备的示例的接口108、110、112来促进数据包的多频带链路聚合。例如,第一设备100的链路聚合器104可以通过从示例的应用处理器106接收数据包并将数据包存储到公共传输缓冲器中来促进使用示例的接口108、110、112的数据包的传输。示例的链路聚合器104基于初始协商,使用发起者窗协议来跟踪数据包。例如,链路聚合器104控制发起者窗(例如,由窗的开始(winstarto)、窗的结束(winendo)和窗的大小(winsizeo)定义)以跟踪在传输缓冲器中数据包的传输,直到发起者验证接收者接收到数据包为止。当传输缓冲器中的数据改变时,链路聚合器104更新发起者窗值。在一些示例中,链路聚合器104在作为发起者时可以发送ba请求(bar)以征求与一个或多个位图相对应的立即ba响应。位图包括接收者希望在特定接口上接收的每个数据包的位值。例如,当在特定接口上接收到所有数据包时,接收者设备的链路聚合器103更新ba位图的值以对应于使用该接口的所有位的接收。当例如发起者向接收者发送数据包并且发起者未接收到ba响应时,发起者设备可能期望位图,链路聚合器104可以发送bar以征求与位图相对应的ba响应(例如,已被接收并存储在接收器缓冲器中的数据包的状态)。在一些示例中,链路聚合器104可以期望基于bar帧来更新接收者的窗。在其他示例中,链路聚合器104可能期望不基于bar帧来更新接收者的窗。因此,如下文进一步描述的,链路聚合器104可基于窗更新控制来标记bar帧以与窗更新或不进行窗更新相对应。

示例的链路聚合器104在作为接收者时,可通过从发起者接收示例的接口108、110、112上的数据包来促进使用示例的接口108、110、112的数据包的多频带链路聚合。例如,第一设备100的链路聚合器104可以基于初始协商通过使用不同的接口108、110、112将接收到的数据包存储到公共接收器侧的重排序缓冲器中来促进使用示例的接口108、110、112的数据包的接收。示例的链路聚合器104在将数据包存储在公共缓冲器中时,为每个接口108、110、112保持单独的ba位图。以此方式,与可以存储在公共缓冲器中的所有数量的数据包相比,每个接口108、110、112的ba位图可通过减少开销而保持较小。相应地,接收器侧重排序缓冲器可能大于ba位图。以此方式,只要重排序缓冲器可以存储这样的数据包,就可以在不同的接口中发送更多的数据包。可以在初始协商期间确定重排序缓冲器的大小。在一些示例中,链路聚合器104包括每个流量标识符(tid)的公共重排序缓冲器,以排除来自混合到同一缓冲器中的不同tid的数据包。

图1的示例的链路聚合器104使用与ba位图相对应的记分板上下文窗(例如,由在初始协商期间确定的记分板上下文开始(winstartr)、记分板上下文结束(winendr)和记分板上下文大小(winsizer)定义),ba位图基于数据包的顺序号(sn)来标识哪些数据包在每个接口108、110、112上已被接收并存储到接收器侧重排序缓冲器中。例如,如果将缓冲器的大小设置为存储768个数据包,则示例的链路聚合器104可以使用第一记分板窗/第一ba位图来对应于第一组256个数据包(例如,基于数据包的sn),第二记分板窗/第二ba位图对应于第二组256个数据包,以及第三记分板窗/第三ba位图对应于第三组256个数据包。sn可以被存储在数据包的报头中。链路聚合器104将在相应的接口108、110、112上的ba位图作为ba响应和/或bar响应的一部分发送到发起者。另外,链路聚合器104使用重排序缓冲器窗来跟踪已被接收但尚未传递到下一个mac处理(例如,在应用处理器106中)的缓冲后的数据包。重排序缓冲器窗包括指示期望在当前接收窗中接收到的最小sn的缓冲器窗开始(winstartb)、指示期望在当前接收窗中接收到得最高sn的缓冲器窗结束(winendb)和与接收缓冲器的大小相对应的缓冲器窗大小(winsizeb)(例如,在初始协商期间确定)。示例的链路聚合器104基于每个接收到的数据包、一个或多个数据包到下一mac层的传递和/或来自发起者的指令(例如,接收到的bar帧)来更新记分板上下文窗和缓冲器重排序窗。

图1的示例的应用处理器106对应于用于处理数据包的下一mac层。例如,发起者中的应用处理器106将数据包推送到示例的链路聚合器104以被临时存储在传输缓冲器中,直到所有数据包已经被成功发送到接收者或已经超时。应用处理器106包括每个数据包a的sn,以便接收者可以在接收时重排序数据缓冲器。接收者侧的应用处理器106在已经接收到数据包并将其存储在缓冲器中之后接收数据包。以这种方式,链路聚合器104可以将一组有序数据包发送到示例的应用处理器106,以在下一mac层中进行进一步处理。

图1的示例的接口108、110、112表示在不同频带、相同频带中的不同信道和/或其任何组合上的数据传输。例如,第一接口108可以对应于第一频带中的第一信道上的传输,第二接口110可以对应于第二频带中的第二信道上的传输,第三接口112可以对应于第一频带中的第三信道上的传输。虽然图1的示例的包括三个接口,但是可以使用来自任何信道和/或频带的任何数量的接口。示例的接口108、110、112可以(a)发送不同的数据包(例如,用于提高效率),(b)发送相同的数据包(例如,用于减少数据包丢失),或者(c)一些接口可以发送不同的数据包而其他接口可以传输相同的数据包(例如,为了提高效率和减少数据包丢失)。例如,第一设备100可以(例如,在重叠的时间帧期间或在不同的时间帧期间)(a)使用第一示例的接口108发送与sn0-255相对应的第一组数据包,(b)使用第二示例的接口110发送与sn256-511相对应的第二组数据包,以及(c)使用第三示例的接口112发送与sn0-255相对应的第一组数据包。以这种方式,通过使用第三接口112提供备份传输,将发送的数据包的总数加倍(例如,从256到512),并且与sn0-255相对应的数据包中的一个数据包的丢失概率减少。

图2是图1的示例的链路聚合器104的框图。示例的链路聚合器104包括示例的接收器/发送器200、示例的协商确定器202、示例的缓冲器控制器204、示例的窗确定器206、示例的bar确定器208和示例的缓冲器210。

图2的示例的接收器/发送器200与示例的应用处理器106和/或无线电架构(例如,图10的示例的无线电架构1000)接合。在一些示例中,接收器/发送器200是与应用处理器106和/或无线电架构通信(例如,接收和/或发送数据)的一个设备。在一些示例中,接收器/发送器200包括两个或更多个设备以与应用处理器106和/或无线电架构进行通信。示例的接收器/发送器200与无线电架构1000接合以向/从其他设备无线发送数据包和/或无线接收数据包。示例的接收器/发送器200将存储在示例的缓冲器210中的有序数据包发送到示例的应用处理器106,以将数据包传递到下一mac层以进行进一步处理。另外,当链路聚合器104用作发起者时,示例的接收器/发送器200从示例的应用处理器106接收数据包以存储在示例的缓冲器210中。

图2的示例的协商确定器202协商示例的设备100、102之间的多频带链路聚合的链路聚合的特征。例如,协商确定器202确定在传输期间将使用哪些接口,在每个接口中每个组将发送多少数据包,在每个接口中将发送哪些数据包,公共缓冲器的大小,每个接口的窗大小(例如,每个接口的winsizer和winsizeb)以及基于设备100、102的能力、频谱的状态和/或用户和/或制造倾向的bar特征。当协商确定器202以发起者模式操作时,协商确定器202向接收者设备发送请求以识别接收者设备的能力,并基于该响应来确定链路聚合特征。一旦发起者的协商确定器202确定了链路聚合特征,协商确定器202经由接收器/发送器200将特征发送到接收者设备进行确认。接收者设备的协商确定器202确定所确定的特征是满意的,并相应地发送响应。在一些示例中,接收者将反提议发送到发起者,并且发起者的示例的协商确定器202相应地调整所确定的链路特征。

图2的示例的缓冲器控制器204基于重排序缓冲器窗和存储在数据包的报头中的sn来确定如何将接收到的数据包存储到示例的缓冲器210中。重排序缓冲器窗与示例的缓冲器210的sn到寄存器的映射相对应。例如,如果缓冲器重排序窗对应于sn256-511,则保留缓冲器210的寄存器以对应于在256和511之间的每个sn的数据包。因此,当示例的缓冲器控制器204接收到数据包时,缓冲器控制器204处理该数据包以识别sn,并将该数据包存储在与识别到的sn相对应的缓冲器210的寄存器中。当数据包将被传递到下一mac层时,示例的缓冲器控制器204拉出所存储的数据包,并将数据包传递至示例的应用处理器106。

图2的示例的窗确定器206当在发起者模式下运行时,控制发起者窗,在接收者模式下运行时,控制记分板窗和重排序缓冲器窗。如上所述,发起者窗基于发送器缓冲器的大小,发送器缓冲器的大小可以基于初始协商来确定。当从用于传输的应用处理器106接收到新的数据包或者从接收者接收到用于发送器缓冲器中的数据包的确认时,示例的窗确定器206更新发起者窗。

图2的窗确定器206当以接收者模式操作时,通过基于存储在公共重排序缓冲器210中的每个接收到的数据包来更新ba位图并控制每个接口108、110、112的记分板窗,来控制每个接口108、110、112的ba位图。例如,当使用第一接口108接收到第一组数据包并将其存储在公共重排序缓冲器210中时,窗确定器206为与在第一接口108中接收到并存储在公共重排序缓冲器210中的数据包的sn相对应的每个接收到的数据包设置ba位图的位值。示例的窗确定器206同样为与在第二接口和第三接口110、112中接收到并存储在公共重排序缓冲器210中的数据包的sn相对应的每个接收到的数据包设置位。因此,每个接口108、110、112的ba位图对应于每个sn的位值,其中位值对应于是否使用对应的接口108、110、112接收到或未接收到与sn相对应的数据包并将其存储在公共重排序缓冲器210中(例如,用于接口的winsizer是与该接口相对应的ba位图的大小)。以这种方式,一个接口中的记分板/位图的操作不会干扰另一接口的记分板/位图的操作,因为公共重排序缓冲器210在接口108、110、112之间共享。示例的窗确定器206在接收到的数据包具有在计分板窗外部的sn时,更新计分板窗。在一些示例中,如下文所述,窗确定器206在接收到bar请求时(例如,当启用窗更新控件时)更新记分板窗。

另外,图2的示例的窗确定器206当在接收者模式下操作时,通过控制缓冲器重排序窗来跟踪存储在示例的缓冲器210中的数据包。例如,窗确定器206控制缓冲器重排序窗以对应于接收者当前期望接收的数据包的sn。以这种方式,当接收到数据包时,缓冲器控制器204可以基于与重排序缓冲器窗相对应的sn到寄存器的映射将数据包存储在示例的缓冲器210的寄存器中。当接收到具有在重排序缓冲器窗外部的sn的数据包和/或当存储在缓冲器中的数据包被传递到下一mac层时,示例的窗确定器206更新重排序缓冲器窗。在一些示例中,当接收到bar帧时,窗确定器206更新重排序缓冲器窗。例如,当接收到与窗更新相对应的bar帧时,示例的窗确定器206可以基于bar帧的起始sn(例如,最小sn)来更新重排序缓冲器窗。在一些示例中,当在预定义的(例如,在协商期间)主要接口上接收到bar帧时,bar帧对应于窗更新。在一些示例中,当接收到的bar帧包括窗更新字段时,bar帧对应于窗更新,该窗更新字段包括与窗更新相对应的位值。

图2的示例的bar确定器208控制与由示例的接收器/发送器200正在发送或接收的bar帧相对应的数据传输的操作。例如,当在发起者模式下操作时,示例的bar确定器208基于初始协商来确定是否启用窗更新控制。如果示例的bar确定器208确定启用窗更新控制并且接收到发送bar帧的指令,则bar确定器208基于指令(例如,来自示例的应用处理器106)确定窗更新是否是期望的以及确定如何指示是否在接收者更新窗(例如,基于bar帧的报头的专用帧或基于主要接口指定)。示例的bar确定器208基于bar特征来实施bar传输。当bar确定器208以接收者模式操作时,bar确定器208基于bar特征(例如,在初始协商期间达成一致)来确定是否更新接收者窗(例如,记分板窗和重排序缓冲器窗)。

虽然实现图1的链路聚合器104的示例的方式在图2示出,但是图2中示出的元件、过程和/或设备中的一个或多个可以以任何其他方式来组合、拆分、重新布置、省略、删除和/或实施。此外,示例的接收器/发送器200、示例的协商确定器202、示例的缓冲器控制器204、示例的窗确定器206、示例的bar确定器208、示例的缓冲器210和/或更一般地,图2的示例的链路聚合器104可以通过硬件、软件、固件和/或硬件,软件和/或固件的任何组合来实现。因此,例如,示例的接收器/发送器200、示例的协商确定器202、示例的缓冲器控制器204、示例的窗确定器206、示例的bar确定器208、示例的缓冲器210和/或更一般地,图2的示例的链路聚合器104可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑设备(pld)和/或现场可编程逻辑器件(fpld)来实现。当阅读本专利的任何装置或系统权利要求以涵盖纯软件和/或固件实现时,示例的接收器/发送器200、示例的协商确定器202、示例的缓冲控制器204、示例的窗确定器206、示例的bar确定器208,示例的缓冲器210和/或更一般地,图2的示例的链路聚合器104中的至少一个以此明确定义为包括具有软件和/或固件的非暂时性计算机可读存储设备或存储磁盘,例如存储器、数字通用磁盘(dvd)、光盘(cd)、蓝光磁盘等。更进一步地,图1的示例的链路聚合器104可以包括除了图2中所示的那些元件、过程和/或设备之外或作为其替代的一个或多个元件、过程和/或设备并且可以包括多于一个的示出的元件、过程和/或设备中的一些或全部。如本文中所使用的,短语“通信”,包括其变体,涵盖通过一个或多个中间组件的直接通信和/或间接通信,并且不需要直接的物理(例如,有线)通信和/或恒定的通信,而是此外,它还包括定期间隔、计划间隔、非周期性间隔和/或一次性事件的选择性通信。

表示用于实现图1的链路聚合器104的示例的硬件逻辑或机器可读指令的流程图在图3-图9中示出。机器可读指令可以是由处理器执行的程序或程序的一部分,该处理器例如是在下文结合图14讨论的示例的处理器平台1400中示出的处理器1412。程序可以用存储在非暂时性计算机可读存储介质中的软件来体现,该计算机可读存储介质例如为cd-rom、软盘、硬盘驱动器、dvd、蓝光磁盘或与处理器1412相关联的存储器,但是整个程序和/或其部分可以由处理器1412以外的设备可替代地执行和/或以固件或专用硬件来体现。此外,虽然参考图3至图9所示的流程图描述了示例的程序,但是可以可替代地使用实现示例的链路聚合器104的许多其他方法。例如,可以改变方框的执行顺序和/或可以改变、删除或组合所描述的一些方框。附加地或替代地,任何或所有方框可以由一个或多个硬件电路(例如,分立和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路等)实现,该硬件电路构造为在不执行软件或固件的情况下执行相应的操作。

如上所述,图3至图9的示例的过程可以使用存储在非暂时性计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现,该非暂时性计算机和/或机器可读介质例如是硬盘驱动器、闪存、只读存储器、压缩磁盘、数字多功能磁盘、高速缓存、随机存取存储器和/或在其中存储任何持续时间(例如,延长的时间段、永久地、短暂的实例、临时缓冲和/或信息的缓存)的信息的任何其他存储设备或存储磁盘。如本文所使用的,术语“非暂时性计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。

“包括”和“包含”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包括、包含、具有等)作为前序或在任何种类的权利要求陈述中时,应理解为在不超出相应权利要求或陈述的范围的情况下,可以存在其他要素、术语等。如本文中所使用的,当短语“至少”在例如权利要求的前序中用作过渡术语时,其以与术语“包含”和“包括”以相同的方式为开放式的。当例如以诸如a、b和/或c的形式使用“和/或”时,可以是指a、b、c的任何组合或子集,例如(1)仅a、(2)仅b、(3)仅c、(4)a与b、(5)a与c和(6)b与c。

图3示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图300以在无线网络中执行多频带链路聚合。虽然图3的流程图300结合图1的第一示例的设备100的示例的链路聚合器104来描述,但是指令可以使用任意数量的接口由任何类型的无线设备中的任何链路聚合器来执行。图3的流程图300结合作为发起者的第一示例的设备100和作为接收者的第二示例的设备102来描述。

在方框302,如下面结合图9进一步描述的,示例的协商确定器202与示例的第二设备102协商链路聚合特征。链路聚合特征定义哪些接口108、110、112将用于链路聚合,如何将接口108、110、112用于链路聚合,公共缓冲器(例如,发起者缓冲器和接收器缓冲器)的大小,每个接口的记分板窗大小,bar特征等。在方框304,示例的缓冲器控制器204基于协商将缓冲器210配置为成为两个或更多接口(例如,图1中的示例的接口108、110、112)的共享公共传输缓冲器。

在方框306,示例的窗确定器206基于协商来初始化winstarto和winendo。例如,窗确定器206可以将winstarto初始化为0,其对应于要发送的第一数据包的第一寄存器。因为窗确定器206基于发起者缓冲器的大小(例如,在协商期间确定)设置winsizeo,所以窗确定器206设置与winstarto和winsizeo之和相对应的winendo。在方框308,接收器/发送器200从用于到第二示例的设备102的传输的应用处理器106访问数据包。

在方框310处,窗确定器206确定一个或多个数据包是否与高于winendo的sn相对应。如果一个或多个数据包与比winendo高的sn相对应,则需要更新窗值以认定发起者窗外部的接收到的sn。如果示例的窗确定器206确定一个或多个数据包不与比winendo更高的sn相对应(方框310:否),则过程继续到方框314。如果示例的窗确定器206确定一个或多个数据包与高于winendo的sn相对应(方框310:是),则示例的窗确定器206调整与最高sn相对应的发起者窗(例如winstarto和winendo)(例如,使得sn在发起者窗内)(方框312)。

在方框314中,示例的缓冲器控制器204将接收到的数据包存储到示例的缓冲器210(例如,公共发起者缓冲器)中。示例的缓冲器控制器204基于发起者缓冲器窗(例如,与发起者缓冲器窗相对应的sn至寄存器映射器)将数据包存储在示例的缓冲器210中。在方框316,示例的接收器/发送器200根据初始协商在两个或更多个接口上传输数据包。如上所述,示例的接收器/发送器200将在与sn相对应的接口(例如,与初始协商相对应)中发送的数据包传递到图10的无线电架构1000。在方框318,示例的接收器/发送器200经由无线电架构1000从第二示例的设备102接收包括ba位图的ba。如上所述,ba位图与在相应的接口上接收到哪些数据包相对应。因此,如果第一示例的设备100正在三个不同的接口上接收不同的三组数据包,则接收器/发送器200将从不同的接口接收与在各个接口上接收到的数据包相对应的三个ba位图。

在方框320处,示例的窗确定器206基于已接收到的前端数据包(例如,存储在缓冲器210中的与最低sn相对应的数据包)来更新winstarto和winend。例如,如果已经发送了对应于sn0-255的256个数据包,并且仅接收了前100个数据包(例如,基于ba位图),则示例的窗确定器206可以将winstarto更新到100(例如,与接收到的前100个数据包相对应),并且基于更新后的winstarto和winsizeo来更新winendo。如果尚未接收到与最低sn相对应的数据包,则示例的窗确定器206可以不更新发起者窗值。

在方框322中,示例的缓冲器控制器204确定是否已在接收者设备(例如,示例的第二设备102)处接收到所有发送的数据包。例如,如果示例的接收器/发送器200接收到标识所有传输的数据包都已被接收的ba位图,则缓冲器控制器204确定在接收者设备处接收到所有数据包。然而,如果示例的接收器/发送器200接收到与丢失的数据包相对应的ba位图(例如,在与丢失的数据包相对应的位图的位置处由位值('0')表示),或者如果示例的接收器/发送器200没有接收到期望的ba位图之一,则示例的缓冲器控制器205确定并非所有数据包都已经在接收者设备处被接收。如果示例的缓冲器控制器204确定已在接收者设备处接收到所有数据包(方框322:是),则过程继续至方框328。如果示例的缓冲器控制器204确定并非所有数据包都已经在接收者设备处被接收(方框322:否),示例的缓冲器控制器204确定重试次数是否已经超过重试阈值(方框324)。重试阈值可以是基于用户倾向、制造倾向和/或初始协商的预定数量。

如果示例的缓冲器控制器204确定重试次数未超过重试阈值(方框324:否),则接收器/发送器200在一个或多个接口上发送与丢失的数据相对应的存储在示例的缓冲器210中的数据包(方框326)。例如,接收器/发送器200可以在最初发送数据包的接口上发送丢失的数据包和/或可以在其他接口上发送丢失的数据包以增加成功发送丢失的数据包的可能性。然后,过程返回到方框318,直到在接收者设备处已接收到所有数据包或重试次数已超过阈值为止。如果示例的缓冲器控制器204确定重试次数已经超过重试阈值(方框324:是),则示例的接收器/发送器200访问来自应用处理器的附加数据包(方框328)。在方框330,示例的窗确定器206基于附加数据包的sn来更新winstarto和winendo,并且过程返回到方框310。

图4示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图400以在无线网络中发送bar帧。虽然图4的流程图400结合图1的第一示例的设备100的示例的链路聚合器104来描述,但是指令也可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图4的流程图400结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者来进行描述。

在方框402处,示例的接收器/发送器200接收指令(例如,来自示例的应用处理器106)以将bar帧发送到接收者设备(例如,第二示例的设备102)。在方框404处,示例的bar确定器208确定是否为bar传输启用窗更新控制。如上所述,窗更新控制对应于启用选项以响应于从发起者接收到bar帧而在接收者侧允许或阻止对缓冲器窗和/或记分板窗更新进行重排序。如果示例的bar确定器208确定没有为bar传输启用窗更新控制(方框404,否),则示例的接收器/发送器200经由图10的无线电架构1000将bar帧发送至第二示例的设备102(例如,接收者设备)(方框406),并且过程继续到方框422。如果示例的bar确定器208确定为bar传输启用窗更新控制(方框404,是),则示例的bar确定器208确定窗更新是否基于位值(例如,在bar的报头中的帧的位值)或主要接口指定(方框408),主要接口指定在示例的设备100、102之间的初始协商期间确定。

如果示例的bar确定器208确定窗更新是基于位值的(方框408:bitvalue),则示例的bar确定器208基于来自示例的应用处理器106的指令,确定是否希望在接收者设备上进行窗更新(方框410)。如果示例的bar确定器208确定不期望进行窗更新(方框410:否),则示例的bar确定器208指示示例的接收器/发送器200发送bar(例如,经由无线电架构1000),该bar在bar的报头中的窗更新字段中包括与无更新相对应的位值(例如,‘0’)(方框412)。如果示例的bar确定器208确定期望进行窗更新(方框410:是),则示例的bar确定器208指示示例的接收器/发送器200发送bar(例如,经由无线电架构1000),该bar在bar的报头中的窗更新字段中包括与更新相对应的位值(例如,‘1’)(方框414)。以这种方式,示例的第二设备102(例如,接收者设备)可以基于所指示的位值来确定是否更新窗。

如果示例的bar确定器208确定窗更新是基于主要接口的(方框408:primaryinterface),则示例的bar确定器208基于来自示例的应用处理器106的指令,确定是否期望在接收者设备上进行窗更新(方框416)。如果示例的bar确定器208确定不期望进行窗更新(方框416:否),则示例的bar确定器208指示示例的接收器/发送器200在次要接口上发送示例的bar(例如,经由无线电架构1000)(方框418)。基于示例的设备100、102的初始协商来指定哪些接口108、110、112是主要接口以及哪些接口108、110、112是次要接口。如果示例的bar确定器208确定期望进行窗更新(方框416:是),则示例的bar确定器208指示示例的接收器/发送器200在主要接口上发送bar(例如,经由无线电架构1000)(方框420)。以这种方式,示例的第二设备102(例如,接收者设备)可以基于哪个接口(例如,主要或次要)接收到bar来确定是否更新窗。在方框422处,示例的接收器/发送器200经由示例的无线电架构1000从每个接口接收包括来自接收者设备的ba位图的ba。

图5示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图500以在无线网络中执行多频带链路聚合。虽然图5的流程图500结合图1的第二示例的设备102的示例的链路聚合器104进行描述,但是指令也可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图5的流程图500结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者来进行描述。

在方框502处,如下文结合图9进一步描述的,示例的协商确定器202与发起者设备(例如示例的第一设备100)协商链路聚合特征。在方框504处,基于协商,示例的缓冲器控制器204将缓冲器210配置为成为两个或更多个接口(例如,图1的示例的接口108、110、112)的共享公共接收器缓冲器。

在方框506处,示例的窗确定器206基于初始协商来初始化winstartr、winendr、winstartb和winendb。如上所述,记分板窗基于在每个相应接口上接收到的数据包的sn,对应于示例的缓冲器210中存储的相应数据包的状态。例如,第一记分板窗可以对应于在第一接口上接收的第一组数据包的ba位图,第二记分板窗可以对应于在第二接口上接收到的第二组数据包的ba位图,等等。可以基于初始协商来确定winsizeb和winsizer。因此,一旦窗确定器206为每个ba位图确定了winstartr,则窗确定器206基于sizer确定winendr(例如,winendr对应于winstartr和winsizer之和)。winstartb、winendb和winsizeb基于公共接收器缓冲器210的大小。

在方框508,示例的接收器/发送器200确定是否在示例的接口108、110、112中的任何一个处已经接收到bar。如果示例的接收器/发送器200确定在示例的接口108、110、112的任何一个接口上已接收到bar(方框508:是),则该过程继续进行到图6的流程图(例如a)。如果示例的接收器/发送器200确定在示例的接口108、110、112中的任何一个接口上都未接收到bar(方框508:否),则示例的接收器/发送器200确定是否在接口108、110、112中的任何一个接口上已经接收到数据包(方框510)。如果示例的接收器/发送器200确定在示例的接口108、110、112中的任何一个接口上已经接收到数据包(方框510:是),则过程继续进行到图7的流程图(例如‘b’)。如果示例的接收器/发送器200确定未在示例的接口108、110、112中的任何一个接口上接收到数据包(方框510:否),则过程返回至方框508,直到接收到数据为止。

图6示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图600以在无线网络中执行多频带链路聚合。虽然图6的流程图600结合图1的第二示例的设备102的示例的链路聚合器104进行描述,但是指令可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图6的流程图600结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者来进行描述。

在方框602处,示例的bar确定器208确定是否启用窗更新控制。可以基于示例的设备100、102之间的初始协商来启用窗更新控制。如果示例的bar确定器208确定未启用窗更新控制(方框602:否),则过程继续至方框610。如果示例的bar确定器208确定启用窗更新控制(方框602:是),则示例的bar确定器208确定窗更新是基于位值还是基于主要接口指定(方框604)。如果示例的bar确定器208确定基于主要接口指定来进行窗更新(方框604:primaryinterface),则示例的bar确定器208确定是否在主要接口上接收到bar(方框606)。如上所述,基于初始协商,指定哪些接口与主要接口相对应,哪些接口与次要接口相对应。如果示例的bar确定器208确定未在主要接口上接收到bar(方框606:否),则过程继续至方框618。如果示例的bar确定器208确定在主要接口上接收到bar(方框606:是),则过程继续到方框610。

如果示例的bar确定器208确定窗更新基于bar的位值(方框604:bitvalue),则示例的bar确定器208确定窗更新控制位的值是否对应于窗更新(方框608)。窗更新控制位是指示是否期望窗更新的bar的报头的位。如果示例的bar确定器208确定窗更新控制位的值不与窗更新相对应(方框608:否),则过程继续到方框618。如果示例的bar确定器208确定窗更新控制位的值与窗更新相对应(方框606:是),则示例的窗确定器206更新与bar的起始sn(ssn)相对应的winstartb和winendb。例如,窗确定器206将winstartb设置为ssn,并将winendb设置为winstartb+winsizeb-1。可以在bar的字段中指示ssn。在方框612,示例的缓冲器控制器204通过将数据包发送到示例的应用处理器106,将示例的缓冲器210中存储的与低于更新后的winstartb的sn相对应的数据包向上传递到下一mac层。另外,缓冲器控制器204可以将存储在示例的缓冲器210中的数据包按照从sn=winstartb开始的递增sn并且依次序地处理的顺序向上传递到下一mac层,直到没有用于下一个次序的sn的缓冲的数据包为止。

在方框614,示例的窗确定器206更新与示例的缓冲器210的更新相对应的winstartb、winstartr、winendb和winendr。例如,窗确定器206将winstartb更新为最后传递的数据包的sn加1,并且将winendb更新为与更新后的winstartb相对应。同样,示例的窗确定器206更新winstartr和winendr以与更新后的重排序缓冲器窗相对应。在方框616,窗确定器206更新ba位图以与更新后的记分板窗相对应。例如,窗确定器206更新各个ba位图以与更新后的缓冲器210相对应(例如,与已经传递了哪些数据包以及哪些数据包保留在示例的缓冲器210中相对应)。在方框618,示例的接收器/发送器200经由示例的无线电架构1000使用示例的接口108、110、112来发送与每个接口/记分板的ba位图相对应的ba。

图7示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图700以在无线网络中执行多频带链路聚合。虽然图7的流程图700结合图1的第二示例的设备102的示例的链路聚合器104进行描述,但是指令可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图7的流程图700结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者进行描述。

对于每个接收到数据包的接口(方框704-720)以及对于在每个接口中接收到的每个数据包(方框706-720),示例的窗确定器206确定当前接收到的数据包的sn是否在缓冲器重排序窗内(例如,winstartb≤sn≤winendb)(方框706)。如果示例的窗确定器206确定当前接收到的数据包的sn不在缓冲器重排序窗内(方框706:否),则过程继续到图8的流程图(‘c’)。如果示例的窗确定器206确定当前接收到的数据包的sn在缓冲器重排序窗内(方框706:是),则示例的缓冲器控制器204确定与该sn相对应的数据包是否已经被存储在示例的缓冲器210中(方框708)。

如果示例的1缓冲器控制器204确定与sn相对应的数据包已经被存储在示例的缓冲器210中(方框708:是),则示例的缓冲器控制器204丢弃该数据包(方框710)。如果示例的缓冲器控制器204确定与sn相对应的数据包尚未被存储在示例的缓冲器210中(方框708:否),则示例的缓冲器控制器204将数据包存储到与sn相对应的缓冲器位置中(方框712)。在方框714,示例的窗确定器206指示在与接收到数据包的接口相对应的ba位图中,接收到与sn相对应的数据。

在方框716,示例的缓冲器控制器204确定是否应当将存储在示例的缓冲器210中的数据(例如,缓冲器数据)传递到下一mac层(例如,示例的应用处理器106)。缓冲器控制器204基于从最低sn开始的顺序存储在示例的缓冲器210中的数据包的阈值量,确定应当将缓冲器数据传递到下一mac层。如果存在多于阈值量的从最低sn开始存储在缓冲器210中的数据包,则示例的缓冲器控制器204将这样的数据包传递到下一mac层。如果示例的缓冲器控制器204确定不应将缓冲器数据传递到下一mac层(方框716:否),则过程继续到方框716。如果示例的缓冲器控制器204确定应将缓冲器数据传递到下一mac层(方框716:是),缓冲器控制器204通过将数据包传递到示例的应用处理器106,将缓冲器210中的有序数据传递到下一mac层(方框718)。

在方框720,示例的窗确定器206基于更新后的缓冲器210更新winstartb,winendb,winstartrs和winendrs。例如,窗确定器206将winstartb更新为最后传递的数据包的sn加1,并且更新winendb以与更新后的winstartb相对应。同样,示例的窗确定器206更新winstartr和winendr以与更新后的重排序缓冲器窗相对应。在方框722,接收器/发送器200使用相应的接口108、110、112发送与ba位图相对应的ba。在方框722之后,过程返回到图5的方框508。

图8示出了表示可以由图1的示例的链路聚合器104执行的示例的机器可读指令的示例的流程图800以在无线网络中执行多频带链路聚合。虽然图8的流程图800结合图1的第二示例的设备102的示例的链路聚合器104进行描述。但是该指令也可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图8的流程图800结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者进行描述。

在方框802处,示例的缓冲器控制器204确定与sn相对应的数据包是否已经被存储在示例的缓冲器210中。如果示例的缓冲器控制器204确定与sn相对应的数据包已经被存储在示例的缓冲器210中(方框802:是),则示例的缓冲器控制器204丢弃数据包(方框804)。如果示例的缓冲器控制器204确定与sn相对应的数据包未存储在示例的缓冲器210中(方框802:否),则示例的缓冲器控制器204将数据包存储至与sn相对应的缓冲器位置(方框806)中。

在方框808,示例的窗确定器206调整示例的winstartb和示例的winendb。例如,窗确定器206可以将winendb设置为等于接收到的数据包的sn,并且将winstartb设置为等于winendb-winsizeb+1。在方框810处,示例的窗确定器206清除与从winendr到sn-1的sn相对应的ba位图的位(例如,将位的值设置为与未接收到相对应)。在方框812,示例的窗确定器206调整与更新后的重排序缓冲器窗相对应的winstartr和winendr。在方框814,示例的窗确定器206指示在与接收到数据包的接口相对应的ba位图中接收到与sn相对应的数据。在方框814之后,过程返回到图7的方框716。

如上文结合图3的方框302和图5的方框502所描述的,图9示出了示例的流程图302、502。示例的流程图302表示可由图1的示例的第一设备100的示例的链路聚合器104执行的示例的机器可读指令以与接收设备(例如,示例的第二设备102)协商链路聚合特征。示例的流程图502表示可以由图1的示例的第二设备102的示例的链路聚合器104执行的示例的机器可读指令以与发起者设备(例如,示例的第一设备100)协商链路聚合特征,虽然可以结合图1的第一示例的设备100的示例的链路聚合器104来描述流程图302,并且结合图1的第二示例的设备102的示例的链路聚合器104来描述流程图502,但是指令也可以由任何类型的无线设备中的任何链路聚合器使用任意数量的接口来执行。图9的流程图302、502结合第一示例的设备100作为发起者并且第二示例的设备102作为接收者进行描述。

在方框902处,第一设备100的示例的接收器/发送器200向示例的第二设备102发送能力请求。能力请求对应于对第二设备102的能力的请求(例如,用于通信的可用接口、可用的总缓冲器空间等)。在方框904,第二设备102的示例的接收器/发送器200发送包括第二设备102的能力的能力响应。

在方框906处,第一设备100的示例的协商确定器202基于该响应来确定接收设备的能力。在方框908处,第一设备100的示例的协商确定器202基于设备100、102的能力来确定接口特征。例如,协商确定器202基于可用于设备100、102两者的接口来确定哪些接口用于传输。在一些示例中,协商确定器202可以基于其他属性,诸如例如响应的信号强度和/或网络状况来确定接口特征。例如,如果特定接口具有大量业务或是嘈杂的,则示例的协商确定器202可以选择两个接口来发送相同数据以减小丢失/失去数据包的概率。

在方框910处,第一设备100的示例的协商确定器202基于示例的设备100、102的能力来确定在所有接口上每次数据传输的数据包的最大数量。每次传输发送的数据包的最大总数量与公共缓冲器(例如,第一设备100和第二设备102上的缓冲器210)的大小相对应。例如,如果第一设备100每次传输要发送最大1280个数据包(例如,五个不同接口上256个数据包),则协商确定器202确定缓冲器216足够大以在发起者设备和接收者设备两个设备上存储1280个数据包。在方框912,第一设备100的示例的协商确定器202基于示例的设备100、102的能力来确定每个接口要发送的数据包的最大数量。例如,协商确定器202可以以传输期间使用的接口的总数均等地划分每次传输的数据包的最大总数量。在一些示例中,协商确定器202可以为每个接口选择不同的最大数量的数据包。例如,如果特定接口过载,则协商确定器202可以在过载接口上发送更少的数据包。

在方框914处,第一设备100的示例的协商确定器202基于示例的设备100、102的能力来确定bar特征。如上所述,bar特征与是否启用窗更新控制配置相对应。窗更新控制配置与接收者的窗是否将在接收到bar帧时更新相对应。bar特征可以进一步包括哪些接口与主要接口相对应,哪些接口与次要接口相对应和/或哪些位值与bar窗更新相对应。在方框916,第一设备100的示例的接收器/发送器200将确定后的链路聚合特征发送到示例的第二设备102。

在方框918,第二设备102的示例的协的商确定器202确定接收到的链路聚合特征是否是满意的。例如,如果协商确定器202能够基于接收到的链路聚合特征来促进通信,则协商确定器202确定链路聚合特征是满意的。如果协商确定器202不能基于接收到的链路聚合特征来实施通信,或者链路聚合特征与协商确定器202的偏好(preferences)不匹配,则协商确定器202确定对链路聚合特征不满意。如果示例的协商确定器202确定对链路聚合特征满意(方框918:是),则第二设备102的接收器/发送器200发送与对链路聚合特征的同意相对应的响应(方框920)。如果示例的协商确定器202确定对链路聚合特征不满意(方框918:否),则协商确定器202基于对链路聚合特征的调整确定链路聚合反提议(例如,将使链路聚合特征更令人满意的调整)(方框922)。在方框924处,第二设备102的示例的接收器/发送器200发送用于与反提议相对应的协商的响应。在第二设备发送响应之后,过程返回到图5的方框504。在一些示例中,第一设备100和第二设备102可以继续发送反提议,直到在返回到图5的方框504之前在两个设备100、102之间达成同意为止。

在方框926处,第一设备100的示例的协商确定器202确定来自第二设备102的响应是否与同意相对应。如果示例的协商确定器202确定该响应与同意相对应(方框926:是),则过程返回到图3的方框304。在一些示例中,第一设备100和第二设备102可以继续发送反提议,直到在返回到图3的方框304之前在两个设备100、102之间达成同意为止。如果示例的协商确定器202确定响应与同意相对应(方框926:否)(例如,响应与反提议相对应),则第一设备100的示例的协商确定器202基于反提议调整链路聚合特征(方框928),并且过程返回到图3的方框304。在一些示例中,第一设备100和第二设备102可以继续发送反提议,直到在返回到图3的方框304之前在两个设备100、102之间达成同意为止。

图10是根据一些实施例的可以在图1的示例的第一设备100和示例的第二设备102中实现的无线电架构1000的框图。无线电架构1000可以包括无线电前端模块(fem)电路1004a-b、无线电ic电路1006a-b和基带处理电路1008a-b。所示的无线电架构1000包括无线局域网(wlan)功能和蓝牙(bt)功能两者,然而实施例不限于此。在本公开中,“wlan”和“wi-fi”可互换地使用。

fem电路1004a-b可以包括wlan或wi-fifem电路1004a和蓝牙(bt)fem电路1004b。wlanfem电路1004a可以包括接收信号路径,该接收信号路径包括配置为对从一个或多个天线1001接收的wlanrf信号进行操作,以放大接收到的信号并将接收到的信号的放大版本提供到wlan无线电ic电路1006a以进行进一步处理的电路。btfem电路1004b可以包括接收信号路径,该接收信号路径可以包括配置为对从一个或多个天线1001接收的btrf信号进行操作以放大接收到的信号并将接收到的信号的放大版本提供到bt无线电ic电路1006b以进行进一步处理的电路。fem电路1004a还可包括发射信号路径,该发射信号路径可以包括配置为放大由无线电ic电路1006a提供的wlan信号以用于通过一个或多个天线1001进行无线传输的电路。另外,fem电路1004b还可包括发射信号路径,该发射信号路径可以包括配置成放大由无线电ic电路1006b提供的bt信号以用于通过一个或多个天线进行无线传输的电路。在图10的实施例中,虽然示出了fem1004a和fem1004b彼此不同,但是实施例不限于此,并且在实施例的范围内包括使用包括用于wlan信号和bt信号两者的发送路径和/或接收路径的fem(未示出),或者使用其中至少一些fem电路共享用于wlan信号和bt信号两者的发送和/或接收信号路径的一个或多个fem电路。

所示的无线电ic电路1006a-b可以包括wlan无线电ic电路1006a和bt无线电ic电路1006b。wlan无线电ic电路1006a可以包括接收信号路径,该接收信号路径可以包括对从fem电路1004a接收到的wlanrf信号进行下变频并将基带信号提供到wlan基带处理电路1008a的电路。bt无线电ic电路1006b进而可以包括接收信号路径,该接收信号路径可以包括对从fem电路1004b接收到的btrf信号进行下变频并且将基带信号提供到bt基带处理电路1008b的电路。wlan无线电ic电路1006a还可以包括发射信号路径,该发射信号路径可以包括对由wlan基带处理电路1008a提供的wlan基带信号进行上变频并将wlanrf输出信号提供到fem电路1004a以用于随后由一个或多个天线1001进行无线传输的电路。bt无线电ic电路1006b还可以包括发射信号路径,该发射信号路径可以包括对由bt基带处理电路1008b提供的bt基带信号进行上变频并且将btrf输出信号提供到fem电路1004b以用于随后由一个或多个天线1001进行无线传输的电路。在图10的实施例中,虽然无线电ic电路1006a和1006b被示为彼此不同,但是实施例不限于此,并且在实施例的范围内包括使用包括用于wlan信号和bt信号两者的发送信号路径和/或接收信号路径的无线电ic电路(未示出),或者使用其中至少一些无线电ic电路共享用于wlan信号和bt信号两者的发送和/或接收信号路径的一个或多个无线电ic电路。

基带处理电路1008a-b可以包括wlan基带处理电路1008a和bt基带处理电路1008b。wlan基带处理电路1008a可包括存储器,诸如例如,wlan基带处理电路1008a的快速傅里叶变换或逆快速傅里叶变换块中的一组ram阵列(未示出)。wlan基带电路1008a和bt基带电路1008b中的每一个还可以包括一个或多个处理器和控制逻辑,该一个或多个处理器和控制逻辑处理从无线电ic电路1006a-b的对应wlan或bt接收信号路径接收到的信号,并且还生成用于无线电ic电路1006a-b的发射信号路径的相应的wlan或bt基带信号。基带处理电路1008a和1008b中的每一个可以进一步包括物理层(phy)和媒体访问控制层(mac)电路,并且还可以与链路聚合器104接合,以用于产生和处理基带信号并用于控制无线电ic电路1006a-b的操作。

仍然参照图10,根据所示出的实施例,wlan-bt共存电路1013可以包括在wlan基带电路1008a和bt基带电路1008b之间提供接口的逻辑,以启用需要wlan和bt共存的用例。另外,可以在wlanfem电路1004a和btfem电路1004b之间提供开关1003,以允许根据应用需要在wlan和bt无线电之间进行切换。另外,虽然将天线1001描绘为分别连接到wlanfem电路1004a和btfem电路1004b,但是实施例在它们的范围内包括在wlan和btfem之间共享一个或多个天线,或者提供连接到fem1004a或fem1004b中的每一个的多于一个的天线。

在一些实施例中,前端模块电路1004a-b、无线电ic电路1006a-b和基带处理电路1008a-b可以设置在例如无线电路卡1002的单个无线电卡上。在其他实施例中,一个或多个天线1001、fem电路1004a-b和无线电ic电路100a-b可以设置在单个无线电卡上。在一些其他实施例中,无线电ic电路1006a-b和基带处理电路100a-b可设置在单个芯片或例如集成电路(ic)1012的ic上。

在一些实施例中,无线无线电路卡1002可以包括wlan无线电卡并且可以被配置用于wi-fi通信,但是实施例的范围在这方面不受限制。在这些实施例中的一些实施例中,无线电架构1000可以被配置为在多载波通信信道上接收和发送正交频分复用(ofdm)或正交频分多址(ofdma)通信信号。ofdm或ofdma信号可以包括多个正交子载波。

在这些多载波实施例的一些中,无线电架构1000可以是诸如无线接入点(ap)、基站或包括wi-fi设备的移动设备之类的wi-fi通信站(sta)的一部分。在这些实施例的一些中,无线电架构1000可以配置为根据特定的通信标准和/或协议来发送和接收信号,这些通信标准和/或协议诸如是包括802.11n-2009、ieee802.11-2012、ieee802.11-2016、802.11-2009、802.11ac、802.11ah、802.11ad、802.11ay和/或802.11ax标准和/或wlan的建议规范的电气和电子工程师协会(ieee)标准中的任何标准,但是实施例的范围是在这方面不受限制。无线电架构1000还可以适合于根据其他技术和标准来发送和/或接收通信。

在一些实施例中,无线电架构1000可以配置用于根据ieee802.11ax标准的高效wi-fi(hew)通信。在这些实施例中,无线电架构1000可以配置为根据ofdma技术进行通信,但是实施例的范围在这方面不受限制。

在一些其他实施例中,无线电架构1000可以配置为使用诸如扩频调制(例如,直接序列码分多址(ds-cdma)和/或跳频码分多址(fh-cdma))、时分多路复用(tdm)调制和/或频分多路复用(fdm)调制的一种或多种其他调制技术来发送和接收传输的信号,但是实施例的范围在此方面不受限制。

在一些实施例中,如图10进一步所示,bt基带电路1008b可以符合诸如蓝牙、蓝牙12.0或蓝牙10.0或蓝牙标准的任何其他迭代的蓝牙(bt)连接标准。在包括例如图10所示的bt功能的实施例中,无线电架构1000可以配置为建立面向bt同步连接(sco)的链路和/或bt低能耗(btle)的链路。在一些包括功能的实施例中,无线电架构1000可以配置为建立用于bt通信的扩展sco(esco)链路,但是实施例的范围在这方面不受限制。在这些包括bt功能的实施例中的一些实施例中,无线电架构可以配置为参与bt异步无连接(acl)通信,但是实施例的范围在这方面不受限制。在一些实施例中,如图10中所示,bt无线电卡和wlan无线电卡的功能可以组合在例如单个无线电路卡1002的单个无线电卡上,但是实施例不限于此,并且在实施例的范围内包括独立的wlan无线电卡和bt无线电卡。

在一些实施例中,无线电架构1000可以包括其他无线电卡,诸如被配置用于蜂窝的蜂窝无线电卡(例如,诸如lte、高级lte或7g通信的5gpp)。

在一些ieee802.11实施例中,可以将无线电架构1000配置为在各种信道带宽上进行通信,上述各种信道带宽包括具有大约900mhz、2.4ghz、5ghz的中心频率以及大约2mhz、4mhz、5mhz、5.5mhz、6mhz、8mhz、10mhz、20mhz、40mhz,80mhz(具有连续带宽)或80+80mhz(160mhz)(具有非连续带宽)的带宽。在一些实施例中,可以使用920mhz的信道带宽。但是实施例的范围不限于上述中心频率。

图11示出了根据一些实施例的wlanfem电路1004a。虽然图11的示例的结合wlanfem电路1004a来进行描述,但是也可以结合示例的btfem电路1004b(图10)来描述图11的示例的,而且其他电路配置也可以是合适的。

在一些实施例中,fem电路1004a可以包括tx/rx开关1102,以在发射模式和接收模式操作之间进行切换。fem电路1004a可以包括接收信号路径和发送信号路径。fem电路1004a的接收信号路径可以包括低噪声放大器(lna)1106,以放大接收到的rf信号1103并将放大的接收到的rf信号1107作为输出提供(例如,提供到无线电ic电路1006a-b(图10))。电路1004a的发射信号路径可以包括功率放大器(pa),以放大输入rf信号1109(例如,由无线电ic电路1006a-b提供),电路1004a的发射信号路径还包括一个或多个滤波器1112(例如带通滤波器(bpf)、低通滤波器(lpf)或其他类型的滤波器),以生成rf信号1115,用于经由示例的双工器1114进行后续传输(例如,通过一个或多个天线1001(图10))。

在用于wi-fi通信的一些双模式实施例中,fem电路1004a可配置为在2.4ghz频谱或12ghz频谱中操作。在这些实施例中,如图所示,fem电路1004a的接收信号路径可以包括接收信号路径双工器1104,以从每个频谱中分离信号,并且为每个频谱提供单独的lna1106。在这些实施例中,fem电路1004a的发射信号路径还可包括功率放大器1110和滤波器1112,例如用于每个频谱的bpf、lpf或另一类型的滤波器,fem电路1004a的发射信号路径还包括发射信号路径双工器1104以提供将不同频谱中的一个频谱的信号提供到单个传输路径上,以便随后通过一个或多个天线1001(图10)进行传输。在一些实施例中,bt通信可以利用2.4ghz信号路径,并且可以利用与用于wlan通信的fem电路相同的fem电路1004a。

图12示出了根据一些实施例的无线电ic电路1006a。无线电ic电路1006a是可以适合用作wlan或bt无线电ic电路1006a/1006b(图10)的电路的一个示例,但是其他电路配置也可以是适合的。可替代地,图12的示例的可以结合示例的bt无线电ic电路1006b来描述。

在一些实施例中,无线电ic电路1006a可以包括接收信号路径和发送信号路径。无线电ic电路1006a的接收信号路径可以至少包括混频器电路1202(例如下变频混频器电路)、放大器电路1206和滤波器电路1208。无线电ic电路1006a的发射信号路径可以包括至少滤波器电路1212和混频器电路1214(例如上变频混频器电路)。无线电ic电路1006a还可以包括合成器电路1204,用于合成由混频器电路1202和混频器电路1214使用的频率1205。根据一些实施例,混频器电路1202和/或1214可以各自配置为提供直接转换功能。与标准的超外差混频器电路相比,上述类型的电路呈现出更简单的架构,并且例如通过使用ofdm调制,可以减轻由其引起的任何闪烁噪声。图12仅示出了无线电ic电路的简化版本,并且,虽然未示出,但是可以包括其中每个所描绘的电路可以包括多于一个组件的实施例。例如,每个混频器电路1214可以包括一个或多个混频器,并且每个滤波器电路1208和/或1212可以包括一个或多个滤波器,诸如根据应用需要可以是一个或多个bpf和/或lpf。例如,当混频器电路是直接转换的类型时,每个混频器电路可以包括两个或更多个混频器。

在一些实施例中,混频器电路1202可以配置为基于由合成器电路1204提供的合成的频率1205将从fem电路1004a-b(图10)接收到的rf信号1107进行下变频。放大器电路1206可以配置为放大下变频的信号并且滤波器电路1208可以包括配置为从下变频的信号中去除不想要的信号以生成输出基带信号1207的lpf。输出基带信号1207可以被提供到基带处理电路1008a-b(图10)用于进一步处理。在一些实施例中,输出基带信号1207可以是零频率基带信号,但是这不是必须的。在一些实施例中,混频器电路1202可以包括无源混频器,但是实施例的范围在这方面不受限制。

在一些实施例中,混频器电路1214可以配置为基于由合成器电路1204提供的合成的频率1205对输入基带信号1211进行上变频,以生成用于fem电路1004a-b的rf输出信号1109。基带信号1211可以由基带处理电路1008a-b提供,并且可以由滤波器电路1212滤波。滤波器电路1212可以包括lpf或bpf,但是实施例的范围在这方面不受限制。

在一些实施例中,混频器电路1202和混频器电路1214可各自包括两个或更多个混频器,并且可被布置为在合成器1204的帮助下分别进行正交下变频和/或上变频。在一些实施例中,混频器电路1202和混频器电路1214可各自包括两个或更多个混频器,每个混频器配置用于镜频抑制(imagerejection)(例如,hartley镜频抑制)。在一些实施例中,混频器电路1202和混频器电路1214可以布置为分别用于直接下变频和/或直接上变频。在一些实施例中,混频器电路1202和混频器电路1214可以被配置用于超外差操作,但是这不是必需的。

根据一个实施例,混频器电路1202可以包括:正交无源混频器(例如,用于同相(i)和正交相(q)路径)。在这样的实施例中,可以对来自图12的rf输入信号1107进行下变频以提供要发送到基带处理器的i和q基带输出信号。

正交无源混频器可以由正交电路提供的零度和九十度时变lo切换信号驱动,正交电路可以配置为接收来自本地振荡器或合成器的lo频率(flo),例如合成器1204的lo频率1205(图12)。在一些实施例中,lo频率可以是载波频率,而在其他实施例中,lo频率可以是载波频率的一部分(例如,载波频率的一半、载波频率的三分之一)。在一些实施例中,零度和九十度时变切换信号可以由合成器生成,但是实施例的范围在这方面不受限制。

在一些实施例中,lo信号的占空比(一个周期中lo信号为高的百分比)和/或偏移(周期的起点之间的差)可以不同。在一些实施例中,lo信号可以具有85%的占空比和80%的偏移。在一些实施例中,混频器电路的每个分支(例如,同相(i)和正交相(q)路径)可以以80%的占空比进行操作,这可以使得功率消耗的显着降低。

rf输入信号1107(图11)可以包括平衡后的信号,但是实施例的范围在这方面不受限制。可以将i和q基带输出信号提供到低噪声放大器,例如放大器电路1206(图12)或滤波器电路1208(图12)。

在一些实施例中,输出基带信号1207和输入基带信号1211可以是模拟基带信号,但是实施例的范围在这方面不受限制。在一些替代实施例中,输出基带信号1207和输入基带信号1211可以是数字基带信号。在这些替代实施例中,无线电ic电路可以包括模数转换器(adc)和数模转换器(dac)电路。

在一些双模式实施例中,可以提供单独的无线电ic电路来处理每个频谱或本文未提及的其他频谱的信号,但是实施例的范围在此方面不受限制。

在一些实施例中,合成器电路1204可以是分数-n合成器或分数n/n+1合成器,但是实施例的范围在这方面不受限制,因为其他类型的频率合成器可能也是适合的。例如,合成器电路1204可以是delta-sigma合成器、倍频器或包括具有带分频器的锁相环的合成器。根据一些实施例,合成器电路1204可以包括数字合成器电路。使用数字合成器电路的一个优点是,虽然它可能仍包括一些模拟组件,但其覆盖区可能比模拟合成器电路的覆盖区要缩小得多。在一些实施例中,输入到合成器电路1204的频率可以由压控振荡器(vco)提供,但是这不是必须的。根据期望的输出频率1205,基带处理电路1008a-b(图10)或链路聚合器104(图10)还可以提供分频器控制输入。在一些实施例中,可以基于由链路聚合器104确定或指示的信道号和信道中心频率,从查找表(例如,在wi-fi卡内)确定分频器控制输入(例如,n)。应用处理器106可以包括或以其他方式连接到示例的链路聚合器104。

在一些实施例中,合成器电路1204可以配置为生成载波频率作为输出频率1205,而在其他实施例中,输出频率1205可以是载波频率的一部分(例如,载波频率的一半、载波频率的三分之一)。在一些实施例中,输出频率1205可以是lo频率(flo)。

图13示出了根据一些实施例的基带处理电路1008a的功能框图。基带处理电路1008a是可以适合用作基带处理电路1008a(图10)的电路的一个示例,但是其他电路配置也可以是适合的。可替代地,图13的示例可以用于实施图10的示例的bt基带处理电路1008b。

基带处理电路1008a可以包括用于处理由无线电ic电路1006a-b(图10)提供的接收基带信号1209的接收基带处理器(rxbbp)1302以及用于产生用于无线电ic电路1006a-b的发射基带信号1211的发射基带处理器(txbbp)1304。基带处理电路1008a还可以包括用于协调基带处理电路1008a的操作的控制逻辑1306。

在一些实施例中(例如,当在基带处理电路1008a-b和无线电ic电路1006a-b之间交换模拟基带信号时),基带处理电路1008a可包括adc1310以将从无线电ic电路1006a-b接收到的模拟基带信号1309转换为数字基带信号,以供rxbbp1302处理。在这些实施例中,基带处理电路1008a还可包括dac1312,以将来自txbbp1304的数字基带信号转换为模拟基带信号1311。

在诸如通过基带处理器1008a传送ofdm信号或ofdma信号的一些实施例中,发射基带处理器1304可以被配置为通过执行逆快速傅立叶变换(ifft)来生成适于传输的ofdm或ofdma信号。接收基带处理器1302可以被配置为通过执行fft来处理接收到的ofdm信号或ofdma信号。在一些实施例中,接收基带处理器1302可以配置为检测ofdm信号或ofdma信号的存在,通过执行自相关以检测诸如短前同步码之类的前同步码,以及通过执行互相关以检测长前同步码。前同步码可以是用于wi-fi通信的预定帧结构的一部分。

返回参考图10,在一些实施例中,每个天线1001(图10)可以包括一个或多个定向天线或全向天线,包括例如偶极天线、单极天线、贴片天线、环形天线、微带天线或适合用于传输rf信号的其他类型的天线。在一些多输入多输出(mimo)实施例中,可以有效地分离天线以利用可能导致的空间分集和不同的信道特征。每个天线1001可以包括一组相控阵天线,但是实施例不限于此。

虽然无线电架构1000被示为具有几个单独的功能元件,但是一个或多个功能元件可以被组合并且可以通过软件配置的元件的组合来实现,软件配置的元件例如是包括数字信号处理器(dsp)和/或其他硬件元件的处理元件。例如,某些元件可以包括一个或多个微处理器、dsp、现场可编程门阵列(fpga)、专用集成电路(asic)、射频集成电路(rfic)以及至少执行本文描述的功能的各种硬件和逻辑电路的组合。在一些实施例中,功能元件可以指在一个或多个处理元件上操作的一个或多个过程。

图14是示例的处理器平台1400的框图,该示例的处理器平台1400被构造为执行图3至图9的指令以实现图3的链路聚合器104。处理器平台1400可以是例如服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,手机、智能电话、例如ipadtm的平板电脑)、个人数字助理(pda)、互联网设备、dvd播放器、cd播放器、数字视频录像机、蓝光播放器、游戏机、个人视频录像机、电视机机顶盒、耳机或其他可穿戴设备或任何其他类型的计算设备。

所示示例的处理器平台1400包括处理器1412。所示示例的处理器1412是硬件。例如,处理器1412可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在这个示例中,示例的接收器/发送器200、示例的协商确定器202、示例的缓冲器控制器204、示例的窗确定器206、示例的bar确定器208和/或示例的缓冲器210。

所示示例的处理器1412包括本地存储器1413(例如,高速缓存)。所示示例的处理器1412经由总线1418与包括易失性存储器1414和非易失性存储器1416的主存储器进行通信。易失性存储器1414可以由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其他类型的随机存取存储器设备来实现。非易失性存储器1416可以由闪存和/或任何其他期望类型的存储器设备来实现。对主存储器1414、1416的访问由存储器控制器控制。

所示示例的处理器平台1400还包括接口电路1420。接口电路1420可以由任何类型的接口标准来实现,例如以太网接口、通用串行总线(usb)、接口、近场通信(nfc)接口和/或pciexpress接口。

在所示示例中,一个或多个输入设备1422连接到接口电路1420。输入设备1422允许用户将数据和/或命令输入到处理器1412中。输入设备可以由例如键盘、按钮、鼠标、触摸屏、触控板、轨迹球和/或isopoint来实现。

一个或多个输出设备1424也连接到所示示例的接口电路1420。输出设备1424可以由例如显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、就地开关(ips)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所示示例的接口电路1420通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

所示示例的接口电路1420还包括诸如发送器、接收器、收发机、调制解调器、住宅网关、无线接入点和/或网络接口的通信设备,以促进经由网络1426与外部机器(例如,任何种类的计算设备)的数据交换。通信可以经由例如以太网连接、数字用户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、直线对传无线系统、蜂窝电话系统等。

所示示例的处理器平台1400还包括一个或多个大容量存储设备1428,以用于存储软件和/或数据。此类大容量存储设备1428的示例的包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光磁盘驱动器、独立磁盘冗余阵列(raid)系统和数字多功能磁盘(dvd)驱动器。

图3-图9的机器可执行指令1432可存储在大容量存储设备1428、易失性存储器1414、非易失性存储器1416和/或可移除非暂时性计算机可读存储介质(例如cd或dvd)中。

示例1是在无线网络中执行多频带链路聚合的装置。示例1包括:缓冲器控制器,用于将(a)在第一接口上已经接收到的第一组数据包和(b)在第二接口上已经接收到的第二组数据包存储到缓冲器中,第一组数据包和第二组数据包从无线设备接收;以及窗确定器,用于控制与在第一接口上接收到的第一组数据包相对应的第一位图和与在第二接口上接收到的第二组数据包相对应的第二位图,第一位图的第一大小和第二位图的第二大小小于缓冲器的第三大小。

示例2包括示例1的装置,还包括发送器,用于响应于缓冲器控制器将第一组数据包和第二组数据包存储在缓冲器中,使用第一接口来发送与第一位图相对应的第一确认以及使用第二接口发送与第二位图相对应的第二确认。

示例3包括示例1的装置,该设备还包括:协商确定器,用于在接收第一组数据包和第二组数据包之前与无线设备协商链路聚合特征,链路聚合特征与第一接口和第二接口的标识、与第一接口相对应的数据包的第一数量和与第二接口相对应的数据包的第二数量或缓冲器的第三大小中的至少一个相对应。

示例4包括示例1的装置,其中,缓冲器控制器用于基于数据包的序列号将第一组数据包和第二组数据包存储在缓冲器中。

示例5包括示例1的装置,其中,第一组数据包和第二组数据包在重叠的时间段期间从无线设备接收。

示例6包括示例1的设备,其中窗确定器用于:通过基于期望使用第一接口接收到的数据包控制第一记分板窗,来控制第一位图;通过基于期望使用第二接口接收到的数据包控制第二记分板窗,来控制第二位图;以及控制与数据包序列号到缓冲器的寄存器的映射相对应的缓冲器窗。

示例7包括示例6的设备,其中,当在第一接口或第二接口上接收到与缓冲器窗外部的序列号相对应的数据包时,窗确定器用于更新第一记分板窗、第二记分板窗或缓冲器窗中的至少一个。

示例8包括示例6的设备,其中窗确定器用于:当在第一接口上接收到块确认请求时,基于块确认请求中的数据更新第一记分板窗、第二记分板窗或缓冲器窗中的至少一个;以及当在第二接口上接收到块确认请求时,阻止更新第一记分板窗、第二记分板窗或缓冲器窗。

示例9包括示例6的设备,其中窗确定器用于:当块确认请求包括第一位值时,基于块确认请求中的数据来更新第一记分板窗、第二记分板窗或缓冲器窗中的至少一个;以及当块确认请求包括第二位值时,阻止更新第一记分板窗、第二记分板窗或缓冲器窗。

示例10是一种包括指令的非暂时性计算机可读存储介质,该指令在被执行时使机器至少用于:将(a)在第一接口上已经接收到的第一组数据包和(b)在第二接口上已经接收到的第二组数据包存储到缓冲器中,第一组数据包和第二组数据包从无线设备接收;以及更新与在第一接口上接收到的第一组数据包相对应的第一位图和与在第二接口上接收到的第二组数据包相对应的第二位图,第一位图的第一大小和第二位图的第二大小小于缓冲器的第三大小。

示例11包括示例10的计算机可读存储介质,其中,指令使机器用于:响应于将第一组数据包和第二组数据包存储在缓冲器中,在第一接口上发送与第一位图相对应的第一确认以及在第二接口上发送与第二位图相对应的第二确认。

示例12包括示例10的计算机可读存储介质,其中,指令使机器用于:在接收第一组数据包和第二组数据包之前基于与无线设备的协商来确定链路聚合特征,链路聚合特征与第一接口和第二接口的标识、与第一接口相对应的数据包的第一数量和与第二接口相对应的数据包的第二数量或缓冲器的第三大小中的至少一个相对应。

示例13包括示例10的计算机可读存储介质,其中,指令使机器用于:根据数据包的序列号将第一组数据包和第二组数据包存储在缓冲器中。

示例14包括示例10的计算机可读存储介质,其中,第一组数据包和第二组数据包在重叠的时间段期间从无线设备接收。

示例15包括示例10的计算机可读存储介质,其中,指令使机器用于:通过更新第一记分板窗以与期望使用第一接口接收到的数据包相对应,来更新第一位图;通过更新第二记分板窗以与期望使用第二接口接收到的数据包相对应,来更新第二位图;以及更新与数据包序列号到缓冲器的寄存器的映射相对应的缓冲器窗。

示例16包括示例15的计算机可读存储介质,其中,当在第一接口或第二接口上接收到与缓冲器窗外部的序列号相对应的数据包时,指令使机器用于更新第一记分板窗、第二记分板窗或缓冲器窗中的至少一个。

示例17包括示例15的计算机可读存储介质,其中,指令使机器用于:当在第一接口上接收到块确认请求时,基于块确认请求中的数据更新第一计分板窗、第二计分板窗或缓冲窗中的至少一个;以及当在第二接口上接收到块确认请求时,阻止更新第一记分板窗、第二记分板窗或缓冲器窗。

示例18包括示例15的计算机可读存储介质,其中,指令使机器用于:当块确认请求包括第一位值时,基于块确认请求中的数据更新第一记分板窗、第二记分板窗或缓冲窗中的至少一个;和当块确认请求包括第二位值时,阻止更新第一记分板窗、第二记分板窗或缓冲器窗。

示例19是一种在无线网络中执行多频带链路聚合的方法。示例19包括将(a)在第一接口上已经接收到的第一组数据包和(b)在第二接口上已经接收到的第二组数据包存储到缓冲器中,第一组数据包和第二组数据包从无线设备接收;以及控制与在第一接口上接收到的第一组数据包相对应的第一位图和与在第二接口上接收到的第二组数据包相对应的第二位图,第一位图的第一大小和第二位图的第二大小小于缓冲器的第三大小。

示例20包括示例19的方法,还包括:响应于将第一组数据包和第二组数据包存储在缓冲器中,在第一接口上发送与第一位图相对应的第一确认以及在第二接口上发送与第二位图相对应的第二确认。

示例21包括示例19的方法,还包括:在接收第一组数据包和第二组数据包之前,基于与无线设备的协商来确定链路聚合特征,链路聚合特征与第一接口和第二接口的标识、与第一接口相对应的数据包的第一数量和与第二接口相对应的数据包的第二数量或缓冲器的第三大小中的至少一个相对应。

示例22包括示例19的方法,还包括根据数据包的序列号将第一组数据包和第二组数据包存储在缓冲器中。

示例23包括示例19的方法,其中,第一组数据包和第二组数据包在重叠的时间段期间从无线设备接收。

示例24包括示例19的方法,该方法还包括:通过更新第一记分板窗以与期望使用第一接口接收到的数据包相对应,来控制第一位图;通过更新第二记分板窗以与期望使用第二接口接收到的数据包相对应,来控制第二位图;以及控制与数据包序列号到缓冲器的寄存器的映射相对应的缓冲器窗。

示例25包括示例24的方法,还包括:当在第一接口或第二接口上接收到与缓冲窗外部的序列号相对应的数据包时,更新第一计分板窗、第二计分板窗或缓冲窗中的至少一个。

从上文中,将理解,以上公开的在无线网络中执行多频带链路聚合的方法、装置和制品。本文公开的示例包括两个设备之间的协议,以能够在不同接口(例如,频道和/或频带)上发送数据包。在本文公开的一些示例中,两个设备能够在重叠的时间段期间在不同的接口上发送数据包。本文公开的示例包括在不同接口上发送不同的数据包和/或在不同接口上发送相同的数据包,从而以扩展到大数量接口的方式增加吞吐量和/或降低数据包丢失的可能性。

虽然本文已经描述了某些示例的方法、装置和制品,但是本专利的覆盖范围不限于此。相反,该专利涵盖了完全落入本专利权利要求范围内的所有方法,设备和制造物品。

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