具体实施方式
现将参照附图详细描述本发明的优选实施例。在下面的描述中,为了清楚简明已经省略了合并于此的已知功能和结构的详细描述。
与无线通信***中的传输时间段分配相关的本发明的主要特征在于提供多个MAP(映射)帧,以指示在传输帧周期中接入点(AP)分配给每个站(STA)的下行链路时间段和上行链路时间段。分配的时间段在MAP帧被发送之后立即开始,并且在传输帧周期,除了第一MAP帧之外的MAP帧被称为“后来的MAP(子MAP)”。子MAP帧用于下行链路和上行链路数据的错误恢复。这里,所述错误恢复包括下行链路上发送的数据的重新发送和上行链路上接收的数据的确认(ACK)的传输,并且可包括其它错误恢复方案。
尽管将基于IEEE 802.11标准参照无线局域网(WLAN)***对本发明进行详细描述,但是本领域的技术人员将理解,在不脱离本发明的精神和范围的情况下,阶段资源的分配(本发明的基本方面)还可应用于具有相似技术需求和信道格式的其它无线通信***。
图2A是示出根据本发明的WLAN***的配置的示图。
参照图2A,AP 202和210的每个都连接到有线网络200,多个STA 204、206、208、212和214经由IEEE 802.11物理(PHY)层和基于媒体访问控制(MAC)协议的无线链接访问其相关AP 202和210,并且通过多个无线信道发送和接收数据。位于相同无线服务覆盖区220的STA 204至208以及AP 202组成一个基本服务集(BSS)。位于无线服务覆盖区222的STA 212和214以及AP 210形成另一个BSS。位于每个BSS的STA能够经由相应的AP彼此交换数据。AP 202和210的主要功能包括数据通信的传递、访问另一网络(例如,有线网络200)、漫游支持、BSS中的同步、能量管理支持和用于支持BSS中时间约束服务的媒体访问的控制。
图2B是示出在图2A示出的WLAN***中AP和每个STA的示例性结构的框图。AP和STA都可包括:显示器232、处理器234、收发器236、输入单元238、存储器240、随机存取存储器(RAM)242、只读存储器(ROM)244和公共总线230。提供示出的示例性结构仅为了方便。尽管参照图2B在此描述作为AP和STA的特定元件及其操作,但是示例性描述不限制本发明。
参照图2B,连接到天线(未示出)的收发器236接收数据,并将接收的信号转换成相应的数字数据。处理器234是在操作***(OS)和包括在ROM244中的其它程序的控制下操作的控制器,并且处理器234产生的信息和数据存储在RAM 242中。
包括在AP中的处理器234的主要操作包括:数据的产生和分析、位于相同无线服务覆盖区并连接到AP的STA的时间段的分配、指示分配的时间段的至少一个MAP帧的产生和基于分配的时间段的收发器236的操作模式控制。具体地说,AP的处理器234通过位于传输帧的第一部分的MAP帧将初始资源Rinit提供或分配给STA。如果需要从STA接收ACK或将重新发送的数据发送到STA,则处理器234通过在与传输帧的第一MAP帧相关的序列持续时间到期之后立即发送的子MAP帧,将传输帧周期中的剩余时间段另外分配给相应的STA。对于本领域技术人员明显的是:术语“...之后立即”实质上是指预定时间的逝去。
在第一MAP帧指示的下行链路/上行链路时间段到期之后,如果必要,则可另外发送指示在相同传输帧周期分配的下行链路和/或上行链路时间段的多个子MAP。子MAP帧指示的下行链路和/或上行链路时间段在子MAP帧之后。
包括在STA中的处理器234的主要操作包括:数据的产生/分析、传输帧的产生和基于从传输帧的开始点接收的MAP帧对收发器236的操作模式控制。处理器234控制收发器236,从而收发器236在每个传输帧的开始点从AP接收MAP帧,并分析该MAP帧以确定STA自己的STA ID(标识)是否包括在其中。如果STA自己的STA ID包括在MAP帧中,则处理器234将与STA ID相关的STA信息指示的关于分配的下行链路和上行链路时间段的信息存储在存储器240中,接着分别在下行链路时间段和上行链路时间段唤醒收发器236的接收器和发送器,从而接收和/或发送数据。收发器236的接收器和发送器在除了分配的时间段之外的其它时间段进入休眠模式。
如果在从AP接收的数据中存在错误,或者如果STA将接收对于发送到AP的数据的ACK,则STA的处理器234监控是否在MAP帧指示的整个周期到期之后立即从AP接收到指示为错误恢复另外分配的资源的子MAP帧,并且当接收到子MAP帧时,分析接收的子MAP帧。整个周期包括MAP帧提供的所有时间段。
根据本发明,在随后的上行链路时间段通过ACK确认在MAP帧指示的下行链路时间段发送的数据。在根据随后的子MAP帧另外分配的上行链路时间段通过ACK确认在子MAP帧指示的下行链路时间段发送的数据。在这种情况下,可在根据随后的子MAP帧分配的时间段重新发送需要重新发送的下行链路和上行链路数据。
类似普通无线通信***的WLAN***由于多径衰减、STA间干扰和噪声可能在发送的数据中出现错误。为了解决这一问题,已经提出了自动重复请求(ARQ)和混和ARQ(H-ARQ)方案,在所述方案中,接收器将失败的数据的重新发送请求发送到发送器。在这些方案中,接收器使用ACK以将接收的数据中是否出现错误通知给发送器。当接收到ACK时,发送器确定接收器已经成功接收相应数据(即,确认的数据)。然而,当没有接收到ACK时,发送器确定接收器接收相应数据(即,未确认的数据)失败。因此,当没有接收到期望的ACK时,发送器重新发送所有未确认的数据。
ARQ和H-ARQ方案不仅可使用一般ACK,还可使用块ACK,其中,对于各个打包的传输数据,可使用所述一般ACK将数据接收的成功/失败通知给发送器。在块ACK方案中,发送器连续发送多个包,接着通过块ACK将接收器是否成功接收到发送的包一起通知给该发送器。
STA发送/接收的数据可聚集在一个聚集MAC协议数据单元(A-MPDU)中,并且可在相同的下行链路或上行链路时间段将A-MPDU与具有不同通信流标识符(TSID)的MAC服务数据单元(MSDU)一起发送。块ACK使用位图表示多个MSDU的接收结果(成功/失败),这里,位图以“1(成功)”或“0(失败)”来表示第一MSDU之后所述多个MSDU的成功/失败。块ACK具有根据确认的MSDU的数量优化的格式和大小。
简单块ACK可包括发送块ACK的第一MSDU的序列号和位图。如果必要,则使用包括以通信标识符(TID)识别的多个位图的多TID块确认(MTBA)。为了允许传输具有较大尺寸的块ACK,AP分配上行链路时间段或下行链路时间段。这里,块ACK和一般ACK将被称为ACK。
图3示出根据本发明的传输帧周期的结构。尽管在此示出帧与上行链路时间段和下行链路时间段彼此相邻,但是在实际***中对于发送和接收切换和处理可能存在时间间隔。
参照图3,在具有固定长度的传输帧周期300中,AP首先以小于正常比率集(包括调制方案、编码率和数据率)的基本比率集发送MAP帧310a。这样使服务覆盖区中的所有STA都能够接收MAP帧310a。在通信的开始,根据通过AP和STA之间的协商确定的固定时间段(例如,对于互联网协议语音(VoIP)和运动图像专家组4(MPEG4)分别为20ms和10ms)周期地发送MAP帧310a。通过MAP帧310a的发送来初始化传输帧周期300。
例如,为了指示MAP帧310a的随后的第一下行链路时间段312a和第一上行链路时间段314a的阶段资源分配,MAP帧310a包括:第一下行链路MAP 320a,指示在第一下行链路时间段312a中AP能够发送数据的时间段;和第一上行链路MAP 322a,指示在第一上行链路时间段314a STA能够发送数据的时间段。第一下行链路MAP 320a包括:STA的数量字段330a和基于STA的数量字段330a确定的至少一个STA信息字段332a。以相同的方式,第一上行链路MAP 322a包括:STA的数量字段334a和基于STA的数量字段334a确定的至少一个STA信息字段336a。
STA信息字段332a和336a的每个都包括:STA ID字段340a和344a,指示在第一下行链路时间段312a和第一上行链路时间段314a中被分配了时间段的STA;时间偏移字段342a和346a,指示分配给STA的时间段的开始;和持续时间字段343a和348a,指示分配的时间段的长度。STA ID字段340a和344a的每个都包括每个STA的至少一个相关身份(AID)部分和给予每个STA的至少一个硬件地址(即、MAC地址)部分。将指示用于广播/多播数据的时间段的STA ID设置成特定值,例如,“0”。时间偏移字段342a和346a的每个都以多个预定时间单元(例如,4μs)指示从MAP帧310a到相应时间段的开始的间隔。持续时间字段343a和348a的每个都以多个预定时间单元(例如,16μs)指示从时间段的开始到结束的间隔(即,指示时间段的长度)。
MAP帧310a的第一下行链路MAP 320a和第一上行链路MAP 322a代表首先分配给每个STA的下行链路时间段和上行链路时间段,并且可根据AP期望发送的数据量和AP将发送的期望数据量来确定第一下行链路MAP 320a和第一上行链路MAP 322a。在这种情况下,AP确定第一上行链路MAP 322a,从而第一上行链路MAP 322a包括当接收在第一上行链路时间段314a发送的数据时发送成功和失败的通知所需的资源。在MAP帧310a被分配了阶段资源的STA在第一下行链路时间段312a中的相应STA信息332a指示的时间段接收数据,并且在第一上行链路时间段314a中的相应STA信息336a指示的时间段发送数据。下行链路和上行链路数据可包括包含净荷和ACK的一个或多个A-MPDU和/或MPDU。STA在发送MAP帧310a的时间段和在除了MAP帧310a指示的时间段之外的其它时间段保持休眠模式。
每个STA在第一下行链路时间段312a的分配的时间段接收数据,并且使用包括在接收的数据中的错误校正代码来确定接收的数据中是否存在错误。例如,每个STA确定包括在A-MPDU中的每个MSDU中是否存在错误。以ACK的形式在第一上行链路时间段314a的分配的时间段发送确定结果和上行链路数据。为了重新接收在第一下行链路时间段312a接收的失败的数据,并且接收在第一下行链路时间段312a发送的数据的ACK,STA监控MAP帧310a指示的所有时间段(即,下行链路时间段#1312a和上行链路时间段#1314a)到期之后子MAP帧310b的接收。在子MAP帧310b指示的第二下行链路时间段312b和第二上行链路时间段314b的分配的时间段,STA转换到激活模式。
为了重新发送在第一上行链路时间段314a发送的具有错误的数据并且发送指示在第一上行链路时间段314a接收的数据的成功接收的ACK,AP通过发送子MAP帧310b将用于错误恢复的附加资源(即,第二下行链路时间段312b)分配给STA。以相同的方式,AP使用包括在接收的数据中的纠错代码来确定接收的数据中是否存在错误。如果在第一下行链路时间段314a接收的数据中存在错误,则AP可通过子MAP帧310b将第二上行链路时间段314b分配给STA,以允许数据的重新发送。
也就是说,子MAP帧310b包括第二下行链路MAP 320b和第二上行链路MAP 322b,用于指示随后的第二下行链路时间段312b和第二上行链路时间段314b的阶段资源分配。类似地,可将子MAP帧310b以基本比率集一起发送。第二下行链路MAP 320b包括STA的数量字段330b和基于STA的数量字段330b确定的至少一个STA信息字段332b。STA信息字段332b包括:STA ID字段340b,指示在第二下行链路时间段312b分配了时间段的STA;时间偏移字段342b,指示分配给STA的时间段的开始;和持续时间字段343b,指示分配的时间段的长度。上面已经描述了STA信息字段332b的元素,第二上行链路MAP 322b与第二下行链路MAP 320b的结构相同,因此将省略其详细描述。通过子MAP帧310b分配了阶段资源的STA在第二下行链路时间段312b和第二上行链路时间段314b的相应STA信息332b指示的时间段与AP交换数据和ACK。
尽管没有示出,但是如果仍然另外需要附加资源分配,则多个子MAP帧和基于所述子MAP帧的上行链路时间段或下行链路时间段可被另外包括在传输帧周期300中。使用能够附有一个或多个子帧的MAP帧的传输方案被称为多轮节能(PSMP)方案,MAP帧310a和子MAP帧310b分别被称为PSMP帧和子PSMP帧。PSMP帧和子PSMP帧的每个都跟随着由相应(子)PSMP帧指示的至少一个下行链路时间段或上行链路时间段,一个(子)PSMP帧和相应指示的时间段被称为(子)PSMP序列。换句话说,通过发送PSMP帧来初始化一个PSMP序列,并且STA仅在以PSMP帧开始的PSMP序列中的PSMP帧指示的时间段醒来,从而最小化能量消耗。
可基于竞争由STA访问最后序列持续时间之后的竞争时间段316。
应该注意:在不脱离本发明的精神和范围的情况下,图3中示出的MAP帧310a和子MAP帧310b的元素和所述元素的排列可进行改变。例如,MAP帧310a和子MAP帧310b的每个都包括:一个STA ID字段、用于下行链路传输的时间偏移和持续时间字段、以及用于上行链路传输的时间偏移字段和持续时间字段。在这种情况下,如果没有时间段被分配给上行链路和下行链路,则相应持续时间字段被设置为空(0)。另外,MAP帧310a和子MAP帧310b可包括用于指示是否将跟随着子MAP帧或另一子MAP帧的字段。STA分析子MAP帧中的字段,以确定该子MAP帧是否是当前传输帧周期中的最后子MAP帧。
图4是示出根据本发明的阶段资源分配的能量减小效果的描述的时序图。
参照图4的示图(a),传输帧周期400包括:MAP帧410a、第一下行链路时间段412a、第一上行链路时间段414a、子MAP帧410b和第二下行链路时间段412b。MAP帧410a提供第一下行链路时间段412a和第一上行链路时间段414a的阶段资源分配。
参照图4的示图(b),在时间段420接收到MAP帧410a后切换到休眠模式以后,STA在MAP帧410a指示的第一下行链路时间段412a中的分配的时间段422醒来,并且从AP接收下行链路数据。在时间段422到期时切换回休眠模式以后,STA保持休眠状态直到MAP帧410a指示的第一上行链路时间段414a中的分配的时间段424。在时间段424,STA将下行链路数据的肯定ACK发送到AP。肯定ACK表示STA已经正常接收到所有下行链路数据。这里,STA没有上行链路数据发送,STA不需要监控用于错误恢复的子MAP帧410b。
参照图4的示图(c),在时间段430接收到MAP帧410a后切换到休眠模式以后,STA在MAP帧410a指示的第一下行链路时间段412a中的分配的时间段432醒来,并且从AP接收下行链路数据。在时间段432到期时切换回休眠模式以后,STA保持休眠状态直到MAP帧410a指示的第一上行链路时间段414a中的分配的时间段434。在时间段434,STA将下行链路的否定ACK(NACK)和上行链路数据一起发送到AP。NACK是指示下行链路数据损坏的ACK。例如,NACK是这样的位图:仅有映射到损坏的MSDU的比特被设置为“0(失败)”。因此,STA监控子MAP帧410b的接收,以使被分配用于重新发送未确认的下行链路数据和用于接收上行链路数据的ACK的资源。
也就是说,STA在时间段436醒来,并且监控子MAP帧410b的接收。当接收到子MAP帧410b时,STA转换回休眠状态并等待直到子MAP帧410b指示的第二下行链路时间段414b中的时间段438。在时间段438,STA从AP接收重新发送的数据和ACK。尽管没有示出,但是可以在传输帧周期400到期之前,分配映射到一个或多个附加MAP帧的时间段。
图5示出根据本发明的示例性错误恢复操作。这里,在AP 502的服务覆盖区,两个STA(STA1 504和STA2 506)彼此进行通信。
参照图5,AP 502在传输帧时间段的开始发送MAP帧510a。MAP帧510a提供在第一下行链路时间段512分配给STA1 504和STA2 506的时间段,和在第一上行链路时间段514分配给STA1 504和STA2 506的时间段。在发送MAP帧510a之后,AP 502首先将下行链路数据512a发送到STA1 504,其后,将下行链路数据512b发送到STA2 506。这里,发送到STA2 506的下行链路数据512b在传输期间被部分损坏。
当从AP 502接收到下行链路数据512a时,STA1 504在MAP帧510a指示的第一上行链路时间段514的时间段522将上行链路数据522a和下行链路数据512a的肯定的ACK 522b发送到AP 502。这里,由于其中还有剩余的排队数据524 STA1 504在时间段522将数据和请求发送排队数据524所需的附加资源的资源请求(RR)消息一起发送。
在从AP 502接收到失败的下行链路数据512b之后,STA2 506在MAP帧510指示的第一上行链路时间段514的时间段532将上行链路数据532a和下行链路数据512b的否定ACK 532b发送到AP 502。由于STA2 506没有任何剩余的排队数据,因此STA2 506在时间段532不发送RR消息。在传输期间来自STA2 506的上行链路数据532a被部分损坏。
响应于来自STA1 504的包括RR消息的上行链路数据522a和来自STA2506的损坏的上行链路数据532a和NACK 532b,子MAP帧510b指示第二下行链路时间段516中到达STA1 504的ACK 516a,以及到达STA2 506的重新发送数据516b和NACK 516c的下行链路时间段,用于来自STA1 504的上行链路数据526a的时间段526,以及用于来自STA2 506的上行链路数据534a和ACK 534b的时间段534。因此,在子MAP帧510b指示的时间段中,AP 502与STA 504和STA 506交换数据和控制消息(ACK)。也就是说,如果AP 502接收到对于发送到STA2 506的下行链路数据512b的NACK,或者最差地接收ACK失败,则AP 502通过子MAP帧510b分配用于重新发送下行链路数据512b的资源。
在从STA 504和STA 506接收了上行链路数据526a和534a之后,AP 502通过第二子MAP帧510c分配用于传输上行链路数据526a和534a的ACK518a和518b的时间段518。STA 504和STA 506在第二子MAP帧510c指示的时间段518接收上行链路数据526a和534a的ACK 518a和518b。MAP帧310a、第一子MAP帧510b和第二子MAP帧510c以及与其相关的所有下行链路和上行链路时间段都在一个传输帧周期500内。
图6是示出根据本发明的AP的操作的流程图。这里,为了简单,AP仅与一个STA进行通信。
参照图6,在步骤602,AP通过发送指示分配给当前传输帧周期的时间段的MAP帧来初始化当前传输帧周期。在步骤604,AP在MAP帧指示的时间段将下行链路数据发送到STA。如果不存在发送到STA的下行链路数据,则MAP帧不包括将分配给STA的下行链路时间段。在这种情况下,省略了步骤604。
在步骤606,AP在MAP帧指示的时间段确定是否从STA接收到上行链路数据。如果不存在MAP帧分配给STA的时间段,则AP进行到步骤610。然而,如果从STA接收到上行链路数据,则AP进行到步骤608,其中,AP分配用于传输上行链路数据的ACK的下行链路时间段,接着进行到步骤610。
在步骤610,AP确定步骤604发送的下行链路数据的ACK在步骤606是否被接收到。如果接收的ACK是肯定ACK,则AP进行到步骤614。然而,如果接收的ACK不是肯定ACK而是否定NACK,则AP在步骤612分配重新发送下行链路数据的下行链路时间段,接着进行到步骤614。
在步骤614,AP确定在步骤606是否从STA接收到RR消息。如果没有接收到RR消息,则AP进行到步骤618,确定在当前传输帧周期是否需要附加资源分配。然而,如果在步骤614接收到RR消息,则在步骤616,AP分配RR消息请求的资源,即,上行链路时间段,接着进行到步骤618。
在步骤618,AP确定是否存在在当前传输帧时间段另外分配的任何资源。如果在步骤608、612和616中的任何一个分配了资源,则AP进行到步骤620,其中,AP产生指示在步骤608、612和616中的至少一个分配的资源的子MAP帧,在该MAP帧指示的时间段到期之后发送子MAP帧,接着返回步骤604。然而,如果在当前传输帧时间段没有另外分配的资源,则AP进行到步骤622,其中,AP等待直到下一传输帧周期的开始点(即,MAP的下一传输时间段),接着返回步骤602。
图7是示出根据本发明的STA的操作的流程图。
参照图7,在步骤702,当从AP接收到MAP时,STA识别当前传输帧周期的开始,并检测分配给它的下行链路时间段和/或上行链路时间段。如果MAP帧指示下行链路时间段,则STA在步骤704确定在下行链路时间段是否成功接收到下行链路数据。如果没有指示下行链路时间段,则STA进行到步骤706。如果没有成功接收到下行链路数据,则STA进行到步骤714,其中,STA准备接收子MAP帧,从而被分配重新接收下行链路数据的下行链路时间段,接着进行到步骤706。否则,STA直接进行到步骤706。此时,在随后的上行链路时间段发送下行链路数据的ACK。
在步骤706,STA确定是否需要接收在MAP帧分配的上行链路时间段发送的上行链路数据的ACK。如果STA发送上行链路数据,则STA进行到步骤716,其中,STA准备接收子MAP帧,从而被分配用于接收上行链路数据的ACK的下行链路时间段,接着进行到步骤708。否则,STA直接进行到步骤708。
在步骤708,STA确定在MAP帧分配的上行链路时间段是否发送了RR消息。如果发送了RR消息,则STA进行到步骤718,其中,STA准备接收子MAP帧,从而被分配RR消息请求的资源,接着进行到步骤710。否则,STA直接进行到步骤710。
在步骤710,STA确定是否设置了子MAP帧的接收,即,STA是否应该重新接收下行链路数据,是否应该接收上行链路数据的ACK或是否请求附加资源。如果没有设置子MAP帧的接收,则在步骤712,STA等待直到下一传输帧周期的开始点(即,MAP帧的下一传输时间段),确定在当前传输帧周期不需要附加资源,接着返回步骤702。然而,如果设置了子MAP帧的接收,则STA进行到步骤720。
在步骤720,STA监控在MAP帧指示的整个周期到期之后从AP接收到子MAP帧。当接收到子MAP帧时,STA返回步骤704,并在子MAP帧指示的随后的时间段执行上述处理。
从上述描述可以理解,AP仅通过第一MAP帧分配最少的资源,以最小化资源的任何高估,并且如果STA需要附加资源,则AP立即通过子MAP帧分配在相同传输帧周期请求的上行链路资源,从而消除了QoS降低的原因(诸如延迟和抖动)。另外,STA最大化休眠模式保持时间,而不必要长时间监控,从而减小STA的能耗。
尽管已经参照本发明的特定实施例显示并描述了本发明,但是本领域的技术人员将理解,在不脱离权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种改变。