网关中的数据缓存的方法
【专利摘要】本发明提出了在网关(即,家庭网络和互联网之间的边缘处的设备)中缓存要备份/上传的内容。网关被视为稳定的和几乎总是连接的。网关的稳定性大大高于连接到局域网的其他设备的稳定性。此外,局域网上的数据速率远远高于广域网。在向云上传数据期间,本发明提出在本地网关中缓存数据以便一旦数据已被上传到本地网关,设备可以离开局域网并且之后网关将内容上传至云,例如远程网关或连接到这些远程网关的对等体,以便备份内容。
【专利说明】网关中的数据缓存的方法
【技术领域】
[0001]本发明涉及一种在网关中缓存数据的方法。本发明特别涉及数据的备份。
【背景技术】
[0002]数字数据变得越来越普遍(照片、视频、文件)和越来越重要。数字数据存储在盘上,而盘是容易发生故障、被盗或例如火灾的任何灾难性事件的脆弱载体。然而,很少有人为他们的个人内容进行良好的备份实践的几个原因在于从没有意识到备份的重要性或者缺乏适合于他们的良好的自动备份策略。最好的备份手段是部署类似于企业网络中采用的自动场外(ofT-site)备份。场外特征是非常重要的,因为在连接到计算机上的第二个盘上的备份使得用户远离遭受盗窃、火灾或雷电。然而,用户的互联网连接的缓慢上行链路阻碍了场外备份以及相关的共享问题。因此,执行备份需要长时间的可用时间(uptime)以上传内容。此外,人们从台式计算机转移到具有少得多的可用时间的便携/移动设备而同时增加了他们要备份和共享的数字内容的产量。然而,用户希望可以在设备的可用时间内透明地处理共享或备份所需的任何上传任务,而无需用户确保它将保持接通足够长的时间,因为这需要侵入式(intrusive)的改变,例如禁用自动待机和为设备接通电源。
[0003]与短的连接周期相结合的缓慢上行链路阻碍了在线存储应用(备份、共享)的大规模部署。随着要备份的内容的尺寸增加而ADSL带宽在过去几年中还没有发展很多,这已变得越来越真实。例如,上传IGB (300张照片的相册)到在线存储需要至少2个小时的连续可用时间。因此,这些应用要求用户改变他们的行为(即,整个晚上为他们的计算机供电),从而限制了他们的部署并使得自动和无缝的备份成为不可能。
【发明内容】
[0004]本发明提出了在局域网和广域网之间的网关中缓存要备份/上传的内容。
[0005]为此,本发明提出了一种在包含记录介质的第一网关中进行数据缓存的方法,所述第一网关通过第一局域网连接到至少一个本地设备,并通过广域网连接到至少一个包含记录介质的远程设备。根据本发明,该方法包括以下步骤:
[0006]-通过局域网,从所述至少一个本地设备经由所述第一网关发送要被存储在所述至少一个远程设备上的数据,
[0007]-在第一网关上接收数据,
[0008]-在第一网关中缓存数据;
[0009]-经由广域网,从第一网关将数据发送到用于存储该数据的所述至少一个远程设备。
[0010]根据一个优选的实施例,所述方法还包括在发送步骤之前,加密在本地网关上缓存的数据的步骤。
[0011]这使得能够保存存储在远程设备上的用户数据的隐私,因此没有来自数据所属的用户的任何控制。[0012]优选地,所述方法还包括以下步骤:将数据分割成k个块,k个块中的每个块被分别发送到用于存储它的k个远程设备之一。
[0013]由于数据被分割,因此更容易找到用于存储块的存储空间,而不是在同一记录介质上存储整个数据。
[0014]优选地,该方法包括以下进一步的步骤:在发送步骤之前添加冗余数据到所述数据、获得η个数据块,其中n>k。
[0015]在一个优选的实施例中,所述η个块复制k个块,(n-k)个块是k个块中的一些块的副本。
[0016]由于数据是复制的,这使得数据的取回更容易并且系统更安全。如果在用户需要取回他的数据时记录介质之一是不可用的,可从另一记录介质取回在该记录介质中包含的块。
[0017]按照一种变型,使用k个块的数据形成η个块,其中,向k个块添加纠错数据。
[0018]添加纠错数据使得能够针对网络故障来保护内容。
[0019]优选地,所述第一网关包括建立每个块和存储该块的远程设备之间的索引的索引表。
[0020]因此,所述第一网关能够管理所述块到远程设备的分配,这对于取回块是必要的。这可以作为文件系统来管理。
[0021]所述小却珍贵的索引可被存储到某种分布式弹性结构(DHT)上,或存储在安全的中央服务器中。
[0022]根据最优实施例,远程设备是远程网关。
[0023]由于网关是普遍用于互连局域网和广域网的设备并且是大多数时间处于通电的设备,因此网关是用于缓存数据的优选设备。
[0024]在一个优选的实施例中,通过局域网将远程网关连接到本地设备,所述方法还包括当远程网关的本地的设备可用时,通过局域网从远程网关向远程网关的本地的设备传输数据的步骤。
[0025]由于网关可能不具有大容量的记录空间,通过在备份过程中关联远程网关的本地的设备来添加额外的存储空间可能是有用的。
[0026]优选地,所述k个数据块或所述η个数据块中的每一个存储在远程网关的本地的一个设备上。
[0027]为了优化取回,更方便的在于,不将复制的块存储在同一网关上,这使得当用于对一个已被复制的块进行备份的设备之一不可用并且假设其他设备是可用时,能够取得该块。
[0028]在一个实施例中,在将数据传输到远程网关的本地的设备之前,将数据缓存到远程网关。
[0029]这并不妨碍当远程网关的本地的设备不是立即可用时来使用他们。当设备可用时,可以异步地执行从远程网关传输数据。而且当所述设备可用时,每个块可被传输到目的地设备,并且根据目的地设备的可用性,可以与其他块异步地将每个块传输到其目的地设备。【专利附图】
【附图说明】
[0030]通过本发明的非限制性实施例的描述,本发明的其它特征和优点将显现,将在附图的帮助下说明本发明的非限制性实施例,其中:
[0031]-图1表示实施根据本发明的方法的优选实施例的系统的概览图,
[0032]-图2表示根据本发明的方法的优选实施例的流程图。
【具体实施方式】
[0033]图1中,四个局域网LANl、LAN2、LAN3和LAN4通过广域网(优选地是互联网类型)连接。在优选实施例中有4个以太网类型的网络,但也可以是相互连接外围设备的任何其他网络。
[0034]每个局域网包括网关GW, (LAN1中的GW1、LAN2中的GW2、LAN3中的GW3、LAN4中的Gff4)并包括一组外围设备,LANl上的11、12、13和14 ;LAN2上的21、22、23 ;LAN3上的31、32,33 和 LAN4 上的 41、42、43、44、45。
[0035]网关GW1、GW2、GW3和GW4通过广域网相互连接。
[0036]每个网关或它们中的至少一些包含记录介质。记录介质优选地是高容量记录介质,例如硬盘驱动器、光学记录介质、蓝光、USB记忆棒存储器、SDRAM存储器......[0037]每个设备或它们中的至少一些还包括记录设施。
[0038]网关被视为稳定的和几乎总是连接的。网关的稳定性大大高于连接到LAN的其他设备的稳定性。为了简化,我们可以认为网关和对等体(局域网上的设备)贡献相同数量的存储空间,但只是因为有比网关更多的对等体,因此对等体上比网关上有更多的可用存储空间。网关之间使用P2P (点对点)网格或系统互连,因此具有有限的带宽接入,从而导致长的发送时间。
[0039]对等体并不总是连接的,在这个意义上它们被视为是易失的。用户启动它们时,它们就连接到系统。但是,它们提供了一些重要的自由空间,并且可以通过提供一定的存储空间来贡献于系统,但由于设备的波动(churn),所述存储空间只具有有限的可用性。它们也具有到网关的高速LAN连接。
[0040]当用户想要备份一些数据时,本发明提出在将这些数据传输到要存储的远程设备之前,在本地网关中缓存这些数据。也可以在用户设备上自动运行备份应用程序而无需任何用户交互,例如备份存储在用户设备上的照片、个人电影、个人文件或文件夹。此应用程序可以按周期运行(每周一次、每月一次),或者可以在用户设备连接到局域网后尽快启云力......[0041]例如,当LANl上计算机12的用户想要备份他的设备12的部分数据时,该数据以本地局域网接口的速度被传输到网关GW1。因此,网关起到缓存的作用。这利用了高速局域网LANl的优势。例如,相比于具有比特率为128KB/S的ADSL线路(与网关互连),LANl可以具有7MB/s的比特率。因此,在将数据传输到云之前在网关GWl上缓存数据是有利的,所述云是连接到广域网的其它设备(主要是网关)复合成的。
[0042]所以,当数据被传输到本地网关GWl后,可以关闭计算机12,这不会干涉备份过程的其他部分。
[0043]本发明充分利用了局域网和广域网之间的比特率的差异。[0044]在这点上,数据已被部分备份,但尚未被提供最后一级的可靠性。
[0045]一旦将部分数据存储在网关GWl上,可以添加一定的冗余度(如果所述云是分布式结构),所述冗余是数据的部分或全部的纯粹的复制,在这种情况下,数据被上传若干次;或者是擦除(erasure)代码,在这种情况下,计算一些冗余数据并将其添加到原始数据。然后将所得的数据使用分布式(类似P2P)协议上传至一组网关,在这里是GW2、Gff3, GW4。这意味着数据在网络上的一组网关GW2、GW3、GW4上散布。网关有具有非常低的波动和几乎总是在线的优势。因此,唯一的限制因素是互联网连接吞吐量和要被发送的数据量。取决于如何配置网关(这里有2种可能的操作模式),一旦已成功向远程网关发送一条数据,本地网关决定将数据保留在其本地存储装置上(以提供数据的本地访问/共享),或者从其本地存储上丢弃该数据,使用其存储作为简单的缓存。一旦向远程网关发送了所有数据,可以认为数据被成功上传/备份。
[0046]根据某些标准,例如它们的可用性、连接到它们的对等体的数量,Gff2, Gff3, GW4中的某些网关可能会或可能不会被选中。GWl负责选择用于备份的网关。
[0047]根据本发明的一个优选实施例,由于GW2、GW3、GW4上可用的存储空间可能会受到限制,如果易失设备21-23、31-33、41-45包括自己的一些记录容量,为了将网关的数据卸载到它们的本地易失设备21-23、31-33、41-45上,其他步骤可能是有用的。数据从远程网关卸载到本地易失设备。这允许在网关中以合理的水平保持所需的存储量。一旦设备可用,可以立即从远程网关向这些远程网关的本地设备发送数据。可用可被理解为将设备连接到局域网,只要设备不可用(或接通)数据就保留在远程网关上。可用也可被理解为设备有足够的存储空间用于存储它们必须存储的数据。
[0048]因此,数据块被存储在存储对等体上,例如,每个块被存储在不同的存储对等体上或若干块可被存储在一个对等体上。然而,通过GWl选择块和选择存储这些块的对等体。一个总是连接的远程对等体可比一个不是经常连接的远程对等体更多地被使用。当分配对等体用于记录一个或多个块时,每个对等体的记录容量也是GWl考虑的一个标准。也可以考虑远程对等体的可靠性和对等体的类型(移动的或桌面的......)。
[0049]也有可能部分数据仍保留在远程网关GW2、Gff3, GW4上。
[0050]远程网关GW2、Gff3, GW4 (分别连接到存储对等体21-23、31_33、41_45)也可以被用作块的缓存。块首先到达远程(存储)网关,在这里它被缓存一段时间。这个时间段对应于最终存储对等体21-23、31-33、41-45加入家庭网络和存储网关能够推送数据(所述块)到最终存储对等体的等待时间。然而,考虑在所述块达到存储网关后立即备份数据是合理的;因为一旦所述块被存储在网关GW2、GW3、GW4上,数据就是安全的。
[0051]从计算机12向GWl的数据发送,从GWl向GW2、GW3、GW4的数据发送和从GW2、GW3、GW4向它们的本地外围设备的数据发送可以重叠或者可以按顺序一个接一个地进行。
[0052]根据本发明的最优实施例,为了隐私考虑,假定在将要被备份的内容被发送到云之前,先将其加密。
[0053]为了实现足够的可靠性,GWl向要被存储的数据添加冗余。内容被分成k个块,并通过使用擦除校正码来将这个k个块的集合扩展成更大的η个块的集合来添加冗余,从而使得η个块中的任意k个块的子集可以恢复原始数据。
[0054]Gffl中的分布式哈希表中保留允许找出哪些对等体和/或网关存储了给定块的索引;对等体保留它们已经上传到应用程序的块的列表。
[0055]本发明积极利用了被现有技术方法视为透明设备的网关。在本发明中,网关GWl负责添加冗余;随着涉及更低的数据量,这允许从对等体12到网关GWl更快的传输。一旦进行,这时它开始以广域网的速度上传数据到其他网关GW2、GW3、GW4。
[0056]在其它实施例中,可以以延迟的方式将数据下载到其他网关。可以平滑带宽的使用来为用户提供更透明的服务(即,当用户不使用他们的计算机/互联网连接时,使用上传来备份)。事实上,在用户使用他的计算机时使用整体上传可能会严重影响他的互联网浏览体验,从而使他认识到不使用该系统。这种架构还允许供应商延迟从网关到互联网的传输以便平滑使用其核心网络。
[0057]从对等体快速上传数据到网关。对等体可以随时迅速离开家庭网络,网关担当代表对等体的后台代理。当使用128kB/s的上行链路保存IG字节的存档持续超过2个小时多一点时(复制比率为1,复制比率为K,K倍的时间),相同的存档通过7MB/s带宽的家庭网络在140秒内从对等体上传到网关。140秒后,对等体可以随时离开家庭网络(例如,这可以
产生愉快的移动体验),而网关应作为后台任务处理(复制、块划分、加密......)和备份该存档。
[0058]当涉及到回收备份数据时,系统中的所有元件的作用是相反的。为了访问数据,请求的对等体12通知其网关GWl它所感兴趣的数据。网关GWl通过接触在其中上传了数据的远程网关或通过接触在其中上传了数据的网关处理对等体来代表客户端对等体12执行下载。如果数据被卸载到某一对等体,则该数据立即由相应的远程网关提取。这个远程网关之后将数据发送到请求的客户端的网关GW1。当客户端网关GWl已成功获得全部内容时,一旦其向回连接,它立即通知对等体12已经完成了它的取回请求。
[0059]在在线服务的背景下,缓存内容以在网关上备份允许用户像他所习惯的那样来待机,并且我们还表明它大大降低了备份的时间(即,备份的进程)。在短时可用的P2P服务的背景下,在边缘(edge)处进行缓存比在互联网中增加缓存高效得多。除了减少备份时间和恢复时间,还减少了缓存所需的总的存储量。因此,考虑了网络的结构。事实上,大多数的P2P应用程序忽略对等体和互联网之间的网关的存在。因此,它们不利用它的存在,而它可以大大提高性能。假设对等体连接网络足够频繁,利用这个网关可以在即使在对等体具有相当低的可用性的情况下使得P2P存储成为可能。
[0060]对等体的快速但短暂的连接和网关的缓慢但持久的连接的结合是有真正意义的。如果对等体直接上传到互联网,它们最多可以上传460MB/天。但是,如果我们认为网关是一个可以进行缓存的活动设备,对等体可以上传到网关24GB/天,并且网关可以上传直至IlGB/天。将网关转换为活动设备可以显著增强在线存储服务(P2P或云)。建议将上传任务卸载到网关是因为它提供了若干优点:
[0061]在现有技术中已知的对等系统中,由于服务器对等体和客户端对等体是反相关存在(ant1-correlated presence)的,提取内容可能是缓慢的。通过弓I入持久可用的网关,对等体之间的同步不再是问题了。这对于例如备份的延迟容忍应用是有益处的。如前所述,一旦对等体中有要在网关上备份的缓存数据,备份处理就作为网关上的后台处理继续。在网关上,根据专用保护策略(简单复制或擦除代码)复制数据并将数据划分成块。网关辅助模型的优点源于网关的几乎持久的存在,省去了最终存储对等体连接的等待时间。可用性是30%并且每天两次连接家庭网络的对等体的等待时间的平均值可估计为3个小时;而使用复制比率为3和上传带宽为128kB/s对IG字节的存档的备份时间值是6.5小时。没有活动网关,最后的值将增加50%的等待时间。
[0062]图2表示根据本发明的优选实施例的方法的实施例。
[0063]在第一步骤中,设备12将数据传输到网关GW1。所传输的数据优选地是计划要在远程设备上备份的。
[0064]如前所述,数据传输可以是自动的,或可由设备12的用户控制。
[0065]经由连接设备12和网关GWl的局域网将数据发送到网关GW1。
[0066]然后在步骤E2将数据缓存到网关GW1。一旦数据被缓存到GW1,可以断开设备12,其不再包含在备份过程中。所述设备利用局域网上的高速数据传输的优势并且因此数据被非常迅速地传输到网关GW1。因此,在此任务的一个很长的时间段内没有使用设备12的资源。
[0067]在步骤E3,网关GWl在将数据传输到由互联网网络、远程网关和设备组成的云中之前加密该数据。
[0068]可以使用任何加密方法以便以有效的方式保护内容。
[0069]一旦加密,在步骤E4向该数据添加冗余。所添加的冗余可以是该内容的复制。复制使得能够在若干远程网关和设备上保存相同的数据。这将增加恢复内容的机会。例如,当含有要被取回的内容的一部分的远程设备被断开时,如果该部分内容也存储在另一设备上,则用户可以更快速地取回他的内容。复制的块越多,恢复内容的备份副本的机会越高,但这也导致存储资源大幅增加。复制的数据可以是由用户设备根据要保存的数据的类型或由用户自己调整的、或者由网关GWl根据数据的类型、根据云的存储容量、根据用户或系统管理员输入的要求等调整的参数。
[0070]也可以添加冗余用于错误保护。
[0071]在步骤E5,内容被分割成多个块。块的数量由网关GWl按照数据的尺寸、广域网的带宽、所选远程网关和/或这些远程网关的本地的设备的数量等来调整。
[0072]块的数量也可由网络管理员来设置。
[0073]在步骤E6,然后所述块被发送到云以便在远程网关GW2、Gff3, GW4上记录,每个块被寻址到这些网关中的一个。
[0074]在步骤E7,块被接收和缓存在远程网关GW2、GW3和GW4中。数据可以明确地存储在这些网关中,但网关也可以决定将内容存储在连接到它们的本地设备中。Gffl还可以防止远程网关将数据存储到它们的本地设备中。例如,如果数据是重要的机密数据,或者如果需要经常取回该数据。
[0075]当GWl没有做出这种预防时并且当远程网关决定将数据存储到其本地设备中时,数据以块的形式被传输到本地设备。例如,一个或多个块可以被存储在连接到网关的部分或所有设备上。这些设备必须配备有存储设施。远程网关也可以在它们自己的记录介质中存储部分内容;当本地设备连接或可用时,远程网关也可以延迟向它们的本地设备发送数据。
[0076]这并不妨碍当远程网关的本地的设备不是立即可用时来使用它们。当设备可用时,可以对每个数据块异步地执行从远程网关传输数据。而且当所述设备可用时,每个块可被传输到目的地设备,并且根据目的地设备的可用性,可以与其他块异步地将每个块传输到其目的地设备。
[0077]至少远程网关负责了解在其局域网上的哪个设备保留哪个块。GWl可以具有表明哪个远程网关存储了哪个数据的表,但每个远程网关GW2、Gff3, GW4负责保存其自己的给出哪个本地设备保存哪个块的索引的表。GWl也可以存储其中已经存储了来自其本地设备的数据的远程网关的索引表的副本。
[0078]所述珍贵的索引也可以被存储在一些弹性数据结构中(分布式哈希表)或者也可以存储在中央服务器中。索引也可由对等体存储,使得即使网关持续缓存数据也只使其起到更“被动”的作用。
[0079]本发明并不限于这里给出的实施例,而是也适用于其他类型的局域网和广域网以及其它类型的设备。
【权利要求】
1.一种在包含记录介质的第一网关(GWl)中进行数据缓存的方法,所述第一网关(GWl)通过第一局域网(LAN1)连接到至少一个本地设备(12),并通过广域网连接到至少一个包含记录介质的远程设备(GW1,Gff2, GW3)。所述方法的特征在于它包括以下步骤: -通过所述局域网(LAN1),从所述至少一个本地设备(12)经由所述第一网关(GWl)发送(El)要被存储在所述至少一个远程设备(GW1,Gff2, Gff3)上的数据, -在所述第一网关(GWl)上接收所述数据, -在所述第一网关(GWl)中缓存(E2)所述数据; -经由所述广域网,从所述第一网关(GWl)将所述数据发送(E6)到用于存储(E7)该数据的所述至少一个远程设备(GWl,Gff2, GW3)。
2.如权利要求1的方法,其特征在于,它还包括在第二发送步骤(E6)之前,加密在本地网关(GWl)上的缓存的数据的步骤(E3)。
3.如权利要求1或2的方法,其特征在于,它还包括将所述数据分割(E5)成k个块的步骤,所述k个块中的每个块被分别发送到用于存储它的k个远程设备之一(GW1,GW2,GW3)。
4.如权利要求3的方法,其特征在于,它还包括步骤(E4):在第二发送步骤(E7)之前添加冗余数据到所述数据,获得η个数据块,其中n>k。
5.如权利要求4的方法,其特征在于,所述η个块复制所述k个块,(n-k)个块是k个块中的一些块的副本。
6.如权利要求4的方法,其特征在于,使用所述k个块的数据形成所述η个块,其中,向所述k个块添加纠错数据。
7.如权利要求4的方法,其特征在于,所述k个块包括要被记录的数据和相关的纠错数据,(n-k)个块是k个块中的一些块的副本。
8.如权利要求3的方法,其特征在于,所述第一网关(GWl)包括建立每个块和存储所述块的远程设备(GW1,Gff2, Gff3)之间的索引的索引表。
9.如权利要求1至8任一项的方法,其特征在于,所述远程设备(GW1,Gff2,Gff3)是远程网关(GW1,Gff2, GW3)。
10.如权利要求9的方法,其特征在于,通过局域网(LAN2,LAN3,LAN4)将所述远程网关(GW1,Gff2, GW3)连接到本地设备(21-23,31-33,41-45),所述方法还包括步骤:当远程网关(GW1,Gff2, Gff3)的本地的设备(21-23,31-33,41-45)可用时,通过所述局域网(LAN2,LAN3,LAN4)从所述远程网关(GW1,Gff2, Gff3)向所述远程网关(GW1,Gff2, Gff3)的本地的设备(21-23,31-33,41-45)传输(E8)所述数据。
11.如权利要求10和权利要求3至6中任一项的方法,其特征在于,所述k个数据块或所述η个数据块中的每一个块存储在远程网关(GW1,Gff2, Gff3)的本地的一个设备(21-23,31-33,41-45)上。
12.如权利要求10或11的方法,其特征在于,在将数据传输到远程网关(GW1,Gff2,Gff3)的本地的设备(21-23,31-33,41-45)之前,将数据缓存到远程网关(GW1,GW2,GW3)。
【文档编号】H04L29/08GK103493461SQ201180069794
【公开日】2014年1月1日 申请日期:2011年12月23日 优先权日:2011年3月31日
【发明者】G.斯特劳布, E.勒梅里尔, N.勒斯古阿耐科, S.德弗朗斯, A.范肯彭 申请人:汤姆逊许可公司