CN102868674A - 贡献感知对等网络的引导节点 - Google Patents
贡献感知对等网络的引导节点 Download PDFInfo
- Publication number
- CN102868674A CN102868674A CN2012102288777A CN201210228877A CN102868674A CN 102868674 A CN102868674 A CN 102868674A CN 2012102288777 A CN2012102288777 A CN 2012102288777A CN 201210228877 A CN201210228877 A CN 201210228877A CN 102868674 A CN102868674 A CN 102868674A
- Authority
- CN
- China
- Prior art keywords
- peers include
- peers
- peer
- father
- request
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1082—Resource delivery mechanisms involving incentive schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种用于贡献感知对等网络的引导节点,包括:处理器设备;以及网络接口设备,其耦接到所述处理器设备,所述网络接口设备被适配为耦接到通信网络,所述处理器设备被适配为通过所述网络接口设备从所述通信网络接收对潜在的父对等端的标识信息的请求,而所述处理器设备被适配为以多个设备标识值和系统参数来作出响应。
Description
本申请是以下发明专利申请的分案申请:
申请号:200780044325.8
申请日:2007年3月23日
发明名称:贡献感知的对等实时流传输服务
技术领域
本发明总的涉及对等建网(peer-to-peer networking),并且具体涉及对等网络上的基于激励的实时流传输(live streaming)。
背景技术
在对等(P2P)实时流传输环境中,存在两种方式:基于树结构的方式和基于网孔结构的方式。已经在对基于树结构的方式提供贡献感知的P2P实时流传输方面进行了一些工作。在对基于网孔结构的方式提供贡献感知的P2P实时流传输方面,尚不知道已经有工作被进行。然而,基于网孔结构的方式在鲁棒性、效率等方面优越于基于树结构的方式。
在用于P2P实时流传输的基于网孔结构的方式中,该环境的特征在于:具有受约束的异构传出带宽的对等端(peer)。希望对于其中对等端具有受约束的异构传出带宽的基于网孔结构的方式提供贡献感知的P2P实时流传输。
发明内容
在此将在视频方面描述实时流传输,但是实时流传输还可以包括诸如数字音频之类的任何类型的实时流传输媒体。如在此使用的,“/”表示相同或相似组件的替代名称。在本发明的一个实施例中,基于网孔结构的对等端维持随机连接的且有向的(directed)覆盖(overlay)/网孔。在用于P2P实时流传输的基于网孔结构的方式中,对等端/用户接收与他们对于对网络作出贡献的意愿成比例的不同服务等级,其中,该意愿是通过对于网孔覆盖的对等端的上行链路带宽的贡献除以每个流的带宽来测量的。
对等流传输覆盖包括具有异构的、非对称的且有限的带宽的对等端。在一种用于使在这样的环境下传递到各个对等端的质量(quality)最大化的方式中,示例系统确保到每个对等端的传递质量与其贡献成比例。实质上,示例的资源受约束的系统中的传递质量是贡献感知的。根据本发明的示例实施例,将贡献感知机制合并到基于网孔结构的对等实时流传输系统中。
在一个实施例中,参与对等端合并成群的内容传递,其中,子对等端从一个或多个父对等端引出其所需的分组。为了形成覆盖,每个对等端维持一定数量的父对等端,所述每个对等端从所述一定数量的父对等端中引出其所需的内容。每个对等端还充当特定数量的子对等端的父对等端,并且向那些特定数量的子对等端提供内容。
在此将希望加入P2P网络的对等端表示为加入和请求对等端。引导节点(bootstrap node)是操作为网守(gatekeeper)的节点。加入对等端联系引导节点以便加入P2P网络。引导节点向该加入节点通知该P2P网络中对等端/用户的总数量。作为交换,加入对等端向该引导节点告知其贡献意愿,所述意愿是通过该加入对等端愿意贡献给P2P覆盖/网络的带宽而测量的。使用该引导节点提供的信息,该加入对等端计算其可以连接到的父对等端的数量。在本发明的一个实施例中,引导节点保持所有参与对等端的状态信息。响应于来自加入/请求对等端的请求,引导节点提供随机选择的、可以为传入请求接受新的子对等端的一组父/参与对等端。
每个对等端基于覆盖状态以及其自身的带宽贡献,尝试维持一定数量的被授权的(entitled)父对等端(ri)。这继而确定带宽,并且因此确定该对等端可以接收的通信质量。每个单独的对等端基于其意愿和子对等端的可用性,而服务于作为子对等端的特定数量的其它对等端。
用于对等网络中实时流传输的贡献感知方法和系统被描述为包括:计算对等端被授权的量度(degree)和超额的量度,标识并联系潜在的父对等端,并且执行连接策略。
在一个实施例中,参与对等端形成一覆盖,在该覆盖上,各个对等端通过将它们可用内容的子集转发到它们所连接的对等端而贡献它们的传出带宽。在基于树结构的方式中,参与对等端形成一个或多个树形覆盖,并且每个对等端将整个流或整个流的具体一部分(例如,子流或描述)推到每个所连接的对等端。
在本发明的另一实施例中,贡献感知的对等系统包括至少一个饱和对等端。饱和对等端被定义为其被授权的量度大于最大允许量度的对等端。对等端量度可以仅取整数值。在一个实施例中,对等端具有“实际传入量度和超额量度”。
将加入贡献感知对等端接纳到对等网络的方法被描述为包括:接收加入对等端处的多个系统参数,所述多个系统参数还包括系统资源索引;并且计算该加入对等端的被授权的传入量度,所计算的被授权的传入量度反映该系统资源索引的值。还要描述的是:用于贡献感知的对等网络的引导节点包括处理器设备和耦接到该处理器设备的网络接口设备,该网络接口设备被适配为耦接到通信网络,该处理器设备被适配为通过该网络接口设备从通信网络接收对潜在的父对等端的标识信息的请求,而该处理器设备被适配为以多个设备标识值和系统参数来作出响应。
在本发明的一个实施例中,贡献感知的、基于网孔结构的对等流传输对等端接收与其贡献成比例的质量。在本发明的另一实施例中,资源利用大于95%,而与成本因数(cost factor)/税率(tax rate)无关。在本发明的又一实施例中,排除了超额的抢占策略(preemption policy),并且考虑了对等端的意愿(而不是当前贡献),导致了显著提高的覆盖稳定性。在本发明的再一实施例中,所描述的贡献感知机制是可扩展的,并且期望与组大小无关地工作。根据本发明的再一实施例,增大覆盖中信息的分发频率在降低短生存期对等端(short-lived peer)的接收质量的同时降低了消息的开销。在本发明的再一实施例中,连接的总数量确定传递质量,而不是那些连接的一致性(identity)。
在一个实施例中,提供了一种用于贡献感知对等网络的引导节点,包括:处理器设备;以及网络接口设备,其耦接到所述处理器设备,所述网络接口设备被适配为耦接到通信网络,所述处理器设备被适配为通过所述网络接口设备从所述通信网络接收对潜在的父对等端的标识信息的请求,而所述处理器设备被适配为以多个设备标识值和系统参数来作出响应。
在Nazanin Maghaeri、Reza Reiaie以及Yang Guo的、于…日期在…中出版的题为“Incorporating Contribution-Awareness into Mesh-Based Peer-to-PeerStreaming Services”的论文中进一步描述了本发明的各种实施例。
在此使用的通信网络包括对等网络,其是通信网络上的一覆盖。应当注意:在此使用的通信网络可以是有线的或无线的。
附图说明
当结合附图阅读以下详细描述时,可以从以下详细描述中最好地理解本发明。附图包括下面简要描述的以下图示:
图1是扩散树的示意图。
图2示出依据本发明的系统的主要基本要素。
图3A是对等端发现的集中式方法的示意图。
图3B是集中式对等端发现方法中在请求对等端和引导节点之间的通信的框图。
图3C是图3B的请求对等端的详细操作的示意图。
图3D是集中式对等端发现方法中在现有对等端和引导节点之间的通信的框图。
图3E是图3D中的被联系对等端的详细操作的示意图。
图4A是对等端发现的分布式方法的示意图
图4B是分布式对等端发现方法中在请求对等端和引导节点之间的通信的框图。
图4C是图4B的请求对等端的详细操作的示意图。
图4D是图4B的被联系对等端的详细操作的示意图。
图5A是对等端发现的半分布式方法的示意图。
图5B是半分布式对等端发现方法中在请求对等端和引导节点之间的通信的框图。
图5C是图5B的请求对等端的详细操作的示意图。
图5D是图5B的被联系对等端的详细操作的示意图。
图6是对等端发现处理的流程图。
图7A是根据本发明实施例的基本成本因数/税率函数的图形表示。
图7B是根据本发明实施例的包括取整(flooring)的税率/成本因数的图形表示。
图7C是根据本发明实施例的考虑取整和饱和的税率/成本因数函数的图形表示。
图8A是根据本发明实施例的典型的低贡献者的传入量度的变化的图形表示。
图8B是根据本发明实施例的典型的高贡献者的传入量度的变化的图形表示。
图8C是根据本发明实施例的基于对等端的寿命的、对等端的平均传入量度的图形表示。
图9A是根据本发明实施例的、当税率值/成本因数为2时加权平均的传入量度的分布的图形表示。
图9B是根据本发明实施例的、由于抖动(churn)引起的平均父断开率的图形表示。
图9C是根据实施例的、由于抢占(preemption)引起的平均父断开率的图形表示。
图10A是根据本发明实施例的、被舍去的(rounded down)计算机被授权连接的发明的图形表示。
图10B是根据本发明实施例的被授权的对等端的加权平均的图形表示。
图10C是根据本发明实施例的传入量度(in-degree)的加权平均的图形表示。
图10D是根据本发明实施例的平均的被授权的和超额的传入量度的高带宽对等端的图形表示。
图10E是根据本发明实施例的平均的被授权的和超额的传入量度的低带宽对等端的图形表示。
图11A是根据本发明实施例的加权平均的传出量度(out-degree)的图形表示。
图11B是根据本发明实施例的平均利用的图形表示。
图11C是根据本发明实施例的、由于抢占引起的断开率的图形表示。
图12A是根据本发明实施例的、被舍去的计算机被授权连接的图形表示。
图12B是根据本发明实施例的、关于税率/成本因数所采取的被授权的加权平均的图形表示。
图12C是根据本发明实施例的平均的被授权的和超额的传入量度的高带宽对等端的图形表示。
图12D是根据本发明实施例的平均的被授权的和超额的传入量度的低带宽对等端的图形表示。
图12E是根据本发明实施例的加权平均的传出量度的图形表示。
图12F是根据本发明实施例的平均利用的图形表示。
图13A是根据本发明实施例的加权平均的传入量度的图形表示。
图13B是根据本发明实施例的平均的被授权的和超额的传入量度的高带宽对等端的图形表示。
图13C是根据本发明实施例的平均的被授权的和超额的传入量度的低带宽对等端的图形表示。
图14A是根据本发明实施例的加权平均的传入量度的图形表示。
图14B是根据本发明实施例的平均的被授权的和超额的传入量度的高带宽对等端的图形表示。
图14C是根据本发明实施例的平均的被授权的和超额的传入量度的低带宽对等端的图形表示。
图14D是根据本发明实施例的具有不同寿命的高带宽对等端的平均传入量度的图形表示。
图14E是根据本发明实施例的具有不同寿命的低带宽对等端的平均传入量度的图形表示。
图14F是根据本发明实施例的具有不同寿命的对等端的抖动的标准化频率(normalized frequency ofchurn)的图形表示。
具体实施方式
根据本发明的一个实施例,用于在参与对等端之间分配带宽的选择策略是基于P2P网络中各对等端的贡献的。假设:有N个对等端,对等端i(pi)的意愿为Wi,在此描述的探试法(heuristics)确定pi可以具有的被授权的父对等端Ri的总数量。使用一般的成本函数来确定每个对等端可以具有的被授权的父对等端的数量:
其中,Ri是被授权的父对等端(也被称为被授权的量度),N是参与对等端的数量,Wi是pi的意愿,t是税率/成本因数。通过使用大于1的税率/成本因数,确保在该系统中存在超额的带宽。
在确定了被授权的父对等端Ri的数量之后,出现父对等端发现处理。每个对等端应定位与其连接(形成连接)的至少Ri数量的父对等端。父对等端发现处理应以公平和即时的方式来分布带宽。在此描述使得各对等端能够发现适当的父对等端的三种不同的方式:集中式、分布式、以及半分布式。在此还描述一种能够为加入/请求对等端定位适当的父对等端的设备。
通过P2P覆盖传递实时多媒体流是在因特网上支持一对多流传输的有前景的方式。该方式通常被称为P2P流传输。在P2P流传输中,参与用户(对等端)通过将它们的可用内容转发到其它对等端来积极贡献它们的资源(带宽和存储空间两者)。合计的可用资源依用户/对等端的数目而定,并且潜在地容纳任何数量的参与对等端。各参与对等端形成一覆盖,在该覆盖上各个对等端通过将它们的可用内容的子集转发到它们所连接的对等端来贡献它们的传出带宽。
在设计P2P流传输协议中的绝大多数努力都受到在系统中具有高度提供的资源的环境的约束。然而,已经被大量忽略的并且在实际配置中非常重要的一些重要方面是:该覆盖中具有非对称的、异构的带宽和不足的资源的对等端。本发明通过考虑高度异构的环境来解决这些问题,其中,主机由于它们有限的传出带宽或缺少意愿而对该覆盖作出不相等的贡献。此外,在这些环境下,系统中的总资源可能不足以供每个对等端接收该流的全部质量。
期望使得各对等端接收与它们的贡献成比例的流质量,且同时有效地利用系统中的所有资源。这些策略可以更好地利用高带宽对等端的带宽、给低带宽对等端提供较佳的质量、并且鼓励各对等端贡献更多以便接收更高的质量。监视总的系统资源的可能方法被讨论为包括:集中式、分布式和半分布式。
PRIME是一种实时流传输技术,其中,每个P2P流传输系统包括两个主要的组件:(i)覆盖构造(overlay construction),其将各参与对等端组织到一覆盖中;以及(ii)内容传递,其确定通过该覆盖向各个对等端传递内容。根据本发明的一个实施例,将这些特征与贡献感知机制相组合。
参与对等端形成随机连接的覆盖或网孔,其是有向图。每个对等端维持其从中取得内容的一定数量的父对等端、以及每个对等端向其传递内容的一定数量的子对等端。对于每个对等端,父对等端的数量和子对等端的数量分别被表示为该对等端的传入量度和传出量度。为了有效地利用参与对等端的访问链路带宽,每个对等端的传入量度和传出量度被设置为与其可用传入带宽bdown和传出带宽bup成比例。传入(或传出)带宽与传入(或传出)量度的比表示每个连接的平均带宽,其被称为每个流的带宽或bwpf。
bwpf是各个对等端先验选择的且已知的配置参数。具体地,一对等端的传入量度和传出量度分别被设置为bdown/bwpf和bup/bwpf。在这样的实施例中,每个连接给接收对等端大致提供相同量的数据速率。因此,根据一个实施例,对等端的接收质量与其传入对等端的数量成比例。
在一个实施例中,采用类似于群(swarm-like)的内容传递机制用于内容传递。群集(swarming)内容传递的主要优点是其有效地利用参与对等端的传出带宽的能力、以及其抗对等端参与(或抖动(churn))的动态的鲁棒性。类似于群的内容传递将推式(push)的内容报告与拉式(pull)的内容请求合并。作为父对等端,每个对等端周期性地向其子对等端报告其新接收的分组。作为子对等端,每个对等端基于所报告的每个父对等端处的可用分组以及从每个父对等端到请求子对等端的可用带宽,来周期性地从其每个父对等端请求所需分组的子集。在一个实施例中,以周期为基础地作出这些子对等端请求。
通过分组调度算法来确定从每个父对等端请求的分组。在一个实施例中,父对等端周期性地从各子对等端接收所请求的分组列表,并且按所请求的顺序传递分组。每个父对等端通过诸如TCP或RAP之类的拥塞控制机制(congestion controlled mechanism)来传递每个子对等端所请求的分组。在一个实施例中,利用心跳消息(heart-beat message)的每个实例来周期性地更新每个对等端的信息。
为了在各对等端之间容纳带宽异构,在一个实施例中,利用多描述编码(MDC)来对内容进行编码。MDC将流传输内容组织为若干子流,其中每个子流被独立地解码。向每个对等端传递的质量与其接收的独立子流的数量成比例。MDC编码允许每个对等端通过其访问链路带宽接收适当数量的所传递的子流。
分组调度算法应实现以下两个目标:
(i)充分利用来自每个父对等端的可用带宽;以及
(ii)确保各子对等端所请求的分组的实时传递。
在各实施例中,根据每个对等端是否具有适当数量的子对等端来确定系统的效率,使得其资源被有效利用,并且每个对等端可以标识与其可用资源共享成比例的适当数量的父对等端并与所述适当数量的父对等端建立连接。因此,在一些实施例中,贡献感知机制的执行评估仅基于各对等端中的生产力(productivity),而不考虑内容传递机制和实际传递质量。在一个实施例中,基于一个或多个单独的对等端的能力来评估用于基于网孔结构的对等流传输的贡献感知机制的性能,以便将它们各自的传入量度和传出量度保持在特定值。
在至少一个实施例中,通过覆盖网孔传递各个分组的样式(分组遍历以从源到达每个对等端的路径)依赖于分组调度算法在所有参与对等端处的集合行为以及覆盖网孔的拓扑。在各实施例中,每个对等端保持跟踪可用带宽(通过被动测量)和每个父对等端处的可用内容(使用周期报告)。
给出此信息,调度算法被周期性地调用来以两步确定从每个父对等端请求的分组。首先,调度器标识具有最高时间戳的、在最后报告周期期间在各父对等端中已经变得可用的新分组。这些新分组总是被各子对等端从各父对等端请求。其次,在一个实施例中,从每个父对等端请求其它丢失分组的随机子集,以便充分利用传入带宽。为了实现负载平衡,如果一分组在多于一个父对等端处可用,则从一父对等端请求,该父对等端具有最低的、所请求的分组与该父对等端可以服务的全部分组的比率。
根据各实施例,引导节点隐含地协调各对等端之间的连接,从而增大在父对等端发现处理期间的成功概率。应注意,在至少一个实施例中,父对等端可以由于所连接的对等端的状态的最近改变而拒绝请求。根据一个实施例,最少的局部状态信息(即,Wi、ai和Ri)的交换领先于所连接的对等端充当父对等端的请求。
在采用上述调度算法的一些实施例中,内容的每个片段(segment)被以两个阶段传递到各个参与对等端:扩散阶段和群集阶段。在扩散阶段,每个对等端从其处于较高等级(较接近源)的父对等端接收新片段的任何片(piece)。因此,新生成的片段的各片被逐渐地由处于不同等级的各对等端拉出。例如,在一个时间周期(Δ)之后,新生成的片段的各片被等级1的对等端拉出,然后,在2*Δ之后,被等级2的对等端拉出,依此类推。在d个时间周期之后,该覆盖中的所有对等端都具有该新片段的一个片。
因此,在一些实施例中,源仅传递片段的每个片一次。因此,在扩散阶段接收该片段的一片的一组对等端形成以处于等级1的对等端为根的、并且被称为扩散树的树。图1中的加阴影的节点形成扩散树。从处于等级i的对等端到它们的处于等级i+1的子对等端的所有连接被称为扩散连接。这些连接位于扩散树上。
在群集阶段,每个对等端从其处于相同等级或较低等级(离开源较远)的父对等端接收一片段的所有缺失片。这些父对等端被称为群集父对等端。由于群集父对等端可能不具有该片段的所有缺失片,因此,该群集阶段可能耗费多于一个时间周期。除了扩散连接,该覆盖网孔中的所有其它连接都是群集连接。群集连接的集合形成被称为群集网孔的有向网孔。该群集网孔被用来在不同的扩散树之间交换每个片段的不同片。
总之,在任何新片段的扩散阶段期间,通过具体的扩散树扩散该片段的每个片。然后,在该片段的群集阶段期间,通过群集网孔在不同扩散树中的对等端之间交换可用片。
为了使得各对等端能够接收与它们在该系统中的贡献成比例的质量,上述的P2P流传输技术被添加有图2中所示的以下四种机制:
1.系统级信息更新和传播
2.对等端被授权和超额连接计算
3.对等端发现
4.策略
参考图2,基本策略“更新”表示对于计算系统大量参数N、Wi、以及pi的实际贡献(fi)并且将参数传播到网络中的所有对等端的需要。根据下面给出的公式,为每个对等端计算被授权的(Ri)和超额的(Ei)传入量度。
在分布式对等端发现实施例中,通过联系来自整个对等端池的潜在对等端,进行尝试以定位Ri+Ei个空闲父对等端、或者具有潜在地可抢占的子对等端的父对等端。在集中式对等端发现实施例中,通过引导节点所选择的对等端组/列表/队列,进行尝试以定位Ri+Ei个空闲父对等端、或者具有潜在地可抢占的子对等端的父对等端。在其它实施例中,使用替代的方式,包括具有集中式和分布式对等端发现实施例的组合特征的实施例。如果潜在的对等端被定位为已经连接的,则使用根据表2的规则来确定该潜在的对等端的子对等端是否是可抢占的。如果子对等端是可抢占的,则抢占该子对等端。
系统级参数需要在实时流传输过程中更新和传播。这些参数包括如在表1中定义的N、Wi、以及fi。根据一个实施例,一旦到达,加入对等端联系引导节点并向该引导节点通知其服务其它对等端的意愿(Wi)。在一个实施例中,大约同时,该加入对等端接收其可以连接到的潜在父对等端的列表。在这样的实施例中,引导节点具有关于系统中对等端的总数量N和所有对等端的合计意愿∑(Wi)的信息。
当对等端离开时,其应联系该引导节点并从该覆盖取消注册(即,注册其离开)。如果存在崩溃或其它严重情况,对等端可能不能从该覆盖取消注册。反之,现有对等端应向引导节点告知其从该覆盖离开。例如,根据本发明的一个实施例,紧接在每个对等端离开之前,该对等端向引导节点发送“再见”消息。如果引导节点在给定时间间隔内(例如,2*τ秒,其中“τ”为诸如心跳间隔的标准时间间隔)没有从一对等端接收到心跳消息,则其假设该对等端已经离开并且移除该对等端的记录。在一个实施例中,引导节点维持各个对等端的更新状态,并且因此能够容易地确定诸如N和PWi之类的组级状态的特征。
表1:重要符号定义
对等端pi的实际贡献fi随时间而变。因此,为了计算所有对等端的合计贡献∑(fi),系统需要周期性地刷新该信息。可以以包括如下描述的两种示例方法的各种方式来执行计算:
●集中式更新:在该方式下,只要各对等端的实际贡献改变,它们就联系引导节点。
●分布式更新:在该方式下,沿着扩散树传播贡献信息。对等端关于其当前贡献加其(在扩散树中的)下代(子)对等端的合计贡献来周期性地更新其在扩散树中的父对等端。第一级对等端将更新发送到全局引导节点。在分布式更新中,由于信息仅周期性地(或者取决于实施例偶发地)更新,因此,值∑(fi)可能不准确。然而,通过调节更新之间的时间间隔,获得足够精度。
为了如下所述地对于各对等端计算被授权的和超额的传入连接的数量,N、∑(Wi)和∑(fi)的集合信息也需要传播到所有对等端。该传播还可以通过集中式或分布式机制来进行。在示例的集中式机制中,引导节点周期性地向所有对等端通知N、∑(Wi)和∑(fi)的当前值。在示例的分布式机制中,该信息通过扩散树从根(引导节点)向所有对等端分发。
父对等端发现机制的目标是:使得每个对等端能够定位建立期望数量的连接的所需数量的父对等端。根据本发明的一个实施例,每个对等端总是建立Ri个被授权的连接,然后探测建立超额的连接的可能性。在一个这样的实施例中,使用以下公式来计算对等端i的被授权的量度Ri:
其中,t是被表示为税率/成本因数的参数,为了确保系统中的额外带宽,t>1。Ri实质上是两项的和。第一项表示对等端通过贡献Wi而被授权接收的最小带宽,第二项是每个对等端的平均剩余带宽。所计算的对等端i的超额的传入量度为:
Ei=Max-Ri(3)
一旦对等端计算了其被授权的量度,其就尝试找到具有超额的量度以支持其的对等端。也就是说,具有超额的量度的对等端搜索可以帮助具有超额的量度的对等端进行另外连接的父对等端。这样,具有超额的量度的对等端提高其贡献,并且由此提高其质量。可以使用以下描述的三种不同方式来进行对等端发现处理。
应注意,根据本发明的一个实施例,每个子对等端不将来自父对等端的其传入连接标记为被授权的或超额的。代之,子对等端仅保持跟踪其实际连接数量(ai)以及其被授权的量度Ri。在来自引导节点的每次报告之后,周期性地更新Ri。因为在本发明的各实施例中,所有连接都具有相同带宽,因此,这是可行的。
在集中式对等端发现中,引导节点维持一表,该表保持跟踪系统中每个对等端。例如,每个对等端在该表中具有一个条目(id、Wi、fi、ei、ri),其中id是对等端标识。Wi和fi之间的差指示该对等端处空时隙的数量。在一个实施例中,系统中的每个对等端还维持具有扩散树中其所有子对等端及其对应参数的表。根据一个实施例,在会话期间,每个对等端每τ秒一次地将心跳消息发送到引导节点(其中,τ是如上所讨论的标准时间间隔)。利用该心跳消息,该对等端报告其动态属性的值,包括实际传出量度(fi)和输入量度(ai)以及其被授权的量度(Ri)和其父对等端的列表。
因此,根据本发明的一个实施例,引导节点周期性地将最近的组级状态报告给所有的参与对等端。在一个示例实施例中,每τ秒进行该报告一次。在一个实施例中,当对等端从引导节点接收到新报告时,其使用上面的公式(2)确定其被授权的连接的数量(Ri)。如果Ri的值大于对应的对等端的当前传入量度,则该对等端继续发现更多的父对等端。相反,如果其被授权的传入量度已经降低,则该对等端相应地增大ei。
因此,在一个实施例中,更新周期τ是确定引导节点处状态信息的新鲜度和信令开销之间的折衷的配置参数。更具体地,增大τ的值降低信令开销。
注意,在一个实施例中,各对等端不会由于它们Ri的降低而推断性地断开它们的传入连接,而是它们增大它们的实际超额的传入量度。在要求的和适当的抢占时,额外的超额连接可能被父对等端断开。该方式降低与以该引导节点处状态信息的较低精度为代价的状态收集和报告相关联的系统中的动态以及导致的抖动。例如,在一个实施例中,τ的默认值是10秒。
在各实施例中,每个对等端紧接在其离开之前向引导节点发送“再见”消息。如果引导节点在2*τ秒内没有从对等端接收到心跳消息,其假设该对等端已经离开并且移除其记录。根据本发明的一个实施例,引导节点维持各个对等端的更新状态,并且因此能够容易确定诸如N和∑Wi之类的组级状态。根据本发明的一个实施例,由于抖动而引起的标准化的父对等端断开率不依赖于对等端带宽。
现在参考图3A-3E,为了建立被授权的或超额的连接,每个对等端首先需要从引导节点获得可能能够容纳多个子对等端的参与对等端子集的联系信息。因此,在本发明的一个实施例中,请求对等端(请求发现其能够连接到的潜在对等端的对等端)向引导节点发送请求以及其自身参数rA、eA、fA(1)。
根据一个实施例,由于引导节点维持所有参与对等端(即,潜在的父对等端)的状态,因此,其可以标识潜在的父对等端并且将它们的随机子集提供给正在寻找更多父对等端的对等端。因此,在一个实施例中,引导节点返回可能潜在地接受请求对等端并且变为父对等端(1)的所有潜在父对等端的列表给请求节点。
根据一个实施例,当被给予了来自引导节点的潜在的父对等端的列表时,每个对等端依序联系该列表中的每个对等端,提供其局部状态(即,Wi、ai和Ri),并且请求所联系的对等端充当其父对等端。对等端基于如下所述的局部抢占策略而接受或拒绝对服务父对等端的请求。
如果所联系的对等端同意充当对等端p的父对等端,则对等端p相应地更新其被授权的和超额的连接的数量,并且在其下一心跳时将其更新信息提供给引导节点。再者,根据一个实施例,对等端还将在数据分组中附带的(piggybacked)其局部状态(即,ai和Ri)发送到其父对等端。每个对等端继续建立到更多父对等端的连接,直到其传入量度达到其最大值(或Max)为止。在本发明的另一实施例中,如果首次提供的列表中的所有潜在父对等端都被用尽,则该对等端将联系引导节点以获得新的潜在父对等端的列表。
局部抢占策略确定父对等端如何应对来自子对等端的对于连接的请求。如果父对等端的传出量度小于其愿意并且能够贡献的最大传出量度(ri<Wi),则根据该抢占策略,接受对于连接的请求。然而,如果父对等端的传出量度被完全利用,则如果给新的子对等端A提供连接具有较高的优先级,则该子对等端A只能取代(或抢占)现有的子对等端B。
在一个实施例中,使用与被父对等端采用的相同的局部抢占策略来选择适当的父对等端。在另一实施例中,父对等端和子对等端使用不同的抢占策略。当对等端p从引导节点请求潜在的父对等端的列表时,引导节点选择具有至少一个可以被对等端p抢占的子对等端的参与对等端的随机子集。实质上,引导节点隐含地协调各对等端之间的连接。这继而增大在父对等端发现处理期间成功的概率。值得注意的是:例如当所联系的对等端的状态最近已经改变时,尽管进行该协调,父对等端将仍有可能拒绝请求。
在如下面的表2A所示的四种情形中确定对等端A和B之间相对的连接优先级:
表2A
表2A表示为了使用对等端A的父节点/对等端处当前正在被对等端B使用的连接/时隙而确定对等端A是否可以抢占对等端B时使用的第一实施例策略。
如何使用表2A来确定是否当前连接可抢占的示例如下。假设对等端B已经连接到一特定父对等端。在第一实例中,对等端A(pa)和对等端B(pb)两者都具有被授权的量度。pa的实际贡献(传出量度)为fa。pa的实际被授权的传入量度为ra。pa的实际超额的传入量度为ea。对于pb而言是类似的。如果fa=20、ra=2且ea=0,则(ra+ea)/fa=2/20=1/10。如果fb=20、rb=5且eb=0,则(rb+eb)/fb=5/20=1/4。由于该计算表明pa<pb,因此pa可以抢占pb。在第二实例中,pa具有被授权的量度,而pb具有超额的量度。使用pa的相同的参数值,pa再次具有计算值(ra+ea)/fa=2/20=1/10。如果fb=5、rb=2且eb=1,则(rb+eb)/fb=3/5。再次,由于该计算表明pa<pb,因此pb可以抢占pa。在第三实例中,pa具有超额的量度,而pb是被授权的。在该情况下,pa不能抢占pb。在第四实例中,pa和pb都具有超额的量度。如果fa=5、ra=2且ea=0,则ea/fa=0/5=0。如果fb=5、rb=2且eb=2,则eb/fb=2/5。由于比率ea/fa小于比率eb/fb,因此pa可以抢占pb。应注意,在该实例中,没有使用ra和rb。
如上所述,一旦请求对等端从引导节点接收到列表(2),其依序联系该列表中的各对等端(2)。如果所联系的对等端具有空时隙,其将接纳该请求对等端,并且该对等端变为该所联系的对等端的子对等端。如果所联系的对等端没有空时隙,则使用如表2A中提出的策略来确定请求对等端是否可以抢占所联系的对等端的各子对等端之一。如果请求对等端可以抢占所联系的对等端的各子对等端之一,则所联系的对等端断开被选择为要抢占的子对等端,并且将连接/时隙分配给请求对等端。否则,向请求对等端通知其不能被接纳。尽管在所返回的列表中的所有对等端都是潜在的父对等端,但是由于以下原因它们可能不能接纳该请求对等端:
1.由于状态改变和参数被更新时之间的延迟,在引导节点处维持的参数可能不是最新的。
2.当请求节点获得更多的父对等端时,rA、eA和fA的值随着时间改变。
联系列表中的各对等端(包括各对等端的子各对等端)的处理继续,直到请求对等端获得了所需数量的对等端或者该列表被用尽为止。在后者的情况下,请求对等端将休眠一段时间T,并且再次启动上述处理。
在一个实施例中,在如下面的表2B所示的四种情形中确定对等端A和B之间相对的连接优先级:
表2B
在本发明的表2B实施例中,当对等端i的对于连接的请求被潜在的父对等端拒绝时,对等端i的应对如下地取决于其当前状态:
●En-Ex情形:如果在对等端B已经具有一些超额的连接(aB>RB)时对等端A正在寻找被授权的连接(aA<RA),则由A进行的请求总是抢占到对等端B的现有的连接。该策略通过抢占到其它对等端的超额的连接而允许新的对等端容易地达到其被授权的传入量度。
●Ex-En情形:如果在对等端B仅具有被授权的连接(aB≤RB)时对等端A正在寻找超额的连接(aA>RA),则由A进行的请求不能抢占到对等端B的现有的连接。
●Ex-Ex情形:如果对等端A正在寻找超额的连接(aA>RA)且对等端B具有一些超额的连接(aB>RB),则当A具有较少数目的超额的连接(即,eA<eB-1)时A可以抢占到对等端B的现有的连接。再者,该情况还防止两个对等端之间的振荡抢占。
表2B总结了上面的新的对等端A对于现有的子对等端B的局部抢占策略。注意,当新的对等端加入系统或者现有的对等端由于抢占而失去其父对等端时,它们开始父对等端发现处理并且可以继而抢占系统中的另一对等端。因此,所观察到的参与对等端中的父对等端的改变率高于仅由于抖动而出现的父对等端离开率。实质上,抢占还加剧了覆盖的不稳定性。在一个实施例中,通过测量各个对等端的父对等端中的改变率来量化覆盖的稳定性。在另一实施例中,父对等端中的改变被划分为两组:由于父对等端离开而引起的改变、以及由于被其它子对等端抢占而引起的改变。
如下定义请求对等端的潜在的父对等端:
1.如果对等端具有空时隙,则其是潜在的父对等端。
2.如果基于表2B中定义的策略对等端(被表示为对等端B)可以被请求对等端(被表示为对等端A)抢占,则对等端B的父对等端是潜在的对等端。
基于树结构的P2P流传输机制应具体地标记每个连接,这是因为每个连接提供具体的描述。如果对等端i的当前的父对等端的数量小于其被授权的传入量度(ai<Ri),则该对等端仍尝试达到其被授权的传入量度。因此,其立即向由引导节点所提供的列表中的下一潜在父对等端发送请求。该相当具攻击性的发现方式是合理的,这是因为在系统中一定有足够的资源使得每个对等端能够到达其被授权的传入量度。如果对等端i的当前的父对等端的数量大于等于其被授权的量度,则对等端i已经建立了其被授权的量度并且正在寻找超额的连接。
在此情况下,被拒绝的请求是对系统中有限的超额资源的指示。因此,被拒绝的对等端在其发送对于连接的另一请求之前等待一间隔twait,其被称为等待间隔。该等待间隔随着每个被拒绝的对于超额连接的请求而指数退避(backoff)如下:
twait=tmin*K*(ei+βret)
其中,tmin是最小退避时间,K是大于1的随机数,其是退避因数,ret是连续失败的数量。在一个实施例中,tmin被设置为5秒,β为2。如上所示,超额资源量未知,并且随着抖动而动态改变。该用于确定等待时间的自适应方式调节各个对等端的超额量度(ei)以及对于超额连接的合计需要,而没有任何明显的对等端间的协调(coordination)。
可以以分布式方式执行父对等端发现。例如,类似于基于多个树的P2P流传输方式,对等端可以遍历扩散树(从源开始)并且检查每个对等端以便发现具有期望类型的适当数量的父对等端。尽管该方式不要求中央协调点(coordination point),但由于由新到达的对等端进行的对父对等端的不断请求,该方式可能对各参与对等端引入重负荷(尤其是处于扩散树的较高等级的那些参与对等端)。这里呈现的该集中式方式适当地表现了这样的贡献感知机制。
图3B是集中式对等端发现方法中请求对等端和引导节点之间的通信的框图。对于每个对等端,在对等端信息表中存在一个条目(id、Wi、fi、ei、ri)。请求对等端向引导节点中的对等端联系接口305发送加入请求(1)。对等端联系接口305然后将查找请求转发给对等端信息表模块310(2)。对等端信息表模块310在对等端信息表上执行查找操作,并且将潜在父对等端的列表返回给对等端联系接口305(3)。对等端联系接口305然后将包含所请求的对等端信息的该列表返回到请求对等端。
图3C是图3B的请求对等端的详细操作的示意图。请求对等端利用加入请求联系引导节点(1)。引导节点返回潜在父对等端的列表(2)。请求对等端将该潜在父对等端的列表输入到潜在的/候选的父对等端队列中。请求对等端然后从该队列中依序取出每个潜在的父对等端,并且联系该潜在的父对等端以便查看该请求对等端是否能够被接纳并因此变为其子对等端(或者其子对等端之一)(3)。
图3D是集中式对等端发现方法中现有对等端和引导节点之间的通信的框图。现有对等端通过向引导节点的对等端联系接口305发送更新消息,来向引导节点更新其相关信息(1)。对等端联系接口305将该更新消息转发给对等端信息表模块310(2),其更新对等端信息表。引导节点经由对等端联系接口向现有对等端返回用于指示已经更新了信息的消息(3)。
图3E是图3D的所联系的对等端的详细操作的示意图。所联系的对等端(潜在的父对等端)从请求对等端接收对于将该请求对等端加入为子对等端的请求(1)。所联系的对等端检查其子对等端信息表,并且确定是否可以用其可能具有的任何空时隙或者通过抢占其当前的各子对等端之一来满足该加入请求。所联系的对等端向请求对等端返回用于指示其确定结果的响应(2)。
现在参考图4A,在分布式发现方式中,请求对等端首先联系引导节点(1)。引导节点返回内容源节点的地址/定位(1),其处于所有扩散树的根部。请求节点维持联系队列,并且将内容源节点放置到该队列中,请求对等端首先联系该源节点(2),其向请求对等端返回其子对等端列表(2)。该内容源节点和系统中的所有对等端保持包括它们在扩散树中的子对等端及其对应参数的表。
请求对等端每次从该队列中取出一个潜在的父对等端,并且联系该潜在的父对等端以便查看其是否可以被接纳(3)。每个所联系的对等端返回其子对等端列表(4)。该接纳基于与上述策略相同的策略。如果所联系的对等端具有空时隙,则其将接纳请求对等端,并且该请求对等端变为该所联系的对等端的子对等端,该所联系的对等端将其子对等端列表返回给请求对等端(4)。请求对等端以此方式继续,联系扩散树更下游的各对等端(5),并且随后联系接纳该请求对等端的每个所联系的对等端的子对等端(6),直到获得了该请求对等端可以连接到的所需数量的对等端、或者已经用尽了列表和对等端为止。如果所联系的对等端没有空时隙,则利用表2A中提出的策略来确定该请求对等端是否可以抢占所联系的对等端的各子对等端之一。
如果请求对等端可以抢占所联系的各子对等端之一,则所联系的对等端断开被选择为要被抢占的子对等端,并且将连接/时隙分配给请求对等端。否则,向请求对等端通知其不能被接纳。在处理结束时,所联系的对等端还将其在扩散树中的各子对等端的列表返回给请求对等端。请求对等端将所返回的列表附到联系队列末尾。处理继续,直到请求对等端获得了所需数量的对等端或者用尽了该列表为止。在后者的情况下,请求对等端将休眠一段时间T,并且再次启动上述处理。
第三种方式是半分布式方式。为了减少信令开销,各对等端维持关于它们的离开两个跳跃(two-hop away)的父对等端的一些局部信息。每个父对等端在内容分组中附带其空时隙数量Wi、实际贡献fi、以及到其子对等端的超额连接数量ei的信息。
此外,父对等端还将其父对等端的信息(Wi、fi、ei)发送到其子对等端。因此,节点具有其父对等端和祖父对等端的信息。
图4B是分布式对等端发现方法中请求对等端和引导节点之间的通信的框图。请求对等端向引导节点的对等端联系接口405发送加入请求(1)。引导节点返回内容源节点的地址/定位(2)。请求对等端联系该内容源节点(3)。
图4C是图4B的请求对等端的详细操作的示意图。请求对等端联系引导节点(1)。请求对等端从引导节点接收内容源节点信息(2)。请求对等端联系该内容源节点,并且接收作为该请求对等端的潜在父对等端的、该内容源节点的子对等端的列表/队列(2)。请求对等端将所返回的子对等端列表存储在其潜在的/候选的父对等端队列末尾。请求对等端然后从潜在的/候选的父对等端队列中取出每个潜在的父对等端条目,并且联系该潜在的父对等端以查看该请求对等端是否变为该潜在的父对等端的子对等端(4)。所联系的潜在的父对等端返回其子对等端的列表/队列,该请求对等端将该列表/队列存储在其潜在的/候选的父对等端队列末尾。
图4D是图4B的所联系的对等端的详细操作的示意图。当从请求对等端接收到加入请求时(1),所联系的对等端检查其子对等端信息表,并且确定是否可以用其可能具有的任何空时隙或者通过抢占其当前的各子对等端之一来满足该加入请求。所联系的对等端向请求对等端返回用于指示其确定结果的响应以及其子对等端列表(2)。
现在参考图5A,请求对等端联系引导节点(1),其返回潜在对等端的联系队列(1)。注意,引导节点具有该系统中所有对等端的列表。然而,其不维持保持跟踪每个对等端的参数的表。引导节点从该列表中随机地选择预定数量的潜在父对等端,并且将该列表返回给请求节点作为联系队列。
在本发明的另一实施例中,引导节点维持状态表。状态表通过引导节点来反映对等端服务的情况。当从请求对等端接收到对于接纳的请求,引导节点选择具有可以抢占的至少一个子对等端的参与对等端的随机子集。根据一个实施例,基于与被父对等端局部使用来接受或拒绝正在请求接纳的子对等端的抢占策略准则相同的抢占策略准则,通过引导节点选择适当的父对等端以包括在状态表中。
请求节点然后联系该列表中的每个对等端(2),并且接收其相邻列表(2)。所有这些列表被放置在一起以形成单个联系队列。该请求对等端每次从队列中取出一个对等端,并且联系该潜在的对等端以便查看其是否可以被接纳(3)。该接纳基于与上述策略相同的策略。如果所联系的对等端具有空时隙,则其将接纳该请求对等端,并且该请求对等端变为该所联系的对等端的子对等端。如果所联系的对等端没有空时隙,则使用表2中提出的策略来确定该请求对等端是否可以抢占所联系的对等端的各子对等端之一。
如果请求对等端可以抢占所联系的对等端的各子对等端之一,则所联系的对等端断开被选择为要抢占的子对等端,并且将连接/时隙分配给请求对等端。否则,向请求对等端通知其不能被接纳。
处理继续,直到请求对等端获得了所需数量的对等端或者用尽了该列表为止。在后者的情况下,请求对等端将休眠一段时间T,并且再次启动上述处理。
图5B是半分布式对等端发现方法中请求对等端和引导节点之间的通信的框图。对等端信息表维持该系统中所有对等端的列表。请求对等端向引导节点的对等端联系接口505发送加入请求(1)。对等端联系接口505然后将查找请求转发给对等端信息表模块510(2)。对等端信息表模块510在对等端信息表上执行查找操作,并且将随机选择的潜在父对等端的列表返回给对等端联系接口505(3)。对等端联系接口505然后将随机选择的潜在父对等端的列表和它们的对等端信息返回给请求对等端。
图5C是图5B的请求对等端的详细操作的示意图。请求对等端联系引导节点(1)。请求对等端接收随机选择的潜在父对等端的列表(2),并且将随机选择的潜在父对等端存储在其潜在的/候选的父对等端队列中(3)。请求对等端然后向所联系的(潜在的父)对等端发送相邻请求消息。请求对等端依序联系其潜在的/候选的父对等端队列中的对等端(3)。每个所联系的对等端将返回其相邻对等端的列表。请求对等端将相邻对等端的列表存储在其潜在的/候选的父对等端队列中。请求对等端联系其潜在的/候选的父对等端队列上的下一潜在的父对等端,以便查看该请求对等端是否能够变为其子对等端(4)。
图5D是图5B的所联系的对等端的详细操作的示意图。当从请求节点接收到相邻请求消息时,所联系的对等端就将其相邻对等端列表返回给请求节点(1)。如果传入的消息是搜索空时隙,则所联系的对等端检查其子对等端信息表,并且确定是否可以用其可能具有的任何空时隙或者通过抢占其当前的各子对等端之一来满足该请求。所联系的对等端向请求对等端返回用于指示其确定结果的响应(2)。
现在参考图6,其是对等端发现处理的流程图。在605,pi联系引导节点。在610,执行测试以便确定是否要使用集中式对等端发现。如果要使用集中式对等端发现,则在615,通过引导节点将空时隙/连接以及潜在的可抢占的各子对等端的列表/队列提供给pi。然后,在635,pi联系作为被授权的对等端的ri个潜在对等端、以及作为超额的对等端的ei个潜在对等端。如果不使用集中式对等端发现,则在620,执行测试以便确定是否要使用分布式对等端发现。如果要使用分布式对等端发现,则在625,将随机对等端的列表/队列的标识(id)提供给pi。在630,pi探测该对等端列表/队列中的具有空时隙/连接的所有对等端以及潜在地可抢占的对等端。
因此,在635,pi联系作为被授权的对等端的ri个潜在对等端、以及作为超额的对等端的ei个潜在对等端。如果接下来没有默认使用分布式对等端发现,则使用半分布式对等端发现。在640,将网络中对等端的数量N提供给pi。然后,在645,I探测全部的N个对等端以便发现空时隙、或者那N个对等端的各子对等端或仅离开pi一个跳跃的潜在对等端的各子对等端中的潜在可抢占的子对等端。然后,在635,pi联系作为被授权的对等端的ri个潜在对等端、以及作为超额的对等端的ei个潜在对等端。
注意,本发明可能比传统的非贡献感知的对等流传输方案具有较长的起动延迟/等待时间。定位父对等端的处理导致该较长的起动等待时间。另外,不同的对等端发现方案引起不同的等待时间。集中式对等端发现和半分布式对等端发现方案比分布式对等端发现方案引起较短的起动/加入等待时间,该分布式对等端发现方案从根部开始遍历扩散树。然而,由于本发明的贡献感知的对等实时流传输方法使用MDC(多描述编码)来对基础数据(underlyingdata)进行编码,因此,对等端一接收第一描述,其就可以开始回放。这可以潜在地缩短起动等待时间。
在本发明中,对等端抢占策略可能引起额外的对等端抖动。例如,如果请求对等端抢占已经连接到父对等端的子对等端,则该被抢占的子对等端不得不尝试加入另一父对等端,因此,对系统增大了额外的抖动。该处理可以继续,直到被抢占的子对等端利用另一父对等端为其自身找到了空时隙为止。
如果被抢占的连接是“超额的连接”,则这具有较少的影响,这是因为首先对等端不被认为具有该连接。减轻该问题的一种方式是修改抢占策略。本发明的抢占策略不允许“被授权的连接”抢占另一“被授权的连接”。此外,由于使用MDC(多描述编码)来对流数据进行编码,因此,抖动效应可能不严重。如果对等端丢失一些描述,则观看质量将变差,然而,该流仍是可观看的。
接下来,在基于网孔结构的P2P流传输的语境下描述贡献感知机制。尽管所述机制主要由现有技术中的用于基于树结构的P2P流传输方式的类似方案所启发,但是仍存在一些显著的区别。在基于树结构的方式中,通过每个树传递内容的具体描述。因此,每个对等端应加入适当数量的树,并且也仅充当一个树中的内部节点。该方式引起如下的在基于网孔结构的流传输中不存在的一些问题:
首先,为了在基于树结构的方式中提高其接收质量,每个对等端应在一新树中找到父对等端,而在基于网孔结构的方式中,任何新的对等端都可充当父对等端。其次,用于基于树结构的方式的局部抢占策略应在用于贡献者对等端的被授权的连接与用于非贡献者对等端的被授权的连接之间进行区分。这继而增加应由该策略解决的新情形。再次,在基于树结构的方式中,每个连接应被具体标记为被授权的或超额的。
相反,在本发明的基于网孔结构的方式中,通过每个对等端的实际连接数量和被授权的连接数量之间的差(即,当ai>Ri时,ei=ai-Ri)来简单确定超额连接到数量(而不是一致性)。
本发明的方式和基于树结构的方式之间的另一重要区别在于:在公式(1)和(2)中,使用对等端的意愿(Wi)而不是其实际贡献(fi)来确定其被授权的传入量度。假设每个对等端的实际贡献总是小于其意愿(即,fi<Wi),使用实际贡献有两个方面的副作用:(i)在公式(1)和(2)的第二项中低估了系统中的可用资源(即,)。这继而在父对等端发现处理期间导致各个对等端的更保守的行为。(ii)对等端i的实际贡献取决于其他参与者使用该对等端i的传出带宽的能力和要求。(iii)有效的抖动(即,子对等端离开)造成fi的瞬态下降,其导致系统中更多的动态。试验已经表明:在各实施例中,该方式将减缓父对等端发现,并且该方式不适合用于对等端数量(因而,可用资源)不断改变的动态环境。
上述的一般成本函数/税函数调整对等端接纳的操作。通过选择该函数的t参数,可以确定本发明的各实施例的特性。这样,在不同实施例中,随着税率(t)改变,呈现不同的成本函数/税函数(即,公式(1))行为(behavior)以及主要参数对其行为的影响(例如,Wi)。理解税/成本函数的行为允许关于各个对等端如何跨越参数空间确定它们的传入量度的确定,其在评估贡献感知机制的性能方面非常有用。
图7A-7C图示了在资源索引(RI)为0.5且Max为16时根据本发明各实施例的税函数/成本函数随着不同Wi值的行为。
假设:N个对等端的组并且它们的贡献意愿等级为(Wi),一情形下的RI被定义为可用资源(∑Wi)与对资源的合计要求的比率。在各实施例中,假设所有对等端具有足够的传入带宽以便能够接收全质量流,对资源的合计要求可以简单地被确定为N*Max。因此,给定情形下的RI值为:
可以将该定义代入公式(1),并且然后可以将该公式重写如下:
公式(5)表示对等端i的作为税率t的函数的被授权的量度,其基于以下参数:对等端的意愿(Wi)、覆盖中的资源索引(RI)和最大量度(基于流带宽)Max。图7A绘制了当RI=0.5、RI*Max=8时对于不同的Wi值的作为t的函数的Ri(t)。该图如下地揭示了税函数的一些重要属性以及其对不同参数的依赖性:
第一,随着税率增大,所有对等端的被授权的量度收敛到同一值RI*Max,而与其初始值无关。对于高带宽对等端(Wi>RI*Max),被授权的量度随着税率逐渐降低,而对于低带宽对等端(Wi<RI*Max),被授权的量度随着税率逐渐增大。本领域普通技术人员将注意到:随着t增大,公式中的第一项快速降低并且第二项收敛到RI*Max。
第二,随着税费的增大,被授权的量度的改变速率取决于对等端的意愿(或Wi)。较大的Wi值导致较快的收敛,如图7A中所示。
第三,RI*Max的值确定用于所有对等端的被授权的量度的最终值。因此,改变资源可用性或流带宽相应地在该图中简单向上或向下移动收敛值。第四,如上所述,来自公式(5)的floor(Ri)值(即,对Ri取整)被用来防止高估可用资源。图7B示出了来自公式(5)的floor(Ri)。其图示了floor(Ri)运算如何影响对于不同的Wi值的、作为税率/成本因数的函数的被授权的量度的演化。
第五,如上所述,当对等端的被授权量度大于接收全质量流所需的最大量度时(即,Max≤Ri),该对等端可能饱和。根据一个实例实施例,其中80%的对等端具有高带宽,且其余对等端具有低带宽,接收全质量流所需的传入量度为8,用于高带宽对等端和低带宽对等端的意愿的量度分别为24和4。在本发明的另一实施例中,高和低带宽对等端分别贡献40和4个传出连接。饱和对等端的实际量度被限制为Max。图7C示出了当一些高带宽对等端变为饱和时税函数/成本函数的行为。本领域技术人员将理解,确定对等端(以及对等端的部分)在给定情形下是否变为饱和是重要的,这是因为这影响(i)它们的接收质量、以及(ii)系统中超额资源的量。也就是说,图7C表示静态系统中税函数/成本函数的行为,在静态系统中,对等端数量和可用资源是固定的和已知的,即,参考静态情形。实践中,由于对等端参与的动态以及可用资源产生的变化,向各个对等端所报告的组状态不完全精确。因此,各参与对等端中的平均行为可能不同于上面的参考情况。下面,检查各种情形,并且将它们与对应的参考静态情形进行比较以便标识导致所观察到的区别的潜在原因。
已经示出,在各个实施例中,对等端可以迅速地从零起增大其传入量度以便达到其被授权的量度。在至少一个实施例中,高带宽对等端可以在少于20秒内达到被授权的量度,而低带宽对等端可以在11秒内达到被授权的量度。在一个实施例中,所有对等端在近似60秒内达到它们的目标传入量度。根据一个实施例,具有少于60秒寿命的对等端不能达到被授权的传入量度。在各个实施例中,一旦对等端的传入量度达到被授权的量度,由于可用资源的较小改变和超额连接的数量的变化,该对等端的传入量度趋于围绕该被授权的量度值振荡。
已经通过仿真评估了本发明的各个实施例的行为。使用该评估方法来检查所提出的贡献感知机制的行为,其中,将示例机制合并入基于网孔结构的P2P流传输机制,其被命名为PRIME。在基于网孔结构的P2P流传输机制中,到各个对等端的传递质量取决于:
(i)当对等端离开/加入系统时,它们维持适当数量的父对等端的能力;以及
(ii)参与对等端间通过所产生的覆盖的内容传递机制的行为。
覆盖中各个对等端和它们的父对等端之间的连接是明显的。根据各个实施例,贡献感知机制主要通过引入父对等端选择策略和子对等端抢占策略两者来影响各对等端间的连接。尽管覆盖的连接和动态可能对内容传递的性能有影响,但该影响不表明贡献感知机制的性能,而是示出PRIME应对覆盖连接和动态的能力。关注贡献感知机制对覆盖连接的影响还允许从具有较大组大小的分组级动态和仿真中进行抽象概括(abstraction)。
已经使用被称为psim的P2P会话级仿真)准备了本发明的各个实施例的以下评估。Psim是在各参与对等端之间并入成对网络延迟(pairwise networkdelay)的事件驱动型仿真器。此外,psim通过使用对等端会话时间的对数正态分布(其中,μ=4.29和σ=1.28)和帕累托(Pareto)分布(其中,a=2.52和b=1.55)而提供了抖动的实际模型,以便对对等端的到达间隔时间(inter-arrival time)进行建模,如对所开发的P2P流传输系统进行的现有的实证研究所报告的。通过提取分组级动态,psim使得能够仿真具有大数量对等端的情形、或对等端参与中的高度动态。使用三组性能度量来捕获贡献感知机制的性能的不同方面。
每个对等端的传入量度和传出量度两者都在会话期间改变。相应地,使用加权的传入量度和传出量度来捕获每个对等端所观察到的有效度量。加权的传入量度或传出量度是每个对等端在会话期间的不同间隔所经历的度量的平均值,其中,在维持该度量的同时用时间间隔对每个度量值进行加权。例如,如果对等端对于其会话的一半具有传出量度3且对于其会话的另一半具有传出量度5,则其加权的传出量度为4。
每个对等端的加权的传入量度和传出量度量化了会话期间其资源的使用和贡献。对等端的加权平均的传入量度还被划分为加权平均的被授权的量度和加权的超额的量度。
该度量还捕获贡献感知机制可以多么好地利用参与对等端的传出带宽,并且被定义为所有对等端上的合计加权传出量度与所有对等端上的最大传出量度的比率。使用两个度量来如下地捕获覆盖中的改变量度:
(i)父对等端的连续丢失之间的平均时间,以及
(ii)稳定对等端的百分比,所述稳定对等端被识别为这样的对等端,即,其所观察到的父对等端的连续改变之间的时间少于600秒。
所观察到的父对等端中的改变被划分为两组:由于父对等端离开而引起的改变与由于其它子对等端的抢占而引起的改变。在每秒每对等端的消息(或字节)方面,捕获与贡献感知机制相关联的所有信令消息的开销。
下面评估以下各因素中的每个因素对根据本发明的示例贡献感知机制的性能的影响:
(i)父对等端断开的动态,
(ii)贡献感知机制的益处,
(iii)税率/成本因数的影响和对等端贡献,
(iv)系统中的资源索引(RI),
(v)组大小的可扩展性,以及
(vi)更新频率的影响。
在具有不同随机种子的多次运行上,对每次仿真所报告的结果进行平均。在这里提供的说明性示例仿真中使用以下默认参数:流速率=400Kbps,组大小=500个对等端,高带宽对等端和低带宽对等端的访问链路带宽分别为1Mbps和100Kbps。在其它示例实施例中,采用600Kbps的流速率。每个流的带宽的值或bwpf(即,带宽与每个对等端的量度的比率)被设置为50Kbps。在所有仿真中,并入实际抖动模型,其具有用于对对等端的到达间隔进行建模的对等端会话时间的对数正态分布(其中,μ=4.29和σ=1.28)和帕累托(Pareto)分布(其中,a=2.52和b=1.55)。从对所开发的P2P流传输系统进行的最近实证研究中导出抖动模型。每10秒执行状态收集和报告一次。每次仿真运行6000秒,在数量达到期望目标的稳定状态期间收集信息。在本发明的一个实施例中,只要集合资源不改变,长生存期的父对等端-子对等端之间的连接保持完好无损。在本发明的另一实施例中,增大更新间隔导致被授权的量度的显著降低以及超额的量度的对应的小增大。
图8A和8B分别示出了根据一个实施例的典型的低贡献者和典型的高贡献者在其寿命期间的传入量度。税率/成本因数被设置为4,高贡献者的传出量度为24,而低贡献者的传出量度为4。在该情形下,高贡献者被授权为11,低贡献者被授权为6。作为典型行为,对等端以零开始,并且在短时间内(对于高贡献者小于20秒,对于低贡献者是11秒)达到其被授权的数量的父对等端。如图8A所示,对等端可以增大其传入量度并得到一些超额的连接,尽管这些超额连接是不稳定的,并且取决于要求可以被其它的被授权的连接抢占。
本领域普通技术人员将理解:对等端迅速地增大它们的平均量度。为了对此进行说明,示出了具有10秒间隔内的寿命的各对等端上的加权平均的量度。图8C示出了具有不同寿命的各对等端的平均传入量度。
对等端的加权平均的(传入或传出)量度表示通过利用对等端维持每个量度的间隔来对该量度进行加权而得到的有效平均量度。例如,如果对等端对于其会话时间的四分之一具有传出量度3且对于其会话时间的其余部分具有传出量度5,则其加权后的传出量度为4.5。根据本发明的一个实施例,每个对等端的加权的传入量度和传出量度分别量化了会话期间的资源利用和贡献。在各实施例中,加权平均的传入量度被包括在加权平均的被授权量度和加权平均的超额量度中。
如在图8C中明显的,具有短于50毫秒的寿命的示例对等端不在系统中保持足够长时间,从而不能基于它们的被授权连接而接收平均数量的传入连接。
根据本发明的各实施例,关于贡献感知机制对包括80%的低带宽对等端和20%的高带宽对等端的组中的参与对等端间的资源分布的影响,来检查贡献感知对等接纳的益处。税率/成本因数是2,高带宽对等端贡献高达24,而低带宽对等端贡献高达4个连接。所有其它参数为它们的默认值。
图9A示出了在具有贡献感知机制(被标记为有“贡献*”)和没有贡献感知机制(被标记为“无贡献*”)情况下当税率/成本因数为2时高带宽对等端和低带宽对等端中的加权平均传入量度的累计分布函数(CDF)。该图示出,在没有贡献感知机制时,高带宽对等端和低带宽对等端的传入量度的分布是相似的,因此,资源分配不取决于各参与对等端的贡献。相反,高带宽对等端和低带宽对等端的量度分布是清楚分开的,并且在每组中具有相当的统一,即,所有的低带宽对等端具有接近于6的量度,而所有的高带宽对等端的量度非常接近于15.
为了量化不同抢占策略的重要性,还示出了两种其它情形,其中,在Ex-Ex和En-En情形中不发生抢占。图9A示出了在这两种情形下高带宽对等端和低带宽对等端两者的量度分布的CDF。结果表明:强迫Ex-Ex和En-En抢占情形看起来不会引起加权平均的传入量度的分布方面的任何性能提高。换句话说,En-Ex策略足以实现良好性能。
图9B示出了所观察到的、由于抖动引起的各个对等端的平均断开率的分布。由于每个对等端的、由于抖动引起的断开率直接与其传入量度成比例,因此,在图9B中呈现了标准化值,其示出:由于抖动引起的平均断开率的分布不取决于对等端带宽,并且不随着贡献感知机制改变。
图9C呈现了在基本情形以及在其中Ex-Ex和En-En都被禁止的情形下高带宽对等端和低带宽对等端中的参与对等端中的父对等端的平均断开率的分布。该图示出:在基本情况下,低带宽对等端的实施例观察到较高的抢占率。该情况甚至在使En-En抢占策略禁止之后仍持续。然而,在其它情况下,所观察到的断开率是类似的。注意,在该参数设置下,高带宽对等端连接被授权,因此,它们不观察到主要的抢占。
图9B和图9C的比较揭示:由于抢占引起的父对等端断开率大约比由于抖动引起的父对等端断开率高20倍。换句话说,抢占策略在所观察到的仅由于抖动引起的断开率之上显著地增大了总的断开率。应注意,将图9C中由于抢占引起的断开率标准化是没有意义的,这是因为所观察到的断开率取决于每个对等端的超额量度的相对数量。
表3-稳定对等端的百分比
表3通过示出所观察到的、连续断开(与其原因无关)之间的时间至少为600秒的对等端的百分比而示出了稳定性的组级视图。表的每一行表示具有贡献感知机制(包括抢占策略的各种组合)和没有贡献感知机制的不同情形。
表3示出在没有贡献感知机制时仅29%的对等端是稳定的。使用仅具有En-Ex和Ex-En策略的贡献感知机制将稳定对等端的百分比稍稍降低到24%。然而,增加任何其它策略导致稳定对等端的百分比的显著降低。由于En-En和Ex-Ex策略显著增大覆盖的不稳定性,而不影响贡献感知机制的性能,因此,在其余评估中呈现的实施例中排除这些策略。
接下来,关于贡献感知机制的行为随着用于确定一情形的以下关键参数的改变,来检查本发明的各实施例:
(i)作为配置参数的税率/成本因数t的值,以及
(ii)对等端的贡献意愿(wi)的值。
以下描述假设:Max=16,资源索引(RI)为0.5,bwpf=50kbps,其中500个对等端包括80%的低带宽对等端和20%的高带宽对等端。本领域普通技术人员将看到,对于高带宽对等端和低带宽对等端的传出带宽(以及作为它们传出量度与bwpf的比率的它们对应的贡献wi)呈现了三种不同的情形如下:
情形S1:800Kbps和300Kbps(WH1=16,WL1=6)
情形S2:1.2Mbps和200Kbps(WH2=24,WL1=4)
情形S3:1.6Mbps和100Kbps(WHh=32,WL1=2)
应注意,这里W Hi和WLi分别表示高带宽对等端和低带宽对等端的贡献。注意,尽管资源的合计量(或RI)在这三种情形上保持恒定,但在它们之间带宽异构的等级显著变化,其继而确定各对等端间的最大传出量度的分布。因此,检查这些情形上的系统性能揭示了各对等端中的贡献Wi如何影响系统性能。
图10A示出作为参考的、基于公式(2)的具有不同的税率/成本因数值的、所有三种情形下的高带宽对等端和低带宽对等端的被授权量度。图10B示出仿真的、作为税率/成本因数函数的、所有三种情形下的高带宽对等端和低带宽对等端中的加权平均的被授权量度。比较这两个图示出:有趣地,高带宽对等端和低带宽对等端中的加权平均的被授权量度紧紧遵循公式(2)给出的其估计值,而与各对等端间的连接的存在动态无关。在本发明的一个实施例中,除了非常小的税值,被授权量度的平均值和总量度的平均值基本上相似。在示例发明方面中,当成本因数/税率较小时,高带宽对等端的被授权量度变为饱和,并且高带宽对等端不需要超额的连接。
在一个实施例中,饱和的对等端不使用它们的被授权量度,超额的资源在系统中变为可用,并且超额的资源量与(Rih-Max)成比例。低带宽对等端可以利用这些超额资源以形成超额的连接。在本发明的一个实施例中,只要高带宽对等端不饱和,高带宽对等端和低带宽对等端两者的平均超额量度基本上是相同的,并且基本上对税率/成本因数的改变和对等端贡献的分布不敏感。在一个实施例中,贡献感知机制基本上在各参与对等端间均匀地划分超额资源。在另一实施例中,由高带宽对等端和低带宽对等端所贡献的资源的异构被成比例地调节,使得合计的贡献资源基本上保持固定。
图10C呈现了三种情形下高带宽对等端和低带宽对等端中的加权平均的总传入量度(被授权的和超额的两者)。该图示出:被授权量度的平均值和总量度的平均值看上去非常类似。进一步探测每组对等端中被授权量度和超额量度的改变的动态。
图10D和图10E分别示出了高带宽对等端和低带宽对等端的被授权量度和超额量度两者的加权平均值。检查这两个图中的超额量度说明了以下两点:第一,对于高带宽对等端和低带宽对等端两者,只要高带宽对等端不饱和(即,t>3),(各情形中)加权平均的超额量度都不随着对等端贡献的分布而改变。
当高带宽对等端不饱和时,贡献感知机制通过控制被授权量度来有效地管理可用资源。因此,超额资源的唯一原因是(由于floor()引起的)被授权量度的舍去(rounding)。这仅提供了有限的超额资源量,其解释了在所有情形下在该区域(t>3)中具有较小超额量度的原因。此外,这些图示出:贡献感知机制可以在所有的对等端之间均匀地分布超额资源,这是因为所有的对等端都具有相同数量的超额连接。第二,当税率/成本因数较小时,高带宽对等端的被授权量度变得饱和,因此它们不要求超额的连接。由于饱和的对等端不使用它们的被授权量度,因此,超额的资源在系统中变得可用,并且超额的资源量与(WHi-Max)成比例。低带宽对等端可以利用这些超额资源以形成超额的连接,如图10E所示。
图11A示出作为税率的函数的、对于三种情形的、具有高带宽对等端和低带宽对等端中的平均传输量度的各个加权实施例的系统利用。该图清楚地示出:所有情形下各对等端的传出量度非常接近于它们的贡献意愿(Wi),即,对于不同资源分布,贡献感知机制都可以有效地利用可用资源,而与各对等端中的连接性方面的动态无关。图11B呈现了在单个快照时间中系统资源的总利用,即,在覆盖的一个快照中,所有对等端中的传出量度的利用。该图示出:当高带宽对等端不饱和时,资源基本上被完美地利用。在饱和区域中,资源的总利用由于超额连接的动态而稍微下降。该系统中相对较大部分的资源在该饱和区域中被超额连接利用。随着超额连接部分的增大,使等待时间适合于被拒绝的超额连接中的指数退避可能导致未用资源和较低的利用。根据本发明的一个实施例,当超额资源的部分增大时,对于超额连接的请求将被拒绝的可能性增大。由于使等待时间适合于被拒绝的超额连接中的退避,这降低资源利用。
资源索引 | 带宽分布 | 带宽 | 贡献 |
0.5 | 12%-88% | 1Mbps-100Kbps | 40-4 |
0.8 | 23%-77% | 1Mbps-100Kbps | 40-4 |
0.9 | 29%-71% | 1Mbps-100Kbps | 40-4 |
1 | 34%-66% | 1Mbps-100Kbps | 40-4 |
表4在用于检查RI的效果的仿真中使用的参数
图11C示出了作为税率/成本因数6的函数的、对于所有三种情形的、由于抢占引起的高带宽对等端和低带宽对等端中的平均断开率。该图量化了高带宽对等端或低带宽对等端的、抢占引起的从父对等端的连接中的平均动态等级。当高带宽对等端处于饱和区域时(即,WHi>Max),它们不经历任何抢占,这是因为它们仅建立不能被抢占的被授权的连接。相应地,在本发明的一个实施例中,高带宽对等端不经历任何抢占,这是因为它们仅建立不能被抢占的被授权的连接。
然而,在饱和区域之外,高带宽对等端经历随着增大的税率/成本因数而逐渐降低的、各父对等端中的合理断开率。对于低带宽对等端而言,所观察到的断开率在饱和区域中较小,这是因为没有对于资源的大量争夺,并且因此不需要抢占。随着税率/成本因数增大,平均断开率在不同情形上保持恒定。此外,尽管所有的参与对等端平均具有相同数量的超额连接(饱和区域之外,如图10D和图10E所示),图11C揭示了高带宽对等端意外地观察到更高的断开率。根据本发明的一个实施例,在饱和区域之外,低带宽对等端中的平均的父对等端断开率基本上对成本因数/税率不敏感。
在本发明的一个实施例中,较大的总对等端量度导致较高的父对等端断开率。为了在动态等级上解释所观察到的趋势,注意到,在基于网孔结构的P2P流传输中,贡献感知机制没有清楚地指明单个连接的类型(即,被授权的与超额的),如这里所示的。由于每个父对等端为了做出抢占决定而仅使用其当前子对等端(基于其上一次更新)的超额连接数量和被授权连接数量,因此,有可能两个父对等端从它们的共同子对等端来平衡它们的最后更新,并且同时抢占(即,断开)其到该子对等端的连接。这样的事件的可能性与子对等端的传入量度成比例。因此,通常,在饱和区域之外,具有较高的传入量度数量的对等端(高带宽对等端)观察到较高频率的抢占,并且随着它们的传入量度降低,该较高频率的抢占被税率/成本因数降低。
接下来,检查RI中的改变如何影响该系统的各个实施例的关键性能度量。这里使用的示例参数总结在表4中。假设:Max=16,bwpf=25Kbps,以及组大小为500。从现有技术中已知的先前的真实追踪(real world trace)中导出每个RI的高带宽对等端和低带宽对等端的分布。
图12A示出作为参考的、基于公式(2)计算的、具有不同RI的高带宽对等端和低带宽对等端的被授权量度。图12B示出作为税率/成本因数的函数的、在具有不同RI的情形下的高带宽对等端和低带宽对等端的加权平均的被授权量度。比较这两图揭示了:高带宽对等端和低带宽对等端的加权平均的被授权量度遵循从公式(2)导出的其对应值。在一个实施例中,断开频率是单个对等端所观察到的连续抢占之间的平均时间的相反值,其然后在所有对等端上被平均。图12A和图12B示出:在高达9的税率/成本因数范围中,在RI>0.8的情形下的高带宽对等端的被授权量度饱和。这示出高带宽对等端的饱和区域扩展了,其影响其它度量。
图12C和图12D分别示出了高带宽对等端和低带宽对等端的平均被授权量度和平均超额量度。如图12C所示,由于在较高的资源索引情形下饱和区域的扩展,因此,高带宽对等端在高达9的税率/成本因数范围中没有任何的超额连接。另一方面,图12D揭示了:低带宽对等端得到更多的超额连接以补偿该饱和,并利用可用资源。
图12E示出作为税率/成本因数的函数的、在具有不同RI的情形下的高带宽对等端和低带宽对等端的平均传出量度。该图清楚地示出:与税率/成本因数和RI无关,高带宽对等端和低带宽对等端的平均传出量度接近于它们的贡献。在较小的税率/成本因数时,在高带宽对等端的平均传出量度中存在稍微的降低。
图12F示出了快照时的资源利用。该图还揭示了:在饱和区域中,总的资源利用降低。如上所述,在RI>0.8的情形下,高带宽对等端处于其饱和区域,因此,对于低带宽对等端存在大量的超额连接(图12D中所示)。
各个实施例的仿真揭示了较低的税率/成本因数的影响。在使等待时间适合于被拒绝的超额连接时的指数退避可能导致较低的可用资源利用。
如下地检查贡献感知机制的扩展效果。总量从100个对等端改变到1000个对等端,并且检查不同的性能度量的结果。假设:RI=0.5,Max=16,bwpf=50Kbps。高带宽对等端贡献高达24个连接,低带宽对等端贡献高达4个连接。
图13A示出作为税率/成本因数的函数的、在具有不同组大小的情形下的高带宽对等端和低带宽对等端的加权平均的传入量度。该图清楚地示出:贡献感知机制与组大小无关地适当工作。图13B和图13C分别示出高带宽对等端和低带宽对等端的平均被授权量度和平均超额量度。这些图揭示了:对于不同的组大小,低带宽对等端和高带宽对等端的平均被授权量度和平均超额量度是接近的。本领域普通技术人员将看到:在具有不同组大小的情形下,贡献感知机制可扩展并且工作。
更新间隔对总性能的影响如下。根据本发明的相应实施例,更新间隔从10秒变化到高达120秒。在所有仿真中,RI=0.5,Max=16,bwpf=50Kbps。高带宽对等端的量度为24,低带宽对等端的量度为4。
图14A示出作为税率/成本因数的函数的、在具有不同更新间隔的情形下的高带宽对等端和低带宽对等端的平均传入量度。该图清楚地示出:各对等端的平均量度遵循相同的趋势,而与更新周期无关。图14A揭示:通过增大更新周期,各对等端的平均传入量度降低高达20%。
图14B和图14C分别示出将高带宽对等端和低带宽对等端的传入量度分离到其被授权连接和超额连接中。这些图有趣地揭示了:通过增大更新周期,平均被授权连接显著降低。另一方面,通过增大更新周期,平均超额连接稍微增大。
通过增大更新周期,可能出现两个主要问题,其是系统范围信息(system-wide information)的较长传播或收集的结果。
(i)由于对等端信息的收集周期增大,引导节点/对等端可能没有整个覆盖的准确视图,并且其所存储的信息可能是过时的。结果,引导节点/对等端可能错误地假设:对等端具有用于接受新的子对等端的空时隙、或者具有要被抢占的且被另一被授权的对等端替代的超额连接。在两者情况下,引导节点/对等端发送给新的对等端的信息是不正确的。
(ii)由于从引导节点/对等端到单个对等端传播信息的较长周期,总资源中的瞬态改变可能错误地影响通过公式(2)所计算的每个对等端的被授权连接。因此,瞬态改变可能在较长的时间内影响对等端,并且可能降低它们得到它们合理分享被授权连接的能力。
更具体地,在具有较少的被授权连接时,对等端尝试建立更多的超额连接(如图14B中通过平均超额连接中的增加所示)。注意,寻找超额连接的对等端不能抢占其它的超额连接,其导致较低的总传入量度。意外地,上述两个问题都主要影响短生存期的对等端实施例的性能。
图14D和图14E分别示出了作为其寿命的函数的、高带宽对等端和低带宽对等端的加权平均的传入量度。X轴被截取为1000秒,这是因为:在1000秒之上,对等端的传入量度中没有改变。在这些图中,所选择的税率/成本因数为4,并且对于该具体结果在其它的税率/成本因数之间没有大的区别。这些图示出了主要的两点:
(i)长生存期的对等端的平均传入量度不随着不同的更新周期而改变,以及
(ii)短生存期的对等端在较大的更新周期时具有较低的传入量度。
在该现象的解释中,图14F示出跨越不同寿命的、所有对等端的标准化的抖动频率。该图清楚地示出:具有较长寿命的对等端观察到较少的抖动。相应地,显然长生存期的对等端趋于最终彼此连接。因此,长生存期的对等端较不频繁地由于抖动而失去它们的父对等端,其意味着:来自引导节点的过时信息将不趋向于严重地影响它们的连接。另一方面,资源中的瞬态改变将不显著影响长生存期的对等端,这是因为它们停留在系统中的时间足够长以便能够消除被授权连接的不正确计算的负面影响。
应理解,可以以硬件、软件、固件、专用处理器、或它们的组合的各种形式来实施本发明。优选地,本发明被实施为硬件和软件的组合。此外,软件优选地被实施为确实包含在程序存储设备上的应用程序。该应用程序可以被上载到包括任何合适结构的机器上并被该机器执行。优选地,该机器被实施在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)、以及一个或多个输入/输出(I/O)接口之类的硬件的计算机平台上。该计算机平台还包括操作系统和微指令码。这里描述的各种处理和功能可以是微指令码的一部分或应用程序的一部分(或它们的组合),其经由操作系统被执行。另外,诸如另外数据存储设备和打印设备之类的各种其它外部设备可以连接到该计算机平台。
还应理解,由于在附图中示出的一些组成系统组件和方法步骤优选地以软件实施,因此,取决于本发明被编排的方式,系统组件(或处理步骤)之间的实际连接可能不同。给出了这里的教导,本领域普通技术人员将能够预期本发明的这些和类似的实施方式或者配置。
Claims (9)
1.一种用于贡献感知对等网络的引导节点,包括:
处理器设备;以及
网络接口设备,其耦接到所述处理器设备,所述网络接口设备被适配为耦接到通信网络,所述处理器设备被适配为通过所述网络接口设备从所述通信网络接收对潜在的父对等端的标识信息的请求,而所述处理器设备被适配为以多个设备标识值和系统参数来作出响应。
2.如权利要求1所述的用于贡献感知对等网络的引导节点,其中,所述系统参数包括系统资源索引。
4.如权利要求3所述的用于贡献感知对等网络的引导节点,其中,所述引导节点响应于心跳消息周期性地接收意愿参数的值。
5.如权利要求1所述的用于贡献感知对等网络的引导节点,其中,所述引导节点响应于心跳消息周期性地从多个对等端设备接收参数值。
6.如权利要求1所述的用于贡献感知对等网络的引导节点,其中,所述多个设备标识值和所述系统参数包括意愿的值、传出量度的实际贡献、实际的传入连接数量、所计算的被授权的传入量度、以及参与对等端的父对等端的列表。
7.如权利要求1所述的用于贡献感知对等网络的引导节点,其中,所述潜在的对等端标识信息标识饱和的潜在父对等端。
8.如权利要求1所述的用于贡献感知对等网络的引导节点,其中,对潜在的父对等端标识信息的所述请求是响应于接收对等端的请求而从所述通信网络接收的,所述接收对等端被适配为采用指数退避策略。
9.如权利要求8所述的用于贡献感知对等网络的引导节点,其中,通过公式twait=tminK(ei+βret)来管理所述指数退避策略。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
USPCT/US2006/045588 | 2006-11-29 | ||
PCT/US2006/045588 WO2008066516A1 (en) | 2006-11-29 | 2006-11-29 | Contribution aware peer-to-peer live streaming service |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780044325.8A Division CN101543021B (zh) | 2006-11-29 | 2007-03-23 | 贡献感知的对等实时流传输服务 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102868674A true CN102868674A (zh) | 2013-01-09 |
Family
ID=38269103
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056487.9A Expired - Fee Related CN101543019B (zh) | 2006-11-29 | 2006-11-29 | 贡献感知对等实时流传输服务 |
CN200780044325.8A Expired - Fee Related CN101543021B (zh) | 2006-11-29 | 2007-03-23 | 贡献感知的对等实时流传输服务 |
CN2012102288777A Pending CN102868674A (zh) | 2006-11-29 | 2007-03-23 | 贡献感知对等网络的引导节点 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056487.9A Expired - Fee Related CN101543019B (zh) | 2006-11-29 | 2006-11-29 | 贡献感知对等实时流传输服务 |
CN200780044325.8A Expired - Fee Related CN101543021B (zh) | 2006-11-29 | 2007-03-23 | 贡献感知的对等实时流传输服务 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8898232B2 (zh) |
EP (2) | EP2090074A1 (zh) |
JP (2) | JP4830025B2 (zh) |
CN (3) | CN101543019B (zh) |
BR (2) | BRPI0622079A2 (zh) |
WO (2) | WO2008066516A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904463B2 (en) * | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
FR2915044B1 (fr) * | 2007-04-16 | 2009-09-18 | France Telecom | Procede de determination de la dynamique d'un reseau logique |
US8015311B2 (en) * | 2007-09-21 | 2011-09-06 | Polytechnic Institute Of New York University | Reducing or minimizing delays in peer-to-peer communications such as peer-to-peer video streaming |
US20090122766A1 (en) * | 2007-10-01 | 2009-05-14 | Hughes Timothy J | Nested weighted round robin queuing |
US9769255B2 (en) * | 2007-12-24 | 2017-09-19 | Core Wireless Licensing S.A.R.L. | Continuous scheduling for peer-to-peer streaming |
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 |
US8452886B2 (en) * | 2008-12-04 | 2013-05-28 | Microsoft Corporation | Peer-to-peer packet scheduling algorithm |
US8051161B2 (en) | 2008-12-08 | 2011-11-01 | Microsoft Corporation | Peer-to-peer (P2P) streaming overlay construction and optimization |
JP2010182111A (ja) * | 2009-02-05 | 2010-08-19 | Csk-Is:Kk | ネットワークシステム及びネットワークプログラム |
WO2010128905A1 (en) * | 2009-05-05 | 2010-11-11 | Telefonaktiebolaget L M Ericsson (Publ) | P2p for mobile providers |
CN102064992B (zh) * | 2009-11-13 | 2012-11-28 | 中兴通讯股份有限公司 | 一种中继节点、中继节点的分布式网络及其组网方法 |
US8560633B2 (en) * | 2010-01-11 | 2013-10-15 | Tangome, Inc. | Communicating in a peer-to-peer computer environment |
US9444887B2 (en) | 2011-05-26 | 2016-09-13 | Qualcomm Incorporated | Multipath overlay network and its multipath management protocol |
US8995338B2 (en) * | 2011-05-26 | 2015-03-31 | Qualcomm Incorporated | Multipath overlay network and its multipath management protocol |
CA2850585C (en) * | 2011-11-18 | 2014-12-16 | Peerialism AB | Method and device for peer arrangement in single substream upload p2p overlay networks |
TW201351929A (zh) * | 2012-03-09 | 2013-12-16 | Interdigital Patent Holdings | Cdn交換互連相關應用方法及系統 |
US9680926B2 (en) | 2012-12-19 | 2017-06-13 | Hive Streaming Ab | Nearest peer download request policy in a live streaming P2P network |
US9591070B2 (en) * | 2012-12-19 | 2017-03-07 | Hive Streaming Ab | Multiple requests for content download in a live streaming P2P network |
US9544366B2 (en) | 2012-12-19 | 2017-01-10 | Hive Streaming Ab | Highest bandwidth download request policy in a live streaming P2P network |
JP5907132B2 (ja) * | 2013-08-30 | 2016-04-20 | ブラザー工業株式会社 | 中継装置、プログラム及び通信システム |
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 |
CN104540173B (zh) * | 2015-01-04 | 2018-08-03 | 河海大学常州校区 | 一种基于树状簇结构的无线传感器网络移动数据收集方法 |
KR101780981B1 (ko) | 2015-09-23 | 2017-09-26 | 주식회사 마블루스 | P2p 비디오 스트리밍을 지원하기 위한 장치 및 방법 |
CN106790647B (zh) * | 2017-01-15 | 2020-06-23 | 网宿科技股份有限公司 | 一种自适应服务管理的方法和系统 |
CN109651219B (zh) * | 2018-12-29 | 2020-11-03 | 信阳师范学院 | 一种偶氮苯基硫脲衍生物的有机凝胶化合物及制备方法、有机凝胶及应用 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143672A1 (en) * | 2003-01-07 | 2004-07-22 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
CN1744575A (zh) * | 2004-09-02 | 2006-03-08 | 汤姆森许可贸易公司 | 用于提高网络中的服务质量管理的方法 |
CN1744500A (zh) * | 2004-09-03 | 2006-03-08 | 微软公司 | 用于可缩放媒体的分布式流传送的系统和方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5859959A (en) | 1996-04-29 | 1999-01-12 | Hewlett-Packard Company | Computer network with devices/paths having redundant links |
US6601101B1 (en) | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US7089301B1 (en) | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
US7113771B2 (en) * | 2001-08-02 | 2006-09-26 | Motorola, Inc. | Method and apparatus for enabling and rewarding wireless resource sharing |
US7076564B2 (en) | 2001-09-17 | 2006-07-11 | Micromuse Ltd. | Method and apparatus for determining and resolving missing topology features of a network for improved topology accuracy |
JP2003209576A (ja) | 2002-01-15 | 2003-07-25 | Matsushita Electric Ind Co Ltd | マルチキャスト通信方法及びそのシステム |
US20040203385A1 (en) | 2003-03-14 | 2004-10-14 | Sathya Narayanan | Session endpoint management method for ad-hoc networks |
US7729992B2 (en) | 2003-06-13 | 2010-06-01 | Brilliant Digital Entertainment, Inc. | Monitoring of computer-related resources and associated methods and systems for disbursing compensation |
GB0319251D0 (en) | 2003-08-15 | 2003-09-17 | British Telecomm | System and method for selecting data providers |
US20050273511A1 (en) * | 2004-06-08 | 2005-12-08 | Hewlett-Packard Development Company, L.P. | Equitable resource sharing in grid-based computing environments |
US7593333B2 (en) * | 2004-07-07 | 2009-09-22 | Microsoft Corporation | Efficient one-to-many content distribution in a peer-to-peer computer network |
US20070091809A1 (en) | 2005-10-25 | 2007-04-26 | Smith Jeffrey C | Managed network resource sharing and optimization method and apparatus |
US7957280B2 (en) * | 2006-06-16 | 2011-06-07 | Bittorrent, Inc. | Classification and verification of static file transfer protocols |
US7613770B2 (en) * | 2006-06-30 | 2009-11-03 | Microsoft Corporation | On-demand file transfers for mass P2P file sharing |
US7558797B2 (en) * | 2006-06-30 | 2009-07-07 | Microsoft Corporation | Metadata structures for mass P2P file sharing |
ATE551816T1 (de) * | 2006-09-28 | 2012-04-15 | Rayv Inc | System und verfahren zum peer-to-peer-medien- streaming |
US9210085B2 (en) * | 2006-10-05 | 2015-12-08 | Bittorrent, Inc. | Peer-to-peer streaming of non-live content |
-
2006
- 2006-11-29 WO PCT/US2006/045588 patent/WO2008066516A1/en active Application Filing
- 2006-11-29 US US12/312,319 patent/US8898232B2/en not_active Expired - Fee Related
- 2006-11-29 BR BRPI0622079-7A patent/BRPI0622079A2/pt not_active IP Right Cessation
- 2006-11-29 JP JP2009539220A patent/JP4830025B2/ja not_active Expired - Fee Related
- 2006-11-29 CN CN200680056487.9A patent/CN101543019B/zh not_active Expired - Fee Related
- 2006-11-29 EP EP06838508A patent/EP2090074A1/en not_active Withdrawn
-
2007
- 2007-03-23 EP EP07753818A patent/EP2095610A1/en not_active Withdrawn
- 2007-03-23 CN CN200780044325.8A patent/CN101543021B/zh not_active Expired - Fee Related
- 2007-03-23 CN CN2012102288777A patent/CN102868674A/zh active Pending
- 2007-03-23 WO PCT/US2007/007220 patent/WO2008066560A1/en active Application Filing
- 2007-03-23 BR BRPI0718939-7A patent/BRPI0718939A2/pt not_active IP Right Cessation
- 2007-03-23 JP JP2009539236A patent/JP4994458B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143672A1 (en) * | 2003-01-07 | 2004-07-22 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
CN1744575A (zh) * | 2004-09-02 | 2006-03-08 | 汤姆森许可贸易公司 | 用于提高网络中的服务质量管理的方法 |
CN1744500A (zh) * | 2004-09-03 | 2006-03-08 | 微软公司 | 用于可缩放媒体的分布式流传送的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100030909A1 (en) | 2010-02-04 |
WO2008066560A1 (en) | 2008-06-05 |
US8898232B2 (en) | 2014-11-25 |
JP4830025B2 (ja) | 2011-12-07 |
JP2010511348A (ja) | 2010-04-08 |
CN101543021A (zh) | 2009-09-23 |
CN101543021B (zh) | 2012-08-29 |
CN101543019B (zh) | 2012-11-28 |
BRPI0622079A2 (pt) | 2011-12-20 |
CN101543019A (zh) | 2009-09-23 |
EP2090074A1 (en) | 2009-08-19 |
EP2095610A1 (en) | 2009-09-02 |
JP4994458B2 (ja) | 2012-08-08 |
BRPI0718939A2 (pt) | 2013-01-15 |
WO2008066516A1 (en) | 2008-06-05 |
JP2010515113A (ja) | 2010-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101543021B (zh) | 贡献感知的对等实时流传输服务 | |
US9094416B2 (en) | Contribution aware peer-to-peer live streaming service | |
Yuan et al. | CSEdge: Enabling collaborative edge storage for multi-access edge computing based on blockchain | |
Ma et al. | A game theoretic approach to provide incentive and service differentiation in P2P networks | |
Legout et al. | Clustering and sharing incentives in bittorrent systems | |
CN101499914B (zh) | 一种组播系统的父节点选择方法、系统及节点 | |
CN101330440A (zh) | 根据用户行为调节电信级p2p网络资源分配的方法 | |
Haddi et al. | A survey of incentive mechanisms in static and mobile p2p systems | |
US20060069777A1 (en) | Request message control method for using service and service providing system | |
CN101369915B (zh) | 可运营p2p网络资源管理系统 | |
Magharei et al. | Incorporating contribution-awareness into mesh-based Peer-to-Peer streaming systems | |
CN109729510B (zh) | 基于斯坦科尔伯格博弈的d2d内容安全分发方法及系统 | |
Belmonte et al. | COINS: COalitions and INcentiveS for effective Peer-to-Peer downloads | |
Eidenbenz et al. | Boosting market liquidity of peer-to-peer systems through cyclic trading | |
Zhang et al. | Coalitions improve performance in data swarming systems | |
Iosifidis et al. | Reputation-assisted utility maximization algorithmsfor peer-to-peer networks | |
Charilas et al. | Cooperation incentives in 4G networks | |
AlGhamdi et al. | BeeCast: A Device-to-Device Collaborative Video Streaming System | |
Hu | Economic Models for Access Networks Informing Regulatory Policy | |
Chao et al. | Regional Load Balancing Circuitous Bandwidth Allocation Method Based on Dynamic Auction Mechanism | |
Costa-Montenegro et al. | Multi-agent system model of a BitTorrent network | |
Satsiou et al. | Dynamic Cooperation Enforcement through Trust-based Allocation Policies in P2P Systems | |
GB2487073A (en) | Credit balances for nodes in a network are amended based on confirmation messages received from the nodes and on reputation records | |
Alam | Content delivery networks: Competition, request routing and server placement | |
Schlosser et al. | Cooperation Strategies for P2P Content Distribution in Cellular Mobile Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20160224 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |