CN104904183A - 内容获取源选择和管理 - Google Patents

内容获取源选择和管理 Download PDF

Info

Publication number
CN104904183A
CN104904183A CN201380065212.1A CN201380065212A CN104904183A CN 104904183 A CN104904183 A CN 104904183A CN 201380065212 A CN201380065212 A CN 201380065212A CN 104904183 A CN104904183 A CN 104904183A
Authority
CN
China
Prior art keywords
computer
digital content
peer
network
peer computer
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
CN201380065212.1A
Other languages
English (en)
Other versions
CN104904183B (zh
Inventor
A.伯巴
B.亨特
M.加洛普
S.罗斯蒙德
F.R.莫里森三世
M.J.麦克努尔蒂
N.甘杰
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN104904183A publication Critical patent/CN104904183A/zh
Application granted granted Critical
Publication of CN104904183B publication Critical patent/CN104904183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

方法包括标识存储包含多个片段的数字内容项目的部分的多个源。多个源包括对等网络的一个或多个对等计算机以及计算机的一个或多个本地存储机器。方法还包括对于数字内容项目的多个片段中的每一个片段,从源下载该片段,根据一个或多个下载度规从多个源选择该源,以及组织多个片段以用于作为数字内容项目安装在计算机上。

Description

内容获取源选择和管理
背景技术
在对等(P2P)网络中,每一个对等计算机可以充当P2P网络中的其它对等计算机的客户端或服务器,从而允许直接在对等计算机之间共享访问诸如数字内容项目的各种源而不必通过中央服务器计算机引导数据。例如,对等计算机可以就数字内容项目的可用性询问P2P网络中的其它对等计算机,并且然后从响应于询问的给定对等计算机请求数字内容项目。典型地,对等计算机可以从响应于询问的第一对等计算机或者直接可用于提供数字内容项目的对等计算机请求数字内容项目,而不管该对等计算机的状态(诸如位置、带宽、吞吐量、连接类型或该对等计算机的其它特性)如何。提供数字内容项目的这样的内容源的未通知选择可能导致小于最佳下载体验。换言之,对等计算机可以在请求数字内容项目时就内容源的选择做出未通知决策。在传统P2P网络中,对等计算机不具有关于P2P网络中的所有其它对等计算机的信息或者分析这样的信息以选择内容源来提供有利下载体验的机制。
发明内容
提供该发明内容以便以简化形式介绍在下文具体实施方式中进一步描述的概念的选择。该发明内容不意图标识所要求保护的主题的关键特征或本质特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决该公开的任何部分中所指出的任何或所有缺点的实现方式。
所公开的实施例涉及分发数字内容项目和管理对等网络。例如,在一个实施例中,存储包括多个片段的数字内容项目的部分的多个源被标识。多个源包括计算机和对等网络的一个或多个对等计算机的一个或多个本地存储机器。对于数字内容项目的多个片段中的每一个片段,从源下载该片段。根据一个或多个下载度规(metric)从多个源选择源。组织多个片段以用于作为数字内容项目安装在计算机上。
附图说明
图1示出了根据本公开的实施例的内容分发计算系统。
图2示出了根据本公开的实施例的数字内容项目。
图3示出了根据本公开的实施例的集中管理服务(CMS)计算机架构。
图4和5示出了根据本公开的实施例的用于获取数字内容项目的方法。
图6和7示出了根据本公开的实施例的用于执行自愿操作和执行强制操作的方法。
图8示出了根据本公开的实施例的用于选择作为内容源的对等计算机的方法。
图9示出了根据本公开的另一实施例的用于选择作为内容源的对等计算机的方法。
图10示出了根据本公开的实施例的用于管理P2P网络的方法。
图11示出了根据本公开的实施例的用于下载内容的方法。
图12和13示出了根据本公开的实施例的用于管理P2P网络的方法。
图14示出了根据本公开的实施例的用于分发内容的方法。
图15示出了根据本公开的实施例的可显示给用户的奖励界面。
图16示出了根据本公开的实施例的计算机系统。
具体实施方式
本公开大体涉及用于在对等(P2P)网络中分发数字内容的系统和方法。更具体地,本公开涉及用于通过集中管理服务(CMS)计算机管理P2P网络的各方面的系统和方法。例如,CMS计算机可以监控P2P网络的每一个对等计算机的操作并且可以从每一个对等计算机接收遥测数据形式的信息。遥测数据可以提供对等计算机的状态的单独指示。此外,CMS计算机可以聚集来自P2P网络的所有对等计算机的遥测数据以提供P2P网络的状态的整体指示。
CMS计算机可以使用聚集的遥测数据来计算用于向P2P网络的对等计算机提供操作指导的不同度规。例如,CMS计算机可以基于可从聚集的遥测数据导出的一个或多个度规来协调内容源选择以用于获取数字内容项目。在一些情形中,CMS计算机可以朝向优化给定对等体的数字内容获取体验来引导这样的指导。在一些情形中,CMS可以朝向整体优化P2P网络的操作来引导这样的指导。在一些情形中,CMS计算机可以在提供这样的指导时利用P2P网络的总体健康来加权各个对等体的需求。通过将P2P网络中的所有对等计算机的遥测数据聚集到CMS计算机,可以实现每一个对等计算机的单独观察以及整个P2P网络的整体观察。另外,可以运用该信息来提供增加每一个对等计算机以及整个P2P网络的效率的指导。
图1示出了根据本公开的实施例的内容分发系统100。内容分发系统100包括含有多个对等计算机(例如对等体A-对等体N+N)的P2P网络102。P2P网络102的对等计算机101可以具有对诸如本地处理资源、本地存储的文件、本地连接的外围机器等的各种本地资源的访问权。P2P网络102的每一个对等计算机可以被配置为经由一个或多个计算机网络104与P2P网络的每一个其它对等计算机直接通信。更具体地,每一个对等计算机可以充当P2P网络的其它对等计算机的客户端或服务器,从而允许对每一个对等计算机的各种本地资源的共享访问。尽管将了解到,可以在P2P网络的对等计算机之间传递或共享任何适当的资源,但是在该描述的上下文中,讨论可以特别地针对传递数字内容项目。
例如,对等计算机101可以被配置为从P2P网络的任何其它对等计算机请求数字内容项目。另外,对等计算机可以被配置为经由计算机网络从对等计算机下载数字内容项目(亦称吸取(leech))。此外,对等计算机可以被配置为响应于来自P2P网络的任何其它对等计算机的请求以提供数字内容项目。另外,对等计算机可以被配置为经由计算机网络将数字内容项目上载到该对等计算机(亦称播种)。
计算机网络104可以包括允许在计算机之间共享资源和数据的一个或多个通信信道。计算机网络104可以包括任何适当的输运介质、通信协议和用于在计算机之间传递数据的组织分层结构。在所图示的实施例中,出于简单性的目的,通过到对等计算机101的多个连接来指示计算机网络,但是将了解的是,计算机网络可以促进内容分发系统100的任何或所有计算机之间的通信。
作为计算机网络104的组织的一部分,P2P网络102的对等计算机可以与因特网服务提供商(ISP)106相关联。例如,ISP可以将相关联的对等计算机连接到因特网以用于与其它计算机通信。在一些实施例中,P2P网络的对等计算机可以与不同ISP相关联。在所图示的示例中,对等体A、对等体B、对等体N和对等体N+1可以与ISP A相关联;并且对等体N+N可以与ISP B相关联。此外,将了解的是,未包括在P2P网络中的附加非附属计算机可以与ISP A或ISP B相关联。
在一些情形中,可能有益的是使对等计算机将数字内容项目传递给与相同ISP相关联的对等计算机或从其传递,而不是传递给与不同ISP相关联的对等计算机或从其传递。例如,相对于在与不同ISP相关联的对等计算机之间传递数字内容项目,在相同ISP内的对等计算机之间传递数字内容项目可以增加吞吐量并且降低带宽成本。作为另一示例,在相同ISP内的对等计算机之间传递数字内容项目可以不针对对等计算机数据传递分配额进行计数,其可减小对等计算机的成本。
在一些实施例中,作为计算机网络104的组织的一部分,P2P网络102的多个对等计算机可以连接到内联网网络108。连接到内联网网络的对等计算机可以将数字内容项目传递到连接于内联网网络的其它对等计算机而不与外部网络(诸如因特网)对接。
在一些情形中,可能有益的是使对等计算机将数字内容项目传递到连接于内联网网络的对等计算机或从其传递,而不是将数字内容项目传递到不连接于内联网网络或位于内联网网络外部的对等计算机。例如,相比于将数字内容项目传递到内联网网络外部的对等计算机而言,在连接于内联网网络的对等计算机之间传递数字内容项目可以增加吞吐量并且降低带宽成本,这是因为传递到外部对等计算机的数据将必须流过网关或其它接口以到达位于外部的对等计算机。
内容分发系统100可以包括CMS计算机110,其被配置为基于从P2P网络的对等计算机所聚集的遥测数据来管理P2P网络102的操作。例如,遥测数据可以涉及P2P网络的对等计算机之间的交互,诸如涉及数字内容项目的传递。
CMS计算机10可以可选地包括追踪器服务计算机112,其被配置为追踪P2P网络102中的对等计算机。具体地,对等计算机可以向追踪器服务计算机报告遥测数据形式的信息,并且作为交换,对等计算机可以接收关于它们可以连接到的其它对等计算机的信息。另外,对等计算机101可以经由计算机网络104向追踪器服务计算机112发送涉及数字内容项目的传递的遥测数据。例如,对等计算机可以在试图传递数字内容项目时,在传递数字内容项目或试图传递数字内容项目之后发送遥测数据。将了解的是,对等计算机可以在任何适当的时间向追踪器服务车或CMS计算机发送遥测数据。此外,发送遥测数据的操作可以与数字内容项目的实际传送分离。在一个示例中,CMS计算机可以被配置成经由追踪器服务计算机从P2P网络的对等计算机实时地或近乎实时地聚集遥测数据。
在一些实施例中,追踪器服务计算机112可以包括可追踪P2P网络102的不同对等计算机的遥测数据的多个追踪器服务计算机。例如,不同追踪器服务计算机可以追踪P2P网络的不同区域(例如地理区域)中的对等计算机、属于不同ISP的对等计算机等。多个追踪器服务计算机中的每一个可以将遥测数据发送给CMS计算机以用于聚集。
多个追踪器服务计算机可以提供用于追踪P2P网络中的对等计算机的冗余码和灵活性。在一些实施例中,CMS计算机110可以被配置为调节哪些追踪器服务计算机追踪哪些对等计算机以便提供负载均衡能力、从而高效地追踪整个P2P网络上的对等计算机。例如,如果P2P网络的第一区域中的大量对等计算机正空闲,而P2P网络的第二区域中的大量对等计算机正传递数字内容项目、使得发送给第二区域的追踪器服务计算机的遥测数据的吞吐量减小,则CMS计算机可以被配置为标识吞吐量中的减小并且作为响应转移被指派给第一区域的追踪器服务计算机的资源以追踪第二区域的对等计算机从而增加第二区域的遥测数据的吞吐量。在所图示的实施例中,出于简单性目的,追踪器服务计算机112连接到对等计算机101,尽管将了解的是,追踪器服务计算机可以连接到P2P网络102的任何或所有对等计算机。在一些实施例中,追踪器服务计算机可以与CMS计算机集成。在一些实施例中,遥测数据可以绕过追踪器服务,并且可以直接馈送到CMS计算机。在该情形中,追踪器服务随后可以被推送,或者可以从CMS计算机拉取遥测数据。在一些实施例中,追踪器服务可以省略。
CMS计算机110可以被配置为使用聚集的遥测数据的反馈来监视每一个对等计算机的操作以及监视P2P网络102的部分或整体的操作。另外,CMS计算机可以被配置为从聚集的遥测数据计算或导出各种度规以量化对等计算机的操作状态或P2P网络的操作状态。CMS计算机可以被配置为基于度规而执行各种管理操作以增加操作效率或以其它方式改进对等计算机或P2P网络的健康。管理操作的非限制性示例包括选择用于对等计算机的内容递送源、匹配用于数字内容项目的传递的对等计算机、执行修改数字内容项目的传递的缓解操作、隔离对等计算机以免对数字内容项目进行传递、出于参与P2P网络而奖励对等计算机、命令P2P网络的对等计算机之间的数字内容项目的强制传递、发布数字内容项目以及验证数字内容项目。由CMS计算机执行的管理操作将在下文参照图3进一步详细讨论。
在一些实施例中,内容分发系统100可以包括可充当支持和/或补充P2P网络102的数据源的内容递送网络(CDN)计算机114。CDN计算机可以被配置为存储可用于在P2P网络的对等计算机上传递的一些或所有数字内容项目。换言之,CDN计算机可以充当P2P网络的镜像或备份。在所图示的实施例中,出于简单性目的,CDN计算机114连接到对等计算机101,尽管将了解的是,CDN计算机可以连接到P2P网络102的任何或所有对等计算机。
在一些情形中,CDN计算机114可以是播种数字内容项目的附加源。例如,P2P网络通常可以由于共享内容的大量对等计算机而提供高内容获取速度。然而,如果数字内容项目在P2P网络中是稀有的,则内容获取时间可以显著增加。CDN计算机可以提供稀有数字内容项目以便减小P2P网络中的数字内容项目的内容获取时间。此外,在一些情形中,CDN计算机可以提供以下保证:在P2P网络中镜像的所有数字内容项目是可用的而不管作为播种者的对等体参与。
此外,在一些情形中,CDN计算机114可以是尚不可用于在P2P网络上传递的数字内容项目的源。例如,当创建新数字内容项目时,该数字内容项目可以由CDN计算机最初引入到P2P网络。
在一些实施例中,CDN计算机114可以包括多个服务器计算机,其可以向P2P网络102的不同对等计算机提供数字内容项目。例如,不同CDN服务器计算机可以向P2P网络的不同区域(或地理区域)中的对等计算机提供数字内容项目,对等计算机属于不同ISP等。在一些实施例中,CDN计算机可以与CMS计算机集成。
CMS计算机110可以被配置为推荐P2P网络102的对等计算机基于从聚集的遥测数据导出的一个或多个度规而从所推荐的内容源(诸如对等计算机或CDN计算机)获取数字内容项目。在一些情形中,CMS计算机可以被配置为基于所递送的内容的类型来选择用于内容递送的源。例如,数字内容项目可能不可受P2P共享的影响,并且CMS计算机可以指令对等计算机从与对等计算机相对的CDN计算机直接获取该数字内容项目。在一个特定示例中,如果P2P网络中的给定数字内容项目受损害时,CMS计算机可以被配置为指令所有对等计算机仅CDN计算机是针对给定数字内容项目的可接受内容递送源。通过实现可增加内容可用性的可能性的CDN计算机,并且覆盖允许对等计算机从许多内容递送源获益的P2P网络,可以缓解CDN成本,可以使数字内容项目获取体验更接近受保证的体验,并且可以增加对等吞吐量。
在一些实施例中,P2P网络102的每一个对等计算机可以被配置为在获取数字内容项目时遵守优先权协议。例如,对等计算机可以首先经由计算机网络104向CMS计算机110发送内容获取请求。内容获取请求可以询问CMS计算机以得到一个或多个所推荐的内容源来提供数字内容项目。如果对等计算机在适当时段中不接收来自CMS计算机的针对内容获取请求的响应,则对等计算机可以被配置为经由计算机网络向CDN计算机自动发送后退请求以下载数字内容项目。在一些实施例中,对等计算机可以包括确定何时做出后退请求的逻辑。例如,如果针对内容获取请求的响应不被接收并且条件满足,则后退请求可以自动发送给CDN计算机。例如,条件可以包括在指定响应时间限度内未接收到针对内容获取请求的响应,在指定下载开始时间限度内未开始下载数字内容项目,在指定下载完成时间限度内未完成数字内容项目的下载,未下载阈值吞吐量以上的数字内容项目,或在下载测试时段期间未下载阈值吞吐量以上的数字内容项目。如果CDN不对请求做出响应,则对等计算机可以被配置为向可能未必是最佳匹配或可能任意选择的给定对等体发送请求。通过遵循上述通信协议,P2P网络的对等计算机可以被提供有可接受内容获取体验,即便CMS计算机不可用于提供针对内容递送源的智能推荐。
在一些实施例中,对等计算机101可以在尝试获取数字内容项目时遵循包括本地和远程源的源选择协议。例如,对等计算机可以被配置为标识存储具有多个片段的数字内容项目的部分的多个源。源可以包括本地存储机器(例如光盘、稳态存储、本地网络存储等)和P2P网络的其它对等计算机。对于本地存储机器,对等计算机可以扫描每一个本地存储机器以得到数字内容项目的部分。对于其它对等计算机,对等计算机可以询问CMS计算机以标识具有数字内容项目的部分的对等计算机。另外,对等计算机可以被配置为针对数字内容项目的每一个片段基于一个或多个下载度规来选择源,并且从所选择的源下载该片段。例如,下载度规可以包括最快下载速度、最低获取成本、最低资源使用水平、最低能量使用水平、最低用户体验破坏水平、资源的可用性、任何其它适当的约束和/或其它适当的度规。另外,在一些情形中,下载度规可以在可能下载数字内容项目的片段时选择P2P网络之上的一个或多个本地存储机器。对等计算机可以被配置为组织所下载的片段以用于作为数字内容项目安装在对等计算机上。
在一些实施例中,CMS计算机110可以命令P2P网络102的对等计算机充当获取具体数字内容项目以用于分发的分发集线器或虚拟CDN。例如,CMS计算机可以被配置为命令对等计算机获取数字内容项目,并且然后将其它对等计算机引导到该对等计算机以获取数字内容项目。另外,CMS计算机可以被配置为命令对等计算机删除数字内容项目。在一些实施例中,CMS计算机可以配置为控制被设置为贯穿整个P2P网络102的分发集线器(例如在不同区域中)的多个对等计算机以促进可在整个P2P网络内快速获取的数字内容项目的可用性。
在一些实施例中,被设置为分发集线器的对等计算机可以包括被划分成用户控制部分和服务控制部分的本地存储机器。可以自愿地(或主动地)获取的数字内容项目可以存储在本地存储机器的用户控制部分中。基于来自CMS计算机的命令而强制地(或被动地)获取的数字内容项目可以存储在本地存储机器的服务控制部分中。一般地,P2P网络的对等计算机可以根据用于共享数字内容项目的PULL策略来操作。特别地,对等计算机请求源提供数字内容项目以便使该对等计算机接收数字内容项目。根据拉取(PULL)策略,CMS计算机可以命令对等计算机向充当虚拟分发集线器的对等计算机发送提供数字内容项目的请求、以便使数字内容项目被分发给请求的对等计算机。同样地,CMS计算机可以命令充当虚拟分发集线器的对等计算机向另一对等计算机发送提供数字内容项目的请求以便使充当虚拟分发集线器的对等计算机接收数字内容项目。此外,在一些实施例中,对等计算机还可以根据用于共享数字内容项目的推送(PUSH)策略来操作。例如,CMS计算机可以命令对等计算机将数字内容项目上载到另一指定对等计算机以便分发数字内容项目。
在一些实施例中,P2P网络102可以是私人或受约束的P2P网络,其中对等计算机的参与可以通过认证、成员关系或由CMS计算机110执行的附属过程来控制。另外,私人P2P网络的对等计算机可以存储和传递与私人P2P网络相关联的策划的(curated)数字内容项目。策划的数字内容项目可以是由CMS计算机核验为适用于在整个私人P2P网络内分发的数字内容项目。例如,策划的数字内容项目可以由CMS计算机核验为具有兼容的格式,或被私人P2P网络的一组规则所遵守。在一个示例中,CMS计算机通过比较给定数字内容项目的唯一标识符与策划的数字内容项目的唯一标识符的经证实的记录来核验策划的数字内容项目。在一些实施例中,策划的数字内容项目可以以数字方式加密使得数字内容项目可以仅用私人P2P网络的适当解密密钥来利用或者可以仅由私人P2P网络的对等计算机来访问。
在一些实施例中,私人P2P网络102可以与特定类型的计算机相关联。例如,私人P2P网络可以与游戏控制台相关联,并且对私人P2P网络的访问可以仅通过游戏控制器可用。该类型的约束可以将内容获取速度限制为游戏控制台的连接速度。在该示例中,策划的数字内容可以包括游戏、游戏更新、可下载内容或与游戏控制台相关联的操作系统更新。这样的策划的内容可以由游戏控制台的制造商或第三方来发布以用于在整个私人P2P网络内的分发。
在一些情形中,策划的数字内容项目可以通过对等计算机进入私人P2P网络102,该对等计算机从CDN计算机114或另一外部或非附属计算机自愿地获取策划的数字内容项目。在一些情形中,策划的数字内容项目可以由CMS计算机发布以用于在整个私人P2P网络内的分发,诸如通过向强制地将策划的数字内容项目播种到其它对等计算机的对等计算机的有目的的、受控的首次展示(rollout)。在一些条件下,可能在时间和成本方面难以快速地将策划的数字内容项目播种到私人P2P网络中。例如,可能花费大量时间来由足够的对等计算机下载策划的数字内容项目,使得策划的数字内容项目的可用性足够高,从而请求策划的数字内容项目的对等计算机可以无须在队列中等候而获取到它。此外,由CMS计算机协调的有目的播种可以使用P2P网络的资源。
相应地,在一些实施例中,CMS计算机110可以被配置为向公共P2P网络116发布意图用于私人P2P网络102中的策划的数字内容项目。公共P2P网络可以包括多个对等计算机,其被配置为将数字内容项目直接传递到公共P2P网络的其它对等计算机。公共P2P网络可以在以下方面不同于私人P2P网络:对等计算机可以在没有认证、成员关系或附属过程的情况下参与到公共P2P网络中。典型地,公共P2P网络可以比私人P2P网络更大并且更多样(例如不同类型的计算机)。尽管将了解的是,私人P2P网络和公共P2P网络可以包括任何适当数目的对等计算机。此外,公共P2P网络的对等计算机除策划的数字内容项目之外可以传递不受CMS计算机策划的数字内容项目。不受策划的数字内容项目可以在没有验证的情况下在对等计算机之间传递。
策划数字内容项目可以在整个公共P2P网络116内自愿地分发给对等计算机。由于不存在对公共P2P网络中参与的约束,所以私人P2P网络102的对等计算机可以从公共P2P计算机的对等计算机获取策划的数字内容项目。响应于获取策划的数字内容项目,私人P2P网络的对等计算机可以向CMS计算机110发送指示对等计算机已经获取策划的数字内容项目的报告,并且CMS计算机可以对策划的数字内容项目进行验证。响应于CMS计算机使策划的数字内容项目成功验证,CMS计算机可以使策划的数字内容项目可用于在私人P2P网络内的传递。
在一些实施例中,CMS计算机110可以被配置为标识已经从公共P2P网络116获取策划的数字内容项目的非附属对等计算机。非附属对等计算机可以是不附属于私人P2P网络的对等计算机。CMS计算机可以还被配置为向不具有策划的数字内容项目的私人P2P网络102的对等计算机发送从非附属对等计算机下载策划的数字内容的命令以便进一步将策划的数字内容项目播种到私人P2P网络中。
通过将策划的数字内容项目发布到公共P2P网络,可以与认证、成员关系、附属、位置、设备等独立地使用任何可用的对等计算机,以播种策划的数字内容项目。这样,数字内容项目的可用性可以快速增加而不使用私人P2P网络的资源。此外,由于公共P2P网络没有约束,所以私人P2P网络的对等计算机可以从公共P2P网络的各种源下载策划的数字内容项目。
此外,在一些实施例中,CMS计算机110可以被配置为通过在策划的数字内容项目可用于私人P2P网络102之前将策划的数字内容项目发布给公共P2P网络116来预播种策划的数字内容项目。这样,当策划的数字内容项目向私人P2P网络首次展示时,策划的数字内容项目可以在补充对等计算机上可用于播种。
在所图示的实施例中,对等计算机101被示出为公共P2P网络116和私人P2P网络102二者的成员。然而将了解的是,公共P2P网络的所有对等计算机不需要直接与私人P2P网络的所有对等计算机连接。此外,尽管未示出,但是将了解的是,其它对等计算机可以是公共P2P网络116和私人P2P网络102二者的成员。
图2示出了根据本公开的实施例的数字内容项目200。数字内容项目200可以包括内容数据202和标识内容数据202的唯一内容标识符204。
在一些实施例中,唯一内容标识符204可以包括数字权利管理保护机制,诸如数字加密代码。另外,内容分发系统中的不同计算机可以具有适当的解密密钥以访问内容数据202。在一个示例中,私人P2P网络的对等计算机可以保持适当解密密钥以访问或使用数字内容项目,并且非附属对等计算机可以不保持适当解密密钥,并且因而不能访问数字内容项目。在另一示例中,CMS计算机可以保持适当解密密钥以访问数字内容项目,并且指定虚拟分发集线器的对等计算机可以不保持适当解密密钥,并且因而不能访问数字内容项目。要理解的是,可以实现任何适当的数字权利保护范例以保护对数字内容项目的访问而不脱离本公开的范围。
在一些情形中,数字内容项目200可以包括多个片段200A-200D。在所描绘的示例中,每一个片段可以包括内容数据的片段和唯一标识符。内容数据202可以包括内容数据片段202A-202D。每一个片段可以可选地与唯一内容标识符封装,唯一内容标识符可选地可以包括作为整体标识数字内容项目的标识符的补充的标识符,其进一步标识该特定片段(例如唯一内容标识符204A-204D)。作为另一示例,每一个片段可以具有分离的唯一标识符。
数字内容项目200的任何或全部片段可以可用于在P2P网络的对等计算机(或另一源)之间传递。换言之,当下载特定内容项目时,对等计算机可以从不同源接收数字内容项目的不同片段。数字内容项目200可以作为并行和/或串行的分离片段从相同或不同内容源下载。片段200A-200D共同构成内容数据202并且可以在下载期间和/或之后重组以形成数字内容项目200。尽管在所图示的示例中示出四个片段,但是要理解的是,数字内容项目的内容数据可以根据各种不同约束被解析为任何数目的部分。在一些示例中,每一个部分可以是相同大小的,而在其它示例中一些部分可以与其它部分设计不同的尺寸。在任一情形中,每一个片段可以与自报告该片段的大小的自标识元素一起封装。在一些实施例中,这样的自标识元素可以可选地并入到内容标识符中。
将了解的是,如本文所使用的术语“数字内容项目”可以指代数字内容项目的任何单个片段、构成部分而不是所有数字内容项目的数字内容项目的多个片段、或者整体的数字内容项目。例如,传递数字内容项目可以是指仅传递数字内容项目的片段或以其整体传递数字内容项目。
图3示出了根据本公开的实施例的CMS计算机300的软件架构图。例如,CMS计算机300可以用作图1中所示的内容分发系统100中的CMS计算机110。CMS计算机300可以包括来自P2P网络的多个对等计算机的聚集的遥测数据302、从聚集的遥测数据导出的多个度规304、以及可以根据多个度规中的一个或多个执行的多个管理操作314。
聚集的遥测数据302可以提供关于P2P网络的各个对等计算机的信息。例如,对等计算机可以向CMS计算机300报告遥测数据,其包括对等计算机的标识符、内联网网络标识符、相关联的ISP、相关联的位置或区域、网络类型、以及关于对等计算机的位置和连接的其它信息。更具体地,聚集的遥测数据可以包括关于P2P网络的对等计算机或其它非附属对等计算机的ISP的策略的信息,诸如用于下载和上载的带宽范围、比特上限、操作国家等。另外,对等计算机的遥测数据可以包括本地可访问的处理资源、本地可访问的外围机器、本地可访问的存储机器、本地托管的数字内容项目的列表、以及对等计算机的其它标识信息。
此外,遥测数据可以提供关于对等计算机的动作的信息。例如,对等计算机可以在传递数字内容项目或试图传递数字内容项目之后向CMS计算机报告遥测数据。涉及下载的遥测数据可以包括什么数字内容项目已经被下载或处于下载的过程中,以及从哪些源下载。涉及上载的遥测数据可以包括哪些数字内容项目已经被上载或处于上载的过程中,以及上载到哪一接受方。遥测数据还可以包括这样的事件的时间戳,包括开始和结束时间,当前吞吐量,当前带宽,当前等待时间,当前可用性,当前拥堵速率,传递误差,以及描述对等计算机的当前操作的其它信息。在一些实施例中,遥测数据可以包括追踪吸取和播种的参与统计。在一些实施例中,参与统计可以通过内容分类(例如内容类型、头衔、性别等)来追踪。
附加地,对等计算机可以向CMS计算机300报告关于另一对等计算机的信息。信息可以从与其它对等计算机的交互来生成。例如,对等计算机可以向CMS计算机报告其它对等计算机的可用性或其它对等计算机不具响应性。另外,对等计算机可以向CMS计算机报告其它对等计算机的上载吞吐量或传递速率。作为另一示例,对等计算机可以向CMS计算机报告对等计算机已经返回与所请求的数字内容项目的数字签名或唯一标识符不匹配的数字内容的片段。作为又一示例,对等计算机可以向CMS计算机报告其它对等计算机在数字内容项目的传递期间重复地断开连接。
CMS计算机可以随时间聚集P2P计算机的遥测数据以形成对等计算机的历史数据。例如,聚集的遥测数据可以包括历史使用模式、历史可用性、历史吞吐量、历史带宽、历史等待时间、历史拥堵速率、历史传递误差、以及描述对等计算机的先前动作的其它信息。在一些情形中,历史数据可以由CMS计算机使用以预测对等计算机的将来动作。
此外,聚集的遥测数据302可以提供关于P2P网络的部分或整体的信息。例如,聚集的遥测数据可以包括指示哪些对等计算机具有哪些数字内容项目、每一个数字内容项目的可用性(例如最稀有、最不稀有)、每一个数字内容项目的下载频率(例如最多下载)、P2P网络的部分或整体的当前吞吐量、P2P网络的部分或整体的当前带宽、P2P网络的部分或整体的当前等待时间、区域中的对等体的当前可用性、以及关于P2P网络的部分或整体的其它全局信息的列表。
CMS计算机可以随时间聚集P2P网络的遥测数据以形成P2P网络的历史数据。例如,聚集的遥测数据可以包括P2P网络的部分或整体的历史使用模式、P2P网络的部分或整体的历史可用性、P2P网络的部分或整体的历史吞吐量、P2P网络的部分或整体的历史带宽、P2P网络的部分或整体的历史等待时间、P2P网络的部分或整体的历史拥堵速率、P2P网络的部分或整体的历史传递误差、以及描述P2P网络的部分或整体的先前动作的其它信息。
CMS计算机300可以包括可从聚集的遥测数据302导出的多个度规304。多个度规304中的每一个可以量化对等计算机的操作状态或P2P网络的部分或整体的操作状态。CMS计算机可以使用一个或多个度规来评估是否执行管理操作314。在一些情形中,CMS计算机可以对照一个或多个其它度规来加权一个或多个度规以确定是否要执行管理操作,或者确定执行哪一管理操作。要理解的是,并不需要在度规中报告用来做出决策的所有遥测数据。在一些情形中,遥测数据可以从所报告的遥测数据导出或者与报告独立地获取。多个度规304可以包括选择度规306、健康度规308、参与度规310和稳定性度规312。
CMS计算机300可以被配置为应用一个或多个选择度规306以匹配用于传递数字内容项目的对等计算机。换言之,CMS计算机可以被配置为根据一个或多个选择度规来将P2P网络的对等计算机标识为所推荐的内容源。此外,CMS计算机300可以被配置为根据选择度规来将CDN计算机选择为所推荐的内容源。将了解的是,CMS计算机可以在响应于内容获取请求时将任何适当数目的源选择为所推荐的内容源。例如,CMS计算机可以发送响应,其包括根据请求对等计算机或P2P网络的匹配标准排序的多个所推荐的源。多个所推荐的源中的每一个可以具有数字内容项目的部分或全部。在一些情形中,推荐源的顺序可以取决于该源可以具有数字内容项目的哪一部分或多少。
在一些情形中,选择度规可以朝向对等计算机的兴趣或健康引导。例如,选择度规可以确定哪一可用对等计算机可以以最低成本的方式提供数字内容项目。可以在金钱、时间、资源、能量消耗、用户体验等方面计算成本。在一些实施例中,这样的不同类型的成本可以根据作为选择度规的一部分的用户偏好排等级。在一些实施例中,选择度规可以考虑多个成本因素,在将最适当的对等计算机标识为所推荐的内容源的选择函数中对多个成本因素进行加权。作为另一示例,选择度规可以基于下文进一步详细描述的稳定性度规来确定哪一可用对等计算机可以以最可靠的方式提供数字内容项目。
在一些情形中,选择度规可以朝向P2P网络的部分或整体的兴趣或健康引导。例如,选择度规可以将对等计算机选择为所推荐的内容源以管理P2P网络的部分中的吞吐量(例如以减小P2P网络中的热点)。附加的选择度规可以包括在下文进一步详细描述的健康度规。
在本文描述了选择度规的各个示例。在一些实施例中,对等体选择度规可以基于可用对等计算机的当前带宽而将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,当前可用于上载数字内容项目并且具有可用对等计算机的最高当前带宽的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,对等体选择度规基于可用对等计算机的当前等待时间而将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,当前可用于上载数字内容项目并且具有可用对等计算机的最低当前等待时间的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,对等体选择度规基于历史带宽来将具有数字内容项目的对等计算机标识为所推荐的内容源。例如,当前可用于上载数字内容项目并且具有可用对等计算机的最高历史带宽的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,对等体选择度规基于历史等待时间来将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,当前可用于上载数字内容项目并且具有可用对等计算机的最低历史等待时间的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,对等体选择度规基于历史使用模式来将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,如下对等计算机可以被标识为所推荐的内容源:该对等计算机当前可用于上载数字内容项目并且具有指示对等计算机可用于上载第一数字内容项目的历史使用模式。
在一些实施例中,对等体选择度规基于ISP将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,与请求对等计算机共享ISP的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,对等体选择度规基于内联网网络来将具有数字内容项目的对等计算机选择为所推荐的内容源。例如,连接到请求对等计算机所连接的内联网网络的对等计算机可以被标识为所推荐的内容源。
在一些实施例中,可以在选择公式中加权各种选择度规或匹配标准以标识提供数字内容项目的部分或全部的一个或多个所推荐的源。此外,可以根据选择公式加权任何适当数目的源并且将其推荐给请求对等计算机。要理解的是,可以应用任何适当的公式、算法、探试方法、模糊或其它逻辑以做出通知决策来选择提供数字内容项目的一个或多个所推荐的源。
CMS计算机300可以被配置为应用一个或多个健康度规308以确定是否执行缓解操作,其修改P2P网络的对等计算机之间的数字内容项目的传递以便增加对等计算机或P2P网络的部分或整体的效率、稳定性或一般健康。此外,健康度规可以作为选择过程的部分应用以用于对等匹配。
在本文描述了选择度规和对应的缓解操作的各个示例。在一些实施例中,健康度规可以包括从指定对等计算机请求数字内容项目的阈值数目的对等计算机,并且缓解操作可以包括将从指定对等计算机请求数字内容项目的一个或多个对等计算机再引导成从不同对等计算机请求数字内容项目以便将指定对等计算机的请求对等计算机的数目减小到阈值数目以下。
在一些实施例中,健康度规可以包括P2P网络的区域的阈值吞吐量,并且缓解操作可以包括将从区域中的一个或多个对等计算机请求数字内容项目的一个或多个对等计算机再引导成从区域之外的不同对等计算机请求数字内容项目以便将区域的吞吐量增加到阈值吞吐量以上。
在一些实施例中,健康度规可以包括P2P网络的对等计算机的上载数目和下载数目之间的阈值差异,并且缓解操作可以包括减小下载数目以便将对等计算机的上载数目和下载数目之间的差异增加到阈值差异以上。
在一些实施例中,健康度规可以包括数字内容项目的阈值可用性,并且缓解操作可以包括命令具有数字内容项目的一个或多个对等计算机将数字内容项目上载到P2P网络中的一个或多个其它对等计算机以便将数字内容项目的可用性增加到阈值可用性以上。在采用拉取传递策略的实施例中,CMS计算机可以命令对等计算机向具有数字内容项目的对等计算机发送将数字内容项目提供给请求对等计算机的请求以便增加数字内容项目的可用性。
在实施例中,CMS计算机可以使用健康度规来标识可能怀有恶意的或以其它方式妨碍P2P网络的操作的对等计算机,使得CMS计算机可以执行缓解操作以处置怀有恶意的对等计算机,诸如隔离怀有恶意的对等计算机以免传递数字内容项目。
在本文中描述了导致隔离的健康度规的各个示例。在一些实施例中,健康度规可以包括不可用于在P2P网络内传递数字内容项目的对等计算机,并且CMS计算机隔离所指定的对等计算机,因其不可用。
在一些实施例中,健康度规可以包括阈值数据上载速率,并且CMS计算机隔离所指定的对等计算机,因其具有比阈值数据上载速率低的数据上载速率。
在一些实施例中,健康度规可以包括所请求的数字内容项目的数字签名与所接收的数字内容项目的数字签名匹配,并且CMS计算机隔离所指定的对等计算机,因其上载的数字内容项目的数字签名与所请求的数字内容项目的数字签名不匹配。
在一些实施例中,健康度规可以包括在上载数字内容项目时对等计算机断开连接的阈值次数,并且CMS计算机隔离所指定的对等计算机,因其在上载数字内容项目时断开连接的次数比阈值次数大。
CMS计算机300可以被配置为应用一个或多个参与度规310以确定P2P网络中的对等计算机的参与水平。参与度规可以被用来向对等计算机提供奖励以便激励P2P网络中的参与。奖励可以被用来诱使用户继续共享数字内容项目,即便在他们已经获取数字内容项目之后,并且可能地甚至在消费之后。例如,参与度规可以追踪由对等计算机上载到P2P网络中的其它对等计算机的数字内容项目的数个片段、由对等计算机上载到P2P网络中的其它对等计算机的数个字节、由对等计算机向P2P网络中的其它对等计算机上载所花费的总时间、由对等计算机向P2P网络中的其它对等计算机上载所花费的最长会话、所花费的可用于上载到对等网络中的其它对等计算机的最长时间量、所花费的可用于上载到对等网络中的其它对等计算机的总时间量、数字内容项目的片段由对等计算机上载到P2P网络中的其它对等计算机的次数、整个数字内容项目由对等计算机上载到P2P网络中的其它对等计算机的次数、和/或其它适当的度规。
CMS计算机300可以被配置为应用一个或多个稳定性度规312以确定对等计算机是否足够稳定以适当地传递数字内容项目。在一些情形中,CMS计算机可以应用稳定性度规作为对等计算机选择过程的一部分。在一些情形中,CMS计算机可以在数字内容项目的传递期间应用稳定性度规以动态地确定当前内容源是否为最适当的内容源。例如,稳定性度规可以包括阈值下载速度、阈值资源水平、阈值数目的连接性中断、阈值成本、阈值用户体验破坏水平、阈值带宽和/或其它适当的度规。附加的稳定性度规可以包括不具有所请求的数字内容项目的对等计算机、不再可用的对等计算机(例如设备故障)、不再参与到P2P网络中的对等计算机、以及拒绝接受与请求对等计算机的连接的对等计算机。
CMS计算机300可以被配置为根据上述度规执行一个或多个管理操作316。与选择度规306相关联的管理操作的非限制性示例可以包括推荐作为内容源的对等体以及推荐除对等计算机之外的源作为内容源(例如CDN计算机)。与健康度规308相关联的管理操作的非限制性示例可以包括上述缓解操作。与参与度规310相关联的管理操作的非限制性示例可以包括提供奖励以及提供P2P网络的对等计算机的参与等级。与稳定性度规312相关联的管理操作的非限制性示例可以包括推荐最稳定的内容源以及基于稳定性的经更新的评估来动态地推荐更稳定的不同内容源。
将了解的是,CMS计算机可以被配置为连续应用上述一个或多个度规以再评估对等计算机或P2P网络的部分或整体的当前状态。在一些情形中,再评估过程可以基于来自从对等计算机聚集的经更新的遥测数据的反馈。另外,CMS计算机可以被配置为基于经更新的反馈来动态地执行管理操作以连续增强P2P网络的操作。
将了解的是,上述配置可以实现涉及P2P网络中的对等计算机的操作以及包括P2P网络的内容分发系统的管理的各种方法。相应地,现在通过示例的方式描述一些这样的方法,其中连续参考上述配置。然而将了解的是,这些方法以及全部处于本公开的范围内的其它方法也可以经由其它配置而实现。
图4和5示出了根据本公开的实施例的用于获取数字内容项的方法400。例如,方法400可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。在402处,方法400可以包括经由计算机网络向CMS计算机发送内容获取请求。内容获取请求可以询问CMS计算机以得到提供数字内容项目的所推荐的内容源。
在404处,方法400可以包括确定是否经由计算机网络从CMS计算机接收到针对内容获取请求的响应。如果接收到响应,则方法400移动到406。否则,方法400移动到416。
在406处,方法400可以包括确定针对内容获取请求的响应是否包括P2P网络的所推荐的对等计算机。如果响应包括所推荐的对等体,则方法400移动到408。否则,方法400移动到416。
在408处,方法400可以包括经由计算机网络向所推荐的对等计算机发送下载数字内容项目的请求。
在410处,方法400可以包括确定数字内容项目是否从所推荐的对等计算机下载。如果数字内容项目从所推荐的对等计算机下载,则方法400移动到412。否则,方法400移动到414。
在412处,方法400包括经由计算机网络向CMS计算机发送报告,该报告指示所推荐的对等计算机的确针对下载数字内容项目的请求做出响应,并且数字内容项目得以成功下载。该报告可以包括与请求对等计算机相关联的遥测数据以及与所推荐的对等计算机相关联的遥测数据。
在414处,方法400可以包括经由计算机网络向CMS计算机发送如下报告:该报告指示所推荐的对等计算机未针对下载数字内容项目的请求做出响应。该报告可以包括与请求对等计算机和所推荐的对等计算机相关联的遥测数据(例如所推荐的对等体未针对请求做出响应的指示)。
在416处,方法400可以包括经由计算机网络向CDN计算机发送下载数字内容项目的请求。如果从CMS计算机接收到针对内容获取请求的响应(例如如图4的406处的“否”分支所示),并且将CDN计算机标识为所推荐的内容源,则CMS计算机已经基于如上文所描述的一个或多个度规而将CDN计算机标识为提供数字内容项目的最适当的源。如果未从CMS计算机接收到针对内容获取请求的响应(例如如图4的404处的“否”分支所示),则请求可以是自动发送的第一后退请求。换言之,如果CMS计算机不可用于提供所推荐的内容源,则CDN计算机可以充当备份或默认源。在一些实施例中,如果满足条件,则可以自动发送后退请求。
在418处,方法400可以包括确定是否从CDN计算机下载数字内容项目。如果从CDN计算机下载数字内容项目,则方法400移动到420。否则,方法400移动到422。
在420处,方法400可以包括经由计算机网络向CMS计算机发送如下报告:该报告指示CND计算机的确针对下载数字内容项目的请求做出响应,并且成功下载数字内容项目。报告可以包括与请求对等计算机相关联的遥测数据以及与CDN计算机相关联的遥测数据。
在422处,方法400可以包括经由计算机网络向CMS计算机发送指示CDN计算机未针对下载数字内容项目的请求做出响应的报告。报告可以包括与请求对等计算机和CDN计算机相关联的遥测数据(例如CDN计算机未针对请求做出响应的指示)。
在424处,方法400可以包括经由计算机网络向P2P网络的对等计算机自动发送下载数字内容项目的第二后退请求。后退请求可以发送给非优化对等计算机或尚未由CMS计算机推荐的对等计算机。后退请求可以是获取数字内容项目的默认措施。在一些实施例中,如果满足条件,则可以自动发送后退请求。
通过最初询问CMS计算机以得到提供数字内容项目的源,对等计算机可以接收针对可与提供数字内容项目的对等计算机匹配或可与其最佳配合的对等计算机的推荐。此外,通过作为第一后退从CDN计算机自动请求数字内容项目,对等计算机可能能够获取数字内容项目,即便是CMS计算机不可用时。
图6和7示出了根据本公开的实施例的用于在P2P网络中自愿地执行操作和强制地执行操作的方法600。例如,方法600可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。
在以下所描述的方法中,受CMS计算机管理的P2P网络的对等计算机可以包括含有用户控制部分和服务控制部分的本地存储机器。对等计算机可以自愿地将数字内容项目下载到用户控制部分并且自愿地从用户控制部分或服务控制部分上载数字内容项目。另外,基于从CMS计算机接收到的命令,对等计算机可以强制地将数字内容项目下载到服务控制部分,从服务控制部分上载数字内容项目,以及从服务控制部分删除数字内容项目。在采用拉取传递策略的实施例中,从服务控制部分上载的命令可以采取以下形式:CMS计算机命令另一对等计算机向充当虚拟分发集线器的对等计算机发送从服务控制部分向请求对等计算机提供数字内容项目的请求。换言之,对等计算机可以充当受CMS计算机控制的虚拟分发集线器和P2P网络的独立对等体二者。在一些实施例中,可以仅在对等体选定作为受CMS计算机控制的虚拟分发集线器参与的时候形成和利用服务控制部分。在一些实施例中,对等体可以补偿(例如,对数字内容的授权访问、优选的下载、金钱项目、可兑换项目等)本地存储机器的服务控制部分、专用带宽和/或另一适当资源的使用。在一些实施例中,可以授权对等体参与到P2P网络中以交换这样的资源的使用。
在602处,方法600可以包括经由计算机网络向P2P网络的第一对等计算机发送下载第一数字内容项目的自愿请求。
在604处,方法600可以包括经由计算机网络从第一对等计算机自愿下载第一数字内容项目。
在606处,方法600可以包括将第一数字内容项目存储在本地存储机器的用户控制部分中。
在608处,方法600可以包括经由计算机网络从CMS计算机接收从源下载第二数字内容项目的命令。在一些情形中,源可以是另一对等计算机。在一些情形中,源可以是CDN计算机。
在610处,方法600可以包括经由计算机网络向源发送下载第二数字内容项目的强制请求。
在612处,方法600可以包括经由计算机网络从源强制下载第二数字内容项目。
在614处,方法600可以包括将第二数字内容项目存储在本地存储机器的服务控制部分中。
在616处,方法600可以包括经由计算机网络从第二对等计算机接收提供第一数字内容项目的强制请求。请求可以是强制的,因而请求可以由第二对等计算机响应于从CMS计算机接收到命令而发送。
在618处,方法600可以包括经由计算机网络从本地存储机器的用户控制部分向第二对等计算机强制上载第一数字内容项目。
在620处,方法600可以包括经由计算机网络从第二对等计算机接收提供第二数字内容项目的强制请求。请求可以是强制的,因为请求可以由第二对等计算机响应于从CMS计算机接收到命令而发送。
在622处,方法600可以包括经由计算机网络从本地存储机器的服务控制部分向第二对等计算机强制上载第二数字内容项目。将了解的是,CMS计算机可以命令传递可存储在用户控制部分或服务控制部分中的数字内容项目。
在624处,方法600可以包括经由计算机网络从第三对等计算机接收提供第二数字内容项目的自愿请求。请求可以是自愿的,因为请求可以由第三对等计算机在没有CMS计算机的命令的情况下发送。
在626处,方法600可以包括经由计算机网络从本地存储机器的服务控制部分向第三对等计算机自愿上载第二数字内容项目。
在628处,方法600可以包括经由计算机网络从CMS计算机接收删除第二数字内容项目的命令。
在630处,方法600可以包括从本地存储机器的服务控制部分强制删除第二数字内容项目。
图8示出了根据本公开的实施例的用于选择作为内容源的对等计算机的方法800。例如,方法800可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。在802处,方法800可以包括经由计算机网络向CMS计算机发送内容获取请求。内容获取请求可以询问CMS计算机以得到具有数字内容项目的P2P网络的当前可用对等计算机。
在804处,方法800可以包括经由计算机网络从CMS计算机接收标识多个对等计算机的内容获取请求的响应。例如,多个对等计算机可以基于本文所述的选择度规来选择、优先权化或排序。
在806处,方法800可以包括经由计算机网络向具有多个对等计算机的公共ISP的对等计算机发送下载数字内容项目的请求。
在808处,方法800可以包括确定是否不止一个对等计算机具有多个对等计算机的公共ISP。如果多个对等计算机中的不止一个对等计算机具有公共ISP,则方法800移动到810。否则,方法800移动到812。
在810处,方法800可以包括经由计算机网络向具有多个对等计算机的公共ISP的、具有最高带宽或最低等待时间的对等计算机发送下载数字内容项目的请求。在一些情形中,最高带宽或最低等待时间可以是最高当前带宽或最低当前等待时间。在一些情形中,最高带宽或最低等待时间可以是最高历史带宽或最低历史等待时间。在一些情况中,连接到内联网网络并且具有多个对等计算机的公共ISP的、具有最高当前带宽、最低当前等待时间、最高历史带宽或最低历史等待时间中的一个或多个的对等计算机经由计算机网络被发送下载第一数字内容项目的请求。将了解的是,该标准可以以任何适当的方式混合、匹配或考虑以就选择发送请求的对等体做出通知决策。
在812处,方法800可以包括从对等计算机下载数字内容项目。
在814处,方法800可以包括在从对等计算机下载数字内容项目时经由计算机网络向CMS计算机发送经更新的遥测数据。在一些情形中,对等计算机可以在除数字内容项目的传递期间之外的时候向CMS计算机发送遥测数据。要理解的是,发送遥测数据的时序不需要依赖于传递数字内容项目的时序。
在816处,方法800可以包括经由计算机网络从CMS计算机接收告知,该告知标识具有数字内容项目的作为所推荐的内容源的P2P网络的不同对等计算机。在一些情形中,CMS计算机可以基于在数字内容项目的传递期间从对等计算机所接收的经更新的遥测数据来选择不同对等体。在一些情形中,CMS计算机可以基于涉及其它条件(诸如P2P网络内的活动性)的遥测数据来选择不同对等体。
在818处,方法800可以包括经由计算机网络从不同对等计算机下载数字内容项目。
通过选择共享ISP的对等计算机而不是不共享ISP的其它对等计算机作为内容源,可以增加将具有高吞吐量的对等计算机选择为内容源的可能性。另外,如果两个对等计算机具有相同ISP;则在一些情形中,数字内容项目的传递可以不针对对等计算机传递性能或吞吐量计数。相应地,传递数字内容项目的成本可以减小。此外,当条件改变时,可以在数字内容项目的传递期间动态地更新对等体选择。
图9示出了根据本公开的另一实施例的用于选择作为内容源的对等计算机的方法900。例如,方法900可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。在902处,方法900可以包括向被标识为连接到内联网网络的多个对等计算机发送提供数字内容项目的请求。例如,这样的请求可以在向CMS提交内容获取请求之前发送。
在904处,方法900可以包括确定是否从连接到内联网网络的对等计算机接收到针对请求的任何响应。如果从连接到内联网网络的对等计算机接收到响应,则方法900移动到906。否则方法移动到910。
在906处,方法可以包括确定任何响应是否指示对等计算机具有数字内容项目。如果任何响应指示对等计算机具有数字内容项目,则方法移动到908。否则,方法900移动到910。
在908处,方法900可以包括向作为具有数字内容项目而响应的对等计算机发送下载数字内容项目的请求。这样,数字内容项目可以纯粹在内联网网络内获得。
在910处,方法900可以包括:如果从连接到内联网网络的对等计算机所接收的响应都不指示对等计算机具有数字内容项目,则经由计算机网络向CMS计算机发送内容获取请求。内容获取请求可以询问CMS计算机以得到提供数字内容项目的所推荐的内容源。
在912处,方法900可以包括确定是否从CMS计算机接收到针对内容获取请求的响应。如果接收到响应,则方法900移动到914。否则,方法900移动到916。
在914处,方法900可以包括,如果经由计算机网络接收到针对内容获取请求的响应并且将P2P网络的所推荐的对等计算机标识为所推荐的内容源,则经由计算机网络向所推荐的对等计算机发送下载数字内容项目的请求。在一些实施例中,CMS计算机可以基于与对等计算机具有公共ISP而将源选择为所推荐的内容源。
在916处,方法可以包括:如果未接收到针对内容获取请求的响应,则经由计算机网络向CDN计算机自动发送下载数字内容项目的后退请求。在一些实施例中,如果满足条件,则可以自动发送后退请求。例如,条件可以包括在指定响应时间限度内未接收到针对内容获取请求的响应、在指定下载开始时间限度内未开始下载数字内容项目、在指定下载完成时间限度内未完成数字内容项目的下载、未下载阈值吞吐量以上的数字内容项目、或在下载测试时段期间未下载阈值吞吐量以上的数字内容项目。将了解的是,可以实现任何适当的算法或逻辑以就是否或者何时使用网络或联合资源(例如CDN计算机)来提供数字内容项目做出通知决策,而不脱离本公开的范围。
通过选择连接到内联网网络的对等计算机而不是未连接到内联网网络的对等计算机作为内容源,数字内容项目可以在不访问外部计算机网络(诸如因特网)的情况下传递。相应地,传递数字内容项目的成本可以减小,并且数字内容项目可以使用较少的P2P网络资源来传递。
图10示出了根据本公开的实施例的用于选择提供数字内容项目的一个或多个内容源的方法1000。例如,方法1000可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。在1002处,方法1000包括标识存储包括多个片段的数字内容项目的部分的多个源。在一些情形中,数字内容项目的部分可以包括数字内容项目的片段。在一些情形中,数字内容项目的部分可以包括数字内容项目的一些片段。在一些情形中,数字内容项目的部分可以包括数字内容项目的整体。多个源可以包括计算机(例如对等计算机101)和P2P网络(例如P2P网络102)的一个或多个对等计算机的一个或多个本地存储机器。
在1004处,方法1000可以包括针对数字内容项目的多个片段中的每一个片段根据一个或多个下载度规来从多个源选择源。例如,下载度规可以包括最快下载速度、最低获取成本、最低资源使用水平、最低能量使用水平、最低用户体验破坏水平、资源的可用性、和/或任何其它适当的度规。另外,在一些情形中,下载度规可以在可能下载数字内容项目的片段时选择P2P网络上的一个或多个本地存储机器。
在一个示例中,以基本形式,获取源的选择可以基于单个下载度规。例如,下载度规可以是尽可能快地获得部分,在该情形中,在选择源时将不考虑诸如获取成本之类的其它因素。
在另一示例中,以更精细的形式,获取源的选择可以均衡多个竞争性(或可能地冲突的)下载度规。例如,多个下载度规可以包括与获取成本相关联的30%权重以及与获取速度相关联的70%权重。可以使用任何适当的探试方法而不脱离该公开的范围。
在一些实施例中,下载度规还可以指定数字内容项目的哪些片段要由哪些源下载。例如,多个下载度规可以指定30%的数字内容项目要从较昂贵的快速且可靠的源(例如CDN计算机)下载,并且70%的数字内容项目要从较慢的、较不可靠且较不昂贵的计算机(诸如公共P2P网络上的对等计算机)下载。
在一些实施例中,下载度规可以在下载过程期间动态地改变,使得优先级改变。例如,在下载度规优先获取速度而不是获取成本的数字内容项目的下载期间,条件可以改变(例如用完金钱)并且下载度规可以动态地调整使得可以优先获取成本而不是获取速度。在一些情形中,可以基于下载度规中的改变动态地选择不同源。
在1006处,方法1000可以包括针对数字内容项目的多个片段中的每一个片段从所选源下载该片段。在一些情形中,下载可以包括将数据从一个本地存储机器传递到另一本地存储机器(例如将内容从可移动媒体加载到硬盘驱动器或固态存储器)。在一些情形中,下载可以包括经由计算机网络从远程计算机传递数据。在一些情形中,数字内容项目的不同片段可以从不同源并行下载。另外,在一些情形中,数字内容项目的至少一些片段可以从一个或多个本地存储机器下载并且数字内容项目的至少一些片段可以经由计算机网络从P2P网络的一个或多个对等计算机下载。换言之,数字内容项目的部分可以本地地和远程地下载。
在1008处,方法1000可以包括组织多个片段以用于作为数字内容项目安装在计算机上。例如,组织可以包括通过对照所请求的片段的唯一标识符比较所下载的片段的唯一标识符来验证片段。在一些情形中,不同片段可以从具有不同协议的不同源下载。相应地,组织可以包括将数字内容项目的所有片段转换为均一格式。另外,组织可以包括以指定顺序布置所下载的片段以形成数字内容项目。
在1010处,方法1000可以包括确定从一个或多个本地存储机器所下载的数字内容项目的片段是否具有P2P网络的阈值可用性以下的可用性。在一些情形中,阈值可用性可以包括数字内容项目的片段在P2P网络的任何对等计算机上不可用。在一些情形中,阈值可用性可以包括数字内容项目的片段在以其它方式可用于提供数字内容项目的P2P网络的任何可用对等计算机上不可用。如果片段具有阈值可用性以下的可用性,则方法1000移动到1012。否则,方法1000移动到1016。
在1012处,方法1000可以包括经由计算机网络向CMS计算机发送告知,其指示从一个或多个本地存储机器所下载的数字内容项目的片段的占有。所述告知可以由于片段的可用性处于P2P网络的阈值可用性以下而被发送。
在1014处,方法1000可以包括响应于经由计算机网络从对等网络的对等计算机接收到提供数字内容项目的片段的请求,而经由计算机网络向P2P网络的对等计算机上载数字内容项目的片段。在一些情形中,请求可以由对等计算机自愿发送。在一些情形中,请求可以由对等计算机响应于从CMS计算机接收到检索数字内容项目的片段的命令而强制发送。在任一情形中,数字内容项目的片段可以分发给P2P网络以增加P2P网络中的片段的可用性。
在1016处,方法1000可以包括在下载数字内容项目的指定片段时确定源是否稳定。例如,可以根据一个或多个稳定性度规确定源是稳定或不稳定的。如果确定源是不稳定的,则方法1000移动到1018。否则,方法1000移动到1020。
在1018处,方法可以包括从不同源下载指定片段。可以根据一个或多个下载度规从多个源选择不同源。
在一些实施例中,可以在数字内容项目的整体被下载之前安装或执行数字内容项目的部分。例如,可以基于用户通过游戏的进展(诸如位置、地图、水平、方向等)来下载游戏的不同部分。相应地,在1020处,方法可以包括确定数字内容项目的哪些片段要基于与数字内容项目的用户交互来下载。例如,表示游戏场景中的接近用户当前位置的位置的片段可以在游戏场景中更远离用户当前位置的位置之前被下载。
在1022处,方法1000可以包括基于与数字内容项目的用户交互来选择用于数字内容项目的片段的源。例如,更可能在很近的将来安装或消费的数字内容项目的片段可以从较快、较昂贵的源下载,并且较不可能在很近的将来安装或消费的片段可以从较慢的、较不昂贵的源下载。
上述方法可以由对等计算机执行以便以潜在地增加P2P网络的健康的高效方式从一个或多个源下载数字内容项目。具体地,通过引入P2P网络的源和本地源之间的交互,所有源可以协同工作以便以有利顺序获得数字内容项目的片段而同时消除复制片段获取,以及通过将一些片段的传递离线加载到本地源而增加P2P网络的健康。
图11示出了根据本公开的实施例的用于下载内容的方法1100。例如,方法1100可以由P2P网络的对等计算机执行,诸如图1中所示的P2P网络102的对等计算机101。
在1102处,方法1100可以包括从计算机的一个或多个本地存储机器下载数字内容项目的一个或多个片段。
在1104处,方法1100可以包括确定计算机操作中引起阈值破坏水平以上的用户体验的破坏的改变是否发生。例如,阈值破坏水平可以包括计算机的资源使用水平大于阈值水平。在一个特定示例中,操作中的改变可以包括用户执行程序、玩游戏、观看视频等,其消耗资源。这样的操作中的改变可以引起资源使用水平大于阈值水平,诸如游戏或视频可能变卡、跳过、缓冲或暂停的水平。注意,这仅仅是一个示例并且可以考虑用户体验的其它破坏而不脱离本公开的范围。如果发生引起阈值破坏水平以上的用户体验的破坏的改变,则方法1100移动到1106。否则,方法1100返回到其它操作。
在1106处,方法1100可以包括响应于引起阈值破坏水平以上的用户体验的破坏的计算机操作中的改变,停止从计算机的一个或多个本地存储机器下载数字内容项目的一个或多个片段。
在1108处,方法1100包括响应于停止从一个或多个存储机器下载,经由计算机网络从源自动地开始下载数字内容项目的一个或多个片段。源可以根据一个或多个下载度规从多个源选择。例如,一个或多个下载度规可以包括最快下载速度、最低获取成本、最低资源使用水平、最低能量使用水平、最低用户体验破坏水平和/或其它适当的度规。在一个示例中,多个源可以包括P2P网络的一个或多个对等计算机和CDN计算机。
通过响应于遭遇到用户破坏而动态地停止从本地源下载数字内容项目并且经由计算机网络从远程源自动下载数字内容项目,用户体验可以优于数字内容项目的获取,并且仍可以获取数字内容项目。
图12和13示出了根据本公开的实施例的用于管理P2P网络的方法1200。例如,方法1200可以由P2P网络的CMS计算机执行,诸如图1中示出的P2P网络102的CMS计算机110。在1202处,方法800可以包括经由计算机网络从P2P网络中的多个对等计算机聚集遥测数据。
在1204处,方法1200可以包括经由计算机网络从P2P网络的第一对等计算机接收询问提供第一数字内容项目的所推荐的内容源的内容获取请求。
在1206处,方法1200可以包括基于从聚集的遥测数据导出的选择度规选择向第一对等计算机提供第一数字内容项目的源。例如,所述确定可以考虑从多个对等计算机所聚集的遥测数据是否指示第一数字内容项目可用于从P2P网络的任何对等计算机上载。在一些实施例中,所述确定还可以基于一个或多个选择度规考虑具有数字内容项目的对等计算机是否最佳适配于第一对等计算机。在一些情形中,所述确定还可以在选择所推荐的内容源时考虑所请求的内容的类型。
在1208处,方法1200可以包括基于一个或多个选择度规确定所推荐的内容源是否为对等计算机或CDN网络。如果所推荐的内容源为对等计算机,则方法1200移动到1210。否则,方法1200移动到1212。
在1210处,方法1200可以包括经由计算机网络向第一对等计算机发送针对将具有第一数字内容项目的第二对等计算机标识为所推荐的内容源的内容获取请求的响应。
在1212处,方法1200可以包括经由计算机网络向第一对等计算机发送针对将CDN计算机标识为所推荐的内容源的内容获取请求的响应。
在1214处,方法1200可以包括执行缓解操作,其根据从聚集自多个对等计算机的遥测数据导出的P2P网络的一个或多个健康度规来修改P2P网络的对等计算机之间的数字内容项目的传递。
在1216处,方法1200可以包括在第一对等计算机从第二对等计算机下载第一数字内容项目时,从第一对等计算机、第二对等计算机或两个对等计算机接收经更新的遥测数据。
在1218处,方法1200可以包括经由计算机网络向第一对等计算机发送告知,所述告知将具有第一数字内容项目的P2P网络的不同对等计算机标识为所推荐的内容源。可以根据从包括经更新的遥测数据的遥测数据导出的对等体选择度规来选择不同对等计算机。
在1220处,方法1200可以包括根据从聚集自多个对等计算机的遥测数据导出的P2P网络的一个或多个健康度规来隔离所指定的对等计算机以免在P2P网络内对数字内容项目进行传递。
在1222处,方法1200可以包括响应于所指定的对等计算机被隔离而将从被隔离的指定对等计算机请求数字内容项目的对等计算机再引导到具有数字内容项目的交替对等计算机。
在1224处,方法1200可以包括响应于所指定的对等计算机执行校正动作而在被隔离之后准许被隔离的指定对等计算机在P2P网络内传递数字内容项目。换言之,提升所指定的对等计算机的隔离。校正动作的非限制性示例可以包括增加带宽、增加可用性、增加稳定性、移除受损害的数字内容项目等。
注意在一些实施例中,缓解操作可以包括动态地推荐提供数字内容项目的不同源,隔离对等计算机以及提升对等计算机的隔离,以及本文所讨论的其它适当操作。
在1226处,方法1200可以包括确定第二数字内容项目的可用性是否处于P2P网络的阈值可用性以下。如果第二数字内容项目处于阈值可用性以下,则方法1200移动到1228。否则,方法1200移动到1238。
在1228处,方法1200可以包括标识具有第二数字内容项目的P2P网络的对等计算机。在一些情形中,第二数字内容项目可能已经由对等计算机自愿下载并且保存在该对等计算机的本地存储机器的用户控制部分中。在一些情形中,第二数字内容项目可能已经由对等计算机基于来自CMS计算机的命令而强制下载并且保存在该对等计算机的本地存储机器的服务控制部分。
在1230处,方法可以包括经由计算机网络向第一对等计算机发送从源(例如被标识为具有第一数字内容项目的对等计算机)下载第二数字内容项目的命令。可以根据一个或多个选择度规来选择源。第二数字内容项目可以保存在第一对等计算机的本地存储机器的用户控制部分中。在一些实施例中,该方法可以包括经由计算机网络向被标识为具有第二数字内容项目的P2P网络的对等计算机发送将第二数字内容项目上载到第一对等计算机的命令。换言之,CMS计算机可以被配置为根据内容分发系统的配置而命令数字内容项目的上载或下载。
在一些实施例中,方法可以包括向不具有第二数字内容项目的P2P网络的对等计算机发送下载第二数字内容项目的命令,直到第二数字内容项目的可用性处于阈值可用性以上为止。
在1232处,方法1200可以包括经由计算机网络从第一对等计算机接收报告,该报告指示第一对等计算机已经从源下载第二数字内容项目。第二数字内容项目可以由第一对等计算机强制下载并且保存在第一对等计算机的本地存储机器的服务控制部分中。
在1234处,方法1200可以包括经由计算机网络向P2P网络的第三对等计算机发送从第一对等计算机下载第二数字内容项目的命令。该命令可以作为管理操作的一部分发送以增加P2P网络中的第二数字内容项目的可用性。
在1236处,方法1200可以包括经由计算机网络向第一对等计算机发送从第一对等计算机的本地存储机器的服务控制部分删除来自第一对等计算机的第二数字内容项目的命令。
在1238处,方法1200可以包括根据从聚集自多个对等计算机的遥测数据导出的P2P网络的一个或多个参与度规来向P2P网络的一个或多个对等计算机提供奖励。
在一个示例中,奖励可以包括向对等体指派参与等级。
相应地,在1240处,方法1200可以包括提供P2P网络的对等计算机的参与等级。例如,提供可以包括显示按照每一个对等计算机的参与等级来排序的P2P网络的对等计算机的列表。在图15中示出列表的示例并且在下文更详细地描述。列表可以提供刺激使对等计算机参与在整个P2P网络内传递内容以增加其等级。同时,P2P网络的健康可以通过数字内容项目的可用性的增加而改进。在其它示例中,对等计算机的参与等级可以在表格、分层机构显示器中诸如按照区域等提供。将了解的是,对等计算机的参与等级可以以任何适当的方式来提供而不脱离本公开的范围。
通过从P2P网络的对等计算机聚集遥测数据并且基于从聚集的遥测数据导出的度规来执行操作,对等计算机以及P2P网络的部分或整体的操作效率和总体健康可以增加。
图14示出了根据本公开的实施例的用于分发内容的方法1400。例如,方法1400可以由P2P网络的CMS计算机执行,诸如图1中所示的P2P网络102的CMS计算机110。在1402处,方法1400可以包括经由计算机网络发布策划的数字内容项目以用于分发给公共P2P网络。在一些情形中,策划的数字内容项目可以由私人P2P网络的CMS计算机发布。
在1404处,方法1400可以包括经由计算机网络从私人P2P网络的对等计算机接收该对等计算机已经从公共P2P网络获取策划的数字内容项目的指示。
在1406处,方法1400可以包括验证私人P2P网络的对等计算机已经获取的策划的数字内容项目。
在1408处,方法1400可以包括标识已经从公共P2P网络获取策划的数字内容项目的非附属对等计算机。非附属对等计算机可以不附属于私人P2P网络。在一些情形中,非附属对等计算机可以是公共P2P网络的成员,因为公共P2P网络可以不要求任何附属。
在1410处,方法1400可以包括经由计算机网络向不具有策划的数字内容项目的私人P2P网络的对等计算机发送从非附属对等计算机下载策划的数字内容项目的命令。
在1412处,方法1400可以包括在策划的数字内容项目已经发布给公共P2P网络预定时段之后,经由计算机网络发布策划的数字内容项目以用于分发给私人P2P网络。
通过将策划的数字内容发布给公共P2P网络,可以运用公共P2P网络的资源来分发并且以其它方式增加策划的数字内容项目的可用性。另外,当策划的数字内容项目引入到私人P2P网络时,可以验证策划的数字内容项目以确保其适用于在私人P2P网络中的分发。相应地,策划的内容的可用性可以快速增加,同时减小私人P2P网络上的负载。
要理解的是,以上所描述的方法的各种动作、操作或功能可以以所示出的顺序执行,并行地执行或在一些情形中被忽略。此外,以上所述方法可以以任何适当的方式组合。同样地,不必要求处理的顺序以实现本文所描述的示例实施例的特征和优点,而是出于易于图示和说明的目的而提供。所图示的动作、功能或操作中的一个或多个可以取决于所使用的特定策略而重复执行。
图15示出了根据本公开的实施例的可显示给用户的奖励接口1500。在一些实施例中,奖励接口可以由图1中所示的CMS计算机110生成。在一些实施例中,奖励接口可以由图1中所示的对等计算机101生成。在一些实施例中,奖励接口可以由能访问对等奖励信息的第三方来再现。奖励接口1500可以是图形用户接口,其显示涉及参与P2P网络的信息以及基于参与P2P网络产生的奖励。
奖励接口1500可以包括可在对等计算机在P2P网络中交互时随时间收集的对等计算机参与统计1502。参与统计可以包括播种统计和吸取统计。参与统计的其它非限制性示例可以包括所播种的内容的片段、所吸取的内容的片段、所播种的字节的数目、所吸取的字节的数目、所播种的总分钟数、所吸取的总分钟数、与对等体的最长未中断播种会话、所播种的文件的最多片段、单独播种的文件的数目、已经播种的游戏片段的数目、已经完全播种的游戏的次数等。在一些实施例中,对等计算机参与统计可以根据参与通过内容分类(例如内容类型、头衔、性别和/或家庭)来列出。
奖励接口1500可以包括对等用户参与统计1504。对等用户参与统计可以类似于对等计算机参与统计,除了它们可能依赖于可使用多个不同对等计算机的用户之外。
奖励接口1500可以包括根据P2P网络中的每一个对等计算机的参与等级列出对等计算机的参与列表或排行榜1506。参与等级可以根据从遥测数据导出的一个或多个参与度规来指派。在一些实施例中,排行榜可以描述高等级的对等计算机,其包括高亮特定参与统计。
奖励接口1500可以包括对等参与统计1508的比较。该比较可以允许用户与P2P网络的其它对等计算机相比较地测量其参与水平。
奖励接口1500可以包括提供给对等计算机的奖励。例如,奖励接口1500可以包括对等计算机已经通过参与P2P网络而获得的成就1510,诸如最多上载、最长上载会话以及最长未中断会话。当用更大成就奖励对等计算机时,成就1510可以变化或日益更难。奖励接口1500可以包括可兑换奖励1512。例如,可兑换奖励可以包括可兑换项目、优惠券、分值或金钱奖励。奖励还可以包括威望(例如头衔、等级等)或任何其它适当的奖赏。
奖励接口和相关奖励机制可以创建P2P网络的参与者之间的竞争环境以播种最终增加P2P网络的种群的数字内容项目。这样,对等体之间的友好竞争可以导致总体更健康的P2P网络。
在一些实施例中,本文所描述的方法和过程可以依赖于一个或多个计算设备的计算系统。特别地,这样的方法和过程可以实现为计算机应用程序或服务、应用编程接口(API)、库和/或其它计算机程序产品。
图16示意性地示出了可以扮演本文所描述的方法和过程的一个或多个的计算系统1600的非限制性实施例。
计算系统1600以简化形式示出。计算系统1600可以采取一个或多个游戏控制台、个人计算机、服务器计算机、平板计算机、家用娱乐计算机、网络计算设备、移动计算设备、移动通信设备(例如智能电话)和/或其它计算设备的形式。在一些实施例中,计算系统1600可以表示对等计算机,诸如图1中所示的对等计算机101。在一些实施例中,计算系统1600可以表示图1中示出的CMS计算机110。在一些实施例中,计算系统1600可以实现图3中所示的CMS计算机300的计算机架构。在一些实施例中,计算系统1600可以表示CDN计算机,诸如图1中所示的CDN计算机114。
计算系统1600包括逻辑机器1602和存储机器1604。计算系统1600可以可选地包括显示子系统1606、输入子系统1608、通信子系统1610和/或图16中未示出的其它组件。
逻辑机器1602包括被配置为执行指令的一个或多个物理设备。例如,逻辑机器可以被配置为执行作为一个或多个应用、服务、程序、例程、库、对象、组件、数据结构或其它逻辑构造的部分的指令。这样的指令可以实现为执行任务、实现数据类型、变换一个或多个组件的状态、实现技术效果、或以其它方式达成期望结果。
逻辑机器可以包括被配置为执行软件指令的一个或多个处理器。附加地或可替换地,逻辑机器可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑机器的处理器可以是单核或多核的,并且在其上执行的指令可以被配置用于序列、并行和/或分布处理。逻辑机器的各个组件可选地可以分布在两个或更多分离的设备之中,这些设备可以位于远程处和/或被配置用于协调的处理。逻辑机器的各方面可以是虚拟化的并且由配置在云计算配置中的远程可访问的联网计算设备执行。
存储机器1604包括被配置为保持由逻辑机器可执行的指令以实现本文所描述的方法和过程的一个或多个物理设备。当这样的方法和过程实现时,存储机器1604的状态可以转变——例如以保持不同数据。
存储机器1604可以包括可移动和/或内置设备。存储机器1604可以包括光学存储器(例如CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如RAM、EPROM、EEPROM等)、和/或磁性存储器(例如硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)以及其它。存储机器1604可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、序列访问、位置可寻址、文件可寻址、和/或内容可寻址设备。
在计算机系统1600表示对等计算机的情形中,存储机器1604可以包括可存储数字内容项目的各个部分的多个本地存储机器,并且计算机系统可以被配置为从其选择本地存储机器或另一对等计算机以根据一个或多个下载度规下载数字内容项目的片段。例如,数字内容项目的片段可以存储在包括光学存储器和半导体存储器的本地存储机器上以及可用于从P2P网络的对等计算机下载,并且计算机系统1600可以被配置为基于下载度规(诸如哪个源可以最快递送数字内容项目)从这些源中的一个选择数字内容项目的源。注意,这仅仅是一个示例并且可以执行许多变型而不脱离本公开的范围。
此外,在计算机系统1600表示对等计算机的情形中,存储机器1604可以包括存储机器1604的用户控制部分1612和存储机器1604的服务控制部分1614。用户控制部分1612可以被配置为存储由对等计算机自愿下载的数字内容项目。服务控制部分1614可以被配置为存储由对等计算机、诸如通过CMS计算机的命令而强制下载的数字内容项目。
在一些实施例中,CMS计算机可以命令对等计算机从用户控制部分1612或服务控制部分1614提供数字内容项目。在一些实施例中,对等计算机可以被配置为不具有直接访问存储在服务控制部分1614中的数字内容项目的权利(例如数据被加密并且要求授权和/或认证以解密)。在一些实施例中,对等计算机可以被配置为能访问和使用存储在服务控制部分1614中的数字内容项目。在一些实施例中,对等计算机可能未意识到它们强制托管或播种的数字内容项目。在一些实施例中,对等计算机可以分派本地存储机器的服务控制部分1614以参与到P2P网络中。在一些实施例中,对等计算机可以分派带宽的部分来强制托管或播种以参与到P2P网络中。在一些实施例中,对等体可以选定参加或选定退出将本地存储机器的部分指定为服务控制部分。在一些实施例中,对等体可以被补偿以交换将本地存储机器的部分指定为服务控制部分。在一些实施例中,P2P网络中的一些但不是所有对等计算机可以具有服务控制部分。在一些实施例中,P2P网络中的所有对等计算机可以具有服务控制部分。在一些实施例中,服务控制部分可以是用户控制部分的大小的一小部分。当然要理解的是,服务控制部分和用户控制部分可以是本地存储机器的任何适当部分而不脱离本公开的范围。
将了解的是,存储机器1604包括一个或多个物理设备。然而,本文所描述的指令的各方面可以可替换地由不通过物理设备保持持续有限时长的通信介质(例如电磁信号、光学信号等)来传播。
逻辑机器1602和存储机器1604的各方面可以一起集成到一个或多个硬件逻辑组件中。这样的硬件逻辑组件可以例如包括现场可编程门阵列(FPGA)、程序和应用特定集成电路(PASIC/ASIC)、程序和应用特定标准产品(PSSP/ASSP)、片上系统(SOC)和复杂可编程逻辑设备(CPLD)。
将了解的是,如本文所使用的“服务”是跨多个用户会话可执行的应用程序。服务可以可用于一个或多个系统组件、程序和/或其它服务。在一些实现方式中,服务可以在一个或多个服务器计算设备上运行。
当包括时,显示子系统1606可以被用于呈现由存储机器1604保持的数据的视觉表示。该视觉表示可以采取图形用户接口(GUI)的形式。当本文所描述的方法和过程改变由存储机器保持的数据并且因而变换存储机器的状态时,显示子系统1606的状态可以同样地变换为在视觉上呈现底层数据中的改变。显示子系统1606可以包括实质上利用任何类型技术的一个或多个显示设备。这样的显示设备可以与逻辑机器1602和/或存储机器1604在共享的外壳中组合,或者这样的显示设备可以是外围显示设备。
当包括时,输入子系统1608可以包括诸如键盘、鼠标、触摸屏或游戏控制器之类的一个或多个用户输入设备或者与其对接。在一些实施例中,输入子系统可以包括所选自然用户输入(UNI)元件部分或者与其对接。这样的元件部分可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或板外处置。示例NUI元件部分可以包括用于话语和/或语音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部追踪器、眼部追踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测元件部分。
当包括时,通信子系统1610可以被配置为将计算系统1600与一个或多个其它计算设备通信耦合。通信子系统1610可以包括与一个或多个不同通信协议相容的有线和/或无线通信设备。作为非限制性示例,通信子系统可以被配置用于经由无线电话网络、或有线或无线局域或广域网络通信。在一些实施例中,通信子系统可以允许计算系统1600经由诸如内联网或因特网的计算机网络将消息发送给其它设备和/或从其它设备接收消息。
将理解的是,本文所描述的配置和/或途径在本性上是示例性的,并且这些具体实施例或示例不以限制性意味来考虑,因为众多变形是可能的。本文所描述的具体例程或方法可以表示任何数目的处理策略中的一个或多个。因此,所图示和/或描述的各种动作可以以所图示和/或描述的顺序执行,以其它顺序、并行执行或者被忽略。同样地,上述过程的顺序可以改变。将理解的是,术语“第一”、“第二”和“第三”等仅被用作标记,并且不意在对其对象强加数值、顺序或空间要求。
本公开的主题包括本文所公开的各种过程、系统和配置、以及其它特征、功能、动作和/或属性的所有新颖的和非显而易见的组合和子组合,以及任何和所有其等同形式。

Claims (10)

1. 一种方法,包括:
标识存储包括多个片段的数字内容项目的部分的多个源,所述多个源包括对等网络的一个或多个对等计算机以及计算机的一个或多个本地存储机器;
对于数字内容项目的多个片段中的每一个片段,从源下载该片段,根据一个或多个下载度规从多个源选择该源;以及
组织多个片段以用于作为数字内容项目安装在计算机上。
2. 权利要求1的方法,还包括:
如果从一个或多个存储机器下载的数字内容项目的片段具有处于对等网络的阈值可用性以下的可用性,则经由计算机网络向集中管理服务计算机发送指示数字内容项目的片段的占有的告知;以及
响应于接收到提供数字内容项目的片段的请求,经由计算机网络向对等网络的对等计算机上载数字内容项目的片段。
3. 权利要求1的方法,还包括:
在从第一源下载数字内容项目的指定片段时,响应于根据一个或多个稳定性度规第一源变得不稳定,从第二源下载指定片段,根据一个或多个下载度规从多个源选择第二源。
4. 权利要求3的方法,其中所述一个或多个稳定性度规包括阈值下载速度、阈值资源水平、阈值数目的连接性中断、阈值成本、阈值用户体验破坏水平和阈值带宽中的一个或多个。
5. 权利要求1的方法,其中所述一个或多个下载度规包括最快下载速度、最低获取成本、最低资源使用水平、最低能量使用水平、最低用户体验破坏水平中的一个或多个,并且在可能下载数字内容项目的片段时在对等网络上选择一个或多个本地存储机器。
6. 权利要求1的方法,其中数字内容项目的不同片段从不同源并行地下载。
7. 权利要求1的方法,其中数字内容项目的至少一些片段从一个或多个本地存储机器下载,并且数字内容项目的至少一些片段经由计算机网络从对等网络的对等计算机下载。
8. 权利要求1的方法,其中计算机是游戏控制台,并且数字内容项目是游戏、游戏头衔更新或操作系统更新。
9. 权利要求1的方法,其中数字内容项目的部分在整个数字内容项目被下载之前安装,并且该方法还包括:
基于用户与数字内容项目的交互来确定要下载数字内容项目的哪些片段;以及
基于用户与数字内容项目的交互来选择数字内容项目的片段的源。
10. 一种保持指令的存储机器,该指令由逻辑机器可执行以:
标识存储包括多个片段的数字内容项目的部分的多个源,所述多个源包括对等网络的一个或多个对等计算机以及计算机的一个或多个本地存储机器;
对于数字内容项目的多个片段中的每一个片段,从源下载该片段,根据一个或多个下载度规从多个源选择该源;以及
组织多个片段以用于作为数字内容项目安装在计算机上。
CN201380065212.1A 2012-12-14 2013-12-12 内容获取源选择和管理 Active CN104904183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/715834 2012-12-14
US13/715,834 US9413846B2 (en) 2012-12-14 2012-12-14 Content-acquisition source selection and management
PCT/US2013/074806 WO2014093705A1 (en) 2012-12-14 2013-12-12 Content-acquisition source selection and management

Publications (2)

Publication Number Publication Date
CN104904183A true CN104904183A (zh) 2015-09-09
CN104904183B CN104904183B (zh) 2018-05-25

Family

ID=49887333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380065212.1A Active CN104904183B (zh) 2012-12-14 2013-12-12 内容获取源选择和管理

Country Status (11)

Country Link
US (4) US9413846B2 (zh)
EP (1) EP2932688B1 (zh)
JP (1) JP6320409B2 (zh)
KR (1) KR102204100B1 (zh)
CN (1) CN104904183B (zh)
AU (1) AU2013359194B2 (zh)
BR (1) BR112015011692B1 (zh)
CA (1) CA2889628C (zh)
MX (1) MX352439B (zh)
RU (1) RU2656794C2 (zh)
WO (1) WO2014093705A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973037A (zh) * 2017-02-16 2017-07-21 咪咕视讯科技有限公司 一种控制数据传输的方法及系统
CN106993054A (zh) * 2017-05-05 2017-07-28 腾讯科技(深圳)有限公司 文件分发方法、节点及系统
CN108900427A (zh) * 2018-06-13 2018-11-27 盐城师范学院 数字内容投送系统
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US9705754B2 (en) 2012-12-13 2017-07-11 Level 3 Communications, Llc Devices and methods supporting content delivery with rendezvous services
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US9413823B2 (en) * 2013-03-15 2016-08-09 Hive Streaming Ab Method and device for peer arrangement in multiple substream upload P2P overlay networks
US9430667B2 (en) * 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US9906597B2 (en) 2015-04-07 2018-02-27 Microsoft Technology Licensing, Llc Collaboration data proxy system in cloud computing platforms
CN105898388B (zh) * 2016-04-05 2019-07-23 合一网络技术(北京)有限公司 一种节点下载调度方法和装置
US20170293500A1 (en) * 2016-04-06 2017-10-12 Affirmed Networks Communications Technologies, Inc. Method for optimal vm selection for multi data center virtual network function deployment
US9998534B2 (en) 2016-08-24 2018-06-12 International Business Machines Corporation Peer-to-peer seed assurance protocol
US10587496B2 (en) 2017-02-10 2020-03-10 Microsoft Technology Licensing, Llc Localizing traffic using network topology
CN106911511B (zh) * 2017-03-10 2019-09-13 网宿科技股份有限公司 一种cdn客户源站的防护方法和系统
US11018883B2 (en) * 2017-04-28 2021-05-25 Telenav, Inc. Communication system with communication mechanism and method of operation thereof
US11405329B1 (en) * 2018-02-20 2022-08-02 Amazon Technologies, Inc. Cloud resource placement
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11106554B2 (en) 2019-04-30 2021-08-31 JFrog, Ltd. Active-active environment control
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US10771524B1 (en) * 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
RU2722464C1 (ru) * 2019-11-15 2020-06-01 Общество с ограниченной ответственностью "СДН-видео" (ООО "СДН-видео") Способ расширения сети CDN с помощью одноранговой сети
US11695829B2 (en) * 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
US11848990B2 (en) * 2021-10-15 2023-12-19 Siden, Inc. Method and system for distributing and storing content using local clouds and network clouds

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070021196A1 (en) * 2005-07-19 2007-01-25 Campbell Steven M Watermarking downloadable game content in a gaming system
CN101304382A (zh) * 2008-07-03 2008-11-12 中国移动通信集团设计院有限公司 P2p网络中文件传输路径的选择方法、系统及设备
CN101345628A (zh) * 2007-07-13 2009-01-14 中兴通讯股份有限公司 源节点选择方法
US8099511B1 (en) * 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236637B2 (en) * 1999-11-24 2007-06-26 Ge Medical Systems Information Technologies, Inc. Method and apparatus for transmission and display of a compressed digitized image
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US6669564B1 (en) 2000-06-27 2003-12-30 Electronic Arts Inc. Episodic delivery of content
US9047609B2 (en) 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US20020162109A1 (en) * 2001-04-26 2002-10-31 Koninklijke Philips Electronics N.V. Distributed storage on a P2P network architecture
KR20010088742A (ko) 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US7133368B2 (en) 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7653689B1 (en) 2002-05-17 2010-01-26 Abacast, Inc. Intelligent virtual content distribution network system and method
US7376749B2 (en) 2002-08-12 2008-05-20 Sandvine Incorporated Heuristics-based peer to peer message routing
US20040148424A1 (en) 2003-01-24 2004-07-29 Aaron Berkson Digital media distribution system with expiring advertisements
WO2004100010A1 (en) 2003-04-30 2004-11-18 Iptv Systems, Llc Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use
US20040248637A1 (en) 2003-06-06 2004-12-09 Liebenberg Dawid J. Interactive networked game
US7783777B1 (en) 2003-09-09 2010-08-24 Oracle America, Inc. Peer-to-peer content sharing/distribution networks
US7610402B2 (en) * 2003-10-20 2009-10-27 Sony Computer Entertainment America Inc. Spectators in a peer-to-peer relay network
JP4181176B2 (ja) * 2004-02-12 2008-11-12 株式会社コナミデジタルエンタテインメント 通信回線を用いたゲームの管理方法
US7881235B1 (en) 2004-06-25 2011-02-01 Apple Inc. Mixed media conferencing
US7555532B2 (en) 2004-09-23 2009-06-30 Orbital Data Corporation Advanced content and data distribution techniques
US8040903B2 (en) 2005-02-01 2011-10-18 Hewlett-Packard Development Company, L.P. Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US20070002119A1 (en) * 2005-06-30 2007-01-04 Abrott Timothy J Digital workflow processes
US7788701B1 (en) * 2005-07-26 2010-08-31 Advanced Micro Devices, Inc. Content transfer restriction system for personal internet communicator
US20070026945A1 (en) 2005-07-29 2007-02-01 Microsoft Corporation Enhancing the game console experience through the PC
EP1783635A1 (en) * 2005-11-07 2007-05-09 Thomson Licensing S.A. Method and system for distributing multimedia content
US20070136268A1 (en) 2005-12-09 2007-06-14 Microsoft Corporation Just in time loading list
US8086722B2 (en) 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
ATE463917T1 (de) 2006-02-21 2010-04-15 Microsoft Corp Topologieverwaltung in peer-to-peer datenverteilungswolken
US9047310B2 (en) 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
CN100471169C (zh) 2006-04-14 2009-03-18 清华大学 基于对等网络的视频直播应用中节点选择与检测方法
KR20070104178A (ko) * 2006-04-22 2007-10-25 임민철 웹서버를 이용한 문서관리 시스템
WO2007127401A2 (en) * 2006-04-26 2007-11-08 Bittorrent, Inc. Peer-to-peer download and seed policy management
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
US8676882B2 (en) * 2007-02-27 2014-03-18 Sony Corporation System and method for preloading content segments to client devices in an electronic network
US20080059631A1 (en) 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US9003056B2 (en) 2006-07-11 2015-04-07 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US8043156B2 (en) 2006-08-11 2011-10-25 Disney Enterprises, Inc. Interactive installation for interactive gaming
GB2440774B (en) * 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
BRPI0716593A2 (pt) 2006-09-06 2013-10-08 Akamai Tech Inc Rede de distribuição de conteúdo híbrido (cdn) e rede peer-to-peer (p2p)
US20080066181A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation DRM aspects of peer-to-peer digital content distribution
WO2008038280A2 (en) 2006-09-28 2008-04-03 Rayv Inc. System and methods for peer-to-peer media streaming
US20080098123A1 (en) 2006-10-24 2008-04-24 Microsoft Corporation Hybrid Peer-to-Peer Streaming with Server Assistance
WO2008064356A1 (en) 2006-11-22 2008-05-29 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US20080167127A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Integration of Media on Gaming Consoles
CN101267379B (zh) 2007-03-14 2011-07-27 中国电信股份有限公司 基于p2p和cdn的统一内容承载和调度系统
US7640224B2 (en) 2007-03-26 2009-12-29 International Business Machines Corporation Active sampling collaborative prediction method for end-to-end performance prediction
US20080306818A1 (en) 2007-06-08 2008-12-11 Qurio Holdings, Inc. Multi-client streamer with late binding of ad content
US8238237B2 (en) 2007-06-18 2012-08-07 Sony Computer Entertainment Inc. Load balancing distribution of data to multiple recipients on a peer-to-peer network
KR101367798B1 (ko) 2007-06-29 2014-02-28 삼성전자주식회사 광대역 무선통신 시스템에서 피투피 통신 설정 장치 및방법
US8180720B1 (en) 2007-07-19 2012-05-15 Akamai Technologies, Inc. Content delivery network (CDN) cold content handling
CN101123565B (zh) 2007-07-30 2011-07-13 中兴通讯股份有限公司 P2p系统及用于该系统的资源查询方法
US20090062007A1 (en) 2007-08-31 2009-03-05 Big Fish Games, Inc. Injecting Content into Episodic Video Games
CN100558042C (zh) 2007-09-29 2009-11-04 华中科技大学 一种基于超级节点的p2p直播方法
JP5119844B2 (ja) 2007-10-09 2013-01-16 沖電気工業株式会社 ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ
US20090100128A1 (en) 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US7778165B2 (en) 2007-11-08 2010-08-17 University Of Washington Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet
CN100518129C (zh) 2007-12-10 2009-07-22 华中科技大学 混杂式对等网络环境下的通用资源管理方法
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US20090234967A1 (en) * 2008-03-17 2009-09-17 Nokia Corporation Method, system, and apparatus for transferring P2P file distribution tasks between devices
EP2283435B1 (en) 2008-05-14 2017-01-11 Sony Interactive Entertainment Inc. Broadcast seeding for peer-to-peer networks
CN101272404B (zh) 2008-05-15 2011-10-19 中国科学院计算技术研究所 一种p2p视频直播系统数据调度中的链路选择方法
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
US20090320144A1 (en) * 2008-06-24 2009-12-24 Broadcom Corporation Method and system for transferring protected content
CN101631092A (zh) * 2008-07-18 2010-01-20 株式会社日立制作所 数据分发系统及方法
US8918391B2 (en) 2009-12-02 2014-12-23 Gartner, Inc. Interactive peer directory with question router
US8924460B2 (en) 2008-12-19 2014-12-30 International Business Machines Corporation Method and system of administrating a peer-to-peer file sharing network
US8285829B2 (en) 2008-12-22 2012-10-09 At&T Intellectual Property I, L.P. Method and apparatus for providing peer selection in a network
US9900779B2 (en) 2008-12-30 2018-02-20 Qualcomm Incorporated Centralized control of peer-to-peer communication
US8869290B2 (en) 2010-06-04 2014-10-21 Broadcom Corporation Method and system for secure content distribution by a broadband gateway
US8151199B2 (en) 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
WO2010094561A2 (en) 2009-02-17 2010-08-26 Thomson Licensing Method for providing incentive mechanisms for out-of-order download in communication networks dedicated to the distribution of video-on-demand content
US20100257403A1 (en) 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US8656284B2 (en) 2009-04-17 2014-02-18 Empirix Inc. Method for determining a quality of user experience while performing activities in IP networks
US8769055B2 (en) 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
CN101562804B (zh) 2009-05-12 2012-09-05 中兴通讯股份有限公司 一种基于移动p2p的区域管理服务器系统及其调度方法
US20100293294A1 (en) 2009-05-15 2010-11-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication optimization
CN101902346A (zh) 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法
US8661075B2 (en) 2009-06-04 2014-02-25 Qualcomm Incorporated Method and apparatus for serving episodic secondary content
US9191219B2 (en) 2009-06-16 2015-11-17 Adobe Systems Incorporated Network multicast peer discovery methods
CN101621538A (zh) 2009-08-07 2010-01-06 中兴通讯股份有限公司 一种对等网络中媒体源节点的选择方法和系统
KR101562974B1 (ko) 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US20110078230A1 (en) 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
WO2011054376A1 (en) 2009-11-03 2011-05-12 Telecom Italia S.P.A. Improved caching of digital contents in p2p networks
US8805932B2 (en) 2009-11-03 2014-08-12 Telecom Italia S.P.A. Sharing of digital contents in P2P networks exploiting localization data
US20110119615A1 (en) 2009-11-16 2011-05-19 Apple Inc. Adaptive Data Loader
US8949436B2 (en) 2009-12-18 2015-02-03 Alcatel Lucent System and method for controlling peer-to-peer connections
GB2476487A (en) 2009-12-23 2011-06-29 Key Criteria Technology Ltd A multi-device multimedia system
US9009299B2 (en) 2010-01-07 2015-04-14 Polytechnic Institute Of New York University Method and apparatus for identifying members of a peer-to-peer botnet
CN101841556B (zh) 2010-02-23 2013-01-30 中国科学院计算技术研究所 Cdn-p2p网络中放置资源副本的方法及系统
US20110246658A1 (en) 2010-04-05 2011-10-06 International Business Machines Coporation Data exchange optimization in a peer-to-peer network
US8341263B2 (en) 2010-04-20 2012-12-25 International Business Machines Corporation Peer to peer monitoring framework for transaction tracking
US8446411B2 (en) 2010-06-11 2013-05-21 Microsoft Corporation Adaptive image rendering and use of imposter
US20120122570A1 (en) 2010-11-16 2012-05-17 David Michael Baronoff Augmented reality gaming experience
CN102006234A (zh) 2010-12-09 2011-04-06 工业和信息化部电信传输研究所 一种用于优化p2p网络流量的方法和装置
CN103384989B (zh) 2010-12-28 2016-06-22 思杰系统有限公司 用于对多个下一跳进行策略路由的系统和方法
WO2012094330A1 (en) 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
US20120185595A1 (en) 2011-01-17 2012-07-19 Alcatel-Lucent Usa Inc. Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US20120201158A1 (en) 2011-02-03 2012-08-09 Qualcomm Incorporated Peer-to-peer / wan association control and resource coordination for mobile entities using aggregate neighborhood utility metrics
US8806049B2 (en) 2011-02-15 2014-08-12 Peerialism AB P2P-engine
US8909747B2 (en) 2011-02-24 2014-12-09 Alcatel Lucent Method and apparatus for localization in peer-to-peer systems
JP5608601B2 (ja) 2011-03-31 2014-10-15 Kddi株式会社 P2p広告配信方法およびシステム
US8443086B2 (en) 2011-06-22 2013-05-14 National Chiao Tung University Decentralized structured peer-to-peer network and load balancing methods thereof
US20140258415A1 (en) 2011-06-26 2014-09-11 Israel L'Heureux Network communications via peer network connections
US8949329B2 (en) 2011-07-22 2015-02-03 Alcatel Lucent Content popularity extraction in distributed hash table based peer-to-peer networks
US8556715B2 (en) 2011-09-27 2013-10-15 U4iA GAMES INC. Personalized client-side visualization in a multiplayer network video game
US20130151937A1 (en) 2011-12-08 2013-06-13 Google Inc. Selective image loading in mobile browsers
US20140095605A1 (en) 2012-10-01 2014-04-03 Matteo Varvello Method and apparatus for increasing localization of peer-to-peer traffic for content distribution in communication network
US9219782B2 (en) * 2012-12-11 2015-12-22 Microsoft Technology Licensing, Llc Identifying seed computing devices using estimates in peer-to-peer networks
US9374420B2 (en) 2012-12-14 2016-06-21 Microsoft Technology Licensing, Llc Content source selection in a P2P network
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US9294580B2 (en) 2012-12-14 2016-03-22 Microsoft Technology Licensing, Llc Managed P2P network with content-delivery network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099511B1 (en) * 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
US20070021196A1 (en) * 2005-07-19 2007-01-25 Campbell Steven M Watermarking downloadable game content in a gaming system
CN101345628A (zh) * 2007-07-13 2009-01-14 中兴通讯股份有限公司 源节点选择方法
CN101304382A (zh) * 2008-07-03 2008-11-12 中国移动通信集团设计院有限公司 P2p网络中文件传输路径的选择方法、系统及设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973037A (zh) * 2017-02-16 2017-07-21 咪咕视讯科技有限公司 一种控制数据传输的方法及系统
CN106973037B (zh) * 2017-02-16 2018-09-04 咪咕视讯科技有限公司 一种控制数据传输的方法及系统
CN106993054A (zh) * 2017-05-05 2017-07-28 腾讯科技(深圳)有限公司 文件分发方法、节点及系统
CN106993054B (zh) * 2017-05-05 2022-06-03 腾讯科技(深圳)有限公司 文件分发方法、节点及系统
CN108900427A (zh) * 2018-06-13 2018-11-27 盐城师范学院 数字内容投送系统
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items

Also Published As

Publication number Publication date
US10681124B2 (en) 2020-06-09
JP6320409B2 (ja) 2018-05-09
US20160344805A1 (en) 2016-11-24
AU2013359194B2 (en) 2016-12-08
CA2889628A1 (en) 2014-06-19
WO2014093705A1 (en) 2014-06-19
KR20150096660A (ko) 2015-08-25
EP2932688B1 (en) 2016-08-17
CN104904183B (zh) 2018-05-25
KR102204100B1 (ko) 2021-01-18
EP2932688A1 (en) 2015-10-21
US20140173024A1 (en) 2014-06-19
BR112015011692B1 (pt) 2023-01-17
MX2015007561A (es) 2016-03-21
MX352439B (es) 2017-11-24
US20170230450A1 (en) 2017-08-10
CA2889628C (en) 2020-11-03
RU2656794C2 (ru) 2018-06-06
JP2016508253A (ja) 2016-03-17
US9661072B2 (en) 2017-05-23
AU2013359194A1 (en) 2015-05-14
US10284641B2 (en) 2019-05-07
RU2015122687A (ru) 2017-01-10
US9413846B2 (en) 2016-08-09
US20190245913A1 (en) 2019-08-08
BR112015011692A2 (pt) 2017-07-11

Similar Documents

Publication Publication Date Title
CN104904183A (zh) 内容获取源选择和管理
CN104937902A (zh) P2p网络中的内容源选择
CN104937903A (zh) 具有内容递送网络的被管理的p2p网络
US10129334B2 (en) Centralized management of a P2P network

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant