优化网络传输的系统和方法技术方案

技术编号:39121555 阅读:12 留言:0更新日期:2023-10-23 14:46
本申请公开了优化网络传输的系统和方法。成批网络编码(BNC)是一种低复杂度的解决方案,用于在具有数据包丢失的多跳网络中进行网络传输,它将要传输的数据划分为多个数据包,并在必要时对数据进行填充。但是,数据包大小选择不当会引起大量开销。本公开的实施例提供了系统、方法和装置,其通过优化开销来动态决定数据包大小以克服传统BNC解决方案的缺点。因此,本公开的实施例通过提供特定于文件和动态确定优化来提高利用BNC传输技术的系统的吞吐量。所公开的用于执行传输动态优化的技术还降低了计算复杂度,使用例部署成为可能,其中利用了具有减少计算资源和功率要求的节点,同时保持网络性能得到改善(例如,在吞吐量等方面)。面)。面)。

【技术实现步骤摘要】
优化网络传输的系统和方法


[0001]本公开总体上涉及通信,更具体地说,涉及用于优化数据传输以减少网络开销和增加网络吞吐量的系统和方法。

技术介绍

[0002]最近,多跳无线网络已成为人们感兴趣的话题,这是因为它们有可能支持无线连接的某些用例,例如智慧城市和物联网(IoT)等应用。为了支持此类用例,可以利用许多设备或节点来覆盖所需区域,例如城市、建筑物(例如,工厂或制造设施、办公楼、仓库等)或其他区域。由于智慧城市及其它用例可能需要大量节点来提供对所需环境的有效覆盖,因此与其他类型的网络和应用(例如,蜂窝通信)相比,多跳网络中所使用的节点往往是具有更少计算资源(例如,计算资源、存储器资源等)的低成本设备。
[0003]由于可以在很多多跳网络用例中发现这些具有相对较少计算资源的节点,因此对无线通信性能具有负面影响的因素可能产生很大的影响。例如,因为无线链路容易受到其他无线信号和环境因素(例如,建筑物、车辆、调频(FM)无线电信号或其他因素)的干扰,因此丢包是无线链路中的常见现象。利用转发和端到端重传的传统网络传输方法、例如在无线局域网Wi

Fi或其他类型的网络中使用的方法,在多跳无线网络中表现不佳。这是因为数据包必须在所有链路上成功传输才能到达其目的地,但数据包到达其目的地的概率随着跳数的增加呈指数级快速降低。需要注意的是,为简单起见,本文使用术语“文件”来指代要传输的数据。然而,应当理解,本文中使用的术语“数据”并不限于文件系统意义上的文件。例如,该“数据”能够是在短时间内捕获的网络流量或实时流的一部分。
[0004]已经开发了数种方法来解决网络中的数据包丢失问题,例如随机线性网络编码(RLNC)和成批网络编码(BNC)。对于许多场景,RLNC能用于网络编码并实现存在数据包丢失的网络容量。最简单的RLNC方案能被描述为:
[0005](1)源节点(例如,发起传输的节点)将文件分成相同长度的多个部分,其中每个部分称为输入数据包,并且在必要时使用任意符号(例如零)对输入数据包进行填充以达到相同的长度。
[0006](2)源节点发送输入数据包的随机线性组合。
[0007](3)使用RLNC的源生成的每个数据包都附加有一个系数向量,该系数向量记录了传输过程中线性组合的系数(即形成该数据包的方式)。
[0008](4)每个中间节点(即除了接收和重传由源节点生成的数据包的数据包的源节点或目的地之外的节点)发送其所接收的数据包的随机线性组合。目标节点通过求解由系数向量给出的方程来恢复输入数据包。
[0009]一旦目的节点接收到足够多的具有线性独立系数向量的数据包,那么就能恢复所有的输入数据包。通过这种方式,网络代码本身扮演端到端纠删码的角色,以便能够处理数据包丢失。
[0010]在关于如何利用RLNC在多跳网络中传输数据的示例性描述中,输入数据包的长度
对整体网络性能具有显著的影响。特别是,不适当的长度需要将许多任意符号填充到文件中,这会消耗带宽从而降低吞吐量。这种类型的填充开销被称为零填充开销。对于基于RLNC的实现,当文件大小很小时,吞吐量可以很容易下降到不足50%,这意味着大部分吞吐量被用来传输无意义的信息(例如,零填充)。然而,小尺寸文件可用于许多考虑使用多跳网络的新兴应用,例如实时通信、无线传感器网络和远程命令链路等。由于文件大小可能较小,因此在此类网络中使用RLNC可能会导致性能不佳。
[0011]在为实际系统实现上述RLNC方案时,除了输入数据包长度问题外,还需要考虑一些复杂性问题,包括:(1)编码和解码的计算成本;(2)中间节点的存储成本和计算成本;(3)传输系数向量的开销和传输用于网络传输的协议头的开销。解决上述问题的一种方法是BNC(batched network coding),其将网络编码应用于由输入数据包生成的一小部分编码数据包。在BNC实现中,源节点的编码器生成很多批(batches),每个批包含一组编码数据包,并通过网络的中间节点将这些批传输到目标节点。在每个中间节点处,将网络编码应用于属于同一批的数据包,该过程被称为重新编码。在重新编码过程中,只需要在系数向量中跟踪属于同一批的线性组合的系数,这减小了系数向量的大小并允许其与输入数据包的数量无关。
[0012]与RLNC一样,输入数据包的长度问题对BNC的性能有着显著的影响。除了上述零填充开销问题外,BNC还引入了另一种类型的填充开销,称为批填充开销。虽然使用RLNC的源节点能准确地生成和传输所需的冗余量(即防止数据包丢失所需的额外数据包数量),但在BNC中,该所需的冗余量可能会导致批不完整。批填充开销是为了填充该不完整批而生成的数据包数量。因此,RLNC的零填充开销(在下文中将其称为“文件填充开销”,以避免与其他类型的开销混淆)与BNC的批填充开销之间的主要区别在于,批填充开销是一种有助于解码的冗余类型。但是,与文件填充开销一样,在传输小尺寸文件时,批填充开销会很大,从而降低网络性能(例如吞吐量)。
[0013]如上所述,输入数据包的大小会对使用RLNC和BNC的网络的性能(例如,吞吐量)产生显著影响。在寻找合适的输入数据包大小时,还应考虑两个额外的因素。第一个因素是由BNC和其他用于网络传输的协议头引起的每个数据包的协议开销。文件填充开销和批填充开销取决于可包含在输入数据包的有效载荷中的信息量,而协议开销与它们不同,其从一个数据包到另一个数据包不会发生变化。因此,输入数据包的大小不能太小,否则协议开销会太大。第二个因素是输入数据包大小的最大值。例如,以太网使用最大传输单元(MTU)来限制互联网协议(IP)数据包的大小,这要求任何大于MTU的数据包都必须分段。在多跳网络中,文件被源节点处理(例如,使用RLNC、BNC等)以生成一个或更多个输入数据包,并且输入数据包通过多跳网络的一个或更多个中间节点传输到目标节点。需要在零个或更多个中间节点(例如,源节点和目的地之间的节点)的数据包上执行与从节点到节点的文件跳跃和重新编码有关的输入数据包。重新编码过程代表了网络吞吐量与增加网络节点的计算成本之间的权衡。此外,如果一个或更多个片段丢失,则无法重新组装数据包以进行重新编码。最终,分段会增加数据包丢失率,这能通过限制输入数据包大小的上限来避免或者至少部分地避免。
[0014]从上文能理解到,存在可能影响多跳网络性能的各种因素,并且这些因素在部分实例中可能施加设计约束,从而限制部署多跳网络的能力。例如,有限的计算资源节点由于
其较小的形状因子和较低的部署成本,可能非常适合许多基于多跳网络的用例,但是当使用分段时(例如,由于在重新编码期间重新组装数据包需要更高的计算复杂度),该有限的计算资源可能会导致性能不佳。此外,对于小尺寸文件可能很常见的多跳网络用例(例如,传感器网络等),文件填充开销和批填充开销可能降低整体网络性能。因此,应该理解,上述不同类型的开销相互作用会产生尚待解决的联合优化问题(例如,如何使待传输符号的数量最小化)。

技术实现思路

[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,其包括:由网络节点的处理器接收具有文件大小的文件;由能被所述网络节点的处理器执行的优化引擎选择用于将文件传输到目标设备的批大小;由所述优化引擎,基于所述批大小、所述文件大小和开销信息计算要生成的用于将文件传输到目标设备的数据包数量;由所述优化引擎,至少部分地基于估计总开销确定所述数据包数量是否是最优的数据包数量;和由所述网络节点的处理器使用所述最优的数据包数量将文件传输到目标设备。2.如权利要求1所述的方法,还包括:选择至少一个额外的批大小;基于所述至少一个额外的批大小计算要生成的用于将文件传输到目标设备的至少一个额外的数据包数量;基于与所述数据包数量对应的所述估计总开销和与所述至少一个额外的数据包数量对应的额外估计总开销的比较,选择所述最优的数据包数量作为所述数据包数量或者所述至少一个额外的数据包数量之一。3.如权利要求1所述的方法,其中所述节点包括成批网络编码(BNC)编码器,该方法还包括:基于所述文件生成最优的数据包数量;和由所述BNC编码器根据与所述最优的数据包数量对应的特定的批大小对所述最优的数据包数量进行编码。4.如权利要求1所述的方法,还包括基于所述批大小估计所述开销信息。5.如权利要求4所述的方法,还包括:基于所述批大小确定用于传输文件的初始数据包数量;和基于用于传输文件的初始数据包数量更新所述开销信息。6.如权利要求5所述的方法,还包括:基于所述开销信息更新数据包总数。7.如权利要求1所述的方法,其中所述开销信息包括有关辅助信息的信息。8.如权利要求1所述的方法,还包括通过网络接收批统计信息,其中所述开销信息至少部分地基于所述批统计信息确定。9.如权利要求1所述的方法,还包括:从网络的第二节点接收使用成批网络编码(BNC)传输编码的一批输入数据包;对从第二节点接收的该批输入数据包执行BNC重新编码,以产生一批重新编码的输入数据包;和将该批重新编码的输入数据包传输到设备,其中该设备是网络的另一个节点或目标设备。10.一种方法,其包括:由处理器接收与要通过网络从网络的节点传输到目标设备的文件相关的信息,与所述文件相关的信息包括所述文件的文件大小和网络使用的协议;
由能被所述处理器执行的优化引擎选择用于传输文件的批大小;由所述优化引擎,基于所述批大小、所述文件大小和开销信息计算要生成的用于将文件传输到目标设备的数据包数量;由所述优化引擎,至少部分地基于估计总开销确定所述数据包数量是否是最优的数据包数量;和由所述处理器向所述网络的节点传输一组优化参数,该组优化参数包括用于响应于确定所述数据包数量是最优的数据包数量,使用所述数据包数量将文件传输到目...

【专利技术属性】
技术研发人员:殷浩辉
申请(专利权)人:安眺科技有限公司
类型:发明
国别省市:

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

1