CN1696936A - 使用部分复制的Web内容分布式寄放 - Google Patents

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

Info

Publication number
CN1696936A
CN1696936A CNA2005100688900A CN200510068890A CN1696936A CN 1696936 A CN1696936 A CN 1696936A CN A2005100688900 A CNA2005100688900 A CN A2005100688900A CN 200510068890 A CN200510068890 A CN 200510068890A CN 1696936 A CN1696936 A CN 1696936A
Authority
CN
China
Prior art keywords
file
web
content
weights
website
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.)
Granted
Application number
CNA2005100688900A
Other languages
English (en)
Other versions
CN100498772C (zh
Inventor
张察
李劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1696936A publication Critical patent/CN1696936A/zh
Application granted granted Critical
Publication of CN100498772C publication Critical patent/CN100498772C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

使用部分复制的Web内容分布式寄放
技术领域
本发明一般地涉及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简单地被理解为
Figure A20051006889000161
具有
Figure A20051006889000162
的概率,而
Figure A20051006889000163
具有 的概率,其中是基底函数。因此,带有这种概率队列,对等设备可有多于一个的已编码消息并且其他对等设备不会有额外的已编码消息。为了确保分配给对等设备的已编码消息是独一无二的,可向每个对等设备指派不同的擦除编码密匙。擦除编码密匙可从与擦除编码相关的矩阵的行索引处导出。文件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页/文件。
贯穿本说明对于“一个实施例”、“实施例”或“例子实施例”已经做出的引用,意指特殊描述的特征、结构或特性包括在本发明的至少一个实施例中。因此,这种短语的使用可指多于不只一个的实施例。而且,描述的特征、结构或特性可在一个或多个实施例中用任何适合的方式组合。
然而,相关领域的技术人员应理解,没有一个或多个指定的细节或用其他的方法、资源、材料等也可以实施本发明。其他的实例中,仅仅为了避免妨碍本发明的方面,没有显示或详细描述熟知的结构、资源或操作。
尽管已经说明并描述了例子实施例和应用,但应该理解,本发明并不限制在以上所述的准确的配置和资源内。对本领域的技术人员来说,在这里揭露的本发明的方法和系统的安排、操作和细节方面显然可做出不同的修改、改变以及变化,而不会脱离主张的本发明的范围。

Claims (41)

1.一种用于在计算机簇内多个计算设备之间分配web站点内容的方法,该内容包括多个文件,所述方法包括:
为所述多个文件的每一个计算相对的重要性;
创建所述内容的多个子集,基于所述多个文件的每一个的相对重要性确定这些子集;以及向所述多个计算设备的每一个分配多个子集的一个。
2.如权利要求1所述的方法,其特征在于,该计算机簇包括服务器阵列。
3.如权利要求1所述的方法,其特征在于,该计算机簇包括对等网络。
4.如权利要求1所述的方法,其特征在于,计算相对的重要性包括基于分配给多个文件的每一个的类型权值计算文件权值。
5.如权利要求4所述的方法,其特征在于,该类型权值是基于文件扩展名的。
6.如权利要求1所述的方法,其特征在于,计算相对的重要性包括基于分配给多个文件的每一个的站点权值计算文件权值。
7.如权利要求6所述的方法,其特征在于,该站点权值被指派给一个目录,所述目录内的每一个文件拥有所述目录的站点权值。
8.如权利要求7所述的方法,其特征在于,所述目录的子目录继承指派给所述目录的站点权值。
9.如权利要求1所述的方法,其特征在于,计算相对重要性包括基于分配给多个文件的每一个的类型权值和站点权值计算文件权值。
10.如权利要求1所述的方法,其特征在于,创建所述多个子集进一步基于为每一个计算设备指定的单独的复制量,该单独的复制量是基于计算设备上用于容村一个所述子集的存储器量。
11.如权利要求1所述的方法,其特征在于,所述多个文件被分成多个消息,并且每个子集包括至少一个消息。
12.如权利要求1所述的方法,其特征在于,所述多个消息的大多数具有固定大小。
13.如权利要求1所述的方法,进一步包括将所述多个文件分成多个原始的消息,应用擦除编码方案以得到多个已编码的消息,并将一个或多个已编码的消息增加到每一个子集。
14.如权利要求13所述的方法,其特征在于,所述擦除编码方案包括Reed-Solomon编码解码器。
15.如权利要求13所述的方法,其特征在于,分配所述多个子集中的一个包括基于与擦除编码相关联的密匙分配所述子集。
16.一种计算机可读介质具,其具有用于执行如权利要求1所述的处理的计算机可执行的指令。
17.一种用于从web站点检索内容的方法,该方法包括:
为分布式web站点的内容接收统一资源定位器;
确定多个计算设备,从其中可以获得所述内容,每个计算设备存储所述内容的一个子集;以及
与所述多个计算设备协商以获得至少一个允许重新创建web站点的多个文件的其中一个缺少条目。
18.如权利要求17所述的方法,其特征在于,内容的所述子集是基于web站点的多个文件的每一个的相对重要性。
19.如权利要求17所述的方法,其特征在于,所述统一资源定位器包括一指示所述统一资源定位器是与分布式web站点相关联的标签。
20.如权利要求17所述的方法,其特征在于,确定所述多个计算设备包括将所述统一资源定位器转换为一个大的整数值以标识所述多个计算设备。
21.如权利要求20所述的方法,其特征在于,所述大的整数值是全球统一标识符(GUID)。
22.如权利要求20所述的方法,其特征在于,确定所述多个计算设备进一步包括使用带有密匙的分布的哈希表(DHT)协议,该密匙是所述大的整数值。
23.如权利要求17所述的方法,进一步包括获得与统一资源定位器相关联的概要文件,该概要文件标识组成web文件的消息和web文件的修改时间的索引。
24.如权利要求23所述的方法,其特征在于,所述概要文件在本地缓存。
25.如权利要求23所述的方法,其特征在于,根据从所述多个计算设备中的至少一个获得的条目重新创建所述概要文件。
26.如权利要求23所述的方法,进一步包括通过比较所接收的每一个概要文件的修改时间来校验概要文件以便不接收由具有较早的修改时间的计算设备所标识的缺少条目。
27.如权利要求17所述的方法,其特征在于,所述至少一个缺少条目包括与web站点相关联的文件。
28.如权利要求17所述的方法,其特征在于,所述至少一个缺少条目包括一个包含与web站点相关联的文件的一部分的分组。
29.如权利要求17所述的方法,其特征在于,所述至少一个缺少条目包括使用擦除编码方案编码的已编码消息,该已编码消息包含与web站点相关的至少一个文件的一部分。
30.如权利要求29所述的方法,其特征在于,擦除编码方案包括Reed-Solomon编解码器。
31.如权利要求29所述的方法,其特征在于,与多个计算设备的协商包括为至少一个缺少条目的每一个发送分组号码和与擦数编码方案有关的密匙。
32.如权利要求17所述的方法,进一步包括基于获得的至少一个缺少条目重新创建多个文件的其中一个。
33.如权利要求32所述的方法,进一步包括在浏览器内显示重新创建的文件。
34.一种计算机可读的介质,其具有用于执行如权利要求17所述的处理的计算机可执行的指令。
35.一种系统,包括:
处理器;和
存储器,其中加载了多个指令,所述多个指令执行一种方法,包括:
向与web站点相关联的文件指配类型权值;
向文件指配站点权值;
基于类型权值和站点权值为文件计算文件权值;
为文件计算复制比率;并
基于该复制比率向多个计算设备的其中一个发送该文件。
36.如权利要求35所述的方法,进一步包括将文件分裂为多个消息,并且其中发送该文件包括向一个计算设备发送与文件相关联的多个消息的至少一个。
37.如权利要求36所述的方法,进一步包括应用擦除编码方案以获得多个已编码的消息,所述已编码消息是所述消息。
38.一种系统,包括:
处理器;和
存储器,其中加载了多个指令,所述多个指令执行一种方法,包括:
为分布的web站点的内容接收统一资源定位器;
确定从中可获得所述内容的多个计算设备,每一个计算设备存储所述内容的子集;和
与所述多个计算设备协商以获得至少一个可允许重新创建web站点的多个文件中的一个的缺少条目。
39.如权利要求38所述的方法,其特征在于,确定所述多个计算设备包括将统一资源定位器转换为一个大的整数数字,并应用分布的哈希表(DHT)协议以定位持有该大的整数数字作为密匙的计算设备。
40.如权利要求38所述的方法,其特征在于,所述至少一个缺少条目包括使用擦除编码方案编码的已编码消息,该已编码消息包含与web站点相关联的至少一个文件的一部分。
41.如权利要求40所述的方法,其特征在于,与所述多个计算设备的协商包括为所述至少一个缺少条目的每一个发送分组号和与擦除编码方案相关联的密匙。
CNB2005100688900A 2004-05-14 2005-05-13 使用部分复制的Web内容分布式寄放 Expired - Fee Related CN100498772C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/845,625 US7546342B2 (en) 2004-05-14 2004-05-14 Distributed hosting of web content using partial replication
US10/845,625 2004-05-14

Publications (2)

Publication Number Publication Date
CN1696936A true CN1696936A (zh) 2005-11-16
CN100498772C CN100498772C (zh) 2009-06-10

Family

ID=34980253

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100688900A Expired - Fee Related CN100498772C (zh) 2004-05-14 2005-05-13 使用部分复制的Web内容分布式寄放

Country Status (5)

Country Link
US (1) US7546342B2 (zh)
EP (1) EP1599013B1 (zh)
JP (1) JP4950439B2 (zh)
KR (1) KR101130387B1 (zh)
CN (1) CN100498772C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883092A (zh) * 2009-05-04 2010-11-10 汤姆森许可贸易公司 用于依赖急躁反应函数控制在具有无线通信能力的对端之间的内容传播的设备和方法
CN103631539A (zh) * 2013-12-13 2014-03-12 百度在线网络技术(北京)有限公司 基于擦除编码机制的分布式存储系统及其存储方法
TWI477170B (zh) * 2009-05-15 2015-03-11 Thomson Licensing 具有無線通訊容量的同儕裝置間以同儕間模態傳播資料之控制方法和控制裝置
CN104541251A (zh) * 2012-06-13 2015-04-22 卡林戈公司 在存储群集中的擦除编码和复制
US10963922B1 (en) * 2013-03-15 2021-03-30 Twitter, Inc. Campaign goal setting in a messaging platform

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626820B1 (en) 2003-01-21 2014-01-07 Peer Fusion, Inc. Peer to peer code generator and decoder for digital systems
US9372870B1 (en) 2003-01-21 2016-06-21 Peer Fusion, Inc. Peer to peer code generator and decoder for digital systems and cluster storage system
US7707265B2 (en) * 2004-05-15 2010-04-27 International Business Machines Corporation System, method, and service for interactively presenting a summary of a web site
US8102837B2 (en) * 2004-12-30 2012-01-24 Massachusetts Institute Of Technology Network coding approach to rapid information dissemination
US8046426B2 (en) * 2004-12-30 2011-10-25 Massachusetts Institute Of Technology Random linear coding approach to distributed data storage
US20060184968A1 (en) * 2005-02-11 2006-08-17 Clayton Richard M Automatic content update for a target device
KR20070103758A (ko) * 2005-02-11 2007-10-24 제너럴 인스트루먼트 코포레이션 타겟 디바이스를 위한 자동 컨텐츠 업데이트
KR20070059597A (ko) * 2005-12-07 2007-06-12 현대자동차주식회사 후드 고정 장치
US9047310B2 (en) * 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
WO2007127401A2 (en) * 2006-04-26 2007-11-08 Bittorrent, Inc. Peer-to-peer download and seed policy management
DE102006019711A1 (de) * 2006-04-27 2007-10-31 Siemens Ag Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System
DK1858226T3 (da) * 2006-05-19 2011-01-24 Microsoft Corp Indholdsstyring i peer-to-peer indholdsdistribueringsclouds
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US7886034B1 (en) * 2006-09-27 2011-02-08 Symantec Corporation Adaptive liveness management for robust and efficient peer-to-peer storage
US8006281B2 (en) 2006-12-21 2011-08-23 Microsoft Corporation Network accessible trusted code
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
WO2008117295A2 (en) * 2007-03-28 2008-10-02 Unison Play Ltd. Distributed storage management
US8320414B2 (en) 2007-05-31 2012-11-27 International Business Machines Corporation Formation and rearrangement of lender devices that perform multiplexing functions
US7979311B2 (en) * 2007-05-31 2011-07-12 International Business Machines Corporation Payment transfer strategies for bandwidth sharing in ad hoc networks
US8620784B2 (en) 2007-05-31 2013-12-31 International Business Machines Corporation Formation and rearrangement of ad hoc networks
US7860081B2 (en) * 2007-05-31 2010-12-28 International Business Machines Corporation Optimization process and system for multiplexed gateway architecture
US8520535B2 (en) 2007-05-31 2013-08-27 International Business Machines Corporation Optimization process and system for a heterogeneous ad hoc Network
US8040863B2 (en) * 2007-05-31 2011-10-18 International Business Machines Corporation Demand pull and supply push communication methodologies
US7843861B2 (en) * 2007-05-31 2010-11-30 International Business Machines Corporation Coalition formation and service provisioning of bandwidth sharing AD HOC networks
US7817623B2 (en) * 2007-05-31 2010-10-19 International Business Machines Corporation Optimization process and system for non-multiplexed peer-to-peer architecture
US8249984B2 (en) * 2007-05-31 2012-08-21 International Business Machines Corporation System and method for fair-sharing in bandwidth sharing ad-hoc networks
US7898993B2 (en) * 2007-05-31 2011-03-01 International Business Machines Corporation Efficiency and resiliency enhancements for transition states in ad hoc networks
US10623998B2 (en) 2007-05-31 2020-04-14 International Business Machines Corporation Price offerings for bandwidth-sharing ad hoc networks
US10419360B2 (en) 2007-05-31 2019-09-17 International Business Machines Corporation Market-driven variable price offerings for bandwidth-sharing ad hoc networks
US7873019B2 (en) * 2007-05-31 2011-01-18 International Business Machines Corporation Systems and methods for establishing gateway bandwidth sharing ad-hoc networks
US8051362B2 (en) * 2007-06-15 2011-11-01 Microsoft Corporation Distributed data storage using erasure resilient coding
US20090083148A1 (en) * 2007-09-26 2009-03-26 Sony Corporation System and method for facilitating content transfers between client devices in an electronic network
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7992037B2 (en) * 2008-09-11 2011-08-02 Nec Laboratories America, Inc. Scalable secondary storage systems and methods
US9098519B2 (en) * 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
BRPI1008072A2 (pt) * 2009-02-03 2016-03-15 Bittorent Inc métodos e sistemas de substituição de nodo falhado e produto e produto de programa de computador
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US8683311B2 (en) * 2009-12-11 2014-03-25 Microsoft Corporation Generating structured data objects from unstructured web pages
EP2372976B1 (en) * 2010-03-31 2013-05-08 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on vote vectors
JP5765950B2 (ja) 2010-01-28 2015-08-19 トムソン ライセンシングThomson Licensing 票ベクトルに従って、ワイヤレス・コミュニケーション能力を有するピア間のコンテンツ配布を制御するためのデバイス、及び方法
JP5293670B2 (ja) * 2010-03-31 2013-09-18 ブラザー工業株式会社 情報処理装置、情報処理プログラム、情報処理方法、及び配信システム
JP5234041B2 (ja) * 2010-03-31 2013-07-10 ブラザー工業株式会社 情報通信システム、ノード装置および情報処理方法ならびにノード装置用プログラム
GB2560449A (en) * 2010-08-24 2018-09-12 Qando Service Inc Accessing a web site
WO2013078062A1 (en) * 2011-11-23 2013-05-30 Social Communications Company Creating and managing virtual areas
US9104560B2 (en) 2012-06-13 2015-08-11 Caringo, Inc. Two level addressing in storage clusters
US8762353B2 (en) 2012-06-13 2014-06-24 Caringo, Inc. Elimination of duplicate objects in storage clusters
US8965845B2 (en) 2012-12-07 2015-02-24 International Business Machines Corporation Proactive data object replication in named data networks
US9558206B2 (en) * 2013-02-25 2017-01-31 Datadirect Networks, Inc. Asymmetric distributed data storage system
US9600365B2 (en) 2013-04-16 2017-03-21 Microsoft Technology Licensing, Llc Local erasure codes for data storage
US9354991B2 (en) 2013-06-25 2016-05-31 Microsoft Technology Licensing, Llc Locally generated simple erasure codes
EP2863566B1 (en) 2013-10-18 2020-09-02 Université de Nantes Method and apparatus for reconstructing a data block
US8850108B1 (en) * 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9087012B1 (en) 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9450617B2 (en) * 2014-08-08 2016-09-20 Quantum Corporation Distribution and replication of erasure codes
US10671252B2 (en) 2014-09-04 2020-06-02 Home Box Office, Inc. Styling system
WO2016051512A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
US20160162510A1 (en) * 2014-12-03 2016-06-09 International Business Machines Corporation Clone data management
CN104932953B (zh) * 2015-06-04 2017-11-21 华为技术有限公司 一种数据分发方法、数据存储方法、相关装置以及系统
WO2017119091A1 (ja) 2016-01-07 2017-07-13 株式会社日立製作所 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム
US10459638B2 (en) 2016-02-22 2019-10-29 Hitachi Ltd. Computer system that generates group information and redundant code based on user data and changes the group information and redundant code based on transmission data, control method for computer system, and recording medium
JP6653370B2 (ja) 2016-02-26 2020-02-26 株式会社日立製作所 ストレージシステム
US20160255149A1 (en) * 2016-04-07 2016-09-01 Michael Lewis Moravitz Mirror links
US10547681B2 (en) 2016-06-30 2020-01-28 Purdue Research Foundation Functional caching in erasure coded storage
US10417094B1 (en) 2016-07-13 2019-09-17 Peer Fusion, Inc. Hyper storage cluster
US10733225B1 (en) 2017-09-06 2020-08-04 Snap Inc. Scaled delivery of media content
US11100236B2 (en) 2019-06-26 2021-08-24 Seagate Technology Llc Distributed data security

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047309A (en) * 1995-10-02 2000-04-04 International Business Machines Corporation Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics
KR100229015B1 (ko) * 1996-08-06 1999-11-01 윤종용 디지탈 처리시스템의 에러정정장치 및 방법
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
JP3795166B2 (ja) * 1997-01-07 2006-07-12 三菱電機株式会社 コンテンツ管理方式
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7313616B1 (en) * 2000-02-17 2007-12-25 International Business Machines Corporation Web site management in a world wide web communication network through periodic reassignment of the server computers designated for respective web documents related to document weight based on byte count and program content
US6718365B1 (en) * 2000-04-13 2004-04-06 International Business Machines Corporation Method, system, and program for ordering search results using an importance weighting
WO2001090943A2 (en) * 2000-05-19 2001-11-29 Clearway Technologies, Llc Distributed internet content delivery system
JP2001333032A (ja) * 2000-05-23 2001-11-30 Matsushita Electric Ind Co Ltd 限定受信システム
US6904460B1 (en) * 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
JP2002032280A (ja) * 2000-07-13 2002-01-31 Ism Consulting Firm Kk 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体
JP3672483B2 (ja) * 2000-08-16 2005-07-20 日本電信電話株式会社 コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラムを記録した記録媒体
US20020040389A1 (en) * 2000-10-03 2002-04-04 Wirespring Technologies, Inc. System and method for remotely-managed content distribution network
US7036138B1 (en) * 2000-11-08 2006-04-25 Digeo, Inc. Method and apparatus for scheduling broadcast information
US6651141B2 (en) * 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US7277950B1 (en) * 2000-12-29 2007-10-02 Swarmcast, Inc. Packet transfer mechanism over a peer to peer network
US7275102B2 (en) * 2001-01-22 2007-09-25 Sun Microsystems, Inc. Trust mechanisms for a peer-to-peer network computing platform
JP4191902B2 (ja) * 2001-02-28 2008-12-03 株式会社日立製作所 コンテンツ配信装置
JP2002278859A (ja) * 2001-03-16 2002-09-27 Nec Corp コンテンツ配信システム、コンテンツ配信方法及びコンテンツを再生するためのコンテンツ再生装置
US20030005465A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to send feedback from clients to a server in a content distribution broadcast system
JP4410963B2 (ja) * 2001-08-28 2010-02-10 日本電気株式会社 コンテンツ動的ミラーリングシステム、
JP2003216521A (ja) * 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体
US20030158958A1 (en) * 2002-02-20 2003-08-21 Koninklijke Philips Electronics N.V. Distributed storage network architecture using user devices
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7571251B2 (en) * 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
US7343418B2 (en) * 2002-06-03 2008-03-11 Microsoft Corporation Peer to peer network
JP2004080145A (ja) 2002-08-12 2004-03-11 Canon Inc 映像サーバシステム及びその映像再生方法
JP2004127189A (ja) 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd ゲートウェイ装置、コンテンツ転送システム及びコンテンツ転送方法
US7424514B2 (en) * 2002-11-08 2008-09-09 The Regents Of The University Of Michigan Peer-to-peer method and system for performing and managing backups in a network of nodes
GB0230331D0 (en) * 2002-12-31 2003-02-05 British Telecomm Method and apparatus for operating a computer network
US6970987B1 (en) * 2003-01-27 2005-11-29 Hewlett-Packard Development Company, L.P. Method for storing data in a geographically-diverse data-storing system providing cross-site redundancy
US20050015511A1 (en) * 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
US7379974B2 (en) * 2003-07-14 2008-05-27 International Business Machines Corporation Multipath data retrieval from redundant array
US20050154723A1 (en) * 2003-12-29 2005-07-14 Ping Liang Advanced search, file system, and intelligent assistant agent

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883092A (zh) * 2009-05-04 2010-11-10 汤姆森许可贸易公司 用于依赖急躁反应函数控制在具有无线通信能力的对端之间的内容传播的设备和方法
CN101883092B (zh) * 2009-05-04 2014-07-30 汤姆森许可贸易公司 用于依赖急躁反应函数控制在具有无线通信能力的对端之间的内容传播的设备和方法
US8856327B2 (en) 2009-05-04 2014-10-07 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on impatience reaction functions
TWI469672B (zh) * 2009-05-04 2015-01-11 Thomson Licensing 具有無線通訊容量的同儕裝置間以同儕間模態傳播內容之控制方法及控制裝置
US9307023B2 (en) 2009-05-04 2016-04-05 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on impatience reaction functions
TWI477170B (zh) * 2009-05-15 2015-03-11 Thomson Licensing 具有無線通訊容量的同儕裝置間以同儕間模態傳播資料之控制方法和控制裝置
CN104541251A (zh) * 2012-06-13 2015-04-22 卡林戈公司 在存储群集中的擦除编码和复制
CN104541251B (zh) * 2012-06-13 2017-09-05 卡林戈公司 在存储群集中的擦除编码和复制
US10963922B1 (en) * 2013-03-15 2021-03-30 Twitter, Inc. Campaign goal setting in a messaging platform
US11157464B1 (en) 2013-03-15 2021-10-26 Twitter, Inc. Pre-filtering of candidate messages for message streams in a messaging platform
CN103631539A (zh) * 2013-12-13 2014-03-12 百度在线网络技术(北京)有限公司 基于擦除编码机制的分布式存储系统及其存储方法
CN103631539B (zh) * 2013-12-13 2016-08-24 百度在线网络技术(北京)有限公司 基于擦除编码机制的分布式存储系统及其存储方法

Also Published As

Publication number Publication date
EP1599013A2 (en) 2005-11-23
US7546342B2 (en) 2009-06-09
CN100498772C (zh) 2009-06-10
KR20060047899A (ko) 2006-05-18
JP2005327291A (ja) 2005-11-24
US20050283537A1 (en) 2005-12-22
JP4950439B2 (ja) 2012-06-13
EP1599013B1 (en) 2019-01-16
KR101130387B1 (ko) 2012-03-27
EP1599013A3 (en) 2005-11-30

Similar Documents

Publication Publication Date Title
CN100498772C (zh) 使用部分复制的Web内容分布式寄放
US10462251B2 (en) System, method and storage medium for managing items within file directory structure
CN104603739B (zh) 对并行存储的块级访问
US7277950B1 (en) Packet transfer mechanism over a peer to peer network
US7660816B2 (en) Use of browser cookies to store structured data
CN1170230C (zh) 内容转换系统以及自动样式表选择方法
US10275538B2 (en) Name hierarchies for mapping public names to resources
JP2018506764A (ja) 順次転送最適化記憶デバイス用のボリュームレベル冗長コード化技法
JP4806462B2 (ja) ピアツーピア・ゲートウェイ
CN105144121A (zh) 高速缓存内容可寻址数据块以供存储虚拟化
CN1289092A (zh) 在移动环境下提供资源访问的方法和系统
US8825745B2 (en) URL-facilitated access to spreadsheet elements
US7587446B1 (en) Acquisition and synchronization of digital media to a personal information space
US11630803B2 (en) Persistent indexing and free space management for flat directory
US9479493B1 (en) Document management system user interfaces
CN1596407A (zh) 指纹数据库维护方法和系统
EP1754145B1 (en) Method and apparatus for supporting multiple versions of a web services protocol
US20100235325A1 (en) Storing lossless transforms of data
WO2012171363A1 (zh) 分布式缓存系统中的数据操作方法和装置
US9141589B2 (en) Method and an apparatus to provide a personalized page
KR100396915B1 (ko) 인터넷에서 시그너처 파일 기법을 이용한 분산 정보 검색시스템의 구축 방법 및 이를 이용한 검색 방법
KR20050065862A (ko) 사용자 단말기에 저장된 콘텐츠의 웹 퍼블리싱 방법 및 그시스템
Fallenstein et al. Storm: Using P2P to make the desktop part of the Web
TW472194B (en) File management method and device for virtual server system
EP3553677A1 (en) Vehicle comprising a control unit for retrieving data from multiple back-ends

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150519

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150519

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610