CN1960233A - 重复分组检测器、方法、程序存储设备和互连网络 - Google Patents
重复分组检测器、方法、程序存储设备和互连网络 Download PDFInfo
- Publication number
- CN1960233A CN1960233A CNA2006101059120A CN200610105912A CN1960233A CN 1960233 A CN1960233 A CN 1960233A CN A2006101059120 A CNA2006101059120 A CN A2006101059120A CN 200610105912 A CN200610105912 A CN 200610105912A CN 1960233 A CN1960233 A CN 1960233A
- Authority
- CN
- China
- Prior art keywords
- grouping
- packet
- field
- exception
- detector according
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
为了解决在互连的多节点数据处理系统中检测重复数据分组的到达这一问题,为每个数据分组提供具有针对每个数据分组随机生成的r个比特的字段。然而,为其中一个分组提供在得到选定的非零校验和值的校验和计算中根据其他随机生成字段条目计算得到的字段。将在接收方处的运行校验和用于确定在接收到特定数目k个数据分组之后,是否已经接收到重复分组。
Description
技术领域
本发明针对对穿过数据处理节点网络中各条路径的分组重复进行检测的问题。
背景技术
非常希望为诸如数字集中计算(NIC)之类的运行于多个领域中的应用程序配备能够检测数据处理网络中的分组重复的接口机制。NIC应用程序特别地以在专用于解决各种问题的节点之间发送部分结果的方式操作。因此,NIC应用程序和类似的程序(对于这些程序,数据分组的互换有助于改善性能)将得益于促进数据分组的迅速传送而不必顾虑到节点之间的分组重复的方法。很多应用依赖于仅确保一次“消息传送完成”通知,并且在已经向ULP(上层协议)或终端用户发送通知之后,不会发生不期望的数据缓冲器超载(override)。
例如,在网络检测到循环并修改构成生成树的链路(这是用于在网络中对分组进行路由的机制)的期间可能会发生重复。术语“生成树”是一种图形理论概念,其描述了针对数据处理系统中的节点集合的互连图形的相连子集,其中呈现了所有的节点和链路,但其不具有闭环。注意,对于任意给定的互连图形,对生成树的选择和/或确定不是唯一的。目前,诸如以太网(其是用于数据分组传输的若干协议之一)之类的网络是这样一种网络,即其可以采用生成树来确定用于数据分组传输的数据路径。生成树方法用于保证相同的分组不会被目的地网络适配器接受两次。然而,随着网络拓扑改变(如同在向节点集合添加节点或从中删除节点时可能出现的那样),会存在某些时间段,其中有可能出现一个或多个瞬态运行循环,在这些瞬态运行循环期间,数据分组多次到达目的地节点,直到路由机制检测到该循环并且删除某些路由以保证能够合适地实现一个适当形成的新的生成树。
下面参考图1-图5更具体地讨论该问题。
需要NIC级别的重复分组检测的应用的一个例子是RDMA(远程直接存储器访问)传输协议,其中上层协议(ULP)希望网络中没有分组重复以便正确工作(2004年12月20日提交的题为“Third Party,Broadcast,Multicast and Conditional RDMA Operations”(第三方、广播、组播和条件RDMA操作)、序列号为11/017,355的美国专利申请)。对于RDMA操作,难题是在接收端网络适配器上有效地检测重复以及在网络中发生消息的分组重复时不公布针对消息传送的完成通知。由于上层协议(ULP)不参与解析RDMA消息的每个分组(这由网络适配器完成),因此不能采用上层协议来检测和丢弃重复分组。接收端网络适配器直接将RDMA消息的分组移动到目标缓冲器。另一个难题是在不需要在适配器上进行复杂的状态维护的情况下,保持用于确定分组重复的逻辑非常简单并且迅速。此外,应当试图保证传输能够利用具有一对节点之间的多个路由的实际交换机的优点,该传输应当不需要对分组进行按顺序的传送。
其他人已经试图以不同的方式解决重复数据分组传输的问题。例如,在已公开的序列号为2003/02321596 A1的美国专利申请(“Processing a Duplicate Data Packet”,对重复数据分组进行处理)中描述了一种用于通过将分组中的时戳与所接收的最后的有效分组的时戳核对并检查表明设备是处于激活状态还是非激活状态的事件比特来检测重复分组的方法。这与本发明完全不同,原因是本发明不涉及时戳,然而,要解决的基本问题是类似的。
此外,已公开的序列号为2004/0062248A1的美国专利申请(“Sequence Number Schemes for Acceptance/Rejection of DuplicatedPackets in a Packet-Based Network”,用于在基于分组的网络中接受和/或拒绝重复的分组的序列号方案)中解决的问题同样类似于本发明解决的问题。然而,完全不同的是在基于分组的传输环境中采用序列号方案来接受和/或拒绝重复的分组的想法。同样,在已公开的序列号为2005/0078653 A1的美国专利申请(“A Method and Apparatus forData Communications Over Multiple Channels”,一种用于多个信道上的数据通信的方法和设备)中,作者在其中描述了一种方法,该方法针对采用一种用基于序列号的重复作为“过滤”(即去掉)重复分组的基础的方法在多个信道上传送数据。然而,通过对比,与基于序列号的过滤所需的存储器需求相关联的问题正好是促成提出本发明的问题。除了其中的与分组重复检测有关的讨论之外,具有序列号2005/0078653 A1的已公开的专利申请与本申请没有密切关系。
美国专利No.6,167,051(“Network Node and Method of PacketTransfer”,用于分组传送的网络节点和方法)中的所描述的成果涉及对组播业务的调度和路由,以及一种用于对组播业务进行调度和路由以便避免产生重复分组的装置。该成果不涉及重复数据分组的过滤并且与本发明关系不密切。
美国专利No.6,853,641(“Method of Protecting Traffic in a MeshNetwork”,在网状网络中保护业务的方法)中的所描述的成果描述了有目的地传输重复分组以保证网络上的高可靠性以及为分组标上序列号以便接收方能够丢弃副本并重构原始分组流。这样,其不仅与本发明显著不同,并且其实际上给出了偏离本发明的主要原理(即避免重复数据分组的产生和传输)的启示。
美国专利No.5,610,595(“Packet Radio Communication SystemProtocol”,分组无线通信系统协议)描述了一种用以基于所发送分组中的重复计数来进行分组重复检测的方法。除了这一点是显著的不同之外,该系统的无线方面没有提出引起在此所讨论的数据分组重复的主要原因之一,即网络中节点的数目和连接的变化。
美国专利No.6,671,264(“Method for Detecting Invalid Packets byAssigning Super Transaction Number”,用于通过分配高级事务号来检测无效分组的方法)也是与本发明不相关的,这不仅是因为该专利使用了事务号(类似于序列号方法),而且是因为该专利在其操作中试图在源处抑制重复数据分组的传输,这与由网络互连图形结构的变化而引起的问题相反。
本申请中所描述的机制也不同于标准的用于检测假分组(ghostpacket)和重复分组的基于滑动窗的协议。此外,在那种方法中,重复分组由发送方在预定的超时之后插入。由发送方插入的重复分组还具有设置为表明该重复分组是重复传输的特定比特,为检测重复的目的,接收方用该特定比特来进行检查。
在此处所描述的发明与现有技术中所提供的方案之间有很多不同。本发明具有以下优点:
1.接收端不要求为重复分组标上特定比特。
2.不需要滑动窗协议或相关联的状态维护。该机制不需要接收端发送周期性的确认以保证发送端的流控窗能够前进。
3.此外,如果来自接收端的确认发生延迟(如在标准的滑动窗协议中经常发生的那样),则不会不必要地抑制发送端。
4.在上述已公开的序列号为2004/0062248 A1的美国专利申请中,接收方必须保持定时器对分组是否已经在网络中存在超过预期的时间、分组是否不按序列(out of sequence)到达、或到达分组的序列号是否小于所接收的最近的序列号的情况进行检查。在本发明中,在接收端不需要这种基于预期时间的检查。
5.就指令的顺序和必要状态信息的量而言,本方法的整体效率与其他方法相比要高得多。
发明内容
因此,在此提供了一种用于在多节点数据处理系统中检测是否存在重复数据分组的方法。该方法包括随多个数据分组(除了一个这种分组之外)发送具有随机生成的比特的字段。这些比特是针对待发送的每个分组而生成的。对于消息中这些分组中的一个分组,发送计算出的具有基于其他数据分组的字段中的随机比特的非零校验和值的字段。针对所接收的每个数据分组,累计这些字段的和并将其用于确定所接收的任意分组是否重复。
因此,本发明的一个目的是提供一种用于在数据处理单元或节点的互连网络中检测重复数据分组的机制。
本发明的另一个目的是基于UD(用户数据)传输协议提高RDMA能力的有用性和利用率。
本发明的又一个目的是提供一种用于数据分组重复检测的方法,可以通过扩大分组中包含随机比特的字段而在减小错误概率方面使得数据分组重复检测达到任何精确度。
本发明的又一个目的是提供一种简化网络适配器设计的数据分组重复检测协议。
本发明的又一个目的是提供一种用于检测数据分组重复的机制,其不需要分组的计数、定时和确认,滑动窗协议,或其他复杂的状态跟踪就能检测重复。
本发明的又一个目的是减少网络拓扑的改变对性能产生的影响。
最后但不局限于此,本发明的一个目的是改善互连的数据处理网络的操作和性能以及其在传输模型中的使用,这种使用必须避免接收端接受重复分组。
在此对通过本发明的各实施例来实现的一系列期望目的的描述并不意味着暗示或建议单独地或共同地在本发明的最通用的实施例中或在任意本发明的更具体的实施例中将这些目的中的任意目的或全部目的作为实质特征而提出。
附图说明
特别地指出并清楚地在本说明书所附的权利要求中要求保护被视为本发明的主题。然而,通过参考以下结合附图而进行的描述,可以最好地理解本发明(关于组织和实现方法)以及其另外的目的和优点,其中:
图1是示出可用于数据分组传输的网络互连的初始配置的图形;
图2中的图形与图1中示出的图形相同,但更特别地用粗线示出了作为可用于避免接收重复数据分组的图形的生成树的一部分的那些链路;
图3中的图形与图2中示出的图形相同,但其现在表明了由于引入了新的节点而引起的互连的变化;
图4中的图形与图3中示出的图形相同,但其现在用粗线将某些链路示出为构造新的生成树的过程中的初始步骤;并且
图5中的图形与图4中示出的图形相同,但其现在示出适用于具有新添加的节点的网络的生成树。
具体实施方式
在提供对上述问题的解决方案之前,适当的做法的是提供对要解决的问题的本质的更详细描述。相应地,图1示出了示例性初始网络配置。为了加强对本发明的结构和功能的理解,节点数目限于7。然而,应当理解,实际上节点数目的范围通常在几百到几千(或甚至更大)。基于所示配置,如图2中的粗黑线所示地构造用于进行路由的示例性生成树。在图2中的网络内的任意两个节点之间,使用生成树只有一条路线用以到达另一节点(由于将生成树的结构定义为不具有闭环)。路由协议经由生成树链路将消息的分组转发给目的地节点。这保证了数据分组永远不会被传送多次。如图3所示,例如通过利用从配置中的一个或多个节点到新节点(本例中的节点8)的链路而在网络中添加新节点,配置的拓扑可以改变。由于节点8是新的并且连接到节点4、5和6,因此起初节点4、5和6中的全部节点都有可能希望将其到节点8的链路添加到生成树中(参见图4)。因此,从节点1到节点8的分组有可能会3次到达节点8(分别从节点4、5和6到达一次)。对于通过主机上的IP栈使数据分组分阶段传送(stage)的基于标准网际协议(IP)的传输,可以经由IP协议的上层(TCP,传输控制协议)通过分组的报头解析出的分组序列号来容易地检测分组重复。然后,节点8可以从生成树中裁减掉来自节点5和节点6的链路(并选择在生成树中添加节点4与节点8之间的链路)。图5示出了新的生成树。因此,对于图1和图5中示出的状态之间的较短的持续时间,某些分组有可能多次到达节点8。此外,还应注意,由节点8发送给某些其他节点的分组也有可能引起分组重复。
目前已经达到了对分组重复问题的更详细的理解,现在提出对该问题的一种解决方案。所提出的解决方案是基于概率校验和的方法。RDMA(RDMA在此用作示例性应用)消息的每个分组i(除了最后一个分组)具有添加在报头中的r个比特的随机值h[i]。消息的最后一个分组k具有特定的值h[K],使得
h[1]+h[2]+h[K]+…+h[K]=q; (1)
其中“q”是某个预定的非零校验和值,并且除非以其他方式特别指出,否则上面等式1中的表达式中以及本文献的其余部分中的“+”号是指XOR(异或)运算。发送端和接收端的网络适配器维持消息的每个分组的h值的运行校验和。
应注意,尽管本发明的优选实现将所添加的随机的r个比特的字段部署在了分组报头中,但其他协议可以在数据分组中的其他位置提供该字段。唯一的要求是该字段要随数据分组发送并且发送端和接收端的适配器要对分组中该随机值开始的确切位置和该分组的长度协商一致。
接收端适配器计算其接收的消息的前k个分组的XOR校验和C。并验证该校验和C=q。如果校验和匹配,则可以以非常高的概率可靠地假定在消息的传送中没有发生分组重复。如果C≠q,则接收端应用程序(例如NIC)得出网络中已经发生了分组重复的结论。
该方法具有若干显著的优点:
(1)由于XOR运算与发送或接收的顺序无关,因此该消息的分组可以不按顺序到达。就通过任意源-目的地对之间的多条路径使得消息的不同分组可以穿过交换机中的不同路由从而在网络中对分组进行跟踪以及利用可能的并行机制而言,这一点是非常有利的。这一方面产生的原因是XOR运算既是结合的又是可交换的。
(2)对适配器的空间要求仅仅是对于所讨论的端点网络适配器每个正在传输的消息有r个比特的值。因此,对该算法的空间要求是每个正在传输的消息有r个比特。发送端和接收端的NIC可以通过简单的计算根据每个分组的消息和有效载荷的长度来计算每个消息的预期分组数目。
(3)该算法没有必需的附加状态维护。
(4)一个值与其本身的XOR的结果是0校验和。因此,如果分组到达目的地偶数次,则就净校验和而言,这与该分组从未到达是相同的。
(5)一个值的奇数次XOR与该XOR运算只执行一次的效果相同。因此,就对校验和的影响而言,到达奇数次的分组与只到达一次的分组相同。
(6)一旦已经接收到消息的k个分组,就由接收端网络适配器对校验和值以及其是否与预期的校验和C相匹配进行判断。消息的随后的分组被接收端适配器作为副本丢弃。
(7)在发送端和接收端的网络适配器处针对每个分组的整体计算开销是0(1)。
应注意,分组在网络中被重复的概率本身是较小的(例如由于这会要求个人改变配置),并且因此校验和与复制的分组相匹配的整体概率需要与本已较小的分组被复制的概率相乘。
为了更好地理解本发明方法的运算、其精确性以及优点,下面提供数学分析。上面的属性4和属性5有助于极大地简化这种分析。
为具有k个分组的序列的前k-1个分组中的每个分组分配一个独立选择的r比特的随机哈希值h[j]。将最后一个分组的哈希值设为
q+h[1]+h[2]+…+h[k-1] (2)
然后,具有k个分组的序列上的校验和由下式给出:
C={h[1]+h[2]+…+h[k-1]}+h[k]
={h[1]+h[2]+…+h[k-1]}+{h[1]+h[2]+…+h[k-1]+q}
=q. (3)
在此,感兴趣的是分组流被分组重复或分组丢弃中断的情况。应注意,接收方永远不会接收到具有k个分组的事务的多于k个分组,并且如果在超时内到达的分组少于k个,则必然会检测到错误(例如,参见上述基于UD的RDMA的专利申请)。
以以下方式描述中断的特征。设m[j]为接收到分组j的次数。由于总共接收到k个(有可能是重复的)分组,因此
m[1]+m[2]+…+m[k]=k (4)
在此不试图计算给定中断发生的概率。而是对于每次中断,在此示出以非常高的概率检测到这种中断(即对于几乎所有的哈希值分配,分组序列校验和都是不正确的)。
确定给定中断的概率不是一个非常明确的问题。在其他因素中,分组重复通常是人为活动(例如向现有配置添加节点)的结果。可以断言,如果以足够高的概率检测到中断,就是可靠的(并且使r更大,以满足此处的概率性的可靠需求)。
应注意,在以下的讨论中,所遇到的情况只依赖于中断,而不依赖于哈希值。
设v[1]、v[2]、...,v[k’]为使m[j]为奇数的索引j。于是,所接收的具有k个分组的序列的校验和C为
C=h[v[1]]+h[v[2]]+…+h[v[k’]] (5)
如下所示,将分析分为几种情况:
情况1:k’=0。
在此情况下,其中所有接收分组都被接收了偶数次,C=0,因此C不能等于q。在此情况下,检测到这种错误的概率为1。
情况2a:m[k]是偶数。
在此情况下,最后一个分组(具有哈希值h[k])不会影响C。因此,C是k’个独立选择的随机r比特值之和。因此,C取均匀分布的随机值并且因此C等于q的概率为2-r。
P2a(C=q)=2-r (6)
情况2b:m[k]是奇数。
在此情况下,h[k]的确会影响C。设w[1]、…、w[k”]为使m[j]为偶数的索引j(即v的补数,使k’+k”=k)。现在,有两种子情况要考虑(子情况2b1和子情况2b2):
子情况2b1:k”>0。
在此情况下:
C=h[v[1]]+h[v[2]]+…+h[v[k’]]
C=h[v[1]]+h[v[2]]+…+h[v[k’-1]]+{q+h[1]+h[2]+…+h[k’-1]}
C=q+h[w[1]]+h[w[2]]+…+h[w[k”]]
(7)
因此,C是一个常数加上一组独立的随机值之和,并且因此C等于q的概率为2-r。
子情况2b2:k”=0。
在此情况下,到达的所有分组具有奇数相重性(multiplicity),因此每个分组一定曾经到达了恰好一次,并且因此C=q,并且没有重复。
重要的是注意到,可以根据所期望的概率来设置校验和变量r的大小(就比特数目而言)。
本方法相对于现有方法提供了以下优点:
1.本方法满足了某些正在出现的传输协议(例如在上述专利申请中描述的基于UD的RDMA模型)的关键要求。
2.需要的状态维护非常少,并且与在现有的滑动窗协议的文献中建议的复杂得多的方法相比,提供了0(1)的开销。
3.本方法使得网络适配器硬件设计保持非常简单。
4.该方法不会施加附加的流控限制。(不需要分组级确认并且没有发送端抑制,即不用等待ACKS(确认)以使流控滑动窗前进)。
5.本方法不需要按顺序传送消息分组。
6.该方法不需要上层协议(ULP)中的任何附加连接。该设计完全包含在网络适配器中。
因此,从以上内容可以看出,本发明提供了一种简单的概率算法,该概率算法已经被设计为检测网络中的可能的分组重复并丢弃这些消息。这是在数据处理节点的网络中实现基于UD的有效RDMA的重要特征。该算法采用非常简单的硬件增强并引起非常小的开销。出于实际的目的,本方法相对于用于解决相同问题的其他方法提供了显著的优点。
该方法可以扩展为确定性地检测包括r个或更少的分组的消息中的分组重复。这可以通过将第k个分组的校验和字段设为2k并检查所接收的校验和的总和是否为1+2+4+…+2r来实现。
尽管在此已经根据本发明的特定优选实施例对本发明进行了详细描述,但本领域的普通技术人员可以在其中实现多种修改和改变。因此,所附权利要求旨在覆盖在本发明的本质和范围内的所有这些修改和改变。
Claims (52)
1.一种用于在多节点数据处理系统中检测多分组消息中是否存在重复数据分组的方法,所述方法包括步骤:
除了一个分组之外,随多个所述数据分组发送具有针对所述数据分组随机生成的比特的字段;
随所述例外的数据分组发送具有基于非例外数据分组中的随机比特的校验和值的字段;以及
针对所接收的每个数据分组,累计所述字段的校验和。
2.根据权利要求1所述的方法,其中将所述例外分组指示为最后的分组。
3.根据权利要求1所述的方法,还包括步骤:
改变所述多节点数据处理系统中的节点数目。
4.根据权利要求3所述的方法,其中所述改变发生在所述第一发送操作期间。
5.根据权利要求1所述的方法,其中所述例外分组是待发送的最后分组。
6.根据权利要求1所述的方法,其中所述累计包括通过异或运算将每个新到达的字段变为初始为零的值。
7.根据权利要求1所述的方法,其中所述例外数据分组的所述字段是所述其他数据分组的相应字段中的随机比特与预定值q的异或。
8.根据权利要求7所述的方法,其中确定所述数据分组重复基于与所述预定值q的比较。
9.根据权利要求1所述的方法,其中所述多节点数据处理系统中的数据分组传输采用生成树来改善重复数据分组传输的问题。
10.根据权利要求1所述的方法,其中所述多节点数据处理系统采用远程直接存储器访问来进行数据分组传输。
11.根据权利要求1所述的方法,其中所述数据分组不是按顺序发送的。
12.根据权利要求1所述的方法,其中所述数据分组不按照与发送它们的顺序相同的顺序到达。
13.根据权利要求1所述的方法,其中每个所述字段包括r个比特。
14.根据权利要求1所述的方法,其中所述随机生成字段具有均匀的概率分布。
15.根据权利要求1所述的方法,还包括判断重复数据分组传输的步骤。
16.根据权利要求15所述的方法,其中一但接收到消息中的特定数目的分组,就进行所述判断。
17.根据权利要求1所述的方法,还包括一个步骤,即如果在预定超时值内已经到达的数据分组少于特定数目,则表明发生错误。
18.根据权利要求1所述的方法,其中消息包括特定数目k个数据分组。
19.根据权利要求1所述的方法,其中所述校验和是预定的。
20.根据权利要求1所述的方法,其中消息的不同分组穿过所述数据处理系统中的不同路由。
21.根据权利要求1所述的方法,其中在所述例外分组中提供了一个字段,该字段是其他分组中的所述字段的异或和。
22.根据权利要求1所述的方法,其中在发送端适配器和接收端适配器上每个正在传输的消息有恒定数目r个状态比特,并且在每个适配器上针对每个分组执行简单异或运算。
23.根据权利要求1所述的方法,其中仅当在接收到消息的前k个分组之后没有检测到重复时才提供对上层协议的通知。
24.根据权利要求1所述的方法,其中所述预定的校验和是非零的。
25.一种机器可读的程序存储设备,所述程序存储设备以实体形式体现至少一个具有机器可执行的指令的程序,所述指令用以在多节点数据处理系统中检测多分组消息中是否存在重复数据分组,所述指令具体实现步骤:
除了一个分组之外,随多个所述数据分组发送具有针对所述数据分组随机生成的比特的字段;
随所述例外的数据分组发送具有基于非例外数据分组中的随机比特的非零校验和值的字段;以及
针对所接收的每个数据分组,累计所述字段的和。
26.一种数据处理节点的互连网络,所述数据处理节点中已经包含可由所述节点执行的指令,所述指令用以在多节点数据处理系统中检测多分组消息中是否存在重复数据分组,所述指令具体实现步骤:
除了一个分组之外,随多个所述数据分组发送具有针对所述数据分组随机生成的比特的字段;
随所述例外的数据分组发送具有基于非例外数据分组中的随机比特的非零校验和值的字段;以及
针对所接收的每个数据分组,累计所述字段的和。
27.一种用于在多节点数据处理系统中检测多分组消息中是否存在重复数据分组的方法,所述方法包括步骤:
在接收节点处累计所接收的每个数据分组中的字段的校验和,每个数据分组中的所述字段是随机生成的比特,只有一个数据分组例外,该例外数据分组的字段被预先设置为其他数据分组中的随机生成比特的函数。
28.根据权利要求27所述的方法,还包括基于所述累计的校验和而表明存在重复分组的步骤。
29.一种用于在多节点数据处理系统中检测多分组消息中是否存在重复数据分组的检测器,所述检测器包括:
用于除了一个分组之外,随多个所述数据分组发送具有针对所述数据分组随机生成的比特的字段的装置;
用于随所述例外的数据分组发送具有基于非例外数据分组中的随机比特的校验和值的字段的装置;以及
用于针对所接收的每个数据分组累计所述字段的校验和的装置。
30.根据权利要求29所述的检测器,其中将所述例外分组指示为最后的分组。
31.根据权利要求29所述的检测器,还包括:
用于改变所述多节点数据处理系统中的节点数目的装置。
32.根据权利要求31所述的检测器,其中所述改变发生在所述第一发送装置操作期间。
33.根据权利要求29所述的检测器,其中所述例外分组是待发送的最后分组。
34.根据权利要求29所述的检测器,其中所述累计包括通过异或运算将每个新到达的字段变为初始为零的值。
35.根据权利要求29所述的检测器,其中所述例外数据分组的所述字段是所述其他数据分组的相应字段中的随机比特与预定值q的异或。
36.根据权利要求35所述的检测器,其中确定所述数据分组重复基于与所述预定值q的比较。
37.根据权利要求29所述的检测器,其中所述多节点数据处理系统中的数据分组传输采用生成树来改善重复数据分组传输的问题。
38.根据权利要求29所述的检测器,其中所述多节点数据处理系统采用远程直接存储器访问来进行数据分组传输。
39.根据权利要求29所述的检测器,其中所述数据分组不是按顺序发送的。
40.根据权利要求29所述的检测器,其中所述数据分组不按照与发送它们的顺序相同的顺序到达。
41.根据权利要求29所述的检测器,其中每个所述字段包括r个比特。
42.根据权利要求29所述的检测器,其中所述随机生成字段具有均匀的概率分布。
43.根据权利要求29所述的检测器,还包括用于判断重复数据分组传输的装置。
44.根据权利要求43所述的检测器,其中一但接收到消息中的特定数目的分组,就进行所述判断。
45.根据权利要求29所述的检测器,还包括如果在预定超时值内已经到达的数据分组少于特定数目则表明发生错误的装置。
46.根据权利要求29所述的检测器,其中消息包括特定数目k个数据分组。
47.根据权利要求29所述的检测器,其中所述校验和是预定的。
48.根据权利要求29所述的检测器,其中消息的不同分组穿过所述数据处理系统中的不同路由。
49.根据权利要求29所述的检测器,其中在所述例外分组中提供了一个字段,该字段是其他分组中的所述字段的异或和。
50.根据权利要求29所述的检测器,其中在发送端适配器和接收端适配器上每个正在传输的消息有恒定数目r个状态比特,并且在每个适配器上针对每个分组执行简单异或运算。
51.根据权利要求29所述的检测器,其中仅当在接收到消息的前k个分组之后没有检测到重复时才提供对上层协议的通知。
52.根据权利要求29所述的检测器,其中所述预定的校验和是非零的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/264,529 | 2005-11-01 | ||
US11/264,529 US7619993B2 (en) | 2005-11-01 | 2005-11-01 | Efficient probabilistic duplicate packet detector in computer networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1960233A true CN1960233A (zh) | 2007-05-09 |
CN1960233B CN1960233B (zh) | 2010-09-22 |
Family
ID=37996144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101059120A Expired - Fee Related CN1960233B (zh) | 2005-11-01 | 2006-07-14 | 重复分组检测器、方法、程序存储设备和互连网络 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7619993B2 (zh) |
CN (1) | CN1960233B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618521A (zh) * | 2013-11-05 | 2015-05-13 | 太阳风环球有限责任公司 | 网络监测系统中的节点去重 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7619993B2 (en) * | 2005-11-01 | 2009-11-17 | International Business Machines Corporation | Efficient probabilistic duplicate packet detector in computer networks |
US8134928B1 (en) * | 2005-12-15 | 2012-03-13 | Nvidia Corporation | Technique for identifying a failed network interface card within a team of network interface cards |
US8432788B2 (en) * | 2007-05-18 | 2013-04-30 | Nvidia Corporation | Intelligent failback in a load-balanced networking environment |
US7756012B2 (en) * | 2007-05-18 | 2010-07-13 | Nvidia Corporation | Intelligent failover in a load-balanced network environment |
US7792018B2 (en) * | 2007-05-18 | 2010-09-07 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
US7995465B2 (en) * | 2007-05-18 | 2011-08-09 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
US7760619B2 (en) * | 2007-05-18 | 2010-07-20 | Nvidia Corporation | Intelligent failover in a load-balanced networking environment |
US8300647B2 (en) * | 2007-05-18 | 2012-10-30 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
US8019826B2 (en) * | 2008-09-29 | 2011-09-13 | Cisco Technology, Inc. | Reliable reception of messages written via RDMA using hashing |
US8495161B2 (en) * | 2008-12-12 | 2013-07-23 | Verizon Patent And Licensing Inc. | Duplicate MMS content checking |
WO2011117745A2 (en) * | 2010-03-25 | 2011-09-29 | Sofradim Production | Surgical fasteners and methods for sealing wounds |
US8462781B2 (en) | 2011-04-06 | 2013-06-11 | Anue Systems, Inc. | Systems and methods for in-line removal of duplicate network packets |
US20140153577A1 (en) * | 2012-12-03 | 2014-06-05 | Aruba Networks, Inc. | Session-based forwarding |
US9330088B2 (en) * | 2013-04-23 | 2016-05-03 | International Business Machines Corporation | Preventing frustration in online chat communication |
US9325586B1 (en) * | 2014-03-26 | 2016-04-26 | Marvell Israel (M.I.S.L.) Ltd. | Packet duplication measurement in a network device |
US10044625B2 (en) | 2014-11-25 | 2018-08-07 | Keysight Technologies Singapore (Holdings) Pte Ltd | Hash level load balancing for deduplication of network packets |
US10142263B2 (en) | 2017-02-21 | 2018-11-27 | Keysight Technologies Singapore (Holdings) Pte Ltd | Packet deduplication for network packet monitoring in virtual processing environments |
US10904135B2 (en) * | 2018-07-13 | 2021-01-26 | Nokia Technologies Oy | Method and apparatus for increasing reliability of packet delivery by dynamic packet cloning and route selection |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4982401A (en) * | 1988-07-06 | 1991-01-01 | Tandy Corporation | Method and apparatus for detecting transmission errors in cordless telephones |
US5007086A (en) * | 1990-07-16 | 1991-04-09 | Dsc Communications Corporation | Apparatus and method for generating low level noise signals |
US5610595A (en) | 1991-12-09 | 1997-03-11 | Intermec Corporation | Packet radio communication system protocol |
US5587997A (en) * | 1995-02-24 | 1996-12-24 | Hewlett-Packard Company | Method and apparatus for determining when all packets of a message have arrived |
US5682470A (en) * | 1995-09-01 | 1997-10-28 | International Business Machines Corporation | Method and system for achieving collective consistency in detecting failures in a distributed computing system |
US5781530A (en) * | 1996-04-01 | 1998-07-14 | Motorola, Inc. | Redundant local area network |
JP3332733B2 (ja) | 1996-07-11 | 2002-10-07 | 株式会社東芝 | ノード装置及びパケット転送方法 |
US6442276B1 (en) * | 1997-07-21 | 2002-08-27 | Assure Systems, Inc. | Verification of authenticity of goods by use of random numbers |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
US6493343B1 (en) * | 1998-01-07 | 2002-12-10 | Compaq Information Technologies Group | System and method for implementing multi-pathing data transfers in a system area network |
EP1085727A1 (en) * | 1999-09-16 | 2001-03-21 | BRITISH TELECOMMUNICATIONS public limited company | Packet authentication |
US6671264B1 (en) | 2000-07-05 | 2003-12-30 | Loytec Electronics Gmbh | Method for detecting invalid packets by assigning super-transaction identifiers |
US6853641B2 (en) | 2000-12-20 | 2005-02-08 | Nortel Networks Limited | Method of protecting traffic in a mesh network |
US6625172B2 (en) * | 2001-04-26 | 2003-09-23 | Joseph P. Odenwalder | Rescheduling scheduled transmissions |
KR100411446B1 (ko) | 2001-12-24 | 2003-12-18 | 엘지전자 주식회사 | 에이에이엘2 시그널링의 타입 3 패킷 처리 방법 |
US7383490B2 (en) * | 2005-04-14 | 2008-06-03 | International Business Machines Corporation | Methods and apparatus using commutative error detection values for fault isolation in multiple node computers |
JP4000905B2 (ja) * | 2002-05-22 | 2007-10-31 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム |
US7406082B2 (en) | 2002-09-30 | 2008-07-29 | Lucent Technologies Inc. | Sequence number schemes for acceptance/rejection of duplicated packets in a packet-based data network |
KR100562900B1 (ko) * | 2003-06-19 | 2006-03-21 | 삼성전자주식회사 | 모바일 애드 혹 네트워크 환경에서 중복된 ip주소를검출하기 위한 장치 및 ip주소 중복 검출 방법 |
US7773506B2 (en) | 2003-10-14 | 2010-08-10 | Qualcomm Incorporated | Method and apparatus for data communications over multiple channels |
US7478138B2 (en) * | 2004-08-30 | 2009-01-13 | International Business Machines Corporation | Method for third party, broadcast, multicast and conditional RDMA operations |
US7619993B2 (en) * | 2005-11-01 | 2009-11-17 | International Business Machines Corporation | Efficient probabilistic duplicate packet detector in computer networks |
-
2005
- 2005-11-01 US US11/264,529 patent/US7619993B2/en not_active Expired - Fee Related
-
2006
- 2006-07-14 CN CN2006101059120A patent/CN1960233B/zh not_active Expired - Fee Related
-
2009
- 2009-09-17 US US12/561,669 patent/US8031639B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618521A (zh) * | 2013-11-05 | 2015-05-13 | 太阳风环球有限责任公司 | 网络监测系统中的节点去重 |
CN104618521B (zh) * | 2013-11-05 | 2019-02-19 | 太阳风环球有限责任公司 | 用于在网络中进行节点去重的方法、装置和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US20070097875A1 (en) | 2007-05-03 |
US8031639B2 (en) | 2011-10-04 |
US20100008251A1 (en) | 2010-01-14 |
CN1960233B (zh) | 2010-09-22 |
US7619993B2 (en) | 2009-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1960233A (zh) | 重复分组检测器、方法、程序存储设备和互连网络 | |
Haeupler et al. | Faster information dissemination in dynamic networks via network coding | |
Towsley et al. | A comparison of sender-initiated and receiver-initiated reliable multicast protocols | |
Li et al. | RIPPLE authentication for network coding | |
US9236976B2 (en) | Multi stage code generator and decoder for communication systems | |
CN1100394C (zh) | 自动请求重发系统的检错方案 | |
Levine et al. | A comparison of known classes of reliable multicast protocols | |
Kostić et al. | Bullet: High bandwidth data dissemination using an overlay mesh | |
US20080104367A1 (en) | Collective Network For Computer Structures | |
US20020190878A1 (en) | Information additive code generator and decoder for communication systems | |
US20140122980A1 (en) | Collective network for computer structures | |
Tran et al. | A hybrid network coding technique for single-hop wireless networks | |
US20040098655A1 (en) | Rolling CRC scheme for improved error detection | |
Khabbazian et al. | Time-efficient randomized multiple-message broadcast in radio networks | |
CN107040334A (zh) | 用于通信网络的丢失复原协议 | |
CN1604561A (zh) | 对分布树中节点数据分组传输的无状态组通信与修复方法 | |
Jones et al. | Protocol design for large group multicasting: the message distribution protocol | |
Zhang et al. | An OpenFlow-enabled elastic loss recovery solution for reliable multicast | |
Danzig | Flow control for limited buffer multicast | |
Kostić et al. | High-bandwidth data dissemination for large-scale distributed systems | |
Kim et al. | A doubly distributed genetic algorithm for network coding | |
Maihofer et al. | A throughput analysis of reliable multicast transport protocols | |
Rodrigues et al. | Bundling messages to reduce the cost of tree-based broadcast algorithms | |
Tang et al. | Research on the network coding for distributed storage file system based on the wavelet support vector machine | |
Thomopoulos et al. | Latency analysis of the Totem single-ring protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100922 |
|
CF01 | Termination of patent right due to non-payment of annual fee |