低延迟网状网络的制作方法

文档序号:7912624阅读:176来源:国知局
专利名称:低延迟网状网络的制作方法
技术领域
本公开一般涉及网络通信。
背景技术
网状网络(mesh network)因其灵活性而越来越普及。网状网络不需要网络布线, 从而使得它们更容易建立和部署。例如,网状网络可被用来实现智能电网(smart grid),对于此示例,智能电网是具有许多控制环路的广域控制系统。这些控制环路之一在(住宅的、 商业的和工业的)消费设施处应用智能电表。计量信息被往上游传输给对其进行存储和分析的数据中心。系统连续地监视可用电力并将其与消费者的需求作比较。为了最小化停电的可能性,系统一直维持旋转备用,该旋转备用可用在短时间段内投入使用以满足需求。当旋转备用下降到某个阈值之下时,智能电网向消费者发出用于请求他们通过断开非紧急负载来减少消耗的需求响应(DR)请求。系统通过将发出DR请求之前的计量读数与DR请求被发出之后的计量读数相比较来监视消费者遵从度。在此情形中,控制环路包括智能电表、 从智能电表到数据中心的通信路径、计量数据分析软件以及然后回到家用电器或家庭能源控制器的通信路径,家庭能源控制器控制家中或设施处的能耗。与任何其它控制系统一样, 此环路中的延迟越短,整个系统的性能就越好。无线网状网络可被广泛地用作智能电网的一部分,以用于到电表的最后一英里通信。在此实现方式中,每个智能电表作为网状网络中的集线器来操作,该集线器辅助将其自身的计量数据与来自其邻居的计量数据一起往上游传送给数据中心。类似地,每个智能电表可以作为如下这样的集线器来操作,该集线器可以辅助将来自应用数据中心的DR传送到邻近的其它家庭。网状网络具有能够使用低功率发送器来通信的优点,这有助于使每个电表中的发送器的功率需求最小化。


被结合于此的并且形成了说明书一部分的附示出了示例实施例。图1图示出了根据示例实施例配置的无线网状网络。图2图示出了根据示例实施例配置的无线节点的示例。图3图示出了可以在其上实现示例实施例的计算机系统的示例。图4图示出了根据示例实施例的用于转发下游网状分组的方法的示例。图5图示出了判断分组序列中的分组是否丢失的、用于转发下游网状分组的方法的示例。
具体实施方式
下面呈现了示例实施例的简化概述,以提供对示例实施例的一些方面的基本了解。该概述不是示例实施例的宽泛概述。既不旨在标识出示例实施例的关键或至关重要方面,也不旨在描绘所附权利要求的范围。其唯一目的是以简化形式将示例实施例的一些概念呈现作为对于后面将呈现的更详细描述的序言。根据示例实施例,这里公开了一种装置,包括无线收发器和耦合到该无线收发器的分组处理逻辑。该分组处理逻辑响应于经由无线收发器从第一上游节点接收到去往下游节点的分组,经由无线收发器将该分组转发到朝着该下游节点的下行链路路径上。该分组处理逻辑还被配置为响应于判定无线收发器不能发送将到达第一上游节点的信号,经由无线收发器向位于到第一上游节点的上行链路路径上的并且处于该无线收发器的范围内的第二上游节点发送去往第一上游节点的针对该分组的回复。根据示例实施例,这里公开了一种方法,包括建立与第一上游节点的无线连接, 其中下行链路分组直接从第一上游节点被接收,并且去往第一上游节点的上行链路分组被路由经过第二上游节点。经由无线连接直接从第一上游节点被接收的、去往下行链路节点的分组经由无线连接朝着该下行链路节点被转发。对示例实施例的描述本描述提供了不旨在限制所附权利要求的范围的示例。附图大体指示出了示例的特征,其中,将明白和理解,相似的标号被用来指代相似元件。说明书中对“一个实施例”或 “实施例”或“示例实施例”的引用是指所描述的特定特征、结构或特性被包括在这里描述的至少一个实施例中并且并不意味着这些特征、结构或特性要出现在这里描述的所有实施例中。在图1所示的示例实施例中,智能电网网状网络100使用智能电表104、106、108、 110、112作为低功耗节点。为此,每个智能电表104、106、108、110、112可被用来辅助将来自相邻智能电表的信息传输到数据中心或者将来自数据中心的信息传输到相邻智能电表。例如,如图1所示,网关“G” 102可以与电表(网状节点)M(I) 104双向地通信,如122所示。 电表M(I) 104可以与电表M(i-l) 106直接地进行双向通信,或者,在特定实施例中,经由电表M(I) 104 与M(i-l) 106 之间的其它电表(例如,M(I) 104 至]. . . M(i_2)至M(i_l)106, 其中电表M(2)和M(i-2)未被示出)点到点地进行双向通信,如1 所示。电表M(i-l)106 可以与电表M(i) 108双向地通信,如126所示。电表M(i) 108可以与电表M(i+1) 110双向地通信,如1 所示。电表M (i+1) 110可以与电表M (η) 112直接地进行双向通行,或者,经由电表M(i+l)110与Μ(η)112之间的其它电表(例如,电表M(i+1) 110到M(i+2). . . Μ(η_1) 到Μ(η)112,电表M(i+2). . .M(n-l)未被示出)点到点地进行双向通行,如130所示。在此示例中,网关102以比网状节点104、106、108、110、112高的功率操作,因此由网关102发送的信号(由120图示出)可以被相距一跳以上的网状节点接收到,然而,这些相距一跳以上的网状节点106、108、110、112缺乏充足的功率来直接回传到网关102。例如,电表M(I) 104 与网关102相距一跳,并且电表M(i-l) 106和M⑴108与网关102相距一跳以上。因此,对于此示例,仅电表M(I) 104具有充足功率来直接回传到网关102(由122表示)。计量信息经由网关或集中器(或网状接入点“MAP”)102在上行链路中流动。作为自动化网状网络配置的一部分,每个节点(智能电表)104、106、108、110、112发现其离集中器(网关102)的距离(例如跳数)并且将该距离公布给其邻居。该信息被其邻居用来选择最短(最低延迟)的上行链路路径。大多数网状算法也将最短上行链路路径用于其下行链路通信。如本领域技术人员容易理解的,“最后一英里”网状拓扑将数千智能电表经由单个集中器连接到广域网是不常见的。另外的集中器(未示出)可被用来增加网络的可用性。对于此示例,假设“最后一英里”网状网络经由网关“G” 102连接到广域网。还假设电表M(n)112可以经由电表M(n-l),M(n_2),. . .M(2)和M(I) 104通过η跳抵达网关G。 由于其发送器的低功率,M(n) 112无法直接传输到网关。如前所述,上述路径被用于网关G 102与电表M(n) 112之间的上行链路和下行链路通信两者。示例实施例的一个方面是基于如下观察的虽然电表的功率被保持最小,但集中器可能使用更高的功率。因此,下行链路路径可能跳过少数电表(例如,M(I) 104至 M(i-l)106)并且经过 M(i)108,并且经由电表 M(i) 108,M(i+l)110, M(i+2), · . ·Μ(η_2), Μ(η-1)与电表Μ(η)112通信,其中i < η。现有因特网协议“IP”路由协议支持非对称网络,其中分组从节点A到节点B采取一条路径,而从节点B到节点A采取不同路径。这些算法假设每个网段可以沿着该路径在任何两个相邻节点之间建立第2层连通性。这种假设在这里描述的示例拓扑中显然不成立。虽然电表M(i) 108可以接收来自网关G 102的分组, 但是其发送器不具有充足功率来建立回到G 102的第2层连通性以直接向网关G 102往回确认分组的接收。根据示例实施例,与电表M(i-1) 106和M(i+1) 110通信的电表M(i) 108 认识到如下事实其是可从网关102接收信号120的离网关102最远的节点(在朝向电表 M(η) 112的下行链路路径中)。结果,在示例实施例中,电表M(i) 108建立与网关G 102的对等第3层确认机制。从网关G 102朝电表M(i) 108的下游通信使用多播模式而不用第2 层确认信号,并且用电表M(i) 108与网关G 102之间的第3层确认来取代它。在示例实施例中,为了简化下游链路网状结构的总体形成,系统可以利用节点 M(i+1) 110至M(η) 112的上行链路路由表以建立从电表M(i+1) 110到M(η) 112的下行链路路径。根据示例实施例,每个电表(网状网络中的节点)104、106、108、110、112被配备有用于存储近来(例如,在最近一秒中)被发送来的下行链路消息的日志的存储器。当新的下行链路分组到达电表时,该电表将该分组与最近被发送来的分组的日志相比较。如果该分组被证实是一个副本,则该消息被滤掉并且不被转发。该机制确保了仅非副本消息朝着电表Μ(η) 112被发送。该机制防止了副本消息阻塞网络并降低其速度。以下示例提供了对根据本发明的系统的操作的更详细图示说明网络形成步骤1 由低功率节点(电表)104、106、108、110、112和高功率节点(G) 102组成的网状网络利用合适协议被建立。步骤2 —旦网状关系被建立,不是G 102的直接子节点的节点(例如,电表106、 108、110、112)开始监听直接来自于G 102的无线电信号。例如,对于到边缘节点(例如,电表M(n)lU)的每个通信路径,对等节点识别出节点M(i) 108,其是离G 102最远的并且仍可以接收到来自G 102的信号的节点。步骤3 节点M(i) 108创建具有用于管理朝着边缘节点M(n) 112的通信的缓冲器的客户端。该客户端和缓冲器的操作将在下面说明。此外,在特定实施例中,G 102与 M(i) 108之间的、不是直接子节点的所有节点(例如M(i-l)106)也可以创建这里描述的客户端和缓冲器。正常操作一无丢失的分组从网关102去往边缘节点M(n) 112的分组P(k)经由直接路径(用信号120表示) 到达节点M(i)108。在示例实施例中,信号120可以是可由网关102与节点M(i)108之间的任何或所有节点接收到的多播信号。信号120行进的路径在此也可被称为多播路径。分组P(k)经由节点M(i+l)110,M(i+2)等立即朝着边缘节点M(n) 112被转发。除了转发分组 P(k)之外,节点M(i) 108还将分组的拷贝(或数据代表)保存在其缓冲器中。根据又一示例实施例,仅分组标识符被保存在节点M(i)的内部表中。在一延迟(该延迟的最大值与从G 102到节点M(n) 112的跳数成比例)[n* ( 一个节点的延迟)]之后,分组P (k)的副本经由经过节点M(I) 104,M(2), .. · M(i-l) 106中的一个或多个的多跳路径再次到达节点M⑴108。 节点M(i) 108上的客户端检查到达分组的序列号,并且将识别出其与先前朝电表M(n) 112 转发的分组P(k)相同,当客户端识别出匹配时,该副本分组P(k)被丢弃(不被传播给边缘节点)。另外,分组P(k)从缓冲器中被去除。示例实施例可被配置为接收来自网关102的相同分组。在另一示例实施例中,网关102可以发送多个信号,一个去往节点M(I) 104,一个去往节点M(i) 108。在又一示例实施例中,网关102可以适当地包括多个网关(未示出), 其中,一个网关向节点M(I) 104发送分组并且另一个网关向节点M(i) 108发送分组。可选地,其它网关可以向M(I) 104与M(i) 108之间的节点(如节点M(i-l)106)发送信号。具有多播分组丢失时的操作在此示例中,假设分组P (k)在经由多播路径(由信号120表示)的传输中丢失了。 还假设分组P(k+1),P(k+2)等经由路径120成功到达节点M(i) 108。当节点M(i) 108上的客户端接收到分组P (k+Ι)时,客户端将其存储在缓冲器中并且记录分组P (k)已经丢失的事实。结果,在示例实施例中,分组P(k+1)不被转发给边缘(其被存储在缓冲器中)。对分组P(k+2)等进行类似的分组处理,直到分组P(k)经由较慢的多跳路径(由122、124、126 表示)到达节点M(i)为止。当分组P(k)到达节点M(i) 108时,其被识别出是在经由多播路径120的传输中丢失了的分组。节点M(i)108的客户端立即朝着边缘转发该分组P(k), 并且继续朝着边缘节点(例如M(n)122)发送被存储在其缓冲器中的所有其它分组[例如, P(k+l),P(k+2)等]。一旦所有的顺序消息从缓冲器朝边缘节点被发送,则该系统回到上述的正常操作。在特定实施例中,在多跳路径上接收来自网关102的多播信号120的、与网关102 相距一跳以上的所有节点(例如,106以及节点104与106之间的任何节点)存储并转发从网关102接收到的多播分组。例如,节点M(i-l) 106经由多播信号120接收去往M(n) 112的 P (k),并且作为响应,存储该分组。节点M(i-1) 106还将该分组转发给节点M(i) 108。如果节点M(i) 108通过路径120接收到P(k),则其丢弃从节点M(i-l) 106接收到的P(k)的副本。 然而,如果M(i)108通过路径120未接收到P(k),则P(k)与在P(k)之后被发送来的任何所存储分组(例如,P(k+1),P(k+2)等)一起沿着下行链路(例如,经由128)朝着M(n)112 被转发。此外,M(I) 104与M(i-l) 106之间的任何节点也可被配置为存储并转发在多播路径上接收到的信号。因此,与等待接收从M(I) 104 一次一跳地传播的分组相比,M(i) 108可以更快地接收到丢失的多播分组。在多跳路径上有分组丢失时的操作根据示例实施例,上述缓冲器被实现为环形缓冲器,其大小大于在与网关G 102 与节点M⑴108之间的多跳延迟(例如,5*( —跳延迟))相等的时间段期间接收到的消息的累计大小。如果消息未经过多跳路径(由122、1对、1沈表示)到达,这不影响系统的操作,因为相同消息被假设已经经由多播路径到达(由120表示)。在给出M(i)节点108利用环形缓冲器的事实的情况下,旧消息被覆写,并且丢失的分组不擦除缓冲器中的对应条目的事实不影响系统的操作。为分组P(k)建立的并行路径不仅减少了总体延迟,而且还提供了可以经受得起IP分组丢失而不影响系统的总体性能的更具回弹力的网络。分组在多跳路径和多播路径两者上丢失时的系统的操作如果未在多跳路径和多播路径任一者上接收到分组,则该系统可以默认在应用级进行端到端恢复(与仅使用单个多跳路径的系统的操作类似)。多播路径确定在示例实施例中,如果系统检测到M(i) 108处的丢失多播分组的百分比大于预定阈值,则该信息被传输给相邻节点并且新的多播节点可被选择。例如,系统可以通过用节点 M(i-l) 106替代节点M(i) 108来缩回到更短的多播路径。在另一示例实施例中,如果比M(i) 108更远的节点(例如,节点M(i+l)110)正接收多播分组,则该节点可以向节点M(i) 108告知其正接收来自网关102的多播分组。结果, 节点M(i) 108让出接收从网关102到节点M(i+1) 110的分组的角色,并且成为正常多跳网络的一部分。例如,如果确认将被发送给网关102,则其将由M(i+1) 110沿着多跳路径被发送。应注意,前面的描述将从M(i) 108到网关102的路径描述为上行链路路径并且将从M(i)108到M(n)112的路径描述为下行链路。这种标写法仅仅是出于容易图示说明而被选择的,如本领域技术人员应当容易理解的,这里描述的原理在路径被反向时(例如,从 M(i)108到网关102的路径为下行链路路径并且从M(i) 108到M(n)112的路径为上行链路路径)也同样会很好地起作用。还应注意,虽然图1是在智能电网的上下文中被描述的,然而这里描述的原理也适用于任何网状网络。图2图示出了根据示例实施例配置的无线节点200的示例。无线节点200适合于实现根据这里的示例实施例的网状网络。例如,无线节点200适合于实现电表M(I) 104, M(i-l) 106,M(i) 108,M(i+l) 110,M(n) 112中的任何电表和/或这里的图1中所描述的任何其它节点。无线节点200包括无线收发器202和耦合到无线收发器202的分组处理逻辑204。 如这里使用的“逻辑”包括但不限于用于执行(一个或多个)功能或(一个或多个)动作并且/或者引起来自另一组件的功能或动作的硬件、固件、软件和/或其每个的组合。例如, 基于所希望的应用或需要,逻辑可以包括软件控制的微处理器、诸如专用集成电路(ASIC)、 可编程/经编程逻辑器件、包含指令的存储器设备等的分立逻辑,或者在硬件中实施的组合逻辑。逻辑还可以完全被实施为软件。在示例实施例中,分组处理逻辑204响应于经由无线收发器202从第一上游节点接收到去往下游节点的分组,来经由无线收发器在下行链路路径上朝下游节点转发该分组。分组处理逻辑还被配置为响应于判定无线收发器不能发送将到达第一上游节点的信号,而经由无线收发器向处于无线接收器的范围内的并且位于到第一上游节点的上行链路路径上的第二上游节点发送去往第一上游节点的对于该分组的回复。在示例实施例中,分组处理逻辑204被配置为存储分组的副本。例如,该分组可被存储在与分组处理逻辑204相关联的存储器中(内部存储器被示出,但是本领域技术人员应当容易理解,除了内部存储器以外或者替代内部存储器,还可以采用外部存储器)。在示例实施例中,分组处理逻辑204被配置为经由无线收发器202接收来自第二上游节点的分组的副本。分组处理逻辑204还被配置为判断表示该分组的数据是否已被存储(例如,是已经直接从第一节点接收到的分组)并且判断该同一分组的副本是否已经朝下一下行链路节点被转发。如这里使用的“转发”是指对用于发送的分组(或分组的副本)进行排队而不管其是否已被发送、正被发送或者刚被排队供以后发送。分组处理逻辑 204响应于判定该分组的副本已经被接收到并且该同一分组的副本已经朝着下一下行链路节点被转发,而丢弃该分组。在特定实施例中,从第一和第二节点接收的分组适当地包含序列号。分组处理逻辑204将所接收分组的序列号与先前接收的分组的序列号相比较,来判断从第二节点接收的分组的副本是否已被(例如,直接从第一节点)接收到以及该同一分组的副本是否已朝着下一下行链路节点被转发。在示例实施例中,分组处理逻辑204在预定时间段之后删除所存储的分组。例如,如前所述,预定时间段可被设为分组在不跳过任何跳的情况下一次行进一跳时所花的时间。在示例实施例中,用于存储分组的存储器可以是环形存储设备。当新分组到达时,它们覆写存储器中最老的分组。在示例实施例中,无线收发器202从第二节点接收到去往下游节点的第二分组。 分组处理逻辑204判断去往下游节点的该第二分组的副本是否已从第一节点被接收到(经由直接路径120,如图1所示)。如果该分组未从第一节点被接收到,则分组处理逻辑204 经由无线收发器202在朝向该下游节点的下行链路路径上转发该分组。在示例实施例中,无线收发器202接收到去往下游节点的第二分组。分组处理逻辑204判断在第一分组与第二分组之间的序列中是否丢失了分组。如果分组处理逻辑204 判定在第一和第二分组之间丢失了分组(一个或多个分组),则第二分组被存储。应注意, 第二分组可以是从第一节点或第二节点接收到的。在示例实施例中,无线收发器202将最终从第二节点接收到丢失的分组。分组处理逻辑204响应于无线收发器202接收到丢失的分组,而经由无线收发器在朝向该下游节点的下行链路路径上转发丢失的分组和第二分组。在特定实施例中,分组处理逻辑204根据丢失的分组和第二分组的序列号顺序地转发丢失的分组和第二分组。在示例实施例中,分组处理逻辑204被配置为确定无线收发器202离第一节点有多少跳。分组处理逻辑204还被配置为交换如下数据表示无线收发器离第一节点的跳数的数据,和表示从第一节点接收信号的相邻无线节点离第一节点的跳数的数据。如果分组处理逻辑204判定其与离第一节点最远的节点相关联,则分组处理逻辑204可以建立与第一节点的连接(例如,隧道连接或第3层连接)。分组处理逻辑204可以基于其离第一上行链路节点的跳数和可以直接从第一上行链路节点接收信号的相邻节点离该第一上行链路节点的跳数,来确定其是离第一节点最远的节点。在特定实施例中,分组处理逻辑204被配置为响应于基于离第一节点的跳数判定从第一节点接收信号的另一节点离第一节点更远,从而终止与第一节点的第3层连接。如这里使用的,第3层连接是指开放系统互连(OSI) 的第3层。例如,第1层为物理层,第2层为管理设备与共享介质(媒体访问控制(MAC)层是第2层的子层)的交互的数据链路层,并且第3层是网络层(第3层协议的最公知示例是因特网协议“IP”)。根据示例实施例,如果分组处理逻辑204判定在无线收发器202处接收自第一节点的分组的错误率超过预定阈值(例如,10% ),则其不再认为自己是可以与第一上行链路节点通信的最远节点。在此实施例中,如果第3层连接或隧道已被建立,则其将被终止。这将使得更接近上行链路节点的节点将其自己选为从第一上行链路节点接收信号的、离第一上行链路节点的新的最远节点。例如,如果图1中的节点M(i)是离网关102最远的节点并且错误率超过了预定阈值,则M(i)将向其邻居告知其不再接收到来自网关102的信号,在此情况中,下一个接近的节点(在此示例中为电表M(i-l))将成为从第一上行链路节点接收信号的最远节点。图3图示出了可在其上实现示例实施例的计算机系统300的示例。例如,计算机系统300可被用于实现图2中的分组处理逻辑204或者实现这里描述的电表104、106、108、 110,112的功能的任何其它逻辑。计算机系统300包括用于传输信息的总线302或其它通信机构,以及与总线302 耦合的用于处理信息的处理器304。计算机系统300还包括耦合到总线302的用于存储将由处理器304执行的指令和信息的主存储器306,例如随机存取存储器(RAM)或其它动态存储设备。主存储器306还可被用于在将由处理器304执行的指令的执行期间存储临时变量或其它中间信息。计算机系统300还包括耦合到总线302的用于存储用于处理器304的指令和信息的只读存储器(ROM) 308或者其它静态存储设备。诸如磁盘或光盘之类的存储设备310被提供并被耦合到总线302用于存储信息和指令。本示例实施例的一个方面涉及用于实现在低延迟网状网络中使用的无线节点的计算机系统300的使用。根据示例实施例,实现在低延迟网状网络中使用的无线节点是由计算机系统300响应于处理器304执行主存储器306所包含的一个或多个指令的一个或多个序列而提供的。这样的指令可以从诸如存储设备310之类的另一计算机可读介质被读进主存储器306。主存储器306所包含的指令序列的执行使得处理器304执行这里描述的处理步骤。多处理布置中的一个或多个处理也可被用来执行主存储器306所包含的指令序列。在替代实施例中,硬连线电路可被使用来替代软件指令或者与软件指令相组合,来实现示例实施例。因此,这里描述的实施例不限于硬件电路与软件的任何具体组合。如这里使用的术语“计算机可读介质,,是指参与向处理器304提供指令以用于执行的任何介质。这样的介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。 非易失性介质例如包括光盘或磁盘,如存储设备310。易失性介质包括动态存储器,如主存储器306。计算机可读介质的通常形式例如包括软盘、柔性盘、硬盘、磁卡、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASHROM、CD、DVD或任何其它存储器芯片或存储器盒,或者计算机可从其读取的任何其它介质。计算机系统300还包括耦合到总线302的无线收发器318。无线收发器318提供将计算机系统300耦合到网络链路320的双路数据通信,网络链路320被连接到本地无线网络322。无线链路320可以允许计算机系统与诸如相邻网状节点之类的其它设备无线电通信。例如,在实现智能电网系统时,处理器304可以经由附接到总线302的无线收发器 318接收来自电表(未在图中示出)的数据,例如表示来自下行链路电表的消耗的数据。处理器304可以将该数据存储在主存储器306或存储设备310中。处理器304可以获取与计算机系统300相关联的电表的消耗数据。处理器304经由无线收发器318将与计算机系统 300相关联的电表的消耗数据以及来自下行链路节点的数据转发给上行链路节点。此外,处理器304可以经由无线收发器318接收来自于在去往第一上行链路节点的多跳路径上的第一节点(例如,图1中的网关102)和第二节点的数据。根据上面描述的前面的结构和功能特征,参考图4和图5将更好地理解根据示例实施例的方法。虽然为了简化说明的目的,图4和图5的方法被示出并描述为顺序地执行, 然而将明白和理解,示例实施例不受所图示出其顺序的限制,因为在这里描述和示出的方面中,一些方面可以以不同顺序发生和/或与其它方面并发地发生。此外,并非需要所有图示出的特征都来实现根据示例实施例的方面的方法。这里描述的方法适当地适用于以硬件、软件或其组合来实现。图4图示出了根据示例实施例的用于转发下行链路(下游)网状分组的方法400 的示例。在示例实施例中,与第一上行链路节点的无线连接被建立,其中下行链路分组直接从第一上行链路节点被接收到并且去往第一上行链路节点的上行链路分组被路由经过第二上行链路节点。例如,第二上行链路节点可以比第一上行链路节点离实现方法400的本设备更近一跳。例如,参考图1,对于电表M(i) 108,网关102可以是第一上行链路节点并且电表M(i-l)106可以是第二上行链路节点,其中电表M(n)是下行链路节点。在402处,分组经由无线连接从上行链路节点被接收到。该分组去往下行链路节点。在特定实施例中,该分组可以包括序列号。该分组可以从第一上行链路节点直接被接收到,或者可以从第二上行链路节点被接收到(虽然该分组可能源自第一上行链路节点, 然而该分组可能并不是直接从第一节点被接收到的,并且因此经由多跳路径行进到第二上行链路节点)。在404处,将包含所接收分组的序列号的报头信息与存储在缓冲器中的先前接收的分组信息相比较。在示例实施例中,由于沿着经过第二上行链路节点的多跳路径行进的分组通常要花更长时间到达,因此日志包含直接从第一上行链路节点接收到的分组。先前接收到的分组可以包括序列号、源地址和/或目的地地址以辅助对分组进行匹配。在406处,判断是否在404处发现匹配。如果在406处判定发现了匹配(是),则该分组被丢弃。在特定实施例中,由于该分组的多于一个副本经由该多跳路径行进是不太可能的,因此用于该分组的日志条目还可被删除。但是,如果在406处判定未发现匹配(否),则该分组被转发到去往其目的地的路径上。另外,该分组的副本或者表示该分组的数据(如报头)可被存储来辅助过滤出随后接收到的重复分组。例如,如果在408处第一分组或者表示分组的数据(如报头)被存储,并且在402 处接收到与在408处存储的分组相匹配的第二分组。则在404中检查日志来寻找与第二分组相匹配的分组。在406处,将判定发现匹配(是),在此情况中,第二帧将在410处被丢弃。图5图示出了判断分组序列中的分组是否丢失的、用于转发下游网状分组的方法500的示例。如果序列中没有分组丢失,则分组立即被转发;然而,如果有分组丢失,则分组被存储直到丢失分组的副本到达为止。在示例实施例中,序列号被用来确定序列中的分组是否丢失。在502处,经由无线连接接收来自上行链路节点的分组。该分组去往下行链路节点。在特定实施例中,该分组可以包括序列号。该分组可以从第一上行链路节点直接被接收到,或者可以从第二上行链路节点被接收到(虽然该分组可能源自第一上行链路节点, 然而其可能经由到达第二上行链路节点的多跳路径行进)。在504,检查先前接收的分组的日志。在示例实施例中,由于沿着经过第二上行链路节点的多跳路径行进的分组通常要花更长时间到达,因此该日志包含直接从第一上行链路节点接收到的分组。先前接收到的分组可以包括序列号、源地址和/或目的地地址以辅助对分组进行匹配。在示例实施例中,对于直接从第一上行链路节点接收到的分组,该步骤可被跳过。在506,判断是否在504处发现匹配。如果在506处判定发现了匹配(是),则该分组在508处被丢弃。在特定实施例中,由于该分组的多于一个副本经由该多跳路径行进是不太可能的,因此用于该分组的日志条目还可被删除。但是,如果在506处判定未发现匹配(否),则由于上一分组已被接收到,因此在 510处判断序列中的分组是否丢失。例如,如果所接到的当前分组是P(k)并且所接收的上一分组是分组P(k-2),则分组P(k-l)丢失(本领域技术人员应容易理解,多于一个分组可能丢失,此示例使用一个分组仅仅是为了容易说明)。如果在510处序列中的分组没有丢失 (否),则在512处该分组被转发。如果在510处判定分组(例如,前一示例中的P(k-l))丢失(是),则在514处分组被存储直到所丢失分组例如经由替代多跳路径到达为止。由于方法500可以由可直接地或通过多跳路径从第一节点接收分组的网状节点来实现(例如参见图1中的M(i)108),因此有可能由第一节点发送的分组可能由于干扰而未直接从第一节点被接收到。由于分组还通过多跳路径传播,因此该分组的另一副本应当最终通过该多跳路径到达。因此,在502处, 丢失分组(例如,P(k-l))的副本将在后续分组(例如,P(k))在514处被存储之后到达。 由于丢失分组尚未被接收到,因此在504处将不存在用于分组P(k-l)的日志条目。如果丢失分组是唯一剩余的丢失分组,则在512处该丢失分组(例如,P(k-l))和后续分组(例如,更早到达的P(k))被转发到下行链路路径上。如果在510处判定仍存在其他丢失分组 (是),则在514处对P(k-l)进行排队直到所有丢失分组到达为止。上面描述了示例实施例。当然,不可能描述组件或方法的每种可想到的组合,而是本领域技术人员将认识到,示例实施例的许多其它组合和置换也是可以的。因此,本申请意图包含落在所附权利要求的精神和范围内的所有这样的变更、修改和改变,所附权利要求根据它们公平地、合法地、公正地被赋予的广度来解释。
权利要求
1.一种装置,包括无线收发器;分组处理逻辑,该分组处理逻辑被耦合到所述无线收发器;其中,所述分组处理逻辑响应于经由所述无线收发器直接从第一路径上的第一节点接收到去往第二路径上的节点的分组,经由所述无线收发器朝着所述第二路径上的所述节点将所述分组转发到所述第二路径上;并且其中,所述分组处理逻辑还被配置为响应于判定所述无线收发器不能直接与所述第一路径上的所述第一节点通信,经由所述无线收发器向处于到第一上游节点的上行链路路径上的并且位于所述无线收发器的范围内的、所述第一路径上的第二节点发送去往所述第一路径上的所述第一节点的针对所述分组的回复。
2.如权利要求1所述的装置,其中,所述分组处理逻辑被配置为存储表示所述分组的数据。
3.如权利要求2所述的装置,其中,所述分组处理逻辑被配置为经由所述无线收发器从所述第一路径上的所述第二节点接收所述分组的副本;其中,所述分组处理逻辑还被配置为判断表示所述分组的数据是否已被存储;并且其中,所述分组处理逻辑被配置为响应于判定表示所述分组的数据已经被存储,丢弃所述分组。
4.如权利要求3所述的装置,其中,从所述第一路径上的所述第一节点和所述第二节点接收到的分组还包括表示序列号的数据;并且其中,所述分组处理逻辑通过将表示从所述第二节点接收到的分组的序列号的数据与表示直接从所述第一节点接收到的分组的序列号的数据相比较,来判断从所述第二节点接收到的分组是否是直接从所述第一节点接收到的分组的副本。
5.如权利要求4所述的装置,其中,所述分组处理逻辑在预定时间段之后删除表示所述分组的数据。
6.如权利要求4所述的装置,其中,所述无线收发器从所述第一路径上的所述第二节点接收去往所述第二路径上的所述节点的第二分组;其中,所述分组处理逻辑被配置为判断所述第二分组是否是所述第一分组的副本;并且其中,所述分组处理逻辑响应于判定所述第二分组不是所述第一分组的副本,经由所述无线收发器朝着所述第二路径上的所述节点将所述分组转发到所述第二路径上。
7.如权利要求4所述的装置,其中,所述无线收发器接收去往所述第二路径上的所述节点的第二分组;其中,所述分组处理逻辑判断所述第一分组与所述第二分组之间的序列中的分组是否丢失;并且其中,所述分组处理逻辑响应于判定所述第一分组与所述第二分组之间的序列中的分组丢失,存储所述第二分组。
8.如权利要求7所述的装置,其中,所述第二分组是从所述第一节点接收的。
9.如权利要求7所述的装置,其中,所述第二分组是从所述第二节点接收的。
10.如权利要求7所述的装置,其中,所述无线收发器从所述第二节点接收到丢失的分组;并且其中,所述分组处理逻辑响应于所述无线收发器接收到所述丢失的分组,经由所述无线收发器将所述丢失的分组和所述第二分组转发到朝着下游节点的下行链路路径上。
11.如权利要求10所述的装置,其中,所述分组处理逻辑根据所述丢失的分组和所述第二分组的序列号来顺序地转发所述丢失的分组和所述第二分组。
12.如权利要求1所述的装置,其中,所述分组处理逻辑被配置为确定所述无线收发器离所述第一路径上的所述第一节点有多少跳。
13.如权利要求12所述的装置,其中,所述分组处理逻辑被配置为交换如下数据表示所述无线收发器离所述第一路径上的所述第一节点的跳数的数据,和表示从所述第一节点接收信号的相邻无线节点离所述第一路径上的所述第一节点的跳数的数据。
14.如权利要求13所述的装置,其中,所述分组处理逻辑被配置为响应于判定其与离所述第一节点最远的节点相关联,建立与所述第一路径上的所述第一节点的关联性。
15.如权利要求14所述的装置,其中,所述分组处理逻辑被配置为响应于基于离所述第一节点的跳数而判定从所述第一节点接收信号的另一节点离所述第一节点更远,终止与所述第一节点的关联性。
16.一种方法,包括建立与第一节点的无线连接,其中下行链路分组是直接从所述第一节点接收的并且去往第一上游节点的上行链路分组被路由经过下行链路路径上与所述第一节点有间隔的第二节占·--I— /、、、 经由所述无线连接直接从所述第一节点接收去往下行链路节点的分组;以及经由所述无线连接朝所述下行链路节点转发所述分组。
17.如权利要求16所述的方法,还包括 存储表示所述分组的数据;从所述第二节点接收所述分组的第二副本;响应于判定所述分组先前已经直接从所述第一节点被接收到,丢弃所述分组的所述第二副本。
18.如权利要求16所述的方法,还包括从所述第二上行链路节点接收去往所述下行链路节点的第二分组; 判断所述第二分组是否已经从所述第一上行链路节点被接收到;以及响应于判定第二分组尚未从所述第一上行链路节点被接收到,向所述下行链路节点转发所述第二分组。
19.一种被编码在至少一个有形介质中以供执行的逻辑,当该逻辑被执行时可操作来建立与第一节点的无线连接,其中下行链路分组是直接从所述第一节点接收的并且去往第一上游节点的上行链路分组被路由经过下行链路路径上与所述第一节点有间隔的第二节占·--I— /、、、 经由所述无线连接直接从所述第一节点接收去往下行链路节点的分组;以及经由所述无线连接朝所述下行链路节点转发所述分组。
20.如权利要求19所述的逻辑,还可操作来存储表示所述分组的数据;从所述第二节点接收所述分组的第二副本;响应于判定所述分组先前已经直接从所述第一节点被接收到,丢弃所述分组的所述第二副本。
全文摘要
在示例实施例中,在此公开了一种装置,该装置包括无线收发器和分组处理逻辑,该分组处理逻辑被耦合到无线收发器。分组处理逻辑响应于经由无线收发器从第一路径上的第一节点接收到去往第二路径上的节点的分组,经由无线收发器朝着第二路径上的节点将分组转发到第二路径上。分组处理逻辑还被配置为响应于判定无线收发器不能直接向第一上游节点发送消息,经由无线收发器向处于到第一路径上的第一节点的第二路径上的并且位于无线收发器的范围内的、第一路径上的第二节点发送去往第一路径上的第一节点的针对分组的回复。
文档编号H04W40/22GK102474903SQ201080032934
公开日2012年5月23日 申请日期2010年7月12日 优先权日2009年7月29日
发明者桑莫尔·沙法, 罗伯特·J·弗瑞德 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1