用于使用二进制奇偶校验来重建丢失分组的方法

文档序号:82601阅读:442来源:国知局
专利名称:用于使用二进制奇偶校验来重建丢失分组的方法
技术领域
本发明总的涉及通信系统,更具体地,涉及在通信系统中重建丢失的分组。
背景技术
诸如互联网的基于分组的通信网已证明当传送诸如电子邮件消息、网页等等的非延时敏感的信息时是很健壮的。基于分组的通信网也可被使用来传送诸如话音信息的延时敏感的信息(也称为实时业务)。例如,通过互联网的话音协议(VoIP)可被使用于通过互联网的话音通信。然而,诸如互联网的非单能网络被认为是有损失的。例如,当在路由器中的缓存器变为充满时,互联网分组常常在这些路由器中丢失。对于另一个例子,光网络中的光纤可能发生故障,在这种情形下,打算沿这些光纤光缆传送的分组可能丢失。虽然包括非延时敏感的信息的丢失的分组可以通过使用各种重发方案,诸如混合自动重复请求(HARQ)协议而被恢复,但实时业务具有非常严格的延时约束条件,典型地不允许丢失的分组被重发。
提出了许多技术,防止通过基于分组的网络发送的实时分组丢失。一个技术是通过一个以上的信道同时传送延时敏感的信息。在一个信道上丢失的分组然后可以从冗余信道被恢复。然而,分组丢失的概率通常远小于1,所以,分配专用的冗余信道可能减小通信系统的效率。另一个技术是通过使用冗余码传送分组。理论上,在丢失分组中的原始的数据可以通过使用具有等于原始的数据的长度的传送的代码的任何部分被恢复。具有这个特性的代码被称为最大距离可分离(MDS)代码。MDS码的一个例子是Reed-Solomon码。然而,包括使用MDS码的原始的数据典型地需要许多复杂的和费时的运算,诸如在Galois域(sq)上的乘法和加法,这使得这些码在现实的通信系统中实施变为不实际的。
实际上,冗余信道编码方案通常给传送的实时业务量添加适当程度的冗余性。例如,提出了通过使用异或(XOR)运算组合来自几个分组的信息的简单的编码方案。然而,简单的XOR冗余编码方案需要相对较高程度的冗余性,并且会很大地降低通信系统的效率。例如,奇偶校验代码可以在两个数据分组上生成简单的奇偶校验分组,这样,如果原先的媒体分组是a,b,c,d,则由发送者生成的分组可包括在第一信道上传送的a,b,c,d分组的媒体流,该媒体流与在第二信道上传送的、包括表示奇偶校验函数f(a,b),f(c,d)的信息的前向纠错(FEC)数据流平行。在本例中,纠错方案(应当指出,术语“方案”和“代码”在本上下文可以交换地使用)引入50%的附加开销,但如果分组b被丢失,则在分组a中的信息和奇偶校验函数f(a,b)可被使用来恢复分组b的内容。
接近最佳的代码,可被称为(1+ε)-MDS码,是在Alon和Luby,“ALinear Time Erasure-Resilient Code with Nearly Optimal Recovery”,IEEE Transactions on Information Theory,Vol.42,No.6,November1996中提出的。然而,对于实施接近最佳代码所需要的运行时间正比于O(n/ε4),其中n是数据长度,并且对于传送编码的数据所需要的分组长度正比于O(log(1/ε)/ε4)。因此,减小冗余性水平到可接受的水平,例如减小ε的数值到远小于1的某个数值,需要非常长的运行时间和非常长的分组长度。

发明内容本发明的目的是解决以上阐述的一个或多个问题的影响。以下给出本发明的简化的概要,以便提供本发明的某些方面的基本了解。这个概要不是本发明的穷举的概述。不打算表示本发明的关键的单元或阐述本发明的范围。它的唯一的目的是以简化的形式给出某些概念作为以后讨论的更详细说明的序言。
在本发明的一个实施例中,提供了可包括执行与至少一个第一分组相关联的至少一个奇偶运算的方法。方法还可包括传送与至少一个第一分组相关联的信息和表示该至少一个奇偶运算的信息。在本发明的另一个实施例中,提供了可包括访问与至少一个分组相关联的信息和表示对与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一个奇偶运算的信息的方法。方法还可包括根据与至少一个第一分组相关联的信息和表示对于与至少一个第一分组和至少一个第二分组相关联的信息执行至少一个奇偶运算的信息确定至少一个第二分组相关联的信息。
基于奇偶校验运算的本发明的实施例可以是接近最佳的,例如,它们可包括接近最佳(1+ε)-MDS码,其中ε的数值可以容易地小于0.05。用于上述的编码方案的编码时间近似正比于(1+ε),译码时间近似正比于分组和冗余分组的总数,并且分组大小正比于(1+ε)。因此,ε的数值可被减小到远小于1的数值而不用对于传统的接近最佳编码方案典型地需要的相对较长的运行时间和/或相对较长的分组长度。本发明的实施例的实施方案的计算复杂性相对于用于实施接近最佳代码的传统的技术还可以被减小。
通过结合附图参照以下的说明可以理解本发明,其中相同的标号表示相同的单元,以及其中图1概念地显示按照本发明的通信系统的一个示例性实施例;图2概念地显示按照本发明的、可以在通信系统中,诸如图1所示的通信系统,传送的分组和冗余分组的一个示例性实施例;图3概念地显示按照本发明的、形成冗余信息的方法的一个示例性实施例;和图4概念地显示用于重建丢失的和/或损坏的分组的方法的一个示例性实施例。
虽然本发明易于得到各种修改和替换的形式,但本发明的具体的实施例在附图上作为例子被显示,并且在这里详细地描述。然而,应当看到,这里的具体的实施例的说明不打算把本发明限于所公开的特定的形式,但相反,打算覆盖属于由所附权利要求
限定的本发明的精神和范围的所有的修改、等价物和替换例。
具体实施方式下面描述本发明的说明性实施例。为了清晰起见,在技术说明书中不描述实际的实施方案的所有的特性。当然,将会看到,在任何这样的实际的实施例的开发中,许多实施方案特定的决定应当被做成达到开发者的具体的目标,诸如遵循随不同的实施例而不同的、与系统有关的和与商业有关的约束条件。而且,将会看到,这样的开发努力可能是复杂和费时的,但无论如何是从本公开内容获益的本领域技术人员担负的例行程序。
本发明的部分和相应的详细说明以软件或算法和对计算机存储器内数据比特的操作的符号表示法被给出。这些说明和表示法是本领域技术人员用来把它们的工作的实质有效地输送本领域另外的技术人员的说明和表示法。算法,正如该术语在这里使用的和正如它一般地使用的,被设想为导致想要的结果的一系列独立自主的步骤。步骤是需要对物理量进行物理地操纵的步骤。通常,虽然不一定,这些量取能够被存储、传送、组合、比较和操纵的光的、电的、或磁的信号的形式。经常,特别是为了通常的使用,把这些信号称为比特、数值、单元、符号、字符、项目、号码等等,证明是方便的。
然而,应当记住,所有的这些和类似的术语与适当的物理量有关,并且是被加到这些量的方便的标签。除非专门指出,或正如从讨论中看到的,诸如“处理”、“计算(computing或calculating)”、“确定”、或“显示”等等的术语是指计算机或类似的电子计算设备的行动和处理过程,把计算机系统的寄存器和存储器内的、被表示为物理的、电子的量的数据操纵和变换成计算机系统的存储器或寄存器或其它这样的信息贮存、传输或显示设备的、被类似地表示为物理量的数据。
还应当指出,本发明的软件实施方面典型地在某种形式的程序贮存媒体上被编码或在某种类型的传输媒体被实施。程序贮存媒体可以是磁的(例如,软盘或硬盘)或光的(例如,紧凑盘只读存储器,或“CDROM”),并且可以是只读的或随机存取的。类似地,传输媒体可以是双绞线、同轴电缆、光纤、或技术上已知的某些其它适当的传输媒体。本发明不限于任何给定的实施方案的这些方面。
现在参照附图描述本发明。各种结构。系统和设备被示意地显示在附图上,仅仅用作为说明,并且不用本领域技术人员熟知的细节来遮蔽本发明。无论如何,附图被包括来描述和说明本发明的例子。这里使用的单字和词组应当被理解和被解译为具有与由本领域技术人员对这些单字和词组理解的一致的意义。不打算通过对于术语或词组的一致的使用法给术语或词组加上专门的定义,即,与由本领域技术人员理解的普通的和惯用的意义不同的定义。就打算使术语或词组具有专门的意义,即与由本领域技术人员理解的不同的意义的方面来说,这样的专门的定义将在技术说明书中以直接地和不含糊地提供对于术语或词组的专门的定义的定义方式被明显地阐述。
图1概念地显示通信系统100的一个示例性实施例。在说明性实施例中,通信系统100包括网络105,它可包括按照有线和/或无线协议的任何组合工作的、有线网和/或无线网的任何组合。例如,网络105可包括按照互联网协议工作的部分和按照通用移动电信业务(UMTS)协议工作的部分。然而,本领域技术人员将会看到,本发明不限于这些示例性协议。在替换的实施例中,网络105可包括按照公共交换电话网(PSTN)协议、普通老式电话系统(POTS)协议、码分多址(CDMA,CDMA2000)协议、蓝牙协议、IEEE 802协议之一等等工作的部分。在一个实施例中,网络105还可包括光学部分,包括一个或多个光纤光缆和其它支持设备。
各种不同的终端110(1-3)可以通信地耦合到网络105。索引(1-3)可被使用来指单独的终端110(1-3)或终端子集110(1-3)。然而,当指终端110整体时,可以不使用这些索引。在本申请中都采用这种编号用法。在说明性实施例中,终端110包括可被配置来用于通过互联网协议的话音(VoIP)通信的台式计算机110(1),可被配置来用于通过光纤光缆传送信号的电话110(2),和移动单元110(3)。终端110可以通过一个或多个接口设备115被通信地耦合到网络105。在说明性实施例中,台式计算机110(1)经由路由器115(1)被通信地耦合到网络105,电话110(2)经由光路由器115(2)被通信地耦合到网络105,以及移动单元110(3)经由空中接口120被通信地耦合到基站路由器115(3)。用于操作终端110和接口设备115的技术对于本领域技术人员是已知的,为了清晰起见,这里将只讨论与本发明有关的、终端110和/或接口设备115的那些操作方面。
通信系统100还可包括一个或多个服务器125,这些服务器被通信地耦合到网络105。服务器125可被使用来经由网络105提供信息给终端110。例如,服务器125可以容纳一个或多个网站,它可以给终端110提供通信服务。服务器125也可被使用来接收、存储和/或发送由终端110提供的信息。例如,服务器125可以实施话音消息传送系统,它可以接收来自终端110的话音消息,存储该话音消息,然后在以后的时间把该话音消息传送到另一个终端110。然而,从本公开内容获益的本领域技术人员应当看到,服务器125的这些示例性功能只打算是说明性的,而不是限制本发明。
信息在终端110、接口设备115和/或服务器125之间以分组形式传送。例如,网络105可以接收来自终端110、接口设备115和/或服务器125的分组,并且可以按照互联网协议把分组分发到终端110、接口设备115和/或服务器125。例如,在一个或多个终端110、接口设备115和/或服务器125上实施的实时应用可以按照诸如实时输送协议/用户数据报文协议(RTP/UDP)的各种不同的协议发送和/或接收分组。示例性实时应用包括VoIP应用、视频流应用等等。
分组实际上在包括网络105、终端110、接口设备115和/或服务器125的通信系统100的任何部分以及在有线、电缆、光纤光缆、空中接口等等上可能被丢失或损坏。因此,可以发送冗余信息,并且使用它来重建丢失的或损坏的分组。在一个实施例中,冗余信息是通过访问在包括要被发送的信息的分组中的一个或多个比特和对于比特执行至少一个奇偶运算而被形成的。例如,在要被发送的每个分组中的一个比特可被访问(例如,从存储器或寄存器被读出,或作为数据流的一部分被接收),并且这些比特可以通过使用异或(XOR)运算被组合,以形成冗余信息。冗余信息可被包括在一个或多个冗余分组,并且用原先的分组例如通过单个信道被传送。如果一个原先的分组被确定为丢失和/或损坏的,则冗余信息可以与成功地接收的信息相组合,以重建丢失和/或损坏的分组。
冗余分组可以被形成在通信系统100内的任何位置,或位置的组合。丢失和/或损坏的分组也可以通过使用在通信系统100内的任何位置,或位置的组合处的冗余信息而被重建。例如,冗余分组可被形成在终端110、服务器125或任何其它位置。丢失和/或损坏的分组可以通过使用在终端110、接口设备115、服务器125或在网络105内某些位置处的冗余信息而被重建。本领域技术人员还应当看到,这些操作可以通过使用硬件、固件、软件或它们的任何组合而被执行。
图2概念地显示可以在诸如图1所示的通信系统100的通信系统中传送的分组200和冗余分组205的一个示例性实施例。在说明性实施例中,分组200和冗余分组205被显示为分开的分组,它们分别包括要被传送的信息和通过使用要被传送的信息而形成的冗余信息。然而,本领域技术人员应当看到,本发明并不限于此。在替换实施例中,部分要被传送的信息和部分冗余信息可被组合在一起,并在一个或多个分组中被传送。例如,代表要被传送的信息的比特和代表冗余信息的比特可以在单个分组内被交织。
在说明性实施例中,在冗余分组205中比特的值通过对于从分组200选择的比特执行奇偶运算而被确定。从本公开内容获益的本领域技术人员应当看到,奇偶运算可包括被使用来确定与数据流有关的一个或多个奇偶校验比特的任何运算。例如,冗余分组205(1)可以通过从每个分组200中选择第一比特(由虚线方块表示)而被形成,如箭头210所示。所选择的比特然后可以通过使用诸如XOR运算的二进制奇偶运算而被组合,并且二进制奇偶运算的结果可被存储作为冗余分组205(1)中的一个或多个比特。对于另一个例子,冗余分组205(2)可以通过选择沿穿过分组200的45°线215上的比特(由虚线方块表示)而被形成,例如,第二比特可以从第一分组200(1)中进行选择,第三比特可以从第二分组200(2)中进行选择,第四比特可以从第三分组200(3)中进行选择,等等。所选择的比特然后可以通过使用诸如XOR运算的二进制奇偶运算而被组合,并且二进制奇偶运算的结果可被存储作为冗余分组205(2)中的一个比特。在说明性实施例中,在205(2)中的第一比特是与200(3)中的第一比特相同的,在205(2)中的第二比特是200(2)中的第一比特与200(3)中的第二比特的XOR,在205(2)中的第三比特是200(1)中的第一比特、200(2)中的第二比特与200(3)中的第三比特的XOR,等等。对于再一个例子,冗余分组205(3)可以通过选择沿穿过分组200的135°线220上的比特(由虚线方块表示)而被形成,例如,最后的比特可以从第一分组200(1)中进行选择,倒数第二个比特可以从第二分组200(2)中进行选择,等等。所选择的比特然后可以通过使用诸如XOR运算的二进制奇偶运算而被组合,并且二进制奇偶运算的结果可被存储作为冗余分组205(3)中的一个或多个比特。
虽然在冗余分组205中的比特是通过使用XOR运算被形成的,但从本公开内容获益的本领域技术人员应当看到,本发明不限于XOR二进制奇偶运算。在替换实施例中,可以使用任何奇偶运算。例如,可以不用比特而使用字节为单位,并且在字节内的每个比特上的XOR可被记录。这个方法可能降低效率(增加上面和下面描述的ε),但它可使得计算并行地和更快速地进行。从本公开内容获益的本领域技术人员应当看到,用于从分组200选择比特来形成冗余分组205是设计方案选择的问题而与本发明无关。而且,分组200的数目和/或冗余分组205的数目,以及被包括在分组200和/或冗余分组205中的比特的数目也是设计方案选择的问题而不与本发明无关。
再者,虽然在说明性实施例中使用三个冗余分组,但本发明并不限于任何具体数目的冗余分组。在替换实施例中,可以选择任意数目的冗余分组。例如,分组可被选择为使得每个选择的分组与每个原始的分组具有一个和仅仅一个交点,并且每对选择的分组在两条线之间具有一个和仅仅一个交点。因此,对于任意M个原始的数据分组,可以选择N个保护分组来实现所谓的M+N保护。如果在这些M+N分组内的任意N个分组被丢失,则通过使用该N个保护分组,仍旧可恢复M个原始的分组的内容。
如果一个或多个分组200,或分组200的部分,在传输期间被损坏和/或丢失,则冗余分组205可被使用来重建丢失的和/或损坏的分组200。例如,如果10个包括10比特的分组200被使用来构建三个包括10比特冗余信息的冗余分组205,则30%的发送的信息可被重建,如果它被丢失和/或损坏的话。例如,三个丢失的或损坏的分组200可以通过使用三个冗余分组205被重建。用于通过使用冗余分组重建丢失的和/或损坏的信息是本领域技术人员已知的,因此为了清晰起见,这里只讨论这些技术中与本发明有关的那些方面。
图3概念地显示形成冗余信息的方法300的一个示例性实施例。在说明性实施例中,访问在要被发送的一个或多个分组中的信息(在305)。例如,访问在要被发送的多个分组的每个分组中的一个或多个比特(在305)。然后,可以对于访问的信息执行奇偶运算(在310)。例如,来自多个分组的比特可以通过使用异或运算被组合。奇偶运算的结果然后可被使用来形成(在315)一个或多个冗余分组。例如,异或运算的结果可被使用来形成一个或多个冗余分组的比特。冗余分组然后可以连同原先的分组一起被发送(在320)。
图4概念地显示用于重建丢失和/或损坏的分组的方法400的一个示例性实施例。在说明性实施例中,一个或多个分组可被确定为(在405)丢失和/或损坏的。用于确定分组是否为丢失的和/或损坏的技术是本领域技术人员已知的,并且为了清晰起见,这里将不作进一步讨论。响应于确定(在405)一个或多个分组是丢失和/或损坏的,可以访问与该丢失和/或损坏的分组有关的冗余分组以及其它成功地接收的分组(在410)。然后可以通过使用在与该丢失和/或损坏的分组有关的冗余分组中的信息和在其它成功地接收的分组中的信息重建该丢失的和/或损坏的分组(在415)。
用于形成冗余信息和通过使用上述的冗余信息重建丢失的和/或损坏的分组的技术比起传统的实践具有许多优点。上述的基于二进制奇偶运算的编码方案是接近最佳的(1+ε)-MDS码。对于XOR编码方案,ε=(M-L)/L,其中M是原始的数据分组或信道的数目以及L是每个原始的数据分组的、以比特计的长度。因此,ε的数值可以容易地小于0.05。对于光学网络,上述的编码方案可以提供M+N保护,其中M是被使用来传送原始信息的脉冲或信道的数目以及N是额外的冗余脉冲的数目。用于上述的编码方案的编码时间大约正比于(1+ε),译码时间大约正比于分组与冗余分组的总数,以及分组尺寸大约正比于(1+ε)。因此,ε的数值可以被减小到远小于1,而不用由传统的接近最佳编码方案典型地需要的相对较长的运行时间和/或相对较长的分组长度。本发明的实施例的实施方案的计算复杂性也可以相对于传统的用于实施接近最佳代码的技术被减小。所以,上述的编码方案可被使用来提供用于诸如VoIP、视频流、使用RTP/UDP协议的其它应用等等的实时应用的冗余信息。上述的技术也可被使用来通过把每个时分复用时隙看作为单个数据单元而提供光路径保护。
上述的具体的实施例仅仅是说明性的,因为本发明可以以对于从这里的教导获益的本领域技术人员清楚的、不同的但等价的方式被修改和被实践。而且,不打算给不同于下面的权利要求
中描述的、这里显示的结构或设计的细节加限制。所以,显然,以上公开的具体的实施例可被改变或修改,比起所有的这样的变化被认为属于本发明的范围和精神。因此,这里寻求的保护是在下面权利要求
中阐述的内容。
权利要求
1.一种方法,包括对于与至少一个第一分组相关联的信息执行至少一个奇偶运算;以及传送与至少一个第一分组相关联的所述信息和表示所述至少一个奇偶运算的信息。
2.权利要求
1的方法,包括访问来自多个第一分组的每个的至少一个预定位置的至少一个比特。
3.权利要求
1的方法,其中执行奇偶运算的步骤包括执行二进制奇偶运算。
4.权利要求
1的方法,其中传送表示所述奇偶运算的所述信息的步骤包括根据所述至少一个奇偶运算形成至少一个第二分组。
5.权利要求
1的方法,其中传送与所述至少一个第一分组相关联的所述信息和表示奇偶运算的信息的步骤包括根据与所述至少一个第一分组相关联的所述信息和表示奇偶运算的所述信息形成至少一个第三分组。
6.一种方法,包括访问与至少一个第一分组相关联的信息和表示对与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一个奇偶运算的信息;以及根据与至少一个第一分组相关联的信息和表示对与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一个奇偶运算的信息,确定与所述至少一个第二分组相关联的信息。
7.权利要求
6的方法,其中访问与至少一个第一分组相关联的信息和表示所述至少一个奇偶运算的信息的步骤包括接收包括与至少一个第一分组相关联的所述信息和表示所述至少一个奇偶运算的信息的至少一个第三分组。
8.权利要求
6的方法,其中访问与至少一个第一分组相关联的所述信息和表示对与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一个奇偶运算的所述信息的步骤包括访问表示对于与至少一个第一分组和至少一个第二分组相关联的所述信息执行的至少一个二进制奇偶运算的信息。
9.权利要求
6的方法,包括确定所述至少一个第二分组被丢失或被损坏。
10.权利要求
6的方法,其中确定与所述至少一个第二分组相关联的所述信息包括确定与所述至少一个第二分组相关联的至少一个比特。
专利摘要
本发明提供用于重建丢失的或损坏的分组的方法。该方法的一个实施例可包括对于与至少一个第一分组相关联的信息执行至少一次奇偶运算。方法还可包括传送与至少一个第一分组相关联的信息和表示所述至少一次奇偶运算的信息。该方法的另一个实施例包括访问与至少一个第一分组相关联的信息和表示对于与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一次奇偶运算的信息。该方法还可包括根据与至少一个第一分组相关联的信息和表示对于与至少一个第一分组和至少一个第二分组相关联的信息执行的至少一次奇偶运算的信息,确定与所述至少一个第二分组有关的信息。
文档编号H04L1/00GK1992583SQ200510135745
公开日2007年7月4日 申请日期2005年12月29日
发明者黄大威 申请人:朗迅科技公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1