CN104904183B - 内容获取源选择和管理 - Google Patents
内容获取源选择和管理 Download PDFInfo
- Publication number
- CN104904183B CN104904183B CN201380065212.1A CN201380065212A CN104904183B CN 104904183 B CN104904183 B CN 104904183B CN 201380065212 A CN201380065212 A CN 201380065212A CN 104904183 B CN104904183 B CN 104904183B
- Authority
- CN
- China
- Prior art keywords
- digital content
- peer
- computer
- networks
- computers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 181
- 238000003860 storage Methods 0.000 claims abstract description 29
- 239000012634 fragment Substances 0.000 claims description 13
- 230000006378 damage Effects 0.000 claims description 7
- 238000013439 planning Methods 0.000 description 48
- 230000004044 response Effects 0.000 description 39
- 230000005540 biological transmission Effects 0.000 description 21
- 238000009826 distribution Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 20
- 230000002776 aggregation Effects 0.000 description 18
- 238000004220 aggregation Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000036541 health Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000009331 sowing Methods 0.000 description 8
- 238000002955 isolation Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000002747 voluntary effect Effects 0.000 description 3
- 101000961042 Pseudopleuronectes americanus Ice-structuring protein A Proteins 0.000 description 2
- 101000961041 Pseudopleuronectes americanus Ice-structuring protein B Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 241000545744 Hirudinea Species 0.000 description 1
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- 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
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- 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
- 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/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
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 (9)
1.一种用于内容获取源选择和管理的方法,包括:
基于经由集中管理服务计算机提供的服务命令,将强制地获取的数字内容项目存储在计算机的一个或多个本地存储机器的服务控制部分中;
基于经由用户输入提供给计算机的用户命令,将自愿获取的数字内容项目存储在计算机的一个或多个本地存储机器的用户控制部分中;
基于经由集中管理服务计算机提供的服务命令,从一个或多个本地存储机器的服务控制部分删除强制地获取的数字内容项目,其中强制地获取的数字内容项目不能基于用户命令从服务控制部分删除;
基于用户命令从一个或多个本地存储机器的用户控制部分删除自愿获取的数字内容项目;
标识存储数字内容项目的部分的多个源,所述数字内容项目包括多个片段,所述多个源包括服务控制部分以及对等网络的一个或多个对等计算机;
对于数字内容项目的多个片段中的每一个片段,从源下载该片段到用户控制部分,根据一个或多个下载度规从多个源选择该源;
其中从所述服务控制部分下载所述数字内容项目的一个或多个片段的第一集合,并且经由计算机网络从所述对等网络的对等计算机下载所述数字内容项目的一个或多个片段的第二集合,所述第一集合与所述第二集合不同;以及
在呈现所述数字内容项目的同时,从用户控制部分以计算机的方式读取所述一个或多个片段的第一集合和所述一个或多个片段的第二集合。
2.根据权利要求1所述的方法,还包括:
经由计算机网络向集中管理服务计算机发送通告,所述通告指示数字内容项目的片段的占有;以及
基于接收到提供数字内容项目的片段的请求,经由计算机网络向对等网络的对等计算机上载数字内容项目的片段。
3.根据权利要求1所述的方法,还包括:
在从第一源向用户控制部分下载数字内容项目的指定片段时,以及基于第一源根据一个或多个稳定性度规而变得不稳定,从第二源下载指定片段到用户控制部分,根据一个或多个下载度规从多个源选择第二源。
4.根据权利要求3所述的方法,其中所述一个或多个稳定性度规包括阈值下载速度、阈值资源水平、阈值数目的连接性中断、阈值成本、阈值用户体验破坏水平和阈值带宽中的一个或多个。
5.根据权利要求1所述的方法,其中所述一个或多个下载度规包括最快下载速度、最低获取成本、最低资源使用水平、最低能量使用水平、以及最低用户体验破坏水平中的一个或多个。
6.根据权利要求1所述的方法,其中数字内容项目的不同片段从不同源并行地下载。
7.根据权利要求1所述的方法,其中计算机是游戏控制台,并且数字内容项目是游戏、游戏头衔更新或操作系统更新。
8.根据权利要求1所述的方法,其中数字内容项目的部分在整个数字内容项目被下载之前安装,并且该方法还包括:
基于用户与数字内容项目的交互来确定要下载数字内容项目的哪些片段;以及
基于用户与数字内容项目的交互来选择数字内容项目的片段的源。
9.一种用于内容获取源选择和管理的计算机,包括:
逻辑机器;以及
一个或多个本地存储机器,包括:
服务控制部分,
用户控制部分,
其中所述一个或多个本地存储机器保存指令,所述指令可由所述逻辑机器执行,以实行如下步骤:
基于经由集中管理服务计算机提供的服务命令,在服务控制部分存储强制地获取的数字内容项目;
基于经由用户输入提供给计算机的用户命令,在用户控制部分存储自愿获取的数字内容项目;
基于经由集中管理服务计算机提供的服务命令,从一个或多个本地存储机器的服务控制部分删除强制地获取的数字内容项目,其中强制地获取的数字内容项目不能基于用户命令从服务控制部分删除;
基于用户命令从一个或多个本地存储机器的用户控制部分删除自愿获取的数字内容项目;
标识存储数字内容项目的部分的多个源,所述数字内容项目包括多个片段,所述多个源包括服务控制部分和对等网络的一个或多个对等计算机;
对于数字内容项目的多个片段中的每一个片段,从源下载该片段到用户控制部分,根据一个或多个下载度规从多个源选择该源;其中从所述服务控制部分下载所述数字内容项目的一个或多个片段的第一集合到所述用户控制部分,并且经由计算机网络从所述对等网络的对等计算机下载所述数字内容项目的一个或多个片段的第二集合到所述用户控制部分,所述第一集合与所述第二集合不同;以及
在呈现所述数字内容项目的同时,从用户控制部分以计算机的方式读取所述一个或多个片段的第一集合和所述一个或多个片段的第二集合。
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 CN104904183A (zh) | 2015-09-09 |
CN104904183B true 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) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US9628345B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Framework supporting content delivery with collector services network |
US20140337472A1 (en) | 2012-12-13 | 2014-11-13 | Level 3 Communications, Llc | Beacon Services in a Content Delivery Framework |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
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 |
CN106973037B (zh) * | 2017-02-16 | 2018-09-04 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
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 |
CN106993054B (zh) * | 2017-05-05 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 文件分发方法、节点及系统 |
US11405329B1 (en) * | 2018-02-20 | 2022-08-02 | Amazon Technologies, Inc. | Cloud resource placement |
CN108900427B (zh) * | 2018-06-13 | 2019-04-23 | 盐城师范学院 | 数字内容投送系统 |
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 |
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 |
CN113906405A (zh) * | 2019-06-14 | 2022-01-07 | 惠普发展公司,有限责任合伙企业 | 修改数据项 |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (112)
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 |
US20070021196A1 (en) * | 2005-07-19 | 2007-01-25 | Campbell Steven M | Watermarking downloadable game content in a gaming system |
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 |
DE602006013405D1 (de) | 2006-02-21 | 2010-05-20 | 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 | 임민철 | 웹서버를 이용한 문서관리 시스템 |
US8738778B2 (en) * | 2006-04-26 | 2014-05-27 | 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 |
GB2440774B (en) * | 2006-08-11 | 2011-07-27 | Cachelogic Ltd | Content Delivery System For Digital Object |
US8043156B2 (en) | 2006-08-11 | 2011-10-25 | Disney Enterprises, Inc. | Interactive installation for interactive gaming |
CN101681331B (zh) | 2006-09-06 | 2012-08-29 | 阿卡麦科技公司 | 混合型内容分发网络(cdn)和对等(p2p)网络 |
US20080066181A1 (en) * | 2006-09-07 | 2008-03-13 | Microsoft Corporation | DRM aspects of peer-to-peer digital content distribution |
US20100011103A1 (en) | 2006-09-28 | 2010-01-14 | 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 |
US20080133767A1 (en) | 2006-11-22 | 2008-06-05 | 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 |
WO2009140485A1 (en) | 2008-05-14 | 2009-11-19 | Sony Computer Entertainment Inc. | Broadcast seeding for peer-to-peer networks |
CN101272404B (zh) | 2008-05-15 | 2011-10-19 | 中国科学院计算技术研究所 | 一种p2p视频直播系统数据调度中的链路选择方法 |
WO2010077379A1 (en) | 2008-05-23 | 2010-07-08 | Jason Nieh | 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 |
US20110299547A1 (en) | 2010-06-04 | 2011-12-08 | Wael William Diab | Method and system for managing energy costs utilizing 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 |
WO2011054375A1 (en) | 2009-11-03 | 2011-05-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网络流量的方法和装置 |
WO2012092263A1 (en) | 2010-12-28 | 2012-07-05 | Citrix Systems, Inc. | Systems and methods for policy based routing for multiple next hops |
US8738725B2 (en) | 2011-01-03 | 2014-05-27 | 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 |
US9294580B2 (en) | 2012-12-14 | 2016-03-22 | Microsoft Technology Licensing, Llc | Managed P2P network with content-delivery 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 |
-
2012
- 2012-12-14 US US13/715,834 patent/US9413846B2/en active Active
-
2013
- 2013-12-12 EP EP13815328.3A patent/EP2932688B1/en active Active
- 2013-12-12 RU RU2015122687A patent/RU2656794C2/ru active
- 2013-12-12 BR BR112015011692-2A patent/BR112015011692B1/pt active IP Right Grant
- 2013-12-12 WO PCT/US2013/074806 patent/WO2014093705A1/en active Application Filing
- 2013-12-12 CA CA2889628A patent/CA2889628C/en active Active
- 2013-12-12 AU AU2013359194A patent/AU2013359194B2/en active Active
- 2013-12-12 MX MX2015007561A patent/MX352439B/es active IP Right Grant
- 2013-12-12 JP JP2015547572A patent/JP6320409B2/ja active Active
- 2013-12-12 CN CN201380065212.1A patent/CN104904183B/zh active Active
- 2013-12-12 KR KR1020157015714A patent/KR102204100B1/ko active IP Right Grant
-
2016
- 2016-08-03 US US15/227,613 patent/US9661072B2/en active Active
-
2017
- 2017-04-27 US US15/499,517 patent/US10284641B2/en active Active
-
2019
- 2019-04-19 US US16/389,820 patent/US10681124B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099511B1 (en) * | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
CN101345628A (zh) * | 2007-07-13 | 2009-01-14 | 中兴通讯股份有限公司 | 源节点选择方法 |
CN101304382A (zh) * | 2008-07-03 | 2008-11-12 | 中国移动通信集团设计院有限公司 | P2p网络中文件传输路径的选择方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20140173024A1 (en) | 2014-06-19 |
US10284641B2 (en) | 2019-05-07 |
RU2656794C2 (ru) | 2018-06-06 |
BR112015011692B1 (pt) | 2023-01-17 |
US20170230450A1 (en) | 2017-08-10 |
US20190245913A1 (en) | 2019-08-08 |
KR102204100B1 (ko) | 2021-01-18 |
WO2014093705A1 (en) | 2014-06-19 |
CA2889628A1 (en) | 2014-06-19 |
EP2932688A1 (en) | 2015-10-21 |
AU2013359194A1 (en) | 2015-05-14 |
US9661072B2 (en) | 2017-05-23 |
JP2016508253A (ja) | 2016-03-17 |
AU2013359194B2 (en) | 2016-12-08 |
CA2889628C (en) | 2020-11-03 |
JP6320409B2 (ja) | 2018-05-09 |
US20160344805A1 (en) | 2016-11-24 |
RU2015122687A (ru) | 2017-01-10 |
EP2932688B1 (en) | 2016-08-17 |
MX352439B (es) | 2017-11-24 |
US9413846B2 (en) | 2016-08-09 |
MX2015007561A (es) | 2016-03-21 |
BR112015011692A2 (pt) | 2017-07-11 |
CN104904183A (zh) | 2015-09-09 |
US10681124B2 (en) | 2020-06-09 |
KR20150096660A (ko) | 2015-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104904183B (zh) | 内容获取源选择和管理 | |
CN104937902B (zh) | P2p网络中的内容源选择 | |
CN104937903B (zh) | 具有内容递送网络的被管理的p2p网络 | |
US10129334B2 (en) | Centralized management of a P2P network | |
CN104185856B (zh) | 信息处理设备、信息处理系统、信息处理方法及程序 | |
CN110012298A (zh) | 信息处理设备、视频传输设备及其控制方法 | |
US20130097541A1 (en) | Smart drag and drop | |
CN109417566A (zh) | 基于约束的受控制的种子传播 | |
KR100945630B1 (ko) | 인터넷 콘텐츠 유통 서비스를 위한 편차보상전송중계방법과, 편차보상 전송중계방법을 이용한 콘텐츠접근제어에 의한 유료 콘텐츠 상거래 방법 |
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 |