首页> 中国专利> 使用部分复制的Web内容分布式寄放

使用部分复制的Web内容分布式寄放

摘要

这里描述的装置涉及到在多个计算设备上寄放Web站点的内容。为与该Web站点相关的每个文件计算相对重要性。这种相对的重要性被用于计算内容的几个子集,这些子集被分配给计算机簇,比如服务器阵列、对等网络等等内的几个设备。这些子集包括在包含一个或多个文件的各部分的分组上使用擦除编码方案来创建的已编码消息。一旦检索文件,则基于擦除编码方案从设备中检索固定数量的不同的已编码消息。文件以这些不同的消息被重新创建。因为多个设备具有该内容,所以无需消费大量的存储空间或任何一个计算设备的带宽,就可以更为迅速地检索Web站点并提高了检索的可靠性。

著录项

  • 公开/公告号CN1696936A

    专利类型发明专利

  • 公开/公告日2005-11-16

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200510068890.0

  • 发明设计人 张察;李劲;

    申请日2005-05-13

  • 分类号G06F17/30;

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人李玲

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 16:38:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-10

    专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150519 申请日:20050513

    专利申请权、专利权的转移

  • 2009-06-10

    授权

    授权

  • 2007-06-06

    实质审查的生效

    实质审查的生效

  • 2005-11-16

    公开

    公开

说明书

技术领域

本发明一般地涉及web内容的寄放,并且更为具体地,涉及计算机簇中的web内容的寄放。

技术背景

在过去的几年里,因特网上可用的信息容量已经得到了显著地提高。直到最近,大多数信息由公司web站点提供。然而,今天,许多个人用户以个人web页公布信息。这些个人web页可以包含各种web内容,比如,日记、web博客(通常指博客)、个人相册/视频集、个人消息、个人经历等等。尽管因特网为公布这种web内容提供了大量的途径,然而还是有许多障碍影响了个人用户公布web内容的能力。

一般来说,个人内容的所有者有两种选择可用于寄放他们的web内容:(1)寄放在商业数据中心;或者(2)使用他们自己的因特网链路寄放在他们自己的个人电脑上。商业数据中心选项提供了可靠的服务器和带宽链路。然而,存在许多缺点。例如,所有者必须为寄放服务器支付附加的费用。他们被限制了能够寄放在数据中心的内容容量。他们也被限制了每天和每月允许通过数据中心的容量。他们可能不能访问他们喜欢的应用或工具,因为数据中心不支持这些应用或工具。此外,分配给满足个人用户要求的计算能力和网络带宽可能被限制,因为使用数据中心的大量用户要分享强大的服务器和庞大的带宽。

或者,以上的选项2,内容所有者可在自己的计算机上寄放web内容。使用自己的计算机来寄放web内容避免了附加的费用,给所有者实际上无限容量的寄放空间(仅由使用的硬盘驱动器的大小限制),并且给予所有者选择任何应用/数据库的自由。然而,还是存在障碍的。一个障碍是向其他用户传递web内容的不可靠和不充分的原始特性。为了提供对web内容的连续访问,所有者的主机和因特网链路必须一直运行和工作。如果主机经历了失败或者计算机不注意关机了,就不会提供内容。此外,如果所有者到因特网的连接丢失,那所有者也不能提供内容。即使能确保计算机和因特网连接永远不会丢失,仍然存在其他要克服的障碍,比如,要有足够的带宽。对因特网服务提供商(ISP)来说,限制从用户主机的因特网连接的上传速度是很普通的。这些上传速度对向其他用户传递web内容来说,很少情况下是足够的。例如,即使用宽带连接,上传速度经常被限制在128Kbps,这不能提供足够的带宽以支持web内容访问的要求。

通过在昂贵的服务器阵列和更快的因特网连接方面投资,公布web内容的公司实体能克服这些障碍。然而,这些选项对大多数个人用户来说是昂贵的和不可用的。幸运的是,对某些类型的web内容,已经出现了可选择的费用的有效解决方案。这种可选择的解决方案架构了对等(peer to peer)(P2P)网络。P2P消费者应用的例子包括“NAPSTER”、“KAZAA”和gnutella(一种能寻找和下载任何种类计算机文件的软件)。这些P2P消费者应用的每一种致力于在多台计算机之间分享文件。尽管分享文件看上去可能与分享web站点类似,然而web站点的分享提出了独特的挑战。

一个挑战是必须分享的信息的数量。Web站点有多个web页,每个web页包括文件的集合。当在其中一个web页上选择一个关联的超级链接时,文件的全部集合必须都是可用的。因此,分享web站点比分享单个文件要求更多的储存空间并消费更大的带宽。另一个挑战是服务文件集合的检索速度和响应时间。现在的P2P消费者应用允许的执行一个文件的检索是非常慢的,比如要几个小时甚至数日。此外,当网络不像具有该内容的计算机在线那样繁忙或迅速时,检索要被确定一个时间。当检索web页时,这种缓慢的检索速度是不能接受的,因为请求的客户不可能等待几个小时来浏览web页或等待计算机在线。

为了克服这些挑战,在多台计算机上复制web内容方面存在一些尝试。从而,当客户访问该内容时,可从所有者的主机或从寄放有全部内容的其他的计算机之一中来访问这些内容。在多台计算机上复制web内容增加了web内容的可靠性,因为很少有可能所有的计算机和与之相联的网络链接同时出现故障。然而,该内容的服务带宽仍是相同的,因为仍然要从一台计算机和其相联的网络连接中检索全部内容。尽管这种类型的系统增加了访问web页的可靠性,然而该系统仍然要求大量的存储空间用于存储全部内容并要求大量的带宽用于分配给全部内容。因此,至今没有适合由公众使用的用于公布web内容的令人满意的解决方案。

概述

这里描述的技术和装置涉及到使用部分复制在多个计算设备上寄放web站点的内容。为与web站点相关的每个文件计算相对重要性。使用这种相对重要性来计算分配给计算机簇内,比如服务器阵列、对等网络等等的几个设备的内容的多个子集。这些子集可包括在包含一个或多个文件的各部分的分组上使用擦除编码方案来创建的已编码消息。一旦检索文件,基于擦除编码方案从设备中可检索到固定数量的不同的分组。用这些不同的分组来重新创建该文件。因为多个设备具有该内容,故web站点可以更为快速地检索并且不用消费任一计算设备的大量的存储空间或带宽就可以增加可靠性。

附图简述

以下图表描述了非限制的和非详尽的实施例,其中除非另外指明,贯穿各种附图,相同的参考数字指相同的部分。

图1是可被用于实现这里描述的技术和装置的说明性的计算设备;

图2是安排图2中显示的两个或多个计算设备来实现这里描述的分布式web寄放机制的说明性的网络;

图3说明用于向图2中显示的多个计算设备中的一个分配复制的web内容的子集的分配过程的流程图。

图4是说明向适合用于图3显示的分配过程的web内容的站点权值指派的图树;

图5是图示说明将web文件转换为适合用于图3显示的分配过程的消息的框图。

图6是说明用于从图2显示的多个计算设备中的一个检索web内容的子集的检索过程的流程图;

图7是说明用于获得适合用于图6显示的检索过程的缺少的条目的协商过程的连续的流程图;

图8是说明对各种情况的与检索失败率相关的测试结果对在线概率的的图表;而

图9是说明依照本发明的分布式web存储装置,对各种情况的与检索速度的提高相关的测试结果对在线概率的图表。

详细描述

简而言之,本发明的web寄放机制支持从一个计算机簇中的多个计算设备中的web内容的检索,其中每个计算设备存储web内容的一个子集。本发明的web寄放机制也支持将web内容分配进存储在计算机簇的多个计算设备上的各个子集中。作为下面要详细描述的,该分配方法将当复制web内容时需要的存储空间量减到最小。此外,该分配和检索方法改善了对可靠性和web内容访问时间。这些以及其他的优势在阅读了下面的详细描述后会更加清楚。

图1说明了用于实现本发明的web寄放机制的示例性的系统。系统包括计算设备,比如计算设备100。在非常基本的配置中,计算设备100一般包括至少一个处理单元102和系统存储器104。依靠精确的配置和计算设备的类型,系统存储器104可以是易失的(比如RAM)、非易失的(比如ROM、闪存等)或两者的结合。系统存储器104一般包括操作系统105、一个或多个程序模块106,并可能包括程序数据107。程序模块106包括用于实现从多个计算设备中分配和检索内容的本发明的web寄放机制的模块130。此外,系统存储器104包括用于定位并显示web页的浏览器。这种基本的配置在图1中用点划线108内的那些部件来说明。

计算设备100可以具有附加的特征或功能性。例如,计算设备100也可以包括附加的数据存储设备(可移动的和/或不可移动的),比如,例如磁盘、光盘或录音带。这种附加的存储器在图1中由可移动的存储器109和不可移动的存储器110来说明。计算机存储介质可包括用任何用于存储比如计算机可读的指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失的和非易失的、可移动的和不可移动的介质。系统存储器104、可移动的存储器109和不可移动的存储器110都是计算机存储介质的例子。因此,计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字化通用光盘(DVD)或其它的光盘存储器、磁带盒、磁带、磁盘存储器或其它的磁性存储设备,或可用于存储想要的信息并可由计算设备100访问的任何其它介质。任何这样的计算机存储介质是设备100的一部分。计算设备100也可以具有比如键盘、鼠标、笔(pen)、声音输入设备、触摸输入设备等的输入设备112。也包括比如显示器、扬声器、打印机等的输出设备114。这些设备在本领域是熟知的,在此无需详细讨论。

计算设备100也可以包括允许该设备与其他计算设备118,比如通过网络通信的通信连接116。通信连接116是通信介质的一个例子。通信介质一般可由计算机可读的指令、数据结构、程序模块或在调制数据信号中的其他数据,比如载波波形或其他传输装置来体现,并且包括任何信息传递介质。术语“调制数据信号”意指具有一个或多个它的特征集或以信号中的编码信息的方式变换的信号。作为例子,而非限制,通信介质包括比如有线网络或直接有线连接的有线介质和比如声频、RF、红外线和其它无线介质的无线介质。计算机可读的介质是可由计算机访问的任何可用的介质。作为例子,而非限制,计算机可读的介质可包括“计算机存储介质”和“通信介质”。

各种模块和技术在这里可在计算机可读指令,比如由一台或多台计算机或其他设备执行的程序模块的普通上下文中进行描述。一般来说,程序模块包括基本例程、程序、对象、部件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。这些程序模块等可作为原代码来执行或可在比如虚拟机器或其他当前汇编执行环境中下载和执行。典型地,在各种实施例中,程序模块的功能性可根据需要组合或分布。这些模块和技术的实现可被存储在计算机可读介质的一些形式上或穿越计算机可读介质的一些形式而发送。

图2是一个说明性的网络,其中安排两个或多个计算设备,比如图1显示的计算设备100来实现本发明的分布式的web寄放介质的技术和机制。网络可指作为计算机簇200。一个实施例中,计算机簇200可被配置成服务器阵列。另一个实施例中,计算机簇200可被配置成使用对等(P2P)网络。一般来说,计算机簇200包括多个计算设备202-212。每个计算设备202-212被配置成与一个或多个其他的计算设备202-212进行通信。通信路径在图2中由计算设备202-212中的两个之间的实线表示。通信路径可通过局域网、因特网、无线网络等等。其中一个计算设备(例如,计算设备202)持有原始的web内容(例如,web内容222)。通过以下讨论,计算设备202将指作为主机202。另一个计算设备(例如,计算设备204-212)的每一个持有web内容222的一个子集(例如,子集224-232)。因为另一个计算设备204-212持有主机的web内容的一个子集,因此在以下的讨论中,计算设备204-212指作为主机222的对等设备204-212。注意,术语对等设备的使用并不要求计算机簇200被配置成对等网络,这是很重要的。然而,术语对等设备反映了对等设备持有为另一个计算设备的内容。

作为概述,主机202希望向一个或多个计算设备,比如客户计算设备260(以下指做客户260)传递web内容222。应该注意,客户260不是作为计算机簇200的一部分而显示的。尽管这是典型的配置,但如果客户260是计算机簇200的一部分,本发明的分布式的web寄放机制也会同样地工作。结合以下描述的本发明的分布式的web寄放机制,在任一种配置中,客户260可以使用熟知技术通过因特网访问子集。用于公布个人内容的先前实现使得客户260从主机202或从复制了全部web内容222的另一个计算设备中获得全部web内容203。然而,如上所述,这些实现消费了相当多的存储空间并利用主机202或其他计算设备的唯一的带宽。因此,本发明的分布式的web寄放机制集中在复制每个对等设备204-212的web内容222的子集224-232。每个子集224-232可包括内容222的不同集合。因为对等设备204-212不寄放全部的web内容222,因此客户260依照本发明的分布式的web寄放机制,从多个对等设备(例如,对等设备208-212)中获得全部web内容。

用于确定web内容222的子集和这些子集224-232的对等设备204-212的分布的装置在图3显示的流程图300中说明。总的来说,分配过程300确定内容的哪个子集应在各种对等设备上复制。因为不向每个对等设备分配全部内容,所以对等设备的存储费用减到最小,而且与向对等设备分配子集所花费的时间也减到最小。

在框302,为web站点层级内的每个文件指派一个类型权值。Web内容可包括几个类型的内容,比如文本、图片、视频等等。这几个类型的内容的每个可具有与他们的内容类型相关的不同属性。依照本发明的分布式的web寄放机制,每个类型的内容被指派一个确定的权值(即,类型权值)。该类型权值反映那个类型的内容与其他类型的内容相比的重要性。一个实施例中,较高的权值指示了当检索任何具有此类型的内容的web页时,希望确保该类型的内容不会缺少。因此,指派给图标内容的类型权值比指派给文本内容的类型权值更低。一个实施例中,用户可为每个单独类型的内容指派类型权值。例如,用户可以为每个类型的文件扩展指派类型权值。一旦文件扩展被识别,这个分配过程则会为内容指派指定的类型权值。另一个实施例中,为不同类型的内容设定默认的类型权值设置。然后,用户可以不考虑默认设定。处理继续到框304。

在框304,为web站点层级内的每个文件指派站点权值。一般来说,任何web站点可被组织进话题内,比如按兴趣、按时间/事件等等。与特殊的web页相关的文件可通过将它们放进目录而在存储介质上进行组织。因此,web站点层级可图示为层级目录树,如图4中显示。

图4中,示例性的web站点层级包括具有两个子目录:工作目录410和个人目录430的根目录402。这些子目录也都有子目录。工作目录410有计划1子目录412和计划2子目录418。计划1和计划2分别都有子目录:数据414和420和概要416和422。个人目录420有两个子目录:行程2002 432和行程2004 434。尽管对为web站点层级的实际规划并不特别令人感兴趣,然而应该注意,每个目录有一个与该目录相关的站点权值。Web站点层级的所有者为这些目录指派站点权值以反映web站点内各种目录的相对的重要性。目录间的相对重要性反映了人们浏览web站点时遇到某些内容被丢失而烦恼的不同程度。相对重要性也反映了某些内容与其他内容相比更容易被访问。例如,近期创建的web页比较旧的web页更有可能被访问。

比如图4所示,可通过提供图形web站点层级来得到站点权值的指派,并允许用户选择每个目录或文件并指派站点权值。为了减少指派站点权值的过程,可仅对少数目录指派站点权值。那么未指派的目录可从它们的父目录中继承它们自己的站点权值。因此,如果目录或文件没有自己指派的站点权值,目录或文件可从其父目录中继承该站点权值。例如,工作目录410被指派站点权值2.0。计划2 418、数据420和概要422从工作目录410继承站点权值2.0。另一个实施例中,该站点权值可在文件中列出。用于分配站点权值的这些以及其他变化允许本发明的分布式web寄放机制访问该站点权值。一旦指派了站点权值和类型权值,处理继续到图3中的框306。

在框306,为web站点层级内的每个文件计算文件权值FW。一般来说,如以下所显示,文件权值FW会影响为相关的文件m的复制比率wm,i的计算。复制比率wm,i确定内容(例如,文件)在对等设备上被复制的经常性。因此,复制比率wm,i影响为每个特殊的文件m检索的可靠性。通过下列方程式中显示的类型权值W乘文件的站点权值来计算文件m的文件权值FW:

             FWm=Sm×Tm,,       (方程式1)

其中m表示web站点中的第m个文件。一般来说,如下面所示,加倍文件权值FW导致内容复制比率的加倍,这导致用两倍的服务带宽和检索可靠性来检索结果的文件。一旦为web站点层级内的每个文件m计算了单独文件的权值FW,处理继续到框308。

在框308,为对等设备(例如,图2中显示的对等设备204-212)确定相应的对等复制因数λ。相应的对等设备复制因数λ是基于对等设备同意为宿主计算设备存储的经商定的复制量D。可通过为相关的对等复制因数λ解下列方程式来确定相关的对等复制因数λ:

>>D>>(>>λ>i>>)>>=>>Σ>m>>|>Pm>|>max>{>1>,>>FW>m>>×>>λ>i>>}>,> >方程式2

其中D(λi)表示为对等设备i复制的内容的总量;λi表示为对等设备i计算的相对的对等设备复制因数;FWm表示为web站点内的第m个文件的文件权值;而Pm表示为web站点内第m个文件的大小。因此,因为为对等设备复制的内容总量D(λi)是经商定的量并且文件大小和文件权值对web站点内的每个文件是已知的,因此可以确定相关的对等设备复制因数λi

一种用于确定相关的对等设备复制因数的方法是通过执行双向搜索。双向搜索是成功的,因为以上方程式是随相关的对等设备复制因数λ的单调递增函数。商定的复制量是可与每个对等设备协商的。例如,所商定的复制量可表示主机做出的共同协定,即主机将在主机上回报所商定量的复制以支持对等设备的web站点的复制。应该注意,复制因数λ依靠于对等设备的存储协定,即D(见方程式2)。不存在约束所有的对等设备的经商定的量至少等于全部web站点需要的存储大小,这是没有限制的。实际上,依照本发明的寄放机制,由对等设备存储的任何复制数据量都改善了可靠性和检索速度。而且,即使具有较小的复制因数λ,具有大的文件权值FWm的某些文件也可被大量复制,这改善了那些文件的可靠性和检索速度。一旦为单独的对等设备确定了对等设备复制因数,处理继续到框310。

在框310,为了确定向对等设备发送用于复制的内容,计算web站点内每个文件的对等设备复制比率。使用下面的方程式计算每个文件的对等设备复制比率:

                  wm,i=max{1,FWm×λi},    方程式3

其中wm,i表示为对等设备i的第m个文件的对等设备复制比率;λi表示为对等设备i计算的相对的对等设备复制因数;而FWm表示为web站点内的第m个文件的文件权值。对等设备复制比率wm,i可被看作与被发送给与第m个文件|Pm|的大小成比例的对等设备i的第m个文件相关的内容的数量。一旦确定了对等设备复制比率,处理继续到框312。

在框312,将文件安排进消息。暂时转到图5,那里描述了这些消息的创建。正好较早提及的,web站点是web页的集合。每个web页包括几个文件(即,web文件501)。这些web文件501被安排进许多分组(例如,分组502-510)。例如,大的文件可被分为多个分组或者几个小的文件可被结合进一个分组。一个实施例中,这些分组502-510具有固定大小以帮助数据处理。然而,此实施例中,注意有一些分组可能没有固定大小,这是很重要的。例如,当将大的文件分为多个分组时,这可能会发生。最后的分组可能比其他的分组小。一般来说,对这个实施例,大多数分组具有固定大小。这些分组的每一个可进一步被分为k个消息(例如,消息512-520)。再次,这k个消息具有固定大小。应该注意,根据原始分组506的内容,一个消息(例如,消息512)可能具有原始的web站点文件的一部分或者可能具有几个web站点文件的一部分。处理继续到图3中的框316。

回到图3,在框316,向对等设备分配这些k个消息的许多个。当主机和对等设备i之间的连接上的通信量最小时,分配这些消息是具有优势的。一个实施例中,向对等设备i发送k个消息的随机数量。消息的随机数量与为第m个文件的对等设备i计算的对等设备复制比率wm,i成比例。作为例子,如果分组A被分为16个消息,而为对等设备Z的与分组A相关的文件的对等设备复制比率是0.5,向对等设备Z发送16个消息的一半(即8个消息)。总的来说,下面结合图6做详细描述,在检索时,为了重新创建分组A,客户从计算机簇中的一个或多个对等设备中定位16个消息的每一个。这个实施例有许多缺点。即使向几个对等设备分配大量的消息,在客户为分组A发送请求时,计算机簇也不可能具有与可用的分组A相关的每个特定的消息。如果发生这种情况,分组A和包含分组A的文件是不能恢复的。一种用于增加重新创建每个分组的可能性的方法是通过在分配之前在消息上执行擦除编码。因此,框314可在框316之前执行。

在框314,擦除编码可在消息上有选择地执行。如下面将要显示的,结合文件权值应用擦除编码进一步增加了web内容的可靠性和检索速度。再次回到图5,使用熟知的叫做擦除编码的数学工具来处理消息512-520。尽管对编码数据来说,擦除编码是已知的,然而它对web站点内容的应用以前是从未想过的。总的来说,通过一个(n,k)擦除编解码器来处理消息512-520以形成n个被编码消息(例如被编码消息522-550)的擦除编码空间。存在许多熟知的可用的擦除编码技术,比如Reed-Solomon擦除编码、tornado编码和LPDC编码。

作为消息错误纠正编码,(n,k)擦除弹回编码的操作可通过在伽罗华域GF(p)上的矩阵乘法来描述:

> >>>>c>0>>>>>>>c>1>>>>>>·>>>>>·>>>>>·>>>>>·>>>>>·>>>>>·>>>>>>c>>n>->1>>>>> >=>G >>>>x>0>>>>>>>x>1>>>>>>·>>>>>·>>>>>·>>>>>>x>>k>->1>>>>> >,> >方程式4

其中p是伽罗华域的阶,{x0,x1…xk-1}是原始的消息,{C0,C1,…Cn-1}是已编码的消息,G是生成器矩阵。一个实施例中,已编码的消息不是同时产生的。然而,本发明的寄放机制使用生成器矩阵G来定义编码消息空间。当客户接收k个已编码的消息时{C0’,C1’,…Ck-1’},这k个已编码消息可被表示为:

> >>>>>c>′>>0>>>>>>>>c>′>>1>>>>>>·>>>>>·>>>>>·>>>>>>>c>′>>>k>->1>>>>> >=>>G>k> >>>>x>0>>>>>>>x>1>>>>>>·>>>>>·>>>>>·>>>>>>x>>k>->1>>>>> >,> >方程式5

其中Gk是由符合已编码消息生成器矩阵G的k行构成的子生成器矩阵。如果子生成器矩阵Gk具有满秩k,则矩阵Gk是可逆的,并且因此,原始的消息可被解码。

每种擦除编码技术有自己独特的优势。例如,Reed-Solomon编码具有只要检索到k个不同的已编码消息就保证解码的最大距离可分(MDS)属性。因为web寄放应用的错误初级形式是由网络传输期间的连接故障或分组丢失所导致的已编码消息的丢失,故Reed-Solomon编码特别适合本发明的分布式web寄放机制。有关Reed-Solomon编码的进一步的细节,可参阅S.B.Wicker和V.K.Bhargava著,IEEE出版社,纽约,1994年,名为“Reed-Solomon编码及其应用”这本书。

擦除编码的参数k确定分组的粒度和擦除编码空间的大小。因为原始的分组502-510每个被拆分为k个相等大小的消息,参数k的值越大,由每个分组产生的消息502-510的数量就越大。这导致了访问的粒度和擦除编码费用的增加。另一方面,k控制用户能够同时检索该内容的对等设备的最大数量。因此,为了确保用户可以能够用最快的速度从大量对等设备中检索内容而选择中等大小的k是有益的。参数n确定可从擦除编码中产生的已编码消息的数量。n的足够大的值确保了不同的对等设备持有不同的已编码消息。示例性的一组参数为:k=16而n=2k=65536。用这组参数,可以容纳4096(65536/16)个对等设备。

回到图3,在框316,然后向对等设备分配这些已编码消息522-550的子集而非原始的消息。当应用擦除编码时,在框314,每个对等设备在擦除编码空间内从n个已编码消息之外接收Z个不同的已编码消息个数。Z是基于为第m个文件和对等设备i计算的对等设备复制比率Wm,i,如下:

                   Zi=Wm,i×k,       方程式6

其中Zi表示不同的已编码消息的数量而Wm,i表示为第m个文件和设备i的对等设备复制比率。例如,具有复制比率为0.5的对等设备,意指对等设备应该接收等于为分组的原始消息一半数量(即50%复制比率)的已编码消息。不同的已编码消息Zi的数量是一个分数的值。当出现这种情况时,Zi简单地被理解为具有的概率,而具有的概率,其中是基底函数。因此,带有这种概率队列,对等设备可有多于一个的已编码消息并且其他对等设备不会有额外的已编码消息。为了确保分配给对等设备的已编码消息是独一无二的,可向每个对等设备指派不同的擦除编码密匙。擦除编码密匙可从与擦除编码相关的矩阵的行索引处导出。文件Pm的合计的内容复制比率用Cm表示,它是在计算机簇中复制的文件Pm的副本总量,如下:

>>>C>m>>=>>Σ>i>>>W>>m>,>i>>> >方程式7

用分配给对等设备的这些web站点内容的子集,客户可以发起一个导致发现k个不同的已编码消息的请求。

图6是说明用于从一个或多个对等设备中检索丢失条目的检索过程600的流程图。缺少条目可以是实际的web站点文件、分组、消息或已编码消息。一般来说,因为从多个对等设备中检索每个web页,所以用于检索web页的输入输出总和增加了。此外,获得要求的web页的可靠性改善了,因为可从多个计算机(即,对等设备)中获得想要的内容。检索期间的基本原则是从为每个分组的任何数量的对等设备中检索最初数量(即k个)的条目(例如,消息、已编码消息)。然后,可以组合检索到的条目来重新创建将被组合以创建原始的web文件的原始的分组。如果条目是已编码消息,则该已编码消息被擦除编码以获得原始的消息,然后它如上所述进行结合。对单独的分组,只要由所有在线的对等设备擦除的清楚的消息的数量大于为该分组的原始消息的数量(即k个),就可以检索到该分组。如果连续的分组是可以检索到,则可以重新获得每个原始的web文件。因此,无需擦除编码,原始消息的每一个可被检索以重新创建该分组。然而,使用擦除编码,只有k个不同的已编码消息可被检索到以重新创建该分组,其中k是原始消息的数量。如上提及,当使用Reed-Solomon多媒体数字信号编解码器来应用擦除编码并且参数k被设定为16时,16个不同的已编码消息允许重新获得原始分组。

当浏览器发出请求时,检索过程600开始。在请求内部,连同相关的宿主下的地址一起标识一台宿主。例如,典型的请求可表示为如下:<dweb>www.xyz.com。如所示,比如<dweb>等的标签可与宿主地址一起出现。该标签指示跟随分布式web站点的宿主地址。没有这样一个标签,接收浏览器请求的程序不可能从由单个服务器寄放的普通的web站点中识别了分布式web站点。一种实现方式中,该程序作为代理而实现。这种实现方式中,程序通过代理端口与对等设备进行通信。然而,该程序可用其他配置实现而不会脱离本发明的分布式web寄放机制的精神。例如,该程序可以是浏览器内与其他浏览器部件一起安装的部件(例如,工具栏)。它也可以作为浏览器可选的检索框而实现。对任何配置来说,结合图6说明的流程图,将详细描述由该程序执行的检索过程。

因此,在框602,接受一个统一资源定位器(URL),比如www.xyz.com/personal/trip2004/picturel.jpg。URL作为具有分布式web内容而被识别。处理继续到框604。

在框604,获得一列具有与URL相关的部分内容的对等设备。该URL转化为一个大的整数值,比如全球统一标识码(GUID)。具有URL的该列对等设备是与GUID相关的一列对等设备。一个实施例中,确定该列对等设备是通过检查具有指定了根路径的一栏和指定了GUID的第二栏的本地GUID列表来实现的。只要客户访问一个分布的web站点,就可以创建并更新本地GUID列表。然后,通过计算机簇发送GUID表列以获得存储web内容的各部分一列计算机。替代性的实施例中,通过使用分布的哈希表(DHT)方法执行查找来确定具有该GUID的该列对等设备。用于标识与GUID有关的对等设备的DHT技术在本领域中是熟知的。处理继续到框606。

在框606,获得一个与URL相关的概要文件。一般来说,分等级的web站点的每个目录有一个概要文件。简而言之,概要文件提供了web站点结构的大概情况。使用概要文件,客户能够确定构成web页/文件的分组的数量和索引,并因此为想要的web页/文件检索正确的分组。为了检索要求的文件,与要求的文件所在的目录相关的概要文件被获取。因此,web站点层级被遍历以定位正确的概要文件。概要文件为每个文件/子目录包含一个条目。概要文件的每个条目标识了文件/子目录的名称并包括修改属性、文件/文件夹标识符和文件的长度。此外,每个条目可包括标识了构成web页/文件的分组的擦除编码分组标识符。修改属性是相关的文件/子目录最后被升级时的时间标记。如果一个对等设备的修改属性与另一个对等设备是不同的,则不会检索出存储在对等设备上具有较早时间标记的条目。首先检查概要文件来了解它是否驻留在本地。如果先前客户已经访问过该目录下的任何文件,则概要文件会驻留在本地。当出现这种情况时,不需要从对等设备中检索概要文件。否则,要从一个或多个对等设备中检索概要文件并存储在本地客户上用于后来的请求。因此,存在一个渐进的缓存过程。概要文件本身可被拆裂为分组,并用擦除编码(erasure coding)消息进行编码。检索期间,客户检索与概要文件相关的擦除编码消息,将已编码消息解码为分组,并重新装配概要文件。一旦概要文件可用,处理继续到框608。

在框608,校验从多个对等设备获得的概要文件。其概要文件指示其具有较老的(即较早的)web页/文件版本的对等设备不包括在检索过程中。一旦校验了概要文件,处理继续到框610。

在框610,使用可用的对等设备执行一个协商过程。使用该协商过程以检索以上描述的web页/文件和概要文件。一个实施例中,协商过程可从可用的对等设备中获得实际的web文件。另一个实施例中,协商过程可从可用的对等设备中获得构成web站点文件的分组。仍在另一个实施例中,协商过程可从可用的对等设备中获得消息或已编码消息。然后,已编码消息被解码为分组,分组进一步被装配以重新创建原始的web页/文件。

暂时回到图7,描述了一个说明用于从可用的对等设备中获得丢失的文件或消息的示例性的协商过程700的后续的流程图。图7中使用术语“条目”来指示请求的信息可为web站点文件、分组、消息或已编码消息。左边的线表示从客户(即,想要看到web内容并已经发送给分布式web站点的URL的计算设备)接收或发送通信。右边的线表示从其中一个对等设备接收或发送通信。可为每个已标识的对等设备执行协商过程700直到已经检索到必需的条目为止。

在702,客户通过代理宣布需要哪个条目。如果条目是已编码消息,客户提供分组标识符和密匙。作为响应,对等设备提供与请求缺少条目相关的关于其可用条目的信息。再则,如果条目是已编码消息,对等设备提供分组标识符和本地存储在对等设备上的为每个已编码消息的密匙。在706,客户发送请求用于指定对等设备通知的缺少条目是可用的。在708,对等设备向客户发送指定的缺少条目。

回到图6,一旦协商过程获得了缺少的条目,处理继续到框612。在框612,装配信息并显示相关的web页。装配信息包括将已编码消息解码为分组,然后将分组装配进与URL有关的指定的web文件。

因此,如上结合图6和图7所述,可从在不同位置上运行的多个计算设备中获得一个web文件的不同部分。一般地,没有计算设备具有web文件的一个完整的副本。当执行擦除编码时,尤其是这样。那么,客户要对检索到的多个部分并将他们结合在一起以创建要求的web文件然后在浏览器内显示web文件负责。

在本发明的分布式寄放机制上执行试验。该试验测试了三种情况:1)在多个对等设备上复制全部web站点;2)不使用擦除编码在多个对等设备上复制web站点的一部分;和3)使用擦除编码在多个对等设备上复制web站点的一部分。图8和图9分别为以上三种标识的情况说明了测试结果801、802、803和901、902、903。对于情况2,每个分组被分成k个片断。然而,在复制阶段期间,不用擦除编码向其他对等设备发送原始的消息块。假定使用同样数量的网络和存储资源来为所有情况分配并寄放内容(即,合计的内容复制比率C)。另一个假定是计算机簇中的对等设备的每一个具有同样的服务带宽,并具有独立的在线服务客户的概率。图8中显示了在计算机簇(例如,P2P网络)中成功检索web站点的概率。图9显示了使用不同情况用于检索web站点的平均速度的增加。对图8和图9说,水平轴是在线的对等设备概率。内容分配的参数被设定为C=8(寄放有内容的8个副本),k=16。这些数字的每一个将做进一步详细描述。

图8是说明各种情况下,与检索失败率对在线概率的相关测试结果的图表。如上提及,曲线801代表复制全部web站点的情况1;曲线802代表不使用擦除编码复制全部web站点的一部分的情况2;而曲线803代表使用擦除编码复制全部web站点的一部分的情况3。应该注意,与曲线801和802相比,使用相同数量的网络和存储资源,曲线803在检索的可靠性方面提供了重大的改善。实际上,一旦对等设备在线的概率大于0.13,对擦除编码内容检索web站点的失败率比全部web复制曲线801和没有擦除编码的部分web复制曲线802要小数千倍。

图9是说明各种情况下,检索速度的增加对在线概率的相关的测试结果的图表。如上提及,曲线901代表复制全部web站点的情况1;曲线902代表不使用擦除编码复制全部web站点的一部分的情况2;而曲线903代表使用擦除编码复制全部web站点的一部分的情况3。应该注意,与全部web复制(曲线901)和没有擦除编码的部分web复制(曲线902)相比,擦除编码曲线903提供了增加的检索速度,分别比它们快16倍和1-10倍。

设计了一种带有不等的权值指派的擦除编码内容分配和层级内容组织的示例性的P2P web寄放系统。在七个对等设备上复制Web站点。原始的web站点消费了228M字节。复制期间,每个对等设备同意寄放web站点的60M字节,这导致平均复制比率为0.26。因为web文件是不等加权的,所以实际的web文件的对等设备复制比率从0.25到1.0变化。Web页检索期间,客户从七个对等设备中同时检索web内容,解码擦除编码的消息并再现该web页。

因此,如所述,本发明的分布式寄放机制增加了用于访问web内容的检索速度并增加了检索内容的可靠性。此外,分布式寄放机制减少了在每个单独的对等设备上复制内容的数量。因此,对等设备不用经受巨大的附加存储空间或增加的带宽的费用。本发明的web寄放机制包括三个部件:寄放部件、对等设备部件和客户部件。寄放部件向对等设备分配web页/文件的各部分(即,子集)。对等设备部件接收web页/文件的分配的部分,然后应客户请求重新分配它们。客户部件以来自多个对等设备的原始消息或擦除编码消息的形式来调整web页/文件的各部分的检索。已编码消息被擦除解码成为分组,然后该分组被装配以构成被请求的web页/文件。

贯穿本说明对于“一个实施例”、“实施例”或“例子实施例”已经做出的引用,意指特殊描述的特征、结构或特性包括在本发明的至少一个实施例中。因此,这种短语的使用可指多于不只一个的实施例。而且,描述的特征、结构或特性可在一个或多个实施例中用任何适合的方式组合。

然而,相关领域的技术人员应理解,没有一个或多个指定的细节或用其他的方法、资源、材料等也可以实施本发明。其他的实例中,仅仅为了避免妨碍本发明的方面,没有显示或详细描述熟知的结构、资源或操作。

尽管已经说明并描述了例子实施例和应用,但应该理解,本发明并不限制在以上所述的准确的配置和资源内。对本领域的技术人员来说,在这里揭露的本发明的方法和系统的安排、操作和细节方面显然可做出不同的修改、改变以及变化,而不会脱离主张的本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号