CN102884833A - 用于减小通信网络中丢失的分组对冗余度压缩的影响的方法和装置 - Google Patents
用于减小通信网络中丢失的分组对冗余度压缩的影响的方法和装置 Download PDFInfo
- Publication number
- CN102884833A CN102884833A CN2011800140088A CN201180014008A CN102884833A CN 102884833 A CN102884833 A CN 102884833A CN 2011800140088 A CN2011800140088 A CN 2011800140088A CN 201180014008 A CN201180014008 A CN 201180014008A CN 102884833 A CN102884833 A CN 102884833A
- Authority
- CN
- China
- Prior art keywords
- packet
- grouping
- coding
- decode node
- buffer memory
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
提供了一种减小分组丢失对用于减少或消除蜂窝无线网络中的冗余业务的算法的影响的能力。编码节点使用来自编码节点的分组高速缓存的参考分组对目标分组进行编码,并将编码分组传送给具有分组高速缓存的解码节点。解码节点接收编码分组,并尝试对编码分组进行解码以恢复该目标分组。解码节点检测在编码分组中识别的参考分组从该解码节点的分组高速缓存中丢失。解码节点生成识别该丢失的参考分组的控制分组并将该控制分组传送给编码节点。编码节点接收该控制分组,并以避免编码节点使用该参考分组对分组进行编码以传送给解码节点的方式处理存储在编码节点的分组高速缓存中的参考分组。
Description
技术领域
本发明一般涉及通信网络,并且更具体但不排外地,涉及减少在通信网络中传送的冗余业务。
背景技术
蜂窝无线网络正日益成为互联网接入的无所不在的媒介。使用移动互联网服务的移动订户的数量在增长,并预期将继续增长。随着移动订户数量的增长,对网络容量的需求也增长。虽然第三代(3G)无线网络允许高速数据通信,但高要求的数据应用和服务的发展和部署可快速耗尽网络容量并且因此限制移动订户的体验质量。
一般来说,无线服务提供商具有两个基本机制以将带宽需求保持在可用容量之下:增加容量或者减少业务量(traffic volume)。为了增加容量,无线服务提供商可以升级现有的网络基础设施(例如,通过添加更多的小区塔或者部署新的蜂窝技术),但这是昂贵、耗时的,并且不能立即获利。为了减少业务量,无线服务提供商已典型地阻塞(block)在网络上生成大量业务的应用。
在有线网络中,最近已出现网络级的冗余消除作为减少带宽受限的网 络路径上的业务量的有效方法。冗余消除(RE)算法在网络路径的每个端点处部署高速缓存(cache),通过该高速缓存消除冗余业务。在发送节点处,对于遍历该路径的每个分组,发送节点确定该分组内的任何字节序列是否与先前经由网络路径发送的分组中的字节序列相同,以便可以使用比共有的字节序列中更少的信息来传达(signal)该分组中的共有的字节序列。在接收节点处,对于遍历该路径的每个分组,接收节点可能需要重建该分组,其中已在该分组内替换共有的字节序列。这典型地需要发送节点和接收节点之间的至少一定程度的同步。
已提出在广域网(WAN)中使用冗余消除;然而,还没有任何将冗余消除应用于蜂窝无线网络的尝试,主要是因为蜂窝无线网络的根本上不同的环境使冗余消除技术的部署变得复杂。首先,即使无线通信介质是共享的,移动订户也仅知晓他们自己的分组,而不知晓其它无线订户的分组。其次,为了到移动设备的空中链路上的有效的冗余抑制,冗余消除必须部署在移动设备端,这需要冗余消除技术到移动设备的有限资源的仔细调谐。第三,蜂窝无线网络中常见的较高丢失率使得发送方和接收方的同步更加复杂。
发明内容
通过用于减少或者消除网络中的冗余业务的实施例解决了现有技术中的各种不足。
在一个实施例中,减小了丢失分组对减少或者消除冗余业务的影响。通过在编码节点处对分组进行编码以及在解码节点处对编码分组进行解码来执行冗余业务的减少,其中编码节点和解码节点均包括存储用于分别由编码节点和解码节点执行的编码和解码操作的各自的参考分组集的各自的分组高速缓存。在一个这样的实施例中,通过从解码节点向编码节点传播识别从解码节点丢失的编码节点的参考分组的控制分组来减小丢失分组对降低冗余业务的影响,这样编码节点能够避免使用该参考分组对未来的分组进行编码以传送给解码节点。编码节点使用参考分组对目标分组进行编 码,并将编码分组传送给解码节点。解码节点接收编码分组,并尝试对编码分组进行解码以恢复该目标分组。解码节点检测该参考分组从该解码节点的分组高速缓存中丢失。解码节点生成识别该参考分组的控制分组并将该控制分组传送给编码节点。编码节点接收该控制分组,并以避免编码节点使用该参考分组对未来的分组进行编码以传送给解码节点的方式来处理存储在编码节点的分组高速缓存中的参考分组。
在一个实施例中,提供了一种由配置成对分组进行编码以朝向解码节点传送的编码节点使用的方法。在编码节点处接收解码节点的控制分组。控制分组识别存储在编码节点的分组高速缓存中并从解码节点的分组高速缓存丢失的参考分组。以避免编码节点使用该参考节点对未来的分组进行编码以传送给解码节点的方式处理存储在编码节点的分组高速缓存中的参考分组。
在一个实施例中,提供了一种由配置成对从编码节点接收的编码分组进行解码的解码节点使用的方法。该方法包括在解码节点处检测用于在解码节点处对编码分组进行解码的参考分组从解码节点的分组高速缓存中丢失,生成识别从解码节点的分组高速缓存中丢失的参考分组的控制分组,以及从解码节点朝向编码节点传播控制分组,编码节点使用该控制分组以避免在对分组进行编码以传送给解码节点的过程中使用编码节点的分组高速缓存中的对应的参考分组。
附图说明
通过结合附图考虑下面的详细描述可以容易地理解此处的教导,其中:
图1描绘了可在其中减少或者消除冗余业务的示例性蜂窝通信系统的高级框图;
图2描绘了用于图1的示例性无线通信系统的网络元件的示例性协议栈;
图3描绘了图示了执行编码的编码节点和执行解码的解码节点的示例性冗余度压缩系统;
图4描绘了使用编码密钥对目标分组的匹配区域进行编码以形成编码分组的方法的一个实施例;
图5描绘了使用编码分组的编码密钥对编码分组进行解码的方法的一个实施例;
图6描绘了说明关于图3-图5描绘和描述的业务冗余度压缩能力的一个实施例的高级框图;
图7描绘了用于提供主动重传能力以保持编码节点和解码节点的分组高速缓存之间的高速缓存一致性的方法的一个实施例;
图8描绘了保持被分割成新的、可用的和旧的区间的分组高速缓存的方法的一个实施例;
图9描绘了减小分组丢失对在编码节点和解码节点之间传播的分组的编码和解码的影响的方法的一个实施例;
图10描绘了适用于执行此处描述的功能的计算机的高级框图。
为了促进理解,只要可能,同样的参考图标用于表明同样的元件。
具体实施方式
此处描绘和描述业务冗余度压缩能力。业务冗余度压缩能力使得能够降低通信网络中的冗余业务。业务冗余度压缩能力提供分组级冗余度压缩。业务冗余度压缩能力可以提供用户内冗余度压缩和/或用户间冗余度压缩。业务冗余度压缩能力可以包括高速缓存同步机制以恢复发送节点与接收节点的同步所需的丢失的分组,从而提高或者确保冗余消除技术的正确性。如此处所描述的,使用业务冗余度压缩能力,即使具有有限资源(例如,有限的计算功率、内存等)的移动设备也能支持冗余消除。尽管此处主要在蜂窝无线网络的情境下描绘和描述,应理解的是业务冗余度压缩能力可以应用于其他类型的网络,包括其他类型的无线网络和有线网络。
图1描绘了其中可以减少或者消除冗余业务的示例性蜂窝通信系统的高级框图。如图1中所描绘的,示例性蜂窝通信系统100是码分多址(CDMA)3G1x-EVDO网络。
示例性蜂窝通信系统包括支持多个移动台(MS)1201-120x(统称为MS 120)的无线通信网络(WCN)110。本领域的技术人员将理解支持MS 120的通信的WCN 110的操作,因此,这里仅提供WCN 110的操作的概要描述。
WCN 110包括多个基站(BS)1121-112N(统称为BS 112)、多个无线网络控制器(RNC)1141-114M(统称为RNC 114)、多个分组数据服务节点(PDSN)1161-116L(统称为PDSN 116)、本地代理(HA)118和IP核心网络(IPCN)119。WCN 110是分级网络,其中等级较高的网络节点聚集来自等级较低的网络节点的业务。这样,HA 118支持多个PDSN 116,每个PDSN 116支持多个RNC 114,每个RNC 114支持多个BS 112,每个BS 112支持多个MS 120。WCN 110的组件的布置和互相连接描绘在图1中并且将被本领域的技术人员理解。
如图1中所描绘的,MS 120通过空中接口与BS 112相连。BS 112连接到RNC 114。MS 120与RNC 114使用无线链路协议(RLC)通信,RLC提供MS 120与RNC 114之间的链路层重传。RNC 114连接到PDSN 116。RNC 114与PDSN 116使用通用路由封装(GRE)协议(例如,使用GRE隧道)通信。MS 120与PDSN 116使用点对点(PPP)协议通信。从MS 120到PDSN 116的网络典型地称为无线接入网(RAN),尽管术语RAN可以其它方式定义。如果采用移动IP,则PDSN 116作为外地代理(FA)并连接到HA 118。PDSN 116和HA 118使用IP-in-IP隧道通信。HA 118使用IP与IPCN 119通信。IPCN 119是任何合适的基于分组的核心网络。
MS 120可以包括适于经由WCN 110接入和通信的任何设备,诸如计算机、蜂窝电话、个人数字助理(PDA)等。
尽管此处主要关于CDMA 3G1x-EVDO网络的节点的特定类型、数目和布置进行描绘和描述,但应理解的是,其它合适的节点类型、数目和布置也可用于CDMA 3G1x-EVDO网络中。类似地,尽管此处主要关于CDMA 3G1x-EVDO网络的节点间使用的特定协议进行描绘和描述,但应理解的是,其它合适的协议也可用于CDMA 3G1x-EVDO网络的节点间。
尽管此处主要在示例性CDMA 3G1x-EVDO网络的情境下进行描绘和描述,但应理解的是,也可在其它类型的CDMA 3G1x-EVDO网络中、其它类型的3G蜂窝网络中、其它类型的蜂窝网络(例如,4G网络等)、其它类型的无线网络中、有线网络中等等、以及其结合中利用业务冗余度压缩能力。
图2描绘了针对图1的示例性无线通信系统的网络元件的示例性协议栈。如图2中所示,针对MS 120、BS 112、RNC 114、PDSN 116和HA 118,以及MS 120可与其通信的潜在的终端主机(例如,MS、服务器等)描绘了示例性协议栈。本领域的技术人员将理解与图1的示例性无线通信系统100的网络元件关联的示例性协议栈。可以参考与图1的示例性无线通信系统100的网络元件关联的示例性协议栈以更好的理解对3G1x-EVDO网络中(更具体地,蜂窝无线网络中)的业务冗余度压缩能力的部署。
为了更好的理解蜂窝无线网络中业务冗余度压缩能力的使用,应注意的是,蜂窝网络中存在可能影响无线业务的冗余以及业务冗余度压缩能力在蜂窝无线网络中的部署的某些无线业务特性。
首先,在蜂窝无线网络中,主要的瓶颈是空中接口。就不同空中接口的每用户数据率而言,CDMA 3G1x系统具有144Kbps的峰值数据速率,CDMA 3G1x-EVDO系统具有2Mbps的峰值数据速率,UMTS HSPDA具有14Mbps的理论峰值数据速率,其平均用户吞吐量为约900Kbps,UMTS长期演进(LTE)系统具有100Mbps的理论峰值数据速率,其平均用户吞吐量为约3.6Mbps。假定这些数据速率被蜂窝通信系统支持,则蜂窝通信系统中的瓶颈链路在空中接口中。相应地,在一个实施例中,穿越空中接口部署业务冗余度压缩能力以减少在空中接口上传送的业务的量,例如,可在MS和RNC之间、MS和PDSN之间等部署业务冗余度压缩能力。
其次,在蜂窝无线网络中,使用多层次的封装来在MS和IPCN之间传输业务。
如图2中所描绘的,遍历MS与PDSN之间的RAN的数据分组是以PPP报头封装的IP分组,这样通过将业务冗余度压缩能力置于PPP层之 下,采用PPP、IP和TCP/UDP分组报头趋向于具有比分组有效载荷更多的重复内容的事实是可能的。相应地,在一个实施例中,可以在MS与PDSN之间部署业务冗余度压缩能力。
如图2中进一步描绘的,MS与RNC之间的数据分组是以RLP报头进行封装的PPP帧的片段,这样通过将业务冗余度压缩能力置于MS与RNC处的RLP层之下,将有必要查找具有RLP报头的PPP帧中的冗余。因此,虽然可在MS与RNC之间部署业务冗余度压缩能力,但这可能需要RNC处的附加的存储容量。
如图2中进一步描绘的,RNC与PDSN之间的数据分组是以GRE和IP报头进行封装的PPP分组,这样通过将业务冗余度压缩能力置于RNC与PDSN处的GRE层之下,在GRE、PPP、IP和TCP/UDP分组报头中采用冗余是可能的。此外,由于RNC聚集了来自多个MS的业务,在RNC到PDSN链路上部署业务冗余度压缩能力使得能够在用户内冗余度压缩(其为在MS上部署业务冗余度压缩能力时唯一可用的冗余度压缩)之外使用用户间冗余度压缩。然而,由于RNC到PDSN链路是有线链路,其不提供空中接口上的任何冗余度压缩。相应地,在一个实施例中,可以在RNC与PDSN之间部署业务冗余度压缩能力。
如此处描述的,业务冗余度压缩能力包括在发送/编码节点处提供编码功能以及在接收/解码节点处提供解码功能。从这些示例性部署方案显而易见的是,可以以许多方式部署业务冗余度压缩能力,同时仍然提供冗余业务的显著减少或者消除。因此,由于可以以许多方式选择用于业务冗余度压缩能力的发送/编码节点和接收/解码节点,业务冗余度压缩能力主要通过参考更通用的网络元件而不是通过参考图1的示例性蜂窝通信系统100的特定网络元件来描绘和描述。
第三,在蜂窝无线网络中,业务冗余度压缩能力在MS上的部署呈现了由于MS的有限资源导致的问题。例如,MS上有限的计算和内存资源表示大量的分组不能被存储并且广泛的(expensive)计算不能被执行。因此,在有些实施例中,可能需要执行谨慎的RE参数调谐以满足蜂窝无线 基础设施的需求。
第四,在蜂窝无线网络中,无线链路上的分组丢失典型地大于有线链路上的分组丢失。在现有的RE方法中,这种分组丢失没有得到解决;而是这些方法将分组丢失问题留给了TCP或者更高的应用层。然而,在蜂窝无线网络中,对用于处理分组丢失的这些技术的使用是不够的。例如,已知TCP将无线链路损耗误解为拥塞,因此导致源节流和低吞吐量。结果,已在许多3G系统中实施机制以解决TCP性能降级的问题,诸如将MAC层重传实现为自动重传请求(ARQ)方案、将链路层重传实现为CDMA中的RLP和UMTS中的RLC。然而,就处理需求和延迟来说,这些低层重传方案每个都具有与其关联的成本。相应地,在一个实施例中,业务冗余度压缩能力包括用于保持发送节点与接收节点上的分组高速缓存的同步的高速缓存一致性算法。
从蜂窝网络中的无线业务的特性的上述讨论应理解的是,在通用的通信网络中(例如,在蜂窝网络中、在其它类型的无线网络中以及在有线网络中)使用冗余消除技术具有许多优势。为了更好的理解使用业务冗余度压缩能力减少通信网络中的冗余业务,下面给出示例性业务冗余度压缩系统的描述。
图3描绘了图示执行编码的编码节点和执行解码的解码节点的示例性业务冗余度压缩系统。如图3中所描绘的,示例性冗余度压缩系统300包括经由通信路径315通信的编码节点310和解码节点320。
如此处描述的,可以以任何适于提供业务冗余度压缩能力的方式实现编码节点310和解码节点320。
在一个实施例中,如图3中描绘的,编码节点310包括在提供分组编码功能过程中使用的处理器312和存储器315。处理器312配置成执行支持对目标分组的编码的功能以形成编码分组。存储器315存储由处理器312在执行支持对目标分组的编码的功能以形成编码分组的过程中使用的信息。
存储器315包括用于存储分组的分组高速缓存316。存储在分组高速 缓存316中的分组是所存储的用于在目标分组内识别可用一个或多个编码密钥进行编码的冗余信息的参考分组。存储在分组高速缓存316中的分组可以包括适用于识别目标分组与一个或多个所存储的分组(例如,最近由编码节点310传送的X个分组、最近由编码节点310传送的X个分组的子集、确定为最可能具有匹配将来被处理的目标分组的信息序列的信息序列的分组集合等,以及其组合)之间的匹配的任何分组。
存储器315可选地包括指纹高速缓存317,取决于指纹技术是否用于识别目标分组内的匹配区域(即,用于识别目标分组内信息序列与一个或多个所存储的分组内的信息序列之间的匹配)。例如,当指纹技术被用于识别目标分组中的匹配区域时,将呈现指纹高速缓存317,可选地,当不同于指纹技术的技术被用于识别目标分组中的匹配区域时,指纹高速缓存317将不被呈现或者可被存储不同类型的信息的不同类型的高速缓存替代。
编码节点310可以包括提供此处描绘和描述的分组编码功能所需的任何其它组件(为了清楚起见从图3省略了)。
在一个实施例中,如图3中所描绘的,解码节点320包括用于提供分组解码功能的处理器322和存储器325。处理器322配置成执行支持对编码分组的解码的功能以重建从其形成编码分组的目标分组。存储器325存储由处理器322在执行支持对编码分组的解码的功能以重建从其形成编码分组的目标分组的过程中使用的信息。
存储器325包括用于存储分组的分组高速缓存326。存储在分组高速缓存326中的分组是所存储的由解码节点320用于从由解码节点320接收的编码分组重建目标分组的参考分组。存储在分组高速缓存326中的所存储的分组包括可从所存储的分组中提取并插入编码分组中以重建从其形成编码分组的目标分组的信息序列。如关于编码节点310的分组高速缓存316所描述的,存储在解码节点320的分组高速缓存326中的分组可以包括适用于从由解码节点320接收的关联的编码分组重建由编码节点310传送的目标分组的任何分组(例如,最近由解码节点320接收的X个分组、最近 由解码节点330接收的X个分组的子集等,以及其组合)。
存储器325包括散列表328。对于存储在分组高速缓存326中的每个分组,散列表328包括包含所存储的分组的散列值和所存储的分组在分组高速缓存326内的位置的指示的条目。解码节点320在从编码分组重建目标分组并确定该目标分组应存储在分组高速缓存326中的基础上更新散列表328。解码节点320使用与编码节点310使用的散列函数相同的散列函数来计算存储在分组高速缓存326中的目标分组的散列值。解码节点320确定目标分组存储在分组高速缓存326中的位置。解码节点在散列表328中创建包括所存储的分组的散列值和所存储的分组在分组高速缓存326中的位置的条目。
关于编码节点310的分组高速缓存316和解码节点326的分组高速缓存326,应理解的是,分组高速缓存316与分组高速缓存326应同步(或至少尽可能同步),以便从编码节点310处的目标分组移除的匹配区域可用于解码节点重建目标分组。在一个实施例中,提供主动重传能力以限制促成冗余消除系统的分组高速缓存间的同步缺乏的分组丢失的影响。关于图7描绘和描述主动重传能力的实施例。
如图3中所描绘的,编码节点310执行支持业务冗余度压缩能力的分组编码功能。
编码节点310对要被传送给解码节点320的每个目标分组执行处理,以确定包括在该分组内的信息是否关于包括在一个或多个参考分组中的信息是冗余的。如果目标分组内未包括冗余信息,则目标分组在不进行任何编码的情况下被传送给解码节点320。如果目标分组内包括冗余信息,则在目标分组内对冗余信息进行编码从而形成编码分组,并且编码分组被传送给解码节点320。如果对目标分组进行编码以形成编码分组,则编码节点310可以向或者不向解码节点320提供目标分组已被编码的指示。如果没有提供指示,则解码节点320可以识别所接收的分组是编码分组。如果提供指示,那么编码的指示可以任何合适的方式提供。例如,每个分组内可包括专用比特,以使得编码节点310能够向解码节点320指示目标分组 是否已被编码(例如,“0”值指示未编码并且“1”值指示编码,反过来也一样)。编码节点310经由通信路径315将编码的目标分组传送给解码节点320。
当目标分组内包括的信息关于一个或多个参考分组中包括的信息是冗余的时,编码节点310对将被传送给解码节点320的目标分组执行编码。目标分组可以是在编码节点310处可获得的分组(例如,其中编码节点310为终端(end terminal),诸如,MS 120)或者从网络元件接收的分组(例如,在RNC处从BS接收的分组,其中在RNC与PDSN之间实现业务冗余度压缩能力)。参考分组是存储在编码节点310处用于支持业务冗余度压缩能力(即,用于识别目标分组内的冗余信息)的分组。
编码节点310通过识别目标分组的每个匹配区域并对目标分组进行编码来编码目标分组,从而目标分组的每个匹配区域使用各自的编码密钥进行编码。匹配区域是包括在目标分组内的与包括在所存储的分组之一中的信息序列相同的信息序列。在一个实施例中,只识别和编码满足最小大小阈值的匹配区域。在一个实施例中,匹配区域的信息序列是最长的信息序列,即,忽略形成最长信息序列的一部分的较短信息序列,由最长的信息序列取代(in favor of)。用于表示目标分组的匹配区域的编码密钥包括比由编码密钥表示的目标分组的匹配区域更少的信息,从而减少了必须从编码节点310发送到解码节点320的信息量。
编码节点310识别目标分组的匹配区域。编码节点310可以以任何合适的方式识别目标分组的匹配区域。
在一个实施例中,编码节点310可以以任何适于识别目标分组与一个或多个所存储的分组之间的匹配的方式来分析目标分组。在一个实施例中,例如,编码节点310可以使用滑动窗口来分析目标分组。在一个实施例中,编码节点310可以以任何合适的方式识别包括匹配区域的所存储的分组。例如,编码节点310可以使用指纹识别技术或者适合用于识别包括匹配区域的所存储的分组的任何其它技术来识别包括匹配区域的所存储的分组。在一个实施例中,可使用这些能力的组合来识别目标分组的匹配区域。在 一个实施例中,编码节点310可以使用MODP算法或者类MODP算法来识别目标分组的匹配区域,如本领域的技术人员将理解的。例如,编码节点310可以使用2000年公布在SIGCOMM中,由N.T.Spring and D.Wetherall所著的题为“A Protocol-Independent Technique for Eliminating Redundant Network Traffic”的论文所描述的MODP算法来识别目标分组的匹配区域,通过引用的方式将其全部内容合并于此。在一个实施例中,编码节点可以使用MAXP算法或者类MAXP算法来识别目标分组的匹配区域。例如,编码节点310可使用2003年公布在SIGMOD中,由S.Schleimer,D.S.Wilkerson所著的题为“Winnowing:Local Algorithms for Document Fingerprinting”的论文所描述的MAXP算法来识别目标分组的匹配区域,通过引用的方式将其全部内容合并于此。编码节点310可以以任何其它合适的方式来识别目标分组的匹配区域。
编码节点310可以识别仅目标分组的分组报头部分内、仅目标分组的分组有效载荷部分内、或者目标分组的分组报头部分和分组有效载荷部分(即,整个分组)内的匹配区域。在一个实施例中,编码节点310可以针对报头和有效载荷使用不同的最小匹配区域大小。在一个这样的实施例中,例如,由于大部分报头的匹配区域典型地具有比有效载荷的匹配区域更小的匹配区域大小,因此,报头的最小匹配区域大小可小于有效载荷的最小匹配区域大小。这里可以将此称为差分编码。在使用滑动窗口识别匹配区域的实施例中,滑动窗口大小可符合最小匹配区域大小的特性(即,用于搜索报头内的匹配区域的窗口大小可小于用于搜索有效载荷内的匹配区域的窗口大小)。
编码节点310可以以减少编码密钥信息的量的方式将识别的匹配区域组合在一起,其中必须使用编码密钥信息以编码目标分组内的匹配区域,从而形成编码分组。这里可以将此称为基于分组的(group-based)编码。
编码节点使用编码密钥编码匹配区域。通过参考图4和图6及图7可以更好地理解使用编码密钥对目标分组的匹配区域的编码。
图4描绘了使用编码密钥编码目标分组的匹配区域以形成编码分组的 方法的一个实施例。
在步骤402,方法400开始。
在步骤404,识别目标分组和所存储的分组的匹配区域。可以任何合适的方式识别该匹配区域。该匹配区域是目标分组和所存储的分组共有的字节序列。可以以任何合适的方式执行匹配区域的标识,如上文所述的。
在步骤406,生成所存储的分组的散列值。可以使用任何合适的散列函数来生成所存储的分组的散列值。所存储的分组的散列值可以使用任何合适的信息量来表示。在一个实施例中,例如,所存储的分组的散列值使用4B值表示。
在步骤408,识别匹配区域位置信息。匹配区域位置信息包括适于由解码节点通过以下方式在从编码分组重建目标分组的过程中使用的信息:(1)识别所存储的分组的哪部分将代替编码密钥被插入编码分组以及(2)识别所存储的分组中被识别的部分(即,匹配区域)将被插入编码分组中哪儿。在一个实施例中,例如,匹配区域位置信息包括(1)指示匹配区域在所存储的分组中的偏移(即,匹配区域从所存储中的分组中的何处开始)的所存储的分组偏移值,(2)指示匹配区域在编码分组中的偏移(即,匹配区域应置于编码分组中的何处以从编码分组重建目标分组)的目标分组偏移值,以及(3)指示匹配区域的长度的匹配区域长度值。在这样的实施例中,本领域的技术人员将理解可使用匹配区域位置信息将匹配区域插入编码分组中以重建目标分组的方式。匹配区域位置信息可使用任何合适的信息量表示。在一个实施例中,例如,匹配区域位置信息使用4B值表示。匹配区域位置信息可以任何合适的方式表示(例如,使用任何合适数量的比特表示匹配区域位置信息的各个部分,以任何合适的顺序排列匹配区域位置信息等,及其组合等)。
在步骤410,为匹配区域生成编码密钥,其中编码密钥包括所存储的分组的散列值和匹配区域位置信息。编码密钥可以包括任何合适的信息量。在一个实施例中,编码密钥是8B值。在一个这样的实施例中,编码密钥的4个字节用于所存储的分组的散列值,编码密钥的4个字节用于匹配区 域位置信息。在其它实施例中,可使用更少或更多的信息来表示编码密钥和/或包括在编码密钥内的信息可以不同的方式排列(例如,使用不同的信息顺序,对编码密钥的各个部分使用不同的比特分布等,以及其组合)。
在步骤412,从目标分组中移除目标分组的匹配区域,并将编码密钥插入目标分组,这更常被称为更新目标分组。目标分组的更新可以包括更新目标分组以移除匹配区域并插入编码密钥的任何合适的方法。在一个实施例中,例如,编码密钥被插入到目标分组中的确切位置,其中匹配区域位于目标分组中的该确切位置(即,编码密钥替代分组内的匹配区域)。在一个实施例中,例如,编码密钥没有被插入目标分组中的确切位置,其中匹配区域位于目标分组中的该确切位置;而是,编码密钥可以被插入目标分组中的任何位置(例如,所有编码密钥被插入目标分组的有效载荷部分的开始处或者邻近开始处,紧跟着是目标分组的没有被编码的其余部分;所有编码密钥被插入目标分组的有效载荷部分的结尾处或邻近结尾处,在其之前是目标分组的没有被编码的其余部分;或者在目标分组内使用编码密钥的任何其它合适的替代)。
在步骤414,方法400结束。
尽管描绘和描述为结束,但应理解,可对于目标分组的每个匹配区域重复方法400的至少一部分以形成目标分组的编码分组。
编码节点310可以任何合适的方式格式化编码分组。
在一个实施例中,例如,编码节点310可以在编码分组内对编码分组包括一个或多个编码密钥的指示进行编码,从而使得解码节点320能够区分在解码节点320处接收的编码和非编码分组。在一个这样的实施例中,例如,编码节点310可以以指示该分组为相对于非编码分组的编码分组的方式设置编码分组的一个或多个比特。
在一个实施例中,例如,编码节点310可以以适合由解码节点320在识别编码分组内的编码密钥时使用的方式安排编码分组内的编码密钥。在一个这样的实施例中,例如,编码节点可以安排编码分组以便有效载荷的第一字节包括指示包括在编码分组内的编码密钥的数目的值,有效载荷的 接下来X个字节包括编码密钥,并且该分组的其余字节包括目标分组的所有未编码信息。在另一这样的实施例中,例如,编码节点310可以安排编码分组内的编码密钥以便编码分组的报头包括指示包括在编码分组内的编码密钥的数目的值,有效载荷的最初X个字节包括编码密钥,并且该分组的其余字节包括目标分组的所有未编码信息。在这样的实施例中,应理解的是,可使用任何合适数目的比特来指示包括在编码分组内的编码密钥的数目。应理解,这种安排只是示例性的,并且可以使用任何其它合适的安排(例如,使用任何其它合适数目的比特来表示值,使用信息安排的不同顺序等,及其组合)。
编码节点310将编码分组传送给解码节点320。编码节点310可以任何合适的方式将编码分组传送给解码节点320,其可以取决于与编码节点310关联的元件的类型。
尽管为了清楚的目的省略了,但应理解,编码节点310可以执行支持业务冗余度压缩能力的其它功能。
例如,编码节点310保持分组高速缓存316。编码节点310可以更新分组高速缓存316以包括目标分组(或者确定是否包括目标分组,例如,其中不使用FIFO方案实现用于识别冗余内容的分组的存储)。可在任何合适时间并以任何合适方式将目标分组添加到分组高速缓存316中。在一个实施例中,例如,当分组高速缓存316为满时,在分组高速缓存316中最旧的分组从分组高速缓存316中移除之后将目标分组添加到分组高速缓存316中。在一个实施例中,例如,当分组高速缓存326为满时,通过使用目标分组替换已被访问(reference)最少次数的所存储的分组来将目标分组添加到分组高速缓存326中。此策略也称为最不常用(LFU)高速缓存替换。在一个实施例中,例如,当分组高速缓存316为满时,通过使用目标分组替换确定为最不可能包括将匹配将来的目标分组的区域的信息的分组的所存储的分组来将目标分组添加到分组高速缓存316中。可以以任何其它合适的方式保持分组高速缓存316。
例如,当使用指纹识别技术来识别目标分组的匹配区域时,编码节点 310保持指纹高速缓存317。指纹高速缓存317可以被更新以包括来自各个目标分组或者至少来自目标分组的子集的指纹。可以在任何合适的时间并以任何合适的方式将目标分组的指纹添加到指纹高速缓存317。
编码节点310可以执行支持业务冗余度压缩能力的其它功能。
如图3中所描绘的,解码节点320执行支持业务冗余度压缩能力的分组解码功能。
解码节点320经由通信路径315从编码节点310接收分组。解码节点320对从编码节点310接收的每个所接收的分组执行处理,以确定所接收的分组是否为编码分组。解码节点320可以以任何合适的方式确定所接收的分组是否为编码分组。在一个实施例中,解码节点320可以通过检查每个所接收的分组中的指示符来确定所接收的分组是否为编码分组。例如,每个分组内可包括专用比特,使得编码节点310能够向解码节点320指示目标分组是否已被编码(例如,“0”值指示未编码并且“1”值指示编码,反过来也一样)。在一个实施例中,解码节点320可以通过检测所接收的分组内一个或多个编码密钥的存在来确定所接收的分组是否为编码分组。解码节点320可以以任何其它合适的方式来确定所接收的分组是否为编码分组。如果所接收的分组不是编码分组,则解码节点320不需要执行解码功能来重建目标分组(即,所接收的分组是目标分组)。如果所接收的分组是编码分组,则解码节点320执行解码功能以从编码分组重建目标分组。
解码节点320识别包括在编码分组内的编码密钥。
解码节点320可以以任何合适的方式识别编码分组的编码密钥。
在一个实施例中,例如,解码节点320可以基于对每个编码密钥的大小的了解和对控制编码节点310在分组内安排编码密钥的方式的了解来识别编码密钥。在一个这样的实施例中,例如,编码节点310可以在编码分组内安排编码密钥以便有效载荷的第一个字节包括指示包括在编码分组内的编码密钥的数目的值,有效载荷的接下来X个字节包括编码密钥,并且分组的其余字节包括目标分组的所有未编码信息。在另一这样的实施例中,例如,编码节点310可以在编码分组内安排编码密钥以便编码分组的报头 包括指示包括在编码分组内的编码密钥的数目的值,有效载荷的最初X个字节包括编码密钥,并且分组的其余字节包括目标分组的所有未编码信息。在这样的实施例中,基于对编码密钥的大小的了解和对控制编码节点310在分组内安排编码密钥的方式的了解,解码节点320可以识别编码密钥。作为示例,编码分组的有效载荷的第一字节可以是指示包括在分组内的编码密钥的数目的值,并且编码密钥可以然后紧跟着编码分组的有效载荷部分的第一字节(例如,当编码密钥每个为8B值并且当编码分组的有效载荷部分的第一字节为指示编码分组包括十个编码密钥的值时,解码节点320将知道有效载荷的第二到第九字节包括第一编码密钥,有效载荷的第十到第十七字节包括第二编码密钥,等等,而有效载荷的未编码部分从有效载荷的第八十一字节开始)。应理解的是,可使用任何合适数目的比特来指示包括在编码分组内的编码密钥的数目(其可基于,例如,诸如最小匹配区域大小的因素,其将影响可由编码节点310识别的匹配区域的数目,并因此影响可包括在编码分组内的编码密钥的数目;例如,对于8B的最小匹配区域大小(例如,在MODP算法和类MODP算法中,w=8),匹配的数目可以编码在单个字节中)。应理解,指示包括在编码分组内的编码密钥的数目的值可以置于编码分组内的任何其它合适的位置(例如,报头内,作为有效载荷的字节等,以及其组合)。尽管主要关于解码节点320使用包括在编码分组内的值确定编码分组的编码密钥的数目的实施例进行描绘和描述,但应理解,解码节点320可以以任何其它合适的方式确定编码分组的编码密钥的数目。应理解的是,这种安排只是示例性的,并且可以使用任何其它合适的安排(例如,使用任何其它合适数目的比特来表示值,使用信息安排的不同顺序等,及其组合)。
在一个实施例中,例如,解码节点320可以通过以识别编码密钥的方式分析编码分组来识别编码密钥。在一个这样的实施例中,例如,可以以使得能够对编码密钥进行标识的方式来标记每个编码密钥。
解码节点320可以以任何其它合适的方式来识别编码分组的编码密钥。
解码节点320使用包括在编码分组内的编码密钥从编码分组重建目标分组。对于编码分组的每个编码密钥,解码节点320使用编码密钥来获取关联的所存储的分组(多个所存储的分组中包括被编码密钥编码的匹配区域的一个所存储的分组),通过识别匹配区域在所存储的分组内的位置从所存储的分组获得匹配区域,从编码分组移除编码密钥,并将所存储的分组的匹配区域插入编码分组中的在目标分组被编码之前匹配区域在目标分组内的原始位置。这样,解码节点320从编码分组重建目标分组。通过参考图5和图6及图7可以更好地理解使用编码分组的编码密钥从编码分组对目标分组的重建。
图5描绘了使用编码分组的编码密钥对编码分组进行解码的方法的一个实施例。
在步骤502,方法500开始。
在步骤504,识别编码分组的编码密钥。可以以任何合适的方式识别编码分组的编码密钥。
在步骤506,确定编码分组的编码密钥,即,确定编码密钥的值。可以以任何合适的方式确定编码分组的编码密钥。编码密钥对匹配区域进行编码,其为从其生成编码分组的目标分组与所存储的分组共有的信息序列(即,先前从编码节点传送给解码节点,并且由编码节点和解码节点两者存储的分组)。可以以任何合适的方式识别编码密钥,如此处描述的。
在步骤508,从编码密钥确定所存储的分组的散列值。在一个实施例中,所存储的分组的散列值是8B编码密钥的最开始四个字节。如此处描述的,所存储的分组的散列值可以使用更少或更多信息(例如,少于或多于4B)表示和/或可以位于编码密钥内的不同位置。所存储的分组是包括由编码密钥编码的匹配区域的参考分组(即,由编码和解码节点存储的分组)之一。
在步骤510,使用所存储的分组的散列值获取所存储的分组。在一个实施例中,解码节点保持散列表,对于由解码节点所存储的每个分组,散列表包括包含所存储的分组的散列值和所存储的分组在分组高速缓存中的 位置的指示的条目。在该实施例中,从编码密钥确定的所存储的分组的散列值用作进入散列表的密钥,以识别和获取与所存储的分组的散列值关联的所存储的分组。在该实施例中,编码节点可以使用任何合适的散列函数来生成列入(for inclusion within)编码密钥的所存储的分组的散列值,解码节点使用同一散列函数以生成散列表的条目。
在步骤512,从编码密钥确定匹配区域位置信息。如此处所描述的,匹配区域位置信息包括适于由解码节点通过以下方式在从编码分组重建目标分组的过程中使用的信息:(1)识别所存储的分组的哪部分将作为编码密钥被插入编码分组以及(2)识别所存储的分组中被识别的部分(即,匹配区域)将被插入编码分组中哪儿。在一个实施例中,例如,匹配区域位置信息包括(1)指示匹配区域在所存储的分组中的偏移(即,匹配区域从所存储中的分组中的何处开始)的所存储的分组偏移值,(2)指示匹配区域在编码分组中的偏移(即,匹配区域应置于编码分组中的何处以从编码分组重建目标分组)的目标分组偏移值,以及(3)指示匹配区域的长度的匹配区域长度值。在这样的实施例中,本领域的技术人员将理解可使用匹配区域位置信息将匹配区域插入编码分组的方式。匹配区域位置信息可使用任何合适的信息量表示。在一个实施例中,例如,匹配区域位置信息使用4B值表示。匹配区域位置信息可以任何合适的方式表示(例如,使用任何合适数目的比特表示匹配区域位置信息的各个部分,以任何合适的顺序排列匹配区域位置信息等,及其组合等)。
在步骤514,使用匹配区域位置信息确定所存储的分组的匹配区域。对所存储的分组的匹配区域的确定包括对匹配区域在所存储的分组中的位置的标识和对匹配区域的值的确定,以便其可被插入编码分组以重建目标分组。在一个实施例中,例如,使用包括(1)指示匹配区域在所存储的分组中的偏移(即,匹配区域从所存储中的分组中的何处开始)的所存储的分组偏移值以及(2)指示匹配区域的长度的匹配区域长度值的匹配区域位置信息确定所存储的分组的匹配区域。使用所存储的分组偏移值和匹配区域长度值以确定匹配区域的值将被本领域的技术人员理解。例如,匹配区 域位置信息可以指示与编码密钥关联的匹配区域从所存储的分组的第100个字节处开始并且为28个字节长,这样所存储的分组的匹配区域被确定为基于所存储的分组的散列值识别的所存储的分组的100-127字节。
在步骤516,使用匹配区域位置信息将来自所存储的分组的匹配区域插入编码分组。
在匹配区域插入点将匹配区域插入编码分组,匹配区域插入点是在使用编码密钥对目标分组进行编码之前匹配区域在目标分组内的位置。使用匹配区域位置信息确定匹配区域在编码分组内的匹配区域插入点。在一个实施例中,例如,使用包括(1)指示匹配区域在编码分组中的偏移(即,匹配区域应置于编码分组中的何处以从编码分组重建目标分组)的目标分组偏移值以及(2)指示匹配区域的长度的匹配区域长度值的匹配区域位置信息来确定编码分组的匹配区域插入点。使用目标分组偏移值和匹配区域长度值将匹配区域插入编码分组的合适位置将被本领域的技术人员理解。例如,匹配区域位置信息可以指示与编码密钥关联的匹配区域应插入编码分组的第120个字节处并且为28个字节长,这样所存储的分组的匹配区域被插入编码分组的120-147字节。
在编码密钥已从编码分组中移除(例如,其中在接收到编码分组时从编码分组提取密钥)的一个实施例中,匹配区域被插入编码分组而没有任何对应的对关联的编码密钥的移除。
在编码密钥还未从编码分组中移除的一个实施例中,从编码分组移除编码密钥,并将匹配区域插入编码分组。可以任何合适的方式执行从编码分组对编码密钥的移除。类似地,可以任何合适的方式执行匹配区域到编码分组的插入。在一个实施例中,例如,匹配区域被插入目标分组中的确切位置,其中编码密钥位于编码分组中的该确切位置。在一个实施例中,例如,匹配区域没有被插入编码分组中的确切位置,其中编码密钥位于编码分组中的该确切位置(例如,诸如其中所有编码密钥位于编码分组的开始处,所有编码密钥插入在编码分组的结尾处,等)。
在步骤518,方法500结束。
尽管描绘和描述为结束,但应理解,可对于编码分组的每个编码密钥重复方法500的至少一部分以重建从其形成编码分组的目标分组。
然后解码节点320可以任何合适的方式处理重建的目标分组。例如,解码节点320可以存储目标分组、传送目标分组等、及其组合。
尽管为了清楚的目的省略了,但应理解,解码节点320可以执行支持业务冗余度压缩能力的其它功能。
解码节点320保持分组高速缓存326。解码节点320可以更新分组高速缓存326以包括重建的目标分组(或者确定是否包括重建的目标分组,例如,其中不使用FIFO方案实现用于识别冗余内容的分组的存储)。可在任何合适时间并以任何合适方式将目标分组添加到分组高速缓存326中。在一个实施例中,例如,当分组高速缓存326为满时,在分组高速缓存326中最旧的分组从分组高速缓存326中移除之后将目标分组添加到分组高速缓存326中。在一个实施例中,例如,当分组高速缓存326为满时,通过使用目标分组替换已被访问最少次数的所存储的分组来将目标分组添加到分组高速缓存326中。此策略也称为最不常用(LFU)高速缓存替换。在一个实施例中,例如,当分组高速缓存326为满时,通过使用目标分组替换确定为最不可能包括将匹配将来的目标分组的区域的信息的分组的所存储的分组来将目标分组添加到分组高速缓存326中。可以以任何其它合适的方式保持分组高速缓存326。
解码节点320保持散列表328,对于存储在分组高速缓存326中的每个分组,散列表328包括所存储的分组的散列值和所存储的分组在分组高速缓存326中的位置的指示,这样当需要时可从分组高速缓存326中获取所存储的分组。在存储从编码分组重建的目标分组时,解码节点320使用编码节点310用于生成目标分组的散列值的同一散列函数来生成重建的目标分组的散列值。解码节点320在分组高速缓存326中存储重建的目标分组。解码节点还在散列表328中创建包括重建的目标分组的散列值和重建的目标分组存储在分组高速缓存326中的位置的指示的条目。
解码节点320可以执行支持业务冗余度压缩能力的其它功能。
如此处描述的,可以在任何合适类型的网络中实现业务冗余度压缩能力,因此,编码节点310和解码节点320可以部署在许多不同类型的网络中的节点的许多不同组合上。例如,在图1的示例性CDMA 3G1x-EVDO网络中,编码节点310可以是MS 120且解码节点320可以是RNC 114,编码节点310可以是MS 120且解码节点320可以是PDSN 116,编码节点310可以是HA 118且解码节点320可以是PDSN 116等,及其组合。例如,在UMTS网络中,编码节点310可以是MS且解码节点320可以是RNC,编码节点310可以是MS且解码节点320可以是SGSN,编码节点310可以是GGSN且解码节点320可以是SGSN等。例如,在LTE网络中,编码节点310可以是MS且解码节点320可以是PGW,编码节点310可以是SGW且解码节点320可以是PGW等。
尽管主要关于传输的一个方向进行描绘和描述,但应理解的是,在一些实施例中,业务冗余度压缩能力部署在传输的两个方向中。在这样的实施例中,提供双向业务冗余度压缩能力的两个网络元件每个都包括编码节点310和解码节点320的能力。在这样的实施例中,可以以任何合适的方式实现提供双向业务冗余度压缩能力的两个节点。在一个这样的实施例中,例如,提供双向业务冗余度压缩能力的两个网络元件可以包括处理分组的编码的第一组资源和处理分组的解码的第二组资源。在一个这样的实施例中,例如,提供双向业务冗余度压缩能力的两个网络元件可以使用共有的资源组处理分组的编码和分组的解码(例如,两个网络元件中每一个均包括处理器、分组高速缓存、散列表,以及可选地,指纹高速缓存)。应理解的是,提供双向业务冗余度压缩能力的两个网络元件可以以任何适于支持在不同的方向移动的分组的编码和分组的解码的方式实现。
图6描绘了图示了关于图3-图5描绘和描述的业务冗余度压缩能力的一个实施例的高级框图。
如图6中所描绘的,在编码节点处识别目标分组与所存储的分组共有的匹配区域(如双向影线所指示的)。匹配区域在目标分组内的特定位置处,由目标分组偏移值指示。匹配区域也位于所存储的分组内的特定位置 处,由所存储的分组偏移值指示。如此处描述的,可以使用任何合适的参考点来指示匹配区域偏移值(例如,从距离分组开始的多个字节处,从距离有效载荷开始的多个字节处等)。匹配区域还具有与其关联的长度。为目标分组的匹配区域生成编码密钥。可以以任何合适的方式实现编码密钥。在一个实施例中,如图6中所描绘的及此处所描述的,编码密钥为8B值,其包括:(1)4B值为所存储的分组的散列值,以及(2)4B值包括匹配区域位置信息,其包括所存储的分组偏移值、目标分组偏移值和匹配区域长度值。将匹配区域从目标分组中移除并将编码密钥插入目标分组中从而形成编码分组,然后将编码分组传送给解码节点。
如图6中所描绘的,在解码节点处,从编码节点接收编码分组,识别编码密钥并将编码密钥从编码分组中移除,并使用编码密钥重建目标分组。编码密钥包括所存储的分组的散列值,其用作进入存储在解码节点上的散列表的密钥。与所存储的分组的散列值关联的散列表的条目包括所存储的分组在解码节点上的分组高速缓存内的位置。从分组高速缓存中获取所存储的分组。使用来自编码密钥的匹配区域位置信息的所存储的分组偏移值和匹配区域长度值来识别所存储的分组内的匹配区域。使用来自编码密钥的匹配区域位置信息的目标分组偏移值和匹配区域长度来识别匹配区域将插入编码分组内以重建目标分组的插入位置。然后在插入位置将来自所存储的分组的匹配区域插入编码分组中,从而再现被编码节点编码的目标分组。
如此处所描述的,在一个实施例中,使用4B值表示编码密钥的匹配区域位置信息,并且可以以任何合适的方式在该4B值内表示匹配区域位置信息。
在一个实施例中,利用分组长度小于1500字节的事实,可以基于匹配区域的长度在4B值内执行对匹配区域位置信息(即,所存储的分组偏移值、目标分组偏移值以及匹配区域长度)的编码。
在一个这样的实施例中,可以基于匹配区域的长度执行在4B值内对匹配区域位置信息的编码如下(其中三个值的所有组合落入下列情况之 一):
(1)如果匹配区域长度小于512B(长度<512B),则可使用9比特来编码匹配区域长度。这种情况下,两个偏移都小于1500B,并且因此两个偏移值每个都可以使用11比特编码。因此,在这种情况下,匹配区域位置信息的三个值的总需求为31比特。
(2)如果匹配区域长度大于或等于512B并小于1024B(即,512B≤长度<1024B),则可使用10比特来编码匹配区域长度。这种情况下,两个偏移都必须小于1024B,并且因此两个偏移值每个都可以使用10比特编码。因此,在这种情况下,匹配区域位置信息的三个值的总需求为30比特。
(3)如果匹配区域长度大于或等于1024B(即长度≥1024B),则可使用11比特来编码匹配区域长度。这种情况下,两个偏移都必须小于512B,并且因此两个偏移值每个都可以使用9比特编码。因此,在这种情况下,匹配区域位置信息的三个值的总需求为29比特。
在该实施例中,可以使用4B值的备用比特来区分三种情况,这样解码节点可知道编码密钥的哪些比特对应于匹配区域位置信息的哪些值。应理解,可以以任何合适的方式使用4B值的备用比特来区分三种情况(例如,通过将备用比特放在4B值内的任何合适的位置,使用适于使得解码节点在处理编码密钥以重建目标分组时能够区分三种情况的比特值的任何组合等)。在一个实施例中,例如,情况标识比特位于4B值的开始处并设置如下:
(a)为表示上述情况(1),4B值的第一比特设置为0,并且4B值的接下来31个比特用于表示匹配区域位置信息的三个值;
(b)为表示上述情况(2),4B值的第一比特设置为1,4B值的第二比特设置为0,并且4B值的接下来30个比特用于表示匹配区域位置信息的三个值;以及
(c)为表示上述情况(3),4B值的第一比特设置为1,4B值的第二比特设置为1,4B值的第三比特设置为0,并且4B值的接下来29个比特用于表示匹配区域位置信息的三个值。
如此处所描述的,可以以任何合适的方式表示情况标识比特和匹配区域位置信息的三个值(例如,使用其他值作为情况标识比特,使用4B值内的比特/值的其它排列等,及其组合)。
在一个实施例中,如此处主要关于图3-图5所描绘和描述的,独立于目标分组的其它匹配区域编码目标分组的每个匹配区域。然而,如此处描述的,在一个实施例中,可以使用基于分组的(group-based)编码来执行对目标分组的匹配区域的编码,其中以减少用于编码目标分组的匹配区域的编码密钥信息的量的从属(dependent)方式对目标分组的多个匹配区域进行编码。在一个这样的基于分组的编码的实施例中,当多个连续的匹配区域与同一存储分组关联时,对于多个匹配区域,所存储的分组的散列值仅被编码一次,然后对于每个匹配区域编码匹配区域位置信息。在一个这样的基于分组的编码的实施例中,其中使用包括4B所存储的分组的散列值和4B值为匹配区域位置信息的8B值对匹配区域的编码密钥进行编码,用于编码与同一分组关联的N个连续匹配区域的编码信息的量可从(8N)B减少至(4+4N)B。
通过在可以实现业务冗余度压缩能力的特定环境(例如,3G蜂窝环境)的情景中和在用于识别目标分组的匹配区域的特定算法(例如,MODP算法)的情景中分析业务冗余度压缩能力可以更好地理解业务冗余度压缩能力。
关于可以实现业务冗余度压缩能力的特定环境,为了在蜂窝无线网络中更好地理解业务冗余度压缩能力的使用,对大型3G无线业务跟踪(trace)分析业务冗余。在北美CDMA网络中收集3G无线业务跟踪。该跟踪捕获在24小时期间在PDSN和RNC之间传输的所有分组,包括3G1X-RTT(144Kbps的峰值速率)与3G1X-EVDO业务(2.4Mbps的峰值速率)的结合。在3G无线业务跟踪中,确定了59%的业务使用TCP协议,36%的业务使用UDP协议,1%的业务使用ESP协议(例如,由ESP协议承载的加密的VPN业务),2%的业务使用非IP协议,以及3%的业务落入其它协议类别中。小百分比的业务使用ESP协议对于部署业务 冗余度压缩能力是有效的,因为由ESP协议承载的VPN业务已被加密,因此,不可能包括很多重复的内容。从对3G无线业务跟踪的分析确定了,对于超过80%的移动订户来说,使用8B的最小匹配区域大小发送和接收的一半字节是冗余的。在3G无线业务跟踪中还确定了大约80%的移动订户呈现50%的冗余比,大约20%的移动订户呈现超过95%的冗余比。在跟踪中,还确定了对于80%的分组,报头占超过整个分组大小的20%。这些以及从3G无线业务跟踪的其它发现提供了对业务冗余度压缩能力的实现和部署的洞察。
关于用作识别目标分组的匹配区域的特定算法,在一个实施例中,可以使用MODP算法的至少一部分来识别目标分组的匹配区域。
在MODP算法中,对于每个目标分组,算法识别也存在所存储的分组内的连续的字节序列。该算法通过生成与目标分组关联的一列指纹来识别连续的字节序列。指纹是长度为w的连续的字节序列的散列值。由于生成和存储目标分组的所有指纹(其数量为目标分组的大小的数量级)不现实,仅生成和存储潜在指纹的一部分(1/p)。通常,这可以通过仅考虑那些具有满足对p取模余数为0的值的指纹来实现,从而允许指纹的选取独立于其在目标分组内的偏移。在该算法中,发送节点和接收节点各采用分组高速缓存和指纹高速缓存,其中分组高速缓存包括由发送/接收节点发送/接收的分组,指纹高速缓存包括与存储在分组高速缓存中的分组关联的指纹。对于将从发送节点传送的目标分组,发送节点计算(大小为w的)目标分组的指纹并使用所计算的指纹在指纹高速缓存中搜索匹配。对于匹配指纹高速缓存的指纹之一的目标分组的每个指纹,指纹高速缓存的关联的条目提供指纹与所存储的哪个分组关联的指示,从而发送节点可从分组高速缓存获取关联的所存储的分组。然后发送节点通过在分组的两个方向逐字节扩展匹配区域来确定目标分组和所获取的分组共有的最长匹配区域。然后将目标分组的最长匹配区域从目标分组中移除,并将关联的密钥插入目标分组以由接收器用于重建目标分组。匹配区域的密钥包括包含匹配区域的所存储的分组的分组标识符。对于在接收节点处接收的编码分组,接 收节点通过识别包括在编码分组内的密钥、将密钥从编码分组中移除以及将密钥表示的各自的匹配区域插入编码分组来从编码分组重建关联的目标分组。对于包括在编码分组中的每个密钥,接收节点使用密钥的分组标识符获取包括将被插入编码分组中以取代该密钥的匹配区域的所存储的分组。为了确保绝对精确,在发送节点和接收节点处的分组高速缓存必须一致。
从MODP算法的上述描述显而易见的是,具有一些与对冗余内容进行编码以降低冗余关联的密钥参数:即,窗口大小(w),所存储的指纹的部分(1/p),以及用于编码匹配区域的编码密钥的大小。此外,蜂窝无线业务的特性可以提供可以在蜂窝无线网络内实现业务冗余度压缩能力的方式的洞察。为了更好地理解这种参数和特性,首先考虑理想情况,然后放宽与理想情况关联的假设以确定所产生的对参数和特性的影响。
在理想情况中,使用下列假设:(1)编码密钥的大小为0,并且对于每个分组,从分组中移除关于所存储的分组为冗余的至少两个字节的每个序列(即,w=2);(2)分组高速缓存的大小为无穷大,从而确保具有重叠内容的所有分组对被识别,无论分组间的距离大小;(3)指纹存储器的大小无穷大,从而使得能够存储所有分组的所有指纹;以及(4)从发送节点到接收节点的传送中没有分组丢失,从而发送节点和接收始终完全同步。使用这种理想冗余消除算法可获得的带宽节省的上限称为最优冗余比,其为冗余业务的总量除以业务的总量的比。在3G无线业务跟踪中,确定了大约80%的用户呈现50%的冗余比,大约20%的用户呈现超过95%的冗余比。从3G无线跟踪的分析还确定了不仅对分组的有效载荷中出现的匹配区域进行编码有益,而且对分组的报头中出现的匹配区域进行编码具有重要益处(例如,对3G无线业务跟踪的分析指示实际上所有用户具有超过70%的关于分组报头的冗余比,从而指示分组报头提供了提高冗余比的很好机会)。从3G无线跟踪的分析还确定了对分组的报头中出现的匹配区域进行编码具有重要益处,即使在没有考虑分组报头时冗余比仍然很高(例如,即使在不考虑分组报头时,大约一半的用户仍然具有至少70%的 冗余比)。应理解,上述结果意味着冗余消除技术显著地减少蜂窝无线网络中业务量的可能性。
在确定有多少存在于蜂窝业务中的最优冗余能够转换为实际的带宽节省时,有必要移除最优冗余所基于的假设以获得相当于实际带宽节省的实际冗余。这可以通过考虑被下列三个因素影响的实际冗余来完成:编码匹配区域的成本、有限的内存的影响以及高速缓存一致性的成本。
关于编码的成本,使用编码密钥对每个匹配区域进行编码(例如,在编码节点处,目标分组中至少最小大小的字节的每个冗余序列被适于在解码节点处重建目标分组中使用的更小字节序列代替),其中编码密钥的长度是为了减少冗余引起的成本。通常,理想的编码密钥是尽可能小的并且肯定不大于其编码的匹配区域的大小。在MODP算法中,使用12B密钥来编码至少大小为w的字节的每个冗余序列,其中12B密钥包括识别与字节的冗余序列对应的指纹的8B值和用于识别序列的偏移和序列的长度的4B值。在分析3G无线业务跟踪中,已确定具有比长度12B的匹配区域多大约10倍的长度8B的匹配区域,因此,具有小于12B的编码密钥将显著提高冗余消除。在一个实施例中,如此处描述的,用于业务冗余度压缩能力中的编码密钥为8B值。在一个这样的实施例中,例如,使用8B编码密钥的前四个字节编码所存储的分组的散列值,使用8B编码密钥的后四个字节编码适用于从编码分组重建目标分组的匹配区域位置信息。如此处所描述的,可以以任何合适的方式排列8B编码密钥的信息。因此,具有与使用非零编码密钥关联的成本。如此处描述的,可在理想情况(例如,没有编码成本)中实现的带宽节省的度量是最优冗余比。然而,在现实世界情况中(例如,编码成本),可以实现的更好的带宽节省度量是压缩比,其为应用冗余消除之前的业务量与应用冗余消除之后的业务量之间的比。应理解,现实世界情况中实现的带宽节省小于理想情况指示的带宽节省。在一个实施例中,如上所述,通过使用差分编码提高实现的带宽节省。在一个实施例中,例如,由于已从3G无线业务跟踪确定大部分报头的匹配区域具有小于16B的长度(即,使用大于16的窗口大小w的任何编码将 不捕获这些区域中的冗余),差别编码可对报头使用w=8并对有效载荷使用较大值的窗口大小w(例如,w=32,w=64,或其它合适的大小)。在一个实施例中,如上所述,通过使用基于分组的编码来降低编码的成本提高了所实现的带宽节省。
关于有限的内存的影响,应理解,内存通常为移动设备的稀缺商品(例如,大部分能够访问因特网的电话具有最多256MB的内置(installed)RAM)。在使用指纹识别技术的RE算法中,内存存储至少被指纹高速缓存和分组高速缓存所需要。在冗余消除的有效性和提供冗余消除可用的内存的量之间权衡(例如,存储太少的分组和/或指纹将减少可被识别和消除的冗余信息量,而存储太多分组和/或指纹将快速耗尽移动设备的有限内存并影响运行在移动设备上的其它应用)。这样,在移动设备上部属业务冗余度压缩能力的过程中,必须均衡这些对抗因素。
指纹高速缓存包括来自存储在分组高速缓存中的分组的指纹。由于存储发送和接收的所有分组的所有可能的指纹不现实,仅存储由参数p和w的值确定的所选择的一些可能的指纹,其中p指示指纹频率(即,指纹被存储的频率),w表示窗口大小(即,指纹在其上计算的信息序列的大小,例如,以字节计算)。
关于指纹频率,仅存储指纹的一部分(如由1/p给定的)。如本领域的技术人员将理解的,可以以任何合适的方式执行对存储哪些指纹的选择(例如,诸如通过仅存储那些具有满足对p取模余数为0的值的指纹)。P的值影响压缩比和指纹高速缓存的大小。例如,在3G无线业务跟踪中,p被设置为64、128或256时的压缩比比p被设置为最多32时低得多。这是由被存储的指纹的降低的数目导致的(例如,对于265B的平均分组大小,每个分组分别大约4、2或1个指纹)。例如,在3G无线业务跟踪中,当p被设置为32或16时,实现更好的压缩比。虽然在提供最优压缩比时p=16将是比p=32更好的选择,但p=16和p=32时压缩比之间的差别很小,因此,p=32可能是更好的选择,因为其具有需要存储更少数量的指纹以交换所检测的冗余中的较小损失的益处。
关于窗口大小,窗口大小表示指纹在其上进行计算的信息序列的大小,因此,还定义了最小匹配的大小。应理解,更小的窗口大小将导致对更多匹配的标识,然而,大部分匹配都很短,因此,跟较大的匹配相比节省了较少的字节。例如,使用8B编码密钥,10字节的匹配仅节省了2个字节,而100字节的匹配节省了92个字节。因此,窗口大小影响内存需求和压缩比。关于内存需求,即使由移动设备通过考虑其位置在分组中为至少相隔w字节的指纹(即,不重叠),使用8B的窗口大小也是完全可行的。例如,通过对3G无线业务跟踪的分析已确定,在一天中具有最高业务量的跟踪的30分钟区间中,大部分用户各自生成最多20000个指纹,这样,如果每个指纹具有8B,则大部分用户可在大约160KB(20000×8B)中存储所有指纹。此外,即使用户的生命周期延伸超过3G无线业务跟踪的30分钟期间,一整天之后用户的指纹存储将仍然只有8MB(这对具有至少164MB的内存的移动设备来说是合理的)。关于压缩比,通过对3G无线业务跟踪的分析已确定,8B的窗口大小提供了3G无线业务跟踪的情景内最好的压缩比。因此,通过对3G无线业务跟踪的分析已确定,使用8B的窗口大小使得能够对有效载荷和报头两者中的重复内容进行编码,而没有显著地增加所需的内存量。在3G无线业务跟踪的情景中,使用更小的窗口大小将导致比用于对其进行编码的8B更小的匹配(因此,将不帮助减少业务),并且使用较大的窗口大小将显著地减小压缩比。应理解,虽然8B的窗口大小似乎给出了3G无线业务跟踪环境的情景内的最好结果,但是可以使用任何合适的窗口大小,并且进一步地,其它窗口大小可以在其它环境中(例如,使用同一网络,其中该网络传输不同类型的业务、使用其它类型的无线或有线网络等、以及其各种组合)提供最优压缩比。
这样,从前述描述,应理解,基于诸如业务类型、网络类型、可用内存等、以及其组合的因素可以使用指纹频率和窗口大小的任何合适的值。
编码节点和解码节点上的分组高速缓存存储用于提供业务冗余度压缩能力的分组。关于分组存储的目标是存储不太少(太少将减小压缩比,因为将具有较少的用于识别冗余信息的参考分组)也不太多(太多将需要不 现实的内存量以存储所有分组,例如,诸如当分组高速缓存存储在移动设备上时)的许多分组P。
在使用FIFO方案实现分组高速缓存的一个实施例中,可以使用时间局部性(temporal locality)能力提高对分组高速缓存的管理。在FIFO方案中,分组高速缓存中的每个分组具有与其关联的索引,并且存储在分组高速缓存中的每个新目标分组驱逐由分组高速缓存中的分组的索引确定的分组高速缓存中的最旧分组。通过捕获分组高速缓存中的两个分组之间的时间局部性,通过将两个分组之间的间距定义为分组高速缓存中的两个分组的索引之间的差分(difference)可以提高对分组高速缓存的管理。分组之间的时间局部性提供新分组是否更可能具有与最近的分组或更旧的分组一样的序列的指示。在分析3G无线业务跟踪的分组之间的时间局部性的过程中,已确定对于少于1%的用户来说,第90位百分位高速缓存间距超过(over)1000个分组,对于大约25%的用户来说,第90位百分位高速缓存间距超过100个分组,从而指示将需要至少1000个分组的高速缓存,以使冗余消除对99%的用户有效。例如,对于300B的平均分组大小,这转换为30分钟期间每用户300KB的分组高速缓存大小,这即使对移动设备也是很合理的。此外,在分析3G无线业务跟踪的分组之间的时间局部性的过程中,已确定对于大约75%的用户来说,平均时间间隔为最多5个分组,从而指示对于这些用户来说,大约一半的分组使用最近的分组进行编码。根据对3G无线业务跟踪的该分析应理解的是,如果从编码节点传送到解码节点的最近的分组丢失,很难及时恢复分组以避免根据要求对重传的激活。因此,在一个实施例中,分组高速缓存内的分组的时间局部性可用于提供关于图7描绘和描绘的主动重传能力。尽管主要关于使用分组的索引提供时间局部性能力来描绘和描述,但应理解的是,可以使用分组的时间戳代替分组的索引来提供时间局部性能力,然而,对时间戳的使用可使结果倾向于具有稀缺业务的用户。
尽管主要在MODP算法的情景中描绘和描述并因此主要关于MODP算法的特定参数(例如,窗口大小w和指纹频率1/p)描绘和描述,但应 理解,可修改前面对业务冗余度压缩能力的分析以考虑可与在目标分组中查找匹配区域关联的其它参数(例如,在使用滑动窗口识别目标分组的匹配区域时,可使用不特定于MODP的更通用的窗口大小,在使用非基于指纹的匹配技术执行对目标分组的匹配区域的标识时,可使用除了指纹频率之外的一个或多个参数,等等,以及其组合)。
如此处所描述的,通常编码节点与解码节点之间的分组丢失可对冗余消除具有显著影响,包括对此处描绘和描述的业务冗余度压缩能力的影响。在编码节点和解码节点之间的链路上的分组丢失引起了保持在编码节点和解码节点上的分组高速缓存中的不一致性。这导致目标分组被编码节点使用编码密钥编码,编码密钥指向解码节点在重建目标分组的过程中不可获得的参考分组(即,由于解码节点从未接收参考分组,因此从未对其进行存储)。
使用一个或多个适于减小分组丢失对冗余度压缩的影响的能力可以减小分组丢失对冗余度压缩的影响,诸如通过使用一个或多个主动重传能力、分组高速缓存管理能力、反应性(reactive)标记能力等、以及其各种组合。
在一个实施例中,通过提供配置为提高保持在编码节点和解码节点上的分组高速缓存之间的高速缓存一致性的主动重传能力减小了分组丢失对冗余度压缩的影响。
图7描绘了提供用于保持编码节点和解码节点上的分组高速缓存之间的高速缓存一致性的主动重传能力的方法的一个实施例。
在步骤702,方法700开始。
在步骤704,保持分组记录。编码节点保持存储在编码节点的分组高速缓存中并传送给解码节点的分组的记录(称为编码器分组记录)。解码节点保持从编码节点接收并存储在解码节点的高速缓存中的分组的记录(称为解码器分组记录)。可以以任何合适的方式保持分组记录。在一个实施例中,分组记录保持为Bloom filter,然而应理解的是,可以使用任何其它合适类型的过滤器。
在步骤706,解码节点确定是否将解码器分组记录发送给编码节点。 可以以任何合适的方式执行是否将解码器分组记录发送给编码节点的确定。在一个实施例中,使用基于一致性窗口(CW)的计时器来执行该确定,一致性窗口为固定时段。如果做出不发送解码器分组记录的确定(例如,当前CW没有期满),则解码节点返回步骤704(即,解码节点继续为所接收和存储的分组保持解码器分组记录)。如果做出发送解码器分组记录的确定,则解码节点进入步骤708。
在步骤708,解码节点将解码器分组记录传送给编码节点。
在步骤710,编码节点接收解码器分组记录。
在步骤712,编码节点将解码器分组记录与编码器分组记录进行比较。解码器分组记录是当前CW的记录,因此,解码器分组记录与之比较的编码器分组记录也是当前CW的记录。为了清楚的目的从图7中省略了在编码节点上使用CW。编码节点比较解码器分组记录与编码器分组记录以确定两个记录是否匹配。
在步骤714,编码节点确定解码器分组记录与编码器分组记录是否匹配。如果解码器分组记录与编码器分组记录匹配,则方法700进入步骤718,方法700在该点结束(即,编码节点传送的所有分组都被解码节点接收,因此,不需要解码节点重传)。如果解码器分组记录与编码器分组记录不匹配,则方法700进入步骤716。
在步骤716,编码节点向解码节点重传一个或多个分组。一个或多个重传的分组包括在CW期间由编码节点先前传送(由编码器分组记录指示)但在CW期间没有被解码节点接收(由解码器分组记录指示)的任何分组。编码节点可以通过编码器分组记录与解码器分组记录的比较确定要被重传的一个或多个分组。编码节点从其分组高速缓存中获取要被重传的一个或多个分组并将它们传送给解码节点。应理解的是,由于重传的分组在从编码节点到解码节点的传送期间再次丢失的可能性,省略了在解码节点处的后续处理(例如,在解码节点处接收重传的分组并将重传的分组存储在解码节点的分组高速缓存中的步骤)。从步骤716,方法700进入步骤718,方法700在该点结束。
在步骤718,如上所述,方法700结束。
尽管描绘和描述为结束,为了清楚起见,应理解,方法700继续在编码节点和解码节点上运行(即,方法700继续对于每个CW重复,以便可保持分组高速缓存间的一致性)。
在一个实施例中,通过提供配置为减少在冗余度压缩期间的编码/解码操作期间使用丢失的分组的可能性的分组高速缓存管理能力减小了分组丢失对冗余度压缩的影响。
在一个实施例中,分组高速缓存管理能力包括将存储在编码节点上的分组高速缓存分割为两个或更多个高速缓存区间和/或将存储在解码节点上的分组高速缓存分割为两个或更多个高速缓存区间。
在编码节点的分组高速缓存被分割的实施例中,编码节点可以使用其分组高速缓存的区间以在所存储的分组内执行对匹配区域的更智能的搜索(例如,其中分组高速缓存的区间被排序,这样编码节点将首先在一个区间内搜索所存储的分组的匹配区域,然后在下一区间内搜索等等,直到具有匹配区域的所存储的分组被识别或者所有所存储的分组已穷举而没找到匹配)。
在解码节点的分组高速缓存被分割的实施例中,解码节点可以使用其分组高速缓存的区间以在重建目标分组时执行对编码密钥中参考的所存储的分组的更智能的搜索(例如,其中分组高速缓存的区间被排序,这样解码节点将首先在一个区间内搜索与编码密钥关联的所存储的分组,然后在下一区间内搜索等等,直到分组被识别或者所有所存储的分组已穷举而没找到匹配)。
分组高速缓存可以被分割成任何合适数目的区间。在一个实施例中,分组高速缓存可以被分割成三个区间:旧区间、可用区间和新区间。在该实施例中,旧区间包括分组高速缓存中最旧的分组,新区间包括分组高速缓存中最新的分组,而可用区间包括分组高速缓存中的所有其他分组。
可以以任何合适的方式实现分组高速缓存到区间的划分。例如,可以使用分组高速缓存的物理划分、使用分组高速缓存的逻辑划分(例如,诸 如将索引与每个所存储的分组关联并跟踪哪些索引与分组高速缓存的哪些区间关联,通过以指示分组高速缓存的区间与之关联的方式给每个所存储的分组贴标签等)等、以及其组合来实现分组高速缓存到区间的划分。
可以以任何合适的方式执行哪些分组包括在分组高速缓存的哪些区间中的确定。在分组以FIFO顺序存储在分组高速缓存中的一个实施例中,为每个所存储的分组保持一个计算器,以便所存储的分组的到达顺序已知。在该实施例中,对于每个将存储在分组高速缓存中的分组,该分组被标记为新的,并且与存储在分组高速缓存中的现有分组关联的标签可被更新,这样,所存储的分组的标签符合下列规则:(1)如果分组高速缓存中比该分组新的分组多于N个,则将该分组标记为旧的(即,与旧区间关联);(2)如果分组高速缓存中比该分组新的分组少于M个,则将该分组标记为新的(即,与新区间关联);以及(3)所有其他分组标记为可用的。在该实施例中,可以以任何合适的方式选择N和M的值。在一个实施例中,基于从属(dependent)分组之间的间距的统计来确定N值。例如,在3G无线业务跟踪中,基于对从属分组之间的间距的分析,确定N=1000适合99%的用户。在一个实施例中,M值为此处描述的一致性窗口(CW)的值,这样还未对其执行关联的高速缓存一致性检测的任何分组包括在分组高速缓存的新区间中,因此,排除在考虑提供支持冗余度压缩的编码或解码之外。应理解的是,可以以任何合适的方式设置N和M值。
图8描绘了保持被分割成新的、可使用的和旧的高速缓存区间的分组高速缓存的方法的一个实施例。图8的方法800适合用在编码节点和解码节点处。
在步骤802,方法800开始。
在步骤804,接收分组。
在步骤806,将所接收的分组以标签“新的”存储在分组高速缓存中。
在步骤808,对于分组高速缓存中的每个分组,保持分组高速缓存划分规则,其需要对分组高速缓存中的至少一些分组的标签的改变。
在步骤810,方法800结束。
尽管为了清楚起见描绘和描述为结束,应理解的是,每当需要和/或可能期望时,可重复方法800以保持所分割的分组高速缓存。方法800可在每次接收到分组时(关于图8描绘和描述的实施例)、周期性地(例如,以固定的时间间隔、在已接收预定数目的分组后等)等、及其组合时重复。
如上所描述的,在分组高速缓存被分割成区间的实施例中,保持分组高速缓存的节点(例如,编码节点或解码节点)可使用分组高速缓存的区间来在分组高速缓存中执行更智能的搜索。
在编码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,编码节点将通过首先在可用的区间中搜索所存储的分组、然后在旧的区间中搜索所存储的分组来在所存储的分组中搜索匹配区域。类似地,在解码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,解码节点将通过首先在可用的区间中搜索所存储的分组、然后在旧的区间中搜索所存储的分组来搜索与编码密钥关联的所存储的分组。
在编码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,编码节点将通过搜索存储在可用的区间和旧的区间两者中的所存储的分组而不对这些区间应用任何优先权排序,来在所存储的分组中搜索匹配区域。类似地,在解码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,解码节点将通过搜索存储在可用的区间和旧的区间两者中的所存储的分组而不对这些区间应用任何优先权排序,来搜索与编码密钥关联的所存储的分组。
在编码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,编码节点将通过搜索仅可用区间中的所存储的分组(即,忽略存储在旧区间和新区间中的分组,并且可选地,可甚至丢弃存储在旧区间中的分组)来在所存储的分组中搜索匹配区域。类似地,在解码节点的分组高速缓存被分割成旧的、可用的和新的区间的一个实施例中,解码节点将通过搜索仅可用区间中的所存储的分组(即,忽略存储在旧区间和新区间中的分组,并且可选地,可甚至丢弃存储在旧区间中的分组)来搜索与编码密钥关联的所存储的分组。
在编码节点的分组高速缓存被分割成旧的、可用的和新的区间的这些实施例的至少一些中,编码节点将不在新区间中搜索所存储的分组,因为这些分组可能已在从编码节点到解码节点的传送期间丢失,这样在解码节点处不能获得这些分组以重建目标分组,其中这些分组被用于编码目标分组。类似地,在解码节点的分组高速缓存被分割成旧的、可用的和新的区间的这些实施例的至少一些中,解码节点将不在新区间中搜索所存储的分组,因为这些分组可能已在从编码节点到解码节点的传送期间丢失,这样在解码节点处不能获得这些分组以重建目标分组,其中这些分组被用于编码目标分组。
尽管此处主要关于以下实施例进行描绘和描述:其中为了在编码节点处编码的目的和为了在解码节点处解码的目的忽略存储在分组高速缓存的新区间中的分组,但在其它实施例中,可使用存储在分组高速缓存的新区间中的分组进行编码和/或解码(例如,诸如在分组丢失预期为低的情况下)。
尽管主要关于分组高速缓存到特定数目的区间(其中每个区间具有与其关联的特定标签)的划分进行描绘,但应理解,分组高速缓存可被分割成具有与其关联的任何合适标签的任何合适数目的区间。
通过参考分组高速缓存管理教导的前述描述以及此处关于图3-图6提供的编码和解码功能的描绘和描述可理解可在编码节点和解码节点处实现分组高速缓存管理教导的方式。如此,也可理解图3-图6的实施例可适于包括分组高速缓存管理教导的方式,因此,关于图3-图6描绘和描述的编码和解码功能的特定实施例可认为覆盖这些分组高速缓存管理教导,这样不需要附加的附图。
在这样的实施例中可实现许多益处。减小了编码节点处用于识别具有匹配区域的所存储的分组的搜索空间,从而减少了编码节点处的处理时间。类似地,减小了解码节点处用于识别具有与所接收的编码密钥关联的匹配区域的所存储的分组的搜索空间,从而减少了解码节点处的处理时间。此外,避免了分组编码和解码功能依赖于不被高速缓存同步处理覆盖的新分 组,从而减小了分组丢失对未来的分组的影响。
在一个实施例中,通过使用反应性标记能力减小了分组丢失对冗余度压缩的影响。在一个实施例中,反应性标记能力适于避免编码节点使用解码节点处不可获得的参考分组,以便将来被编码节点编码以传送到解码节点的分组不使用解码节点在解码从编码节点接收的编码分组的过程中不可获得的参考分组。
图9描绘了减小分组丢失对在编码节点和解码节点之间传播的分组进行编码和解码的影响的方法的一个实施例。
如图9中所述,方法900跨接编码节点和解码节点,一部分步骤由编码节点执行,一部分步骤由解码节点执行。编码节点包括存储用于编码目标分组以传送到解码节点的参考分组的分组高速缓存。解码节点包括存储用于解码从编码节点接收的编码分组的参考分组的分组高速缓存。
在步骤902,方法900开始。
在步骤904,编码节点使用参考分组对分组进行编码以形成编码分组。参考分组是存储在编码节点的分组高速缓存中的分组。
编码节点可以使用任何合适的编码算法对分组进行编码(例如,使用MODP算法或者类MODP算法、使用MAXP算法或者类MAXP算法、使用此处描绘和描述的业务冗余度压缩能力的各个方面等、以及其组合)。编码分组识别用于对分组的至少一部分进行编码的参考分组。
编码分组可以以任何合适的方式识别参考分组,这可以取决于用于对分组进行编码的编码算法的类型。在一个实施例中,编码分组包括参考分组的散列(例如,诸如在此处描绘和描述的基于散列的业务冗余度压缩能力中)。在一个实施例中,编码分组包括参考分组的分组标识符。编码分组可以以任何其它合适的方式识别参考分组。
在步骤906,编码节点朝向解码节点传送编码分组。
在步骤908,解码节点从编码节点接收编码分组。
在步骤910,解码节点检测对编码分组进行解码所需的参考分组从解码节点的分组高速缓存中丢失。解码节点在对从编码节点接收的编码分组 进行解码的处理期间检测到参考分组从解码节点的分组高速缓存中丢失。在一个实施例中,解码节点通过因为参考分组从解码节点的分组高速缓存中丢失而检测到对编码分组进行正确地解码的失败来检测参考分组从解码节点的分组高速缓存中丢失。如此处所描述的,可以以任何合适的方式执行编码节点对分组的编码,并且类似地,可以以任何合适的方式执行解码节点对编码分组的解码(即,解码节点对编码分组进行解码的方式将取决于编码节点对编码分组进行编码的方式)。由于多种原因(例如,参考分组从编码节点到解码节点的传送失败、参考分组从编码节点到解码节点的传送成功但参考分组没有正确地存储在解码节点的分组高速缓存中等等)参考分组可以存在于编码节点的分组高速缓存中而从解码节点的分组高速缓存中丢失。
在步骤912,解码节点生成识别从解码节点的分组高速缓存中丢失的参考分组的控制分组。
解码节点可以以任何合适的方式确定丢失的参考分组。在一个实施例中,解码节点确定来自编码分组的丢失的参考分组(例如,使用一个或多个可包括在编码分组中由解码节点在获取由解码节点在对分组编码进行解码的过程中使用的关联的参考分组的过程中使用的值)。在一个实施例中,例如,取决于使用的编码方案,编码分组将包括参考分组的散列(例如,诸如在此处描绘和描述的基于散列的业务冗余度压缩能力中)、参考分组的分组标识符等以及其组合中的一个或多个。
控制分组可以任何合适的方式识别丢失的参考分组,这取决于丢失的参考分组在编码分组内被识别的方式,如上所述。在一个实施例中,例如,控制分组使用丢失的参考分组的散列来识别丢失的参考分组。在一个实施例中,例如,控制分组使用丢失的参考分组的分组标识符来识别丢失的参考分组。控制分组可以以任何其它合适的方式来识别丢失的参考分组。
可以以任何合适的方式格式化控制分组。在一个实施例中,控制分组包括解码节点和编码节点已知的一个或多个值,用于向编码节点指示控制分组是识别从解码节点的分组高速缓存中丢失的参考分组的控制分组(以 便编码节点可正确地处理控制分组)。
在步骤914,解码节点朝向编码节点传送控制分组。
在步骤916,编码节点从解码节点接收控制分组。
在步骤918,编码节点以避免在对分组进行编码以传送给解码节点时使用参考分组的方式来处理编码节点的分组高速缓存中所识别的参考分组。
在一个实施例中,对所识别的参考分组的处理包括将所接收的控制分组识别为指示参考分组的控制分组,其中要对参考分组执行处理以避免使用该参考分组。在一个实施例中,对标识符参考分组的处理包括从控制分组确定标识符参考分组,并在编码节点的分组高速缓存内定位所识别的参考分组,以便编码节点于是可以处理所识别的参考分组。应理解,为了定位所识别的参考分组以使得编码节点能够以避免在对分组进行编码以传送给解码节点时使用该参考分组的方式处理所识别的参考分组,可以由编码节点执行其他合适的步骤。
可以以任何合适的方式执行以避免在对分组进行编码以传送给解码节点时使用该参考分组的方式对所识别的参考分组的处理。在一个实施例中,例如,标记参考分组,以便将不使用参考分组对分组进行编码以传送给解码节点。在该实施例中,可以以任何合适的方式标记参考分组。在一个实施例中,例如,参考分组被从编码节点的分组高速缓存中删除。对参考分组的处理可以包括任何其它合适的处理。这样,避免编码节点在未来的编码操作中使用该参考分组,从而避免使用从解码节点的分组高速缓存中丢失的参考分组来对分组进行编码。
在步骤920,方法900结束。
尽管描绘和描述为单个方法,但应理解,方法900可以实现为分别运行在编码节点和解码节点上的独立的方法以提供所描述的功能。
尽管此处主要在使用基于散列的方案(例如,其中使用参考分组的散列对从编码节点传送到解码节点的分组进行编码和解码)提供冗余度压缩的实施例的情景中描绘和描述了反应性标记能力,如此处所描述的,但应 理解,可以结合各种其它冗余度压缩方案(其中使用除了参考分组的散列值的途径来识别参考分组(例如,使用参考分组的分组标识符或者识别参考分组的任何其它合适的途径))使用反应性标记能力。反应性标记能力具有比基于散列的冗余消除方案更广的适用性。
尽管为了清楚起见省略了,但应理解,由于可在编码节点处使用多个参考分组对目标分组进行编码以传送给解码节点作为编码分组,因此,可以在解码节点处使用多个对应的参考分组以对编码分组进行解码从而恢复该目标分组,可能会出现在编码节点处使用的多个参考分组从解码节点的分组高速缓存中丢失的情况。在该情况中,可以以任何合适的方式将该多个参考分组从解码节点的分组高速缓存中丢失的检测传达给编码节点。在一个实施例中,可以对每个丢失的参考分组使用单独的控制分组(例如,对于每个丢失的参考分组重复方法900的相关部分)。在一个实施例中,对所有丢失的参考分组使用单个控制分组(例如,方法900被修改以使控制分组包括多个丢失的参考分组的标识)。可以以任何其它合适的方式将多个丢失的参考分组的检测从解码节点传达给编码节点。
应理解,运行在编码和解码节点上的一个或多个高层应用可使用分组重传技术以将丢失的参考分组从编码节点提供给解码节点。在这种情况下,参考分组从编码节点到解码节点的重传(1)使得参考分组存储在编码节点的分组高速缓存中(因为每个从编码节点传送的分组都存储在编码节点的分组高速缓存中)以及(2)使得参考分组存储在解码节点的分组高速缓存中(假设重传成功)。关于编码节点,可以以任何合适的方式执行参考分组关于参考分组的先前存储的版本而在编码节点的分组高速缓存中的存储(例如,重写参考分组的先前版本,以便参考分组不再以避免用其进行编码的方式标记;除参考分组的先前版本之外添加重传的参考分组,以便可使用重传的参考分组对分组进行编码,而参考分组的先前版本保留在高速缓存中不用于对分组进行编码;等等,以及其各种组合)。关于解码节点,在解码节点处被接收后,参考分组将被存储在解码节点的分组高速缓存中,以便当在对未来在解码节点处接收的编码分组进行解码中需要参考分组 时,不会检测到失败。
尽管此处主要关于控制分组在参考分组从解码节点的分组高速缓存中丢失的情况中从解码节点发送到编码节点的实施例进行描绘和描述,但在其它的实施例中,控制分组可在参考分组存在于解码节点处但(1)不能用于在解码节点处对编码分组进行解码(例如,从解码节点的分组高速缓存中对参考分组的获取失败)或(2)可在解码节点处使用但使用参考分组对编码分组的解码导致对编码分组的异常(improper)解码(例如,诸如其中参考分组的被破坏的版本被解码节点接收和存储)时从解码节点发送到编码节点。
尽管主要在结合冗余度压缩实施例使用反应性标记能力的实施例的情景中进行描绘和描述,但也可以结合各种其它应用来使用反应性标记能力的原理。
尽管主要在特定类型的蜂窝无线网络的情景中进行描绘和描述,但应理解,可在其它类型的蜂窝无线网络中使用业务冗余度压缩能力。尽管主要在蜂窝无线网络的情景中进行描绘和描述,但应理解,可在其它类型的无线网络中使用业务冗余度压缩能力。尽管主要在无线网络的情景中进行描绘和描述,但应理解,可在有线网络中使用业务冗余度压缩能力。因此,应理解的是,可在可以受益于业务冗余的减少的任何通信系统中使用业务冗余度压缩能力。
图10描绘了适用于执行此处描述的功能的计算机的高级框图。如图10中所述,计算机1000包括处理器元件1002(例如,中央处理单元(CPU)和/或其它合适的处理器)、存储器1004(例如,随机存取存储器(RAM)、只读存储器(ROM)等)、业务冗余度压缩模块/过程1005和各种输入/输出设备1006(例如,用户输入设备(诸如键盘、键区、鼠标等)、用户输出设备(诸如显示器、扬声器等)、输入端、输出端、接收器、发射器以及存储设备(例如,磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等))。
应理解,此处描绘和描述的功能可以实现在软件、硬件和/或软件与硬 件的组合中,例如,使用通用计算机、一个或多个专用集成电路(ASIC)和/或任何其它等价物。在一个实施例中,业务冗余度压缩反馈/控制过程1005可加载到存储器1004并由处理器1002执行以实现上述讨论的功能。因此,业务冗余度压缩过程1005(包括关联的数据结构)可以存储在计算机可读存储介质(例如,RAM存储器、磁或光驱动或磁盘等)上。
预期这里讨论为软件方法的一些步骤可以实现在硬件中,例如,与处理器协作以执行各种方法步骤的电路。此处描述的功能/元件的部分可以体现为计算机程序代码,其中当被计算机处理时计算机指令适应计算机的操作,以便此处描述的方法和/或技术被调用或提供。调用创造性方法的指令可存储在固定的或可移除式介质中、经由广播中的数据流或其它信号轴承介质传送、和/或存储在根据指令操作的计算设备的存储器中。
各种实施例的方面规定在权利要求中。各种实施例的那些和其它方面规定在下列编号的条款中:
1.一种由配置成对分组进行编码以传送给解码节点的编码节点使用的方法,所述方法包括:
在编码节点处接收解码节点的控制分组,所述控制分组识别存储在编码节点的分组高速缓存中并从解码节点的分组高速缓存中丢失的参考分组;以及
以避免编码节点使用所述参考分组对分组进行编码以传送到解码节点的方式处理存储在编码节点的分组高速缓存中的参考分组。
2.根据条款1所述的方法,其中所述控制分组使用所述参考分组的散值列识别所述参考分组。
3.根据条款1所述的方法,其中所述控制分组使用所述参考分组的标识符识别所述参考分组。
4.根据条款1所述的方法,进一步包括:
从所述控制分组识别所述参考分组;以及
在所述编码节点的分组高速缓存中定位所述参考分组。
5.根据条款1所述的方法,其中以避免编码节点使用所述参考分组对 分组进行编码以传送到解码节点的方式处理所述参考分组包括:
以避免编码节点使用所述参考分组对分组进行编码以传送到解码节点的方式标记所述参考分组。
6.根据条款1所述的方法,其中以避免编码节点使用所述参考分组对分组进行编码以传送到解码节点的方式处理所述参考分组包括:
从所述编码节点的分组高速缓存中删除所述参考分组。
7.根据条款1所述的方法,进一步包括:
接收要被传送给解码节点的目标分组;
识别匹配所述参考分组的区域的所述目标分组的区域;以及
响应于以指示所述参考分组将不用于编码的方式标记所述参考分组的确定,避免使用识别所述参考分组的编码密钥替换所述目标分组的区域。
8.一种用于对分组进行编码以传送给解码节点的装置,包括:
用于保持存储多个参考分组的分组高速缓存的部件,所述参考分组用于对分组进行编码以传送给解码节点;
用于接收解码节点的控制分组的部件,所述控制分组识别从解码节点的分组高速缓存中丢失的分组高速缓存的参考分组之一;以及
用于以避免使用所识别的参考分组之一对分组进行编码以传送给解码节点的方式处理所识别的参考分组之一的部件。
9.一种由配置成对从编码节点接收的编码分组进行解码的解码节点使用的方法,所述方法包括:
在解码节点处检测用于在解码节点处对编码分组进行解码的参考分组从解码节点的分组高速缓存中丢失;
生成识别从解码节点的分组高速缓存中丢失的参考分组的控制分组;以及
从解码节点向编码节点传播控制分组,所述编码节点使用所述控制分组以避免在对分组进行编码以传送到解码节点的过程中使用编码节点的分组高速缓存中的对应的参考分组。
10.根据条款9所述的方法,其中所述控制分组使用所处参考分组的散 列值识别从解码节点的分组高速缓存中丢失的所述参考分组。
11.根据条款9所述的方法,其中所述控制分组使用所述参考分组的分组标识符识别从解码节点的分组高速缓存中丢失的所述参考分组。
12.根据条款9所述的方法,其中在对解码节点处接收的编码分组进行解码期间检测到失败。
13.根据条款12所述的方法,其中对编码分组进行解码包括:
识别所述编码分组内的编码密钥,其中所述编码密钥识别所述参考分组;以及
使用所述编码密钥的至少一部分在解码节点的分组高速缓存中搜索所述参考分组。
14.根据条款9所述的方法,其中检测所述参考分组从所述解码节点的分组高速缓存中丢失包括:
使用从所述编码分组确定的所述参考分组的标识符搜索所述解码节点的分组高速缓存;以及
检测所述参考分组从所述解码节点的分组高速缓存中丢失。
15.根据条款14所述的方法,其中从所述编码分组确定的所述参考分组的标识符包括所述参考分组的分组标识符和所述参考分组的散列值中至少之一。
16.一种配置为对从编码节点接收的编码分组进行解码的装置,所述方法包括:
用于保持存储多个参考分组的分组高速缓存的部件,所述参考分组用于对从编码节点接收的编码分组进行解码;
用于检测用于在解码节点处对编码分组进行解码的参考分组从解码节点的分组高速缓存中丢失的部件;
用于生成识别从存储部件丢失的参考分组的控制分组的部件;以及
用于向编码节点传播控制分组的部件,编码节点使用所述控制分组以避免在对分组进行编码以传送给所述装置的过程中使用编码节点的分组高速缓存中的对应的参考分组。
17.一种在编码节点处对目标分组进行编码以传送给解码节点的方法,所述方法包括:
识别匹配存储在编码节点的分组高速缓存中的参考分组的区域的所述目标分组的区域;以及
响应于以指示所述参考分组将不用于编码的方式标记所述参考分组的确定,避免使用识别所述参考分组的编码密钥替换所述目标分组的区域。
18.根据条款17所述的方法,其中响应于从所述解码节点接收控制分组来标记所述参考分组。
19.根据条款18所述的方法,其中所述控制分组指示存储在所述编码节点的分组高速缓存中的参考分组从所述解码节点的分组高速缓存中丢失。
20.根据条款17所述的方法,其中所述控制分组包括所述参考分组的分组标识符和所述参考分组的散列值中至少之一。
尽管此处详细示出和描述了并入本发明的教导的各种实施例,但本领域的技术人员可容易地设计出仍然包含这些教导的许多其它变化的实施例。
Claims (10)
1.一种由配置成对分组进行编码以传送给解码节点的编码节点使用的方法,所述方法包括:
在所述编码节点处接收所述解码节点的控制分组,所述控制分组识别存储在所述编码节点的分组高速缓存中并从所述解码节点的分组高速缓存中丢失的参考分组;以及
以避免所述编码节点使用所述参考分组对分组进行编码以传送到所述解码节点的方式处理存储在所述编码节点的分组高速缓存中的所述参考分组。
2.根据权利要求1所述的方法,其中所述控制分组使用所述参考分组的散列值识别所述参考分组。
3.根据权利要求1所述的方法,其中所述控制分组使用所述参考分组的标识符识别所述参考分组。
4.根据权利要求1所述的方法,进一步包括:
从所述控制分组识别所述参考分组;以及
在所述编码节点的分组高速缓存中定位所述参考分组。
5.根据权利要求1所述的方法,其中以避免所述编码节点使用所述参考分组对分组进行编码以传送到所述解码节点的方式处理所述参考分组包括:
以避免所述编码节点使用所述参考分组对分组进行编码以传送到所述解码节点的方式标记所述参考分组。
6.根据权利要求1所述的方法,其中以避免所述编码节点使用所述参考分组对分组进行编码以传送到所述解码节点的方式处理所述参考分组包括:
从所述编码节点的分组高速缓存中删除所述参考分组。
7.根据权利要求1所述的方法,进一步包括:
接收要被传送给所述解码节点的目标分组;以及
识别匹配所述参考分组的区域的所述目标分组的区域。
8.根据权利要求7所述的方法,进一步包括:
响应于以指示所述参考分组将不用于编码的方式标记所述参考分组的确定,避免使用识别所述参考分组的编码密钥替换所述目标分组的区域。
9.一种用于对分组进行编码以传送给解码节点的装置,包括:
用于保持存储多个参考分组的分组高速缓存的部件,所述参考分组用于对分组进行编码以传送给所述解码节点;
用于接收所述解码节点的控制分组的部件,所述控制分组识别从所述解码节点的分组高速缓存中丢失的所述分组高速缓存的参考分组之一;以及
用于以避免使用所识别的参考分组之一对分组进行编码以传送到所述解码节点的方式处理所识别的参考分组之一的部件。
10.一种存储指令的计算机可读存储介质,当被计算机执行时,所述指令使得所述计算机执行由配置成对分组进行编码以传送给解码节点的编码节点使用的方法,所述方法包括:
在所述编码节点处接收所述解码节点的控制分组,所述控制分组识别存储在所述编码节点的分组高速缓存中并从所述解码节点的分组高速缓存中丢失的参考分组;以及
以避免所述编码节点使用所述参考分组对分组进行编码以传送到所述解码节点的方式处理存储在所述编码节点的分组高速缓存中的所述参考分组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/732,800 | 2010-03-26 | ||
US12/732,800 US8432911B2 (en) | 2010-01-15 | 2010-03-26 | Method and apparatus for reducing effects of lost packets on redundancy reduction in communication networks |
PCT/US2011/027832 WO2011088479A1 (en) | 2010-01-15 | 2011-03-10 | Method and apparatus for reducing effects of lost packets on redundancy reduction in communication networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102884833A true CN102884833A (zh) | 2013-01-16 |
Family
ID=47484681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800140088A Pending CN102884833A (zh) | 2010-03-26 | 2011-03-10 | 用于减小通信网络中丢失的分组对冗余度压缩的影响的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102884833A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578182A (zh) * | 2014-10-15 | 2016-05-11 | 联想(北京)有限公司 | 一种视频编码、解码方法及装置 |
CN109361613A (zh) * | 2018-09-04 | 2019-02-19 | 国网宁夏电力有限公司电力科学研究院 | 一种变电站的通信方法及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008020428A2 (en) * | 2006-08-15 | 2008-02-21 | Celtro Ltd. | Method and system for saving bandwidth during broadcasting/multicasting |
CN101222302A (zh) * | 2007-01-11 | 2008-07-16 | 北京邮电大学 | 一种在组播业务中实现差错恢复的方法 |
-
2011
- 2011-03-10 CN CN2011800140088A patent/CN102884833A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008020428A2 (en) * | 2006-08-15 | 2008-02-21 | Celtro Ltd. | Method and system for saving bandwidth during broadcasting/multicasting |
CN101222302A (zh) * | 2007-01-11 | 2008-07-16 | 北京邮电大学 | 一种在组播业务中实现差错恢复的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578182A (zh) * | 2014-10-15 | 2016-05-11 | 联想(北京)有限公司 | 一种视频编码、解码方法及装置 |
CN105578182B (zh) * | 2014-10-15 | 2019-04-23 | 联想(北京)有限公司 | 一种视频编码、解码方法及装置 |
CN109361613A (zh) * | 2018-09-04 | 2019-02-19 | 国网宁夏电力有限公司电力科学研究院 | 一种变电站的通信方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9030960B2 (en) | Method and apparatus for reducing redundant traffic in communication networks | |
CN101204068B (zh) | 动态鲁棒首部压缩 | |
US7031257B1 (en) | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol | |
CN101057479B (zh) | 用于在首标解压缩中处理失序分组的方法及设备 | |
CN101366261B (zh) | 用于当遭遇静默抑制时增强稳健标头压缩性能的方法和设备 | |
Zhang et al. | On protocol-independent data redundancy elimination | |
CN101568144B (zh) | 一种适用于无线自组织网络的报头压缩方法 | |
CN102931997B (zh) | 消息压缩 | |
Lumezanu et al. | The effect of packet loss on redundancy elimination in cellular wireless networks | |
CN103825869A (zh) | 以太网报文头的压缩及解压缩方法、压缩及解压缩设备 | |
JP6615179B2 (ja) | 遠隔通信ネットワーク内でフレームを符号化および復号するための方法 | |
CN100433841C (zh) | 用于因特网协议第6版移动子协议MIPv6的鲁棒性头标压缩/解压方法 | |
CN102420672A (zh) | 无线局域网无线接入点向无线控制器进行数据转发的方法 | |
CN107249203A (zh) | 一种基于喷泉码的车联网远距离数据通信中继代理方法 | |
JP2002541724A (ja) | デジタル・データ転送方法および装置 | |
EP2548393B1 (en) | Method and apparatus for reducing effects of lost packets on redundancy reduction in communication networks | |
CN102884833A (zh) | 用于减小通信网络中丢失的分组对冗余度压缩的影响的方法和装置 | |
KR101465891B1 (ko) | 무선 네트워크에서 트래픽 중복 제거 방법 및 장치 | |
Chen et al. | Exploiting rateless codes and cross-layer optimization for low-power wide-area networks | |
CN101984621A (zh) | 鲁棒性头压缩中一种提高列表压缩效率的方法及装置 | |
CN109361613B (zh) | 一种变电站的通信方法及服务器 | |
Wang et al. | Parallel redundancy protocol for railway wireless data communication network | |
Zheng et al. | XBC: XOR-based buffer coding for reliable transmissions over wireless networks | |
Halepovic et al. | On the performance of redundant traffic elimination in wlans | |
Lim et al. | IPv6 header compression algorithm supporting mobility in wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130116 |