CN1719833A - 对等计算机网络中有效的一对多内容发布 - Google Patents

对等计算机网络中有效的一对多内容发布 Download PDF

Info

Publication number
CN1719833A
CN1719833A CNA2005100778606A CN200510077860A CN1719833A CN 1719833 A CN1719833 A CN 1719833A CN A2005100778606 A CNA2005100778606 A CN A2005100778606A CN 200510077860 A CN200510077860 A CN 200510077860A CN 1719833 A CN1719833 A CN 1719833A
Authority
CN
China
Prior art keywords
node
content
peer
piece
network
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
CNA2005100778606A
Other languages
English (en)
Other versions
CN1719833B (zh
Inventor
C·张
李谨
P·A·仇
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 CN1719833A publication Critical patent/CN1719833A/zh
Application granted granted Critical
Publication of CN1719833B publication Critical patent/CN1719833B/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area 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/1066Session management
    • H04L65/1101Session protocols
    • 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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
    • 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/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
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

一种用于在对等网络上发布内容从而获取网络全部的可能输入输出量的内容发布方法和系统。该内容发布方法将要发布的内容划分成许多小块。然后将每个内容块分配给可以是内容请求节点、非内容请求节点或源节点的一个节点。内容基于节点的容量分配,其中向具有较大容量的节点分配较多量的内容块而向具有较小容量的节点分配较少量的内容块。一般容量被定义为节点的上载带宽。重新发布队列被用以控制发布信息通量。该带宽控制策略确保在即使有诸如信息包丢失和传送波动的网络异常时都能充分利用对等节点和源节点的上载带宽。

Description

对等计算机网络中有效的一对多内容发布
技术领域
本发明一般涉及计算机网络,尤其涉及用于在对等网络上发布内容使传送信息量最大的有效方法和系统。
背景技术
许多应用需要一对多内容发布,即计算机网络中的一台计算机向网络上若干其它计算机发送内容。这样的应用示例包括软件发布、因特网TV/视频流、视频会议、个人媒体发布、以及对等(P2P)web内容复制。P2P网络是每台计算机具有对等的能力和责任的一类网络。
图1是示出一对多内容发布问题的框图。网络100包括持有要发布内容的一个源节点S,以及多个对等节点ti,i=1,2,...,N,其每一个可请求或不请求内容副本。源节点和对等节点都是终端用户节点。它们通常是使用非对称数字用户线(ASDL)、电缆调制解调器、校园或公司网络链接通过因特网服务供应商(ISP)连接到因特网的计算机。源节点在图1所示设置中发布内容的最简单方法是允许源节点直接向目标节点发送内容。尽管是直接的,但内容发布信息通量受通常较为有限的源节点上载带宽限制。
一种解决如图1所示的内容发布问题的网络层方案是网际协议(IP)多播。在IP多播中,从源发送的单个信息包在沿以源为根的发布树上的路由器中复制。这样,内容被传送到任意数量的接收器中。尽管IP多播是一有效方案,但由于域间路由协议、因特网服务供应商(ISP)商务模型、沿发布树的拥堵控制等等其使用在真实世界中是缓慢的。由于使用网络层多播服务中的这些问题,当今因特网中大部分通信量是基于单点传送的,由此两台计算机直接互相通话。
因为由于给定原因网络层方案一般不可行,已开发了各种各样不同的方法使P2P计算机替代路由器发布来自源的内容。一般而言,最有希望的各个的应用层多播(ALM)。在ALM中,形成多播树并覆盖现有网络。发布树中每台对等计算机不使用多播协议,而使用单点传送协议来实现所有的多播相关功能,包括覆盖网络上的信息包复制、成员管理、以及内容传送。
ALM系统的某些示例包括在Y.Chawathe的题为“Scattercast:an architecturefor internet broadcast distribution as an infrastructure service”(“散播:因特网广播发布的作为基础结构服务的体系结构”)的2000年8月加州大学贝克莱分校博士论文中描述的散播(Scattercast),以及J.Jannotti,D.K.Gifford,K.L. Johnson,M.F.Kaashoek,和J.W.O′Toole Jr.的在2000年10月第四届操作系统设计和实现学会(OSDI)学报上的题为“Overcast:reliable multicasting with an overlay network”(“覆盖传送:可靠的带有覆盖网络的多播”)的论文中描述的覆盖传送(Overcast)。散播和覆盖传送都使用单个的树来发布内容。
图2是示出使用如在散播和覆盖传送时使用的单个发布树200的内容发布技术的框图。在此配置中,源节点S向节点t1发送数据,而节点t1向节点t2和t3转发数据。ALM发布树200利用中间节点t1的上载带宽,而不利用叶节点t2和t3的上载带宽。与让源节点直接向所有其它客户发送其内容相比,如图2所示的发布树方法减少了源的网络载荷,因而获取了更有效的内容发布。
然而,使用散播和覆盖发送的一个问题是它们在发布内容上是低效的。具体地,在发布树中,中间节点重新发布内容,而叶节点仅接收内容。这意味着叶节点的上载带宽未被用作内容发布。
已作了若干尝试来克服这种低效性。这些技术包括一种称为CoopNet(协调网)的技术,它在2002年3月美国麻省Cambridge第一届对等系统国际学会(IPTPS)学报上V.N.Padmanabhan和K.Sripanidkulchai的题为“The Case for CooperativeNetworking”(协调网络化的情形)的文章,以及在2003年11月美国乔治亚州AtlantaIEEE网络协议国际会议学报上V.N.Padmanabhan,H.J.Wang和P.A.Chou的题为“Resilient Peer-to-Peer Streaming”(弹性对等流)的文章中描述,以及一种称为划分流(SplitStream)的技术,它在2003年2月加州贝克莱对等系统国际学会学报上M.Castro,P.Druschel,A-M.Kermarrec,A.Nandi,A.Rowstron和A.Singh的题为“SplitStream:High-bandwidth content distribution in a cooperative environment”(“划分流:协调环境中的高带宽内容发布”)的文章中描述。每一种这些技术都将内容划分成多个条,并用分离的内部节点在各个多播树上发布这些条。任何对等计算机可以是多播树之一中的内部节点,且可致力于转发内容。
协调网使用一种集中式树管理方案,而划分流则依赖pastry来维护发布树。Pastry在2001年11月德国Heidelberg分布式系统平台(中间件)IFIP/ACM国际会议学报329-350页上A.Rowstron和P.Druschel的题为“Pastry:scalable,distributedobject location and routing for large-scale peer-to-peer systems”(“Pastry:大型对等系统的可伸缩分布式对象位置和路由”)的文章中描述。协调网还利用多重描述编码(MDC)和正向纠错(FEC)来防止信息包丢失和节点故障。
图3是示出如在协调网和划分流上使用的两个应用层多播树配置300的框图。内容被划分成2个相等的条。第一条310被发送给节点t1,而t1又将该条转发给节点t2和t3。第二条320被发送给节点t2,而t2又将该条转发给节点t1和t3。应注意,图3中第一条的发布路线以实线标示,而第二条的发布路线以虚线标示。这意味着在这些链接上传递的内容不同。该配置的一个问题是系统300利用节点t1和t2的上载带宽,但未能利用节点t3的上载带宽因而降低了效率。
其它尝试克服这种低效性的技术包括一种称为快速复制(FastReplica)的技术,它在2003年3月26-28日华盛顿州西雅图第四届因特网技术和系统USENIX学会学报上L. Cherkasova和J.Lee的题为“FastReplica:Efficient Large File Distributionwithin Content Delivery Networks”(“快速复制:内容传送网络中有效的大文件发布”)的文章中描述,以及一种称为子弹(Bullet)的技术,它在2003年10月19-22日纽约州Sagamore第十九届操作系统原理ACM学会学报上D.Kostic,A.Rodriguez,J.Albrecht,A.Vahdat的题为“Bullet:High Bandwidth Data DisseminationUsing an Overlay Mesh”(“子弹:使用覆盖网进行高带宽数据传送”)的文章中描述。每一种这些技术研究较大文件的有效和可靠复制。如果有n个节点,快速复制首先将文件分成n个尺寸相等的子文件。然后每个子文件被传送到该组的一个不同对等点上,它随后被复制并传送到其它对等节点。在子弹中,对等节点被组织到覆盖树上。每个节点把从父节点上接收的内容划分成独立的块集,其中每个块集被发送到不同的子节点。然后这些子节点发现缺少的块以及持有该缺少块的节点,并发送恢复缺少块的请求。
更仔细地查看快速复制技术,应注意该技术是为文件下载专门设计的。对于N节点的P2P网络,快速复制用N个高度-2个带有中间度N-1的多播树来发布文件。图4是示出三个对等节点的示例快速复制配置400的框图。快速复制分两个步骤发布文件:发布步骤和收集步骤。在发布步骤中,文件被划分成三个子文件并分别发送给节点t1、t2和t3(沿实线、虚线、以及点线)。特别地,三个子文件沿着第一条410、第二条420、以及第三条430发送。在发布步骤之后,实现收集步骤。每个对等节点向其它对等节点转发其子文件。如图4所示,每个对等节点参加快速复制中的内容发布。
一实用的P2P内容发布系统已使用一种称为BitTorrent(比特激流)的技术来实现。比特激流在B.Cohen题为“Incentives build robustness in BitTorrent”(“动力在比特激流中建立稳固性”)的文章中描述并在网站 http://bitconjurer.org/BitTorrent /bittorrentecon.pdf上可得到。比特激流包括共享动力从而对等实体愿意发布内容,因为它们上载越多内容就越能从对等实体下载。这些仅仅是应用层多播的许多最近方案的一些示例。
尽管以上ALM发布策略比直接从源将内容发送到对等实体更有效,但它们未能获取网络上最有效的内容发布。具体地,没有一种以上技术已充分考虑对等节点之间带宽的差异。每一种技术还未能使所有对等节点的带宽资源全部参与发布内容。
以上所述的所有一对多内容发布方法通过建立适当的网络拓扑适合对等节点的能力(对等节点的上载/下载带宽)。带有高带宽的节点被置于发布网络的中央,并负责较多的内容发布。一旦网络拓扑建立,内容通过已建立的网络发布在固定条中。这些发布策略的问题是发布网络不够灵活以适应网络条件的改变(诸如某些节点/链接的任何拥堵)。这可急剧地降低内容发布的有效性。因此,所需要的是一种一对多内容发布技术,它以可能最有效的方式发布内容以便实现计算机网络的最大潜能。
发明内容
在此揭示的本发明包括一种用于有效地在对等网络上发布内容使得传送信息量最大的内容发布方法和系统。该内容发布方法和系统克服了当前一对多发布技术的上述缺点。与现有方法相反,该内容发布方法和系统通过使尽可能多的节点参与发布内容并充分利用每个节点可用的上载带宽来获取其内容的最大可能传送信息量。此外,该内容发布方法和系统可动态调节内容发送率以匹配普遍网络条件下的最大传送信息量。
该内容发布方法和系统包括至少三个独特特征。首先,该内容发布方法和系统将要发布的内容(可能是文件或媒体流)划分成许多小块。因而,由某节点重新发布的块的数量可与该节点的资源(诸如上载带宽)成比例。带有较大上载带宽的节点可重新发布较多的块,而带有较小上载带宽的节点可重新发布较少的块。其次,在该内容发布方法和系统中,每个内容块被赋予单个节点用于再传送。负责再传送的节点可以是内容请求对等节点、非内容请求对等节点、或者甚至是源节点本身。第三,通过采用节点之间的重新发布队列,该内容发布方法和系统可有效地处理网络条件的动态变化。这使该内容发布方法和系统能在前述基础上有效地处理上载带宽的变化、网络中每个节点的信息包丢失和信息包波动。
该内容发布方法包括将内容划分成多个块,并与节点容量成比例地将多个块的每一个分配给该节点,从而向具有较大容量的节点分配较多块而向具有较小容量的节点分配较少块。节点的容量可根据节点的带宽或节点的上载带宽来定义。或者,节点的容量可使用其它度量来定义,例如边缘滞后、等等。网络可以是对等计算机网络。
内容块的尺寸可以比计算机网络的最大传输单元(MTU)(在某些情形中约为1KB)小。内容块尺寸是发布粒度和标识这些块所需开销之间的协调产物。
该方法使用带宽控制策略以基于节点容量的变化而使能块的动态重新发布。带宽控制策略在网络中每个节点之间采用重新发布队列。这些队列可以是传输控制协议(TCP)发送和接收缓冲区,或者可以是在用户数据报协议(UDP)之上实现的应用缓冲区。不像TCP,UDP没有缓冲区。这意味着,当使用UDP时用户需要实现用作重新发布队列的其它缓冲区。该方法还包括节点之间的连接从而转发链接(Forward Link)被定义为具有还要重新发布的内容块的连接。类似地,传送链接被定义为具有不要重新发布的内容块的连接。
附图说明
参照以下描述以及示出本发明各方面的附图,本发明可得到进一步的理解。从以下本发明的详细描述结合例如示出本发明原理的附图,其它特征和优点将显然。
现在参照附图,其中相似标号表示全部附图中的相应部件:
图1是示出一对多内容发布问题的框图。
图2是示出使用单个发布树的内容发布技术的框图。
图3是示出两个应用层多播树配置的框图。
图4是示出三个对等节点的示例配置的框图。
图5是示出在此揭示的内容发布系统和方法的示例性实现的框图。
图6是示出如图5所示的内容发布系统和方法的一般操作的一般流程图。
图7是示出对等节点(内容请求和非内容请求)的转发链接线程的操作的详细流程图。
图8是示出内容接收对等节点的传送链接线程的操作的详细流程图。
图9是根据在此揭示的内容发布方法示出源节点操作的详细流程图。
图10示出其中可实现如图5所示的内容发布方法和系统的适当计算系统环境的示例。
图11是示出最大广播容量不能通过使用多播路由获得的框图。
具体实施方式
在本发明以下说明书中要参照附图,这些附图形开销说明书的一部分,且其中作为说明示出了本发明可实践的特定示例。要理解可利用其它实施例,且可作出结构变化而不背离本发明的范围。
I.绪论
尽管当前对等(P2P)计算机网络中的一对多发布技术比直接从源节点向各对等节点发送内容更有效,这些技术未能在网络中获得最有效的内容发布。这归因于众多因素。一个因素是这些当前技术中没有一种充分地考虑并适应对等节点之间带宽的差异。另一个因素是这些技术在发布内容时未能充分利用网络上所有对等节点的带宽能力。
在此揭示的内容发布方法和系统是一种用于一对多内容发布(特别是在对等(P2P)网络中)的新的传送机制类型。与先前的一对多内容发布方法相比,在此揭示的该内容发布方法和系统将要发布的内容划分成许多小块。这使得具有较大容量(诸如上载带宽)的节点重新发布较多块,而具有较小容量的节点重新发布较少块。每个内容块被分配给单个节点用于发布,且负责的节点可以是内容请求对等节点、非内容请求对等节点、甚至源节点。
发布信息通量由源和对等节点之间的重新发布队列控制。该内容发布方法和系统充分利用了所有对等节点的上载带宽,从而使传送信息量最大。此外,该内容发布方法和系统是简单并灵活的。它可应用于P2P网络中的文件/软件下载、媒体流动、以及擦除编码的文件发布。
II.一般纵览
图5是示出在此揭示的内容发布系统和方法的示例性实现的框图。应注意,图5仅是该内容发布系统和方法可实现和使用的若干方式之一。
参照图5,在此示例性实现中示出了对等(P2P)网络500。网络500包括一个源节点S和四个对等节点t1、t2、t3和t4。在对等节点中,节点t1、t2和t3从源节点s请求内容的一个副本,并被称为内容请求对等节点。节点t4不请求该内容的副本。应注意,根据在此揭示的内容发布系统和方法,即使节点t4不请求内容,它仍然拿出其上载带宽以帮助向其它对等节点发布内容。
要发布的内容包含在源节点S中并被划分或分割成许多小块。内容可包括文件或媒体流。然后每个块被分配给节点之一用于重新传送。每个块仅被分配给一个节点。当一个块(诸如图5中的块1、2、3和4)被分配给内容接收对等节点t1、t2和t3用于重新发布时,该块首先由源节点S发送给被分配的对等节点(或负责重新传送的对等节点)。然后被分配的对等节点向另两个对等节点转发该块。作为示例,如果如图5所示的块1被分配给对等节点t1,则块1由源节点S发送给对等节点t1而该对等节点t1随后将块1转发给对等节点t2和t3
当一个块(诸如图5中的块5、6和7)被分配给内容接收对等节点t4用于重新发布时,该块首先由源节点S发送给对等节点t4。然后非内容接收对等节点t4向网络500上其它三个对等节点t1、t2和t3转发该块。例如,如果如图5所示的块5被分配给非内容接收对等节点t4,则块5由源节点S发送给对等节点t4,而该对等节点t4将块5转发给对等节点t1、t2和t3
源节点S还可选择直接发布一个块。作为示例,如图5所示,块8由源节点S发布到内容请求对等节点t1、t2和t3。在此情形中,块8从源节点S直接发送到内容请求对等节点t1、t2和t3
在此揭示的内容发布系统和方法在网络500中节点的每一对之间建立重新发布队列。如下详细所述,这些重新发布队列使该内容发布系统和方法能处理网络500条件中的动态变化,诸如带宽变化、信息包丢失和信息包波动。重新发布队列在图5中用实线和虚线示出。节点之间的实线表示转发链接,而节点之间的虚线表示传送链接。转发链接是携带要重新发送的块的连接。传送链接是携带不要重新发送的块的连接。
III.操作纵览
现在讨论如图5所示的内容发布系统和方法的操作。图6是示出如图5所示的内容发布系统和方法的一般操作的一般流程图。该内容发布方法通过输入要发布的内容开始(框600)。如上所述,该内容可包括文件或媒体流。然后,内容被划分或分割成多个小块(框610)。将内容划分成小块使包容节点能重新发布不同数量的块。因而,由某节点重新发布的块的数量可与节点的容量(诸如上载带宽)成比例。例如,有较大上载带宽的节点可重新分发较多数量的块,而具有较小上载带宽的节点可重新分发较少数量的块。
然后每个内容块被分配给单个节点用于重新传送(框620)。如上所述,负责重新传送的节点可以是内容请求对等节点、非内容请求对等节点、甚至源节点本身。然后节点之间的重新发布队列被用来处理网络中的动态变化(框630)。通过采用节点之间的这些重新发布队列,内容发布方法可有效地处理网络条件中的动态变化。作为示例,网络条件变化,诸如上载带宽变化、网络中每个节点的信息包丢失和信息包波动在进行中处理从而如果节点经历了容量的下降,则分配给该节点用于重新传送的内容块数量也成比例地减少。
IV.操作细节和工作示例
现在讨论如图6所示的内容发布方法的操作细节。该内容发布方法的基本发布框架如下。要发布的内容被划分成块Bj,j=1,2,…,M。对于每个块Bj,都分配一个唯一的节点来将内容块发布给剩下的对等节点。该唯一节点是负责重新发布该块的节点。负责重新发布块Bj的节点常常是对等节点ti。在此情形中,源节点向对等节点ti发送块Bj的一个副本,而ti通过将该块副本发送给剩下的对等节点来重新发布块Bj。然而,当源节点具有丰富的带宽资源时,负责发布块Bj的节点可以是源节点本身。在此情形中,源节点将直接把块Bj的副本传送给每个对等节点ti
内容划分
如上参照图6所述,开始时内容发布方法将要发布的内容划分成许多小块。由一节点重新发布的块的数量可与该节点的容量(或资源)成比例。在一优选实现中,容量根据节点的上载带宽估算或定义。可给予具有较大上载带宽的节点较多数量的内容块用于重新发布。类似地,可给予具有较小上载带宽的节点较少数量的内容块用于重新发布。
该内容发布方法将内容划分成大量小块用于发布。内容块尺寸是发布粒度和标识该块所需开销之间的协调产物。在一测试实现中,内容块的优选尺寸比网络的最大传输单元(MTU)略小。这使内容块能作为网络上的单个信息包发送。在一测试实现中,内容块尺寸被设置为1KB。
发布路径
在内容发布期间,每个内容块被分配给某一节点用于重新发布。分配给对等节点的内容块数量与其容量成比例,容量在一测试实现中根据其上载带宽估算。使用上载带宽是因为根据对等节点对网络的作用,相关的正是对等节点的上载带宽。因而,为了在P2P网络中有效地发布内容,内容发布方法应尽可能地利用对等节点的上载带宽。
此外,应注意,对于内容块发布,操纵发布速度的主要参数是网络链接的输入输出量。如果客户机可选择从中接收文件的多个服务器,它应选择提供最快网络输入输出量的服务器。其它网络参数,诸如往返常数时间(RTT)、信息包丢失率、网络波动,都不如网络链接的输入输出量那么相关。在由终端用户节点组成的网络中,网络可通过分配每个节点上的上载带宽限制、每个节点上的下载带宽限制、以及任意两个节点或任意两组节点之间的链接带宽限制来表征。然而,瓶颈通常是节点的上载带宽。
在此所述的内容发布方法中,对等节点向多个目标发送内容。对等节点的输出因而在多个接收者之间划分。结果,两个对等节点之间所需的链接带宽仅是发送节点上载带宽(通常不是瓶颈)的一部分。节点接收内容所需的下载带宽总是比网络中所有节点总的可用上载带宽除以接收节点总量少。在递增的普通网络中,终端用户节点的总上载带宽比总下载带宽小得多。特别是在电缆调制解调器和ADSL网络上的终端用户节点,其中平衡不对称地偏向较大的下载带宽。即使对于校园网络或公司网络上的用户节点,下载带宽也比可用的上载带宽大得多,因为用户可设上载带宽的上限以限制参与P2P网络活动。在以下讨论中,假设接收节点具有足够的下载和链接带宽以接收来自内容发布方法的内容。
再参看图5,假设对等节点t1和t2的上载带宽为B;对等节点t3的上载带宽为2B;对等节点t4的上载带宽为3B;而源节点的为4B,其中B是带宽单元。充分利用源节点和对等节点的上载带宽的最优策略如表1所示。
  接收节点                发送节点以及链接带宽   下载带宽
  s   t1   t2   t3   t4
  t1   0.83B   -   0.5B   B   B   3.33B
  t2   0.83B   0.5B   -   B   B   3.33B
  t3   1.33B   0.5B   0.5B   -   B   3.33B
  t4   B   -   -   -   -   B
  上载带宽   4B   B   B   2B   3B
                                  表格1
如果网络包括源节点、N1个内容请求对等节点(N1>1,否则问题较小)以及N2个非内容请求(但愿意参与)对等节点,使用内容发布方法的网络将通过N1个中间度为N1-1的高度-2树(带有作为内容请求节点之一的中间节点)、N2个中间度为N1的高度-2树(带有作为非内容请求节点之一的中间节点)、以及一个度为N1的高度-1树,这些树都以源节点为根。
应注意本内容发布方法和系统所采用的网络拓扑具有使其与上述快速复制技术不同的众多特征。首先,本内容发布方法和系统不把发布和收集步骤分开。相反,内容块由源和对等节点连续发布。其次,在内容发布方法中,由特定对等节点重新发布的内容量并不固定,而根据对等节点的能力(诸如上载带宽)变化。最后,本内容发布方法和系统可涉及内容重新发布中的源节点和非内容请求对等节点。
本内容发布方法通过三种路径发布内容:(1)通过内容请求对等节点,(2)通过非内容请求对等节点,以及(3)直接从源节点。每种发布方法要求来自参与节点的不同量网络资源。再一次,主要相关的网络资源是所消耗的上载带宽。为了使用内容发布方法在N1个内容请求对等节点的网络中发布具有带宽B的内容的一部分,第一发布路径要求来自源节点的上载带宽B,以及来自每个内容请求对等节点的上载带宽(N1-1)B。第二发布路径要求来自源节点的上载带宽B,以及来自每个非内容请求对等节点的上载带宽N1·B。第三发布路径要求来自源节点的上载带宽N1·B。因而,内容发布方法使用对等节点的上载带宽(包括内容请求对等节点和非内容请求对等节点)以减轻源节点上的上载带宽负担。这具有加快最大内容发布速率的效果。
应注意,对于同一路径,所消耗的网络资源量与每个对等节点单独的上载带宽无关。因而带宽分配问题可相对每个路径类别考虑而不用考虑每个单独节点。
带宽分配
在使用本内容发布方法和系统的网络中,最宝贵的资源是内容所源自的源节点的上载带宽。如果用完了源节点的上载带宽,内容发布就不能再加快,即使还有带有可用上载带宽的对等节点。显然,如果源节点以速率B通过传送链接向所有N1个内容请求对等节点发送内容块,它将消耗源节点上载带宽N1·B。另一方面,如果源节点以速率B向对等节点ti发送内容块,而ti向剩下的内容请求对等节点发布块,则所需的源节点上载带宽量仅为B。显然,只要有一个以上的内容请求对等节点,源节点就应向对等节点转发尽可能多的内容块用于重新传送。在内容请求和非内容请求对等节点之间,内容请求对等节点在效率上略有优势,因为在转发链接中发往节点的内容块未遭浪费。结果,在以上勾划出的三种发布路径中,最佳路径为路径1(通过内容请求对等节点),然后是路径2(通过非内容请求对等节点)。仅当源节点仍有上载带宽剩余时,才可选择路径3来直接向对等节点发布内容。
假设使用本内容发布方法和系统的网络包括上载带宽为Bs的源节点,N1(N1>1)个带有平均带宽为B1的内容请求对等节点,N2带有平均带宽为B2的非内容请求对等节点。应用上述的发布路径选择策略,本内容发布方法和系统的被定义为每秒向内容请求对等节点多播的内容量的发布信息通量为:
θ = B s B s ≤ B s 1 + B s 2 , ( B s 1 + B s 2 ) + B s - ( B s 1 + B s 2 ) N 1 B s ≥ B s 1 + B s 2 ,
其中
B s 1 = N 1 N 1 - 1 B 1 以及 B s 2 = N 2 N 1 B 2
等式(1)示出在所有对等节点的上载带宽耗尽之前,发布信息通量仅受源节点的上载带宽限制。所有N1个内容请求对等节点以源节点的上载带宽速率接收内容。在所有对等节点的上载带宽耗尽之后,发布信息通量变成网络上载带宽总量N1B1+N2B2+Bs的1/N1减去在通过非内容请求对等节点的发布中浪费的一小部分N2B2/N1
通过重新发布队列的发布路径选择
有了如上所述实现的发布路径优先权,假设源和所有对等节点的可用上载带宽为已知从而可明确计算在任意两个对等节点之间分配的带宽。这提供了方向使内容块得以相应地发布。然而,有更简单的以分布方式工作的方法。可使用队列来估算任意连接链接上的带宽,并基于队列的状态管理内容块发布路径的选择。这在网络带宽未知时获取隐式带宽分配。
内容发布方法的带宽控制策略包括建立一队列以缓存从一节点发送到另一节点的内容。该队列被用以控制任意两个节点之间的发布速度。在内容发布方法的一测试实现中,节点之间的链接通过TCP连接建立。因而重新发布队列是TCP发送和接收缓冲区。使用TCP的另一个优点是流控制、可靠数据传送和节点离开事件都由TCP自动处理。
携带要重新发布的块的TCP连接称为转发链接,而携带不要重新发布的块的TCP连接称为传送链接。从每个对等节点到其它每一个内容请求对等节点都建立一个TCP连接(传送链接)。此外,从源节点到每一个非内容请求对等节点都建立一个TCP连接(转发链接),且从源节点到每一个内容请求对等节点都建立两个TCP连接(正向和传送链接)。然后发布路径的选择变成在TCP连接中找到可用的槽。
现在将按照源节点和对等节点来详细描述重新传送的过程。每个内容请求对等节点包括至少两个线程。一个线程(“传送链接”线程)接收来自传送链接的内容块,而第二个线程(“转发链接”线程)接收来自转发链接的内容块并通过其传送链接向剩下的内容请求对等节点重新发布这些内容块。对于非内容请求对等节点,仅操作转发链接线程。
图7是示出对等节点(内容请求和非内容请求)转发链接线程的操作的详细流程图。在转发链接线程的每个迭代循环中,判断进入转发链接队列是否为空(框700)。如果是,则过程等待(框710)。否则,对等节点移除来自进入转发链接队列的一个内容块(框720)。然后,节点把该内容块复制到向外到所有其它内容请求对等节点的传送链接队列中(框730)。然后判断该内容块是否已被成功置入所有对等节点的队列(框740)。如果不是,则过程等待(框750)并再尝试失败的内容请求节点。否则,迭代再次开始。
应注意,转发链接在它已成功地将最后的内容块复制到所有外出传送链接队列之前不会从进入转发链接队列中移除另一个内容块。这样,如果外出传送链接阻塞可能导致达到对等节点上载带宽上的限制,对等节点将终止从进入转发链接队列中移除内容块。这有效地将转发链接的接收速率调整为对等节点上载带宽的1/M,其中M是要向其重新发布内容块的节点数量,其中N1-1个为内容请求对等节点而N1为非内容请求对等节点。
图8是示出内容接收对等节点的传送链接线程的操作的详细流程图。开始,判断到达内容块是否来自源节点(框800)。对于来自不是源节点的节点在传送链接上到达的内容块,操作是一旦内容块到达就从进入传送链接队列中移除该内容块。首先,判断进入传送链接队列是否为空(框810)。如果不是,则从进入传送链接队列中移除该内容块(框820)。否则,检查来自下一节点的内容(框830)。
对于来自源节点在传送链接上到达的内容块,检查转发链接的接收缓冲区(框840)。另一限制是仅当来自同一源节点的转发链接的接收缓冲区长度在某阈值之上从传送链接队列移除该内容块(框850)。因而,如果缓冲区长度不在该阈值之上,则不移除来自源节点在传送链接上到达的内容块。相反,检查下一节点的传送链接(框830)。否则,判断传送链接是否为空(框810)。如果不是,则从传送链接中移除该内容块(框820)。
基本原理为传送链接和转发链接是共享从源到对等节点的同一网络路径的两个独立的TCP连接。通过正向连接发送的内容块具有较高优先级,因为它们还要被重新发送到其它内容接收对等实体。在激活从源节点到对等节点之间的传送路径之前,接收缓冲区长度策略确保正向连接带宽将至少是上载带宽的1/M。
图9是根据在此揭示的内容发布方法的源节点操作的详细流程图。一般而言,对于每个内容块,源节点基于重新发布队列的状态来选择发布路径之一。路径选择基于以下优先级顺序。通过内容请求对等节点的重新发布具有最高优先级。通过非内容请求对等节点的重新发布具有第二最高优先级。直接从源节点到所有内容请求对等节点的发布具有最低优先级。
特别地,如图9所示,过程在下一内容块(框900)和下一内容请求对等节点(框905)上开始。然后检查对等节点的正向连接(框910)。源节点检查在从源节点到内容请求对等节点的转发链接的任意TCP连接中对内容块是否有可用空间(框915)。如果TCP连接之一的发送缓冲区未满且可持有整个内容块,则内容块被置入该TCP缓冲区以发送给相应内容请求对等节点,而该节点又通过相应的传送链接将内容块重新发送给其它内容请求对等节点(框920)。如果在到内容请求对等节点的转发链接上未找到空间,则源节点判断是否已检查所有的内容请求对等节点(框925),然后检查非内容请求对等节点(框930)及其转发链接(框935)。
如果在链接上发现了可用的空间(框940),内容块被置入相应链接的TCP缓冲区中(框945)。如果已检查了所有节点,且甚至在到非内容请求对等节点的链接上都没有可用空间,则源节点寻求最后的发布路径。该最后发布路径检查到所有内容请求对等节点的发送链接(框955),并判断在所有的内容请求对等节点中是否有一个块的空间(框960)。结合图8所示的接收缓冲区长度策略,这确保转发链接的带宽不被转发链接的通信量所充塞。如果找到了空间,复制该内容块并将其置入到每个内容请求对等节点的传送链接(框965)。如果在任一发布路径上都没有空间,则源节点在再次尝试寻找内容块的可用路径之前将等待一小段时间(框970)。
重新发布队列的角色
使用对等节点和源节点的重新发布队列和以上操作策略,内容发布方法通过调整节点的上载带宽来处理诸如信息包丢失和网络拥堵的异常,以通过充分利用源节点和对等节点的上载带宽资源获取最大的内容发布信息通量。现在将详细解释内容发布方法和系统的最优性。
任意两个节点之间的内容块通过重新发布队列发布,在测试实现中该队列是带有某尺寸的发送和接收缓冲区的TCP连接。如在以上“通过重新发布队列的发布路径选择”章节中所指出的,内容发布方法和系统的源节点和对等节点将尽可能多的内容块推入TCP连接中,直到TCP发送缓冲区变满。在TCP连接的发送缓冲区内等待的内容块确保甚至考虑了诸如信息包丢失和网络拥堵的网络异常都能充分利用任意两个对等节点之间的网络路径。如果没有信息包丢失,新的内容块将通过TCP连接被发送到目标对等节点。如果有信息包丢失或其它网络异常,TCP将尝试通过重新传输从网络错误中恢复,且等待在TCP发送缓冲区中的内容块将不被送出。在转发链接的TCP接收缓冲区中等待的内容块确保充分利用相应对等节点的上载带宽。在对等节点将最后一个内容块推入传送链接的TCP发送缓冲区后,它可检索等待在TCP接收缓冲区中的内容块。因而,可继续将块推入发送链接的动作从而不浪费上载带宽。
此外,如图7-9所示,内容发布方法确保充分利用源节点和对等节点的上载带宽。这由确保先选择通过内容请求对等节点发布、然后选择通过非内容请求对等节点发布、以及最后选择从源节点直接发布来选择内容发布路径而获得。
如果在使用内容发布方法向N1个内容请求对等节点发布内容时源节点的上载带宽较低且从源到对等节点的传送链接未激活,则内容发布方法的内容发布信息通量将是源节点的上载带宽BS。在此情形中,内容以速度BS从源节点发出,其中对等节点具有足够的上载带宽以向所有的内容请求对等节点发送内容。每个内容请求对等节点以速率BS接收内容,就像源节点仅向它发送内容一样。如果源节点的上载带宽较高且从源到对等节点的传送链接已激活,则内容发布方法的内容发布信息通量将是源节点和对等节点的上载带宽之和,减去将内容块发送到非内容请求对等节点用于重新传送所浪费的一小部分带宽,再除以内容请求节点的数量N1。因此,无论网络资源或网络的容量(诸如上载带宽)配置如何,内容发布方法都能获取等式(1)计算的最大内容发布信息通量。内容发布方法还通过TCP链接的重新发布队列轻松地适应网络带宽的变化。如果某一对等节点变慢,其传送链接中的内容块将缓慢移动,提醒对等节点从其转发链接中检索更少的内容块。而这又使源节点向这个现在变慢的对等节点发送更少的内容块,并将内容块重新指向其它较快的对等节点。或者,如果某一对等节点变快(例如,如果上载带宽增加),内容发布方法可通过向该对等节点发送更多的内容块作类似调整。
工作示例
为了更全面地理解在此揭示的内容发布方法和系统,给出了示例性工作示例的操作细节。应注意,该工作示例仅是可实现内容发布方法和系统的一种方式。
在此实现中,内容发布方法和系统包括由源节点运行的发送器模块以及由每个对等节点运行的接收器模块。为了校验内容发布方法和系统的性能,构建了具有一个源节点和四个内容接收对等节点的内容传送P2P网络。然后从源节点向所有的对等节点发布约有1MB大小的媒体文件。通过将发布文件大小除以内容发布方法和系统发布该文件所花的时间来测量真实的输入输出量。然后它将使用内容发布方法的理论网络广播容量与在源和对等节点的各种上载带宽配置下的真实输入输出量作比较。结果如表格2所示,同时理论广播容量列举如下。
使用如图7-9所示内容发布方法和系统的发送器和接收器组件的实现,使用内容接收方法和系统的网络的真实输入输出量与对等网络的分析广播容量相当接近。
  序号                    上载带宽(kbps)   输入输出量(kbps)
  s   t1   t2   t3   t4   分析   本发明
  1   500   1000   1000   750   500   500   500.08
  2   1000   1000   1000   750   500   1000   999.43
  3   500   250   1000   750   500   500   499.95
  4   1000   750   1000   750   500   1000   1001.2
V.示例性操作环境
本内容发布方法和系统被设计成在计算环境中和在计算装置上操作。将讨论本内容发布方法和系统在其中操作的计算环境。以下讨论旨在提供对本内容发布方法和系统可在其中实现的适当计算环境的简要一般描述。
图10示出了可在其中实现如图5所示的内容发布方法和系统的示例性计算系统环境。该计算系统环境1000仅是适当计算环境的一个示例,并非旨在提出对本发明使用或功能性范围作任何限制。计算环境1000也不应被解释为对示例性操作环境1000中所示的任一组件或其组合有任何依赖性或任何需求。
本内容发布方法和系统也可在很多其它通用或专用计算系统环境或配置中操作。适于本内容发布方法和系统使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式、膝上型或移动计算机或诸如手机和PDA的通信装置、多处理器系统、基于微处理器的系统、置顶盒、可编程消费电器、网络PC、小型计算机、大型机、包括任一种以上系统或装置的分布式计算环境等等。
本内容发布方法和系统可在计算机可执行指令的一般环境中进行说明,诸如由计算机执行的程序模块。一般而言,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。本内容发布方法和系统还可在任务由经通信网络连接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于包括存储器存储设备的本地和远程计算机存储介质中。参照图10,实现本发明的示例性系统包括以计算机1010形式的通用计算装置。
计算机1010的组件可包括,但不限于,处理单元1020、系统存储器1030以及把包括系统存储器在内的各种系统组件耦合到处理单元1020的系统总线1021。系统总线1021可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线体系结构的任一种的本地总线。作为示例,而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微信道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机1010通常包括各种计算机可读介质。计算机可读介质可以是能被计算机1010访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。
计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁带盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机1010访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。
注意术语“已调制数据信号”意指在信号中用对信息编码方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频(RF)、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器1030包括诸如只读存储器(ROM)1031和随机存取存储器(RAM)1032的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于计算机1010如起动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS)1033通常存储在ROM 1031中。RAM 1032通常包含可被处理单元1020立即访问和/或当时正被操作的数据和/或程序模块。作为示例,而非限制,图10示出了操作系统1034、应用程序1035、其它程序模块1036、和程序数据1037。
计算机1010还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图10图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器1041,读取和写入可移动、非易失性磁盘1052的磁盘驱动器1051,读取和写入可移动、非易失性光盘1056,诸如CD-ROM或其它光学介质的光盘驱动器1055。
其它也用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字化多功能光盘、数字化视频带、固态RAM、固态ROM等等。硬盘驱动器1041通常通过诸如接口1040的不可移动存储器接口与系统总线1021连接,而磁盘驱动器1051和光盘驱动器1055通常通过诸如接口1050的可移动存储器接口与系统总线1021连接。
如上所述并如图10所示的驱动器及其相关联的计算机存储介质为计算机1010提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图10中,例如,硬盘驱动器1041被示为存储操作系统1044、应用程序1045、其它程序模块1046、和程序数据1047。注意这些组件可以与操作系统1034、应用程序1035、其它程序模块1036、和程序数据1037相同或不同。在此给予操作系统1044、应用程序1045、其它程序模块1046、和程序数据1047的数字不同至少说明他们是不同的副本。用户可通过诸如键盘1062和定位装置1061的输入装置向计算机1010输入命令和信息。
其它输入装置(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星接收器、扫描仪、无线接收器、或电视或广播视频接收器等等。这些和其它输入设备常常通过与系统总线1021耦合的用户输入接口1060与处理单元1020相连,但也可通过例如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。监视器1091或其它类型的显示设备也可通过诸如视频接口1090的接口与系统总线1021相连。除显示器以外,计算机还可包括诸如扬声器1097和打印机1096的其它输出设备,它们通过输出外围接口1095相连。
计算机1010可以在使用与一台或多台远程计算机,诸如远程计算机1080的逻辑连接的网络化环境中运行。远程计算机1080可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机1010相关的许多或全部组件,尽管在图10中仅图示了存储器存储设备1081。图10中所描绘的逻辑连接包括局域网(LAN)1071和广域网(WAN)1073,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机1010通过网络接口或适配器1070与LAN 1071连接。当用于WAN网络化环境中时,计算机1010通常包括调制解调器1072或其它用于在广域网1073,诸如因特网中建立通信的装置。可以是内置式或外置式的调制解调器1072与系统总线1021通过用户输入接口1060或其它适当机制连接。在网络化环境中,与计算机1010相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图10示出了驻留于存储器装置1081中的远程应用程序1085。应当理解,所示网络连接是示例性的,且其它用于在计算机间建立通信连接的装置也可以使用。
最大化内容发布信息通量的理论分析
在本节中,我们证明本内容发布方法和系统对具有有限上载带宽的对等网络是最优的。本内容发布方法和系统获取这种网络的最大可能输入输出量;下面证明没有其它系统可以更好。
设示图(V,E)表示网络,V为节点集而E为链接(有向边)集。设V中的s表示源节点而T表示内容请求节点的E中的子集。设剩下的节点都是非内容请求节点。考虑两种类型的容量。设c(E)为E中每条边的容量,并设cout(v)表示V中每个节点v的上载带宽(输出容量)从而对每个节点v,离开v的边的容量和最大为cout(v)。
V中两个节点v1、v2之间的分割是将V划分成两个集V1、V2从而vi在Vi中,i=1,2。分割的值是从V1到V2的边e上容量c(e)之和。
众所周知,s和T中任何汇点(Sink)t之间的最大流获得s和t之间所有分割的最小值。设Ct为s和t之间最大流(maxflow)的值。注意Ct=Ct(c)取决于边的容量函数c:E→[0,∞]。
定义:s和T之间的广播容量是s和T中任何t之间的最小maxflow,即C=mintCt。注意像Ct一样,C=C(c)取决于边的容量函数c。
显然,广播容量C是可从s广播到T中所有节点的普通信息的最大速率的上限。不幸地是,在一般使用多播路由中不能获得C。图11是示出使用多播路由1100不能获取广播容量C的框图。尽管总是使用网络编码来获得C,这需要中间节点来编码(不仅仅是路由)其输入信息包以产生输出信息包。如果仅使用路由,经多个多播树从s到T的最大输入输出量C0可以是比C小的logN因子。此外,确定多播树的最优集合(来获取C0)是有NP难度的,而在多项式时间中可获取的C0和输入输出量C00≤C0之间的间隙上已知的最严密限制相对较松。另一方面,如果在网络中没有Steiner节点(Steiner节点是Cv<C的节点v),则广播容量C可简单地通过过分地包装多个多播树来获取,如以下的Edmond定理所示。
作为特定结构的多个多播树的集合,本内容发布方法和系统获取了对某些边的容量函数c(e)的广播容量C=C(c)。此外,它获取了最大的广播容量,如以下定理所示。
定理:本内容发布方法和系统输入输出量θ获取符合节点输出容量限制的最大可能广播容量。即,在所有边容量函数c:E→[0,∞)上θ=maxcC(c),从而对所有的节点v,所有离开v的边e上c(e)之和最大为cout(v)。
证明:以下分别是Bs≤Bs1+Bs2和Bs≥Bs1+Bs2的网络的独立证明。前者证明将s与V-s分开的分割,而后者证明将V-t与t分开的分割。
首先,假设Bs≤Bs1+Bs2。对于任意边容量函数c,广播容量C(c)最大可等于将s与V-s分开的分割值。由于这最大为Bs≡cout(s),因而给出C(c)≤Bs。当然,输入输出量θ必须满足θ≤maxc C(c)。另一方面,根据等式(1),内容发布方法和系统获取输入输出量θ=Bs。因此θ=maxcC(c)=Bs
现在假设Bs≥Bs1+Bs2。对于任一边容量函数c,进入T中节点的所有边上c(e)之和必须至少是N1乘以广播容量C(c)。因而,将U=V-T-s表示为非内容接收节点集,产生以下结果:
N 1 C ( c ) ≤ Σ t ∈ T Σ e ∈ In ( t ) c ( e )
= Σ v ∈ V Σ e ∈ In ( v ) c ( e ) - Σ u ∈ U Σ e ∈ In ( u ) c ( e )
= Σ v ∈ V Σ e ∈ Out ( v ) c ( e ) - Σ u ∈ U Σ e ∈ In ( u ) c ( e )
≤ Σ v ∈ V c out ( v ) - Σ u ∈ U Σ e ∈ In ( u ) c ( e ) .
另一方面,等式(1)给出(表示Bv=cout(v)):
θ = 1 N 1 - 1 Σ t ∈ T B t + 1 N 1 Σ u ∈ U B u + 1 N 1 ( B s - 1 N 1 - 1 Σ t ∈ T B t - 1 N 1 Σ u ∈ U B u ) .
因此
N 1 θ = N 1 N 1 - 1 Σ t ∈ T B t + Σ u ∈ U B u + B s - 1 N 1 - 1 Σ t ∈ T B t - 1 N 1 Σ u ∈ U B u
= Σ t ∈ T B t + Σ u ∈ U B u + B s - 1 N 1 Σ u ∈ U B u
= Σ v ∈ V c out ( v ) - Σ u ∈ U B u N 1
当然,θ≤maxcC(c),因此N1θ≤N1maxcC(c)=N1C(c*),其中c*是最优化容量函数。因此,
Σ v ∈ V c out ( v ) - Σ u ∈ U B u N 1 = N 1 θ ≤ N 1 max c C ( c ) = Σ v ∈ V c out ( v ) - Σ u ∈ U Σ e ∈ In ( u ) c * ( e )
如果可示出不等式支持等式,则证明完成。当然如果U为空则为真。为了显示这个,当U不为空时要证明对于U中的每个u,
B u N 1 ≤ Σ e ∈ In ( u ) c * ( e )
否则,任何从u到N1个内容接收节点的流将不足以用完上载带宽Bu。通过将某些容量从s和T之间的边重新分配到从s到U之间的边,则可获取更高的输入输出量。
推论:在一文件下载情形中,本内容发布方法和系统最小化了任意内容接收对等节点所经历的最大下载时间。在一流媒体情形中,本内容发布方法和系统最大化了任意内容接收对等节点所经历的最低质量。因此,本内容发布方法和系统在一个朋友的发布组合想要体验同时下载或流动相同质量的内容时是理想的。
下载带宽或链接带宽限制下的输入输出量
以上推论假设本内容发布方法和系统中的仅有瓶颈是对等节点的上载带宽。在本节中,给出在链接带宽或下载带宽限制下内容发布方法和系统的输入输出量的简要讨论。
考虑具有上载带宽Bu i的对等节点i。设其到内容接收对等节点j的链接带宽为Bl ij,j=0,…,M-1,其中M是除了它自己的内容接收对等节点数量。节点i和j之间的链接带宽只要符合以下条件就不会是瓶颈:
Bl ij≥Bu i/M
如果不满足以上不等式,则在本内容发布方法中不能充分利用节点i的上载带宽。节点i的有效上载带宽变成:
B u i ′ = M min j B l ij
该有效上载带宽可用于等式(1)以获取本内容发布方法和系统的新输入输出量。
当内容接收对等节点具有比等式(1)中给出的输入输出量(仅基于上载带宽)少的下载带宽时,这样的节点将也是内容发布方法和系统的瓶颈。在这种情形中,整体的输入输出量将是所有内容接收对等节点的最小下载带宽。这是因为所有的节点在恢复传送之前不得不等待最慢的节点完成。
对本内容发布方法和系统的实现的可选策略是使较慢的对等节点略去某些内容块,从而它们不会使剩下节点的接收操作变慢。这使对等节点仍然能进行全速处理。在一文件下载情形中,较慢的对等节点在所有剩下的节点已完成下载以后能接收被略去的内容。在一流媒体情形中,如果使用了分层媒体编码较慢对等节点可以能够接收其较低质量的内容。与该可选方法相比,本内容发布方法和系统的测试实现使到所有内容接收对等节点的普通信息量最大。它在一流媒体情形中最大化了任意内容接收对等节点所经历的最低质量,或在一文件下载情形中最小化了任意内容接收对等节点所经历的最大下载时间(例如,如果一个朋友的发布组合想要体验同时下载或流动相同质量的内容)。如果不是这样而是允许快速节点比较慢节点具有更高的输入输出量,则需要比测试实现更适合的可选实现。
前面对本发明的描述是为了说明和描述而给出的。它并非旨在穷尽本发明或将其限制在所揭示的精确形式中。根据以上教义,许多更改和变化都是可能的。本发明的范围旨在不受本发明的详细说明书而受所附权利要求书限制。

Claims (40)

1.一种用于向计算机网络上多个节点发布内容的方法,其特征在于,包括:
将所述内容划分成多个块;
与一节点容量成比例地将所述节点分配给所述多个块的每一个,从而向具有较大容量的节点分配较多块而向具有较小容量的节点分配较少块;
如果分配节点不是源节点,则从源节点向源节点的分配节点发送所述多个块的每一个用于重新发送;以及
由所述分配节点将所述块重新发送到剩下的内容请求节点中。
2.如权利要求1所述的方法,其特征在于,还包括根据所述节点的带宽定义所述节点的容量。
3.如权利要求2所述的方法,其特征在于,所述带宽是所述节点的上载带宽。
4.如权利要求1所述的方法,其特征在于,所述多个块的每一个的尺寸小于所述计算机网络的最大传输单元(MTU)。
5.如权利要求4所述的方法,其特征在于,所述内容块的尺寸约为1KB。
6.如权利要求1所述的方法,其特征在于,所述多个块的每一个的尺寸是发布粒度和标识所述块所需的开销的协调产物。
7.如权利要求1所述的方法,其特征在于,所述分配节点是请求所述内容副本的内容请求对等节点。
8.如权利要求1所述的方法,其特征在于,所述分配节点是不请求所述内容副本的非内容请求对等节点。
9.如权利要求1所述的方法,其特征在于,所述分配节点是源节点。
10.如权利要求1所述的方法,其特征在于,还包括使用带宽控制策略以基于所述节点容量的变化而使能块的动态重新发布。
11.如权利要求10所述的方法,其特征在于,所述带宽控制策略还包括采用所述网络中每对节点之间的重新发布队列。
12.如权利要求11所述的方法,其特征在于,还包括使用传输控制协议(TCP)构建重新发布队列。
13.如权利要求12所述的方法,其特征在于,所述重新发布队列是TCP发送和接收缓冲区。
14.如权利要求11所述的方法,其特征在于,还包括使用在用户数据报协议(UDP)之上实现的应用缓冲区来构建重新发布队列。
15.如权利要求1所述的方法,其特征在于,还包括将转发链接定义为所述源节点和所述分配节点之间的连接,其中在所述连接中发送的所述内容块还要重新发布。
16.如权利要求1所述的方法,其特征在于,还包括将传送链接定义为所述分配节点和另一内容请求对等节点之间的连接,其中在所述连接中发送的所述内容块不进一步重新发布。
17.如权利要求1所述的方法,其特征在于,所述计算机网络是一对等网络。
18.一种具有计算机可执行指令的计算机可读介质,其特征在于,所述指令用于执行如权利要求1所述的计算机实现方法。
19.一种用于在计算机网络上从源节点向多个内容请求节点传送内容的计算机实现方法,其特征在于,包括:
将要传送的所述内容划分成多个较小内容块;
向所述内容块的每一个分配一节点用于重新传送;
如果所述分配节点不是所述源节点,则从所述源节点向其分配节点发送所述内容块的每一个;以及
从所述分配节点向所述剩下的内容请求对等节点重新发布所述内容块。
20.如权利要求19所述的计算机实现方法,其特征在于,还包括采用所述计算机网络节点之间的重新发布队列,以有效地管理所述计算机网络的动态变化。
21.如权利要求19所述的计算机实现方法,其特征在于,所述计算机网络是对等网络。
22.如权利要求21所述的计算机实现方法,其特征在于,所述分配节点是所述内容请求对等节点。
23.如权利要求21所述的计算机实现方法,其特征在于,所述分配节点是不请求所述内容的非内容请求对等节点。
24.如权利要求19所述的计算机实现方法,其特征在于,还包括改变分配给所述节点的内容块数量从而由节点重新发布的内容数量是可变的。
25.如权利要求24所述的计算机实现方法,其特征在于,还包括基于所述节点的容量改变分配给所述节点的内容块数量。
26.如权利要求25所述的计算机实现方法,其特征在于,还包括根据所述节点的上载带宽定义所述节点的容量。
27.一种具有计算机可执行指令的计算机可读介质,其特征在于,所述指令用于执行如权利要求19所述的计算机实现方法。
28.一种用于在对等计算机网络中的节点之间发布内容的方法,其特征在于,包括:
将所述内容划分为众多较小内容块;
将所述内容块的每一个分配给所述节点之一用于重新传送,从而所述分配的内容块数量可依赖于所述分配节点的上载带宽而变化;
采用所述节点之间的重新发布队列;以及
使用所述重新发布队列来重新分配所述内容块,从而所述分配节点的上载带宽中的任意变化导致分配给所述节点用于重新发布的块的数量变化。
29.如权利要求28所述的方法,其特征在于,所述重新发布队列是传输控制协议(TCP)发送和接收缓冲区。
30.如权利要求28所述的方法,其特征在于,还包括使用在用户数据报协议(UDP)之上实现的应用缓冲区来产生所述重新发布队列。
31.如权利要求28所述的方法,其特征在于,还包括将转发链接定义为节点之间的连接,所述节点具有还要重新发布的所述内容块。
32.如权利要求31所述的方法,其特征在于,还包括:
从进入转发链接中移除一个内容块,并定义它为所述当前内容块;以及
将所述当前内容块复制到所有内容请求对等节点的输出传输链接上。
33.如权利要求32所述的方法,其特征在于,还包括等待直到所述当前内容块已被复制到每一个所述输出传输链接才从进入转发链接中移除另一个内容块。
34.如权利要求31所述的方法,其特征在于,还包括将一传送链接定义为具有不要重新发布的内容块的节点之间的链接。
35.如权利要求34所述的方法,其特征在于,还包括:
确定到达内容块由以下之一发送:(a)内容请求节点;(b)非内容请求节点;以及
一旦所述块到达从所述传送链接中移除所述到达内容块。
36.如权利要求34所述的方法,其特征在于,还包括:
确定所述到达内容块由源节点发送;以及
仅当来自所述源节点的所述转发链接的接收缓冲区长度比阈值大,从所述传送链接中移除到达内容块。
37.如权利要求34所述的方法,其特征在于,还包括:
判断在从所述源节点到所述内容请求节点的所述转发链接中是否有内容块的可用空间;
将所述内容块置入缓冲区以发送到相应的内容请求节点;以及
通过相应的传送链接将所述内容块重新发布到其它内容请求对等节点。
38.如权利要求37所述的方法,其特征在于,还包括:
判断在从所述源节点到所述内容请求节点的所述转发链接中是否有内容块的可用空间;
判断在到所述非内容请求节点的转发链接中是否有可用空间;以及
如果有空间可用,则将所述内容块置入缓冲区以发送到相应的非内容请求节点;以及
通过相应的传送链接将所述内容块重新发布到其它内容请求对等节点。
39.如权利要求38所述的方法,其特征在于,还包括:
判断在从所述源节点到所述内容请求和非内容请求节点的所述转发链接中是否有内容块的可用空间;
判断在从所述源节点到所有所述内容请求节点的所有传送链接中是否有可用空间;以及
如果有空间可用,则将所述内容块置入从所述源节点到所有所述内容请求对等节点的所有传送链接的缓冲区。
40.如权利要求39所述的方法,其特征在于,还包括:
确定在从所述源节点到所述内容请求和非内容请求节点的所述转发链接中没有内容块的可用空间,以及在从所述源节点到内容请求节点的任一传送链接中没有可用空间;以及
如果没有空间可用,则等待一小段时间然后再尝试。
CN2005100778606A 2004-07-07 2005-06-07 对等计算机网络中有效的一对多内容发布的方法 Expired - Fee Related CN1719833B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/887,406 2004-07-07
US10/887,406 US7593333B2 (en) 2004-07-07 2004-07-07 Efficient one-to-many content distribution in a peer-to-peer computer network

Publications (2)

Publication Number Publication Date
CN1719833A true CN1719833A (zh) 2006-01-11
CN1719833B CN1719833B (zh) 2011-11-02

Family

ID=34940253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100778606A Expired - Fee Related CN1719833B (zh) 2004-07-07 2005-06-07 对等计算机网络中有效的一对多内容发布的方法

Country Status (7)

Country Link
US (1) US7593333B2 (zh)
EP (1) EP1615403B1 (zh)
JP (1) JP4738900B2 (zh)
KR (1) KR101109246B1 (zh)
CN (1) CN1719833B (zh)
AT (1) ATE369007T1 (zh)
DE (1) DE602005001815T2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121611A1 (fr) * 2006-04-21 2007-11-01 Yongmin Zhang Procédé et dispositif de transmission de contenu dans un réseau poste à poste
WO2011054248A1 (zh) * 2009-11-06 2011-05-12 中兴通讯股份有限公司 一种结构化对等网络中消息的广播系统及方法
CN101345628B (zh) * 2007-07-13 2011-06-22 中兴通讯股份有限公司 源节点选择方法
CN101267379B (zh) * 2007-03-14 2011-07-27 中国电信股份有限公司 基于p2p和cdn的统一内容承载和调度系统
CN101938406B (zh) * 2009-07-02 2012-07-04 华为技术有限公司 微波多通道报文发送方法和装置及传送系统
CN105830419A (zh) * 2013-12-27 2016-08-03 微软技术许可有限责任公司 优先化对象通过网络的传播的对等网络
CN110519553A (zh) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 视频流转发控制方法、装置、电子设备及可读存储介质
CN111130814A (zh) * 2019-12-11 2020-05-08 深圳市高德信通信股份有限公司 一种基于用户需求的网络广播系统
CN112100414A (zh) * 2020-09-11 2020-12-18 深圳力维智联技术有限公司 数据处理方法、装置、系统与计算机可读存储介质

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408938B1 (en) * 2003-10-15 2008-08-05 Microsoft Coporation System and method for efficient broadcast of information over a network
US8059629B1 (en) 2004-03-27 2011-11-15 Dust Networks, Inc. Digraph network timing synchronization
US8194655B2 (en) * 2004-08-05 2012-06-05 Dust Networks, Inc. Digraph based mesh communication network
US7961664B1 (en) 2004-03-27 2011-06-14 Dust Networks, Inc. Digraph network subnetworks
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US9549043B1 (en) 2004-07-20 2017-01-17 Conviva Inc. Allocating resources in a content delivery environment
US10862994B1 (en) 2006-11-15 2020-12-08 Conviva Inc. Facilitating client decisions
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
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
US7633887B2 (en) * 2005-01-21 2009-12-15 Panwar Shivendra S On demand peer-to-peer video streaming with multiple description coding
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7539219B2 (en) 2005-05-12 2009-05-26 Radioshack Corporation Method and apparatus for synchronization of digital multimedia packets
US20070076693A1 (en) * 2005-09-30 2007-04-05 Dilip Krishnaswamy Scheduling variable bit rate multimedia traffic over a multi-hop wireless network
DE102006014592A1 (de) * 2006-03-29 2007-10-04 Siemens Ag Verfahren zur Übertragung von Daten in einem Datennetz
US20070244585A1 (en) * 2006-04-17 2007-10-18 900Seconds, Inc. Automated administration of network-based contests
WO2007121610A1 (fr) * 2006-04-21 2007-11-01 Yongmin Zhang Procédé de transmission de contenu d'un réseau poste à poste et appareil de localisation et de lecture
WO2007127401A2 (en) * 2006-04-26 2007-11-08 Bittorrent, Inc. Peer-to-peer download and seed policy management
US7706260B2 (en) 2006-04-26 2010-04-27 Bittorrent, Inc. End-system dynamic rate limiting of background traffic
ATE482562T1 (de) * 2006-05-19 2010-10-15 Microsoft Corp Inhaltsverwaltung in peer-to-peer datenverteilungswolken
US8605721B1 (en) * 2006-05-25 2013-12-10 The Hong Kong University Of Science And Technology Scalable island multicast for peer-to-peer media delivery
US7945689B2 (en) * 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model
US8838823B2 (en) * 2006-06-27 2014-09-16 Thomson Licensing Performance aware peer-to-peer content-on-demand
JP4680860B2 (ja) * 2006-09-29 2011-05-11 富士通株式会社 データ通信方法
US20080091740A1 (en) 2006-10-12 2008-04-17 France Telecom Method for managing a partitioned database in a communication network
US8874725B1 (en) 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
US9264780B1 (en) 2006-11-15 2016-02-16 Conviva Inc. Managing synchronized data requests in a content delivery network
US8751605B1 (en) * 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
US8566436B1 (en) 2006-11-15 2013-10-22 Conviva Inc. Data client
US8087056B2 (en) * 2006-11-20 2011-12-27 Alticast Corporation Operating method of contents on demand system
US9094416B2 (en) * 2006-11-29 2015-07-28 Thomson Licensing Contribution aware peer-to-peer live streaming service
WO2008066516A1 (en) * 2006-11-29 2008-06-05 Thomson Licensing Contribution aware peer-to-peer live streaming service
ATE498272T1 (de) * 2006-12-08 2011-02-15 Deutsche Telekom Ag Verfahren und system für peer-to-peer- inhaltsverbreitung
US7903652B2 (en) * 2006-12-14 2011-03-08 At&T Intellectual Property I, L.P. System and method for peer to peer video streaming
EP1936497A3 (en) * 2006-12-20 2009-04-08 NCR Corporation Automated wide area software distribution with reduced network bandwidth requirements
KR101112446B1 (ko) * 2006-12-23 2012-02-20 주식회사 엘지화학 과충전 안전성이 향상된 이차전지
JP4809256B2 (ja) * 2007-01-31 2011-11-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データストリーミング方法
US20080201752A1 (en) * 2007-02-16 2008-08-21 At&T Knowledge Ventures, L.P. Multicast data packet recovery system
JP5319072B2 (ja) * 2007-03-16 2013-10-16 ソフトバンクBb株式会社 データ転送システム及びデータ転送方法
WO2008115221A2 (en) * 2007-03-20 2008-09-25 Thomson Licensing Hierarchically clustered p2p streaming system
CN101026543A (zh) * 2007-03-28 2007-08-29 华为技术有限公司 点到点p2p内容共享的方法及系统
JP4861472B2 (ja) * 2007-03-29 2012-01-25 パイオニア株式会社 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
WO2008120353A1 (ja) * 2007-03-29 2008-10-09 Pioneer Corporation コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
US8024723B2 (en) * 2007-05-18 2011-09-20 Samsung Electronics Co., Ltd. System and method for peer-to-peer datacasting in a broadcasting network
US20080294788A1 (en) * 2007-05-21 2008-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for p2p streaming
US8620784B2 (en) * 2007-05-31 2013-12-31 International Business Machines Corporation Formation and rearrangement of ad hoc networks
US8040863B2 (en) * 2007-05-31 2011-10-18 International Business Machines Corporation Demand pull and supply push communication methodologies
US7817623B2 (en) * 2007-05-31 2010-10-19 International Business Machines Corporation Optimization process and system for non-multiplexed peer-to-peer architecture
US8520535B2 (en) * 2007-05-31 2013-08-27 International Business Machines Corporation Optimization process and system for a heterogeneous ad hoc Network
US7898993B2 (en) * 2007-05-31 2011-03-01 International Business Machines Corporation Efficiency and resiliency enhancements for transition states in ad hoc networks
US8320414B2 (en) * 2007-05-31 2012-11-27 International Business Machines Corporation Formation and rearrangement of lender devices that perform multiplexing functions
US10623998B2 (en) * 2007-05-31 2020-04-14 International Business Machines Corporation Price offerings for bandwidth-sharing ad hoc networks
US7843861B2 (en) * 2007-05-31 2010-11-30 International Business Machines Corporation Coalition formation and service provisioning of bandwidth sharing AD HOC networks
US7860081B2 (en) * 2007-05-31 2010-12-28 International Business Machines Corporation Optimization process and system for multiplexed gateway architecture
US7873019B2 (en) * 2007-05-31 2011-01-18 International Business Machines Corporation Systems and methods for establishing gateway bandwidth sharing ad-hoc networks
US8249984B2 (en) 2007-05-31 2012-08-21 International Business Machines Corporation System and method for fair-sharing in bandwidth sharing ad-hoc networks
US7979311B2 (en) * 2007-05-31 2011-07-12 International Business Machines Corporation Payment transfer strategies for bandwidth sharing in 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
GB2450473A (en) * 2007-06-04 2008-12-31 Sony Comp Entertainment Europe A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
US9578288B2 (en) * 2007-06-08 2017-02-21 At&T Intellectual Property I, L.P. Peer-to-peer distributed storage for internet protocol television
WO2009036461A2 (en) * 2007-09-13 2009-03-19 Lightspeed Audio Labs, Inc. System and method for streamed-media distribution using a multicast, peer-to-peer network
US20090122753A1 (en) * 2007-10-01 2009-05-14 Hughes Timothy J Dynamic data link segmentation and reassembly
US7636789B2 (en) * 2007-11-27 2009-12-22 Microsoft Corporation Rate-controllable peer-to-peer data stream routing
JP2011508916A (ja) * 2007-12-03 2011-03-17 ベロシツクス・リミテツド デジタルデータを配信するための方法および装置
JP4864868B2 (ja) 2007-12-27 2012-02-01 富士通株式会社 データ配信システム
TWI342715B (en) * 2007-12-28 2011-05-21 Ind Tech Res Inst System and method for multi-participant conference without multipoint conferencing unit
US8260952B2 (en) * 2008-01-31 2012-09-04 Microsoft Corporation Multi-rate peer-assisted data streaming
US9037657B2 (en) 2008-05-23 2015-05-19 The Trustees Of Columbia University In The City Of New York Systems and methods for peer-to-peer bandwidth allocation
CN102047640B (zh) * 2008-05-28 2016-04-13 汤姆逊许可证公司 多个头的分层级集群化的对等现场流式传输系统
JP4982434B2 (ja) * 2008-06-11 2012-07-25 Kddi株式会社 通信システムおよび復号化装置
CN101291300B (zh) * 2008-06-12 2011-04-20 华为技术有限公司 消息业务中文件传输的实现方法、装置和用户设备
JP5223480B2 (ja) * 2008-06-13 2013-06-26 富士通株式会社 コンテンツ配信方法及び通信端末装置
WO2010037945A1 (fr) * 2008-09-30 2010-04-08 France Telecom Procede de diffusion de donnees par une source multicast avec diffusion d'un identifiant de la strategie de diffusion dans un canal de signalisation multicast
US8650301B2 (en) 2008-10-02 2014-02-11 Ray-V Technologies, Ltd. Adaptive data rate streaming in a peer-to-peer network delivering video content
US7996546B2 (en) 2008-10-02 2011-08-09 Ray-V Technologies, Ltd. Dynamic allocation of a quota of consumer nodes connecting to a resource node of a peer-to-peer network
US7738406B2 (en) * 2008-10-08 2010-06-15 Microsoft Corporation Models for routing tree selection in peer-to-peer communications
US7848355B2 (en) * 2008-10-30 2010-12-07 International Business Machines Corporation Resource allocation in peer-to-peer streaming
US8402494B1 (en) 2009-03-23 2013-03-19 Conviva Inc. Switching content
JP2010239212A (ja) * 2009-03-30 2010-10-21 Toshiba Corp 通信装置
JP5233799B2 (ja) * 2009-03-31 2013-07-10 ブラザー工業株式会社 コンテンツ配信システム、ノード装置、コンテンツ配信方法及びコンテンツ取得処理プログラム
WO2010128905A1 (en) * 2009-05-05 2010-11-11 Telefonaktiebolaget L M Ericsson (Publ) P2p for mobile providers
US11064023B2 (en) 2009-05-27 2021-07-13 Verizon Media Inc. Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams
US8326992B2 (en) * 2009-05-27 2012-12-04 Ray-V Technologies, Ltd. Controlling the provision of resources for streaming of video swarms in a peer-to-peer network
JP5306381B2 (ja) * 2009-06-15 2013-10-02 パナソニック株式会社 Alm配信木構築装置、alm配信木構築方法、プログラム、及び集積回路
US9203913B1 (en) 2009-07-20 2015-12-01 Conviva Inc. Monitoring the performance of a content player
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
KR101089562B1 (ko) * 2010-04-27 2011-12-05 주식회사 나우콤 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법
US8824470B2 (en) * 2010-06-02 2014-09-02 Microsoft Corporation Multiparty real time content delivery
US20120011200A1 (en) * 2010-07-06 2012-01-12 Roxbeam Media Network Corporation Method and apparatus for data storage in a peer-to-peer network
US9444876B2 (en) 2010-11-08 2016-09-13 Microsoft Technology Licensing, Llc Content distribution system
CA2828489C (en) 2011-02-28 2019-09-24 Bittorrent, Inc. Sharing content according to a protocol for peer-to-peer live streaming
US9571571B2 (en) 2011-02-28 2017-02-14 Bittorrent, Inc. Peer-to-peer live streaming
US8745122B2 (en) 2011-06-14 2014-06-03 At&T Intellectual Property I, L.P. System and method for providing an adjunct device in a content delivery network
US8443086B2 (en) 2011-06-22 2013-05-14 National Chiao Tung University Decentralized structured peer-to-peer network and load balancing methods thereof
US9680929B2 (en) * 2011-06-24 2017-06-13 Facebook, Inc. Concurrently uploading multimedia objects and associating metadata with the multimedia objects
US9160697B2 (en) * 2012-01-01 2015-10-13 Qualcomm Incorporated Data delivery optimization
US9613042B1 (en) 2012-04-09 2017-04-04 Conviva Inc. Dynamic generation of video manifest files
US8948081B2 (en) * 2012-04-13 2015-02-03 Intel Corporation Device, system and method of multiple-stream wireless communication
US8745267B2 (en) * 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
CN102869003A (zh) * 2012-08-28 2013-01-09 中兴通讯股份有限公司 一种异构网络下业务内容分发的方法、业务管理平台
US9246965B1 (en) 2012-09-05 2016-01-26 Conviva Inc. Source assignment based on network partitioning
US10182096B1 (en) 2012-09-05 2019-01-15 Conviva Inc. Virtual resource locator
CN102970179B (zh) * 2012-11-01 2015-04-15 合一网络技术(北京)有限公司 一种基于点对点数据传输的媒体播放器测试方法及系统
US9363303B2 (en) 2013-03-15 2016-06-07 Microsoft Technology Licensing, Llc Network routing modifications for distribution of data
KR102240526B1 (ko) * 2013-12-11 2021-04-16 삼성전자주식회사 전자 장치의 컨텐츠 다운로드 방법 및 그 전자 장치
US9967336B2 (en) 2013-12-19 2018-05-08 Hive Streaming Ab Distributing content data to resource constrained devices in a segment of a P2P network
AU2014365592B2 (en) * 2013-12-19 2018-06-07 Hive Streaming Ab Distributing content data to resource constrained devices in a segment of a P2P network
JP6131907B2 (ja) * 2014-04-24 2017-05-24 カシオ計算機株式会社 分散データベース、データ共有方法、プログラム、装置
CN104320627B (zh) * 2014-11-10 2017-12-12 武汉市中心医院 一种医院病房视频监视的方法以及相关应用服务系统
US10305955B1 (en) 2014-12-08 2019-05-28 Conviva Inc. Streaming decision in the cloud
US10178043B1 (en) 2014-12-08 2019-01-08 Conviva Inc. Dynamic bitrate range selection in the cloud for optimized video streaming
US20180062935A1 (en) * 2016-08-25 2018-03-01 Futurewei Technologies, Inc. Hybrid approach with classification for name resolution and producer selection in icn
US10922646B1 (en) * 2017-09-26 2021-02-16 Amazon Technologies, Inc. Multi-echelon inventory planning under dynamic fulfillment policies
US11019123B2 (en) 2018-06-22 2021-05-25 International Business Machines Corporation Multi-bitrate component sharding
CN109347968B (zh) * 2018-11-07 2021-09-24 网宿科技股份有限公司 一种下载资源文件的数据块的方法、设备和系统
US11102272B2 (en) * 2019-12-19 2021-08-24 Wangsu Science and Technology Co., Ltd. Method and device for downloading resource file

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1168744A (ja) 1997-08-26 1999-03-09 P I Ii:Kk 情報配信システムの制御方法および情報配信システム
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US20020085493A1 (en) * 2000-12-19 2002-07-04 Rick Pekkala Method and apparatus for over-advertising infiniband buffering resources
US7305697B2 (en) * 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US20020162109A1 (en) * 2001-04-26 2002-10-31 Koninklijke Philips Electronics N.V. Distributed storage on a P2P network architecture
US7117242B2 (en) * 2001-06-20 2006-10-03 Hewlett-Packard Development Company, L.P. System and method for workload-aware request distribution in cluster-based network servers
US7088684B2 (en) * 2001-07-16 2006-08-08 International Business Machines Corporation Methods and arrangements for dynamically modifying subsource address multicast data distribution trees
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
JP2004070712A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
JP2004080145A (ja) * 2002-08-12 2004-03-11 Canon Inc 映像サーバシステム及びその映像再生方法
KR20020079677A (ko) * 2002-09-14 2002-10-19 김정훈 접속단절의 내성을 가진 상호작용 이진 전송구조를 이용한 분산처리 시스템
US20050086469A1 (en) * 2003-10-17 2005-04-21 Microsoft Corporation Scalable, fault tolerant notification method

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121611A1 (fr) * 2006-04-21 2007-11-01 Yongmin Zhang Procédé et dispositif de transmission de contenu dans un réseau poste à poste
CN101267379B (zh) * 2007-03-14 2011-07-27 中国电信股份有限公司 基于p2p和cdn的统一内容承载和调度系统
CN101345628B (zh) * 2007-07-13 2011-06-22 中兴通讯股份有限公司 源节点选择方法
CN101938406B (zh) * 2009-07-02 2012-07-04 华为技术有限公司 微波多通道报文发送方法和装置及传送系统
WO2011054248A1 (zh) * 2009-11-06 2011-05-12 中兴通讯股份有限公司 一种结构化对等网络中消息的广播系统及方法
US10116740B2 (en) 2013-12-27 2018-10-30 Microsoft Technology Licensing, Llc Peer-to-peer network prioritizing propagation of objects through the network
CN105830419A (zh) * 2013-12-27 2016-08-03 微软技术许可有限责任公司 优先化对象通过网络的传播的对等网络
CN105830419B (zh) * 2013-12-27 2019-09-24 微软技术许可有限责任公司 优先化对象通过网络的传播的对等网络
US11102290B2 (en) 2013-12-27 2021-08-24 Microsoft Technology Licensing, Llc Peer-to-peer network prioritizing propagation of objects through the network
CN110519553A (zh) * 2018-05-22 2019-11-29 杭州海康威视数字技术股份有限公司 视频流转发控制方法、装置、电子设备及可读存储介质
CN110519553B (zh) * 2018-05-22 2021-02-26 杭州海康威视数字技术股份有限公司 视频流转发控制方法、装置、电子设备及可读存储介质
CN111130814A (zh) * 2019-12-11 2020-05-08 深圳市高德信通信股份有限公司 一种基于用户需求的网络广播系统
CN111130814B (zh) * 2019-12-11 2021-05-18 深圳市高德信通信股份有限公司 一种基于用户需求的网络广播系统
CN112100414A (zh) * 2020-09-11 2020-12-18 深圳力维智联技术有限公司 数据处理方法、装置、系统与计算机可读存储介质
CN112100414B (zh) * 2020-09-11 2024-02-23 深圳力维智联技术有限公司 数据处理方法、装置、系统与计算机可读存储介质

Also Published As

Publication number Publication date
EP1615403A1 (en) 2006-01-11
JP4738900B2 (ja) 2011-08-03
ATE369007T1 (de) 2007-08-15
EP1615403B1 (en) 2007-08-01
DE602005001815D1 (de) 2007-09-13
US20060007947A1 (en) 2006-01-12
CN1719833B (zh) 2011-11-02
DE602005001815T2 (de) 2007-12-06
KR101109246B1 (ko) 2012-01-30
US7593333B2 (en) 2009-09-22
JP2006025408A (ja) 2006-01-26
KR20060048144A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
CN1719833A (zh) 对等计算机网络中有效的一对多内容发布
Chawathe et al. RMX: Reliable multicast for heterogeneous networks
JP5058468B2 (ja) ストリーミングメディアの消去耐性符号化のための方法、該方法を実行するコンピュータ実行可能命令を記録した媒体、及びシステム
JP4676833B2 (ja) 拡張可能なメディアの分散ストリーミングのシステムおよび方法
US7627549B1 (en) Methods and systems for transferring data over electronics networks
US7738406B2 (en) Models for routing tree selection in peer-to-peer communications
Li et al. Mutualcast: An efficient mechanism for one-to-many content distribution
CN1345149A (zh) 用于流式数据的方法和装置
CN1716905A (zh) 虚拟路由器对应多点传送数据包中继装置
JP2006079606A (ja) ピアツーピアネットワークでの受信側主導のシステム及び方法
CN1475063A (zh) 通信网络中的子组多播
Li et al. Mutualcast: An efficient mechanism for content distribution in a peer-to-peer (p2p) network
CN1835482A (zh) 一种无线流媒体服务解决的方法
CN1689272A (zh) 组播数据传送
CN102916906B (zh) 一种实现应用性能自适应的方法、装置及系统
CN1859122A (zh) 实现对业务提供商分类服务的方法及装置
He et al. A performance evaluation of scalable live video streaming with nano data centers
CN1801718A (zh) 一种内容分发网络中oma下载的实现方法
Al-Habob et al. Conflict free network coding for distributed storage networks
AKAMINE et al. Heterogeneous video multicast in an active network
Hundeboll et al. Peer-assisted content distribution with random linear network coding
CN102045294A (zh) 数据传输方法及系统
Sweha et al. Angels: In-network support for minimum distribution time in p2p overlays
Manohar et al. A framework for programmable overlay multimedia networks
Li et al. Fast scheduling on P2P streaming overlay

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

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

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20111102

Termination date: 20180607

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