专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; 授权; 权利转移; 未缴年费; |
专利有效性 | 失效专利 | 当前状态 | 权利终止 |
申请号 | CN200680027489.5 | 申请日 | 2006-07-28 |
公开(公告)号 | CN101233724A | 公开(公告)日 | 2008-07-30 |
申请人 | 微软公司; | 申请人类型 | 企业 |
发明人 | P·G·曼德哈瓦; A·阿布里什克; A·A·哈萨恩; C·休特玛; J·阮; | 第一发明人 | P·G·曼德哈瓦 |
权利人 | 微软公司 | 权利人类型 | 企业 |
当前权利人 | 微软技术许可有限责任公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份: | 城市 | 当前专利权人所在城市: |
具体地址 | 当前专利权人所在详细地址:美国华盛顿州 | 邮编 | 当前专利权人邮编: |
主IPC国际分类 | H04L12/413 | 所有IPC国际分类 | H04L12/413 |
专利引用数量 | 0 | 专利被引用数量 | 3 |
专利权利要求数量 | 20 | 专利文献类型 | A |
专利代理机构 | 上海专利商标事务所有限公司 | 专利代理人 | 陈斌; |
摘要 | 提供了将无线设备的范围扩展到因IEEE 802.11标准施加的定时限制而引起的范围限制之外的机制。在802.11 MAC的较高层操作的该机制判定该无线设备是离得远还是离得不远。当确定该无线设备离得远时,禁用802.11 MAC的较低层处的该标准重发协议,而使用自定义ACK分组。如果在考虑到在离得远的该无线设备之间较长的传播延迟的最大延迟时段内接收到该自定义ACK分组,则确认所发送的分组的 送达 。 | ||
权利要求 | 1.一种用于在第一和第二无线设备之间进行无线通信的方法,包括: |
||
说明书全文 | 技术领域本发明涉及无线网络,尤其涉及用于在依照IEEE 802.11标准工作的两个无线 设备之间扩展范围的机制。 背景 在典型的无线网络中,一个或多个无线站与一公共无线接入点相关联。无线 站之间的通信是通过接入点来进行的,这限制了对已接受了安全凭证、并提供了对 诸如有线网络和/或诸如因特网等公共网络的其他网络的接口的站的接入。无线网 络通常依照无线局域网(LAN)的IEEE 802.11标准来工作。 无线联网现在由所有的细分市场使用:在家庭内、公共接入以及企业。使用 模型包括远程公司接入、家庭中的因特网浏览、对等协作以及最近的因特网语音。 然而,基于IEEE 802.11MAC(媒体访问控制)的无线联网仅在移动站离开中继数 据的接入点大约150米时才有用。对于大约一千米的距离,无线吞吐量本质上是不 能用的。即使是以最大发射功率工作并使用任何天线,由于802.11MAC的 CSMA/CA部分的定时限制,依照802.11标准工作的两个设备仍不能在大于大约 200米的距离上有效地通信。 概述 提供了一种将无线设备的范围扩展到因IEEE 802.11标准施加的定时限制而 引起的范围限制之外的机制。在802.11MAC的较高层工作的该机制确定无线设备 是离得远还是离得不远。当确定无线设备离得远时,禁用802.11MAC较低层处的 标准重发协议,而使用自定义ACK分组。如果在考虑到在离得远的无线设备之间 较长的传播延迟的最大延迟时段内接收到自定义ACK分组,则确认所发送的分组 的送达。 在一个实施例中,一种用于在第一和第二无线设备之间进行无线通信的方法 包括确定第一和第二无线设备是离得远还是离得不远。如果确定第一和第二无线设 备离得远,则禁用标准重发协议、发送一分组并将该分组置于按目的地的队列中。 如果在最大延迟时段内接收到自定义ACK分组,则从该队列中删除发送的分组。 如果在最大延迟时段内没有接收到自定义ACK分组,则从该队列重发分组。 在另一实施例中,一种无线设备包括确定该无线设备与另一无线设备是离得 远还是离得不远的第一组件、在确定该无线设备离得远时禁用标准重发协议的第二 组件、按目的地的队列、以及发送分组并将分组置于按目的地的队列中的第三组件。 如果在最大延迟时段内接收到自定义ACK分组,则第四组件从该队列中删除所发 送的分组。如果在最大延迟时段内没有接收到自定义ACK分组,则第四组件从该 队列中重发该分组。 在又一实施例中,一种用于在第一和第二无线设备之间进行无线通信的方法 包括在媒体访问控制层的较低部分禁用标准重发协议,以及使用在媒体访问控制层 的较高部分实现的自定义协议来发送分组。 附图简述 为了更好地理解本发明,参考通过引用包含于此的附图,其中: 图1是无线网络的简化框图; 图3是依照本发明的一个实施例的通信方法的流程图; 图4是用于判定无线设备是离得远还是离得不远的方法的流程图;以及 图5和6是示出依照本发明的一个实施例的发送和接收的信号的时序图。 详细描述 无线局域网10的一个示例在图1中示出。无线接入点(AP)20通过有线连 接22与有线网络通信,并经由无线链路与第一无线站24和第二无线站26通信。 仅作为示例,接入点20可以是无线路由器,而无线站24和26可以是具有无线性 能的笔记本计算机。 每个无线站可以包括带有一个或多个处理器的计算设备,该设备装备有操作 系统用于为应用程序创建平台。每个无线站的硬件部分可以包括诸如现在已知或今 后开发的用于计算设备的一个或多个处理器。每个无线站的软件部分可以包括结合 了如下所述的通信软件的操作系统。 当符合IEEE 802.11标准的两个无线设备以最大发射功率工作并使用任何天 线时,由于802.11MAC的CSMA/CA部分的定时限制,它们不能在大于大约200 米的距离D上有效地通信。提供了一种在不修改802.11MAC的CSMA/CA部分或 需要对硬件作出改变的情况下允许无线设备在更长的距离上有效地通信的方法。两 个设备可以是两个接入点、一接入点和一客户机或者两个客户机。 802.11MAC具有与广播和单播分组相关的以下规则:(1)广播分组传输不需 要指示在接收机处正确地接收到所发送的分组的ACK(确认)分组。因此,在802.11 MAC层处不重发广播分组。(2)单播分组传输需要示在接收机处正确地接收到所 发送的分组的ACK分组。如果发送器没有在SIFS(短帧间隙)间隔加上ACK超 时间隔内接收到ACK分组,则它在下一发送机会重发该分组。其他客户机在它们 使用定义的信道接入过程来竞争信道接入之前,对于当前帧的成功接收情况等待 DIFS(分布式帧间隙)间隔,或者对失败的传输等待EIFS(扩展帧间隙)间隔。 发送器在它达到重试限制后异常中止重发。使用短和长重试限制,并且对重发使用 哪种类型的决定基于分组的大小。如果分组小于称为RTS(请求发送)阈值的指 定大小,则为重发使用短重试限制。否则,使用长重试限制。短重试限制的默认值 是7,长重试限制是4,RTS阈值是2347字节。所有这三个参数都是可配置的。 两个无线设备可以用最大发射功率来工作并使用定向天线以增强它们之间的 物理可达性。这可通过适当地配置发射功率水平,使用定向天线,并使用802.11 标准中指定的发现和连接建立的标准方法,来用符合802.11标准的现有硬件实现。 为了达到最大范围,可以使用BSS(基本服务集)速率集的最低速率。然而,如果 可以在最高速率下维持物理可达性,则可使用较高的速率。点对点的最大发射功率 的调节准则比点对多点要高的多。扩展范围所需的定向天线可以是具有经修改的 RF前端的较小的天线。 即使当两个这样的无线设备能够在1到2千米的数量级的距离上通信,802.11 MAC的CSMA/CA部分对单播分组传输和接收也具有定时限制,这阻止了在这些 距离上的通信。当发送分组时,除了传输延迟之外,在分组到达接收器之前传播延 迟是与分组相关联的。传播延迟是发送器和接收器之间的距离的函数。较大的距离 导致较大的传播延迟。当接收器发现接收到的分组为有效时,这也适用于由接收器 发送的ACK分组。在足够大的距离上,由于发送的分组及其相关联的ACK分组 的相应的较大传播延迟值,由802.11MAC定义的标准延迟时段超时,并且发送器 重发相同的分组。由于发送器在标准延迟时段内没有接收到ACK分组,因此它判 定接收器没有正确地接收到分组。实际上,这可能不是真的。当标准延迟时段超时 且发送器重发分组时,ACK分组可能正在传输中。如果在第一传输或重发时在接 收器处正确地接收到分组,则接收器使用802.11MAC的重复分组检测机制丢弃后 续的重发。然而,重发在默认短重试限制的情况下导致1/7带宽的浪费,而在默认 长重试限制的情况下导致1/4带宽的浪费。 如果发送的分组是来自一个IP数据报或802.11MSDU(MAC服务数据单元) 的由802.11MAC生成的分段,则发送器在无法成功地发送第一分段时,即当达到 第一分段的短重试或长重试限制时,异常中止其余分段的传输,导致整个802.111 MSDU的丢失。在这一情况下,如果接收器成功地接收到第一分段,则它使对同 一802.11MSDU的其他分段的等待超时并丢弃该分段。此外,由于当发送器超时 并重发分组时ACK分组可能正在传输中,因此对重发可能有冲突的机会。 图2中示出了离得远的无线设备的802.11MAX的CSMA/CA部分的操作。分 组50在时刻零处被发送,并且部分地由于对应于设备之间距离的传播延迟而在稍 后的时刻在目的地处接收到。假设成功地接收到分组,则接收器发送ACK分组52。 同样地,由于对应于设备之间的距离的传播延迟,在标准延迟时段超时后接收到 ACK分组52。因此,发送器判定第一个所发送的分组丢失,并且在标准延迟时段 超时后重发分组50。尽管有在目的地处成功地接收到第一传输这一事实,仍重发 分组,从而导致上述的低效。 问题可总结如下:(1)当801.11MSDU被分段时,整个802.11MSDU丢失。 (2)当802.11MSDU未分段时,第一传输的成功决定了在接收器处802.11MSDU 的送达的成功。(3)当802.11MSDU未分段且在第一传输时被成功地接收到时, 带宽被浪费了取决于重试限制值的因数。 通过修改802.11MAC的CSMA/CA部分来解决这些问题的任何尝试需要对硬 件的改变和对空中协议的改变,这使得这种方法不吸引人,并且造成在现有和标准 硬件之间缺乏互操作性的较高的可能性。因此,目标是不修改802.11MAC的 CSMA/CA部分的解决方案。 现在描述一种在两个无线设备之间扩展范围的无线通信方法。所公开的方法 的第一步涉及检测希望通信的两个无线设备是离得远的还是离得不远。离得远和离 得不远的区别基于这样的距离,超过该距离,两个无线设备在使用标准802.11MAC 协议时不能有效地通信,并且该距离一般约为200米的数量级。特定系统中离得远 和离得不远的实际区别取决于该系统的定时参数。如果确定无线设备离得不远,则 可使用标准802.11MAC协议。如果确定无线设备离得远,则使用上述通信方法来 扩展无线设备的范围。对每对希望通信的无线设备作出离得远还是离得不远的判 定。 可以在包括发现和连接建立阶段的任何时间执行离得远还是离得不远的设备 的检测。检测逻辑涉及判定对仅发送一次的802.11MPDU(MAC协议数据单元) 是否实际接收到ACK分组,以及由于未接收到ACK分组而使传输状态被示为失 败。MPDU仅被发送一次以避免重发和对第一个传输的ACK分组之间的潜在冲突。 在这种情况下,重发计数是零,并且对802.11MPDU的传输状态是在由802.11MAC 的CSMA/CA部分定义的标准延迟时段内无法接收到ACK分组。如果在最大延迟 时段内并且在发送器获得对信道的接入以发送下一分组之前接收到MAC分组,则 就判定设备是离得远的。在作出离得远的结论之前应该观察几个样本。如果在每个 发送的分组的最大延迟时段内接收到ACK分组并且接收到的ACL分组与失败的 传输相关,则判定设备是离得远的。超过最大延迟时段,接收到的ACK分组被丢 弃,并且与失败的传输不相关。该检测导致以下描述的用于范围扩展的方法的应用。 检测逻辑可以作为802.11MAC的较高的MAC部分的一部分来提供,而不同通过 扩展802.11MAC的CSMA/CA层或较低的MAC部分来提供。该方法确保无需对 硬件作出改变以实现该逻辑。如果在802.11MAC的CSMA/CA部分指定的标准延 迟时段内接收到ACK分组,则确定设备离得不远,并使用标准802.11通信方法。 检测逻辑可以在任何时刻通过判定在标准延迟时段内接收到ACK分组来判定 两个无线设备是否不再离得远。在这种情况下,ACK接收计数是1,重发计数是 零,且802.11MPDU的重发状态是成功。在作出无线设备离得不远的结论前应该 观察几个样本。对离得不远的检测导致使用标准802.11通信方法,并且也还原短 和长重试限制的原始值。 对于离得远的无线设备的检测,两个无线设备都必须支持该检测逻辑和所公 开的用于范围扩展的方法。性能信息可以作为连接建立阶段的一部分例如通过使用 自定义信息元素来传递。 假设如上所述判定无线设备离得远,则使用用于范围扩展的方法。首先,将 短重试限制和长重试限制值设为零。这确保了发送器将单播分组作为广播分组来对 待。这意味着发送器不会等待来自接收器的ACK分组确认,并且不会执行重发。 然而,这并不意味着接收器在成功地接收到分组时也不会发送ACK分组。如果接 收器成功地接收到每个分组的第一次传输,则解决了上述问题(1)和(3)。对于每个 802.11MSDU,短重试限制和长重试限制值应该被设为零。这确保了对离得不远的 无线设备使用了802.11标准中定义的基于ACK的重发机制于,而仅对离得远的无 线设备使用所公开的用于范围扩展的方法。 为了解决上述问题(2),发送器需要判定何时丢失了发送的分组。可以通过扩 展802.11MAC的较高的MAC部分来提供判定何时丢失分组的发送逻辑。该发送 逻辑维护按目的地的单播分组队列,并监视一自定义ACK分组。该自定义ACK 分组可以是如802.11标准中定义的自定义数据分组或自定义管理分组。对于发送 到被确定为离得远的目的地、并且对其802.11MAC的CSMA/CA部分指示由于没 有接收到标准ACK分组而使传输失败的每个单播分组,该发送逻辑继续将该分组 维护在按目的地的分组队列中,直至它接收到自定义ACK分组或等待自定义ACK 分组的最大延迟时段超时。在发送逻辑在最大延迟时段内接收到自定义ACK分组 的情况下,它将分组从队列中删除并继续其他分组的传输。在最大延迟时段超时前 没有接收到自定义ACK分组的情况下,发送逻辑重发分组并再次等待自定义ACK 分组。最大重发次数可以是可配置的数字。 当发生实际冲突并且发送的分组被丢失时,不采用基于ACK的重发的标准技 术。因此,接收器需要在802.11MSDU作为片段发送且片段之一受到冲突时不会 使得成功接收到的分段超时的方式。克服这个问题的一个方式是当发送器检测到设 备离得远时,在每一目的地的基础上禁用分段。然而,当传输差错率较高时,分段 是有帮助的。较小的分组发送得较快,由此减少了冲突的机会,并且片段的重发成 本较小。克服这个问题的另一方式是通过维护一附加的片段计数器来扩展802.11 MAC的较高部分。对每个片段的自定义ACK分组递增该片段计数器。为了确保 不会触发CSMA/CA层逻辑来进行序号和片段号检查,指示较低的MAC向较高的 MAC指示其超时分组的版本。 此外,由于在802.11MAC的CSMA/CA层上每个分组仅被发送一次,并且由 于较晚地接收到标准ACK分组,因此重要的是发送器保留足够的信道接入时间以 避免其他无线设备竞争信道接入。这可以通过在802.11报头的持续时间字段放置 适当的值来实现。这是一种优化,因为大多数其他无线设备将及时感测到延迟的标 准ACK分组以避免传输。 参考图3-6描述了依照本发明的一个实施例在两个无线设备之间进行范围扩 展的方法。图3示出了用于范围扩展的方法的流程图。在步骤100中,作出关于第 一和第二无线设备是离得远还是离得不远的判定。第一和第二无线设备可对应于例 如图1所示的无线站24和接入点20。步骤100在4中详细示出。如果在步骤102 处判定设备离得不远,则在步骤104中使用802.11MAC的较低部分处的标准协议 将分组从第一设备发送到第二设备。 如果在步骤102中判定设备离得远,则在步骤110中禁用标准802.11MAC协 议。如上所述,可用通过将短重试和长重试限制设为零来禁用标准802.11MAC协 议。这有效地致使每个分组传输被较低的MAC作为广播传输来对待,这无需确认。 在步骤112中,发送分组,且分组或指向该分组的指针被置于按目的地的队 列中。在步骤114中,判定是否在最大延迟时段内接收到自定义ACK分组。最大 延迟时段比802.11MAC的较低部分指定的标准延迟时段要长,并且允许与离得远 的设备相关联的较长的传播延迟。如果在最大延迟时段内接收到自定义ACK分组, 则在步骤116中从队列中移除对应的分组,并且该过程返回到步骤112以进行其他 分组的传输。如果在最大延迟时段内没有接收到自定义ACK分组,则在步骤120 中作出关于是否达到了重发限制的判定。重发限制对应于在802.11MAC的较低部 分中使用的重试限制,并且如上所述可以是可配置的。如果达到了重发限制,则在 步骤122中将传输状态改为失败。如果没有达到重发限制,则在步骤124中重发分 组,并且该过程返回到步骤114以判定响应于重发的分组是否在最大延迟时段内接 收到自定义ACK分组。步骤112、114、116、120、122和124组成了在802.11MAC 的较高部分处实现的自定义协议。 图4中示出了用于检测离得远还是离得不远的设备的过程。在步骤150中, 通过将短重试和长重试限制设为零来禁用在802.11MAC的较低部分处的重发。这 有效地防止了分组的重发。在步骤152中,将分组从第一无线设备发送到第二无线 设备。在步骤154中,判定是否在标准延迟时段内接收到标准ACK分组。如果在 标准延迟时段内没有接收到ACK分组,则将传输状态指示为失败。因此,传输状 态可以用作离得远还是离得不远的指示符。如果在标准延迟时段内接收到ACK分 组,则在步骤156中判定设备离得不远。如果在标准延迟时段内没有接收到ACK 分组,则在步骤158中指示设备离得远。可以重复步骤152和154几次,并且如果 得到一致的结果就得出结论。 图5中示出了在最大延迟时段内接收到自定义ACK分组的情况的时序图。示 出了对第一无线设备的发送和接收的信号。分组200在时刻零处被发送,且被置于 按目的地的队列中。这对应于图3中的步骤112。在标准延迟时段之后但在最大延 迟时段之前接收到自定义ACK分组210,这指示在目的地处成功地接收到分组 200。将分组200重队列中移除并且不进行重发。这对应于图3中的步骤114和116。 图6中示出了在最大延迟时段内没有接收到自定义ACK分组的情况的时序 图。示出了对第一无线设备的发送和接收的信号。在时刻零处发送分组220。自定 义ACK分组230或是没有被接收到,或是在最大延迟时段超时后被接收到。在这 种情况下,在最大延迟时段超时后并且没有接收到自定义ACK分组的情况下重发 分组200。这对应于图3中的步骤114、120和124。 本发明的上述实施例可以用多种方式中的任一种来实现。例如,各实施例可 以使用硬件、软件或其组合来实现。当用软件实现时,软件代码可以在任何适当的 处理器或处理器集合上执行,而不管处理器是在单个计算机中提供的还是分布在多 个计算机之中。 同样地,这里概述的各种方法和过程可以被编码为在采用多种操作系统或平 台的任一种的一个或多个处理器上执行的软件。此外,这种软件可以使用多种合适 的编程语言和/或传统编程或脚本工具中的任一种来编写,并且也可以被编译成可 执行机器语言代码。 在这方面,本发明可被具体化为由一个或多个程序编码的计算机可读介质(或 多个计算机可读媒体)(例如计算机存储器、一个或多个软盘、紧致盘、光盘、磁 盘等),这些程序当在一个或多个计算机或其他处理器上执行时执行实现上述本发 明各个实施例的方法。计算机可读介质或媒体可以是可运输的,这样使得其上的一 个或多个程序可以被载入到一个或多个不同计算机或其他处理器上,以实现上述本 发明的各个方面。 在本申请中使用的一般意义上的术语“程序”或“软件”是指可用于对计算 机或其他处理器编程以实现上述本发明的各方面的任何类型的计算机代码或计算 机可执行指令集。此外,应该理解,依照本实施例的一方面,当执行时执行本发明 各方法的一个或多个计算机程序无需驻留在单个计算机或处理器上,而是可以以模 块化的方式分布在多个不同的计算机或处理器之中以实现本发明的各个方面。 计算机可执行指令可以采用许多形式,诸如由一个或多个计算机或其他设备 执行程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的 例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以按照各实施例 所需地组合或分布。 本发明的各个方面可以单独、组合或者以不同于以上描述的实施例中具体讨 论的各种排列来使用,由此不会将其应用限于以上描述中阐明或在附图中示出的细 节和组件排列。例如,一个实施例中描述的各方面可以用任何方式与其他实施例中 描述的各方面相结合。 在权利要求中使用诸如“第一”、“第二”和“第三”等序数词来修饰权利 要求要去本身并不意味着一个权利要求要求对于另一个权利要求要素的任何优先 级、优先次序或顺序,或执行方法的各动作的时间顺序,而只是用作将具有某个名 称的一个权利要求要素与具有同一名称(但使用序数词)的另一个要素相区分的标 签,以便区分权利要求要素。 同样,本申请中所使用的措词和术语是旨在描述,而不应该被认为是限制。 在本申请中使用的“包括”、“包含”或“具有”、“含有”、“涉及”及其变体 旨在包含此后所列示的项目、其等价物以及其他项目。 在如此描述了本发明的至少一个说明性实施例之后,可以理解,各种改变、 修改和改进对本领域的技术人员而言会是显而易见的。这种改变、修改和改进旨在 成为本发明的一部分,并且旨在落入本发明的精神和范围内。因此,以上描述和附 图仅作为示例。 |