Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN101965715 A
Publication typeApplication
Application numberCN 200880127674
PCT numberPCT/IB2008/003940
Publication date2 Feb 2011
Filing date11 Dec 2008
Priority date26 Dec 2007
Also published asCA2742887A1, CN101965715B, CN103973566A, EP2232792A1, EP2232792A4, EP2582103A2, EP2582103A3, US7911944, US8699329, US20090168768, US20110128857, US20140140347, WO2010032081A1
Publication number200880127674.0, CN 101965715 A, CN 101965715A, CN 200880127674, CN-A-101965715, CN101965715 A, CN101965715A, CN200880127674, CN200880127674.0, PCT/2008/3940, PCT/IB/2008/003940, PCT/IB/2008/03940, PCT/IB/8/003940, PCT/IB/8/03940, PCT/IB2008/003940, PCT/IB2008/03940, PCT/IB2008003940, PCT/IB200803940, PCT/IB8/003940, PCT/IB8/03940, PCT/IB8003940, PCT/IB803940
InventorsD艾伦, J恰鲍特, N布拉格, P阿什伍德史密斯
Applicant北方电讯网络有限公司
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Tie-Breaking in Shortest Path Determination
CN 101965715 A
Abstract
A consistent tie-breaking decision between equal-cost shortest (lowest cost) paths is achieved by comparing an ordered set of node identifiers for each of a plurality of end-to-end paths. Alternatively, the same results can be achieved, on-the-fly, as a shortest path tree is constructed, by making a selection of an equal-cost path using the node identifiers of the diverging branches of the tree. Both variants allow a consistent selection to be made of equal-cost paths, regardless of where in the network the shortest paths are calculated. This ensures that traffic flow between any two nodes, in both the forward and reverse directions, will always follow the same path through the network.
Claims(32)  translated from Chinese
  1. 一种确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括:确定所述第一节点和所述网络的第二节点之间的最短路径;确定多个最短路径具有大体上相等的开销的时间;为每个大体上等开销的路径形成节点标识符的集合,所述节点标识符定义所述路径中的节点的集合;使用第一排序标准将节点标识符的每个集合排序以形成路径标识符,其中所述第一排序标准独立于节点标识符在所述路径中出现的顺序;通过比较所述路径标识符而在所述多个等开销的路径之间进行选择。 A method of determining forwarding information for the packet forwarding in the network at a first node to use when forwarding packets, said each node of the network has a unique node identifier, the method comprising: determining said first node and said the shortest path between the second node of the network; determining a plurality of shortest paths with time cost of substantially equal; set node identifier is formed as a substantially equal-cost paths to each of the node identifier defining the path collection node; using a first ordering criterion to sort each set of node identifiers to form a path identifier, wherein the first ordering criterion is independent of the order of node identifiers appear in the path; by comparing the And among the plurality of equal-cost paths to choose reference path identifier.
  2. 2.根据权利要求1所述的方法,其中用确定多个最短路径具有完全相等的开销的时间代替所述确定多个最短路径具有大体上相等的开销的时间的步骤。 2. A method according to claim 1, wherein the plurality of shortest paths by determining the cost of having a completely equal time instead of said step of determining the plurality of shortest paths have substantially equal time overhead.
  3. 3.根据权利要求1所述的方法,其中所述第一排序标准创建节点标识符的全序集合。 3. The method according to claim 1, wherein the first ordering criterion to create totally ordered set of node identifiers.
  4. 4.根据权利要求1所述的方法,其中所述第一排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 4. The method according to claim 1, wherein the first ordering criterion is increasing lexicographic order and descending lexicographic order one.
  5. 5.根据权利要求1所述的方法,其还包括使用第二排序标准将多个路径标识符排序成有序列表。 5. The method according to claim 1, which further comprises using a second ordering criterion to sort the plurality of path identifiers into an ordered list.
  6. 6.根据权利要求5所述的方法,其中所述第二排序标准创建路径标识符的全序集合; 并且,所述在多个等开销的路径之间进行选择的步骤包括选择在所述路径标识符的有序列表的一端处出现的等开销的路径。 6. The method according to claim 5, wherein the second ordering criterion to create totally ordered set of path identifiers; and the step, the choice between a plurality of equal-cost paths comprises selecting the path equal-cost paths to the one end of the ordered list of identifiers.
  7. 7.根据权利要求6所述的方法,其中所述在多个等开销的路径之间进行选择的步骤包括选择在所述路径标识符的有序列表中第一个出现的等开销的路径和在所述路径标识符的有序列表中最后一个出现的等开销的路径中的一个。 Step 7. The method according to claim 6, wherein the plurality of equal-cost paths between the selecting comprises selecting the equal-cost path identifier in the ordered list of the first occurrence of the path and equal-cost paths in the ordered list of path identifiers appearing in the last one.
  8. 8.根据权利要求5所述的方法,其中所述第二排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 8. The method according to claim 5, wherein the second ordering criterion is increasing lexicographic order and descending lexicographic order one.
  9. 9.根据权利要求5所述的方法,其还包括通过以下方式中的至少一个来选择所述大体上等开销的路径中的两个:使用不同的第一排序标准和共同的第二排序标准;使用共同的第一排序标准和不同的第二排序标准。 9. The method according to claim 5, further comprising at least one of the following ways by selecting a path in the substantially equal-cost two: using different first ordering criteria and a common second ordering criterion ; use common first sorting criteria and a different second sort criteria.
  10. 10.根据权利要求5所述的方法,其还包括通过以下方式来选择所述大体上等开销的路径中的四个:使用两个不同的第一排序标准和共同的第二排序标准;使用相同的两个第一排序标准和不同的第二排序标准。 10. The method according to claim 5, further comprising the following way to select a path in the substantially equal-cost four: using two different first ordering criteria and a common second ordering criterion; use the same two first and second different sorting criteria sort criteria.
  11. 11.根据权利要求9所述的方法,其中所述第一排序标准是:递增的字典式顺序,递减的字典式顺序;并且所述第二排序标准是:递增的字典式顺序,递减的字典式顺序。 11. The method according to claim 9, wherein the first sorting criteria are: increasing lexicographic order, decreasing lexicographic order; and the second ordering criteria are: increasing lexicographic order of decreasing dictionary type sequence.
  12. 12. 一种确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括:通过迭代地形成最短路径树来确定所述第一节点和所述网络的第二节点之间的最短路径;在形成所述最短路径树的同时,确定多个路径具有等开销的时间,每个等开销的路径包括从所述等开销的路径所共有的分叉节点分出的支路;使用第一选择标准在每个分叉支路中标识节点标识符以形成支路标识符;通过比较所述支路标识符而在所述多个支路之间进行选择。 12. A method of determining forwarding information for the packet forwarding in the network at a first node to use when forwarding packets, said each node of the network has a unique node identifier, the method comprising: iteratively forming a shortest path tree to determine the shortest path to the first node and the second node of the network between; at the same time forming the shortest path tree, determining a plurality of paths with equal cost of time, such as the path cost for each, including from the bifurcation node path above and other common expenses of the separation of branches; using the first selection criteria identified in each fork leg to form a branch node identifier identifier; by comparing the branch identifier between said plurality of branches is selected.
  13. 13.根据权利要求12所述的方法,其中所述第一选择标准使用全排序标准来比较和选择每个支路中的节点标识符。 13. The method according to claim 12, wherein said first selection criterion using a total ordering criterion to compare and select a node identifier in each branch.
  14. 14.根据权利要求12所述的方法,其中所述第一选择标准使用字典式顺序来比较和选择在每个支路中的节点标识符。 14. The method according to claim 12, wherein said first selection criteria used to compare and choose lexicographic order node identifier in each branch of.
  15. 15.根据权利要求14所述的方法,其中所述第一选择标准使用字典式顺序来选择按字典式顺序第一个出现的节点标识符和按字典式顺序最后一个出现的节点标识符中的一个。 15. The method according to claim 14, wherein the first selection criteria to use to select the lexicographic order lexicographic order by the first occurrence of node identifiers and by lexicographic order last appearance node identifier a.
  16. 16.根据权利要求12所述的方法,其还包括在向所述分叉节点回溯的同时记录所述分叉支路的每一个中达到所述第一选择标准的节点标识符。 16. The method according to claim 12, further comprising at each node back to the bifurcation while recording the furcation legs of the first selection criterion is reached node identifier.
  17. 17.根据权利要求16所述的方法,其还包括在每个逆向的步骤处,将所记录的节点标识符与在该步骤处所遇到的新的节点标识符比较并且记录达到所述第一选择标准的节点标识符。 17. The method according to claim 16, further comprising the step at each reverse, the recorded node identifier with the new node identifier encountered at the premises of the step and the recorded time reaches the first comparison Selection criteria node identifier.
  18. 18.根据权利要求12所述的方法,其还包括通过使用第二选择标准选择支路标识符而在所述多个支路之间进行选择。 18. The method according to claim 12, further comprising a second selection by using standard selection branch identifier among the plurality of branches is selected.
  19. 19.根据权利要求18所述的方法,其中所述第二选择标准使用全排序标准来比较和选择所述支路标识符。 19. The method according to claim 18, wherein said second selection criterion using full ordering criterion to compare and select the branch identifier.
  20. 20.根据权利要求19所述的方法,其中所述第二选择标准使用字典式顺序来选择支路标识符。 20. The method according to claim 19, wherein said selected branch identifier using the second selection criterion lexicographic order.
  21. 21.根据权利要求20所述的方法,其中所述第二选择标识符使用字典式顺序来选择按字典式顺序第一个出现的节点标识符和按字典式顺序最后一个出现的节点标识符中的一个。 21. The method according to claim 20, wherein, wherein the second selection identifier using lexicographic order lexicographic order by selecting the first occurrence of node identifiers and by lexicographic order last appearance node identifier a.
  22. 22.根据权利要求12所述的方法,其在成对的基础在所述多个支路之间进行选择。 22. The method according to claim 12, in which the base pairs between the plurality of branches is selected.
  23. 23.根据权利要求18所述的方法,其还包括通过以下方式中的至少一个来选择所述等开销的路径中的两个:使用不同的第一选择标准和共同的第二选择标准;使用共同的第一选择标准和不同的第二选择标准。 23. The method according to claim 18, further comprising at least one of the following by way of selecting the path overhead of the two such as: the use of different first selection criteria and a common second selection criterion; use a common first selection criteria and a different second selection criteria.
  24. 24.根据权利要求18所述的方法,其还包括通过以下方式来选择所述等开销的路径中的四个:使用两个不同的第一选择标准和共同的第二选择标准;使用相同的两个第一选择标准和不同的第二选择标准。 24. The method of claim 18, further comprising the following four ways to select the overhead like path: using two different first selection criteria and a common second selection criterion; using the same two different first selection criteria and second selection criteria.
  25. 25.根据权利要求23所述的方法,其中所述第一选择标准是:最大的节点标识符,最小的节点标识符;并且所述第二选择标准是:最大的支路标识符,最小的支路标识符。 25. The method according to claim 23, wherein said first selection criteria is: the largest node identifier, the smallest node identifier; and the second selection criterion is: the largest branch identifier, minimum branch identifier.
  26. 26.根据权利要求12所述的方法,其包括使用Dijkstra算法迭代地形成最短路径树。 26. The method according to claim 12, which comprises using Dijkstra algorithm iteratively forming a shortest path tree.
  27. 27. 一种计算机程序产品,其包括承载指令的机器可读介质,当所述指令由处理器执行时其使得所述处理器实现权利要求1的方法。 27. A computer program product comprising a machine-readable medium carrying instructions, when executed by a processor cause the processor to implement their method of claim 1.
  28. 28. —种网络节点,其包括处理器,所述处理器被配置用于执行权利要求1的方法。 28. - kind of network node, which includes a processor, the processor configured to perform the method of claim 1.
  29. 29. 一种节点的网络,所述节点各自一致地应用根据权利要求1的方法在等开销的路径之间进行选择。 29. A node of a network, the nodes between each of consistent application of equal-cost path selection method according to claim 1.
  30. 30. 一种计算机程序产品,其包括承载指令的机器可读介质,当所述指令由处理器执行时其使得所述处理器实现权利要求12的方法。 30. A computer program product comprising a machine-readable medium carrying instructions, when executed by a processor that causes the processor to implement the method of claim 12.
  31. 31. 一种网络节点,其包括处理器,所述处理器被配置用于执行权利要求12的方法。 31. A network node comprising a processor, the processor configured to perform the method of claim 12.
  32. 32. —种节点的网络,所述节点各自一致地应用根据权利要求12的方法在等开销的路径之间进行选择。 32. - Species-node network, the node between each of consistent application of equal-cost path selection method according to claim 12.
Description  translated from Chinese

最短路径确定中的打破平局 Determine the shortest path to break tie

技术领域 FIELD

[0001] 本发明涉及在诸如以太网的分组转发通信网络中在多种可能性中一致地选择路径,诸如等开销最短路径。 [0001] The present invention relates to a packet forwarding such as an Ethernet communication network consistently select the shortest path route, such as equal-cost in a variety of possibilities.

背景技术 BACKGROUND

[0002] 在分组转发通信网络中,节点可以得知有关网络的拓扑结构的情况,并且可以基于它获取的关于该拓扑结构的信息决定它将如何向其它网络节点中的每一个传递业务(traffic)。 [0002] In packet forwarding in a communication network, the node can know the situation about the network topology, and may decide based on the information about the topology of how it will get it to other network nodes each delivery service (traffic ). 选择路径的主要根据是路径开销,其可以按照节点之间的跳跃(hop)的数量或者通过诸如连接节点的链路的带宽等某个其它度量来规定,或者通过这两者来规定。 Select the path is mainly based on the path cost, which can be based on the number jumps between nodes (hop), or by some other metrics such as bandwidth links connecting nodes to regulations prescribed by or to both. 开放式最短路径优先(OSPF)和中间系统到中间系统(IS-IS)是被广泛使用的链路状态协议,它们基于每个节点的对路径开销的通告来建立最短路径。 Open Shortest Path First (OSPF) and Intermediate System-to-Intermediate System (IS-IS) is a link-state protocol is widely used, they are based on the cost of the circular path of each node to create the shortest path. 这些协议通常不尝试在多个等开销的路径之间打破平局(tie-break)。 These agreements usually do not attempt among multiple equal-cost paths to break the tie (tie-break). 相反,它们通常跨若干等开销的路径传播业务。 Instead, they are usually a number of cross-path propagation and other business expenses. 传播算法没有被规定并且可以从路由器到路由器不同。 Propagation algorithm is not specified and can vary from router to router. 可替换地,它们可以对单个路径进行局部选择而不考虑与由其它路由器进行的选择的一致性。 Alternatively, they can be a single selection without considering the local path by the other router of the selected consistency. 因此,无论发生何种情况,不能保证流的反方向(reverse direction)使用正方向(forward direction)所使用的路径。 Thus, no matter what the situation, can not guarantee that the flow in the opposite direction (reverse direction) using a positive direction (forward direction) paths being used.

[0003] 诸如组播开放式最短路径优先协议(MOSPF)的组播(multicast)路由协议依赖于网络中的每个路由器构造相同的最短路径树。 [0003] The shortest path tree Multicast Open Shortest Path First protocol (MOSPF) multicast (multicast) routing protocol relies on each router in the network, such as the same structure. 由于这个原因,MOSPF实现基于链路类型、LAN 相比点对点(LAN vs. point-to-point)以及路由器标识符的打破平局方案以确保产生一样的树。 For this reason, MOSPF link type-based, LAN compared to peer (LAN vs. point-to-point) and a tie-breaking scheme router identifier to ensure produce the same tree. 但是,把打破平局决定建立在具有最大的标识符的父代(parent)之上意味着一般而言反向的流所使用的路径将不会与正向的流所使用的路径相同。 However, the tie-breaking decision to establish a path with the largest identifier parent (parent) above means that in general the flow of reverse path is not used and will forward the stream used the same.

[0004] 生成树协议(生成树协议(STP)、快速生成树协议(RSTP)、多生成树协议(MSTP)) 是在任意的拓扑结构中创建无回路的生成树的方法。 [0004] STP (Spanning Tree Protocol (STP), Rapid Spanning Tree Protocol (RSTP), Multiple Spanning Tree Protocol (MSTP)) is a method to create a loop-free spanning tree in arbitrary topologies. 生成树协议由网络中的每个节点执行。 Spanning Tree Protocol is executed by each node in the network. 所有生成树协议都使用基于(桥标识符,端口标识符)的局部打破平局决定在等开销的路径之间进行选择。 All are based Spanning Tree Protocol (bridge identifier, the port identifier) of the local tie-breaking decision between equal-cost paths to choose. 在生成树中,首选选择根节点,然后相对于那个根通过所有节点来构造树。 In the spanning tree, select the root node of choice, then relative to the root of the tree constructed by all the nodes. 因此,尽管所有路径对于离开和返回业务是对称的(根据定义,简单树(simple tree)使得这成为仅有可能的构造),但是选择过程是慢的并且简单树的结构不能使用任何多余的容量。 Thus, despite all the paths to leave and return to business is symmetric (by definition, a simple tree (simple tree) makes this the only possible configurations), but the selection process is slow and simple tree structure can not use any excess capacity . 类似地,RadiaPerlman的Rbridges提议使用父节点的标识符作为决胜局(tie-breaker)。 Similarly, RadiaPerlman of Rbridges proposed to use the parent node identifier as the tiebreaker (tie-breaker).

[0005] Mick Seaman在他给IEEE 802. 1工作组的“最短路径桥接”提议(http://www. ieee802. org/ 1/files/public/docs2005/new-seaman-shortest-path-0305-02. pdf)中描述了对快速生成树协议的简单的协议增强,其通过增加“截断矢量(cut vector)”来强制执行一致的打破平局决定。 [0005] Mick Seaman to IEEE 802. 1 In his working group "shortest path bridging" proposals (http:.. // Www ieee802 org / 1 / files / public / docs2005 / new-seaman-shortest-path-0305- 02. pdf) describes the rapid spanning tree protocol simple protocol enhanced by increasing its "truncated vector (cut vector)" to enforce a consistent tie-breaking decision. 该提议使用每一节点的VID来标识每一节点的生成树。 The proposal to use VID spanning tree of each node to identify each node. 为了把需要由桥传送的所有信息放进单个合法的以太网帧,这种技术目前将以太网的大小限制为32 个桥。 In order to transmit all the information required by the bridge of the Ethernet frame into a single legitimate, the current size limitation of this technique was 32 Ethernet Bridge.

[0006] 图1示出,即使对于普通的网络的例子,基于父节点标识符的打破平局方法如何无法产生对称路径。 [0006] Figure 1 shows, even for common network example, tie-breaking method of the parent node based on how identifiers can not produce a symmetrical path. 在这个例子中,链路被认为具有等开销并且因此路径开销的确定仅考虑跳跃的数量。 In this example, the link is considered to have equal-cost path cost is determined and thus considering only the number of jumps. 首先考虑计算从A到B的路径。 Consider first the calculation of the path from A to B. 当计算到达节点2时,将会发现等开销的路径的存在。 When calculating the arrival node 2, will find equal-cost paths exist. 有第一路径(A-1-3-6)和第二路径(A-1-4-5)。 A first path (A-1-3-6) and a second path (A-1-4-5). 如果打破平局算法基于具有最小的标识符的父节点来选择路径,则它将选择第二路径(A-1-4-5),因为节点标识符5小于节点标识符6。 If the tie-breaking algorithm based on the parent node with the smallest identifier to select a path, it will choose the second path (A-1-4-5), since less than 5 node identifier node identifier 6. 但是,现在考虑计算从B到A的路径。 But now consider the calculation of the path from B to A. 当计算到达节点1时,将会发现等开销的路径的存在。 When calculating the arrival node 1, will find equal-cost paths exist. 有第一路径(B-2-6-3)和第二路径(B-2-5-4)。 A first path (B-2-6-3) and a second path (B-2-5-4). 使用相同的打破平局标准,该打破平局算法选择第一路径(B-2-6-3),因为节点标识符3小于节点标识符4。 Using the same tie-breaking criteria, the tie-breaking algorithm selects the first path (B-2-6-3), since the node 3 is less than the node identifier identifier 4. 因此,可以看到的是由节点A和B进行的最短路径计算提供不一致的结果。 Therefore, we can see is the shortest path from node A and B were calculated to provide inconsistent results.

[0007] 在诸如给IEEE 802. Iaq的提议“供应商链路状态桥接(PLSB) ”的一些新兴的协议中有为单播和未知/组播业务两者保持跨网络转发的一致性以及在流的正方向和反方向两者上都使用共同的路径的要求。 [0007] In the proposal, such as IEEE 802. Iaq to the "Supplier Link State Bridging (PLSB)" Some of the emerging agreement promising both business and unknown unicast / multicast forwarding maintain consistency across the network as well as in both requirements on both the common path of the positive direction of the flow and in the opposite direction. 因此,重要的是当在等开销的路径之间打破平局时节点可以一致地得出相同的决定。 Therefore, it is important nodes can consistently come to the same decision when to break the tie between equal-cost paths. 此外,理想的是节点可以用最少量的处理努力来执行打破平局。 In addition, it is desirable to use a minimum amount of nodes can be performed processing effort tie-breaking.

发明内容 SUMMARY

[0008] 本发明的第一方面提供确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法。 [0008] The first aspect of the present invention provides the method of determining forwarding information for forwarding a packet network at a first node forwards packets used. 该方法确定所述第一节点和所述网络的第二节点之间的最短路径并且确定多个最短路径具有大体上相等的开销的时间。 The method determines the shortest path the first node and the second node of the network and to determine between a plurality of shortest paths have substantially equal time overhead. 该方法为每个大体上等开销的路径形成节点标识符的集合,所述节点标识符定义路径中的节点的集合并且然后使用第一排序标准将节点标识符的每个集合排序以形成路径标识符。 This method is substantially equal-cost paths for each set of node identifiers to form a set of nodes in node identifiers to define the path and then use the first sorting criteria will each set to form a sort of node identifiers path identifier character. 所述第一排序标准独立于节点标识符在所述路径中出现的顺序。 The first sort criteria independent of node identifiers order they appear in the path. 该方法然后通过比较所述路径标识符而在所述多个等开销的路径之间进行选择。 The method then in between the plurality of equal-cost paths to choose an identifier by comparing the path. 所述网络的每个节点具有唯一的节点标识符。 Each node of the network has a unique node identifier.

[0009] 有利地,所述第一排序标准是递增的字典式顺序(lexicographicorder)或者是递减的字典式顺序,但也可以使用创建节点的全序集合(totally ordered set)的任何排序标准。 [0009] Advantageously, the first sorting criterion is ascending lexicographic order (lexicographicorder) or decreasing lexicographic order, but can also be used to create a totally ordered set of nodes (totally ordered set) of any sort criteria.

[0010] 优选地,所述方法还包括使用第二排序标准将所述多个路径标识符排序成有序列表。 [0010] Preferably, the method further comprises using a second ordering criterion to sort the plurality of path identifiers into an ordered list. 类似地,所述第二排序标准可以是递增的字典式顺序、递减的字典式顺序或者创建路径标识符的全序集合的任何排序标准。 Similarly, the second sorting criteria may be increasing lexicographic order, decreasing lexicographic order or create any sort of standard path identifier totally ordered set.

[0011] 本发明的另一个方面提供确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法。 [0011] Another aspect of the invention provides the method of determining forwarding information for forwarding a packet network at a first node forwards packets used. 该方法包括通过迭代地形成最短路径树来确定所述第一节点和所述网络的第二节点之间的最短路径并且在形成所述最短路径树的同时确定多个路径具有等开销的时间,每个等开销的路径包括从所述等开销的路径所共有的分叉节点(divergency node)分出的支路。 The method includes determining the shortest path to the first node and the second node of the network is formed between the shortest-path tree by iteratively and forming the shortest path tree to determine a plurality of paths at the same time with equal cost, The path to each other expenses, including the cost of the path from the node bifurcation and other common (divergency node) separation of the branches. 该方法使用第一选择标准在每个分叉支路中标识节点标识符以形成支路标识符并且通过比较所述支路标识符而在所述多个支路之间进行选择。 The method uses a first selection criterion in each of the furcation legs to form a branch identifier identifying a node identifier and a plurality of branches and between the selection by comparing the branch identifiers.

[0012] 有利地,该方法使用全排序(total ordering)标准来比较和选择每个支路中的节点标识符,诸如字典式顺序。 [0012] Advantageously, the method uses a total ordering (total ordering) standard to compare and select a node identifier in each branch, such as lexicographic order.

[0013] 有利地,该方法在向所述分叉节点回溯(backtrack)的同时记录所述分叉支路的每一个中达到所述第一选择标准的节点标识符。 [0013] Advantageously, the method back to the bifurcation node (backtrack) while recording each of said furcation legs of the first selection criterion is reached node identifier. 这具有进一步简化计算和减少存储需求的优势。 This has further simplify the calculation and reduce the storage requirements of advantage.

[0014] 本发明的两个方面可以被用于通过使用不同的第一排序/选择标准和共同的第 [0014] Two aspects of the invention may be used by using different first ordering / selection criteria and a common first

6二排序/选择标准或者通过使用共同的第一排序标准/选择和不同的第二排序/选择标准来选择两个等开销的路径。 6 Second sorting / selection criteria or the first through the use of a common sort criteria / selection and a different second ordering / selection criteria to choose the path of two equal-cost. 可以通过在节点处一致地应用所述第一和第二排序/选择标准并且选择处于所述有序列表中的特定位置的标识符而以相似的方式选择三个或四个等开销的路径。 Can be applied consistently at a node of the first and second ordering / selection criteria and selecting in the ordered list of location-specific identifier and a path in a similar manner to select three or four equal-cost.

[0015] 本发明可以被用作决胜局(tie-breaker)以通过比较多个端到端路径中的每一个的、节点标识符的经排序的集合而在等开销的路径之间进行选择。 [0015] The present invention can be used as the decider (tie-breaker) by comparing a plurality of paths each end, the node identifier of the ranked set and between equal-cost paths to choose. 可替换地,已被发现的是随着最短路径树被建立,局部于(local to)选择决定需要被做出的地方通过使用该树的分叉支路的节点标识符对等开销的路径进行选择可以在传输过程中(on-the-fly)实现相同的结果。 Alternatively, have been found with the shortest path tree is established, locally at (local to) choose where decisions need to be made by using the path overhead forked branch of the tree node identifier, etc. selection may (on-the-fly) to achieve the same result in the transmission process. 这具有减少计算量并且减少需要被存储的数据的量的优势。 This has reduced the amount of calculation and the advantages of reducing the amount that needs to be stored data. 支路可以在成对的基础上被比较以进一步减少计算量。 Branch can be compared in order to further reduce the amount of calculation on the basis of the pair. 随着网络的大小和复杂度增加,这变得尤其重要。 With the increasing size and complexity of the network, this becomes particularly important. 本发明的两种变形都具有允许对等开销的路径进行一致的选择而不管所述最短路径在网络中的什么地方被计算的重要特性。 Two variants of the present invention have allowed the path cost of the peer selection consistently no matter where in the network the shortest path is calculated important features. 这确保了任何两个节点之间业务流在正方向和反方向上都将始终沿着相同的路径通过网络。 This ensures that the traffic between any two nodes in the positive direction and the reverse direction will always follow the same path through the network.

[0016] 本发明不是打算要被限制于确定最短路径的任何特定方式,包括:Dijkstra算法、Folyd算法或者可以被使用的任何其它合适的替代。 [0016] The present invention is not intended to be limited to determining the shortest path to any particular manner, comprising: Dijkstra algorithm, Folyd algorithm or any other suitable substitute may be used.

[0017] 本发明可以被用作具有完全相同的值的等开销的路径之间或者处于彼此的理想偏移以内的路径之间的决胜局,这两种情况下均就链路度量或者跳跃的数量而言。 [0017] The present invention can be used with equal-cost paths between the same value or offset to each other of the decider within the ideal path between these two cases are on the link metric or jumping in terms of quantity. 这可能是实际情况中所希望的,以在合格路径的集合之间增加多样性。 This may be desirable in the actual situation, between the qualified path to increase the diversity of the collection. 例如,以通常被要求用于在任何两个端点之间实现完全相等的开销的对称方式部署节点和链路可能不总是划算的。 For example, the usual requirement is for switching between any two end points is equal to the cost of fully symmetrical way to deploy nodes and links may not always be cost-effective. 通过将该约束放宽为要求不同路线上的跳数(hop count)彼此相差一跳以内,适度的非对称仍然可以产生合格的路线,并且无回路的(loop-free)拓扑结构仍然被保证,因为两次跳跃的差距是实现成环路径(looping path)所必要的最小值。 By relaxing the constraint to claim hops (hop count) on different routes differ from each other within a hop, modest asymmetric can still produce acceptable route, and no loop (loop-free) topology is still guaranteed because The gap between the two jumps are necessary to achieve the minimum looped path (looping path).

[0018] 将理解的是术语“最短路径”不被限制于仅基于距离来确定路径,并且旨在包括可以被用于规定链路的“开销(cost)”的任何度量或者度量的组合。 [0018] It will be understood that the term "shortest path" is not limited to determining the path, and is intended to include any combination of metrics may be used to link a predetermined "overhead (cost)", or a measure based only on the distance. 度量的非穷举的列表为: 距离,跳跃的数量、容量(capacity)、速度、使用率(usage)、可用性。 A non-exhaustive list of metrics are: distance, number of hops, capacity (capacity), speed, usage (usage), availability.

[0019] 等开销最短路径的选择不受不在被选择的路径上的网络的部分(诸如出故障的节点或者链路)的移除影响,在这个意义上来说该方法是稳定的。 Remove the impact is not part of the network selection is selected from [0019] equal-cost shortest path path (such as a node or link failure), and in this sense the process is stable.

[0020] 有利地,所述网络是以太网,但是本发明可以被应用于其它类型的分组转发网络, 尤其是对于对称的业务路由路径有要求的那些分组转发网络。 [0020] Advantageously, the network is an Ethernet, but the present invention may be applied to other types of packet forwarding network, especially those packets routing path symmetry for traffic forwarding network required.

[0021] 在此所描述的功能可以用软件、硬件或者这些的组合来实现。 [0021] In the function described herein may be implemented in software, hardware or a combination of these. 本发明可以通过合适地被编程的计算机或者任何形式的处理设备来实现。 The present invention can be suitably programmed computer or in any form of processing devices. 因此,本发明的另一个方面提供用于实现所描述的方法中的任何一种的软件。 Accordingly, another aspect of the invention provides a method for achieving the described in any one of the software. 该软件可以被存储在电子存储装置、硬盘、光盘或者其它机器可读存储介质上。 The software may be stored on an electronic storage device, a hard disk, optical disk or other machine-readable storage medium. 该软件可以作为计算机程序产品在机器可读载体上被交付或者它可以通过网络连接被下载到节点。 The software can be delivered as a computer program product on a machine-readable carrier or it may be downloaded via a network connection to the node.

[0022] 本发明的另外的方面提供包括处理器的网络节点,所述处理器被配置用于执行所描述的方法中的任何一种。 Another aspect of the [0022] present invention provides a network node includes a processor, said processor being configured to perform the described method of any one.

[0023] 本发明的另外的方面提供节点的网络,所述节点各自一致地应用所描述的方法在等开销的路径之间进行选择。 Another aspect of the [0023] present invention provides a network node, the nodes each consistently apply the method described in the equal-cost paths between selected. 附图说明 Brief Description

[0024] 将参考附图仅通过示例的方式来描述本发明的实施例,其中: [0024] will be described with reference to the drawings only embodiments of the present invention by way of example, wherein:

[0025] 图1示出具有等开销的路径的网络拓扑结构; [0025] Figure 1 shows a network topology with equal-cost paths;

[0026] 图2示出可以在其中实现本发明的分组转发网络的例子; [0026] Figure 2 illustrates the network can be forwarded in a packet in which an example of realization of the present invention;

[0027] 图3示意性地示出在图2的桥接节点中的一个处的设备。 [0027] Figure 3 schematically shows apparatus at one of the bridge nodes in FIG. 2 in.

[0028] 图4示出打破平局决定的局部性(locality); [0028] Figure 4 shows the tie-breaking decision locality (locality);

[0029] 图5到7示出网络拓扑结构的例子以示意最短路径的计算; [0029] Figure 5-7 shows an example of a network topology in schematic calculate the shortest path;

[0030] 图8示出网络拓扑的另外的例子以示意最短路径的计算; [0030] Figure 8 shows a further example of a network topology in order to calculate the shortest path schematically;

[0031] 图9到11示出图8所示的网络拓扑结构的最短路径计算的打破平局步骤; [0031] FIG. 9-11 shown in FIG. 8 shows a network topology of the shortest path calculation step of the tie-breaking;

[0032] 图12示出双归宿(dual-home)到网状网络上的节点的例子。 [0032] Figure 12 shows a dual destination (dual-home) to the example of the node on the mesh network.

[0033] 图13A和13B示意本发明的打破平局方法的特性。 [0033] Figures 13A and 13B schematically tie-breaking method of the present invention is characteristic.

具体实施方式 DETAILED DESCRIPTION

[0034] 图2示出可以在其中实现本发明的受链路状态协议控制的以太网10的例子并且图3示意性地示出在节点41-48中的一个处的设备。 [0034] Figure 2 shows a link-state protocol may be implemented by the present invention in which the example of the Ethernet control 10 and Figure 3 schematically shows apparatus at one of the nodes 41-48 in the. 形成网状网络的节点(也被称作桥或者桥接节点)41-48彼此交换链路状态通告(advertisement) 56。 Forming a mesh network node (also referred to as the bridge or the bridge node) 41-48 exchanging link-state advertisement (advertisement) 56. 这经由链路状态路由系统的被充分理解的机制来实现。 This mechanism via a link state routing system is sufficiently understood to achieve. 路由系统模块51使用链路状态路由协议与网络中的对等节点交换关于网络拓扑结构的信息56。 Routing system module 51 uses a link state routing protocol to exchange information on 56 network topology and network peers. 信息的这种交换允许节点生成对网络拓扑结构同步的观察。 This exchange of information allows the nodes to generate the observation of network topology synchronized. 在每个节点处,最短路径确定模块52计算最短路径树,该最短路径树确定到每个其它节点的最短路径。 At each node, the shortest path determination module 52 calculates the shortest path tree, the shortest path tree to determine the shortest path to every other node. 由模块52确定的最短路径被用于向转发信息库54填充用于引导业务通过网络的条目。 The shortest path is determined by the module 52 is used to populate the forwarding information base 54 for directing traffic through the network entry. 如将在下文中更详细地描述的,当模块52遇到多个等开销的路径时情况将出现。 As will be described in more detail below, when the module 52 encounters the route of the plurality of equal-cost situation will arise. 打破平局模块53以一致的方式选择等开销的路径中的一个(或多个)。 Module 53 tie-breaking path in a consistent manner selection cost one (or more). 在正常的操作中,分组在节点处被接收57并且目的地查找模块55使用FIB 54来确定所接收的分组应当通过其被转发58的端口(或者在组播分配的情况中为多个端口)。 In normal operation, the packet is received at a node 57 and the destination lookup module 55 using the FIB 54 to determine the received packet should be forwarded via its port 58 (or in the case of multicast distribution for multiple ports) . 如果在FIB 54 中没有有效的条目,则分组可以随后被丢弃。 If there is no valid entry in the FIB 54, then the packet may then be discarded. 将理解的是图3所示的模块仅用于示意的目的并且可以通过合并或者在节点的模块之间分配功能来实现,这将被本领域的技术人员理解。 It will be appreciated that the modules shown in FIG. 3 for illustrative purposes only and may be assigned by combining the functions between the nodes or modules to achieve, which will be understood by those skilled in the art.

[0035] 可以使用各种最短路径算法来确定给定的节点是否在给定的一对桥之间的最短路径上。 [0035] You can use a variety of the shortest path algorithm to determine whether a given node on the shortest path between a given pair of bridges. 可以在节点41-48中实现所有点对间最短路径算法(all-pairs shortest path algorithm)来计算节点对之间的最短路径,诸如Floyd算法[R. Floyd :算法97 (最短路@ ) (Algorithm 97 (shortestpath)), ACMilff (Communications of the ACM),7:345, 1962]或者Dijkstra的单源最短路径算法[EW Di jkstra :对与图论相关的两个问题的记录(A note on two problems in connexion with graphs),数学学才艮(Numerical Mathematics),1 =269-271,1959]。 Nodes can be implemented in 41-48 among all pairs shortest path algorithm (all-pairs shortest path algorithm) to calculate the shortest paths between pairs of nodes, such as Floyd algorithm [R. Floyd: Algorithms 97 (Shortest @) (Algorithm 97 (shortestpath)), ACMilff (Communications of the ACM), 7: 345 single-source shortest path, 1962] or Dijkstra's algorithm [EW Di jkstra: associated with the graph theory to both questions recording (A note on two problems in connexion with graphs), in mathematics only Burgundy (Numerical Mathematics), 1 = 269-271,1959]. 应当理解的是还可以使用任何合适的最短路径算法。 It should also be appreciated that any suitable shortest path algorithm. 最短路径算法所使用的链路度量可以是静态的或者可以动态地被修改以将业务工程信息(traffic engineeinginformation)考虑在内。 Link metric used by the shortest path algorithm may be static or may be dynamically modified to the traffic engineering information (traffic engineeinginformation) into account. 例如,链路度量可以包括对诸如容量、速度、 使用率和可用性等开销的测量。 For example, you can include a link metric measurement of the cost of such capacity, speed, usage and availability of.

[0036] 作为对问题的引入,首先将描述对可以在等开销的路径之间做出一致决定的打破平局算法的要求。 [0036] As the introduction to the problem, first described in a unanimous decision to be made in equal-cost paths between the tie-breaking algorithm requirements. 要求的列表在下面的表1中列出: In the following list of requirements listed in Table 1:

8[0037] 8 [0037]

Figure CN101965715AD00091

[0038] 表1 [0038] Table 1

[0039] 打破平局算法的要素是始终“起作用(work)”。 [0039] The elements of tie-breaking algorithm is always "work (work)". 无论该算法被提供以怎样的路径集合,该算法应当始终能够选定一个并且仅选定一个路径。 No matter what the algorithm is provided to the path set, the algorithm should always be able to select one and only one path is selected. 首要地,打破平局算法应当是完备的(1)。 First and foremost, the tie-breaking algorithm should be complete (1). 对于一致的打破平局,该算法必须产生相同的结果而不管等开销的路径被发现以及打破平局被执行的顺序。 For the same tie-breaking, the algorithm must produce the same results regardless of the equal-cost paths to be found as well as a tie break sequence is executed. 也就是说,打破平局算法应当是可交换(2)以及可结合(3) 的。 That is, the tie-breaking algorithm should be interchangeable (2) and a binding (3). 在三个路径之间打破平局必须产生相同的结果而不管路径对被考虑的顺序的要求(3) 不是很明显,但是它对于一致的结果绝对是必要的,因为取决于该计算通过网络的方向按不同的顺序发现等开销的路径。 Tie-breaking between three paths must produce the same results regardless of the order of the path being considered requirement (3) is not very clear, but it is absolutely essential for consistent results, as calculated by the network depending on the direction of find a different order equal-cost paths. 打破平局算法必须是对称的(4),即打破平局算法必须产生相同的结果而不管路径的方向:两个节点A和B之间的最短路径必须是B和A之间的最短路径的反向。 Tie-breaking algorithm must be symmetric (4), i.e., the tie-breaking algorithm must produce the same results regardless of the direction of the path: the shortest path between two nodes A and B must be the reverse shortest path between the B and A . 最后,局部性是最短路径的非常重要的特性(5),该特性被路由系统充分利用。 Finally, a very important feature locality is the shortest path (5), this feature is fully utilized routing system. 局部特性简单地来说就是:最短路径的子路径也是最短路径。 Local properties simply is this: sub-path is the shortest path shortest path. 最短路径的这个看似普通的特性在使用基于目的地的转发的分组网络中具有重要的应用。 Common characteristics of this seemingly shortest path has important applications forwarded based on the destination of the packet network in use. 在这些网络中,在沿路径的中间节点处的转发决定唯一地基于分组的目的地地址,而不是它的源地址。 In these networks, the forwarding intermediate node along the path of the uniquely decided based on the destination address of the packet, rather than its source address. 因此,为了生成它的转发信息,节点仅需要计算从它本身到所有其它节点的最短路径并且所产生的转发信息的量随网络中的节点数量线性地而不是二次地(quadratically)增长。 Therefore, in order to generate its forwarding information, the node only needs to calculate the amount of forwarding information from itself to all the shortest paths to other nodes and the generated varies with the number of nodes in the network rather than secondary to linearly (quadratically) growth. 为了允许基于目的地的转发,打破平局算法因此必须保持最短路径的局部特性:由打破平局算法选择的最短路径的子路径必须是由该打破平局算法选择的最短路径。 In order to allow the destination-based forwarding, tie-breaking algorithm must keep the local characteristics of the shortest path: the path by breaking the child draw the shortest path algorithm selection must be made by the tie-breaking algorithm to select the shortest path.

[0040] 对计算效率的考虑对打破平局算法提出了另一看似不同的要求:等开销的路径一被发现该算法就应当能够做出打破平局决定。 [0040] consider the calculation of the efficiency of the tie-breaking algorithm proposed another seemingly different requirements: such as the cost of a path is found that the algorithm should be able to make a decision to break the tie. 图4示意了这一点。 Figure 4 illustrates this point. 中间节点I由两个等开销的路径P和q连接到节点A,并且由另一对等开销的路径r和s连接到节点B。 Connected by two intermediate nodes I equal-cost paths P and q to node A, and is connected by another pair of equal-cost paths r and s to node B. 因此在节点A和B之间有四个等开销的路径:p+r、p+s、q+r、q+s,它们全部经过节点I。 So between nodes A and B with four equal-cost paths: p + r, p + s, q + r, q + s, they all go through node I. 随着对从A 到B的最短路径的计算的进行,将首先发现A和I之间的等开销的子路径的存在。 With the calculation of the shortest path from A to B of the conduct, the first to discover the existence of sub-paths between A and I and other overhead. 为了避免不得不推进(carry forward)这两个路径的信息,第二等开销的最短子路径的存在一被发现该打破平局算法就应当能够在它们之间选定。 To avoid having to advance (carry forward) information of the two paths, there is the shortest path to the second child and other expenses of a tie-breaking algorithm has been found that it should be able to select between them. 在中间节点处做出的打破平局决定将最终影响计算的结果。 In the intermediate nodes to make tie-breaking decision will ultimately affect the results of calculations. 通过排除节点A和I之间的两个子路径ρ和q中的一个,该算法根据进一步的考虑移除了节点A和B之间的四个最短路径中的两个。 By excluding the two sub-paths ρ and q a node between A and I, the algorithm removes the four shortest path between nodes A and B two from further consideration. 相似地,在反方向上,该打破平局算法将在做出最后确定之前在子路径r和s之间选定。 Similarly, in the reverse direction, the tie-breaking algorithm will determine before making a final between the sub-path r and s is selected. 这些局部的决定必须彼此一致,而且特别地,如果路径要以相同的方式被延伸,则在两个等开销的路径之间的抉择应当保持相同。 These local decisions must coincide with each other, and particularly, if the path to be extended in the same manner, the choice between the two equal-cost paths should be kept the same. 例如,在图3所画的情况中,打破平局算法应当验证以下四个恒等式(identity): For example, in the case of the drawing in Figure 3, tie-breaking algorithm should verify the following four identities (identity):

[0041] tiebreak(concat (p,r),concat (q,r)) = concat (tiebreak (p,q),r) [0041] tiebreak (concat (p, r), concat (q, r)) = concat (tiebreak (p, q), r)

[0042] tiebreak (concat (p,s),concat (q,s)) = concat (tiebreak (p,q),s) [0042] tiebreak (concat (p, s), concat (q, s)) = concat (tiebreak (p, q), s)

[0043] concat (p,tiebreak (r,s)) = tiebreak (concat (p,r),concat (p,s)) [0043] concat (p, tiebreak (r, s)) = tiebreak (concat (p, r), concat (p, s))

[0044] concat (q,tiebreak (r,s)) = tiebreak (concat (q,r),concat (q,s))事实证明, 对称性(4)和局部性(5)这两个条件都是必要的并且足以保证打破平局算法将做出一致的局部决定,这一事实可以被充分利用以在有等开销的最短路径的情况下产生单源最短路径算法的非常有效的实现。 [0044] concat (q, tiebreak (r, s)) = tiebreak (concat (q, r), concat (q, s)) proved symmetry (4) and localized (5) These two conditions are is necessary and sufficient to ensure consistent tie-breaking algorithm will make a local decision, this fact can be fully utilized in the case of the shortest path to have equal-cost single-source shortest path algorithm to produce a very efficient implementation.

[0045] 表1所列出的要求列表并非意在穷举,并且有最短路径的其它特性可以被包括在表1中。 List of requirements listed in [0045] Table 1 is not intended to be exhaustive, and other features have the shortest path can be included in Table 1. 例如,如果不是最短路径的部分的链路从图中被移除,则该最短路径不受影响。 For example, if the link is not part of the shortest path are removed from the graph, the shortest path is not affected. 同样地,如果不是被选择的路径的部分的链路从图中被移除并且即使该链路是等开销的路径中被打破平局算法否决的一些路径的部分,该算法在多个等开销的路径之间的选择不应受影响。 Similarly, if the link is not part of the selected path is removed from the graph, and even if the link is part of the path, such as the cost of the tie-breaking algorithm was rejected by some paths, the algorithm in multiple equal-cost Select the path between shall not be affected.

[0046] 现在将描述一致的打破平局算法的第一实施例。 [0046] Now will be described a first embodiment of a consistent tie breaking algorithm. 这个算法通过为每个路径形成路径标识符开始。 This algorithm by forming a path identifier for each path begins. 路径标识符是通过网络的路径所遍历的每个节点的标识符的有序列表。 Path identifier is an ordered list of identifiers for each node of the network through the path traversed. 按字典式顺序将节点标识符排序。 Lexicographic order by ordering the node identifier. 路径标识符是经排序的节点标识符的由此产生的串联(concatenation)。 Path identifier is a series (concatenation) the resulting sorted node identifier. 图5示出网络的例子,该网络具有端节点A、B和中间节点0-9。 Figure 5 shows an example of a network, the network having end nodes A, B and the intermediate node 0-9. 节点A 和B之间的第一路径(沿图5的最上面)遍历具有节点标识符A-0-5-6-1-4-8-B的节点。 A first path (along the top. 5) between nodes A and B traverses nodes having a node identifier of A-0-5-6-1-4-8-B. 在按升序的字典式顺序将节点标识符的列表排序之后,该路径可以由路径标识符014568AB 来表示。 After ascending lexicographic order to sort the list node identifiers, the path can be represented by a path identifier 014568AB. 这种构造确保了路径及其反向将具有相同的路径标识符。 This configuration ensures that the path and reverse path will have the same identifier. 此外,由于算法仅处理最短路径或者接近最短的路径,只有两个路径_直接路径和对应的反向路径_能够共享标识符。 Further, since only the shortest path algorithm processing or near the shortest path, only two paths _ direct path and a corresponding reverse path _ can share identifiers. 最后,所述打破平局算法仅选择具有最小(或最大的)路径标识符的路径。 Finally, the tie-breaking algorithm selects the path with the smallest (or largest) path identifier only. 该算法可以被总结为: The algorithm can be summarized as follows:

[0047] 1)根据第一排序标准将路径中的节点的标识符的集合排序,该第一排序标准实现节点标识符的集合的全排序。 [0047] 1) standard will be set according to the first sort sort path node identifier, the first sort criteria for full sorting node identifier collection. 优选的第一排序标准是递增或者递减的字典式顺序; Preferred first sorting criterion is increasing or decreasing lexicographic order;

[0048] 2)串联经排序的节点标识符的集合来创建路径标识符; [0048] 2) a series of ordered set of node identifiers to create a path identifier;

[0049] 3)根据第二排序标准将路径标识符排序,该第二排序标准实现路径标识符的集合的全排序。 [0049] 3) According to the second sort criteria to sort the path identifier, the second sort criteria for full sorting path identifier of the collection. 优选的第二排序标准是递增或者递减的字典式顺序; Preferred second sorting criteria is increasing or decreasing lexicographic order;

[0050] 4)选择其路径标识符在路径标识符的经排序的集合的一端(第一个或最后一个) 处出现的路径。 [0050] 4) Select the path to appear in the end of the path set by the sort of identifiers (first or last) at its path identifier. 有利地,该步骤选择在路径标识符的经排序的集合中第一个出现的路径标识符。 Advantageously, the procedure to select the path identifier set by the ordering of the first occurrence of the path identifier.

[0051] 执行这个算法的网络中的每个节点一致地使用相同的排序标准并且选择在路径标识符的集合中相同的约定(agreed)位置处的路径以便选择相同的路径。 [0051] This algorithm is executed for each node in the network to consistently use the same ordering criteria and select the same convention path (agreed) at a location in the set of path identifiers in order to select the same path.

[0052] 术语“字典式顺序”意思是按标识符的大小的顺序来排列节点标识符的集合。 [0052] The term "lexicographic order" means that the size of the identifiers in order to arrange the collection of node identifiers. 所以,如果节点标识符是字母,则节点标识符的集合按字母顺序A、B、C、D...等被排列;如果节点标识符是数字,则节点标识符的集合按数字顺序被排列。 So, if the node identifier is a letter, a collection of the node identifiers in alphabetical order A, B, C, D ... and the like are arranged; if the node identifier is a number, then the set of node identifiers are arranged in numerical order . 明显地,这种方案可以适用于标注节点的任何方式以及标识符类型的任何组合。 Obviously, this approach can be applied in any manner and in any combination marked node identifier type. 例如,数字和字母的混合可以通过相对于字母约定数字的顺序(例如首先将数字排序,然后将字母排序)来排序。 For example, mixing numbers and letters can be sorted by letter agreement with respect to numerical order (for example, the number first, sort, and then in alphabetical order). 可替换地,每个字符可以被给予它的美国信息交换标准代码(ASCII)的码并且可以按递增(递减)的顺序将该ASCII码排序。 Alternatively, each character can be given that the American Standard Code for Information Interchange (ASCII) code and can be sorted in the order of the ASCII code increment (decrement) of. 每个节点使用相同的协定(convention)以用相同的方式将路径的节点标识符排序。 Each node using the same protocol (convention) in the same manner as the node identifier of the path ordering. 这个算法将产生一致的结果,因为在路径(严格来说是由路径和它的反向构成的对)和它的标识符之间有一对一的映射,并且有对路径标识符的全排序。 This algorithm will produce consistent results, since the path (strictly speaking, by the route and its reverse configuration on) and between its identifier has a one to one mapping, and there is a total ordering of the path identifier.

[0053] 再次参考图5,在排序之后,由路径标识符014568AB来表示节点A和B之间最上面的路径。 [0053] Referring again to FIG. 5, after sorting, to represent the uppermost between nodes A and B path by path identifier 014568AB. 类似地,节点A和B之间的第二路径遍历节点A-0-7-9-1-4-8-B并且在排序之后这可以由路径标识符014789AB来表示。 Similarly, the second path between nodes A and B traverses nodes A-0-7-9-1-4-8-B and after sorting which may be represented by the path identifier 014789AB. 最后,节点A和B之间的第三路径(沿图5的最下面)遍历节点A-0-7-9-2-3-8-B并且在排序之后这可以由路径标识符023789AB来表示。 Finally, a third path (along the bottom. 5) between nodes A and B traverses nodes A-0-7-9-2-3-8-B and this can be made after sorting path identifier indicating 023789AB . 在约定的方向上,所述打破平局算法比较经排序的路径标识符的每个元素。 In the direction of the agreement, the tie breaking algorithm compares each element of the ordered path identifier. 在这个例子中, 将被使用的协定是当路径标识符在特定方向上(例如从左到右)被比较时,每个节点选择经排序的路径标识符中最小的那个。 In this example, the protocol to be used when the path identifier in a particular direction (e.g., left to right) are compared, each node selects the path identifier of the ranked smallest one. 对于这三个等开销的路径,经排序的路径标识符为: For the three and other path overhead sorted path identifier:

[0054] 014568AB [0054] 014568AB

[0055] 014789AB [0055] 014789AB

[0056] 023789AB [0056] 023789AB

[0057] 从标识符左侧的元素开始,所有三个路径标识符都以'0'开始。 [0057] element identifiers from the left side, all three paths identifiers to '0' start. 下一个元素为'1' 或'2',所以只需要再进一步考虑最上面两个标识符。 The next element to '1' or '2', so just need further consideration uppermost two identifiers. 到达第四个元素,“0145... ”小于“0147... ”,因此最上面的路径被选择。 Reaches the fourth element, "0145 ..." is less than "0147 ...", so the top of the path is selected. IS-IS和以太网中实际的节点标识符由六个8位的字节组成并且通常被写成十六进制的串,诸如00-e0-7b-Cl-a8-C2。 IS-IS and the Ethernet node identifiers actually composed of six 8-bit bytes, and is usually written as a hexadecimal string, such as a 00-e0-7b-Cl-a8-C2. 还可以使用节点的别名,只要它们一致地被使用。 You can also use an alias node, as long as they are used consistently.

[0058] 图6示出简单的网络拓扑结构以示意不同排序标准的效果。 [0058] Figure 6 shows a simple network topology to indicate the effect of a different sort criteria. 通过具有节点标识符1-8的四个等开销的路径连接两个节点X、Y。 Connecting two nodes X, Y through a path having a node identifier 1-8 four equal-cost. 现在将描述四个可能的选项: Four possible options will now be described:

[0059] •按升序将节点ID排序;按升序将路径ID排序;选择第一个(最小的)路径ID。 [0059] • The node ID ascending sort; sort ascending path ID; choose the first (lowest) path ID. 如果每个路径中的节点标识符按大小的升序被排序(例如具有节点1,7的最上面的路径变成17),则那样给出路径标识符17,28,35,46。 If the node identifier for each path according to the size to be sorted in ascending order (e.g., a path having a node becomes the uppermost 1,7 17), is given as a path identifier 17,28,35,46. 按大小的升序排列这些路径标识符并且选择有序列表中的第一个路径标识符获得选择第一个(最上面的)路径的结果,该路径具有节点1和7。 According to the size of these path identifiers in ascending order and selects the first ordered list of path identifiers obtained results to select the first (top) path, the path having the node 1 and 7.

[0060] •按升序将节点ID排序;按升序将路径ID排序;选择最后一个(最大的)路径ID。 [0060] • The node ID ascending sort; sort ascending path ID; choose the last one (the largest) path ID. 这个选项获得选择最后一个(最下面的)路径的结果,该路径具有节点4和6。 Select this option to get the last (bottom) the results of the path, the path has a node 4 and 6.

[0061] •按降序将节点ID排序;按升序将路径ID排序;选择第一个(最小的)路径ID。 [0061] • The node ID descending sort; sort ascending path ID; choose the first (lowest) path ID. 按大小的降序将每个路径中的节点标识符排序给出路径标识符(71,82,53,64)。 By size in descending order of the node identifiers in each path is given sorting path identifier (71,82,53,64). 按大小的升序排列这些路径标识符给出(53,64,71,82)并且选择有序的列表中的第一个(最小的) 路径标识符获得选择第三个路径的结果,该路径具有节点3和5。 By size in ascending order of these paths given identifier (53,64,71,82) and select the ordered list of the first (lowest) to select a path identifier to obtain the results of the third path, the path has nodes 3 and 5.

[0062] •按降序将节点ID排序;按升序将路径ID排序;选择最后一个(最大的)路径ID。 [0062] • The node ID descending sort; sort ascending path ID; choose the last one (the largest) path ID. 这个选项获得选择第二个路径的结果,该路径具有节点8和2。 Select this option to obtain the results of the second path, the path having a node 8 and 2.

[0063] 如将在下文中更详细地描述的,存在一些情况,其中所希望的是节点应用多个不同的排序和/或选择标准来选择多个等开销的路径。 [0063] As will be described in more detail below, there are some cases in which it is desirable to apply a plurality of different path node sorting and / or selection criteria to select multiple equal-cost.

[0064] 到目前为止,本说明书假设该算法是非局部的(non-local)并且打破平局在所有等开销的路径已被找到之后被执行。 [0064] So far, this specification assumes that the algorithm is non-local (non-local) and the tie-breaking is performed after all the equal-cost paths have been found. 但是,已经发现这个算法的局部形式可以通过仅考虑分叉支路上的节点而产生相同的结果。 However, it has been found that the form of the algorithm may be localized by considering only the bifurcated branch circuit node to produce the same result. 实际上,打破平局的结果仅取决于分叉支路中最小 In fact, the tie-breaking bifurcation result depends only on the smallest branch

11的节点标识符的相对位置。 The relative position of the node identifier (11). 一致的打破平局算法的第二实施例可以被总结为: The second embodiment consistent tie-breaking algorithm can be summarized as:

[0065] 1)在第一路径的分叉支路中找到达到第一选择标准的节点标识符。 [0065] 1) reaches the first selection criteria to find the node identifier in the furcation legs of the first path. 这可以被认为是该第一路径的支路标识符; This can be considered an identifier of the first branch path;

[0066] 2)在第二路径的分叉支路中找到达到第一选择标准的节点标识符。 [0066] 2) reaches the first selection criteria to find the node identifier in the furcation legs of the second path. 这可以被认为是该第二路径的支路标识符; This can be considered an identifier of the second branch path;

[0067] 3)使用第二选择标准来选择所述路径中的一个,其在通过步骤(1)和(2)所选择的支路标识符上运算(operate)。 [0067] 3) using the second selection criteria to select the path a, in which step (1) and (2) operation (operate) on the selected branch identifier.

[0068] 对于第一选择标准优选的选项是找到这样的节点标识符,即当使用诸如字典式顺序(递增或者递减的字典式顺序)的全排序方案来排列节点标识符时,该节点标识符是第一个(或者最后一个)。 [0068] For the first selection criterion preferred option is to find such a node identifier, that is, when the use of such lexicographic order (increasing or decreasing lexicographic order) the whole ordering scheme to arrange node identifier, the node identifier is the first (or last). 如将在下文中所解释的,该方案不一定要汇集支路中的节点标识符的总的集合,然后将该集合排序。 As will be hereinafter explained, the program does not have to bring together the total collection branch node identifier, then the ordered set. 相反,该方案可以利用对字典式顺序的认识迭代地比较节点标识符对。 Instead, the program can be used for understanding lexicographic order iteratively comparing node identifier right. 类似地,对于第二选择标准优选的选项是找到这样的支路标识符,即当使用诸如字典式顺序(递增或者递减的字典式顺序)的全排序方案来排列支路标识符时,该支路标识符是第一个(或者最后一个)。 Similarly, the selection criteria for the second preferred option is to find such a branch identifier, that is, when the use of such lexicographic order (increasing or decreasing lexicographic order) ordering scheme to arrange a full branch identifier, the branch path identifier is the first (or last).

[0069] 再次参考图6的拓扑结构,节点X和Y之间的四个等开销的路径可以表示来自父节点X的四个等开销的分叉支路。 [0069] Referring again to FIG. 6 topology, four equal-cost path to the node X and Y can be expressed in four equal-cost furcation legs from the parent node X. 所述打破平局算法需要选择这四个支路中的一个。 The tie-breaking algorithm needs to select one of the four branches. 有四个可能的选项: There are four possible options:

[0070] •标识每个支路中最小的节点ID。 [0070] • identify each branch smallest node ID. 这产生(1,2,3,4)作为支路标识符。 This produces (1,2,3,4) as a branch identifier. 然后,标识支路标识符中最小的那个。 Then, identify the smallest branch identifier. 这获得选择第一个(最上面的)路径的结果,该路径具有节点1和7。 This gave select the first (top) path result, the path having the node 1 and 7.

[0071] •标识每个支路中最小的节点ID。 [0071] • identify each branch smallest node ID. 然后,标识支路标识符中最大的那个。 Then, identify the largest of the branch identifiers. 这个选项获得选择最后一个(最下面的)路径的结果,该路径具有节点4和6。 Select this option to get the last (bottom) the results of the path, the path has a node 4 and 6.

[0072] •标识每个支路中最大的节点ID。 [0072] • identify each branch of the largest node ID. 这产生(5,6,7,8)作为支路标识符。 This produces (5,6,7,8) as a branch identifier. 然后,标识支路标识符中最小的那个。 Then, identify the smallest branch identifier. 这获得选择具有节点3和5的路径的结果。 This is obtained selecting a path node 3 and 5 of the results.

[0073] •标识每个支路中最大的节点ID。 [0073] • identify each branch of the largest node ID. 然后,标识支路标识符中最大的那个。 Then, identify the largest of the branch identifiers. 这个选项获得选择具有节点2和8的路径的结果。 Select this option to obtain results with a path of nodes 2 and 8.

[0074] 如将在下文中更详细地描述的,存在一些情况,其中所希望的是节点应用多个不同的排序和/或选择标准来选择多个等开销的路径。 [0074] As will be described in more detail below, there are some cases in which it is desirable to apply a plurality of different path node sorting and / or selection criteria to select multiple equal-cost.

[0075] 这个算法可以通过简单的比较而非常容易且有效地被实现。 [0075] This algorithm is relatively simple and can be easily and efficiently implemented. 图7示出另一网络拓扑结构。 Figure 7 shows another network topology. 所述方法的局部形式将在节点13处开始,并且进而查找从节点15引出的两个分叉支路。 Topical form of the method will start at node 13, and further find the two diverging branches from the node 15 leads. 该方法探索直到节点16为止的两个独立的路径,这两个路径在节点16处再次汇聚。 The method to explore two separate paths until until node 16, these two paths converge at node 16 again. 在这点上,该方法检查两个支路中的每一个的节点标识符。 In this regard, the method checks the two branches of each of the node identifiers. 对于第一支路,节点标识符为:10,14,17,21并且对于第二支路,节点标识符为=11,12,19,20。 For the first branch, a node identifier as: 10,14,17,21 and for the second branch, node identifier = 11,12,19,20. 具有最小的标识符(10) 的支路是最上面的路径的部分。 Branch having the smallest identifier (10) is the uppermost part of the path. 该方法可以仅从节点16向节点15回溯,保持对在每个支路中找到的最小的节点标识符的跟踪。 This method can only node 16 back to node 15, to maintain minimum node identifier found in each branch of the track. 在每个逆向的步骤处,该方法将到目前为止所找到的最小的节点标识符与在该步骤处所遇到的新的节点标识符比较。 At each step in reverse, the method will find the lowest node identifier comparison with the so far new node identifier encountered at the premises of the step. 最小的节点标识符被存储。 Smallest node identifier is stored. 当该方法已经回溯至节点15时,两个最小的值(在最上面的支路中为10,在较低的支路中为11)可以仅被相互比较以找到具有最小的节点标识符的支路。 When the process has been traced back to 15, the minimum value of the two nodes (in the top branch 10, 11 in the lower branch) can only be compared with each other to find the node identifier having the smallest branch. 因此,最上面的支路被选择,其形成最上面的路径的部分。 Thus, the top branch is selected, the uppermost portion of its path is formed. 当执行这种打破平局时,这两个分叉支路所共有的路径的部分被忽略。 When such a tie-breaking, the two diverging branches part shared path is ignored.

[0076] 用于在网络中查找最短开销路径(shortest cost path)的最常用的算法之一是Dijkstra算法[Dijkstra 59]。 One of the most commonly used algorithms [0076] is used to find the shortest path overhead (shortest cost path) in the network is Dijkstra's algorithm [Dijkstra 59]. 它解决的问题是在路径的长度被定义为正的(positive)逐跳(hop-by-hop)链路开销的总和的情况下查找从图中的一个点(源节点或根节点)到所有可能的目的地的最短路径。 It solves the problem is to find a point (source node or the root node) from the figure in the length of the path is defined as positive (positive) the sum of the circumstances under hop (hop-by-hop) link cost to all the shortest path possible destination. 这个问题有时候被称为单源最短路径问题。 This problem is sometimes called single-source shortest path problem. 对于图G= (N, L),其中N是节点的集合并且L是连接它们的链路的集合,Dijkstra算法使用通常被称为TENT的优先级队列以按到源节点的距离递增的顺序来访问节点。 For Figure G = (N, L), where N is the set of nodes and L is a set of links connecting them, Dijkstra algorithm is often called a priority queue TENT by distance to the source node to the increasing order access node. 实现Dijkstra算法所需要的其它数据结构为: Dijkstra algorithm to achieve the required other data structure:

[0077] 距离(Distance):从源节点到每个节点的最短距离的最佳估计的数组。 [0077] distance (Distance): Array shortest distance from the source node to every node of the best estimate.

[0078] 父代(Parent):每个节点的前驱的数组。 [0078] parent (Parent): Array precursor of each node.

[0079] 下面的文本描述已知的Dijkstra算法,并且描述其可以如何被修改以在多个等开销的路径被发现时执行打破平局。 [0079] The following text describes the known Dijkstra's algorithm, and describe how it can be modified to be found in the path when multiple equal-cost execution to break a tie. 在此描述Dijkstra算法是因为它是最常用的最短路径查找算法之一。 Dijkstra's algorithm is described here because it is one of the most commonly used to find the shortest path algorithm. 但是,将理解的是其它算法同样可以被使用。 However, it will be appreciated that other algorithms can also be used. 初始化阶段将每个节点的距离设置为无穷大,除了源节点本身。 Initialization phase the distance of each node set to infinity, in addition to the source node itself. 源节点的距离被设置为零并且它的父代被设置为空(Null),因为它是树的根。 Distance between the source node is set to zero and its parent is set to null (Null), because it is the root of the tree. 在计算开始时,优先级队列仅包含源节点。 In calculating the start, the priority queue only contains the source node. 随着算法的进行,节点在从源节点到它们的路径被找到时被加入优先级队列。 As the algorithm, the nodes are found from the source node to the path to be added to their priority queue. 在节点和源节点之间的最短路径已被找到之后,按到源节点的距离递增的顺序将这些节点从优先级队列中取出。 After the shortest path between the source node and the node has been found, according to the distance to the source node in order of increasing these nodes removed from the priority queue. 该算法在可从源节点到达的所有节点都已循环通过优先级队列时停止。 The algorithm stops when all nodes reachable from the source node are circulated through the priority queue. 当优先级队列TENT不为空时,该算法执行以下步骤: When TENT priority queue is not empty, the algorithm performs the following steps:

[0080] 1)在TENT中查找与源节点最接近的节点N并将其从TENT中移除。 [0080] 1) Find the source node and remove it with the closest to the node N from TENT in TENT.

[0081] 2)对于连接到N的每个节点,如果通过使N成为节点的父代将减小它到源的距离, 则将该节点的父代改为N,将该节点的距离设置为新的距离,并且将该节点加入TENT。 [0081] 2) For each node connected to N, and if by N becomes a parent node will decrease its distance to the source, then the parent node is changed to N, from the node to new distance, and the node joins TENT.

[0082] 当该算法完成时,距离(节点)包含从源节点到节点的最短距离(或者如果不能从源节点到达该节点则距离为无穷远)并且父代(节点)包含生成树中节点的前驱(除了源节点以及不能从源节点到达的节点)。 [0082] When the algorithm is complete, the distance (node) that contains (or if you can not reach the node is the distance from the source node to infinity) the shortest distance from the source node to node and parent (node) contains a spanning tree nodes precursor (except the source node and the node is not reachable from the source node). 只有当改变父代实际上减小了节点的距离时才更新节点的父代。 Only when the change actually reduces the distance between parent nodes update the parent node. 这意味着,如果在源节点和一些其它节点之间存在多个等开销最短路径,则只有在算法的执行期间所遇到的第一个节点将被考虑。 This means that if multiple equal-cost shortest path exists between the source node and other nodes, only the first node during the execution of the algorithm encountered will be considered.

[0083] 上面的步骤是Dijstra算法的常规步骤。 [0083] The above steps are general steps Dijstra algorithm. 在这点上,Di jkstra被修改以增加一致的打破平局步骤。 In this regard, Di jkstra is modified to increase the consistent tie-breaking step. 上面的步骤2如下被修改: Step 2 above is modified as follows:

[0084] 2)为连接到节点N的每个节点进行以下操作: [0084] 2) for each node connected to the node N of the following:

[0085] 2a)如果通过使N成为节点的父代将减小节点到源节点的距离,则将该节点的父代改为N,将该节点的距离设置为新的距离,并且将该节点加入TENT。 [0085] 2a) is reduced if the distance from the node to the source node by node N to become the parent, the parent node is changed to N, from the node to the new distance, and the node Join TENT.

[0086] 2b)如果在使N成为节点的父代之后该节点到源节点的距离将保持相同,则调用打破平局算法来确定该节点的父代是否应当被改变。 [0086] 2b) If you become the parent of the N distance between the node after node to the source node will remain the same tie-breaking algorithm is invoked to determine whether the parent of the node should be changed. 在到达两个分叉支路的汇聚点时调用打破平局算法。 Tie-breaking algorithm calls upon arriving at the two branches of the bifurcation point of convergence. 例如,考虑图7所示的拓扑结构,如果Dijkstra算法从节点13开始,从节点15引出的分叉支路被发现(具有节点10、14、17、21的上部支路和具有节点11、12、19、20 的下部支路),并且这些分叉支路在节点16处汇聚。 For example, consider the topology shown in Figure 7, if the Dijkstra algorithm starts from the node 13, the furcation legs 15 drawn from the node is found (branch node having an upper portion and having a node 11, 12 10,14,17,21 , lower leg 19, 20), and these furcation legs converge at node 16. 在节点16处,打破平局算法将被调用以在这两个支路之间进行选择。 At node 16, the tie-breaking algorithm will be invoked to perform the selection between the two branches.

[0087] 下面的伪代码示出了使用TENT集合的优先级队列实现对具有一致的打破平局的 [0087] The following pseudo-code illustrates the use of a set of priority queues TENT achieve a consistent break tie

13。 13. 入列(enqueue)操作带有两个自变量,即队列和节点,并且根据节点到源节点的距离将它放在恰当的队列位置上。 Into the column (enqueue) operating with two independent variables, namely the queue and nodes and node based on the distance to the source node will queue it in the proper position. 出列(dequeue)操作从队列中移除在队列最前面的节点,即具有到源节点的最小距离的节点。 Dequeue (dequeue) operation to remove it from the queue in front of the queue node, the node that has the minimum distance of the source node.

[0088] for each Node in Network do Distance(Node) = Infinity ; [0088] for each Node in Network do Distance (Node) = Infinity;

[0089] Empty (Tent); [0089] Empty (Tent);

[0090] Distance(Source) = O ; [0090] Distance (Source) = O;

[0091] Parent (Source) = Null ; [0091] Parent (Source) = Null;

[0092] Node = Source ; [0092] Node = Source;

[0093] do [0093] do

[0094] for each Link in OutgoingLinks(Node)do [0094] for each Link in OutgoingLinks (Node) do

[0095] newDistance = Distance(Node)+Cost(Link); [0095] newDistance = Distance (Node) + Cost (Link);

[0096] Child = EndNode(Link); [0096] Child = EndNode (Link);

[0097] if(newDistance < Distance(Child)do [0097] if (newDistance <Distance (Child) do

[0098] Distance(Child) = newDistance ; [0098] Distance (Child) = newDistance;

[0099] Parent(Child) = Node ; [0099] Parent (Child) = Node;

[0100] Enqueue (Tent, Child); [0100] Enqueue (Tent, Child);

[0101] elseif (newDistance = = Distance (Child) do [0101] elseif (newDistance = = Distance (Child) do

[0102] Parent(Child) = TieBreak(Node, Parent(Child)); [0102] Parent (Child) = TieBreak (Node, Parent (Child));

[0103] while (Node = Dequeue(Tent)); [0103] while (Node = Dequeue (Tent));

[0104] 该打破平局算法通过回溯两个等开销的路径来运算,分别从节点的当前父代以及新的候选父代开始,一路返回至分叉点。 [0104] The tie-breaking algorithm by two equal-cost paths back to operation, respectively, from the current parent node and the new candidate parent, all the way back to the bifurcation point. 两个分叉路径可能具有不同数量的跳跃的事实使情况稍微变复杂,因为两个路径必须被回溯未知的、不等数量的跳跃。 The fact that the two diverging paths may have different number of hops of the situation becomes slightly complicated, because the two paths must be back unknown, unequal numbers of jumps. 这个问题可以通过始终首先回溯两个路径中较长的那个或者当它们具有等开销时同时回溯两者来解决。 This problem can be always first backtracking longer of the two paths, or the like when they have both overhead while backtracking to solve. 可替换地,这种困难可以通过确保当且仅当两个路径具有相同数量的跳跃时它们才将被认为具有等开销而完全被消除。 Alternatively, this can be difficult to ensure that when and only when the two paths have the same number of hops before they will be considered as having equal-cost completely eliminated. 这通过将跳数并入路径开销或者通过将跳数用作第一级的决胜局(first order tie-breaker)而容易地被实现。 This is achieved by the number of hops or incorporated into the path cost by the number of hops is used as the first stage of the tiebreaker (first order tie-breaker) and easily implemented.

[0105] 下面的伪代码示出了打破平局算法的实现,其假定两个路径具有相同数量的跳跃(并且因此它们的分叉支路也具有相同数量的跳跃)。 [0105] The following pseudocode shows the tie-breaking algorithm implementation, it is assumed that both paths have the same number of hops (and therefore their furcation legs has the same number of hops). 打破平局函数带有处于两个相等的路径的末端的两个节点并且返回它们中的一个来指示它选择了这两个路径中的哪一个。 Tie-breaking function with two nodes at the end of two equal paths and one of them returned to indicate that it is selected which one of the two paths.

[0106] old = οIdParent ; [0106] old = οIdParent;

[0107] new = newParent ; [0107] new = newParent;

[0108] oldMinld = SysId (old); [0108] oldMinld = SysId (old);

[0109] newMinld = SysId (new); [0109] newMinld = SysId (new);

[0110] while((old = Parent(old)) ! = (new = Parent(new)))do [0110] while ((old = Parent (old))! = (New = Parent (new))) do

[0111] tmp = SysId (old); [0111] tmp = SysId (old);

[0112] if (tmp < oldMinld) do oldMinld = tmp ; [0112] if (tmp <oldMinld) do oldMinld = tmp;

[0113] tmp = SysId (new); [0113] tmp = SysId (new);

[0114] if (tmp < newMinld) do newMinld = tmp ; [0114] if (tmp <newMinld) do newMinld = tmp;

[0115] if(newMinld < oldMinld)return newParent ; [0115] if (newMinld <oldMinld) return newParent;

14[0116] else return οIdParent ; 14 [0116] else return οIdParent;

[0117] 算法需要被执行的频率取决于应用。 [0117] frequency algorithm needs to be executed depends on the application. PLSB基本上需要计算所有点对间最短路径(有时是其子集)。 PLSB basically need to calculate the shortest path between any point (and sometimes a subset). 在这种情况下,Dijkstra算法需要为网络中的所有节点(准确地说是除了一个节点以外的所有节点)被运行。 In this case, Dijkstra algorithm need for all nodes in the network (more precisely all nodes except a node) is running. Floyd算法计算所有点对间最短路径,所以它仅需要被运行一次。 Floyd algorithm to calculate the shortest path between all points, so it only needs to be run once. 其它应用可能仅要求计算较少数量的路径(例如,如果只要求一个最短路径,则Dijkstra算法将必须仅被运行一次,其中以路径的端点中的一个作为源)。 Other applications may only require a small number of calculated path (e.g., if only one shortest path request, the Dijkstra algorithm will have to be run only once, in which one of the endpoints of the path as the source).

[0118] 图8示出网络的例子,该网络具有通过链路互连的节点A_H、J。 [0118] Figure 8 shows an example of a network, the network having nodes interconnected by links A_H, J. 对于每一链路,与该链路相关联的度量被示出为链路上的整数值。 For each link, the link is associated with the metric are shown as integer values link. 在这个网络中在节点A和节点B之间有六个不同的、等开销的、最短路径。 In this network between the node A and node B has six different equal-cost shortest path. 这些路径在下表中以它们各自的长度和路径标识符被示出: These paths in the table below to their respective lengths and path identifiers are shown:

[0119] [0119]

Figure CN101965715AD00151

[0120] 所有这六个路径具有相同的长度10。 [0120] All six paths 10 have the same length. 打破平局算法的非局部形式将选择具有最小路径标识符(ABCFH)的那个路径,即路径AFCHB。 Tie-breaking algorithm nonlocal form will choose the path with the smallest path identifier (ABCFH), that path AFCHB. 这节的剩余部分示出打破平局算法的局部形式如何通过随着等开销的路径和子路径在Dijkstra算法的执行期间被发现仅做出局部的打破平局决定而达到相同的结果。 The remainder of this section is shown how to break the tie algorithm by topical form as equal-cost paths and sub-paths during the execution of Dijkstra algorithm is found to make only partial tie-breaking decisions to achieve the same result. Dijkstra算法为网络中的节点初始化距离和父代(前驱)的表。 Dijkstra's algorithm for nodes in the network initialization distance and parent (precursor) of the table. 所有距离初始地被设置为无穷大,除了源节点,它的距离被设置为零。 All distances is initially set to infinity, in addition to the source node, its distance is set to zero. 父代在这个阶段未被定义: Parent is not defined at this stage:

[0121] [0121]

Figure CN101965715AD00152

[0122] Dijkstra算法还将它的优先级队列初始化为仅包含源节点A :TENT = [(A,0)]。 [0122] Dijkstra algorithm also its priority queue is initialized to contain only the source node A: TENT = [(A, 0)].

[0123] Dijkstra循环的第一次迭代选择TENT中的第一个并且仅有的一个节点,即节点A。 [0123] Dijkstra loop selection TENT first iteration of the first and only one node, i.e. node A. 然后对于节点A的邻节点(即节点F和G)中的每一个,其更新它们到源的距离并且使节点A成为它们的父代。 Then for node A neighbor node (i.e., node F and G) in each of which the distance to the source of the update them and makes the node A to become their parent. 最后,这两个节点被加入TENT优先级队列。 Finally, these two nodes are added TENT priority queue.

[0124] 在Dijkstra算法的这个第一次迭代期间,距离和父代的表变为: [0124] During the first iteration of the Dijkstra algorithm, the distance and the parent table becomes:

[0125] [0125]

Figure CN101965715AD00153
Figure CN101965715AD00161

[0126] 在第一次迭代结束时,优先级队列为:TENT = [(G,l),(F,2)]。 [0126] When the end of the first iteration, the priority queue is: TENT = [(G, l), (F, 2)]. Dijkstra循环的第二次迭代从优先级队列中移除具有最小距离的节点即节点G。 The second iteration of the Dijkstra loop removes node i.e. the node with the smallest distance from the priority queue G. 它更新了G的邻节点中还没有被处理的两个节点,即节点C和D,并且将它们加入优先级队列: It updates the two nodes are neighbors in G have not been processed, that is, nodes C and D, and add them to the priority queue:

[0127] [0127]

Figure CN101965715AD00162

[0128] 在第二次迭代结束时,优先级队列为:TENT = [(F, 2), (D,4),(C,5)]。 [0128] When the end of the second iteration, the priority queue is: TENT = [(F, 2), (D, 4), (C, 5)]. Dijkstra 循环的第三次迭代将节点F从优先级队列中移除。 Third iteration of the Dijkstra loop removes node F from the priority queue. 其更新节点F的两个邻节点,即节点C 和E,并且将节点E加入优先级队列(节点C已经在该队列中)。 Update the node F which two neighbors, i.e., node C and E, and the node E added to the priority queue (node C is already in the queue). 节点C的距离没有改变, 但是在节点A和节点C之间有新的候选的相等路径,该路径经过节点F。 From node C does not change, but between the node A and node C has a new candidate equal path, the path through the node F. 因此,必须调用所述打破平局算法以在经过节点F的这个新的路径和经过节点G的旧的路径之间选定。 Therefore, you must call the tie-breaking algorithm to this new path after the node after node F and G of the old paths between selected. 这在图9中示出。 This is shown in Figure 9. 以节点C的新的候选父代(节点F)和它的旧的父代(节点G)来调用所述打破平局算法。 In the new candidate node C parent (node F) and its old parent (node G) of the tie-breaking algorithm is invoked. oldMin被设置为旧的父代的标识符G并且newMin被设置为新的父代的标识符F。 oldMin is set to the identifier of the old parent and newMin G is set as a new parent identifier F. 由于节点F和G共享相同的父代(节点A),所以不执行回溯循环。 Since node F and G share the same parent (node A), so the backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin,并且由于newMin = F < G = oldMin,所以F被选择为节点C的新的父代: The tie-breaking only compare oldMin and newMin, and because newMin = F <G = oldMin, so F is selected as the node C of the new parent:

[0129] [0129]

Figure CN101965715AD00163

[0130] 在第三次迭代结束时,优先级队列为=TENT = [(D,4),(E,4),(C,5)]。 [0130] When the end of the third iteration, the priority queue is = TENT = [(D, 4), (E, 4), (C, 5)].

[0131] Dijkstra循环的第四次迭代从优先级队列中移除具有距离4的两个节点中的一个,例如节点D。 [0131] The fourth iteration of the Dijkstra loop removes from the priority queue having a distance between two nodes of a 4, e.g., node D. D的两个邻节点中只有一个节点,即节点H被更新并且被加入优先级队列: Two adjacent node D is only one node, the node H is updated and added priority queue:

[0132] [0132]

Figure CN101965715AD00164

[0133] 在第四次迭代结束时,优先级队列为=TENT = [(E,4),(C, 5), (H,6)]。 [0133] When the end of the fourth iteration, the priority queue is = TENT = [(E, 4), (C, 5), (H, 6)].

[0134] Dijkstra循环的第五次迭代将节点E从优先级队列中移除。 [0134] The fifth iteration of the loop Dijkstra node E will be removed from the priority queue. E的两个邻节点中只有一个节点,即节点J被更新并且被加入优先级队列。 Two E's neighbor, only one node, the node J is updated and added priority queue. [0135] [0135]

Figure CN101965715AD00171

[0136] 在第五次迭代结束时,优先级队列为=TENT = [(C, 5), (H, 6), (J,6)]。 [0136] When the end of the fifth iteration, the priority queue is = TENT = [(C, 5), (H, 6), (J, 6)].

[0137] Dijkstra循环的第六次迭代将节点C从优先级队列中移除。 [0137] The sixth iteration of the Dijkstra loop removes node C from the priority queue. C的两个邻节点(节点J和H)具有经过节点C到节点A的等开销的路径。 C of two adjacent nodes (node J and H) has a path through the node C to node A's and other expenses. 所述打破平局算法因此必须分别为节点J和H被调用两次。 The tie-breaking algorithm must therefore were node J and H is called twice. 对于节点J,以新的潜在的父代(节点C)和旧的父代(节点E)来调用所述打破平局算法。 For a node J, a new potential parent (node C), and the old parent (node E) of the tie-breaking algorithm is invoked. oldMin被设置为旧的父代的标识符E并且newMin被设置为新的父代的标识符C。 oldMin is set to the identifier of the old parent and newMin E is set as a new parent identifier C. 由于这两个节点E和C共享相同的父代(节点F),所以不执行回溯循环。 Since the two nodes E and C share the same parent (node F), so the backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin并且由于newMin = C < E = oldMin,所以选择新的父代。 The tie-breaking comparison only oldMin and newMin and because newMin = C <E = oldMin, so select a new parent. 因此,节点J的父代由节点C代替。 Thus, the node J is replaced by the parent node C. 这在图10中示出。 This is shown in Figure 10.

[0138] 对于节点H,以新的潜在的父代(节点C)和旧的父代(节点D)来调用所述打破平局算法。 [0138] For node H, the new potential parent (node C), and the old parent (node D) of the tie-breaking algorithm is invoked. oldMin被设置为旧的父代的标识符D并且newMin被设置为新的父代的标识符C。 oldMin is set to the identifier of the old parent and newMin D is set as a new parent identifier C. 由于这两个节点具有不同的父代,所以这两个路径必须另外被回溯一次跳跃。 Because these two nodes have different parent, so the two paths must also be a jump back. D的父代是G 并且由于6 > oldmin ( = D),所以oldMin不改变。 D and G parent is due 6> oldmin (= D), so oldMin not changed. C的父代是F并且由于F > newMin (= C),所以newMin也不改变。 C's parent is F and since F> newMin (= C), so newMin not changed. 由于F和G共享相同的父代,即节点A,所以回溯循环停止。 Because the F and G share the same parent, that node A, so stop back in circulation. 所述打破平局算法然后比较oldMin和newMin,并且由于newMin = C < D = oldMin,节点C 被选择变为节点H的新的父代。 The tie-breaking algorithm then compares oldMin and newMin, and because newMin = C <D = oldMin, node C is selected node H becomes the new parent. 这在图11中示出。 This is shown in Figure 11.

[0139] [0139]

Figure CN101965715AD00172

[0140] 在第六次迭代结束时,优先级队列为:TENT = [(H,6),(J,6)]。 [0140] When the end of the sixth iteration, the priority queue is: TENT = [(H, 6), (J, 6)].

[0141] Dijkstra循环的第七次迭代从优先级队列中移除具有距离6的两个节点中的一个,例如节点H。 [0141] The seventh iteration of the Dijkstra loop removed from the priority queue having a distance between two nodes of a 6, for example, node H. H的邻节点中只有一个,即节点B被更新并且被加入优先级队列: Neighbor node H of only one, i.e. the node B is updated and added to the priority queue is:

[0142] [0142]

Figure CN101965715AD00173

[0143] 在第七次迭代结束时,优先级队列为=TENT = [(J,6),(B,10)]。 [0143] When the end of the seventh iteration, the priority queue is = TENT = [(J, 6), (B, 10)].

[0144] Dijkstra循环的第八次迭代将节点J从优先级队列中移除。 [0144] Dijkstra eighth iteration of the loop node J is removed from the priority queue. 在J的邻节点中只有节点B需要被更新。 Node B needs to be updated only in the neighbor node J. 它的距离不改变但是在节点A和节点B之间有新的候选的相等路径,该路径经过节点J。 It does not change but the distance between node A and node B has a new candidate equal path, the path through the node J.

[0145] 以节点B的新的潜在的父代(节点J)和旧的父代(节点H)来调用所述打破平局算法。 [0145] In the new potential parent node B (node J) and the old parent (node H) of the tie-breaking algorithm is invoked. oldMin被设置为旧的父代的标识符H并且newMin被设置为新的父代的标识符J。 oldMin is set to the identifier of the old parent and newMin H is set as a new parent identifier J. 由于这两个节点H和J共享相同的父代(节点C),所以不执行回溯循环。 Since the two nodes H and J share the same parent (node C), so the backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin,并且由于oldMin = H < J = newMin,所以旧的父代被选择并且节点B的父代保持相同。 Only the tie-breaking comparison oldMin and newMin, and because oldMin = H <J = newMin, and the old parent is selected and the parent node B remains the same.

[0146] [0146]

Figure CN101965715AD00181

[0147] 在第八次迭代结束时,优先级队列为:TENT = [(B, 10)]。 [0147] When the end of the eighth iteration, the priority queue is: TENT = [(B, 10)].

[0148] 最后,Dijkstra循环的最后一次迭代将节点B从队列中移除并且由于节点B的邻节点中没有一个可以被更新(节点B是离开源节点A最远的节点),所以该算法终止。 [0148] Finally, Dijkstra last iteration of the loop will be removed from the queue in the Node B and due to the neighbor node B may not be an update (Node B is furthest away from the source node A node), so the algorithm terminates .

[0149] 从节点A到节点B的最短路径的反向可以直接从父代的表中读出,从节点B开始并且沿父代前进直到到达节点A :BHCFA。 [0149] can be read directly from the parent table from node A to node B reverse shortest path from node B begins and proceeds along until it reaches the node A parent: BHCFA. 通过局部打破平局算法所选择的从节点A到节点B的最短路径因此是它的反向路径:AFCHB。 By local tie-breaking algorithm selected from node A to node B, and therefore the shortest path is its reverse path: AFCHB.

[0150] 尽管在节点A和B之间有6个等开销的路径,但是在Dijkstra算法的执行期间所述局部打破平局仅被调用总计4次。 [0150] Although between nodes A and B has six equal-cost paths, but during the execution of Dijkstra said local tie-breaking algorithm is invoked only a total of four times. 在它的第一次调用时,该打破平局算法必须在子路径AFC和AGC之间选定。 When it's the first call, the tie-breaking algorithm must be selected in the sub-paths between AFC and AGC. 它选择了子路径AFC,由此根据进一步的考虑将两个路径AGCJB和AGCHB排除。 It selected sub-path AFC, thus according to a further consideration of the two paths AGCJB and AGCHB excluded. 在它的第二次调用时,该打破平局算法必须在子路径AFCJ和AFEJ之间选定。 When it's the second call, the tie-breaking algorithm must be selected between the sub-paths AFCJ and AFEJ. 它选择了子路径AFCJ,由此根据进一步的考虑将第三个路径AFEJB排除。 It selected sub-path AFCJ, thus according to a further consideration of the third path AFEJB excluded. 在它的第三次调用时,该打破平局算法必须在子路径AGDH和AGCH之间选定。 When it's third call, the tie-breaking algorithm must be selected between the sub-paths AGDH and AGCH. 它选择了子路径AGCH,由此根据进一步的考虑将第四个路径AGDHB排除。 It selected sub-path AGCH, thus according to a further consideration of the fourth path AGDHB excluded. 最后,在它的第四次调用时,该打破平局算法必须在路径AFCHB和AFCJB之间选定。 Finally, when it's the fourth call, the tie-breaking algorithm must choose between the path AFCHB and AFCJB. 它排除了第五个路径AFCJB并且选择了路径AFCHB作为最后的解。 It excludes the fifth path and chose the path AFCHB AFCJB as the final solution.

[0151] 用于负载传播的等开销多路径的选择 Select [0151] to load the Equal Cost Multipath propagation paths

[0152] 在许多连网(networking)应用中,经常有利的是使用若干等开销的路径,尤其是如果这可以以一致的方式来实现。 [0152] In many networking (networking) applications, it is often advantageous to use a number of equal-cost path, especially if this can be achieved in a consistent manner. 通过使用所述打破平局算法的两种变形,有可能使用节点对之间的两个等开销的路径(在这两个路径存在的情况下)。 By using the two kinds of deformation of the tie-breaking algorithm, it is possible to use a path between two nodes of equal-cost (in the case of the two paths exist). 图12示出常见的连网场景,其中边节点X和Y各自双归宿在核心节点A、B、C、D的全网状结构(full mesh)上。 Figure 12 shows a common networking scenarios, where X and Y each edge node dual-core nodes belonging in A, B, C, D of the whole network structure (full mesh) on. 为有冗余,每个边节点被连接到两个核心节点,其中节点X被连接到核心节点A和B并且节点Y被连接到节点C和D。 For redundancy, each edge node is connected to two core nodes, where a node X is connected to the core nodes A and B and the node Y is connected to the node C and D. 每个核心节点被连接到所有其它核心节点,例如节点A被连接到节点B、C和D。 Each core node is connected to other core nodes, e.g., node A is connected to the node B, C and D. 这个拓扑结构的问题是,如果在节点对之间只有一个最短路径被使用,则在正常情况下将浪费大量的访问容量(access capacity)。 This problem topology is that if only one shortest path is used between nodes, then under normal circumstances the capacity will waste a lot of access (access capacity). 当在两个节点之间存在多个等开销最短路径时,所述打破平局算法的两种变形可以被用于一致地选择正好两个路径。 When a plurality of equal-cost shortest paths exist between two nodes, two variants of the tie breaking algorithm can be used to consistently select exactly two paths. 由所有节点约定的任何协定可以被用于在等开销的路径之间进行选择。 Any agreement agreed upon by all nodes can be used between the equal-cost paths to choose. 一种特别方便的协定是选择具有最小标识符的第一路径和具有最大的标识符的第二路径。 A particularly convenient protocol is to select a first path having the smallest identifier and a second path having a largest identifier. 在图12中,由于核心节点完全网状互连(fully meshed),在边缘节点X和Y之间存在四个等开销的路径:(X,A,C, Y),(X,A,D,Y),(X,B, C,Y),(X,B, D,Y)。 In Figure 12, since the core node completely mesh interconnect (fully meshed), the presence of four equal-cost path between the edge nodes X and Y: (X, A, C, Y), (X, A, D , Y), (X, B, C, Y), (X, B, D, Y). 所述打破平局算法的两种变形将选择这两个路径: The tie-breaking algorithm of two variants to choose two paths:

[0153] (X,min(A,B),min(C,D),Y)以及 [0153] (X, min (A, B), min (C, D), Y) and

[0154] (X,max (A,B),max (C,D),Y) [0154] (X, max (A, B), max (C, D), Y)

[0155]由于节点标识符是唯一的,min(A,B) ! [0155] Since the node identifiers are unique, min (A, B)! = max (A,B)并且min (C,D) ! = Max (A, B) and min (C, D)! = max (C, D):这两个路径最大程度相异:它们仅共同具有它们的端点。 = Max (C, D): the maximum degree of dissimilarity of the two paths: they only have in common their endpoints. 在图12中,两个被选择的路径为路径(X,A,C,Y)和路径(X,B, D,Y)。 In Figure 12, both paths are selected as a path (X, A, C, Y) and the path (X, B, D, Y).

[0156] 在上文中所描述的打破平局方法的重要特性之一是对网络的改变对打破平局的结果没有影响,所述对网络的改变不影响路径集合中打破平局需要为其从路径之间选择的那个。 [0156] One of the important features in the above described tie-breaking method is to change the network has no effect on the tie-breaking results, the change does not affect the network path required to break a tie for the collection path between the selected one. 这种改变可能包括对不在被选择的路径上的网络的部分的移除,诸如出故障的节点或链路。 Such changes may include the removal of parts of the network path is not selected on the, such as a node or link failure. 另一重要特性是,当多个路径等开销的路径被使用时,一个路径中的故障不影响其它路径的稳定性。 Another important feature is that when a plurality of paths equal-cost path is used, a path failure does not affect the stability of the other paths. 类似地,链路的增加将仅影响等开销的路径中的一个而不会同时影响两个。 Similarly, the increase will affect only the link, such as the cost of a path without simultaneously affecting both. 这对于网络的稳定性是重要的。 This is important for the stability of the network.

[0157] 图13A和13B示意了本发明的打破平局方法的其它重要特性: [0157] Figures 13A and 13B illustrates another important feature of the tie-breaking method of the present invention:

[0158] •在有等开销的路径的情况下单个故障不会促成回路; [0158] • In the case of the cost of the path, such as a single failure will not have contributed to the circuit;

[0159] •故障不会既使回路闭合也使根节点的附接的点移位; [0159] • failure does not even have to make a closed loop attachment point of the root node shift;

[0160] •故障不会产生更短的路径; [0160] • failure does not produce a shorter path;

[0161] •所述打破平局算法防止等开销的路径的评级改变最短路径。 [0161] • The tie-breaking algorithm to prevent the equal-cost paths rating change the shortest path. 图13A和13B用具有节点A、B、C、D和R的简单的网络拓扑结构来示意这些特性。 13A and 13B with a simple network topology with node A, B, C, D and R are used to indicate these characteristics. 考虑图13A,R和节点AD的集合之间的最短路径使用链路RA。 Considering Figure 13A, R and the shortest path between the nodes in the set of AD using link RA. 从节点A到达节点C有对两个等开销的支路的抉择。 From node A to node C has two choices, such as overhead branch. 使用在上文中所描述的打破平局方法中的一个,支路ABC被一致地选择而不是支路ADC。 Using the tie-breaking method hereinbefore described in one of branch ABC was unanimously selected instead branch ADC. 类似地,在反方向上,链路CBA被一致地选择而不是CDA。 Similarly, in the reverse direction, the link CBA was unanimously selected instead of CDA. 图13B示出当链路RA出故障时在稍后的时间点处的情况。 13B shows the time when RA link failure at a later point in time of the case. 节点R现在通过次最佳链路RC连接到节点AD的集合。 Node R is now a collection of nodes connected to AD through suboptimal links RC. 从节点C到达节点A有对两个等开销的支路的抉择。 From node C to node A has two choices, such as overhead branch. 同样地,支路CBA被一致地选择而不是支路CDA。 Similarly, the branch CBA is consistently choose not slip CDA. 在不使用这种一致的打破平局算法的情况下,回路ABCDA可能在链路RA中的故障之后产生,其中节点A和B在它们的行为上表现为缓慢且杂乱而节点C和D表现灵活。 Without using such a consistent tie-breaking algorithm, possibly after the loop ABCDA link fault generated in RA, wherein nodes A and B on their behavior is slow and messy and nodes C and D show flexibility. 这种特性对于为组播转发保证无回路特别有用。 This feature is particularly useful for non-guaranteed multicast forwarding loop.

[0162] 本发明不受在本文中所描述的实施例的限制,其可以被修改或者改变而不脱离本发明的范围。 [0162] The present invention is not herein limited to the embodiments described, which may be modified or altered without departing from the scope of the invention.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
CN102769887A *2 May 20127 Nov 2012黄林果Multipath selection method of wireless mesh network
CN102880739A *31 Jul 201216 Jan 2013中国兵器科学研究院Network minimum path set determination method based on adjacency list
CN104396197A *10 Apr 20134 Mar 2015瑞典爱立信有限公司Selecting between equal cost shortest paths in a 802.1aq network using split tiebreakers
CN104641604A *8 Apr 201320 May 2015华为技术有限公司Method and apparatus for determining shortest path
Classifications
International ClassificationH04L12/56
Cooperative ClassificationH04L45/12, H04L45/22, H04L45/00, H04L45/24
European ClassificationH04L45/22, H04L45/00, H04L45/24
Legal Events
DateCodeEventDescription
2 Feb 2011C06Publication
23 Mar 2011C10Entry into substantive examination
11 Jun 2014C14Grant of patent or utility model
1 Feb 2017EXPYTermination of patent right or utility model