CN115189802A - 用于通信网络的兼容分组分离 - Google Patents
用于通信网络的兼容分组分离 Download PDFInfo
- Publication number
- CN115189802A CN115189802A CN202110354424.8A CN202110354424A CN115189802A CN 115189802 A CN115189802 A CN 115189802A CN 202110354424 A CN202110354424 A CN 202110354424A CN 115189802 A CN115189802 A CN 115189802A
- Authority
- CN
- China
- Prior art keywords
- data
- batch
- packets
- block
- pseudo
- 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.)
- Pending
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本文描述了用于通信网络的兼容分组分离的系统、方法和其它技术。接收包括要在网络上传输的多个分组的块。该块包括一组批量数据,并且多个分组分布在一组批量数据之间。计算一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度。使用一组伪交织器深度来执行分块自适应重编码,以产生一组批量数据中的每个批量数据的多个重编码分组。使用一组批量数据中的每个批量数据的多个重编码分组来产生传输序列。
Description
技术领域
本申请涉及分组通信网络领域,更具体的,涉及用于通信网络的兼容分组分离的系统和方法。
背景技术
在物联网时代,多跳无线网络在智能城市应用中变得流行。与有线链路不同,无线链路可能并不可靠,由于其容易受到其它无线信号和环境因素的干扰。分组丢失尤其是突发分组丢失是无线链路上的常见现象。由于仅当分组在所有链路上都被成功地传输时,分组才能到达其目的地,其成功概率随着跳数的增加而呈指数级下降,因而在多跳无线网络中基于转发和端到端重传的传统组网方法可能无法良好地执行。
如此,需要用于提高无线网络可靠性的新系统、新方法和其它技术。
发明内容
下面以示例列表的形式提供对本发明的各种实施方式的概述。如下文所使用的,对一系列实施方式的任何提及应理解为分别提及那些实施方式中的每个(例如,“实施方式1-4”应理解为“实施方式1、2、3或4”)。
示例1是一种计算机实施的方法,包括:接收包括要在网络上传输的多个分组的块,其中块包括一组批量数据,并且其中多个分组分布在一组批量数据之间;计算一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;使用一组伪交织器深度来执行分块自适应重编码,以产生一组批量数据中的每个批量数据的多个重编码分组;以及使用一组批量数据中的每个批量数据的多个重编码分组来产生传输序列。
示例2是示例1的计算机实施的方法,还包括:使用传输序列对多个分组进行交织。
示例3是示例1-2的计算机实施的方法,还包括:输出传输序列。
示例4是示例1-3的计算机实施的方法,还包括:计算传输序列的分散效率;以及确定分散效率是否为最大分散效率。
示例5是示例1-4的计算机实施的方法,其中,使用一组伪交织器深度来执行分块自适应重编码包括:计算一组批量数据中的每个批量数据的信道模型。
示例6是示例5的计算机实施的方法,其中,使用一组伪交织器深度来执行分块自适应重编码还包括:使用一组批量数据中的每个批量数据的信道模型来解决分块自适应重编码优化问题。
示例7是示例1-6的计算机实施的方法,其中,一组批量数据中的特定批量数据的伪交织器深度是基于特定批量数据的连续分组之间的平均间隔来计算的。
示例8是一种包括指令的非暂时性计算机可读介质,该指令在由一个或多个处理器执行时使一个或多个处理器执行操作,该操作包括:接收包括要在网络上传输的多个分组的块,其中块包括一组批量数据,并且其中多个分组分布在一组批量数据之间;计算一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;使用一组伪交织器深度来执行分块自适应重编码,以产生一组批量数据中的每个批量数据的多个重编码分组;以及使用一组批量数据中的每个批量数据的多个重编码分组来产生传输序列。
示例9是示例8的非暂时性计算机可读介质,其中,该操作还包括:使用传输序列对多个分组进行交织。
示例10是示例8-9的非暂时性计算机可读介质,其中,该操作还包括:输出传输序列。
示例11是示例8-10的非暂时性计算机可读介质,其中,该操作还包括:计算传输序列的分散效率;以及确定分散效率是否为最大分散效率。
示例12是示例8-11的非暂时性计算机可读介质,其中使用一组伪交织器深度来执行分块自适应重编码包括:计算一组批量数据中的每个批量数据的信道模型。
示例13是示例12的非暂时性计算机可读介质,其中使用一组伪交织器深度来执行分块自适应重编码还包括:使用一组批量数据中的每个批量数据的信道模型来解决分块自适应重编码优化问题。
示例14是示例8-13的非暂时性计算机可读介质,其中一组批量数据中的特定批量数据的伪交织器深度是基于特定批量数据的连续分组之间的平均间隔来计算的。
实施方式15是一种系统,包括:一个或多个处理器以及包括指令的计算机可读介质,该指令在由一个或多个处理器执行时使一个或多个处理器执行操作,该操作包括:接收包括要在网络上传输的多个分组的块,其中块包括一组批量数据,并且其中多个分组分布在一组批量数据之间;计算一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;使用一组伪交织器深度来执行分块自适应重编码,以产生一组批量数据中的每个批量数据的多个重编码分组;以及使用一组批量数据中的每个批量数据的多个重编码分组来产生传输序列。
示例16是示例15的系统,其中,该操作还包括:使用传输序列对多个分组进行交织。
示例17是示例15-16的系统,其中,该操作还包括:输出传输序列。
实施方式18是实施方式15-17的系统,其中,该操作还包括:计算传输序列的分散效率;以及确定分散效率是否为最大分散效率。
示例19是示例15-18的系统,其中,使用一组伪交织器深度来执行分块自适应重编码包括:计算一组批量数据中的每个批量数据的信道模型。
示例20是示例19的系统,其中,使用一组伪交织器深度来执行分块自适应重编码还包括:使用一组批量数据中的每个批量数据的信道模型来解决分块自适应重编码优化问题。
附图说明
附图包括在本说明书中并构成说明书的一部分,以提供对本公开的进一步理解,附图示出本公开的实施方式,并与具体实施方式一起用于解释本公开的原理。并没有超出基本理解本公开和可以实践本公开的各种方式所需,试图更详细地示出本公开的结构细节。
图1示出包括多个节点的示例性网络。
图2A和图2B示出可以如何将块内交织器应用于分组的块的示例。
图3示出具有链接升级节点与非升级节点的各种组合的示例性线路网络。
图4示出用于对块内交织器执行分块自适应重编码的示例性系统。
图5示出可以在解决线性规划问题之后执行的示例性方法。
图6示出可以由分组分离器执行以近似传输序列的示例性算法。
图7示出可以被执行来微调排列的示例性算法。
图8示出可以由分组分离器执行的示例性方法。
图9示出可以由判决器执行的示例性方法。
图10示出用于对通信网络执行兼容分组分离的方法。
图11示出包括各种硬件元件的示例性计算机系统。
在附图中,相似的组件和/或特征可以具有相同的附图标记。另外,可以通过在附图标记后加上字母,或通过在附图标记后加上破折号再加上用于区分相似的组件和/或特征的第二数字附图标记,来区分相同类型的各种组件。如果在说明书中仅使用第一附图标记,则该描述可以适用于具有相同第一附图标记的相似组件和/或特征中的任何一个,而与后缀无关。
具体实施方式
在许多场景下,具有分组丢失的网络容量可以通过使用随机线性网络编码(RLNC)来实现。最简单的RLNC方案是源节点传输输入分组的随机线性组合,并且每个中间节点传输其已接收的分组的随机线性组合。一旦目的节点已接收具有线性独立编码向量的足够编码分组,则目的节点可以对输入分组进行解码。网络代码本身起到端到端删除校正码的作用。然而,在实际系统中实现RLNC方案时需要考虑一些复杂性问题,这些问题包括:(1)编码和解码的计算成本;(2)在中间节点处的存储成本和计算成本;(3)用于传输系数向量的开销。
解决这些问题的一种方式是将网络编码应用于由输入分组生成的编码分组的小子集。该方式被称为分批的网络编码(BNC)。BNC的编码器生成批量数据,其中每个批量数据包含一组编码分组。在每个中间节点处,将网络编码应用于属于同一批量数据的分组。在中间节点处执行的网络编码操作被称为重编码。
为了区分用于重编码的不同批量数据,批量数据ID可以附加到BNC的协议中的每个分组。BNC的最小协议的设计是其它协议的基本构建块。在该协议中,一旦节点接收到下一批量数据的分组(有可能跳过该批量数据),则中间节点开始对当前批量数据的分组进行重编码。在重编码期间,将为每个批量数据产生相同数量的重编码分组。这种重编码的方式称为基准重编码。
该协议中对交织器的应用可以称为交织最小协议。应用交织器的一个理由是在于突发分组丢失降低了BNC的吞吐量。在该交织协议中,一旦节点从下一个块(有可能跳过块)接收到批量数据的分组,则中间节点开始进行重编码,其中块包含多个批量数据。类似地,可以应用块ID来区分不同的块。可以由批量数据ID计算块ID,使得分组设计保持不变。尽管该协议使用基准重编码,但是当节点接收到块内的分组的任意排列时该协议仍然有效。
然而,基准重编码在吞吐量方面可能不是最佳的。例如,自适应重编码(自适应地决定每个批量数据的重编码分组数量)可以超越基准重编码。先前已经讨论了一种的高级协议,其结合了自适应重编码,最小化交织器引起的传输延迟,并对批量数据的分组进行均匀地交织。然而,这种高级协议没有采用块的概念,从而使其与交织的最小协议不兼容。这意味着为了使用新协议,所有部署的设备都需要升级。实际上,同时升级所有设备可能并不可行,并且一些设备可能无法升级。因此,考虑协议的混合使用可能是很重要的。
本公开的一些实施方式可以包括采用自适应逐块重编码以及在最小协议框架下设计交织器。该交织器可以使用块中的批量数据的分组的动态交织器深度,即,可以允许属于同一批量数据的分组不均匀地散布。通过该交织器可以提高BNC的吞吐量。由于该交织器仅对块内的分组进行排列,其与最小协议兼容,因此其与那些无法升级的设备很好地配合使用。该交织器可以称为块内交织器。
如上所述,由于交织器可以在最小协议框架下与自适应重编码一起使用,因此其与以交织的最小协议部署的现有设备兼容。在一些实施方式中,该设计可以被认为是由三个组件组成。被称为分块自适应重编码器的第一组件可以应用具有伪交织器深度的自适应重编码,以决定块中每个批量数据要生成的重编码分组数量。被称为分组分离器的第二组件可以根据由第一组件给出的重编码分组数量来确定应用于当前块的分组的排列。被称为判决器的第三组件可以基于所计算的排列的分散效率来选择优化的传输序列,并且还可以计算伪交织器深度以用于通过三个组件的后续迭代。
在以下描述中,将描述各种示例。出于说明的目的,阐述了具体的配置和细节以便提供对示例的彻底理解。然而,对于本领域的技术人员显而易见的是,可以在没有具体细节的情况下实践该示例。另外,可以省略或简化公知的特征,以免混淆所描述的实施方式。
图1示出根据本公开的一些实施方式的包括多个节点的示例性网络100。网络100是包括源节点102、第一中间节点104-1、第二中间节点104-2和目的节点106的三跳网络的示例。图1还示出由节点执行的一组示例性操作,该组示例性操作包括由源节点102执行的编码操作、由中间节点104-1执行的第一重编码操作、由中间节点104-2执行的第二重编码操作、以及由目的节点106执行的解码操作。例如,在网络100的操作期间,源节点102可以对多个分组108进行编码,中间节点104-1可以对分组108进行重编码,中间节点104-2可以对分组108进行重编码,以及目的节点106可以对分组108进行解码。
图2A和图2B示出根据本公开的一些实施方式如何将块内交织器应用于分组208的块210的示例。在所示的示例中,块210由三个批量数据212组成,第一批量数据212-1的分组208用圆圈表示,第二批量数据212-2的分组208用正方形表示,以及第三批量数据212-3的分组208用三角形表示。图2A示出在没有交织的情况下的分组208的传输序列。
图2B示出在应用块内交织器的情况下的分组208的传输序列。可以观察到,分组的散布可以是不均匀的,并且同一批量数据的任何两个连续分组之间的距离可以是不同的。如本文所使用的,应用块内交织器可以包括排列多个分组同时限制在同一块内。在网络节点处应用块内交织器可以包括找到给出分组的特定排列的合适的传输序列。
图3示出根据本公开的一些实施方式的具有链接升级节点303与非升级节点305的所有四个组合的示例性线路网络300。在所示的示例中,非升级节点305只能使用块交织器,而升级的节点303可以使用批量数据流交织器或块内交织器。由于所描述的技术与交织的最小协议兼容,因此本公开的实施方式的有益之处在于其允许这种非升级节点305使用块内交织器。
图4示出根据本公开的一些实施方式的用于在通信网络中执行兼容分组分离的示例性系统400。可以对每个接收的分组的块产生/执行所示的操作和相应的数据。在所示的示例中,系统400包括判决器402,判决器402生成伪交织器深度416并将其提供到分块自适应重编码器404,分块自适应重编码器404生成多个重编码分组418并将其提供到分组分离器406,分组分离器406生成传输序列420(分组的排列)并将其提供到判决器402,判决器402还选择和/或生成优化的传输序列422。
自适应重编码是一种重编码策略,其目的在于通过基于批量数据的秩和信道条件来优化重编码分组数量而增强系统吞吐量,其中批量数据的秩是由该批量数据承载的信息量的量度。实际上,由于随机环境的变化,因此信道条件可能会变化且不可预测。一种获得信道条件的方法是不时地进行短期观测。换句话说,将一定数量的批量数据分组为块,并通过自适应重编码来优化块内这些批量数据的重编码分组数量。这种方法可以称为分块自适应重编码。
在接收到分组的块之后,该过程从判决器402开始。最初,将批量数据的伪交织器深度416设置为1,然后将其传递到执行分块自适应重编码的分块自适应重编码器404。对于第一次迭代之后的每一次迭代,在从分组分离器406接收传输序列420之后,判决器402计算传输序列420的分散效率,并且如果其分散效率高于当前块的所有先前接收的传输序列,则记录传输序列420。然后,计算新接收的传输序列420的伪交织器深度416,并将其传递到分块自适应重编码器404。
在一些实施方式中,判决器402记录由分组分离器406提供的、在N次迭代中具有最高分散效率的传输序列420(分组的排列)。在N次迭代之后,判决器402中断循环,并且输出记录的传输序列420作为优化的传输序列422。然后,可以根据优化的传输序列422来传输块中的批量数据的重编码分组。
在一些实施方式中,从块的分组的排列中模仿由每个批量数据观察到的信道条件,从而可以重新优化该块中的批量数据的重编码分组数量。如本文所使用的,特定批量数据的伪交织器深度可以指该批量数据的连续分组之间的平均间隔。如果批量数据中只有一个分组或如果未知,则伪交织器深度可以定义为1。该深度(不一定是整数)表示再次传输同一批量数据的分组之前的空闲时间,即,其是对该批量数据信道条件的估计。该深度可以根据块中的分组的给定排列来计算。
块中每个批量数据要传输的重编码分组数量可用于最大化下一节点处的块中的批量数据的平均期望秩。在计算下一个节点处的一个批量数据的期望秩时,该批量数据的伪交织器深度用作传输的信道条件。优化问题的约束条件在于,各个批量数据要传输的重编码分组的总数等于该块的可传输分组数量。该优化问题是一个凹整数规划问题。问题的数学公式是
其中,是块(一组批量数据),rb和tb分别是批量数据b的重编码分组的秩和数量,tmax是块中分组的总数,以及Eb(rb,tb)是当使用该批量数据的伪交织器深度并传输该批量数据的tb个重编码分组时,在下一跳处的批量数据b的期望秩。
由于目标函数的离散性质,该问题可能无法通过凹面优化的常用求解器来解决。以下是用于分块自适应重编码的新数学公式。该公式是线性规划问题,使得其可以通过优化求解器来求解:
在一些实施方式中,分块自适应重编码器404可以对每次迭代执行以下操作。首先,分块自适应重编码器404可以接收块中的每个批量数据的伪交织深度。接着,分块自适应重编码器404可以计算每个批量数据的信道模型并计算Eb(rb,tb)。接着,分块自适应重编码器404可以解决分块自适应重编码的优化问题。最后,分块自适应重编码器404可以输出每个批量数据的多个重编码分组。
图5示出根据本公开的一些实施方式的的示例性方法500,其可以在解决上述线性规划问题之后执行,以确保重编码分组数量tb为整数。方法500包括,在步骤502,将具有非整数个重编码分组的批量数据收集到集合S中。方法500还包括,在步骤504,计算S中的批量数据的重编码分组数量的小数部分的总和R。方法500还包括,在步骤506,为S中的每个批量数据,去除重编码分组数量的小数部分。方法500还包括,在步骤508,从S中随机选择R个批量数据,并向这些批量数据中的每个添加一个重编码分组。
图6示出根据本公开的一些实施方式的用于近似传输序列的示例性算法600。给定块中每个批量数据要传输的重编码分组数量,其目的是找到分组的排列,使得批量数据中的每个连续分组对被尽可能地分离。分散效率是对排列中分组分离的良好程度的得分。目标是找到给出高分散效率的排列。
可以存在不同的分散效率公式。例如,它可以是批量数据中所有连续分组对的间隔得分的总和,或是批量数据中所有分组对的间隔得分的总和。间隔得分是排列中两个分组之间的间隔的量度。间隔得分的公式的一些示例包括分组之间的间隔的负倒数或分组之间的间隔的对数。
找到最优排列的问题是组合优化问题。接近最优的排列可以在两个阶段中进行有效地近似。令L是块中的批量数据的数量,且令ti是第i个批量数据要传输的重编码分组数量。在不失一般性的情况下,可以按ti的降序对批量数据进行排序,得出t1≥t2≥…≥tL。T是块中的分组数量。第一阶段是运行给出排列的近似的算法600。该排列在算法中被称为传输序列。
在该算法中,滑动函数由下式定义
其中
该算法的思想在于,对于具有最大数量的重编码分组的批量数据,分组之间的距离应最小。为了尽可能远地散布这些分组,分配传输序列的第一索引和最后索引。
该算法收集将相同数量的重编码分组作为捆绑包发送的批量数据。在每个捆绑包中,其中的批量数据具有相同的优先级,使得分组的间隔不会有偏向。可变间隙给出批量数据的目标交织器深度(用于均匀地散布分组),但是该间隙可以是非整数。如果通过可变间隙计算目标索引,则可以获得非整数索引或分配到其它批量数据的索引。滑动函数是从目标索引中找到最接近的未分配索引。收集这些用于捆绑包的滑动索引作为一组变量pos,然后将批量数据按顺序分配到pos表示的索引。
图7示出根据本公开的一些实施方式的示例性算法700,其可以可选地执行以进一步微调由算法600给出的排列,以实现更好的分散效率,其中Eff(f)是排列f的分散效率。在一些实施方式中,算法700被认为是微调算法。在运行算法700之后,排列接近最优。该排列可以用作其它组合搜索算法(如模拟退火)的初始配置,以进一步增强间隔,但是该额外的微调步骤也是可选的。然后,通过上述阶段获得的排列可以用作块中的分组的交织器。
图8示出根据本公开的一些实施方式的可以由分组分离器(例如,分组分离器406)结合算法600和算法700执行的示例性方法800。在步骤802,每批量数据接收多个重编码分组818,并运行算法600以生成近似的传输序列。在步骤804,接收近似的传输序列,并运行算法700以生成微调的传输序列。在步骤806,使用输入(如果执行了步骤804,则为近似的传输序列或微调的传输序列)作为初始配置以运行其它组合的搜索算法,并输出传输序列820。
图9示出根据本公开的一些实施方式的可以由判决器(例如,判决器402)执行的示例性方法。在步骤902,从分组分离器接收传输序列920,并计算传输序列920的分散效率924。在步骤904,如果传输序列920的分散效率924是所有接收的传输序列中的最大/最高分散效率,则记录传输序列920。在步骤906,确定是否已经执行足够的迭代。如果确定没有执行足够的迭代,则方法900进行到步骤908,在此计算所有批量数据的伪交织器深度916(每个批量数据一个)。如果确定已经执行足够的迭代,则方法900进行到步骤910,在此输出记录的具有最高分散效率的传输序列作为优化的传输序列922。
图10示出根据本公开的一些实施方式的用于对通信网络执行兼容分组分离的方法1000。在方法1000的执行期间可以省略方法1000的一个或多个步骤,并且方法1000的步骤可以以任何顺序和/或并行地执行。方法1000可以实现为计算机可读介质或包括指令的计算机程序产品,当程序由一个或多个计算机执行时,指令使得一个或多个计算机执行方法1000的步骤。这种计算机程序产品可以在承载计算机程序产品的数据载体信号中通过有线或无线网络传输。
在步骤1002,接收包括在网络上(例如,网络100、300)要传输的多个分组(例如,分组108、208)的块(例如,块210)。在一些实施方式中,块包括一组批量数据(例如,批量数据212)。在一些实施方式中,多个分组分布在一组批量数据之间。在一些情况下,多个分组中的每个可以包括标识分组属于哪个一组批量数据的批量数据标识符。
在步骤1004,计算一组批量数据中的每个批量数据的伪交织器深度(例如,伪交织器深度416、916),以产生一组伪交织器深度。在一些实施方式中,可以基于特定批量数据的连续分组之间的平均间隔来计算一组批量数据中的特定批量数据的伪交织器深度。在一些实施方式中,步骤1004可以由判决器(例如,判决器402)执行。
在步骤1006,使用一组伪交织器深度来执行分块自适应重编码,以产生一组批量数据中的每个批量数据的多个重编码分组(例如,多个重编码分组418、818)。在一些实施方式中,使用一组伪交织器深度来执行分块自适应重编码包括计算一组批量数据中的每个批量数据的信道模型。在一些实施方式中,使用一组伪交织器深度来执行分块自适应重编码还包括使用一组批量数据中的每个批量数据的信道模型来解决分块自适应重编码优化问题。在一些实施方式中,步骤1006可以由分块自适应重编码器(例如,分块自适应重编码器404)执行。
在步骤1008,使用一组批量数据中的每个批量数据的多个重编码分组来产生传输序列(例如,传输序列420、820、920)。在一些实施方式中,步骤1008可以由分组分离器(例如,分组分离器406)执行。
在步骤1010,计算传输序列的分散效率(例如,分散效率924)。在一些实施方式中,步骤1010可以由判决器执行。
在步骤1012,确定分散效率是否为最大分散效率。在一些实施方式中,如果确定分散效率为最大分散效率,则将传输序列记录和/或存储在存储设备中。在一些实施方式中,步骤1012可以包括确定分散效率是否为先前计算的所有分散效率中的最大分散效率。在一些实施方式中,步骤1012可以由判决器执行。在步骤1012之后,方法1000可以返回到步骤1004以通过步骤1004至步骤1012执行另一迭代,或方法1000可以进行到步骤1014。
在步骤1014,使用优化的传输序列(例如,优化的传输序列422、922)对多个分组进行交织。在一些实施方式中,优化的传输序列可以是具有最大分散效率的传输序列。
图11示出根据本公开的一些实施方式的包括各种硬件元件的示例性计算机系统1100。计算机系统1100可以并入本文所述的设备中或与本文所述的设备集成,和/或可以配置为执行由各种实施方式提供的方法的一些或全部步骤。例如,在各种实施方式中,计算机系统1100可以并入系统400中和/或可以配置为执行方法900。应注意,图11仅意味着提供各种组件的一般性说明,可以适当地使用任何或所有组件。因此,图11广泛地示出可以如何以相对独立或相对更集成的方式来实现各个系统元件。
在所示的示例中,计算机系统1100包括通信介质1102、一个或多个处理器1104、一个或多个输入设备1106、一个或多个输出设备1108、通信子系统1110、以及一个或多个存储设备1112。计算机系统1100可以使用各种硬件实现方式和嵌入式系统技术来实现。举例来说,计算机系统1100的一个或多个元件可以实现为现场可编程门阵列(FPGA)(诸如或LATTICE的市售FPGA)、片上系统(SoC)、专用集成电路(ASIC)、专用标准产品(ASSP)、微控制器和/或诸如SoC FPGA的混合设备等。
计算机系统1100的各种硬件元件可以经由通信介质1102进行联接。虽然为了清楚起见,通信介质1102被示为单个连接,但是应当理解,通信介质1102可以包括用于在硬件元件之间传送数据的各种数量和类型的通信介质。例如,通信介质1102可以包括一个或多个导线(例如,印刷电路板(PCB)或集成电路(IC)上的导电迹线、路径或引线、微带、带状线、同轴电缆)、一个或多个光波导(例如,光纤、带状波导)和/或一个或多个无线连接或链路(例如,红外无线通信、无线电通信、微波无线通信,以及其它可能性。
在一些实施方式中,通信介质1102可以包括连接计算机系统1100的硬件元件的引脚的一个或多个总线。例如,通信介质1102可以包括将处理器1104与主存储器1114(称为系统总线)连接的总线,以及将主存储器1114与输入设备1106或输出设备1108(称为扩展总线)连接的总线。系统总线可以包括地址总线、数据总线和控制总线的几个元件组成。地址总线可以将存储器地址从处理器1104传送到与主存储器1114相关联的地址总线电路,以便数据总线访问在存储器地址处包含的数据并将其传送回处理器1104。控制总线可以承载来自处理器1104的命令并返回来自主存储器1114的状态信号。每个总线可以包括用于承载多位信息的多个导线,并且每个总线可以支持数据的串行或并行传输。
处理器1104可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、神经网络处理器或加速器、数字信号处理器(DSP)等。CPU可以采取制造在金属氧化物半导体场效应晶体管(MOSFET)结构的单个IC芯片上的微处理器的形式。处理器1104可以包括一个或多个多核处理器,其中每个核可以与其它核同时读取和执行程序指令。
输入设备1106可以包括各种用户输入设备中的一个或多个,例如鼠标、键盘、麦克风以及各种传感器输入设备,例如图像捕获设备、压力传感器(例如,气压计、触觉传感器)、温度传感器(例如,温度计、热电偶、热敏电阻)、运动传感器(例如,加速计、陀螺仪)。倾斜传感器)、光传感器(例如,光电二极管、光电检测器、电荷耦合设备)等。输入设备1106还可以包括用于读取和/或接收可移动存储设备或其它可移动介质的设备。这种可移动介质可以包括光盘(例如,蓝光光盘、DVD、CD)、存储卡(例如,紧凑型闪存卡、安全数字(SD)卡、存储棒)、软盘、通用串行总线(USB)闪存驱动器、外部硬盘驱动器(HDD)或固态驱动器(SSD)等。
输出设备1108可以包括将信息转换为人类可读形式的各种设备中的一个或多个,例如但不限于显示设备、扬声器、打印机等。输出设备1108还可以包括用于写入可移动存储设备或其它可移动介质的设备,诸如参考输入设备1106所述的那些设备。输出设备1108还可以包括用于引起一个或多个部件的物理运动的各种致动器。这种致动器可以是液压的、气动的、电动的,并且可以由计算机系统1100提供控制信号。
通信子系统1110可以包括用于诸如通过计算机网络将计算机系统1100连接到位于计算机系统1100外部的系统或设备的硬件组件。在各种实施方式中,通信子系统1110可以包括联接到一个或多个输入/输出端口的有线通信设备(例如,通用异步收发机(UART))、光通信设备(例如,光调制解调器)、红外通信设备、无线电通信设备(例如,无线网络接口控制器、蓝牙设备、IEEE 802.11设备、Wi-Fi设备、Wi-Max设备(蜂窝设备),以及其它可能性。
存储设备1112可以包括计算机系统1100的各种数据存储设备。例如,存储设备1112可以包括具有各种响应时间和容量的各种类型的计算机存储器,从较快响应时间和较低容量的存储器(诸如处理器寄存器和高速缓存(例如L0、L1、L2))、到中等响应时间和中等容量的存储器(诸如随机存取存储器)、到较低响应时间和较低容量的存储器(诸如固态驱动器和硬盘驱动器磁盘)。虽然处理器1104和存储设备1112被示为独立的元件,但是应理解,处理器1104可以包括不同级别的处理器上存储器,诸如可以由单个处理器使用或在多个处理器之间共享的处理器寄存器和高速缓存。
存储设备1112可以包括主存储器1114,其可由处理器1104经由通信介质1102的存储器总线直接访问。例如,处理器1104可以连续读取和执行存储在主存储器1114中的指令。如此,各种软件元件可以被加载到主存储器1114中,以由处理器1104读取和执行,如图11所示。通常,主存储器1114是易失性存储器,其在断电时会丢失所有数据,因此需要电力来保存存储的数据。主存储器1114还可以包括非易失性存储器的一小部分,非易失性存储器包含用于将存储在存储设备1112中的其它软件读取到主存储器1114中的软件(例如,诸如BIOS固件)。在一些实施方式中,主存储器1114的易失性存储器实现为随机存取存储器(RAM)(诸如动态RAM(DRAM)),并且主存储器1114的非易失性存储器实现为只读存储器(ROM)(诸如闪存、可擦除可编程只读存储器(EPROM)、或电可擦除可编程只读存储器(EEPROM))。
计算机系统1100可以包括被示为当前位于主存储器1114内的软件元件,软件元件可以包括操作系统、设备驱动器、固件、编译器和/或其它代码(诸如可以包括由本公开的各种实施方式提供的计算机程序的一个或多个应用程序)。仅作为示例,关于上述任何方法所述的一个或多个步骤可以实现为可以由计算机系统1100执行的指令1116。在一个示例中,这种指令1116可以由计算机系统1100使用通信子系统1110(例如,经由携带指令1116的无线或有线信号)来接收,由通信介质1102携带到存储设备1112,存储在存储设备1112内,读取到主存储器1114中,并由处理器1104运行以执行方法的一个或多个步骤。在另一示例中,指令1116可由计算机系统1100使用输入设备1106(例如,经由用于可移动介质的读取器)来接收,由通信介质1102携带到存储设备1112,存储在存储设备1112内,读取到主存储器1114中,并由处理器1104运行以执行方法的一个或多个步骤。
在本公开的一些实施方式中,指令1116存储在计算机可读存储介质上,或简单地存储在计算机可读介质上。这种计算机可读介质可以是非暂时性的,因此可以被称为非暂时性计算机可读介质。在一些情况下,非暂时性计算机可读介质可以并入计算机系统1100内。例如,如图11所示,非暂时性计算机可读介质可以是存储设备1112中的一个,且指令1116被存储在存储设备1112中。在一些情况下,非暂时性计算机可读介质可以与计算机系统1100分离。在一个示例中,如图11所示,非暂时性计算机可读介质可以是提供到输入设备1106的可移动介质,诸如参考输入设备1106所述的那些介质,且指令1116被提供到输入设备1106。在另一示例中,如图11所示,非暂时性计算机可读介质可以是诸如移动电话的远程电子设备的组件,其可以使用通信子系统1110将携带指令1116的数据信号无线地传输到计算机系统1100,且指令1116被提供到通信子系统1110。
指令1116可以采取任何适当的形式以由计算机系统1100读取和/或执行。例如,指令1116可以是源代码(以诸如Java、C、C++、C#、Python的人类可读编程语言编写的)、目标代码、汇编语言、机器代码、微代码、可执行代码等。在一个示例中,将指令1116以源代码的形式提供到计算机系统1100,并且编译器用于将指令1116从源代码转换为机器代码,然后可以将机器代码读取到主存储器1114中以由处理器1104执行。作为另一示例,将指令1116以具有机器代码的可执行文件的形式提供到计算机系统1100,机器代码可以被立即读取到主存储器1114中以由处理器1104执行。在各种示例中,可以将指令1116以加密或未加密的形式、压缩或未压缩的形式提供到计算机系统1100,作为安装包或用于更广泛的软件部署的初始化以及其它可能性。
在本公开的一个方面,提供了一种系统(例如,计算机系统1100)以执行根据本公开的各种实施方式的方法。例如,一些实施方式可以包括了一种系统,该系统包括通信地联结到非暂时性计算机可读介质(例如,存储设备1112或主存储器1114)的一个或多个处理器(例如,处理器1104)。非暂时性计算机可读介质可以具有存储在其中的指令(例如,指令1116),该指令在由一个或多个处理器执行时使一个或多个处理器执行在各个实施方式中所述的方法。
在本公开的另一方面,提供了一种包括指令(例如,指令1116)的计算机程序产品以执行根据本公开的各种实施方式的方法。计算机程序产品可以在非暂时性计算机可读介质(例如,存储设备1112或主存储器1114)中有形地实施。该指令可以配置为使一个或多个处理器(例如,处理器1104)执行各种实施方式中所述的方法。
在本公开的另一方面,提供了一种非暂时性计算机可读介质(例如,存储设备1112或主存储器1114)。非暂时性计算机可读介质可以具有存储在其中的指令(例如,指令1116),该指令在由一个或多个处理器(例如,处理器1104)执行时使一个或多个处理器执行在各个实施方式中所述的方法。
以上讨论的方法、系统和设备是示例。各种配置可以适当地省略、替换或添加各种过程或组件。例如,在可选配置中,可以以与所述顺序不同的顺序来执行该方法,和/或可以添加、省略和/或组合各个阶段。另外,关于某些配置的所述的特征可以组合到各种其它配置中。配置的不同方面和元件可以以类似的方式进行组合。另外,技术是在不断发展的,因此许多元件是示例并非限制本公开或权利要求的范围。
在说明书中给出了具体细节以提供对包括实现方式的示例性配置的透彻理解。然而,配置可以在没有这些具体细节的情况下实践。例如,已经示出了公知的电路、过程、算法、结构和技术,而略去不必要的细节以避免混淆配置。本说明书仅提供示例性配置,而并非限制权利要求的范围、适用范围或配置。相反,先前对配置的描述将向本领域的技术人员提供用于实现所述技术的启用描述。在不背离本公开的精神或范围的情况下,可以对元件的功能和布置进行各种改变。
已经描述了一些示例性配置,在不脱离本公开精神的情况下,可以使用各种修改、替代构造和等同形式。例如,上述元件可以是较大系统的组件,其中,其它规则可以优先于该技术的应用,或以其它方式对该技术的应用进行修改。另外,可以在考虑上述元件之前、期间或之后采取多个步骤。因此,以上描述不限制权利要求的保护范围。
如本文和随附的权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数的指代,除非上下文另外明确规定。因此,例如,对“用户”的指代包括对一个或多个这种用户的指代,而对“处理器”的指代包括对一个或多个处理器及本领域技术人员已知的等同形式的指代等。
另外,当在本说明书和随附的权利要求中使用时,词语“包括(comprise)”、“包括(comprising)”、“包含(contains)”、“包含(containing)”、“包括(include)”、“包括(including)”和“包括(includes)”旨在指定所述特征、整体、组件或步骤的存在,但是不排除一个或多个其它特征、整体、组件、步骤、操作或组的存在或添加。
还应理解,本文所述的示例和实施方式仅出于说明的目的,并且对本领域的技术人员而言将基于此提出各种修改或改变,并且这些修改或改变将包括在本申请的精神和范围以及随附的权利要求的范围内。
Claims (20)
1.一种计算机实施的方法,包括:
接收包括要在网络上传输的多个分组的块,其中所述块包括一组批量数据,并且其中所述多个分组分布在所述一组批量数据之间;
计算所述一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;
使用所述一组伪交织器深度来执行分块自适应重编码,以产生所述一组批量数据中的每个批量数据的多个重编码分组;以及
使用所述一组批量数据中的每个批量数据的所述多个重编码分组来产生传输序列。
2.根据权利要求1所述的计算机实施的方法,还包括:
使用所述传输序列对所述多个分组进行交织。
3.根据权利要求1所述的计算机实施的方法,还包括:
输出所述传输序列。
4.根据权利要求1所述的计算机实施的方法,还包括:
计算所述传输序列的分散效率;以及
确定所述分散效率是否为最大分散效率。
5.根据权利要求1所述的计算机实施的方法,其中,使用所述一组伪交织器深度来执行所述分块自适应重编码包括:
计算所述一组批量数据中的每个批量数据的信道模型。
6.根据权利要求5所述的计算机实施的方法,其中,使用所述一组伪交织器深度来执行所述分块自适应重编码还包括:
使用所述一组批量数据中的每个批量数据的所述信道模型来解决分块自适应重编码优化问题。
7.根据权利要求1所述的计算机实施的方法,其中,所述一组批量数据中的特定批量数据的所述伪交织器深度是基于所述特定批量数据的连续分组之间的平均间隔来计算的。
8.一种包括指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
接收包括要在网络上传输的多个分组的块,其中所述块包括一组批量数据,并且其中所述多个分组分布在所述一组批量数据之间;
计算所述一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;
使用所述一组伪交织器深度来执行分块自适应重编码,以产生所述一组批量数据中的每个批量数据的多个重编码分组;以及
使用所述一组批量数据中的每个批量数据的所述多个重编码分组来产生传输序列。
9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述操作还包括:
使用所述传输序列对所述多个分组进行交织。
10.根据权利要求8所述的非暂时性计算机可读介质,其中,所述操作还包括:
输出所述传输序列。
11.根据权利要求8所述的非暂时性计算机可读介质,其中,所述操作还包括:
计算所述传输序列的分散效率;以及
确定所述分散效率是否为最大分散效率。
12.根据权利要求8所述的非暂时性计算机可读介质,其中,使用所述一组伪交织器深度执行所述分块自适应重编码包括:
计算所述一组批量数据中的每个批量数据的信道模型。
13.根据权利要求12所述的非暂时性计算机可读介质,其中,使用所述一组伪交织器深度执行所述分块自适应重编码还包括:
使用所述一组批量数据中的每个批量数据的所述信道模型来解决分块自适应重编码优化问题。
14.根据权利要求8所述的非暂时性计算机可读介质,其中,所述一组批量数据中的特定批量数据的所述伪交织器深度是基于所述特定批量数据的连续分组之间的平均间隔来计算的。
15.一种系统,包括:
一个或多个处理器;以及
计算机可读介质,包括指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
接收包括要在网络上传输的多个分组的块,其中所述块包括一组批量数据,并且其中所述多个分组分布在所述一组批量数据之间;
计算所述一组批量数据中的每个批量数据的伪交织器深度,以产生一组伪交织器深度;
使用所述一组伪交织器深度来执行分块自适应重编码,以产生所述一组批量数据中的每个批量数据的多个重编码分组;以及
使用所述一组批量数据中的每个批量数据的所述多个重编码分组来产生传输序列。
16.根据权利要求15所述的系统,其中,所述操作还包括:
使用所述传输序列对所述多个分组进行交织。
17.根据权利要求15所述的系统,其中,所述操作还包括:
输出所述传输序列。
18.根据权利要求15所述的系统,其中,所述操作还包括:
计算所述传输序列的分散效率;以及
确定所述分散效率是否为最大分散效率。
19.根据权利要求15所述的系统,其中,使用所述一组伪交织器深度执行所述分块自适应重编码包括:
计算所述一组批量数据中的每个批量数据的信道模型。
20.根据权利要求19所述的系统,其中,使用所述一组伪交织器深度执行所述分块自适应重编码还包括:
使用所述一组批量数据中的每个批量数据的所述信道模型来解决分块自适应重编码优化问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110354424.8A CN115189802A (zh) | 2021-04-01 | 2021-04-01 | 用于通信网络的兼容分组分离 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110354424.8A CN115189802A (zh) | 2021-04-01 | 2021-04-01 | 用于通信网络的兼容分组分离 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115189802A true CN115189802A (zh) | 2022-10-14 |
Family
ID=83512260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110354424.8A Pending CN115189802A (zh) | 2021-04-01 | 2021-04-01 | 用于通信网络的兼容分组分离 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115189802A (zh) |
-
2021
- 2021-04-01 CN CN202110354424.8A patent/CN115189802A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10033404B2 (en) | Technologies for efficiently compressing data with run detection | |
US10628068B2 (en) | Technologies for big data analytics accelerator | |
KR101087692B1 (ko) | Ofdma 무선 통신 시스템들에서의 프리앰블 검출 및 동기화 | |
JP2019530333A (ja) | Polar符号を用いてデータを符号化する方法及び装置 | |
KR20120084180A (ko) | 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치 | |
KR102221430B1 (ko) | 폴라 인코딩 및 디코딩 방법, 전송 기기, 그리고 수신 기기 | |
US9922264B2 (en) | Path compression of a network graph | |
KR20190117186A (ko) | 학습 기반 채널코드 디코딩 방법 및 장치 | |
WO2014151928A2 (en) | Distributed storage allocation for heterogeneous systems | |
CN115189802A (zh) | 用于通信网络的兼容分组分离 | |
CN111656365A (zh) | 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品 | |
US11452003B1 (en) | Compatible packet separation for communication networks | |
Wu et al. | A new routing protocol based on OLSR designed for UANET maritime search and rescue | |
CN115765756A (zh) | 一种高速透明传输的无损数据压缩方法、系统及装置 | |
CN111865492B (zh) | 中继系统中的信息传输方法、装置、设备及存储介质 | |
JP2019212111A (ja) | 分散学習方法及び分散学習装置 | |
CN110224798B (zh) | 信号接收方法网络设备 | |
CN113163479A (zh) | 一种蜂窝物联网上行资源分配方法及电子设备 | |
CN114499751B (zh) | 基于极化aloha的列表增强译码方法和装置 | |
KR102280624B1 (ko) | 통신 시스템에서 상향링크 데이터를 처리하는 방법 및 장치 | |
CN105653197A (zh) | 数据缓存设备和用于数据缓存的方法 | |
JP7452663B2 (ja) | コンピュータシステム | |
US11797603B2 (en) | Image descriptor network with imposed hierarchical normalization | |
WO2024087012A1 (zh) | 编译码装置及方法 | |
KR101818440B1 (ko) | 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |