当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于跟踪无序网络分组的技术制造技术

技术编号:18467128 阅读:54 留言:0更新日期:2018-07-18 16:36
用于跟踪无序网络分组的技术包括经由通信信道耦合到源计算节点的目标计算节点。目标计算节点被配置为在存储器中分配小窗口,在该小窗口中存储与经由通信信道从源计算节点接收的无序网络分组的编号相对应的位掩码。目标计算节点还被配置为在接收到来自源计算节点的无序网络分组后,更新小窗口中的位掩码。目标计算节点另外被配置为响应于确定位掩码的大小大于小窗口的大小而在存储器中分配大窗口,将位掩码存储在大窗口中,并且将指向大窗口的指针存储在小窗口中。描述并要求保护其他实施例。

Technology for tracking disordered network grouping

The technology for tracking unordered network packets includes the target computing node coupled to the source computing node through the communication channel. The target computing node is configured to allocate a small window in the memory, in which the bit mask corresponding to the number of the disordered network packets received from the source computing node is stored in the small window. The target computing node is also configured to update the bit mask in the small window after receiving the unordered network packets coming from the source computation node. The target computing node is also configured to allocate large windows in the memory in response to the size of the ascertained mask greater than the size of the small window, store the bit mask in a large window, and store the pointer pointing to a large window in a small window. Other embodiments are described and required to be protected.

【技术实现步骤摘要】
【国外来华专利技术】用于跟踪无序网络分组的技术政府权利条款本专利技术是在政府支持下根据由国防部授予的合同号H98230-13-D-0124完成的。政府对本专利技术享有一定的权利。相关申请的交叉引用本申请要求享有于2015年12月22日提交的题为“TECHNOLOGIESFORTRACKINGOUT-OF-ORDERNETWORKPACKET”的美国实用专利申请第14/979,131号的优先权。
技术介绍
现代计算设备已经变成用于个人、商业和社会用途的无处不在的工具。因此,许多现代计算设备能够连接到各种数据网络,包括互联网和公司内联网,以便以不同速率通过各种数据网络发送和接收数据通信。为了促进计算设备之间的通信,数据网络典型地包括一个或多个计算节点(例如,网络交换机、网络路由器、服务器、其他计算和/或存储计算设备等)以将通信(即,网络分组)从源计算设备路由到目的地计算设备。某些网络基础设施(例如,数据中心)可能包括成千上万或更多这样的计算节点,使得按顺序的次序进行网络分组的发送和接收难以做到。因此,已经实现了各种无序的端到端协议,以对在任何给定时间发送和接收可能在使用中的潜在地数千个网络分组进行管理。例如,为了处理这样大的无序网络业务量,已经实现了微架构技术来提供硬件级别的端到端重试协议,以简单地利用接受网络分组序列中的下一分组,而不管这些网络分组被接收到的次序。在一些情况下,软件已经被用于通过在不进行硬件检查的情况下对网络分组的报头重新排序以恢复顺序的次序来应用可靠性;然而,这种基于软件的重新排序典型地不适用于直接数据放置操作或原子操作。类似地,传输控制协议(TCP)支持选择性拒绝能力;然而,这种用例典型地依赖于在主机存储器中重组接收到的无序网络分组,这典型地引入开销和延时。附图说明本文描述的概念在附图中通过示例的方式而非通过限制的方式示出。为了说明的简单和清楚起见,图中所示的元件不一定按比例绘制。在认为合适的地方,附图标记在图中重复以指示对应或类似的元件。图1是用于跟踪无序网络分组的系统的至少一个实施例的简化框图,该系统包括经由网络通过通信信道而通信地耦合的源计算节点和目标计算节点;图2是可以由图1的系统中的目标计算节点建立的环境的至少一个实施例的简化框图;图3是可以由图1和图2的目标计算节点生成的分组序列号表条目的图示;以及图4和图5是可以由图1和图2的目标计算节点执行的用于跟踪无序网络分组的方法的至少一个实施例的简化流程图。具体实施方式虽然本公开的概念易受各种修改和替代形式影响,但是其具体实施例已经在附图中通过示例的方式示出,并且将在本文中详细描述。然而,应理解,不旨在将本公开的概念限制于所公开的特定形式,而是相反,意图是覆盖与本公开和所附权利要求一致的所有修改、等同方案和替代方案。说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以一定或可以不一定包括该特定的特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合其他实施例来实现这样的特征、结构或特性在本领域技术人员的知识内,而无论是否明确描述。另外,应理解,以“A、B和C中的至少一个”的形式在列表中包括的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一种或多种暂时性或非暂时性机器可读(例如,计算机可读)存储介质(例如,存储器、数据存储装置等)承载或存储在其上的指令,该指令可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读的形式存储或传输信息的任何存储设备、机构或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。在附图中,可以以特定的布置和/或排序示出一些结构或方法特征。然而,应理解,可能不要求这种具体的布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性图中所示的不同的方式和/或次序来布置。另外,在特定图中包括结构或方法特征并不意味着暗指在所有实施例中都要求这样的特征,并且在一些实施例中可以不包括这些特征或者可以将这些特征与其他特征组合。现在参考图1,在说明性实施例中,用于跟踪无序网络分组(即,当针对特定网络分组流的网络分组的递送不同于网络分组被发送的次序时)的系统100包括源计算节点102,源计算节点102经由网络106通过通信信道104通信地耦合到目标计算节点108。源计算节点102被配置为经由由源计算设备102生成的一个或多个网络分组向目标计算节点108发送信息(例如,数据对象、确认等)。在一些实施例中,(多个)网络分组包括报头和一些信息,其典型地被格式化为内嵌消息或所附的有效载荷。报头包括网络分组的标识信息,而有效载荷包括数据对象的至少一部分(例如,由于对数据对象打包)。应该理解,尽管源计算设备102可以按顺序的次序发送网络分组中的每个,但是可能无序地接收到网络分组中的一个或多个。因此,源计算设备102被配置为指派目标计算节点108可用的序列号,以根据接收到的无序网络分组来重建数据对象。换言之,目标计算节点108可以基于序列号对无序地接收的网络分组重新排序。在使用中,目标计算节点108跟踪其已经接收到的无序网络分组的序列号。为此,目标计算节点108跟踪预期分组序列号(例如,使用最新近连续接收的分组序列号来确定预期接下来要接收的网络分组的序列号)以及表示目标计算节点108已经接收到的无序网络分组的序列号的位掩码(即,位字段中的可用于按位操作的数据)。目标计算节点108被配置为在建立通信信道104时在存储器中分配其中可以存储位掩码的小量的窗口状态(即,小窗口)。在目标计算节点108已经接收到具有在0和97之间的序列号的连续网络分组的示例性实例中,预期分组序列号将对应于序列号98(即,被指派序列号98的网络分组)。在这样的示例中,小窗口中的位掩码跟踪由源计算设备102指派序列号99以及超过99的无序地接收的网络分组。然而,在一些实例中,在位掩码中表示接收到的无序网络分组所要求的位数对于小窗口可能太大。换言之,分配用于小窗口的位数大小可能不足以处理位掩码。在这种实例中,目标计算节点108被配置为分配一定量的窗口状态(即,足够大以支持位掩码的大小的窗口),在本文中称为大窗口,其中存储位掩码。因此,目标计算节点108然后可以将先前存储在小窗口中的位掩码移动到大窗口中,根据需要进行更新以考虑接收到的网络分组。另外,目标计算节点108被配置为在小窗口中存储指向大窗口的指针(即,指向分配给其中存储位掩码的大窗口的存储器地址的指针),使得目标计算节点108能够使用小窗口中的指针从大窗口中检索/更新位掩码。尽管在说明性系统100中仅示出了单个源计算节点102和单个目标计算节点108,但是应该理解,在一些替代实施例中,系统100可以包括与一个或多个目标计算节点108通信地耦合的一个或多个源计算节点102。一个这样本文档来自技高网...

【技术保护点】
1.一种用于跟踪无序网络分组的目标计算节点,所述目标计算节点包括:一个或多个处理器;以及一个或多个存储器设备,其中存储有多个指令,所述多个指令当由所述一个或多个处理器执行时使所述目标计算节点进行以下操作:经由网络建立与源计算节点的通信信道;生成分组序列号表中的、与所述通信信道相对应的条目,其中,所述条目包括小窗口,所述小窗口定义所述目标计算节点的存储器的一部分,所述部分被分配用于存储与由所述目标计算节点通过所述通信信道接收的无序网络分组的编号相对应的位掩码;经由所述通信信道接收来自所述源计算节点的多个无序网络分组;以及根据从所述源计算节点接收的所述多个无序网络分组中的每个无序网络分组的分组序列号,更新所述分组序列号表中的、与所述通信信道相对应的所述小窗口中的所述位掩码。

【技术特征摘要】
【国外来华专利技术】2015.12.22 US 14/979,1311.一种用于跟踪无序网络分组的目标计算节点,所述目标计算节点包括:一个或多个处理器;以及一个或多个存储器设备,其中存储有多个指令,所述多个指令当由所述一个或多个处理器执行时使所述目标计算节点进行以下操作:经由网络建立与源计算节点的通信信道;生成分组序列号表中的、与所述通信信道相对应的条目,其中,所述条目包括小窗口,所述小窗口定义所述目标计算节点的存储器的一部分,所述部分被分配用于存储与由所述目标计算节点通过所述通信信道接收的无序网络分组的编号相对应的位掩码;经由所述通信信道接收来自所述源计算节点的多个无序网络分组;以及根据从所述源计算节点接收的所述多个无序网络分组中的每个无序网络分组的分组序列号,更新所述分组序列号表中的、与所述通信信道相对应的所述小窗口中的所述位掩码。2.根据权利要求1所述的目标计算节点,其中,更新所述分组序列号表中的所述位掩码包括:(i)确定所述位掩码的大小是否大于所述小窗口的大小,(ii)响应于确定所述位掩码的大小大于所述小窗口的大小,分配大窗口,所述大窗口定义所述目标计算节点的存储器的另一部分,所述另一部分被分配用于存储与由所述目标计算节点通过所述通信信道接收的无序网络分组的编号相对应的所述位掩码,其中,所述大窗口的大小超过所述位掩码的大小,(iii)将所述位掩码存储在所述大窗口中,以及(iv)将指向所述大窗口的指针存储在所述小窗口中。3.根据权利要求2所述的目标计算节点,其中,所述多个指令还使所述目标计算节点进行以下操作:接收附加无序网络分组;根据接收到的附加无序网络分组来更新所述大窗口中的所述位掩码;确定更新后的位掩码的大小是否大于所述小窗口的大小;以及响应于确定所述更新后的位掩码的大小不大于所述小窗口的大小,用所述更新后的位掩码来替换指向所述大窗口的所述指针。4.根据权利要求3所述的目标计算节点,其中,所述多个指令还使所述目标计算节点:在确定没有附加网络分组正在被跟踪之后,释放分配给所述大窗口的所述存储器。5.根据权利要求3所述的目标计算节点,其中,所述多个指令还使所述目标计算节点:在确定没有附加网络分组正在被跟踪之后,将所述大窗口标记为可用并且分配给所述源计算节点。6.根据权利要求1所述的目标计算节点,其中,所述条目另外包括指示所述通信信道是否活动的连接状态指示符。7.根据权利要求1所述的目标计算节点,其中,所述条目另外包括与下一个预期网络分组的分组序列号相对应的失序分组序列号指示符。8.根据权利要求1所述的目标计算节点,其中,所述条目另外包括指示所述小窗口是否与所述位掩码或指向其中存储所述位掩码的大窗口的指针中的一个相对应的窗口使用指示符。9.一种用于跟踪无序网络分组的方法,所述方法包括:由目标计算节点经由网络建立与源计...

【专利技术属性】
技术研发人员:K·D·安德伍德C·A·吉费尔B·M·皮里K·P·布鲁梅尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1