CN107615810A - 用于在线网络代码的包头压缩系统和方法 - Google Patents
用于在线网络代码的包头压缩系统和方法 Download PDFInfo
- Publication number
- CN107615810A CN107615810A CN201680030504.5A CN201680030504A CN107615810A CN 107615810 A CN107615810 A CN 107615810A CN 201680030504 A CN201680030504 A CN 201680030504A CN 107615810 A CN107615810 A CN 107615810A
- Authority
- CN
- China
- Prior art keywords
- packet
- packet header
- header
- path
- data block
- 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
Classifications
-
- 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/04—Protocols for data compression, e.g. ROHC
Abstract
提供了用于利用在线网络代码进行包头压缩的实施例。根据网络代码,使用包头制定来减少包头开销。数据包的源和用户设备(user equipment,UE)之间的代理节点向数据包中的包头添加与该数据包中数据块对应的块标签。该代理节点还向该数据包的净荷部分添加用于发送该数据块的起止时间。使用在线网络编码方案编码该数据块,并且该数据包被发送至服务于该UE的接入节点。该接入节点接收该数据包,基于该代理节点和服务于该UE的多个接入节点组件之间预定义的有限数量的路径,通过压缩该块标签的比特压缩该包头,以及发送该数据包中压缩后的包头至该UE。
Description
交叉引用
本申请要求于2015年5月27日提交的、发明名称为“用于在线网络代码的包头压缩系统和方法”的美国专利申请序列号为14/723,327的优先权,其内容通过引用全部并入本文。
技术领域
本发明涉及网络和无线通信,并且在具体的实施例中,涉及用于在线系统的网络代码的包头压缩系统和方法。
背景技术
由于网络资源和带宽有限,高业务量需求在现代无线通信系统中是一个挑战。现在已经提出了诸如异构网络(heterogeneous network,HetNet)的系统来解决这种挑战和其他挑战。除了宏小区,HetNet还使用部署额外的一层较低功率的微微小区来实现小区分裂增益。提高增益的另一个方法是使用协作多点(coordinated multipoint,CoMP)传输管理方案。其他方案用于提供小区负载平衡和减轻干扰。这些方案还可以使用具有不同的无线接入技术(Radio Access Technology,RAT)的小区,例如,将无线接入网络(RadioAccess Network,RAN)业务分流给无线保真(Wireless-Fidelity,WiFi)网络的方案。此外,编码和压缩方案用于减少传送的数据的量或延迟,因此提高了带宽利用率。随着业务量的持续增长,需要使用改进的编码和压缩方案来得到更高的增益。
发明内容
根据一个实施例,一种由网络组件执行的方法包括向多个数据包中的包头添加与数据包中多个数据块对应的多个块标签,以及向数据包的净荷部分添加用于发送数据块的起止时间。包括净荷部分的数据块通过使用在线网络编码方案编码。包括包头和数据块的数据包被发送至服务于用户设备(user equipment,UE)的接入节点。
根据另一个实施例,一种网络组件包括至少一个处理器以及存储有由至少一个处理器执行的程序的非瞬时性计算机可读存储介质。该程序包括向多个数据包中的包头添加与数据包中多个数据块对应的多个块标签的指令,以及向数据包的净荷部分添加用于发送数据块的起止时间的指令。该程序还包括使用在线网络编码方案对包括净荷部分的数据块进行编码的指令。该网络组件用于将包括包头和数据块的数据包发送至服务于UE的接入节点。
根据另一个实施例,一种方法包括在网络和网络组件之间的路径上接收包括包头的多个数据包。该包头包括与数据包中多个编码后数据块对应的多个块标签。该方法还包括基于该网络和服务于包括该网络组件的UE的多个网络组件之间预定义的有限数量的路径,通过压缩块标签的比特压缩该包头。数据包中压缩后的包头被发送至该UE。
根据另一个实施例,一种网络组件包括至少一个处理器以及存储有由至少一个处理器执行的程序的非瞬时性计算机可读存储介质。该程序包括在网络和该网络组件之间的路径上接收包括包头的多个数据包的指令。该包头包括与数据包中多个编码后数据块对应的多个块标签。该程序还包括基于该网络和服务于包括该网络组件的UE的多个网络组件之间预定义的有限数量的路径,通过压缩表示块标签的比特压缩该包头的指令。该网络组件用于将数据包中压缩后的包头发送至该UE。
根据另一个实施例,一种方法包括在来自网络组件的路径上接收包括包头的多个数据包,其中该包头包括压缩后的比特,以及使用压缩后的比特,检索与数据包中多个编码后数据块对应的多个块标签。该块标签根据来自网络组件的路径的信息检索。
根据另一个实施例,一种网络组件包括至少一个处理器以及存储有由至少一个处理器执行的程序的非瞬时性计算机可读存储介质。该程序包括在来自网络组件的路径上接收包括包头的多个数据包的指令,其中该包头包括压缩后的比特。该程序还包括使用压缩后的比特,检索与数据包中多个编码后数据块对应的多个块标签的指令。该块标签根据来自网络组件的路径的信息检索。
为便于理解以下对本发明的详细说明,前文已经相当广泛地概述了本发明实施例的特征。以下将描述本发明实施例的附加特征和优点,其形成了本发明权利要求的主题。本领域技术人员应该理解,本申请公开的概念和具体实施例可以容易地作为修改或设计用来执行本发明的相同目的的其他结构或过程的基础。本领域技术人员还应该认识到,这些等价的结构并不背离所附权利要求中提出的本发明的精神和范围。
附图说明
为了更完整地理解本发明及其优点,现结合附图参考如下描述,其中:
图1是示出了实现DPS的系统的实施例的图;
图2是示出了使用系统网络代码的系统的实施例的图;
图3是示出了由源节点或代理节点使用在线网络代码的方法实施例的流程图;
图4是示出了由服务于用户设备(user equipment,UE)的接入节点利用在线网络代码进行包头压缩的方法实施例的流程图;
图5是示出了由用于接收和处理利用包头压缩和在线网络代码编码的数据包的UE执行的方法实施例的流程图;以及
图6是可以用于实现各种实施例的处理系统的图。
除非另有说明,不同附图中对应的数字和符号通常指代对应部分。绘制附图用于清晰地说明实施例的相关方面,并且附图没必要按比例绘制。
具体实施方式
以下详细讨论了目前优选的实施例的制作和使用。然而,需要理解的是,本发明提供了许多体现在多种具体环境中的适用的发明概念。以下讨论的具体实施例仅仅示出了制作和使用本发明的具体方法,并不限制本发明的范围。
一种有希望解决高业务量挑战的方法是使用动态点选择(dynamic pointselection,DPS)作为提供小区负载平衡和减轻干扰的机制。DPS中,数据在多个点(无线传输节点或基站)都可被获取到,但在任何时间只能从一个位置发送。这些点可以属于不同的无线接入技术(radio access technology,RAT),比如,长期演进(Long Term Evolution,LTE)演进型节点B(evolved Node B,eNB)、毫微微小区(低功率基站)、WiFi接入点(accesspoint,AP)、其他RAT节点或其组合。DPS方案允许动态选择传输点以通过最少量的业务量来服务用户。例如,传输点可以包括一个或多个eNB、毫微微小区或微微小区、WiFi AP或其他无线接入节点。一旦选择了合适的点,业务数据就被下发到与该点对应的单个路径。
为了进一步地提高性能增益(例如,根据在有限的资源/带宽上的业务传送定义的增益),可以使用诸如网络代码或在线网络代码的编码方案,其中数据块被编码然后一起被解码。提高这种编码方案的效率可进一步提高系统中的增益。本文公开的是一种用于在无线网络中(例如,在DPS系统的情况下)利用系统网络代码使用包头压缩进行通信的系统和方法。
系统网络代码用于对数据进行编码以提供显著的增益。然而,这种代码还需要很大的开销。网络编码需要在链路上与指定给用户接收的实际数据一起发送相对较少的额外的数据量。需要额外的数据提供冗余,以纠正在用户处接收到的数据中的错误。在本文的实施例中,根据网络代码,使用新型的包头制定来减少包头开销。具体地,考虑到一种固定的多路径场景(例如,DPS系统中到达多个传输点的路径),可以利用固定数量的已知路径。因此,可以得知包头中大量的信息,而不需要网络和用户之间通过显式的信令指示。如下进一步所描述的,考虑到包头压缩,该信息可以从包头中移除。包头制定可以适用于健壮性开销压缩(robust overhead compression,RoHC)方案,该方案用于进一步提高增益。
图1示出了进行DPS的系统的实施例。该系统包括数据的源101,其可以是服务器、网络、数据存储器、内容发生器、或生成或转发数据的任何网络节点。数据可以是用户数据(如,用户消费)、网络控制数据、网络中转发的其他信息或其组合。该系统还包括服务于用户设备(UE)104的多个接入节点103(或点)。接入节点103在图1中被标记为“节点”。如上所述,接入节点或点可以包括各种RAT节点。UE 104可以是能够进行无线通信(如,RAN通信、WiFi通信或两者)的任何用户通信设备,例如,智能手机、计算机平板电脑、移动电话、膝上型或台式计算机、传感器设备或其他。不同的点可以在回程中通过某种受限的链路连接,这种连接可能会受损、不稳定或速率受限。例如,毫微微小区可以在第三方互联网协议(Internet Protocol,IP)网络上接收来自无线网络的传输。
另外,代理节点102是位于数据包源101和服务于UE 104的接入节点103之间的中间节点。代理节点102由中央协调实体控制,并且负责将来自源101的数据分成网络代码块(如,数据包),并将这些数据块在接入节点103(传输点)之间进行划分。例如,代理节点102可以是服务器、路由器、接桥器、交换机或任何合适的网络控制器。在该DPS系统中,每个接入节点103或点可以在向UE 104开始发送数据块之前将期望速率和期望时间反馈给代理节点102。根据该反馈,代理节点102发送数据块的配额至每个接入节点103。然后,接入节点103可以使用各自的调度策略来发送其数据块。当调度发生时,每个接入节点103以实际发生的速率(实际速率)以及更新后的用于发送该接入节点的当前数据块的期望起止时间来更新代理节点102。基于更新后的期望时间,代理节点102可以重新分配尚未开始发送的不同的数据块。
图2示出了使用网络代码的系统的实施例。该系统可以是上述图1的系统的一部分。图2中,编码器202产生网络代码。例如,编码器202可以位于代理节点102处。在其他实施例中,编码器202在接入节点103处,或者在源101和UE 104之间任何其他的中间节点处。网络代码可以实现为块代码。这意味着,为了对数据进行编码,编码器202需要对预定数量的数据块进行接收和编码,随后这些数据块又必须在解码器204(可以在UE 104处)处一起被接收和处理。然而,这会影响与数据包相关的时延(延迟)。例如,假设M个数据块被编码器202一起编码,则编码器202需要在开始发送额外的数据块之前一直等待,直到M个数据块被UE 104接收。解码器204也需要等待,直到M个数据块被接收才开始解码数据块。如果数据块大小相对较大,这会造成显著的延迟,所以这不可行或不可接受。因此,在一个实施例中,可以使用网络代码的变体,在此实施例中,首先发送未被编码的比特(未进行网络编码)或数据包。如果最后发送的数据包由接收器报告丢失(或未被接收),则编码并重新发送该数据包。该编码步骤对应丢失的数据包和较早成功发送的数据包的组合。接收器使用较早发送的数据包的信息解码丢失并重新发送的数据包(从其组合中检索重新发送的数据包)。这在本文中被称为系统网络代码。该方法可以显著减少数据包中的平均延迟。
在一个实施例中,可以制定具有系统网络代码的M个数据块的包头,以适用于RoHC方案,该方案是一种有效的包头压缩方案。例如,可以在DPS系统中的源或代理节点处制定包头。包头压缩可以在节点处进行。通常,网络代码不考虑有效的包头压缩或RoHC。因此,需要恰当地制定包头。使用系统网络代码(而不是传统的网络代码)能够实现这种制定。所得到的包头具有相对较少的额外开销。例如,在最坏场景下约为1个字节。这种制定是基于系统网络代码是源或节点专用的假设,例如,系统网络代码具有接收器(如,UE)已知的源/路径。例如,接收器在LTE或WiFi连接上检测接收。在净荷(如,M个数据块)被解码之前,不需要通常包含在包头中的用于发送流的数据块(如,M个数据块)的起止时间。因此,起始值和结束值,也被称为传输控制协议(Transmission Control Protocol,TCP)起始值和结束值,可以与数据块的净荷部分而不是包头部分组合。对净荷使用系统网络编码可以减少移动至净荷的信息量(比特)。
在典型的基于数据块的网络编码中,通过将不同的数据块的编码系数连续地放置在位图中来区分这些不同的数据块。对于在线方案,可能存在无限数量的可能的数据块。因此,在实际的实现方式中可能使用诸如TCP的环形缓冲器,这样防止了使用标准的位图方案。在一个实施例中,使用稀疏表示的位图处理在线方案的这种限制。具体地,使用唯一的标识符来标记每个数据块,本文中也称为块标签或索引。标签值被依次放置,例如,放置在位图中或包头中。如果需要字节对齐,则每个块标识符可以被限制成X个字节或比特(X为预定义的整数)。这将未知数据包的最大数量限定为256X个。在一个实施例中,差分编码还可以与字节对齐一起使用,而不对灵活性造成明显的不利影响。在这种情况下,块标识符按顺序放置,并且可以使用它们之间的差(而不是绝对值)。此外,这些差值可以围绕(wrappedaround)一个最大值,以使得最大差保持更小。最大差可以设置为一个无损的小的数,因此仅需要部分字节(少于8比特)来表示块标识符。
上述包头制定可以有不依赖于连续标签之间的差值的固定的开销。这些标签可能有连续或近似连续的值。从而,期望有较大概率的小的标签值,其允许根据标签的这种概率进行进一步地包头压缩。这种概率可以是预定义的固定概率,或实时更新后的概率。由于包头的尺寸可变,标准的算术编码(如赫夫曼编码)可以用于生成概率到比特的映射。由于要求字节对齐,并且要求简单为最优的,通常采用简单的编码。在一个实施例中,预定数量(整数)的Y比特用于指示块标签。在一个实施例中,Y比特还可以被设成一个预定义的值,如所有比特都为0(00...000),以指示向下一个块标签添加值2y。因此,可以无需使用多个数量的比特来表示一个较大值Y。例如,假设Y=8,8的二进制表示会用来表示数字0到254,而从255到510的数字X将由数字X-254的Y比特二进制之前的[1 1 1 1 1 1 1 1]表示。还可以使用其他的选择。然而,由于使用了自适应的数据块长度,数据包(数据块)的数量和包头尺寸之间就不再有一对一的映射。在这种情况下,每次数据包的数量大于2y-1,就增加包头尺寸。而且,需要对这整个字段进行处理,以确定包头尺寸。这不可取,并且这会使并行处理包头更具挑战。可以通过附加字段指示包头长度来消除这种约束。
在一个实施例中,包头中的基本字段(base field)和块索引(块ID或块标签)之间可以有一些额外的冗余,可以利用这些冗余进一步提高增益。该基本字段指示最早或最后一个完全解码块,这基本上表明了可以丢弃该指示的数据块之前的块标签。指示的数据块的基本字段和指示的数据块之后的第一块标签之间的最大距离可以相对较小,从而可以使用另一种形式的差分编码,而不会造成大量丢失。下表1示出了包头压缩之前包头制定的实施例。起始值和终止值的最后字段被从包头移动到净荷部分。可能还有包括块标签的包头的其他合适的实施例。
表1.包头制定
上述包头制定可以使用大约8+1.2N个字节的信息。这种包头可以增加数据包的尺寸超出原先建有较低层的尺寸,例如,包头不太合适较低层的分组方案。对于小的数据包(例如,IP数据包上的语音),上述包头制定可能过大。在一个实施例中,为了进一步减少包头尺寸,可以使用诸如RoHC的方案。其目标是减少包头尺寸,例如,总共减少到大约2至4个字节。这可以通过预测在两个方向的链路上的数据利用RoHC和某种差分编码来实现,从而发送该信息的散列。在接收侧使用该散列检查或确认该预测行为正确。为了使类似的方法用于网络包头,该行为应该是可预测的。可预测的部分可以被移除,然后在接收器处预测。如下表2所示,包头可以被分成可预测的部分和被认为是不可预测的其他部分。这基于接收器知道从哪个基站(例如,eNB)接收数据包的假设来确定,例如,RoHC是基于每一跳完成的。这在本文中被称为源或节点专用。
表2.可预测的包头信息
调度策略,如由代理节点执行的调度策略,可能只有有限数量的选项。例如,对于第一传输(在会话或数据包的流中),数据块可以被发送而无需编码。可选地,标签X至标签Y的所有数据块可以利用商定的编码系数来发送,其中X和Y是可预测的,例如,基于路径或根据发送节点,X和Y有已知的值。这可以使用少量的数据的比特来进行指示,这样会为开销设置类似于RoHC的等级,但也会对网络编码等级增加限制。例如,可以限制网络编码,以使用编码系数对点A至点B所有的数据包一起进行编码,该编码系数是基于最后一跳(例如,到UE)的确定的路径。因此,所需要的唯一信息就是使用的最后一个块标签。可以通过来自该路径最后一次传输或UE确认的最后一个“基本字段”的差值表示。
上述包头制定可以适用于ROHC,并且会增加相对少量的开销,例如,最坏场景下大约1个字节。在其他场景中,该制定不增加开销。即使由于上述制定引入了包头开销,但是在数据块的数据部分(净荷)中使用的系统网络代码明显减少了(例如,大约30至40个字节)DPS系统中为保证冗余所需要的数据量。因此,就增益而言,在使用系统的网络代码和上述包头制定和压缩的组合时,存在总增益,例如,减少延迟或提高带宽利用率。资源的增益意味着支持系统中更高的业务。
利用上述包头制定,本文的实施例允许两级包头压缩,其中可以使用网络编码和进一步的包头压缩(例如,RoHC)。包头制定包括将起止信息比特从包头移动至数据包的净荷,以及向包头添加块标签。块标签可以是连续的值,并且在一个实施例中,连续的块标签之间的差值可以是固定的。此外,包头中的至少部分信息被映射到源节点或用于发送数据包至UE的路径。例如,块标签的编码系数可以是基于该路径或该节点。在一个实施例中,块标签可以是基于已知节点或路径。然后,根据包头制定设计RoHC。包头的比特表示可以包括路径ID。因此,假设到接收器或UE的路径数量有限(例如,LTE链路和WiFi链路),则路径ID的可能值有限,这样简化了预测编码系数(基于节点或路径),并且提高了包头压缩效率。进一步地,对于每个数据包中的字段,可以使用相对于前一发送的数据包的差值,这样也提高了压缩效率。在一个实施例中,编码系数可以是基于块标签或基于连续块标签之间的固定差值。这些方案减少了编码系数的比特,并且提高了压缩效率。
虽然RoHC对应于包头压缩的方案,但是本文中使用的术语RoHC或包头压缩指代任何可基于传输的数据预测包头或包头的某一部分的包头压缩方案。然后,计算该预测的包头的散列值。该散列值与压缩后的包头中的字段进行比较。如果散列值与字段匹配,则假定预测的包头字段正确。否则,可能会使用一些重建协议,例如,通过重传。
图3示出了使用在线网络代码的实施例方法300。该方法300可以由发送针对UE的数据包的源节点(例如,源101),或由位于源节点和服务于UE的接入节点之间的中间节点(例如,代理节点102)实现。该方法假设服务于目的接收器(例如,UE)的路径或接入节点数量有限。例如,路径的数量大约是2或3条。还可以支持额外的路径。在步骤310中,块标签被添加至每个数据包的包头。块标签与数据包的净荷部分中的数据块对应。该净荷部分可以包括一个或多个数据块。包头还可以分别指示净荷中被一同编码的数据块的数量(M),和包头中包括的块标签的数量。该包头还可以包括用于对编码后净荷部分中数据块进行编码时使用的编码系数,该编码系数允许UE解码数据块。此外,包头可以包括源端口和目的端口,以及由目的接收器或终端接收器确认的基本字段。如上所述,用于传输的起止时间值可以被添加到净荷部分中而不是数据包中的包头中。在步骤320中,基于数据包的期望路径,使用在线网络编码或系统在线网络编码,对数据包的净荷部分进行编码,以生成编码后数据包。例如,基于从网络节点到UE的最后一跳的信息,对净荷部分进行编码。这可以通过使用用于编码最后一跳信息的确定函数(deterministic function)的编码系数来实现。在步骤330中,发送编码后数据包,例如发送至服务于UE的DPS系统的接入节点。
图4示出了利用在线网络代码进行包头压缩的实施例方法400。该方法400可以由服务于UE的接入节点(例如,接入节点103)执行。接入节点可以是远离UE的一跳,例如传输点。在步骤410中,接入节点接收包括包头的数据包。该包头包括与数据包的净荷部分中至少一个数据块对应的至少一个块标签。在步骤420中,基于数据包通过网络采用的路径,对包括至少一个块标签的包头进行压缩(例如,使用RoHC)。在一个实施例中,根据系统的调度策略,可以使用诸如RoHC的包头压缩方案。例如,假定一个固定的多路径场景,即,基于网络和服务于UE的多个节点之间预定义的有限数量的路径,包头中可预测的字段可以被移除。该步骤包括移除源端口和目的端口的比特,以及基本字段。还可以移除块标签,其中,基于发送节点或至接收器的转发路径,其值对接收器来说是可预测或已知的。该步骤还可以包括添加路径ID以指示至接收器的路径。在一个实现方式中,可以移除编码系数,其中基于已知路径,可以通过接收器检索到编码系数值。在步骤430中,接入节点发送携带有压缩后的包头的数据包至UE。
图5是示出了用于接收和处理利用包头压缩和在线网络代码编码的数据包的实施例方法的流程图。方法500可以由接收数据包的UE执行。在步骤510中,UE接收数据包,并确定包括包头的数据包在多个路径中的哪个路径上被接收。可以使用压缩方案(例如,RoHC)压缩包头。UE能够在多个无线路径(无线链路)上接收数据包,例如,两个RAN链路和一个WiFi链路,或两个WiFi链路和一个RAN链路。在步骤520中,UE根据确定的路径,解码包头中的与数据包的净荷部分中至少一个数据块对应的至少一个块标签。UE知道数据包在哪个无线路径上被接收,并且基于该信息,UE可以预测压缩后的包头中的信息。该步骤可以包括检索块标签,以及基于该路径解析数据块的编码系数。在一个实施例中,UE可以使用接收到的业务或其路径的已知性质来确定路径和/或预测包头中的信息。UE使用检索到的编码系数来解码数据块。
图6是可以用于实现各种实施例的处理系统600的框图。例如,该处理系统600可以是诸如智能手机、平板电脑、膝上型计算机或台式计算机的UE的一部分。处理系统还可以是诸如上述方案中的代理节点或节点的网络组件的一部分。特定设备可以使用所示的所有组件,或仅组件的子集,并且集成的等级可以随设备的变化而变化。再者,设备可以包含组件的多个实例,如,多个处理单元、处理器、存储器、发射器,接收器等。处理系统600可以包括处理单元601,其配备有一个或多个输入/输出设备,如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等。处理单元601可以包括中央处理单元(central processingunit,CPU)610,存储器620,大容量存储设备630,视频适配器640,和连接至总线的I/O接口660。该总线可以是包括存储器总线或存储器控制器、外围总线、视频总线等任何类型的总线架构中的一种或多种。
CPU 610可以包括任何类型的电子数据处理器。存储器620可以包括任何类型的系统存储器,如静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)或其组合等等。在一个实施例中,存储器620可以包括在启动时使用的ROM和在执行程序时使用的用于程序和数据存储的DRAM。在实施例中,存储器620是非瞬时性存储器。大容量存储设备630可以包括任何类型的存储设备,该设备可以用于存储数据、程序以及其他信息,并且使数据、程序以及其他信息可通过总线接入。大容量存储设备630可以包括,例如,固态驱动器、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一个或多个。
视频适配器640和I/O接口660提供接口,以将外部输入和输出设备耦合到处理单元。如图所示,输入和输出设备的示例包括耦合到视频适配器640的显示器690和耦合到I/O接口660的鼠标/键盘/打印机670的任何组合。其他设备可以耦合到处理单元601,并且可以使用额外的或更少的接口卡。例如,串行接口卡(未示出)可以用于为打印机提供串行接口。
处理单元601还包括一个或多个网络接口650,该接口可以包括诸如以太网电缆等的有线链路,和/或无线链路,以接入节点或一个或多个网络680。网络接口650允许处理单元601通过网络680与远程单元通信。例如,网络接口650可以通过一个或多个发射器/发射天线和一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元601耦合到局域网或广域网,用于数据处理和与诸如其他处理单元、因特网、远程存储设施等的远程设备进行通信。
虽然本公开提供了多个实施例,但需要理解的是,公开的系统和方法可以以许多其他具体的形式来体现,而不脱离本公开的精神或范围。本示例被认为是说明性的而非限制性,并且该发明不受本文给出的细节的限制。例如,不同的元件或组件可以合并或集成到另一个系统中,或者某些特征可以忽略或不实施。
此外,可以将各种实施例中描述并示出的离散或独立的技术、系统、子系统和方法与其他系统、模块、技术或方法进行组合或集成,而不脱离本公开的范围。所示出或探讨的相互耦合、直接耦合或通信的其他项目可采用电气、机械或其他方式通过某些接口、设备或中间组件直接耦合或通信。本领域技术人员可以确定并做出变化、替换、和变更的其他示例,而不脱离本公开的精神和范围。
Claims (33)
1.一种由网络组件执行的方法,所述方法包括:
向数据包中的包头添加与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签;
基于所述数据包的期望路径,使用在线网络编码方案,对所述数据包的所述净荷部分进行编码,以生成编码后数据包;以及
发送所述编码后数据包。
2.如权利要求1中所述的方法,还包括:在所述包头中指示所述数据包的所述净荷部分中数据块的总数。
3.如权利要求1中所述的方法,还包括:向所述包头添加指示用户设备UE处的最后一个完全解码块的基本字段。
4.如权利要求3中所述的方法,其中所述块标签表示相对于所述基本字段的连续差值。
5.如权利要求1中所述的方法,还包括:向所述包头添加源端口和目的端口。
6.如权利要求1中所述的方法,其中所述编码后数据包被从所述网络组件发送至服务于UE的接入节点。
7.如权利要求6中所述的方法,还包括:根据所述数据包的所述期望路径,生成所述块标签。
8.如权利要求6中所述的方法,还包括:向所述包头添加与所述数据包的编码后的所述净荷部分中所述数据块对应的编码系数。
9.如权利要求8中所述的方法,还包括:根据所述数据包的所述期望路径,生成所述编码系数。
10.如权利要求8中所述的方法,还包括:根据所述数据块的所述块标签或连续块标签之间的差值,生成所述编码系数。
11.如权利要求8中所述的方法,还包括:使用基于所述数据包的所述期望路径的随机函数发生器,生成所述编码系数。
12.如权利要求8中所述的方法,还包括:
根据第二接入节点和所述UE之间第二期望路径,生成第二编码系数;
使用所述第二编码系数对所述净荷部分进行编码,以生成第二编码后数据包;以及
向所述第二接入节点发送所述第二编码后数据包。
13.如权利要求1中所述的方法,还包括:向所述数据包的所述净荷部分添加用于发送所述至少一个数据块的起止时间。
14.如权利要求1中所述的方法,其中基于所述数据包的期望路径,使用在线网络编码方案,对所述数据包的所述净荷部分进行编码的步骤包括基于到UE的最后一跳,对所述数据包进行编码。
15.一种网络组件,包括:
至少一个处理器;以及
存储由所述至少一个处理器执行的程序的非暂时性计算机可读存储介质,所述程序包括以下指令:
向数据包中的包头添加与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签;
基于所述数据包的期望路径,使用在线网络编码方案,对所述数据包的所述净荷部分进行编码,以生成编码后数据包;以及
发送所述编码后数据包。
16.如权利要求15中所述的网络组件,其中所述程序还包括:向所述包头添加与所述数据包的编码后的所述净荷部分中所述数据块对应的编码系数的指令,并且其中所述编码系数和所述块标签中的至少一个是基于所述数据包的所述期望路径的。
17.如权利要求16中所述的网络组件,其中所述网络组件是位于所述数据包的源和服务于用户设备UE的接入节点之间的中间代理节点。
18.如权利要求15中所述的网络组件,其中所述程序还包括:向所述数据包的所述净荷部分添加用于发送所述至少一个数据块的起止时间的指令。
19.一种由网络节点执行的方法,所述方法包括:
在所述网络节点接收包括包头的数据包,其中所述包头包括与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签;
基于所述数据包通过网络采用的路径,压缩包括所述至少一个块标签的所述包头;以及
发送具有压缩后的所述包头的所述数据包。
20.如权利要求19中所述的方法,其中所述块标签是基于所述路径。
21.如权利要求19中所述的方法,其中所述包头还包括表示与所述数据块对应的至少一个编码系数的比特,并且其中所述比特是基于所述数据包通过所述网络采用的所述路径的信息被压缩。
22.如权利要求21中所述的方法,其中所述编码系数是基于所述路径。
23.如权利要求19中所述的方法,其中使用在线网络编码方案编码包括所述数据块的所述数据包的所述净荷部分。
24.如权利要求19中所述的方法,其中使用健壮性开销压缩RoHC方案压缩所述包头的至少一部分。
25.一种服务于用户设备UE的接入节点,包括:
至少一个处理器;以及
存储由所述至少一个处理器执行的程序的非瞬时性计算机可读存储介质,所述程序包括以下指令:
接收包括包头的数据包,其中所述包头包括与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签;
基于所述数据包通过网络采用的路径,压缩包括所述至少一个块标签的所述包头;以及
发送具有压缩后的所述包头的所述数据包。
26.一种由用户设备UE执行的方法,所述方法包括:
确定包括包头的数据包在多个路径中的哪个路径上被接收;以及
根据确定的所述路径,解码所述包头中的与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签。
27.如权利要求26中所述的方法,其中所述块标签基于从哪个路径接收到所述数据包。
28.如权利要求26中所述的方法,还包括:根据确定的所述路径,解码所述包头中的与所述数据块对应的至少一个编码系数。
29.如权利要求28中所述的方法,其中所述编码系数是基于确定的所述路径。
30.如权利要求26中所述的方法,其中使用在线网络编码方案编码包括所述数据块的所述数据包的所述净荷部分。
31.如权利要求26中所述的方法,其中使用健壮性开销压缩RoHC方案压缩所述包头。
32.一种用户设备UE,包括:
至少一个处理器;以及
存储由所述至少一个处理器执行的程序的非瞬时性计算机可读存储介质,所述程序包括以下指令:
确定包括包头的数据包在多个路径中的哪个路径上被接收;以及
根据确定的所述路径,解码所述包头中的与所述数据包的净荷部分中至少一个数据块对应的至少一个块标签。
33.如权利要求32中所述的UE,其中使用健壮性开销压缩RoHC方案压缩所述包头。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/723,327 | 2015-05-27 | ||
US14/723,327 US9930145B2 (en) | 2015-05-27 | 2015-05-27 | System and method of header compression for online network codes |
PCT/CN2016/083149 WO2016188406A1 (en) | 2015-05-27 | 2016-05-24 | System and method of header compression for online network codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107615810A true CN107615810A (zh) | 2018-01-19 |
CN107615810B CN107615810B (zh) | 2020-04-21 |
Family
ID=57392555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680030504.5A Active CN107615810B (zh) | 2015-05-27 | 2016-05-24 | 用于在线网络代码的包头压缩系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9930145B2 (zh) |
CN (1) | CN107615810B (zh) |
WO (1) | WO2016188406A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114128241A (zh) * | 2019-03-27 | 2022-03-01 | 苹果公司 | 以太网标头压缩 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112017008111T5 (de) * | 2017-09-29 | 2020-06-25 | Apple Inc. | Rohc-header-kompression für mptcp |
US11245625B2 (en) * | 2019-08-07 | 2022-02-08 | Arista Networks, Inc. | Generating entries in a content addressable memory of a network device |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000069139A2 (en) * | 1999-05-10 | 2000-11-16 | Nokia Corporation | Header compression |
US20060045597A1 (en) * | 2004-08-30 | 2006-03-02 | Sharp Laboratories Of America, Inc. | System and method for expedited reprinting |
US20070153764A1 (en) * | 2006-01-04 | 2007-07-05 | Pascal Thubert | Compression of a routing header in a packet by a mobile router in an ad hoc network |
CN101325556A (zh) * | 2008-06-23 | 2008-12-17 | 南京大学 | 一种无线网络中基于网络编码的多路径路由方法 |
CN101369977A (zh) * | 2008-09-18 | 2009-02-18 | 华为技术有限公司 | 数据传输的方法、装置和系统 |
CN102291202A (zh) * | 2011-09-02 | 2011-12-21 | 北京大学深圳研究生院 | 一种网络编码包头的压缩方法 |
US20140269505A1 (en) * | 2013-03-15 | 2014-09-18 | Massachusetts Institute Of Technology | Wireless Reliability Architecture And Methods Using Network Coding |
US20150063211A1 (en) * | 2013-08-29 | 2015-03-05 | Samsung Electronics Co., Ltd. | Method and apparatus for applying nested network cording in multipath protocol |
WO2015068914A1 (en) * | 2013-11-06 | 2015-05-14 | Samsung Electronics Co., Ltd. | A method and system for handling audio packets during a volte call |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100608842B1 (ko) | 2003-12-01 | 2006-08-08 | 엘지전자 주식회사 | 이동통신 시스템의 데이터 수신정보 전송방법 |
US7916665B2 (en) * | 2008-03-18 | 2011-03-29 | Canon Kabushiki Kaisha | Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means |
US8488582B2 (en) | 2008-06-12 | 2013-07-16 | Alcatel Lucent | Minimal GAN RTP packet length via multi-level header compression |
US8923770B2 (en) * | 2010-12-09 | 2014-12-30 | Microsoft Corporation | Cognitive use of multiple regulatory domains |
CN102209079A (zh) * | 2011-06-22 | 2011-10-05 | 北京大学深圳研究生院 | 一种基于tcp协议的自适应网络控制传输方法和系统 |
US8780693B2 (en) * | 2011-11-08 | 2014-07-15 | Massachusetts Institute Of Technology | Coding approach for a robust and flexible communication protocol |
US8817797B2 (en) * | 2012-01-31 | 2014-08-26 | Alcatel Lucent | Method and apparatus for multipath protocol packet relay |
US9537759B2 (en) * | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
-
2015
- 2015-05-27 US US14/723,327 patent/US9930145B2/en not_active Expired - Fee Related
-
2016
- 2016-05-24 CN CN201680030504.5A patent/CN107615810B/zh active Active
- 2016-05-24 WO PCT/CN2016/083149 patent/WO2016188406A1/en active Application Filing
-
2018
- 2018-02-07 US US15/891,078 patent/US10523790B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000069139A2 (en) * | 1999-05-10 | 2000-11-16 | Nokia Corporation | Header compression |
US20060045597A1 (en) * | 2004-08-30 | 2006-03-02 | Sharp Laboratories Of America, Inc. | System and method for expedited reprinting |
US20070153764A1 (en) * | 2006-01-04 | 2007-07-05 | Pascal Thubert | Compression of a routing header in a packet by a mobile router in an ad hoc network |
CN101325556A (zh) * | 2008-06-23 | 2008-12-17 | 南京大学 | 一种无线网络中基于网络编码的多路径路由方法 |
CN101369977A (zh) * | 2008-09-18 | 2009-02-18 | 华为技术有限公司 | 数据传输的方法、装置和系统 |
CN102291202A (zh) * | 2011-09-02 | 2011-12-21 | 北京大学深圳研究生院 | 一种网络编码包头的压缩方法 |
US20140269505A1 (en) * | 2013-03-15 | 2014-09-18 | Massachusetts Institute Of Technology | Wireless Reliability Architecture And Methods Using Network Coding |
US20150063211A1 (en) * | 2013-08-29 | 2015-03-05 | Samsung Electronics Co., Ltd. | Method and apparatus for applying nested network cording in multipath protocol |
WO2015068914A1 (en) * | 2013-11-06 | 2015-05-14 | Samsung Electronics Co., Ltd. | A method and system for handling audio packets during a volte call |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114128241A (zh) * | 2019-03-27 | 2022-03-01 | 苹果公司 | 以太网标头压缩 |
Also Published As
Publication number | Publication date |
---|---|
US20180176338A1 (en) | 2018-06-21 |
US10523790B2 (en) | 2019-12-31 |
CN107615810B (zh) | 2020-04-21 |
US9930145B2 (en) | 2018-03-27 |
US20160352871A1 (en) | 2016-12-01 |
WO2016188406A1 (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667739B (zh) | 拥塞控制方法、装置及系统 | |
CN1859579B (zh) | 传输多媒体数据流的设备和方法 | |
CN104737518B (zh) | 用于数据表示和传输的系统和方法 | |
CN100435506C (zh) | 音频数据编码转换发送方法以及编码转换接收方法、设备和系统 | |
CN107040334B (zh) | 用于设备辅助通信的方法、装置和计算机可读介质 | |
JP2002050996A (ja) | 整数倍相互関係を有するブロック長を用いて符号化された信号を通信伝送路を介して送信する通信システム | |
KR20130040096A (ko) | 이동 통신 시스템에서 패킷 송수신 장치 및 방법 | |
US10817460B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
CN102144256A (zh) | 用于针对矢量量化器的快速最近邻搜索的方法和设备 | |
KR20090058927A (ko) | 데이터 블록 전송방법 | |
WO2012018339A1 (en) | Application of unequal error protection rateless codes in multimedia streaming over multi-path networks | |
CN108738007B (zh) | 一种音频传输方法、设备及系统 | |
CN107615810A (zh) | 用于在线网络代码的包头压缩系统和方法 | |
JP7282895B2 (ja) | データの再送復号方法、装置、システム及び通信装置 | |
CN101854224A (zh) | 纠错编码方法、装置和系统以及转发控制方法和装置 | |
JP2008193661A (ja) | 多重記述トランスコーディングのためのトランスコーディング・ノード及びトランスコーディング方法 | |
CN107210843A (zh) | 使用喷泉编码的实时视频通信的系统和方法 | |
Torre et al. | Network-coded multigeneration protocols in heterogeneous cellular networks | |
US8665988B2 (en) | Device and method for realizing prefix code construction | |
CN117136513A (zh) | 通信方法和通信参与者 | |
US20230085423A1 (en) | Packet communication system, and its transmitting apparatus, receiving apparatus, and program | |
JP4361046B2 (ja) | 移動端末機のビデオ通話データ符号化方法 | |
WO2021036189A1 (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
US10742783B2 (en) | Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |