MOCA中发生错误时快速MAP恢复的方法.pdf

上传人:000****221 文档编号:1036323 上传时间:2018-03-27 格式:PDF 页数:15 大小:461.69KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080011003.5

申请日:

2010.03.16

公开号:

CN102341784A

公开日:

2012.02.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/00申请日:20100316|||公开

IPC分类号:

G06F11/00

主分类号:

G06F11/00

申请人:

熵敏通讯股份有限公司

发明人:

刘昌文; A·穆勒; R·李

地址:

美国加利福尼亚州

优先权:

2009.03.17 US 61/160,986; 2009.03.31 US 12/415,875

专利代理机构:

北京万慧达知识产权代理有限公司 11111

代理人:

杨颖;张一军

PDF下载: PDF下载
内容摘要

一种方法,包括:接收预定长度的信息,该信息包括第一MAC协议数据单元(MPDU),其长度可变并包括至少一个子MPDU;独立地解码该第一子MPDU以及所述接收到的信息的多个附加部分,每一部分具有与一个子MPDU相同的长度;处理来自所述第一子MPDU的数据;以及从经处理的数据确定多少个其他被解码的部分组成了所接收到的MPDU的子MPDU。

权利要求书

1: 一种方法, 包括 : a) 接收预定长度的信息, 该信息包括第一 MAC 协议数据单元 (MPDU), 该第一 MACMPDU 长度可变并且包括至少一个子 MPDU ; b) 独立地解码所述第一子 MPDU 以及所述接收到的信息的多个附加的部分, 每一部分 具有预定的长度 ; c) 处理来自所述第一子 MPDU 的数据 ; 以及 d) 基于所述经处理的数据确定多少个其他被解码的部分组成所述接收到的 MPDU 的子 MPDU。
2: 如权利要求 1 所述的方法, 其还包括预测下一个媒体访问计划 (MAP) 何时到达, 包 括: a) 从所述第一子 MPDU 的经处理的数据读取间隔值 ; 以及 b) 基于所述间隔值和所述第一 MAP 到达的时间, 计算下一个 MAP 的到达时间。
3: 如权利要求 1 所述的方法, 其还包括 : 只有当所述第一子 MPDU 的数据指出第二子 MPDU 包括需要处理的数据时, 才处理所述第二子 MPDU 的数据。
4: 如权利要求 1 所述的方法, 其中, 所述第一子 MPDU 的数据指出所述第一 MPDU 和下一 个 MPDU 之间的间隔。
5: 如权利要求 1 所述的方法, 其中, 所述第一子 MPDU 的数据指出多少个 MPDU 之后, MPDU 之间的间隔将改变。
6: 如权利要求 1 所述的方法, 其还包括 : 利用在失败之前接收到的 MPDU 内所接收的信 息, 确定最后接收到的 MPDU 和下一个 MPDU 的发送之间的间隔, 从而确定下一个 MPDU 到达 的时间。
7: 一种网络节点, 包括 : a) 计算机可读存储介质 ; 以及 b) 与所述计算机可读存储介质进行数据通信的处理器, 该处理器被配置成 : i) 接收预定长度的信息, 该信息包括第一 MAC 协议数据单元 (MPDU), 该第一 MAC MPDU 长度可变并且包括至少一个子 MPDU ; ii) 独立地解码所述第一子 MPDU 以及所述接收到的信息的多个附加的部分, 每一部分 具有与一个子 MPDU 相同的长度 ; iii) 处理来自所述第一子 MPDU 的数据 ; 以及 iv) 基于所述经处理的数据, 确定多少个其他被解码的部分组成所述接收到的 MPDU 的 子 MPDU。
8: 如权利要求 7 所述的网络节点, 其中, 所述处理器还被配置成预测下一个 MPDU 何时 到达, 其包括 : a) 被配置成从所述第一子 MPDU 的经处理的数据读取间隔值 ; 以及 b) 基于所述间隔值和所述第一 MAP 到达的时间, 计算下一个 MAP 的到达时间。
9: 如权利要求 7 所述的网络节点, 其中, 所述处理器还被配置成只有当所述第一子 MPDU 的数据指出第二子 MPDU 包括需要处理的数据时, 才处理所述第二子 MPDU 的数据。
10: 如权利要求 7 所述的网络节点, 其中, 所述第一子 MPDU 的数据指出所述第一 MAP 和 下一个 MAP 之间的间隔。 2
11: 如权利要求 7 所述的网络节点, 其中, 所述第一子 MPDU 的数据指出多少个 MPDU 之 后, 相继的 MPDU 之间的间隔将改变。
12: 如权利要求 7 所述的网络节点, 其中, 所述处理器还被配置成利用在失败之前接收 到的 MPDU 内所接收的信息, 确定最后接收到的 MPDU 和下一个 MPDU 的发送之间的间隔, 从 而确定下一个 MPDU 到达的时间。
13: 一种载有程序代码的计算机可读存储介质, 其中, 当该程序代码被处理器执行, 该 处理器将执行一种方法, 该方法包括 : a) 接收预定长度的信息, 该信息包括第一 MAC 协议数据单元 (MPDU), 该第一 MAC MPDU 长度可变并且包括至少一个子 MPDU ; b) 独立地解码所述第一子 MPDU 以及所述接收到的信息的多个附加的部分, 每一部分 具有与一个子 MPDU 相同的长度 ; c) 处理来自所述第一子 MPDU 的数据 ; 以及 d) 基于所述经处理的数据, 确定多少个其他被解码的部分组成所述接收到的 MPDU 的 子 MPDU。
14: 如权利要求 13 所述的计算机可读存储介质, 其中, 所述方法还包括预测下一个 MPDU 何时到达, 其包括 : i) 从所述第一子 MPDU 的经处理的数据读取间隔值 ; 以及 ii) 基于 所述间隔值和所述第一 MPDU 到达的时间, 计算下一个 MPDU 的到达时间。
15: 如权利要求 13 所述的计算机可读存储介质, 其中, 所述方法还包括 : 只有当所述第 一子 MPDU 的数据指出第二子 MPDU 包括需要处理的数据时, 才处理所述第二子 MPDU 的数 据。
16: 如权利要求 13 所述的计算机可读存储介质, 其中, 所述第一子 MPDU 的数据指出所 述第一 MPDU 和下一个 MPDU 之间的间隔。
17: 如权利要求 13 所述的计算机可读存储介质, 其中, 所述第一子 MPDU 的数据指出多 少个 MPDU 之后, 相继的 MPDU 之间的间隔将改变。
18: 如权利要求 13 所述的计算机可读存储介质, 其中, 所述方法还包括 : 利用在失败之 前接收到的 MPDU 内所接收的信息, 确定最后接收到的 MAP 和下一个 MAP 的发送之间的间 隔, 从而确定下一个 MAP 到达的时间。
19: 一种快速找到并解码长度可变的相关信息包的方法, 包括 : a) 在未能找到并解码之前发送的相关信息包之后, 利用来自失败之前接收到的包的信 息, 确定最后接收到的相关包和下一个相关包之间的间隔, 从而确定下一个相关包到达的 时间 ; b) 在确定了下一个相关包何时到达之后, 分部分地解码该下一个相关包, 每一部分被 独立地解码 ; 以及 c) 利用来自所述下一个相关包的第一部分的信息, 确定多少个这些被解码的部分实际 上是所述下一个相关包的部分。
20: 如权利要求 19 所述的方法, 其中, 所述之前接收到的相关包内所接收的信息指出 多少个相关包之后, 相继的相关包之间的间隔将改变。
21: 如权利要求 19 所述的方法, 其中, 所述步骤 a) 包括 : a) 从存储装置读取一间隔值 ; 以及 3 b) 基于所述间隔值以及所述之前接收到的相关包被接收到的时间, 计算下一个相关包 到达的时间。
22: 一种方法, 包括 : a) 基于将被发送的数据的数量, 确定包括于第一 MPDU 内的子 MAC 协议数据单元 (MPDU) 的数量 ; b) 把字头包括于所述子 MPDU 的第一个, 该字头包括所述 MPDU 中包括的附加子 MPDU 的 数量 ; c) 独立地编码所述第一子 MPDU ; d) 独立地编码所述多个附加的子 MPDU ; 以及 e) 发送所述第一 MPDU。
23: 如权利要求 22 所述的方法, 其中, 所述第一子 MPDU 还包括可被用于预测下一个 MPDU 何时被发送的信息。
24: 如权利要求 23 所述的方法, 其中, 所述可被用于预测的信息包括指出 MPDU 发送之 间的时间量的间隔值。
25: 如权利要求 22 所述的方法, 其中, 所述 MPDU 被包括于被发送的媒体访问计划 (MAP) 内, 并且所述第一子 MPDU 还包括可被用于预测下一个 MAP 何时被发送的信息。
26: 如权利要求 25 所述的方法, 其中, 所述可被用于预测的信息包括指出 MAP 发送之间 的时间量的间隔值。

说明书


MoCA 中发生错误时快速 MAP 恢复的方法

    相关申请的交叉引用
     本申请要求于 2009 年 3 月 17 日递交的第 61/160,986 号美国临时专利申请, 以及 于 2009 年 3 月 31 日递交的第 12/415,875 号美国专利申请的优先权。通过参考引用, 这两 件专利申请的全部内容被并入本申请。
     技术领域
     所披露的系统和方法是有关通过网络的数据传输。更具体地, 所披露的系统和方 法是有关在网络中从未能接收或正确处理数据包的情况下恢复。 背景技术
     在现有的同轴电缆多媒体联盟 (MoCA) 网络中, 数据包是通过同轴通信信道发送 的。通过网络的通信由网络协调器节点 (NC) 管理, 其发送信标和媒体访问计划 (MAP) 数据 包。信标是以固定的间隔发送的 ( 例如每 10ms), 并识别信道时钟 (CTC)、 MoCA 网络版本、 下一接纳控制帧 (ACF) 的时间以及何时发生 NC 切换 ( 例如, NC 何时从一个节点切换到另 一节点 )。
     NC 发送 MAP 包比信标更频繁, MAP 包提供调度信息, 其指出每一网络节点在何时通 过网络发送数据。 为了通过网络发送和接收数据, 连接至网络的每一节点依赖 MAP。 很多因 素会影响网络节点正确地接收 MAP。例如, 由网络节点附近的移动电话造成的 GSM 干扰可 能通过产生该网络节点的同信道干扰和 / 或邻近信道干扰而破坏 MAP。由于 GSM 干扰的长 度, 例如大约 0.577ms, 网络节点可能丢失或无法正确处理一个或更多 MAP。
     在现有的 MoCA 网络中, 丢失一个 MAP 包会使得网络节点接收不到后续发送的 MAP, 因为每一 MAP 指定了 MAP 包发送间隔, 例如, 下一个 MAP 被发送时的间隔。图 1 是时序图, 其展示了在现有的 MoCA 网络中, 一个网络节点没能接收到一 MAP, 然后恢复正常。 如图 1 所 示, 节点 1 没能从 NC 接收到 MAP2。NC 继续在网络上广播 MAP, 但由于节点 1 没能接收到或 正确处理 MAP2, 节点 1 没能接收到或正确处理 MAP3 至 MAP6。在现有的 MoCA 网络中, 节点 1 必须等待直至其接收到并处理下一个信标, 即信标 2, 以确定 MAP 的传输间隔, 从而再次接 收并正确处理 MAP 包, 例如, MAP7。因为 MAP 的发送比信标更频繁, 没能接收到或正确处理 一个 MAP 包的节点可能无法接收到下面的几个 MAP 包, 因为它必须等待下一个信标。因此, 一旦节点未能接收到一个 MAP, 该节点实质上与网络断开了一段时间 ( 对于图 1 的例子而言 是从 MAP2 至 MAP7), 因为它将接收不到后续的 MAP 包并确定数据何时通过网络被发送, 直至 该节点接收到下一个信标。另外, 该节点也将无法向 NC 请求任何时隙用于发送缓冲的数据 包, 直至接收到下一个信标。因此, 需要一种改进的方法, 以从丢失一个 MAP 恢复正常。 发明内容
     在一些实施方式中, 一种方法包括接收预定长度的信息, 该信息包括长度可变的 第一 MAC 协议数据单元 (MPDU), 该 MPDU 包括至少一个子 MPDU ; 独立地解码所述第一子 MPDU以及所述接收到的信息的多个附加部分, 其中每一部分具有预定的长度。在一个实施方式 中, 每一附加的部分具有与所述第一子 MPDU 相同的长度。该方法还包括处理来自所述第一 子 MPDU 的数据 ; 以及根据所述经处理的数据确定多少个其他被解码的部分组成所述接收 到的 MPDU 的子 MPDU, 并且在一个实施方式中, 根据所述经处理的数据确定附加子 MPDU 的长 度。
     在一些实施方式中, 一种网络节点, 包括计算机可读存储介质以及与该计算机可 读存储介质进行数据通信的处理器。该处理器被配置成接收预定长度的信息, 该信息包括 长度可变的并包括至少一个子 MPDU 的第一 MAC 协议数据单元 (MPDU), 独立地解码所述第一 子 MPDU 以及所述接收到的信息的多个附加部分, 其中每一部分的长度与一个子 MPDU 的长 度相同, 处理来自所述第一子 MPDU 的数据, 以及根据所述经处理的数据确定多少个其他被 解码的部分组成所述接收到的 MPDU 的子 MPDU。
     在一些实施方式中, 一种方法, 包括利用在之前接收到的相关包内所接收的信息 来确定最后接收到的相关包和下一个相关包发送之间的间隔, 从而确定下一个相关包到达 的时间, 所述信息被用于在失败后找到并解码在所述之前接收到的相关包之后发送的相关 信息包。 在确定下一个相关包何时到达后, 分部分地解码该下一个相关包, 其中每一部分是 被独立地编码。 以及利用来自所述下一个相关包的第一部分的信息来确定多少个这样被解 码的部分实际上是所述下一个相关包的部分。因为每一部分是被独立地编码, 每一部分可 以被独立地解码。 这些方法可以载有程序代码的计算机可读的存储介质的方式呈现, 该程序代码可 被载入处理器, 这样, 当该处理器执行这些代码时, 将实施所述方法。
     附图说明 图 1 是现有 MoCA 网络中失败恢复的时序图。
     图 2 展示了 MAP MAC 协议数据单元 (MPDU) 的一个实施例。
     图 3 是流程图, 展示了处理 MAP 包的方法的一个实施例。
     图 4 是流程图, 展示了从失败中恢复的方法的一个实施例。
     图 5 是网络中一个节点在丢失一个包后恢复的一个实施例的时序图。
     图 6 展示了异步数据网络中固定的包发送间隔。
     图 7 展示了根据图 3 和 4 所示的方法的, 被配置成处理数据包并从未能接收到一 个包恢复正常的网络节点的一个实施例。
     具体实施方式
     下面描述了用于从未能接收到或未能正确处理 MAP 恢复正常的系统和方法。所披 露的系统和方法的一个实施例是在网络中实现的, 在该网络中, MAP 是以预定的固定的间隔 发送。该网络可包括网络协调器 (NC), 其管理网络节点间的数据传输。图 7 展示了网络节 点的一个例子的简化的方块图。如图 7 所示, 网络节点 700 可以包括处理器 702, 其与计算 机可读存储介质 704 通信, 以及使得网络节点 700 能够通过网络发送及接收数据的物理接 口。 处理器 702 可以是任意计算装置, 包括但不限于中央处理器 (CPU)、 微控制器, 或类似的 装置。计算机可读存储介质 704 可以是任何类型的存储装置, 包括但不限于随机存取存储器 (RAM)、 只读存储器 (ROM)、 闪存、 硬盘或类似的装置, 被配置成存储数据以及可被处理器 702 执行的指令。
     如图 2 所示, 在所披露的方法和装置的一个实施例中, MAP MAC 协议数据单元 (MPDU)201 包括多个彼此相继的子 MPDU 200。第一子 MPDU 200 的字头 202 指出该系列子 MPDU 中子 MPDU 的确切数量, 每一子 MPDU 具有相同的长度并且被独立地编码。作为替代方 案, 每一子 MPDU 的长度可以预定的方式变化。 因为每一子 MPDU 被独立地编码, 每一子 MPDU 可以独立地解码。作为替代方案, 可以在单个编码操作中把每一子 MPDU 一起编码。然而, 这样的话, 每一子 MPDU 就不能被独立地解码, 这样就会失去用所述字头携带 MPDU 201 内子 MPDU 200 的数量的优势。每一子 MPDU 可以具有 400 字节的长度, 包括字头 202( 仅对于第 一子 MPDU) 以及载荷 204。相应地, MPDU 201 可以具有 1600 字节的长度, 而每一子 MPDU 可 以具有 400 字节的长度。本领域技术人员可以理解, MPDU 201 和子 MPDU 200 也可以是其 他长度。
     在一个实施例中, 在如图 6 所示的异步网络中, NC 以恒定间隔发送 MAP MPDU 201。 与已有的 MoCA 网络相比, 以恒定间隔发送 MAP 使得网络节点 700 能够更快地从丢失一个 MAP 恢复正常, 这将在下文中进行更具体地解释。 通过向需要改变该间隔的每一个网络节点 发送通知, 可以改变该恒定间隔。该通知可以被包括于 MAP 的字头 202 或载荷 204 中, 其可 以包括下一个包传输间隔的值, 以及指出在多少个 MAP 之后所述包传输间隔将改变的倒计 数值。在每一逐次发送的 MAP MPDU 中, 该倒计数值可以被递减, 直至该值为零, 在这之后, MPDU 传输间隔将被改变。例如, 通过在 MAP 内传输值为 0.75 的下一个包传输值以及值为 “1” 的倒计数值, 可以在下一个 MAP MPDU 被接收到后, MPDU 传输间隔从 1ms 变为 0.75ms。 无论 MAP 以什么格式在网络中实现, 如果没有接收到或没能正确处理之间的 MAP, 例如, 发生了失败, 接收 MPDU 201 的网络节点 700 可以利用来自该 MPDU 201 的信息来精确 地计算下一个 MAP 或后续 MAP 的到达时间。在一个实施例中, 该信息包括所述恒定间隔的 当前值或如图 6 那样发送的新的恒定间隔的值。例如, 如果 NC 发送如图 2 所示的实施例那 样的具有多个子 MPDU 200 的 MAP, 那么该网络节点将解码每一子 MPDU 200 并检查第一子 MPDU 的字头, 以确定是否有相继的子 MPDU 200。如果该第一子 MPDU 字头 202 指出没有相 继的子 MPDU 200, 那么该节点 700 已经处理了所有被发送的子 MPDU, 仅处理了第一子 MPDU。 然而, 如果该第一子 MPDU 字头 202 指出还有附加的相继的子 MPDU 200, 那么该节点 700 也 将处理这些子 MPDU。通过这种方式, 该节点能够正确地识别和接收每一 MAP。
     作为替代方案, 如果所述 NC 在单个子 MPDU 200 内发送 MAP, 那么节点 700 会假定 下一个 MAP MPDU 201 具有可能的最大尺寸 ( 如 1600 字节 ), 并且根据该假设计算该 MAP MPDU 201 的发送结束时间。该网络节点 700 在计算获得的 MAP 发送间隔内接收所有比特, 并且一个一个地解码所接收到的每一子 MPDU 200 的比特。当该网络节点 700 处理所述子 MPDU 的字头 202 的比特时, 其识别该 MAP MPDU 201 的实际长度, 然后从接收到的比特恢复 该 MAP MPDU 201 的字节。当不包括载荷数据时, 该网络节点 700 可以忽略并且不处理由所 述 MAP 子 MPDU 的字头 202 识别出的任何比特。
     图 3 是流程图, 展示了在网络节点 700 处理所述 MAP 子 MPDU 200 的方法 300 的一 个实施例。如图 3 所示, 在框 302 中, 在网络节点 700 处接收到一 MAP。在框 304 中, 该网 络节点 700 解码该 MAP 的每一子 MPDU 200。在框 306 中, 该网络节点 700 处理第一子 MPDU
     200 的字头 202 和载荷 204。在框 308 中, 如果所述第一子 MPDU 200 的经处理的数据指出 后续的子 MPDU 200 包括需要处理的数据, 该网络节点 700 将处理下一个子 MPDU 200 或子 子 MPDU。然而, 如果所述第一子 MPDU 200 的经处理的数据指出后续的子 MPDU 200 不包括 需要处理的数据, 那么该网络节点 700 可以跳过框 308 并且不处理来自后续的子 MPDU 200 的数据。
     在框 310 中, 从所述经处理的数据读取包发送间隔值、 倒计数值以及下一个包发 送间隔值。 包发送间隔值、 倒计数值、 下一个包发送间隔值以及包到达时间可被存储于网络 节点 700 的计算机可读介质 704 内, 这样, 当发生失败事件时就能够利用这些信息, 如以下 详细描述的。网络节点 700 可基于所述间隔值、 倒计数值以及前一 MAP MPDU 201 的到达时 间计算下一个 MAP 的到达时间。通过这种方式, 网络节点 700 处理每一 MAP 子 MPDU 并存储 所述间隔、 倒计数值以及最后一个包的到达时间, 使得网络节点 700 能够从失败中恢复以 接收或正确处理后续的 MAP 子 MPDU 200。
     图 4 是流程图, 展示了从失败中恢复以接收或正确处理相关包, 如 MAP 子 MPDU 200 的方法 400 的一个实施例。在框 402 中, 网络节点 700 接收相关包。如上面结合图 3 描述 的那样, 该相关包被解码并处理。来自该相关包的信息, 如该包的到达时间、 当前包发送间 隔、 倒计数标识符以及下一个包发送间隔值, 被存储在计算机可读存储介质 704 内。 在框 404 内, 网络节点 700 确定其未能接收或正确处理相关包。 一旦网络节点 700 确定其没有接收到相关包, 该节点 700 在框 406 内通过从计算机可读存储介质 704 读取之 前接收到的相关包内所接收的信息开始进行失败恢复。如以上所描述, 该信息可包括之前 接收到的相关包的到达时间、 当前包发送间隔、 倒计数标识符以及下一个包发送间隔值。 这 样, 该网络节点 700 可利用从计算机可读存储介质 704 读取的信息来确定下一个相关包何 时到达。
     例如, 如果连续的相关包之间的间隔不变, 那么网络节点 700 将利用前一个接收 到的包的到达时间和当前包发送间隔值来确定下一个相关包的到达时间。 如本领域技术人 员所能理解的, 如果计算获得的下一个相关包的到达时间已过, 那么网络节点 700 可以用 两倍、 三倍或多倍的包发送间隔来确定下一个相关包的到达时间。
     网络节点 700 还可以通过检查倒计数值来确定下一个包之后包之间的间隔是否 将改变。例如, 如果之前接收到的相关包具有为 “1” 的倒计数值, 那么后续的相关包, 例如 网络节点 700 还没有接收到的包, 具有为 “0” 的倒计数值。相应地, 网络节点 700 确定下一 个相关包将以不同的包发送间隔被发送, 网络节点 700 将利用新的包发送间隔值和之前的 包发送间隔值以及最后接收到的包的到达时间来确定下一个相关包的到达时间。例如, 之 前接收到的包在时间 t 到达, 之前的包发送间隔为 1ms, 并且新的包发送间隔为 0.7ms, 那么 网络节点 700 将计算得出下一个相关包会在 t+1.7ms 时到达。
     在框 408 中, 网络节点 700 接收下一个相关包。在框 410 中, 在接收到下一个相关 包后, 网络节点 700 根据以上所述解码该包的每一个部分。在框 412 中, 网络节点 700 确定 该相关包所包括的部分的数量。如果第一部分指出该包的每一部分都包括数据, 那么网络 节点 700 将处理该包的每一个部分。然而, 如果该包的第一部分指出该包的一个或更多部 分不包括数据, 那么网络节点 700 可忽略该包的这些部分。在框 414 中, 网络节点 700 可把 包含于相关包内的信息存储于计算机可读存储介质 704 中。如以上所描述, 该信息可包括
     当前包发送间隔值、 倒计数值、 下一个包发送间隔值以及之前接收到的相关包的到达时间。 本领域技术人员能够理解, 其他信息也可被存储于计算机可读存储介质 704 中。
     以上描述的系统和方法使得在数据发送速率高于现有系统的网络中的网络节点 能够从丢失重要数据包的条件恢复正常。 更快地从丢失数据包恢复正常降低了网络节点在 失败事件中丢失数据的数量, 从而提高了网络的效率。
     尽管所披露的方法和装置是基于特定的实施例来描述, 但要求保护的发明却不限 于此。所附的权利要求应被解释成涵盖更宽的范围, 以包括所披露的方法和装置的其他改 变和实施方式, 其中, 这些改变和实施方式可由本领域技术人员在不脱离所要求保护的发 明的等同物的范围内实现。权利要求中所采用的分隔符, 如 ‘a)’ 和 ‘i)’ 不应被当作为权 利要求设置了顺序, 而仅仅是作为权利要求分解的可视化符号, 以及作为之后引用权利要 求特定部分的识别符号。

MOCA中发生错误时快速MAP恢复的方法.pdf_第1页
第1页 / 共15页
MOCA中发生错误时快速MAP恢复的方法.pdf_第2页
第2页 / 共15页
MOCA中发生错误时快速MAP恢复的方法.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《MOCA中发生错误时快速MAP恢复的方法.pdf》由会员分享,可在线阅读,更多相关《MOCA中发生错误时快速MAP恢复的方法.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102341784A43申请公布日20120201CN102341784ACN102341784A21申请号201080011003522申请日2010031661/160,98620090317US12/415,87520090331USG06F11/0020060171申请人熵敏通讯股份有限公司地址美国加利福尼亚州72发明人刘昌文A穆勒R李74专利代理机构北京万慧达知识产权代理有限公司11111代理人杨颖张一军54发明名称MOCA中发生错误时快速MAP恢复的方法57摘要一种方法,包括接收预定长度的信息,该信息包括第一MAC协议数据单元MPDU,其长度可变并包括至少一个子M。

2、PDU;独立地解码该第一子MPDU以及所述接收到的信息的多个附加部分,每一部分具有与一个子MPDU相同的长度;处理来自所述第一子MPDU的数据;以及从经处理的数据确定多少个其他被解码的部分组成了所接收到的MPDU的子MPDU。30优先权数据85PCT申请进入国家阶段日2011090786PCT申请的申请数据PCT/US2010/0274312010031687PCT申请的公布数据WO2010/107758EN2010092351INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书5页附图6页CN102341798A1/3页21一种方法,包括A接收预定长度的信息,该信息。

3、包括第一MAC协议数据单元MPDU,该第一MACMPDU长度可变并且包括至少一个子MPDU;B独立地解码所述第一子MPDU以及所述接收到的信息的多个附加的部分,每一部分具有预定的长度;C处理来自所述第一子MPDU的数据;以及D基于所述经处理的数据确定多少个其他被解码的部分组成所述接收到的MPDU的子MPDU。2如权利要求1所述的方法,其还包括预测下一个媒体访问计划MAP何时到达,包括A从所述第一子MPDU的经处理的数据读取间隔值;以及B基于所述间隔值和所述第一MAP到达的时间,计算下一个MAP的到达时间。3如权利要求1所述的方法,其还包括只有当所述第一子MPDU的数据指出第二子MPDU包括需要。

4、处理的数据时,才处理所述第二子MPDU的数据。4如权利要求1所述的方法,其中,所述第一子MPDU的数据指出所述第一MPDU和下一个MPDU之间的间隔。5如权利要求1所述的方法,其中,所述第一子MPDU的数据指出多少个MPDU之后,MPDU之间的间隔将改变。6如权利要求1所述的方法,其还包括利用在失败之前接收到的MPDU内所接收的信息,确定最后接收到的MPDU和下一个MPDU的发送之间的间隔,从而确定下一个MPDU到达的时间。7一种网络节点,包括A计算机可读存储介质;以及B与所述计算机可读存储介质进行数据通信的处理器,该处理器被配置成I接收预定长度的信息,该信息包括第一MAC协议数据单元MPDU。

5、,该第一MACMPDU长度可变并且包括至少一个子MPDU;II独立地解码所述第一子MPDU以及所述接收到的信息的多个附加的部分,每一部分具有与一个子MPDU相同的长度;III处理来自所述第一子MPDU的数据;以及IV基于所述经处理的数据,确定多少个其他被解码的部分组成所述接收到的MPDU的子MPDU。8如权利要求7所述的网络节点,其中,所述处理器还被配置成预测下一个MPDU何时到达,其包括A被配置成从所述第一子MPDU的经处理的数据读取间隔值;以及B基于所述间隔值和所述第一MAP到达的时间,计算下一个MAP的到达时间。9如权利要求7所述的网络节点,其中,所述处理器还被配置成只有当所述第一子MP。

6、DU的数据指出第二子MPDU包括需要处理的数据时,才处理所述第二子MPDU的数据。10如权利要求7所述的网络节点,其中,所述第一子MPDU的数据指出所述第一MAP和下一个MAP之间的间隔。权利要求书CN102341784ACN102341798A2/3页311如权利要求7所述的网络节点,其中,所述第一子MPDU的数据指出多少个MPDU之后,相继的MPDU之间的间隔将改变。12如权利要求7所述的网络节点,其中,所述处理器还被配置成利用在失败之前接收到的MPDU内所接收的信息,确定最后接收到的MPDU和下一个MPDU的发送之间的间隔,从而确定下一个MPDU到达的时间。13一种载有程序代码的计算机可。

7、读存储介质,其中,当该程序代码被处理器执行,该处理器将执行一种方法,该方法包括A接收预定长度的信息,该信息包括第一MAC协议数据单元MPDU,该第一MACMPDU长度可变并且包括至少一个子MPDU;B独立地解码所述第一子MPDU以及所述接收到的信息的多个附加的部分,每一部分具有与一个子MPDU相同的长度;C处理来自所述第一子MPDU的数据;以及D基于所述经处理的数据,确定多少个其他被解码的部分组成所述接收到的MPDU的子MPDU。14如权利要求13所述的计算机可读存储介质,其中,所述方法还包括预测下一个MPDU何时到达,其包括I从所述第一子MPDU的经处理的数据读取间隔值;以及II基于所述间隔。

8、值和所述第一MPDU到达的时间,计算下一个MPDU的到达时间。15如权利要求13所述的计算机可读存储介质,其中,所述方法还包括只有当所述第一子MPDU的数据指出第二子MPDU包括需要处理的数据时,才处理所述第二子MPDU的数据。16如权利要求13所述的计算机可读存储介质,其中,所述第一子MPDU的数据指出所述第一MPDU和下一个MPDU之间的间隔。17如权利要求13所述的计算机可读存储介质,其中,所述第一子MPDU的数据指出多少个MPDU之后,相继的MPDU之间的间隔将改变。18如权利要求13所述的计算机可读存储介质,其中,所述方法还包括利用在失败之前接收到的MPDU内所接收的信息,确定最后接。

9、收到的MAP和下一个MAP的发送之间的间隔,从而确定下一个MAP到达的时间。19一种快速找到并解码长度可变的相关信息包的方法,包括A在未能找到并解码之前发送的相关信息包之后,利用来自失败之前接收到的包的信息,确定最后接收到的相关包和下一个相关包之间的间隔,从而确定下一个相关包到达的时间;B在确定了下一个相关包何时到达之后,分部分地解码该下一个相关包,每一部分被独立地解码;以及C利用来自所述下一个相关包的第一部分的信息,确定多少个这些被解码的部分实际上是所述下一个相关包的部分。20如权利要求19所述的方法,其中,所述之前接收到的相关包内所接收的信息指出多少个相关包之后,相继的相关包之间的间隔将改。

10、变。21如权利要求19所述的方法,其中,所述步骤A包括A从存储装置读取一间隔值;以及权利要求书CN102341784ACN102341798A3/3页4B基于所述间隔值以及所述之前接收到的相关包被接收到的时间,计算下一个相关包到达的时间。22一种方法,包括A基于将被发送的数据的数量,确定包括于第一MPDU内的子MAC协议数据单元MPDU的数量;B把字头包括于所述子MPDU的第一个,该字头包括所述MPDU中包括的附加子MPDU的数量;C独立地编码所述第一子MPDU;D独立地编码所述多个附加的子MPDU;以及E发送所述第一MPDU。23如权利要求22所述的方法,其中,所述第一子MPDU还包括可被用。

11、于预测下一个MPDU何时被发送的信息。24如权利要求23所述的方法,其中,所述可被用于预测的信息包括指出MPDU发送之间的时间量的间隔值。25如权利要求22所述的方法,其中,所述MPDU被包括于被发送的媒体访问计划MAP内,并且所述第一子MPDU还包括可被用于预测下一个MAP何时被发送的信息。26如权利要求25所述的方法,其中,所述可被用于预测的信息包括指出MAP发送之间的时间量的间隔值。权利要求书CN102341784ACN102341798A1/5页5MOCA中发生错误时快速MAP恢复的方法0001相关申请的交叉引用0002本申请要求于2009年3月17日递交的第61/160,986号美国。

12、临时专利申请,以及于2009年3月31日递交的第12/415,875号美国专利申请的优先权。通过参考引用,这两件专利申请的全部内容被并入本申请。技术领域0003所披露的系统和方法是有关通过网络的数据传输。更具体地,所披露的系统和方法是有关在网络中从未能接收或正确处理数据包的情况下恢复。背景技术0004在现有的同轴电缆多媒体联盟MOCA网络中,数据包是通过同轴通信信道发送的。通过网络的通信由网络协调器节点NC管理,其发送信标和媒体访问计划MAP数据包。信标是以固定的间隔发送的例如每10MS,并识别信道时钟CTC、MOCA网络版本、下一接纳控制帧ACF的时间以及何时发生NC切换例如,NC何时从一个。

13、节点切换到另一节点。0005NC发送MAP包比信标更频繁,MAP包提供调度信息,其指出每一网络节点在何时通过网络发送数据。为了通过网络发送和接收数据,连接至网络的每一节点依赖MAP。很多因素会影响网络节点正确地接收MAP。例如,由网络节点附近的移动电话造成的GSM干扰可能通过产生该网络节点的同信道干扰和/或邻近信道干扰而破坏MAP。由于GSM干扰的长度,例如大约0577MS,网络节点可能丢失或无法正确处理一个或更多MAP。0006在现有的MOCA网络中,丢失一个MAP包会使得网络节点接收不到后续发送的MAP,因为每一MAP指定了MAP包发送间隔,例如,下一个MAP被发送时的间隔。图1是时序图,。

14、其展示了在现有的MOCA网络中,一个网络节点没能接收到一MAP,然后恢复正常。如图1所示,节点1没能从NC接收到MAP2。NC继续在网络上广播MAP,但由于节点1没能接收到或正确处理MAP2,节点1没能接收到或正确处理MAP3至MAP6。在现有的MOCA网络中,节点1必须等待直至其接收到并处理下一个信标,即信标2,以确定MAP的传输间隔,从而再次接收并正确处理MAP包,例如,MAP7。因为MAP的发送比信标更频繁,没能接收到或正确处理一个MAP包的节点可能无法接收到下面的几个MAP包,因为它必须等待下一个信标。因此,一旦节点未能接收到一个MAP,该节点实质上与网络断开了一段时间对于图1的例子而。

15、言是从MAP2至MAP7,因为它将接收不到后续的MAP包并确定数据何时通过网络被发送,直至该节点接收到下一个信标。另外,该节点也将无法向NC请求任何时隙用于发送缓冲的数据包,直至接收到下一个信标。因此,需要一种改进的方法,以从丢失一个MAP恢复正常。发明内容0007在一些实施方式中,一种方法包括接收预定长度的信息,该信息包括长度可变的第一MAC协议数据单元MPDU,该MPDU包括至少一个子MPDU;独立地解码所述第一子MPDU说明书CN102341784ACN102341798A2/5页6以及所述接收到的信息的多个附加部分,其中每一部分具有预定的长度。在一个实施方式中,每一附加的部分具有与所述。

16、第一子MPDU相同的长度。该方法还包括处理来自所述第一子MPDU的数据;以及根据所述经处理的数据确定多少个其他被解码的部分组成所述接收到的MPDU的子MPDU,并且在一个实施方式中,根据所述经处理的数据确定附加子MPDU的长度。0008在一些实施方式中,一种网络节点,包括计算机可读存储介质以及与该计算机可读存储介质进行数据通信的处理器。该处理器被配置成接收预定长度的信息,该信息包括长度可变的并包括至少一个子MPDU的第一MAC协议数据单元MPDU,独立地解码所述第一子MPDU以及所述接收到的信息的多个附加部分,其中每一部分的长度与一个子MPDU的长度相同,处理来自所述第一子MPDU的数据,以及。

17、根据所述经处理的数据确定多少个其他被解码的部分组成所述接收到的MPDU的子MPDU。0009在一些实施方式中,一种方法,包括利用在之前接收到的相关包内所接收的信息来确定最后接收到的相关包和下一个相关包发送之间的间隔,从而确定下一个相关包到达的时间,所述信息被用于在失败后找到并解码在所述之前接收到的相关包之后发送的相关信息包。在确定下一个相关包何时到达后,分部分地解码该下一个相关包,其中每一部分是被独立地编码。以及利用来自所述下一个相关包的第一部分的信息来确定多少个这样被解码的部分实际上是所述下一个相关包的部分。因为每一部分是被独立地编码,每一部分可以被独立地解码。0010这些方法可以载有程序代。

18、码的计算机可读的存储介质的方式呈现,该程序代码可被载入处理器,这样,当该处理器执行这些代码时,将实施所述方法。附图说明0011图1是现有MOCA网络中失败恢复的时序图。0012图2展示了MAPMAC协议数据单元MPDU的一个实施例。0013图3是流程图,展示了处理MAP包的方法的一个实施例。0014图4是流程图,展示了从失败中恢复的方法的一个实施例。0015图5是网络中一个节点在丢失一个包后恢复的一个实施例的时序图。0016图6展示了异步数据网络中固定的包发送间隔。0017图7展示了根据图3和4所示的方法的,被配置成处理数据包并从未能接收到一个包恢复正常的网络节点的一个实施例。具体实施方式00。

19、18下面描述了用于从未能接收到或未能正确处理MAP恢复正常的系统和方法。所披露的系统和方法的一个实施例是在网络中实现的,在该网络中,MAP是以预定的固定的间隔发送。该网络可包括网络协调器NC,其管理网络节点间的数据传输。图7展示了网络节点的一个例子的简化的方块图。如图7所示,网络节点700可以包括处理器702,其与计算机可读存储介质704通信,以及使得网络节点700能够通过网络发送及接收数据的物理接口。处理器702可以是任意计算装置,包括但不限于中央处理器CPU、微控制器,或类似的装置。计算机可读存储介质704可以是任何类型的存储装置,包括但不限于随机存取存储说明书CN102341784ACN。

20、102341798A3/5页7器RAM、只读存储器ROM、闪存、硬盘或类似的装置,被配置成存储数据以及可被处理器702执行的指令。0019如图2所示,在所披露的方法和装置的一个实施例中,MAPMAC协议数据单元MPDU201包括多个彼此相继的子MPDU200。第一子MPDU200的字头202指出该系列子MPDU中子MPDU的确切数量,每一子MPDU具有相同的长度并且被独立地编码。作为替代方案,每一子MPDU的长度可以预定的方式变化。因为每一子MPDU被独立地编码,每一子MPDU可以独立地解码。作为替代方案,可以在单个编码操作中把每一子MPDU一起编码。然而,这样的话,每一子MPDU就不能被独立。

21、地解码,这样就会失去用所述字头携带MPDU201内子MPDU200的数量的优势。每一子MPDU可以具有400字节的长度,包括字头202仅对于第一子MPDU以及载荷204。相应地,MPDU201可以具有1600字节的长度,而每一子MPDU可以具有400字节的长度。本领域技术人员可以理解,MPDU201和子MPDU200也可以是其他长度。0020在一个实施例中,在如图6所示的异步网络中,NC以恒定间隔发送MAPMPDU201。与已有的MOCA网络相比,以恒定间隔发送MAP使得网络节点700能够更快地从丢失一个MAP恢复正常,这将在下文中进行更具体地解释。通过向需要改变该间隔的每一个网络节点发送通知。

22、,可以改变该恒定间隔。该通知可以被包括于MAP的字头202或载荷204中,其可以包括下一个包传输间隔的值,以及指出在多少个MAP之后所述包传输间隔将改变的倒计数值。在每一逐次发送的MAPMPDU中,该倒计数值可以被递减,直至该值为零,在这之后,MPDU传输间隔将被改变。例如,通过在MAP内传输值为075的下一个包传输值以及值为“1”的倒计数值,可以在下一个MAPMPDU被接收到后,MPDU传输间隔从1MS变为075MS。0021无论MAP以什么格式在网络中实现,如果没有接收到或没能正确处理之间的MAP,例如,发生了失败,接收MPDU201的网络节点700可以利用来自该MPDU201的信息来精确。

23、地计算下一个MAP或后续MAP的到达时间。在一个实施例中,该信息包括所述恒定间隔的当前值或如图6那样发送的新的恒定间隔的值。例如,如果NC发送如图2所示的实施例那样的具有多个子MPDU200的MAP,那么该网络节点将解码每一子MPDU200并检查第一子MPDU的字头,以确定是否有相继的子MPDU200。如果该第一子MPDU字头202指出没有相继的子MPDU200,那么该节点700已经处理了所有被发送的子MPDU,仅处理了第一子MPDU。然而,如果该第一子MPDU字头202指出还有附加的相继的子MPDU200,那么该节点700也将处理这些子MPDU。通过这种方式,该节点能够正确地识别和接收每一M。

24、AP。0022作为替代方案,如果所述NC在单个子MPDU200内发送MAP,那么节点700会假定下一个MAPMPDU201具有可能的最大尺寸如1600字节,并且根据该假设计算该MAPMPDU201的发送结束时间。该网络节点700在计算获得的MAP发送间隔内接收所有比特,并且一个一个地解码所接收到的每一子MPDU200的比特。当该网络节点700处理所述子MPDU的字头202的比特时,其识别该MAPMPDU201的实际长度,然后从接收到的比特恢复该MAPMPDU201的字节。当不包括载荷数据时,该网络节点700可以忽略并且不处理由所述MAP子MPDU的字头202识别出的任何比特。0023图3是流程。

25、图,展示了在网络节点700处理所述MAP子MPDU200的方法300的一个实施例。如图3所示,在框302中,在网络节点700处接收到一MAP。在框304中,该网络节点700解码该MAP的每一子MPDU200。在框306中,该网络节点700处理第一子MPDU说明书CN102341784ACN102341798A4/5页8200的字头202和载荷204。在框308中,如果所述第一子MPDU200的经处理的数据指出后续的子MPDU200包括需要处理的数据,该网络节点700将处理下一个子MPDU200或子子MPDU。然而,如果所述第一子MPDU200的经处理的数据指出后续的子MPDU200不包括需要处。

26、理的数据,那么该网络节点700可以跳过框308并且不处理来自后续的子MPDU200的数据。0024在框310中,从所述经处理的数据读取包发送间隔值、倒计数值以及下一个包发送间隔值。包发送间隔值、倒计数值、下一个包发送间隔值以及包到达时间可被存储于网络节点700的计算机可读介质704内,这样,当发生失败事件时就能够利用这些信息,如以下详细描述的。网络节点700可基于所述间隔值、倒计数值以及前一MAPMPDU201的到达时间计算下一个MAP的到达时间。通过这种方式,网络节点700处理每一MAP子MPDU并存储所述间隔、倒计数值以及最后一个包的到达时间,使得网络节点700能够从失败中恢复以接收或正确。

27、处理后续的MAP子MPDU200。0025图4是流程图,展示了从失败中恢复以接收或正确处理相关包,如MAP子MPDU200的方法400的一个实施例。在框402中,网络节点700接收相关包。如上面结合图3描述的那样,该相关包被解码并处理。来自该相关包的信息,如该包的到达时间、当前包发送间隔、倒计数标识符以及下一个包发送间隔值,被存储在计算机可读存储介质704内。0026在框404内,网络节点700确定其未能接收或正确处理相关包。一旦网络节点700确定其没有接收到相关包,该节点700在框406内通过从计算机可读存储介质704读取之前接收到的相关包内所接收的信息开始进行失败恢复。如以上所描述,该信息。

28、可包括之前接收到的相关包的到达时间、当前包发送间隔、倒计数标识符以及下一个包发送间隔值。这样,该网络节点700可利用从计算机可读存储介质704读取的信息来确定下一个相关包何时到达。0027例如,如果连续的相关包之间的间隔不变,那么网络节点700将利用前一个接收到的包的到达时间和当前包发送间隔值来确定下一个相关包的到达时间。如本领域技术人员所能理解的,如果计算获得的下一个相关包的到达时间已过,那么网络节点700可以用两倍、三倍或多倍的包发送间隔来确定下一个相关包的到达时间。0028网络节点700还可以通过检查倒计数值来确定下一个包之后包之间的间隔是否将改变。例如,如果之前接收到的相关包具有为“1。

29、”的倒计数值,那么后续的相关包,例如网络节点700还没有接收到的包,具有为“0”的倒计数值。相应地,网络节点700确定下一个相关包将以不同的包发送间隔被发送,网络节点700将利用新的包发送间隔值和之前的包发送间隔值以及最后接收到的包的到达时间来确定下一个相关包的到达时间。例如,之前接收到的包在时间T到达,之前的包发送间隔为1MS,并且新的包发送间隔为07MS,那么网络节点700将计算得出下一个相关包会在T17MS时到达。0029在框408中,网络节点700接收下一个相关包。在框410中,在接收到下一个相关包后,网络节点700根据以上所述解码该包的每一个部分。在框412中,网络节点700确定该相。

30、关包所包括的部分的数量。如果第一部分指出该包的每一部分都包括数据,那么网络节点700将处理该包的每一个部分。然而,如果该包的第一部分指出该包的一个或更多部分不包括数据,那么网络节点700可忽略该包的这些部分。在框414中,网络节点700可把包含于相关包内的信息存储于计算机可读存储介质704中。如以上所描述,该信息可包括说明书CN102341784ACN102341798A5/5页9当前包发送间隔值、倒计数值、下一个包发送间隔值以及之前接收到的相关包的到达时间。本领域技术人员能够理解,其他信息也可被存储于计算机可读存储介质704中。0030以上描述的系统和方法使得在数据发送速率高于现有系统的网络。

31、中的网络节点能够从丢失重要数据包的条件恢复正常。更快地从丢失数据包恢复正常降低了网络节点在失败事件中丢失数据的数量,从而提高了网络的效率。0031尽管所披露的方法和装置是基于特定的实施例来描述,但要求保护的发明却不限于此。所附的权利要求应被解释成涵盖更宽的范围,以包括所披露的方法和装置的其他改变和实施方式,其中,这些改变和实施方式可由本领域技术人员在不脱离所要求保护的发明的等同物的范围内实现。权利要求中所采用的分隔符,如A和I不应被当作为权利要求设置了顺序,而仅仅是作为权利要求分解的可视化符号,以及作为之后引用权利要求特定部分的识别符号。说明书CN102341784ACN102341798A1/6页10图1说明书附图CN102341784ACN102341798A2/6页11图2说明书附图CN102341784ACN102341798A3/6页12图3说明书附图CN102341784ACN102341798A4/6页13图4说明书附图CN102341784ACN102341798A5/6页14图5说明书附图CN102341784ACN102341798A6/6页15图6图7说明书附图CN102341784A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1