用于使用n个通道保护数据的分发和存储的方法和装置的制作方法

文档序号:7547017阅读:201来源:国知局
专利名称:用于使用n个通道保护数据的分发和存储的方法和装置的制作方法
技术领域
本发明一般地涉及电气、电子和计算机领域,更具地说,涉及数据的存储和分发。
背景技术
当通过通信通道(多个)传输数据时,会遇到多种技术挑战。首先,重要的是有效地利用通信通道(多个)的带宽。此外,防止数据受到无意或未授权的访问也很重要。传统上,这两个挑战可以分别使用压缩和加密技术独立地解决。例如,当目标接收方(多个)必须完全恢复数据时,可以使用诸如Huffman编码或Lempel-Ziv算法之类的无损压缩算法压缩数据,然后使用基于DES (数据加密标准)或AES (高级加密标准)标准的基于私钥的密码或使用基于公钥的密码(例如,基于RSA加密技术的密码)加密数据。

如果只使用一个通信通道,则成功获取加密密钥的攻击将完全破解数据。因此,需要使用多个通信通道来传输数据以降低风险。例如,如果有N个通信通道可用,则可以将数据分为N个部分,每个部分在通过N个通道之一传输之前被压缩和加密。因此,攻击者必须破解所有N个通道中使用的加密密码才能完全破解数据。但是,随着每个密码被破解,攻击者了解至少部分数据。这种部分安全性漏洞仍然是不希望发生的,尤其是当数据高度敏感时(例如,诸如社保号之类的私人信息)。当数据安全性特别重要时,当且仅当所有N个通道均被破解时,才会破解数据。换言之,不允许存在部分安全性漏洞。典型地,使用(N,N)秘密共享机制来满足此安全性约束。例如,参见A. Shamir所著的“How toShare a Secret”(如何共享秘密,发表于Communications of the ACM,第22卷,612-13页,1979年,其在此引入作为参考)。通常,(N,N)秘密共享机制将秘密(即,数据)分发到N个参与方。但是,完美的秘密共享机制要求秘密的每个共享部分与秘密本身一样大。因此,使用完美的(N,N)秘密共享机制传输的总位数是压缩后的数据长度(以位为单位)的N倍。这种待传输位数的增加从带宽利用的角度而言被证明成本太高。为了在不实施完美秘密共享的情况下,提高防止数据遭受部分安全性漏洞威胁的能力,一种可能的方法是(i)使用可逆变换来变换数据,(ii)将变换后的数据分为N个部分,然后(iii)在传输之前独立地压缩和加密所述N个部分。此方法的主要缺点是攻击者在破解每个密码之后获取的有关数据的信息量仍很大。例如,如果变换为可逆傅里叶变换,则对于每个破解的密码,攻击者将获取有关变换(频率)域中数据的信息。因此,需要通过N个通信通道分发数据(或将数据存储到N个目的地中)的改进的方法和装置。

发明内容
一般而言,提供了用于使用N个通道保护数据的分发和存储的方法和装置。根据本发明的一个方面,使用多个(Nf)通道分发输入数据序列X。将所述输入数据序列X分割成N个子序列;并且使用一组带有N个独立编码器和一个联合解码器的SI印ian-Wolf 编码将所述N个子序列编码成N个比特流。可以选择所述Slepian-Wolf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增加,除非所有N个比特流均被破解。然后传输或存储所述N个比特流。在接收方处,所述N个比特流可以可选地被组合成所述输入数据序列。还可以选择所述SI印ian-Wolf编码以确保在所有N个比特流均可用的情况下,完全解码所述N个子序列。所述N个子序列包括长度分别为U、L2、…、Ln的数据XpX2、…、Xn,并且所述SI印ian-Wolf编码以比率Rp R2,…、Rn将所述数据X1' \、…、Xn编码成N个比特流。可以选择所述Slepian-Wolf编码以确保(i)在X可以被完全解码的条件下,0彡(W…+Rn)/N-H(X)基本被最小化,其中H(X)表示X的熵率;和/或(ii)在X可以被完全解码的条件下,0 ( H(XiITi)^Ri基本被最大化,其中Ti表示(X1,…Xi^Xw,…XN}的任意严格子集,H(XiITi)表示在给定Ti的情况下,Xi的有条件熵率。可以选择所述Slepian-Wolf编码以将所述N个子序列编码成所述N个比特流,所述比特流的比率受到用户输入、传输通道状况以及存储要求中的一个或多个的约束。可以 在分割步骤之前使用可逆变换可选地预处理所述输入数据序列。根据本发明的另一方面,使用多个(N个)通道分发输入数据序列X。使用无损数据压缩技术压缩所述输入数据序列X ;将压缩后的输入数据序列分割成N个子序列;以及分发所述N个子序列。通过参考下面的详细描述和附图,将更全面地理解本发明以及本发明的进一步特征和优点。


图I示出采用加密来保护数据序列的常规(N,N)秘密共享机制100 ;图2示出常规Skpian-Wolf编码系统;图3示出根据本发明的一个实施例的结合了 SI印ian-Wolf编码系统的安全数据分发/存储系统;图4示出根据本发明的一个备选实施例的结合了 SI印ian-Wolf编码系统的安全数据分发/存储系统;图5示出根据本发明的一个备选实施例的使用传统无损数据压缩的安全数据分发/存储系统;以及图6示出可在实现本发明的一个或多个方面和/或要素中使用的计算机系统600。
具体实施例方式本发明提供用于在N个通信通道上分发数据(或将数据存储到N个目的地)的方法和装置。本发明的一个方面将数据序列编码成N个比特流,可以从所述N个比特流完全恢复数据。然后在N个通道上分发所述N个比特流或将其存储到N个目的地中。所述数据被压缩,因为N个比特流中的总位数通常小于用于在编码之前描述数据的总位数。所述数据的分发和/或存储是安全的,因为如果没有大量计算工作,无法破解数据的任何部分。换言之,获取数据的任何部分所需的计算复杂度相对于数据的长度呈指数增加,除非所有N个比特流均被破解。如在此使用的,术语“在N个通道上传输数据”和“在N个通道上分发数据”和这些术语的变型应包括在N个通道上存储数据。在一个实施例中,本发明在N个通信通道上分发数据(或将数据存储到N个目的地),同时满足以下约束I.有效利用带宽(或存储)资源(例如,传输的总位数接近压缩后的数据的长度(以位为单位));以及2.使数据免于部分安全性漏洞(例如,不执行大量计算工作就无法破解数据的任何部分,即,获取数据的任何部分所需的计算复杂度相对于数据的长度呈指数增加,除非所有N个比特流均被破解)。根据本发明的一个方面,下面进一步讨论采用带有N个独立编码器的Slepian-Wolf编码将数据X编码成N个比特流,如下所示首先将X分为N个具有相等长度L的部分X1'X2、…、XN,然后使用SI印ian-Wolf编码的N个编码器分别以比率Ri、R2、…、 Rn (以每个输入符号的位数表示)将Xp X2、…、Xn编码成N个比特流V B2、…、Bn,以便I.可以从N个比特流中完全恢复X ;2. ( + +- +Rn) /N 接近 X 的熵率 H(X);以及3.对于所有 i=l、2、...N,R^H(Xi),其中 H(Xi)表示 Xi 的熵率。如果(R1+R2+…+Rn)/N>H (X),则可以满足第一条件(S卩,可以从N个比特流中完全恢复X);第二条件直接与实现压缩的目的相关。最后,第三条件暗示即使Bi被破解,攻击者要从Bi恢复Xi,则计算复杂度相对于Li呈指数增加。根据本发明的另一方面,下面进一步讨论首先压缩数据,然后将压缩后的数据分割成N个比特流以便传输或存储。如果压缩近乎完美(即,压缩达到数据的熵率给出的理论极限),则表示压缩后的数据的比特流基本上是完全随机的。因此,只要至少一个比特流未被破解,攻击者便仍需要呈指数的巨大计算复杂度来完全破解数据。如果攻击者知道数据如何被分割和传输,则攻击者可尝试将他/她的精力集中于通过在一段较短时间内观察所有N个通信通道来破解压缩后的数据的一个顺序部分。如果所使用的压缩算法未被仔细构思和设计以防止成功解码压缩后的数据的一个顺序部分,则这可能导致部分安全性漏洞。(N, N)秘密共享机制图I示出采用加密来保护数据序列X的常规(N,N)秘密共享机制100。如图I所示,在发送侧,示例性(N,N)秘密共享机制包括使用例如可逆变换来变换数据的变换110、将变换后的数据分为N个部分的分割器120,以及在传输之前独立地压缩和/或加密所述N个部分的N个可选压缩/加密块130-1至130- N。在接收侧,示例性(N,N)秘密共享机制110包括用于对发送的N个部分进行解压缩和/或解密的N个解压缩/解密块140-1至140- N、用于组合N个可选解压缩/解密块140-1至140- N的输出的合并块150,以及执行块110所施加的变换的逆操作的逆变换块160。Slepian-Wolf 编石马一般而言,SI印ian-Wolf定理涉及两个或更多关联数据流的无损压缩。参阅D. Slepian和 J. K Wolf 所著的“Noiseless Coding of Correlated Information Sources”(关联信息源的无噪声编码,IEEE Trans. On Information Theory,第 19 卷,471-480 页,1973年,其在此引入作为参考)。通常,每个关联流被单独编码并且来自所有这些编码器的压缩后的数据由单个解码器共同解码。一般而言,与假设数据流独立的编码器相比,单独编码器可以利用数据流关联的事实实现更好的压缩率。图2示出常规SI印ian-Wolf编码系统200。如图2所示,示例性SI印ian-Wolf 编码系统200包括N个编码器210-1至210-N和一个联合解码器250。Slepian-Wolf编码系统200独立地将N个数据序列XpX2、…、Xn压缩为N个比特流。所述N个比特流的比率分别为Ri、R2、…、Rn (以每个符号的位数表示)。联合解码器250将N个比特流联合解码为N个数据序列Xi、X2、…、XN。每个编码器210可以独立地采用相同或不同的比率民。需要指出Ri 彡 H (Xi IX1,…Xh,Xi+1,…XN),以及R^R2+* +Rn ^ H(X1X2*** Xn),
其中H(X)表示X的熵率,Ti表示{&,Xi^Xp1,…XJ的任意严格子集,并且 H(XjTi)表示在给定Ti的情况下,Xi的有条件熵率。使用Slepian-Wolf编码保护分发/存储如上所述,本发明的各方面在N个通信通道上分发数据(或将数据存储到N个目的地)。根据本发明的一个方面,采用带有N个独立编码器的Slepian-Wolf编码将数据X编码成N个比特流,如下所示首先将输入数据X分为N个具有相等长度L的部分XpX2、…、Xn,然后使用SI印ian-Wolf编码的N个编码器分别以比率Rp R2,…、Rn (以每个输入符号的位数表示)将XpX2、…、Xn编码成N个比特流B2、…、Bn。来自N个编码器的N个压缩后的比特流&、B2、…、Bn由单个解码器联合解码。图3示出根据本发明的一个实施例的结合了 Slepian-Wolf编码系统的安全数据分发/存储系统300。一般而言,安全数据分发系统300采用带有N个编码器的Slepian-Wolf编码将数据X编码成N个比特流。如图3所示,安全数据分发/存储系统300包括分割器310、Slepian-Wolf编码系统320以及合并器350。示例性Skpian-Wolf编码系统320包括N个编码器330-1至330-N和一个以类似于图2的对应组件的方式执行操作的联合解码器340。如图3所不,输入数据X被分割器310分割成N个具有相等长度L的部分X1J2、…、Xno N个编码器330-1至330-N分别以比率札、R2、…、Rn (以每个符号的位数表示)将X1、X2 >…、Xn编码成N个比特流B2、…、Bn。来自N个编码器330-1至330-N的N个压缩后的比特流BpB2、…、Bn由单个联合解码器340联合解码。合并块350组合解码后的输出Xp X2,…、Xn以再现输入数据X。合并块350通过将N个子序列合并成单个数据序列来执行分割器310的处理的逆操作。图4示出根据本发明的一个备选实施例的结合了 Slepian-Wolf编码系统的安全数据分发/存储系统400。如图4所示,示例性安全数据分发/存储系统400包括分割器410、Slepian-Wolf编码选择器415、Slepian-Wolf编码系统420以及合并器450。示例性SI印ian-Wolf编码系统420包括N个编码器430-1至430-N和一个以类似于图2的对应组件的方式执行操作的联合解码器440。如图4所示,输入数据X被分割器410分割成N个具有相等长度L的部分X1J2、…、XN。编码选择器415以下面进一步介绍的方式处理输入数据X以选择适当的SI印ian-Wolf编码将分割器410的输出编码成N个比特流,以便在所有N个比特流均可用的情况下,可以完全解码所述N个子序列,并且在N个比特流中的至少一个缺失的情况下,不能解码N个子序列中的任意一个子序列。使用选定的SI印ian-Wolf编码(SW编码),N个编码器430分别以比率H…、Rn (以每个输入符号的位数表示)将Xp X2、…、Xn编码成N个比特流B2、…、Bn。来自N个编码器430的N个压缩后的比特流BpB2、…、Bn由单个联合解码器440再次使用选定的Slepian-Wolf编码来联合解码。合并块450组合解码后的输出X1'\、…、Xn以再现输入数据X。Slepian-Wolf编石马的选择考虑下面的实例。假设X是长度为L的待分发(或存储)二进制数据序列。将X作为输入,分割器410将输入数据X分割成N个具有相等长度L的子序列Xp X2、…、XN。与此同时,编码选择器415针对X从编码库选择带有N个编码器430的Slepian-Wolf编码。 然后,每个Xi (i=l、2、…、N)由选定的SI印ian-Wolf编码中的一个编码器430以比率Ri编码成比特流B”为了有效地利用带宽(或存储)资源,编码选择器415尝试找到这样的Slepian-Wolf 编码,使得( + +-+Rn)/N-H(X) 约束(I)在X可被完全解码的条件下基本被最小化,其中H(X)表示X的熵率。为了使数据免于部分安全性漏洞,编码选择器415尝试找到这样的SI印ian-Wolf编码,使得0 彡 H (Xi I Ti) /-Ri 约束(2 )在X可被完全解码的情况下基本被最大化,其中Ti表示(X1,的任意严格子集,H(Xi I Ti)表示在给定Ti的情况下,Xi的有条件熵率。假设约束(2)成立。于是,如果Bi被破解,则攻击者从Bi恢复Xi所需的计算复杂度相对于L呈指数增加(在集合Si中搜索其基数IsiI满足Log I Si I [H(Xi) -Ri],的Si,其中对数以2为底)。实际上,只要存在保持安全的Bj,攻击者从…卜工、Bj+1、…Bn恢复任何Xi (i ^ j )所需的计算复杂度仍相对于L呈指数增加。需要指出,如果H (Xi I Ti) >H (Xi | X1,…父卜” Xi+1,…XN)针对所有i=l、2、…、N以及Ti的所有选择成立,则存在满足约束(I)和(2)的SI印ian-Wolf编码,其中IKXiIX1,…XH,Xi+1,."Xn)表示在给定X1,…XH,Xi+1,…Xn的情况下,Xi的有条件熵率。使用压缩后的数据的分割保护分发/存储如上所述,本发明的另一方面首先压缩输入数据,然后将压缩后的数据分割成N个比特流以便传输或存储。本发明认识到,如果压缩几近完美(即,压缩基本达到数据的熵率给出的理论极限),则表示压缩后的数据的比特流基本上是完全随机的。因此,只要至少一个比特流未被破解,攻击者便仍需要呈指数的巨大计算复杂度来完全破解数据。如果攻击者知道数据如何被分割和传输,攻击者便可尝试将他/她的精力集中于通过在一段较短时间内观察所有N个通信通道来破解压缩后的数据的一个顺序部分。如果所使用的压缩算法未被仔细构思和设计以防止成功解码压缩后的数据的一个顺序部分,这可能导致部分安全性漏洞。图5示出根据本发明的一个备选实施例的使用传统无损数据压缩的安全数据分发/存储系统500。如图5所示,安全数据分发/存储系统500包括无损数据压缩器510和分割器520。因此,安全数据分发/存储系统500在无损数据压缩器510处压缩输入数据,然后由分割器520将压缩后的数据分割成N个比特流以进行安全传输或存储。只要至少一个比特流未被破解,就需要呈指数的巨大计算复杂度来完全破解数据。存在多种适当的无损压缩技术,例如Huffman编码或Lempel-Ziv编码技术。示例性系统和制品的详细i兑明
如本领域的技术人员将理解的,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面(在此通常被称为“电路” “模块”或“系统”)的实施例的形式。此外,本发明的各方面可以采取在一个或多个计算机可读介质(所述介质中包括有计算机可读程序代码)上体现的计算机程序产品的形式。本发明的一个或多个实施例或其要素可以通过包括存储器和至少一个处理器的装置的形式实现,所述至少一个处理器与所述存储器耦合并且可操作以执行示例性方法步骤。一个或多个实施例可以使用在通用计算机或工作站上运行的软件。图6示出可用于实现本发明的一个或多个方面和/或要素的计算机系统600。参考图6,此类实现可以例如采用处理器602、存储器604以及例如由显示器606和键盘608组成的输入/输出接口。如在此使用的,术语“处理器”旨在包括任何处理设备,例如包括CPU (中央处理单元)和/或其他形式的处理电路的处理设备。此外,术语“处理器”可以指一个以上的单独处理器。术语“存储器”旨在包括与处理器或CPU关联的存储器,例如RAM (随机存取存储器)、R0M (只读存储器)、固定存储设备(例如,硬盘)、可移动存储设备(例如,软盘)、闪存等。此外,如在此使用的,短语“输入/输出接口”旨在例如包括一个或多个用于将数据输入处理单元的装置(例如,鼠标),以及一个或多个用于提供与处理单元关联的结果的装置(例如,打印机)。处理器602、存储器604以及诸如显示器606和键盘608之类的输入/输出接口可以例如通过作为数据处理单元612的一部分的总线610进行互连。例如通过总线610的适当互连也可以提供到网络接口 614(例如网卡,可以提供网卡来与计算机网络对接),以及提供到介质接口616 (例如软盘或⑶-ROM驱动器,可以提供所述软件或⑶-ROM驱动器来与介质618对接)。可以提供模拟-数字转换器(多个)620以便接收诸如模拟视频馈入之类的模拟输入并将它们数字化。此类转换器(多个)可以与系统总线610互连。因此,如在此描述的,包括用于执行本发明方法的指令或代码的计算机软件可以存储在一个或多个关联的存储设备(例如,ROM、固定存储器或可移动存储器)中,当准备使用时,所述软件部分地或整体地加载(例如,加载到RAM中)并由CPU实现。此类软件可以包括但不限于固件、驻留软件、微代码等。适合于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线610间接连接到存储元件604的处理器602。所述存储元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘608、显示器606、指点设备等)可以直接(例如通过总线610)或通过中间I/O控制器(为简洁而省略)与系统相连。诸如网络接口 614之类的网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。如在此使用的(其中包括权利要求),“服务器”包括运行服务器程序的物理数据处理系统(例如,图6所示的系统612)。将理解的是,此类物理服务器可以包括显示器和键盘,也可以不包括显示器和键盘。
如指出的那样,本发明的各方面可以采取在一个或多个计算机可读介质(所述介质上包括有计算机可读程序代码)上体现的计算机程序产品的形式。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。介质块618是非限制实例。计算机可读存储介质的更具体的例子(非穷举的列表)包括具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规过程式程序设计语言一诸如” C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图描述本发明的各方面。应当理解,流程图和/或方块图的每个方块以及流程图和/或方块图中各方块的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些计算机程序指令产生实现流程图和/或方块图中的方块中规定的功能/操作的装置。也可以将这些计算机程序指令存储在能使得计算机、其它可编程数据处理装置或其他设备以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或方块图中的方块中规定的功能/操作的指令的制品。也可以将计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或方块图中的方块中规定的功能/操作的过程。附图中的流程图和方块图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在此方面,流程图或方块图中的每个方块可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用 于实现规定的逻辑功能的可执行指令。也应当注意,在某些备选实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,示为连续的两个方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,方块图和/或流程图中的每个方块、以及方块图和/或流程图中的方块的组合,可以使用执行规定的功能或操作的基于专用硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。在此描述的方法步骤例如可以与被设计为执行此类步骤的通用计算机结合,或者与用于执行此类步骤的硬件结合,如在此描述的那样。此外,在此描述的包括例如获取数据流和对数据流进行编码的方法步骤还可以与诸如摄像机或麦克风之类的物理传感器结合,从而获取数据流。应该注意的是,在此描述的任何方法都可以包括提供包含在计算机可读存储介质上体现的各个软件模块的系统的额外步骤。所述方法步骤然后可以使用上述在一个或多个硬件处理器602上执行的各个系统软件模块和/或子模块来执行。在某些情况下,可以采用专用硬件来实现在此描述的一个或多个功能。此外,计算机程序产品可以包括具有适于实现在此描述的一个或多个方法步骤的代码的计算机可读存储介质,所述方法步骤包括为系统提供各个软件模块。在任何情况下,需要理解的是,在此示出的组件可以通过各种形式的硬件、软件或它们的组合实现;例如,专用集成电路(ASICS)、功能电路、一个或多个适当设计的包括关联存储器的通用数字计算机等。在给出在此提供的本发明教导的情况下,本领域技术人员将能够构想本发明的组件的其他实现。此处使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定存在声明的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或增加一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们的组合。以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于本领域的 普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使本领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。
权利要求
1.一种用于使用多个通道来分发输入数据序列X的方法,所述多个通道为N个通道,所述方法包括 将所述输入数据序列X分割成N个子序列; 使用一组带有N个独立编码器和一个联合解码器的Slepian-Wolf编码将所述N个子序列编码成N个比特流;以及 使用所述N个通道分发所述N个比特流。
2.如权利要求I中所述的方法,其中选择所述Slepian-Wolf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增加,除非所述 N个比特流均被破解。
3.如权利要求I中所述的方法,还包括将所述N个比特流组合成所述输入数据序列的步骤。
4.如权利要求I中所述的方法,其中选择所述Slepian-Wolf编码以确保在所有N个比特流均可用的情况下,完全解码所述N个子序列。
5.如权利要求I中所述的方法,其中分发步骤包括以下操作中的一个或多个传输所述N个比特流,以及将所述N个比特流存储在存储介质内。
6.如权利要求I中所述的方法,其中所述N个通道包括在时间上分散的目的地和在空间上分散的目的地中的一个或多个。
7.如权利要求I中所述的方法,其中所述N个子序列包括长度分别为LpL2、…、1^的数据X1' X2、…、Xn,并且其中所述Slepian-Wolf编码以比率R1、R2'…、Rn将所述数据X1、X2>…、Xn编码成N个比特流。
8.如权利要求I中所述的方法,其中选择所述Slepian-Wolf编码以确保在X可被完全 码的条件下,0彡( + +-+Rn)/N-H(X)基本被最小化,其中H(X)表示X的熵率。
9.如权利要求I中所述的方法,其中选择所述Slepian-Wolf编码以确保在X可被完全解码的条件下,0 ( H(XiITi)^Ri基本被最大化,其中Ti表示(X1,…Xi^Xw, -X1J的任意严格子集,H(XiITi)表示在给定Ti的情况下,Xi的有条件熵率。
10.如权利要求I中所述的方法,其中所述Slepian-Wolf编码被实现为低密度奇偶校验(LDPC)码。
11.如权利要求I中所述的方法,其中选择所述Slepian-Wolf编码以将所述N个子序列编码成所述N个比特流,所述比特流的比率受到用户输入、传输通道状况以及存储要求中的一个或多个的约束。
12.如权利要求I中所述的方法,还包括在分割步骤之前使用可逆变换处理所述输入数据序列的步骤。
13.一种用于使用多个通道来分发输入数据序列X的方法,所述多个通道为N个通道,所述方法包括 使用无损数据压缩技术压缩所述输入数据序列X ; 将压缩后的输入数据序列分割成N个子序列;以及 使用所述N个通道分发所述N个子序列。
14.如权利要求13中所述的方法,还包括将所述N个子序列组合成所述输入数据序列的步骤。
15.如权利要求13中所述的方法,其中分发步骤包括以下操作中的一个或多个传输所述N个子序列,以及将所述N个子序列存储在存储介质内。
16.如权利要求13中所述的方法,其中所述N个通道包括在时间上分散的目的地和在空间上分散的目的地中的一个或多个。
17.如权利要求13中所述的方法,还包括在分割步骤之前使用可逆变换处理所述输入数据序列的步骤。
18.一种用于使用多个通道来分发输入数据序列X的计算机程序产品,所述多个通道为 个通道,所述计算机程序产品包括其上包含计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括 被配置为将所述输入数据序列X分割成N个子序列的计算机可读程序代码; 被配置为使用一组带有N个独立编码器和一个联合解码器的Slepian-Wolf编码将所述N个子序列编码成N个比特流的计算机可读程序代码;以及 被配置为使用所述N个通道分发所述N个比特流的计算机可读程序代码。
19.如权利要求18中所述的计算机程序产品,其中选择所述Slepian-ffoIf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增力口,除非所述N个比特流均被破解。
20.如权利要求18中所述的计算机程序产品,其中选择所述Slepian-Wolf编码以确保 在所有N个比特流均可用的情况下,完全解码所述N个子序列。
21.如权利要求18中所述的计算机程序产品,其中所述分发包括以下操作中的一个或多个传输所述N个比特流,以及将所述N个比特流存储在存储介质内。
22.一种用于使用多个通道来分发输入数据序列X的装置,所述多个通道为N个通道,所述装置包括 分割器,用于将所述输入数据序列分割成N个子序列; 一组带有N个独立编码器和一个联合解码器的Skpian-Wolf编码,用于将所述N个子序列编码成N个比特流;以及 编码选择器,用于选择所述Slepian-Wolf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增加,除非所述N个比特流均被破解。
23.如权利要求22中所述的装置,其中选择所述Slepian-Wolf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增加,除非所述N个比特流均被破解。
24.如权利要求22中所述的装置,其中选择所述Slepian-Wolf编码以确保在所有N个比特流均可用的情况下,完全解码所述N个子序列。
25.如权利要求22中所述的装置,其中所述N个通道包括在时间上分散的目的地和在空间上分散的目的地中的一个或多个。
全文摘要
提供了使用N个通道保护数据分发和存储的方法和装置。使用多个(N个)通道分发输入数据序列X。在一个实施例中,将所述输入数据序列X分割成N个子序列;使用一组带有N个独立编码器和一个联合解码器的Slepian-Wolf编码将所述N个子序列编码成N个比特流。可以选择所述Slepian-Wolf编码以确保获取所述输入数据序列的一部分的计算复杂度相对于所述输入数据序列的长度呈指数增加,除非所有N个比特流均被破解。在另一实施例中,使用无损数据压缩技术压缩所述输入数据序列X;以及将压缩后的输入数据序列分割成要分发的N个子序列。
文档编号H04K1/10GK102783071SQ201080064727
公开日2012年11月14日 申请日期2010年11月10日 优先权日2010年2月25日
发明者A·贾格莫汉, D·何, L·利甘 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1