CN101449287B - 对等内容分发云中的内容管理 - Google Patents

对等内容分发云中的内容管理 Download PDF

Info

Publication number
CN101449287B
CN101449287B CN2007800179202A CN200780017920A CN101449287B CN 101449287 B CN101449287 B CN 101449287B CN 2007800179202 A CN2007800179202 A CN 2007800179202A CN 200780017920 A CN200780017920 A CN 200780017920A CN 101449287 B CN101449287 B CN 101449287B
Authority
CN
China
Prior art keywords
node
content
peer
supply
information
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.)
Active
Application number
CN2007800179202A
Other languages
English (en)
Other versions
CN101449287A (zh
Inventor
J·米勒
A·加西亚-门多萨
C·康特西迪斯
P·R·罗德里格斯
S·瑞森
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 CN101449287A publication Critical patent/CN101449287A/zh
Application granted granted Critical
Publication of CN101449287B publication Critical patent/CN101449287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

通过以块或其他单元的形式影响内容分发来管理内容对于对等内容分发云的性能是关键的。在每个对等节点处提供内容管理模块以实现内容管理。内容管理模块实现内容请求/响应循环以便就内容块与其他对等节点协商。该循环包括供应请求、供应回复和块请求。这些步骤之后较佳地是数据交换和验证。本发明的内容管理模块所使用的协商协议提供有利地结合诸如全网络编码和分组网络编码等不同的编码方案来使用的通用方法。在一个实施例中,使用分组网络编码并将信息添加到供应请求和供应回复以便于高效的内容分发。选择块请求消息以便只要可能就促进对运行时解码的使用。

Description

对等内容分发云中的内容管理
技术领域
本文一般涉及对等内容分发,尤其涉及对等内容分发云中的内容管理。
背景
对等文件共享云中的内容管理是一个重大问题,该问题亟待解决以增加云的全部或大多数成员能够接收正被共享内容的速度和便利度。
在过去,大规模的内容分发已通过使用提供基于基础结构解决方案的专用服务器场来实现。在此类方法中,每个需要内容的客户机形成与服务器场中一服务器的专用高带宽连接并按需下载内容。这类解决方案对必须提供并维护服务器场的内容提供商而言是昂贵的。这类解决方案不仅对内容提供商是昂贵的,它还不够稳健,这表现在服务器的故障会导致内容无法被提供给许多客户机。此外,该解决方案不是很容易缩放,因为每个服务器支持的客户机数量有限。
最近出现了基于使用在其中各节点共享其资源(存储、CPU、带宽)的协作网络的分布式体系结构的用于内容分发的新范例。
协作内容分发解决方案本质上是可自缩放的,这表现在***的带宽容量随着更多节点的到来而增加:每个新节点请求来自其他节点的服务,并且同时向其他节点提供服务。因为每个新节点都贡献资源,所以***容量随着需求的增长而增加,从而导致无限的***可伸缩性。通过协作,文件源(即,服务器)不需要增加其资源来容纳更大的用户群;这也就提供了对“突发访问(flashcrowds)”—通常会导致受影响的服务器崩溃的大量且突然的通信量猛增—的回复力。因此,最终***协作解决方案可用于在保持原始服务器的低成本的同时高效且快速地将软件更新、关键补丁、视频和其他大型文件传递给极大量的用户。
对等文件共享协议通常将文件分成块或片段以便于分发。这些块以例如随机次序被分发到云中的各节点并且在请求节点上被重新组装。每个节点出于本地地下载丢失的块并将丢失的块远程地上传至远程节点的目的连接至远程节点。
形成和分发内容块的方式对云的所有成员能够接收正被分发的内容的速度和便利度具有重大影响。通过以块或其他单元的形式影响内容分发来管理内容因此对于对等内容分发云的性能是关键的。
概述
下面提供本发明的简化的概要以便为读者提供基本的理解。本概要不是本发明的详尽概观,并且既不标识本发明的关键/决定性要素也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。
通过以块或其他单元的形式影响内容分发来管理内容对于对等内容分发云的性能是关键的。在每个对等节点处提供内容管理模块以实现内容管理。内容管理模块实现内容请求/响应循环以便就内容块与其他对等节点协商。该循环包括供应请求、供应回复和块请求。这些步骤之后较佳地是数据交换和验证。此处的内容管理模块所使用的协商协议提供有利地结合诸如全网络编码和分组网络编码(GNC)等不同的编码方案来使用的通用方法。在一个实施例中,使用分组网络编码并将信息添加到供应请求和供应回复以便于高效的内容分发。此外,选择块请求消息以便只要可能就促进对运行时解码的使用。
本示例提供一种协商哪个或哪些内容块将在对等内容分发云中的两个对等体之间被交换的方法,该方法包括,在担当客户机节点的对等节点处:
向担当服务器节点的另一个对等节点发送供应请求消息以请求供应可从该服务器节点获得的一个或多个内容块;
从该服务器节点接收包括关于可从该服务器节点获得的一个或多个内容块的信息的供应回复消息;
基于该供应回复消息中的信息选择至少一个块并将块请求消息发送至该服务器节点以请求所选块;并且其中块使用分组网络编码来编码并且该供应请求消息包括关于该客户机节点仍旧需要其内容的所有组的信息。
较佳地,该供应回复消息包括只关于可从该服务器获得的全部数量的内容块中的某一些的信息。该信息可以是关于准备好传输的那些块中的某一些或全部和/或将需要该服务器节点工作以编码的那些块中的某一些或全部。
较佳地,该供应请求消息包括至少部分地指示已经对该客户机节点可用的那些内容块的信息。
较佳地,该供应请求消息包括至少部分地指示该客户机节点所需的那些内容块的信息。
在某些实施例中,供应回复消息包括对客户机节点仍旧需要其内容的每个组的供应。
例如,选择至少一个块的步骤包括,对于每个组,标识已供应的块中那些新的块并选择新的块中的一个或多个。
在某些实施例中,对一个或多个新的块的选择以基本上随机的方式执行。
在其他示例中,对该一个或多个新的块的选择基于针对所关注的组已经获得的内容的量来执行。
本发明还包含一种包括计算机程序代码装置的计算机程序,该计算机程序代码装置适用于当所述程序在计算机上运行时执行上述任何方法的所有步骤。例如,该计算机程序被包含在计算机可读介质上。
本发明还提供对等节点,该对等节点适于担当对等内容分发云中的客户机节点,并且适于协商哪个或那些内容块将使用分组网络编码来在其自身与该云中的另一个对等体之间被交换,该对等节点包括:
用于将供应请求消息发送至担当服务器节点的另一个对等节点以请求供应可从该服务器节点获得的一个或多个内容块的装置;该供应请求消息包括关于该客户机节点仍旧需要其内容的一个或多个组的信息;
用于从该服务器节点接收包括关于可从该服务器节点获得的一个或多个内容块的信息的供应回复消息的装置;
处理器,该处理器被安排成基于该供应回复消息中的信息来选择至少一个块并将块请求消息发送至该服务器节点以请求所选块。
较佳地,用于接收该供应回复消息的装置被安排成接收包括只关于可从该服务器获得的全部数量的内容块中的某一些的信息的供应回复消息。
在某些实施例中,用于发送该供应请求消息的装置被安排成发送包括至少部分地指示对该客户机节点已经可用的那些内容块的信息的供应请求消息。
在某些实施例中,用于发送该供应请求消息的装置被安排成发送包括至少部分地指示该客户机节点所需的那些内容块的信息的供应请求消息。
较佳地,用于接收该供应回复消息的装置包括用于接收对客户机节点仍旧需要其内容的每个组的供应的装置。
较佳地,被安排成选择至少一个块的处理器被安排成对于每组标识已提供的块中那些新的块并选择新的块中的一个或多个。
本发明还包含一种在担当对于其他对等体的块服务器的对等节点处的方法。因此,本发明提供一种协商哪个或哪些内容块将在对等内容分发云中的两个对等体之间被交换的方法,该方法包括,在担当客户机节点的对等节点处:
从担当客户机节点的另一个对等节点接收供应请求消息,该供应请求消息请求供应可从服务器节点获得的一个或多个内容块;
发送包括关于可从该服务器节点获得的一个或多个内容块的信息的供应回复消息;
从客户机节点接收块请求消息,该块请求消息请求已供应的块中的一个或多个所选块;以及
将所请求的块发送至该客户机节点;并且其中块使用分组网络编码来编码并且该供应请求消息包括关于该客户机节点仍旧需要其内容的一个或多个组的信息。
提供了一种适于担当服务器节点的相应的对等节点:
一种对等节点,该对等节点适于担当对等内容分发云中的服务器节点,并且适于协商哪个或那些内容块将使用分组网络编码来在其自身与该云中的另一个对等体之间被交换,该对等节点包括:
用于从担当客户机节点的另一个对等节点接收供应请求消息的装置,该供应请求消息请求供应可从该服务器节点获得的一个或多个内容块;该供应请求消息包括关于该客户机节点仍旧需要其内容的一个或多个组的信息;
用于发送包括关于可从该服务器节点获得的一个或多个内容块的信息的供应回复消息的装置;
用于从客户机节点接收块请求消息的装置,该块请求消息请求已提供的块中的一个或多个所选块;以及
用于将所请求的块发送至该客户机节点的装置。
在此描述的各方法可由存储介质上的机器可读形式的软件执行。软件可适于在并行处理器或串行处理器上执行以使得各方法步骤可以按任何合适的次序或同时执行。
这确认了软件可以是有价值的、可单独交易的商品。它旨在包含运行于或者控制“哑(dumb)”或者标准硬件以实现期望的功能的软件,(因此,软件本质上定义了寄存器的功能,并且可以被叫做寄存器,即使是在它与其标准硬件结合之前)。出于类似的理由,它还旨在包含“描述”或定义硬件配置以实现期望功能的软件,诸如HDL(硬件描述语言)软件,如用于设计硅芯片,或者用于配置通用可编程芯片。
许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
附图说明
从结合附图阅读的下列详细描述中将更好地理解本说明书,在附图中:
图1是对等内容分发云的示意图;
图2示出使用网络编码的内容分发***中的块的流程;
图3是示出内容管理模块的对等节点的示意图;
图4是用于协商协议的高级消息序列图;
图5示出针对使用分组网络编码的实施例修改的图4的消息序列图。
附图中使用相同的附图标记来指代相同的部分。
详细描述
下面结合附图提供的详细描述旨在作为对本发明的示例的描述,而非表示用于解释或利用本发明的示例的仅有形式。本说明书阐述本发明的示例的功能以及用于构造和操作本发明的示例的步骤序列。然而,相同或等价的功能与序列可由不同的示例来完成。
在此使用术语‘计算机’意指具有处理能力以使其能够执行指令的任何设备。本领域的技术人员将认识到这些处理能力被结合到许多不同设备中,并且因此术语‘计算机’包括PC、服务器、移动电话、个人数字助理和许多其他设备。
本文中使用的术语“云”指的是在通信网络中可以访问对等文件共享协议并使用该协议来尝试获取诸如文件等正被分发的内容的特定片段的副本的多个节点。云在某些文献中还被称为图。云中的节点各自具有使用上述协议的与其他节点的一个或多个当前连接。因此节点可在其丢弃或形成与已位于云中节点的连接时加入或离开云。连接不必总是积极用于内容分发,但是连接需要适用于使用特定协议来进行分发,而这可以使用或不使用网络编码。连接可以是单向或双向连接。在本文描述的特定示例中,所有的连接都是单向的,这就使得云是非对称的,但是本发明可适用于并包括在其中连接是双向的且单个连接同时支持上传和下载方向的话务的对称云。同样地,给定的节点可以同时是一个以上云的成员。例如,其中节点正尝试获取正被共享的视频的副本的第一云和其中节点正尝试获取静止数字图像的公文包的副本的第二云。云可以彼此独立,或可部分或完全重叠。
图1是对等文件分发云10的示意图,云10包括经由因特网11或任何其他适合的通信网络连接的多个节点。云本身可以包括多得多的节点,然而为了清楚起见仅示出了少于十个的节点。同样地,也可以存在连接在云成员之间或直接与其相连接的其它节点,但并非是对等文件共享参与者并因此不是云的成员,且这些节点未示出。
在云10中提供了一个或多个种子节点12。种子节点是内容(也被称为文件)从中始发的节点。例如,假设一个公司具有其希望公开地共享给云成员的产品演示视频。该文件可被放置在种子节点上。该种子节点通常“总是在工作”,这就使得内容文件在相当长的时段(不包括维护时段等)内可以从其上传。一般而言,种子节点主动上传内容,但不下载内容。云中仅有有限且相对少量的节点能够同时从该种子节点下载内容。种子节点可以使用也可以不使用对等文件共享协议来将内容上传至云中的其他成员。然而,上述其他成员接着使用对等文件共享协议与云成员共享内容或内容的各部分。于是,其他云成员在它们允许从其自身上传内容的时段内可以有效地担当种子节点,但在此期间并不积极地下载内容。在某些情况下,一旦种子节点12已经将内容传送至云中,该种子节点12就可以下线而云10仍然工作。
在云10中提供了一个或多个跟踪者节点14。跟踪者节点14具有诸如一对等体是否正参与该云等关于云成员的信息并且具有任何要共享的信息。该跟踪者节点帮助云成员找出具有所需内容的其他云成员。
在云中还存在也被称为客户机的多个对等节点16、19。对等节点是需要云中共享的内容并且也可共享或不共享其已经获得的内容的各部分的节点。对等节点如上所述可以担当临时种子。在图1所示的示例中,对等节点16位于诸如因特网等公共网络中,而对等节点19则位于防火墙和/或网络地址转换器(NAT)18后的专用企业网络或家庭网络中。
将此处的对等文件共享技术的总体目的或目标指定为使所有(或大多数)云成员能够在尽可能最短的时间内获得正被分发的文件的完整副本。在某些情况下,还寻求减少种子节点或始发服务器提供待共享内容的上传所需的次数。
如上所述,对等内容分发***通常将要分发的文件或其他内容项分成在对等体之间分发的块。对等节点一接收到一个或多个块,该节点就能够任选地在并发地接收其他块的同时担当这些块的源。以此方式,对等节点能够同时担当客户机和服务器。
可使用将内容分成块的任何合适的方法。例如,可使用全网络编码、分组网络编码(GNC)、服务器编码或使用或不使用编码来形成块的任何其他方法。关于全网络编码、GNC和块创建的更多细节将在下文中给出。网络编码后的原理是允许对等体编码分组,这与其中只有种子节点或中央服务器编码分组的服务器编码形成对比。
创建块的过程需要计算、处理容量和时间,并且这些需求取决于所使用的块创建方法的类型而变化。例如,全网络编码在计算上比分组网络编码昂贵。类似地,一旦块在一对等体处被接收,它们就需要被重新组装和/或解码以获得正被分发的内容。该过程在计算上也是昂贵的。本发明寻求减少为要解码或重新组装的内容块花费的时间并且只要可能就降低计算要求。
源文件被分成的块的数量通常非常大。例如,4GB的文件可被分成每个都是2MB大小的2048个块。考虑一对等节点已经接收到例如2000个这样的块并需要获得剩余的48个块的情形。这48个块在云中可能是稀少的,并且该对等节点需要找到哪些其他节点具有这些丢失的块。这是个难题,尤其是在大型云中。也考虑担当源的对等节点。它具有例如1000个块并从另一个对等节点接收一请求。它应将其1000个块中的哪些发送至发出请求的对等体?同样,这是个难题。如果发送了发出请求的对等体已经具有的块,则浪费了时间和资源。本申请提供了管理内容的各方法以使得块能够以高效的方式被传送。
全网络编码
现在参考图2来描述全网络编码,图2示出了服务器102与两个客户机(或节点),即客户机A 104和客户机B 106之间的块的流程。如上所述,对等节点可担当客户机或服务器或两者兼有。最初,所有块B1-Bn仅由服务器而不是由任何节点持有。当客户机A联系服务器以得到一个块时,该服务器产生已编码的块E1,它是该文件中所有块的线性组合,使得:
E1=α1B12B2+......+αnBn
其中αi是随机系数。为了让块大小不增加,这些操作在通常为GF(216)的有限域中进行。服务器然后将新编码的块E1和系数向量(αi)两者都发送到客户机A。客户机A还可从该服务器接收使用第二组随机系数βi创建的第二已编码的块E2。当客户机A需要将块发送至客户机B时,客户机A使用随机系数ωi从E1和E2的线性组合中创建第三已编码的块E3
当如上所述使用网络编码时,客户机可以在接收彼此线性独立的n个块之后恢复原始文件,其过程类似于解一组线性方程的过程。如果系数由每个客户机随机选择,则客户机将不太可能接收不是对该客户机有用的块。然而,为了进一步检查,可以在块本身之前将系数向量发送至接收客户机(图1的示例中的客户机B)。接收客户机然后可检查所得的块是否将向其提供任何新信息并且如果该块将对该接收客户机有用,则只请求下载该块。
如上所述,为了使节点能够生成新编码的块,它必须将已接收到的所有块都读入存储器中。这是处理器密集的,并引入了延迟。此外,当解码时,节点面对解码已编码的块的非常复杂的问题,其也是处理器密集且费时的。将操作读入节点处的存储器/写出存储器尤其费时。
对等***中所使用的全网络编码也在早先于2006年1月26日作为US-2006-0020560-Al公开的美国专利申请“Content Distribution Using NetworkCoding(使用网络编码的内容分发)”中描述。
分组网络编码
分组网络编码类似于全网络编码,但是编码是基于块组而不是形成正被分发的文件的所有内容块。GNC是全网络编码的变型。在GNC中,原始内容被分成服务块组并且网络编码只对每一组的块执行。存在分组网络编码的各种不同的方法并且这些方法与全网络编码相比减少了对等节点处的处理负载以及编码或解码块所花费的时间。可使用分组网络编码的任何合适的方法。例如,2005年12月22日提交的题为“Encoding and Decoding Optimisations(编码和解码优化)”的早先的欧洲专利申请第05270098.6号中描述了分组网络编码的合适的方法。
在此处所使用的较佳的GNC的实施例中,提供了如下将文件分成块和组的算法:
将文件分成块和组的算法如下:
1)例如通过预配置来指定长度为L、目标块大小为BT的文件。
2)首先计算块数为适合所有文件内容所需的块的最少数量,B=Ceiling(L/BT)。(L/BT)!=Ceiling(L/BT),最后一个块出于编码的目的用0来填充。
例如,1001字节且目标块大小为10字节的文件将被分成10字节大小的101个块,且最后一个块只包含一个字节的实际信息。最后一个块在逻辑上用0来填充,但是填充物永远不会被发送,因为每个内容管理模块300都知道对于最后一个块期望多大的大小。
一旦计算出块数,该算法就确定组数。为文件中的每16(或其他合适数量)个块创建一个组。如果块数不是16的倍数,则最后一组将具有少于16个块并且网络编码操作将只对该数量的块完成。例如,如果一文件的块数是18,则将需要两组:一组具有16个块而另一组只具有两个块*
诸如0等用来填充最后一个块的虚拟信息在重构期间被移除。
内容管理模块
为了管理对等网络中的内容,在每个对等节点处都提供了内容管理模块。该内容管理模块在一较佳实施例中是软件构造,但它可作为专用硬件或以任何其他合适的方式来提供。它较佳地提供了用于产生、确认、以及在内容管理模块的不同实例之间交换已编码内容的功能。图3是对等节点16的示意图,其示出了与该对等节点处的网络层301进行通信的内容管理模块300。例如,该对等节点包括具有与对等云的因特网连接的计算机。该计算机包括操作***和本领域中已知的用于使对等应用程序能够操作以参与内容的分发的其他软件和/或硬件。
网络层提供使对等节点能够使用本领域中已知的任何合适的方法来与云11中的其他对等节点进行通信的功能。例如,本发明的对等内容分发协议被设计成通过保证有序传递的任何合适的基于分组的通信协议来进行操作。TCP是一种可能。通信分组通过保证完整、正确排序的数据传递的传输来发送。
在一较佳实施例中,内容管理器300在其能够与网络层301协力使用而无需与网络层301的集成或定制接口安排的意义上是可***模块。网络层包括状态机,以使其将取决于在该网络层处已发送或接收了什么分组而处于特定状态。内容管理器300较佳地被构造成使其能够以如上所述的模块化方式与该网络层的状态机交互工作。
内容管理模块300的可***体系结构较佳地还被安排成使得能够使用一种通用的协商协议来实现不同的编码方案。该协商协议在此被称为内容请求/相应循环。
内容请求/相应循环
在较佳实施例中,安排内容管理模块300使用内容请求/响应循环以便就内容块与其他对等节点协商。在高层次上,该循环包括三个步骤,供应请求、供应回复和数据确认。图4是示出该过程的高级消息序列图。可以使用本领域中已知的诸如确认消息等其他消息,并且为清楚起见未示出这些消息。
假设对等节点Alice 40具有要分发的文件的完整副本。对等节点Bob 41需要该文件。Alice使用任何合适的方法来将该内容切成固定大小的块。Alice和Bob现在需要协商要交换什么块或块的组合。该协商的目标是确保Alice发送给Bob的内容将会是有用的并且不是Bob已经有的内容。Alice只具有形成正被分发的文件所需的块的子集也是可能的。这些块可以在标为‘Alice’的对等节点处编码或可已经以已编码的形式由Alice接收。同样,在实践中,云11中的每个对等节点都能够采取Alice和Bob两者的角色。每个对等节点都能够向和从云中任何数量的其他节点同时发送和接收块。
Bob发送供应请求消息42,询问Alice她可将什么块供应给他。Alice使用具有她可提供的块的描述的供应回复消息43来进行回复。Bob检查该供应回复并要求Alice将对他有用的已提供的块中的一个发送给他(见块请求消息44)。在数据交换45期间,Alice将Bob感兴趣的块发送给他。一旦Bob接收到该块,就在节点41处的数据验证步骤期间验证其完整性。可重复这些步骤直到Bob接收到原始内容的所有块。
通过以此方式使用内容请求/响应循环,至少包括消息42、43和44,能够以简单而有效的方式实现块协商。已经发现该方法在供应回复43极有可能包括对于Bob为新的内容的情况下对于使得内容管理模块300能够对于网络层可***尤其有利。这是至少当使用全网络编码和GNC时发生的情况。此外,该协商协议提供了能够有利地结合不同的编码方案来使用的通用方法。
在供应回复43不向Bob供应新内容的情况下,Bob能够向Alice发出另一个供应请求42。或者,Bob能够丢弃与Alice的连接并寻找与云中的另一个对等体的连接。
在使用全网络编码的情况下,供应回复消息43可包括Alice处的所有可用已编码块的线性组合。这增加了Alice能够向Bob供应新内容的可能性。
在某些实施例中,内容请求/响应循环通过使Bob和/或Alice能够提供更多信息来添加。例如,Bob可向Alice或者部分地或者完整地描述他需要什么块。在这些情况下,供应请求消息42包括例如Bob已经具有的可用块(这可包括Bob已经从其他对等体请求但尚未接收到的块)的细节。
Alice或者部分地或者完整地描述她具有哪些可用的块也是可能的。这些块可以是Alice已经具有的已编码形式的块或她能够编码的块。因此,供应回复消息43包括关于Alice具有的可用块中的全部或某一些的信息。
在一较佳实施例中,GNC在对等云中实现。在这种情况下,协商协议在高层次方面与图4中的协商协议相同,然而如现在参考图5所讨论的交换了附加信息。
在其中使用GNC的实施例中,供应请求消息50包括Bob仍旧需要其内容的组中的一个或多个的细节。例如,Bob制作了他仍旧需要其内容的组的列表并且该列表出于效率考虑被编码为位向量。该位向量然后作为供应请求的一部分来发送。然而,并非必须使用位向量编码。可使用表示Bob的不完整的组的任何合适的方法。对使用位向量来描述需要哪些组的内容进行优化是有利的。这允许其中数据是有用的组的紧凑表示。例如,对于10GB大小的10000个块、500个组的文件,全组需求性位向量将只需要63个字节。
供应回复消息51包括Bob所请求的每个组的一个供应。例如,单个消息中的一系列供应。或者,供应回复消息51可包括各自具有关于单个组的供应的多个单独的供应回复消息。在某些实施例中,多个供应可引用同一组。在一较佳实施例中,供应包括表示可用块的向量。然而,并非必须使用向量,可使用任何合适类型的表示。在使用向量的情况下,对于Bob需要其内容且Alice具有其块的组中的每一个,Alice返回描述对该组的单个供应的向量。然而,Alice返回对同一组的多个供应也是可能的。例如,这在服务器具有一给定组的多个已编码块并且不希望将它们合成为新的组合块的情况下是有用的。Alice可高速缓存她发送给Bob的供应列表以使得相同的供应可被给予多个对等体而不必再次经历供应生成过程。Bob分析接收到的每个供应并对照对于所涉及的组他具有的任何其他已编码块来检查供应。选择新供应中的一个并将其作为快请求44发送回Alice。块请求之后是上述的数据交换45和数据验证。
对等节点Bob被安排成使用任何合适的方法来选择新供应中的一个。例如,选择以基本上随机或任意的方式做出。或者,选择基于Bob对所涉及的组具有多少个块来做出。这在使用运行时(on-the-fly)分组解码的情况下是有利的。
通过在供应请求和供应回复中发送‘部分’信息和/或通过在供应回复阶段中发送多个供应,实现了优点。这使得低功率参与者能够提供他们已经以其当前形式接收到的块,而不是必须将所有其当前块合成为一新的供应并且然后必须对其进行代码转换。
运行时分组解码
在某些实施例中,对等体16等待直到它们已经接收到全部所需已编码内容。该对等体然后从云11断开并将内容解码成原始文件。在各替换实施例中,使用运行时分组解码。在这些实施例中,使用GNC或等效编码方法。对等体然后能够与块交换并发地执行对具有足够要解码的块的组的解码。在这种情况下,当从另一个对等体选择供应时优先选择几乎完成的组是可能的。通过这样做,对于运行时解码可相对快速地获得完成的组。
数据验证
数据验证的过程以任何合适的方式实现。例如,在使用网络编码(或者全网络编码或者GNC)的情况下,使用同态散列或安全随机校验和(SRC)方法在不使用网络编码的情况下,可使用常规校验和或简单散列,或者另选地使用SRC或同态散列方法。例如,合适的SRC方法的细节在早先于2006年2月28日提交的欧洲专利申请第06270027.3中描述。
消息格式
由内容管理模块用来与彼此协商的消息可以是任何合适的格式。例如,每条消息都由一个或多个消息元素组成,每个元素都具有长度和字段类型。以下各表给出了一较佳实施例中的每条消息的内容的示例。供应请求消息42在下文中被称为消息_内容请求,供应回复消息43在下文中被称为消息_内容响应,块请求消息44在下文中被称为消息_块请求,并且发送块作为数据交换过程45的一部分的消息是消息_块数据。请注意,这些只是示例,并且可以使用其他消息格式和内容来实现类似的功能。在该示例中,每个消息元素或分量示有三列。这些列包括数据类型、分量名称和分量值(在相关或已知的情况下)。数据类型选自DWORD(双字32位)、WORD(16位)和BYTE(8位)。
Figure G2007800179202D00141
Figure G2007800179202D00151
Figure G2007800179202D00152
Figure G2007800179202D00161
Figure G2007800179202D00171
本领域的技术人员将认识到用于存储程序指令的存储设备可分布在网络上。例如,远程计算机可存储被描述为软件的该过程的示例。本地或终端计算机可访问远程计算机并下载该软件的一部分或全部以运行该程序。或者,本地计算机可按需下载软件的片断,或可以在本地终端处执行某些软件指令而在远程计算机(或计算机网络)处执行某些软件指令。本领域的技术人员还将认识到,通过使用本领域技术人员已知的常规技术,软件指令的全部或一部分可由诸如DSP、可编程逻辑阵列等专用电路来执行。
如将对本领域的技术人员显而易见的,可扩展或更改此处给出的任何范围或设备值而不失去所寻求的效果。
本文中描述的各方法步骤可以在适当时按任何合适的次序或同时执行。
虽然在本文中将本发明的示例描述并示出为在对等文件分发***中实现,但是所描述的***只是作为示例而非限制来提供。本领域普通技术人员将会认识到,本发明的示例适于在各种不同类型的内容分发***中应用,包括例如适用于数据复制,例如将数据库或文件树的一个副本更新至最新形式。
可以理解,上面对一较佳实施例的描述只是作为示例给出,并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。尽管以上带着一定程度的特殊性或对一个或多个单独元素的参考描述了本发明的各实施例,但是本领域的技术人员能够对所公开的实施例做出多种改变而不背离本发明的精神或范围。

Claims (16)

1.一种协商哪个或哪些内容块将在对等内容分发云中的两个对等体之间被交换的方法,所述方法包括,在担当客户机节点的对等节点处:
(i)向担当服务器节点的另一个对等节点发送供应请求消息(42)以请求供应可从所述服务器节点获得的一个或多个内容块,所述供应请求消息包括与所述客户机节点需要其内容的、使用分组网络编码来编码的一个或多个内容块的一个或多个组有关的信息,以及至少部分指示已对所述客户机可用的那些内容块的信息;
(ii)从所述服务器节点接收包括关于可从所述服务器节点获得的低于内容块总数的一个或多个内容块的信息的供应回复消息(43),其中所述供应回复消息或者是分组网络编码形式的,或者所述服务器节点能够使用分组网络编码来对其进行编码;
(iii)基于所述供应回复消息中的信息选择至少一个块,并将块请求消息(44)发送至所述服务器节点以请求所选块。
2.如权利要求1所述的方法,其特征在于,所述供应请求消息包括至少部分地指示所述客户机节点需要的那些内容块的信息。
3.如权利要求1所述的方法,其特征在于,所述供应回复消息包括对所述客户机节点仍旧需要其内容的一个或多个组的供应。
4.如权利要求1所述的方法,其特征在于,所述供应回复消息包括对同一组的多个供应。
5.如权利要求3所述的方法,其特征在于,所述选择至少一个块的步骤(iii)包括,对于每一组,标识已供应的块中那些新的块,并且其中,所述方法还包括选择所述新的块中的一个或多个。
6.如权利要求5所述的方法,其特征在于,所述对一个或多个新的块的选择基于针对所关注的组已经获得的内容的量来执行。
7.一种协商哪个或哪些内容块将在对等内容分发云中的两个对等体之间被交换的方法,所述方法包括,在担当服务器节点的对等节点处:
(i)从担当客户机节点的另一个对等节点接收供应请求消息(50),所述供应请求消息请求供应可从所述服务器节点获得的一个或多个内容块,所述供应请求消息包括与所述客户机节点需要其内容的、使用分组网络编码来编码的一个或多个内容块的一个或多个组有关的信息,以及至少部分指示已对所述客户机可用的那些内容块的信息;
(ii)发送包括关于可从所述服务器节点获得的一个或多个内容块的信息的供应回复消息(51),所述信息包括所有块中的那些对于所述服务器节点是可用的,其中所述信息或者是分组网络编码形式的,或者所述服务器节点能够使用分组网络编码来对其进行编码;
(iii)从所述客户机节点接收块请求消息(44),所述块请求消息请求已供应的块中的一个或多个所选块;
(iv)将所请求的块发送(45)至所述客户机节点。
8.如权利要求7所述的方法,其特征在于,所述供应回复消息包括对所述客户机节点仍旧需要其内容的一个或多个组的供应。
9.如权利要求7所述的方法,其特征在于,所述供应回复消息包括对对所述客户机节点仍旧需要其内容的一个或多个组的多个供应。
10.一种协商哪个或哪些内容块将在对等内容分发云中的两个对等体之间被交换的***,所述***位于亦担当客户机节点的对等节点处,包括:
(i)用于向担当服务器节点的另一个对等节点发送供应请求消息(42)以请求供应可从所述服务器节点获得的一个或多个内容块的装置,所述供应请求消息包括与所述客户机节点需要其内容的、使用分组网络编码来编码的一个或多个内容块的一个或多个组有关的信息,以及至少部分指示已对所述客户机可用的那些内容块的信息;
(ii)用于从所述服务器节点接收包括关于可从所述服务器节点获得的低于内容块总数的一个或多个内容块的信息的供应回复消息(43)的装置,其中所述供应回复消息或者是分组网络编码形式的,或者所述服务器节点能够使用分组网络编码来对其进行编码;
(iii)用于基于所述供应回复消息中的信息选择至少一个块,并将块请求消息(44)发送至所述服务器节点以请求所选块的装置。
11.一种对等节点(16、19),所述对等节点适于担当对等内容分发云(11)中的客户机节点,并且适于协商哪个或那些内容块将使用分组网络编码来在其自身与所述云中的另一个对等体之间被交换,所述对等节点包括:
(i)用于将供应请求消息发送至担当服务器节点的另一个对等节点以请求供应可从所述服务器节点获得的一个或多个内容块的装置(300、301),所述供应请求消息包括与所述客户机节点需要其内容的、使用分组网络编码来编码的一个或多个内容块的一个或多个组有关的信息,以及至少部分指示已对所述客户机可用的那些内容块的信息;
(ii)用于从所述服务器节点接收包括关于可从所述服务器节点获得的低于内容块总数的一个或多个内容块的信息的供应回复消息的装置(300、301),其中所述供应回复消息或者是分组网络编码形式的,或者所述服务器节点能够使用分组网络编码来对其进行编码;
(iii)处理器(300、301),所述处理器被安排成基于所述供应回复消息中的信息来选择至少一个块并将块请求消息发送至所述服务器节点以请求所选块。
12.如权利要求11所述的对等节点,其特征在于,所述用于发送所述供应请求消息的装置被安排成发送包括至少部分地指示已经对所述客户机节点可用的那些内容块的信息的供应请求消息。
13.如权利要求11所述的对等节点,其特征在于,所述用于发送所述供应请求消息的装置被安排成发送包括至少部分地指示所述客户机节点需要的那些内容块的信息的供应请求消息。
14.如权利要求11所述的对等节点,其特征在于,所述用于接收所述供应回复消息的装置包括用于接收对所述客户机节点仍旧需要其内容的一个或多个组的供应的装置。
15.一种对等节点(16、19),所述对等节点适于担当对等内容分发云(11)中的服务器节点,并且适于协商哪个或那些内容块将使用分组网络编码来在其自身与所述云中的另一个对等体之间被交换,所述对等节点包括:
(i)用于从担当客户机节点的另一个对等节点接收供应请求消息的装置(300、301),所述供应请求消息请求供应可从所述服务器节点获得的一个或多个内容块;所述供应请求消息包括与所述客户机节点需要其内容的、使用分组网络编码来编码的一个或多个内容块的一个或多个组有关的信息,以及至少部分指示已对所述客户机可用的那些内容块的信息;
(ii)用于发送包括关于可从所述服务器节点获得的一个或多个内容块的信息的供应回复消息的装置(300、301),所述信息包括所有块中的那些对于所述服务器节点是可用的,其中所述信息或者是分组网络编码形式的,或者所述服务器节点能够使用分组网络编码来对其进行编码;
(iii)用于从所述客户机节点接收块请求消息的装置(300、301),所述块请求消息请求已供应的块中的一个或多个所选块;以及
(iv)用于将所请求的块发送至所述客户机节点的装置(300、301)。
16.如权利要求15所述的对等节点,其特征在于,与所述另一个对等节点仍旧需要其内容的一个或多个组有关的信息作为位向量来提供。
CN2007800179202A 2006-05-19 2007-04-05 对等内容分发云中的内容管理 Active CN101449287B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06270051A EP1858226B1 (en) 2006-05-19 2006-05-19 Content management in peer-to-peer content distribution clouds
EP06270051.3 2006-05-19
PCT/US2007/008675 WO2007136464A1 (en) 2006-05-19 2007-04-05 Content management in peer-to-peer content distribution clouds

Publications (2)

Publication Number Publication Date
CN101449287A CN101449287A (zh) 2009-06-03
CN101449287B true CN101449287B (zh) 2013-06-19

Family

ID=37311040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800179202A Active CN101449287B (zh) 2006-05-19 2007-04-05 对等内容分发云中的内容管理

Country Status (8)

Country Link
US (1) US8090861B2 (zh)
EP (1) EP1858226B1 (zh)
KR (1) KR101366364B1 (zh)
CN (1) CN101449287B (zh)
AT (1) ATE482562T1 (zh)
DE (1) DE602006017040D1 (zh)
DK (1) DK1858226T3 (zh)
WO (1) WO2007136464A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680937B2 (en) * 2005-12-22 2010-03-16 Microsoft Corporation Content publication
US8495232B2 (en) * 2007-07-10 2013-07-23 Qualcomm Incorporated Methods and apparatus for supporting broadcast communications in a peer to peer network
US7961698B2 (en) * 2007-07-10 2011-06-14 Qualcomm Incorporated Methods and apparatus for controlling interference to broadcast signaling in a peer to peer network
US8861418B2 (en) * 2007-07-10 2014-10-14 Qualcomm Incorporated Methods and apparatus for supporting group communications with data re-transmission support
US8694662B2 (en) * 2007-07-10 2014-04-08 Qualcomm Incorporated Method and apparatus for communicating transmission requests to members of a group and/or making group related transmission decisions
CN101217489B (zh) * 2008-01-10 2011-05-04 复旦大学 具有网络编码功能的路由器和基于网络编码的组网方法
WO2010077379A1 (en) * 2008-05-23 2010-07-08 Jason Nieh Systems and methods for peer-to-peer bandwidth allocation
TWI372547B (en) * 2008-12-31 2012-09-11 Ind Tech Res Inst Method and system for peer-to-peer file transmission
US9258361B2 (en) * 2009-04-08 2016-02-09 New Jersey Institute Of Technology Transferring data among nodes on a network
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8769049B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
CN101901135A (zh) * 2009-05-27 2010-12-01 上海亿川信息技术有限公司 Ccea-云计算平台的开发及其在教育领域的应用
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US20110246294A1 (en) * 2010-03-30 2011-10-06 Beet, Inc. System and method for content management and distribution
US9432454B2 (en) * 2011-08-29 2016-08-30 At&T Intellectual Property I, L.P. Cloud-to-cloud peering
US9237107B2 (en) 2011-11-15 2016-01-12 New Jersey Institute Of Technology Fair quantized congestion notification (FQCN) to mitigate transport control protocol (TCP) throughput collapse in data center networks
WO2013119664A1 (en) * 2012-02-06 2013-08-15 Redigi, Inc. Digital data commerce system and methods with digital media object to cloud redirection
US8805797B2 (en) * 2012-02-22 2014-08-12 International Business Machines Corporation Optimizing wide area network (WAN) traffic by providing home site deduplication information to a cache site
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
CN103516757B (zh) * 2012-06-28 2016-12-21 华为技术有限公司 内容处理方法、装置及***
US9491494B2 (en) 2012-09-20 2016-11-08 Google Technology Holdings LLC Distribution and use of video statistics for cloud-based video encoding
US9549024B2 (en) 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
US9143568B2 (en) 2012-12-18 2015-09-22 Microsoft Technology Licensing, Llc. Peer-to-peer sharing of cloud-based content
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
KR20150000333A (ko) 2013-06-24 2015-01-02 삼성전기주식회사 데이터 브로드캐스팅 방법, 및 그를 이용한 중계 노드 및 다중 노드 네트워크
CN104065663A (zh) * 2014-07-01 2014-09-24 复旦大学 一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法
CN105141470B (zh) * 2015-06-25 2018-12-11 南京师范大学 基于网络编码的内容分发***线性相关性判断方法和装置
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
CN108964845B (zh) * 2018-07-03 2021-04-16 网宿科技股份有限公司 一种获取bt资源信息的方法和设备
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US11561866B2 (en) 2019-07-10 2023-01-24 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3496613B2 (ja) * 2000-02-10 2004-02-16 日本電気株式会社 デジタルコンテンツのコピー制御方法及び装置
US7227864B2 (en) * 2001-12-17 2007-06-05 Microsoft Corporation Methods and systems for establishing communications through firewalls and network address translators
US7225228B2 (en) 2002-03-25 2007-05-29 Sun Microsystems, Inc. Efficient binary content distribution using propagating messages
EP1427140A1 (en) * 2002-12-04 2004-06-09 Deutsche Thomson-Brandt Gmbh Method for communication between nodes in peer-to-peer networks using common group label
KR20050002560A (ko) * 2003-06-30 2005-01-07 주식회사 그래텍 피투피 기반의 멀티미디어 콘텐츠 제공 시스템 및 그 방법
KR100621092B1 (ko) * 2003-11-27 2006-09-08 삼성전자주식회사 P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치
JP2007538315A (ja) * 2004-05-07 2007-12-27 ホーム ボックス オフィス,インコーポレイティド 通信ネットワークを介した安全なコンテンツ配信方法とシステム
US7546342B2 (en) 2004-05-14 2009-06-09 Microsoft Corporation Distributed hosting of web content using partial replication
US20050276252A1 (en) * 2004-06-09 2005-12-15 Sizeland Robert L Medium access control for wireless networks
US7756051B2 (en) * 2004-07-02 2010-07-13 Microsoft Corporation Content distribution using network coding
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
DE102005010131A1 (de) * 2005-03-02 2006-09-07 Arvato Mobile Gmbh Verfahren zur Übertragung von digitalen Inhalten eines Inhalteanbieters an die Nutzer eines Online- Inhalteübertragungssystems
US20060212595A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. Method and computer-readable medium for associating sequence numbers with data blocks for distribution of data in a peer-to-peer network
US20060224760A1 (en) * 2005-03-15 2006-10-05 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. Method and system for providing streaming content in a peer-to-peer network with network coding
EP1802079B1 (en) * 2005-12-22 2010-03-31 Microsoft Corporation Connection management in peer-to-peer content distribution clouds
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions

Also Published As

Publication number Publication date
US8090861B2 (en) 2012-01-03
CN101449287A (zh) 2009-06-03
DK1858226T3 (da) 2011-01-24
WO2007136464A1 (en) 2007-11-29
US20090198825A1 (en) 2009-08-06
EP1858226B1 (en) 2010-09-22
ATE482562T1 (de) 2010-10-15
KR101366364B1 (ko) 2014-02-21
DE602006017040D1 (de) 2010-11-04
KR20090018907A (ko) 2009-02-24
EP1858226A1 (en) 2007-11-21

Similar Documents

Publication Publication Date Title
CN101449287B (zh) 对等内容分发云中的内容管理
CN1833423B (zh) 对等网络中的应用运行
CN101689164B (zh) 服务器辅助的对等同步
EP1612982A2 (en) Content distribution using network coding
CN102630378B (zh) 基于描述文件的个体化数据通信方法及设备
CN102223411A (zh) 采用p2p技术下载文件的方法和***、客户端
CN101356769A (zh) 对等消息格式数据结构
CN111901230B (zh) 一种支持设备接入验证的物联网网关、***和设备接入验证的方法
CN103561033B (zh) 用户远程访问hdfs集群的装置及方法
JP2013257798A (ja) データ収集システムおよびデータ収集方法
CN110059055A (zh) 一种基于分布式私有云的文件存储及读取方法及装置
CN103281382A (zh) 一种基于p2p的文件传输方法和节点
JP2024515022A (ja) ブロックチェーンに基づくデータ処理方法、装置、機器及びコンピュータプログラム
CN114401284A (zh) 固定污染源治理工况实时数据采集与传输***及方法
CN104967642B (zh) 内容分发方法及装置
CN108833554B (zh) 一种面向大规模网络的实时高可靠消息分发***及其方法
CN111182036B (zh) 数据分流方法及网络构建方法、装置、设备、存储介质
CN106487931A (zh) 一种基于相似文件协同的BitTorrent数据分发***及方法
Garg et al. Bridging the digital divide: storage media+ postal network= generic high-bandwidth communication
Pazhev et al. On the use of blockchain technologies in smart home applications
KR102020112B1 (ko) 데이터 분산 서비스 기반 iec61850 요청-응답 통신 방법 및 플랫폼
US20110085615A1 (en) System of sharing data using transmission order
CN101369951A (zh) 一种可管理的对等网络***
CN117499017B (zh) 区块链网络传输方法、***及存储介质和终端设备
KR20120056139A (ko) 데이터 스트리밍 서비스 제공 방법 및 장치

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: 20150528

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

Effective date of registration: 20150528

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.