CN111614748A - 可扩展的对等匹配 - Google Patents

可扩展的对等匹配 Download PDF

Info

Publication number
CN111614748A
CN111614748A CN202010419182.1A CN202010419182A CN111614748A CN 111614748 A CN111614748 A CN 111614748A CN 202010419182 A CN202010419182 A CN 202010419182A CN 111614748 A CN111614748 A CN 111614748A
Authority
CN
China
Prior art keywords
peer
list
identifiers
changes
peer matching
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
CN202010419182.1A
Other languages
English (en)
Other versions
CN111614748B (zh
Inventor
B·T·亨特
A·伯巴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 CN111614748A publication Critical patent/CN111614748A/zh
Application granted granted Critical
Publication of CN111614748B publication Critical patent/CN111614748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • 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/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1055Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • H04L67/107Discovery involving direct consultation or announcement among potential requesting and potential source peers with limitation or expansion of the discovery scope
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Abstract

本文涉及可扩展的对等匹配。具体地,描述的技术和系统通过在被配置在对等匹配单元内的多个对等匹配节点上协调对等匹配请求,使得资源消耗可以被铺开并且资源限制不被超过,来实现改进的对等匹配服务。而且,对等匹配服务可以确定对等匹配单元是否是过载的(例如,在给定时间间隔内经历了增大数量的请求,这导致性能劣化),并且对等匹配服务可以实现用于向外扩展在对等匹配单元内的所述数量的请求的动作(例如,将一些对等匹配请求重新分发给另一个对等匹配单元)。在各种示例中,对等匹配服务可以基于位置信息来确定对等设备是否是位于一处的对等设备,并且可以生成优先化了位于一处的对等设备的列表。

Description

可扩展的对等匹配
本申请为发明名称为“可扩展的对等匹配”的原中国发明专利申请的分案申请。原申请的申请号为201680012291.3;原申请的申请日为2016年02月25日;原发明专利申请案的优先权日为2015年02月26。
优先权申请
本申请要求2016年2月24日提交的美国非临时申请号15/052675和2015年2月26日提交的美国临时申请号62/121413的权益和优先权,其全部内容通过引用并入本文中。
技术领域
本申请涉及匹配技术,具体地,涉及可扩展的对等匹配。
背景技术
诸如操作系统更新或视频游戏之类的数字内容经常可用于通过网络连接从数字内容提供者下载,从而消除了用户在计算设备上安装数字内容的需要。数字内容可以包括大量数据,因此,下载数字内容可能潜在地花费大量时间和/或可能消耗大量资源(例如,联网资源、处理资源、存储器资源、等等)。当许多计算设备同时或差不多同时(例如,在数字内容最初发布或更新时或者差不多在数字内容最初发布或更新时)尝试下载相同的数字内容时,加剧了与从数字内容提供者下载数字内容相关联地消耗的资源量和花费的时间量。因此,对等匹配系统被实现,因而计算设备可以从其他对等计算设备,而不是从数字内容提供者下载数字内容。
在常规对等匹配系统中,对等设备联系中央服务的特定实例,以广告它们愿意与其他对等设备播种或共享数字内容。因此,对下载相同数字内容感兴趣的对等设备必须联系中央服务的相同特定实例,并且要求他们能够连接来下载所请求的数字内容的对等设备集合。
然而,常规对等匹配系统具有若干限制。也就是说,中央服务的特定实例具有有限的资源,包括:用于存储与已经发起与中央服务的特定实例的联系的计算设备相关联的对等匹配信息的有限存储器资源、用于处理与已经发起与中央服务的特定实例的联系的计算设备相关联的对等匹配信息的有限处理资源、以及用于从已经发起与中央服务的特定实例的联系的计算设备接收和向其传送对等匹配信息的有限联网资源。因此,中央服务的特定实例在特定时间间隔期间只能处置有限数量的针对登记对等设备的请求。当达到该有限数量时,中央服务的特定实例变得过载并且由中央服务的特定实例实现的对等匹配性能严重降低(例如,请求可以被拒之门外)。而且,中央服务的特定实例甚至可能由于过载或某种其他原因而失效或离线,并且因此,联系过中央服务的特定实例的计算设备可能会丢失(例如,可能没有认出它们对于对等匹配的可用性)。
发明内容
本文描述的技术和系统实现了改进的对等匹配服务,以解决上述中央服务的特定实例的资源限制。对等匹配服务被配置成在多个对等匹配节点上协调对等匹配请求,使得资源消耗可以被铺开并且资源限制不被超过。因此,与对等匹配相关的性能问题的可能性降低。在各种示例中,如本文使用的对等匹配节点可以对应于上述中央服务的特定实例。
因此,对等匹配服务定义并创建用于对等匹配可扩展性的单元。如本文所使用的单元指的是对等匹配单元。对等匹配单元包括多个对等匹配节点,其中,多个对等设备(例如客户端)可以联系个体对等匹配节点并且与之交互。在各种示例中,对等设备被配置成通过使用分配给对等匹配单元的虚拟因特网协议(VIP)地址来联系对等匹配节点。也就是说,VIP地址虚拟化对于在对等匹配单元内的对等匹配节点的访问。除了对等匹配节点之外,对等匹配单元还包括中心点,所述中心点负责在个体对等匹配单元内的多个不同的对等匹配节点上同步信息(例如,请求针对特定内容标识符的对等匹配的针对对等设备标识符的列表的改变)。
在各种示例中,本文所描述的对等匹配服务包括单元控制器,其被配置成管理各种对等匹配单元。例如,单元控制器被配置成将内容标识符分配给对等匹配单元,因而请求针对特定的内容标识符的对等匹配的对等设备可以被指引至该特定的内容标识符被分配到的对等匹配单元。此外,单元控制器被配置成接收指示实际对等设备的数量的信息,所述实际对等设备已经向用于与被分配给对等匹配单元的各个内容标识符中的任何一个相关联的对等匹配服务的对等匹配单元的对等匹配节点进行了登记。在给定的时间间隔内,单元控制器可以确定已经登记的对等设备的数量是否超过了对等设备的阈值数量,并且如果是这样,则单元控制器可以实现按比例调整已经向对等匹配单元的对等匹配节点进行了登记的实际对等设备的数量的动作(例如,将来自一个对等匹配单元的对等设备登记重新分发给另一个对等匹配单元)。在一个示例中,动作可以包括,激活充溢对等匹配单元,以便减少已经向对等匹配单元的对等匹配节点进行了登记的实际对等设备的数量。在另一个示例中,所述动作包括,将多个不同内容标识符中的一个内容标识符重新分配给另一个对等匹配单元,以便减少已经向对等匹配单元的对等匹配节点进行了登记的对等设备的实际数量。
在各种示例中,中心点被配置成在个体对等匹配单元内的多个不同的对等匹配节点上同步信息。因此,中心点被配置成,生成并维持与对等设备集合相对应的对等标识符的列表,其中所述对等设备集合已经向用于与内容标识符相关联的对等匹配服务的对等匹配单元的多个对等匹配节点进行了登记。中心点还被配置成,从所述对等匹配单元内的个体对等匹配节点接收表示针对对等标识符的列表的改变的信息,所述对等标识符的列表与已经向对等匹配单元的个体对等匹配节点进行了登记的对等设备集合相对应。改变可以在特定对等匹配节点处发生或者被检测到,并且改变可以包括:将新的对等标识符添加到列表,从列表移除过期的对等标识符,或者更新从第一状态改变到不同于第一状态的第二状态的表示对等设备的状态的对等元数据。然后,中心点可以组合从集合性的对等匹配节点结点接收的信息,并使用所组合的信息以生成表示(例如,在多个对等匹配节点上发生的)针对列表的改变的信息。随后,中心点可以向对等匹配单元内的对等匹配节点提供表示针对对等标识符的列表的改变的信息。在各种实现中,如果由单元控制器按比例调整请求可以有助于性能的话,中心点还被配置成,向单元控制器报告在对等匹配单元的对等匹配节点上登记的对等设备的数量和/或健康状态相关联的信息。例如,单元控制器可以在多个对等匹配单元上按比例调整我们的请求以有助于性能。
在各种示例中,个体对等匹配节点被配置成维持对等标识符的列表的版本(例如,“节点”版本或“本地”版本)。对等匹配节点还被配置成,基于从所述中心点接收的信息来存储与对等设备集合相对应的对等标识符的列表,其中所述对等设备集合已经向用于与内容标识符相关联的对等匹配服务的多个对等匹配节点进行了登记。因此,对等匹配节点标识出在对等匹配节点处发生的(例如,本地发生的)针对列表的改变。然后对等匹配节点可以向中心点发送表示针对列表的改变的第一集合(例如,发生在对等匹配节点处的改变)的信息,并从所述中心点接收表示针对列表的改变的第二集合的信息,其中所述改变的第二集合典型地是在对等匹配单元内的多个对等匹配节点处发生的改变的更大集合。最后,对等匹配节点可以基于从中心点接收到的信息来更新其列表的版本并且向已经向用于与内容标识符相关联的对等匹配服务的对等匹配节点进行了登记的对等设备提供对等标识符的列表。
在各种示例中,(多个)对等匹配节点和/或所述中心点被配置成,从对等设备接收与请求相关联的位置信息,所述请求用于向用于与内容标识符相关联的对等匹配服务的(多个)对等匹配节点登记对等设备集合。然后,(多个)对等匹配节点和/或中心点可以至少部分地基于位置信息确定,对等设备集合的子集与位于一处信息相关联,所述位于一处信息指示子集中的对等设备彼此接近。(多个)对等匹配节点和/或中心点可以向该子集中的个体对等设备提供用于与所述内容标识符相关联的对等匹配服务的对等标识符的列表,该列表将与包括在该子集中的其他位于一处的对等设备相对应的第一对等标识符优先于与不包括在该子集中的对等设备(例如,没有位于一处的对等设备)相对应的第二对等标识符。
提供本发明内容以便以简化形式介绍以下将在具体实施方式中进一步描述的概念的选择。本发明内容既非旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在被用于帮助确定所要求保护的主题的范围。术语“技术”例如可以指的是如上述上下文所许可的以及在整个文档中许可的,(多个)系统、(多个)方法、计算机可读指令、(多个)引擎、(多个)模块、算法、硬件逻辑,和/或(多个)操作。
附图说明
参照附图描述具体实施方式。在图中,附图标记的最左边的(多个)数字标识该附图标记首次出现在其中的图。在不同图中的相同附图标记指示相似或等同的元件。
图1是描绘了示例环境的框图,其中,对等匹配单元被配置成处置来自对等设备的对等匹配请求。
图2是描绘了对等匹配节点(例如,在图1中图示出的对等匹配节点)的附加细节的对等匹配节点设备的框图。
图3是描绘了中心点(例如,在图1中图示出的中心点)的附加细节的中心点设备的框图。
图4是在个体对等匹配节点处实现的示例过程的流程图,所述示例过程用于基于所接收的请求维持和更新对等标识符的列表,并为了对等匹配目的而提供对等标识符的列表。
图5是在个体对等匹配节点处实现的另一示例过程的流程图,所述另一示例过程用于基于所接收的请求来维持和更新对等标识符的列表,并为了对等匹配目的而提供对等标识符的列表。
图6是在中心点处实现的示例过程的流程图,所述示例过程用于基于从多个对等匹配节点接收的信息来维持和更新对等标识符的列表,并为了对等匹配目的而向各个对等匹配节点提供对等标识符的列表。
图7是描绘了示例环境的框图,其中,单元控制器被配置成管理对等匹配单元以及在对等匹配单元之间按比例调整请求。
图8是描绘了单元控制器(例如,在图7中图示出的单元控制器)的附加细节的单元控制器设备的框图。
图9是在单元控制器处实现的示例过程的流程图,所述示例过程用于在对等匹配单元之间按比例调整请求。
图10是描绘了示例环境的框图,其中,对等设备的子集可以与位于一处(co-location)信息相关联,因而内容的点对点共享和内容的点对点传输可以被有效地实现。
图11是用于使对等设备的子集位于一处的示例过程的流程图。
具体实施方式
通过使用点对点(P2P)网络的点对点(P2P)连接,而不是(例如,通过使用内容递送网络(CDN))从数字内容提供者直接下载内容的对等设备,本文描述的技术和系统可以被用来改善数字内容(例如,本文中被称为“内容”)的分发。P2P网络可以用于减少用于向多个对等设备分发内容的时间量和资源消耗量。内容例如可以包括任何数字内容,诸如视频游戏或操作系统的更新。
为了改善通过内容标识符(ID)标识的特定内容的分发,可以收集关于当前具有该特定内容的对等设备的信息以及关于当前对该特定内容感兴趣的或者处于获得该特定内容的过程中的对等设备的信息。因此,与相同的内容ID相关联的对等设备可以被匹配并且对等设备标识符(例如,因特网协议(IP)地址)可以通过对等匹配服务共享,使得可以按高效的且有效的方式通过点对点(P2P)传输来下载内容。在任何给定的时间,正在参与或者可用于与特定内容ID相关联的内容的点对点(P2P)共享的对等设备群可以被称作群体。群体是动态的,原因在于,个体对等设备可以加入或离开该群体(例如,响应于用户接通和/或关断对等设备,响应于用户选择性地启用和/或禁用P2P通信和对等设备的共享能力等)。
本文描述的技术和系统实现了包括单元控制器、中心点、和对等匹配节点的组件的层次,所述组件中的每一个包括具有存储器和(多个)处理器的(多个)设备,来协调对等匹配功能性,以解决上述资源限制和减少与对等匹配相关的性能问题的可能性。中心点和多个对等匹配节点可以是对等匹配单元的一部分,并且所述单元控制器被配置成管理各个对等匹配单元并跨各个对等匹配单元按比例调整对等匹配请求。
此外,单元控制器和/或中心点被配置成实现用于避免群体分裂的功能性。如上所述,群体是在给定的时间间隔期间正在参与或可用于与特定内容ID相关联的内容的P2P共享的经匹配的对等设备群。在常规对等匹配系统中,当与相同的内容ID相关联的对等请求(例如,由于资源限制)跨中央服务的多个不同的实例被拆分时,导致群体分裂。因此,共享内容片段的更大对等设备群(例如,整个群体)的生态系统典型地被分割成更小的“经分裂的”群,从而降低了对等传送的效率。例如,通过减少可用对等设备的数量,群体分裂降低了用于特定对等设备的最佳对等匹配可以被利用的可能性(例如,在地理上彼此接近地定位的对等设备可能消耗更少的联网资源来通过P2P连接传输内容)。
因此,单元控制器和/或中心点实现了对等匹配服务,该对等匹配服务在多个不同的对等匹配节点上同步对等匹配请求,从而消除群体分裂。而且,单元控制器和/或中心点被配置成按比例调整多个请求,以避免群体分裂(例如,通过添加对等匹配单元来按比例调整请求,等)。
在各种示例中,基于位置信息确定对等设备是位于一处的对等设备并且可以生成并提供优先化位于一处的对等设备的列表。
图1是描绘了示例环境100的框图,其中,由实现了对等匹配服务的实体创建对等匹配单元102。对等匹配单元102被配置成处置来自对等设备的对等匹配请求(例如,请求也可以被称为“事务”)。对等匹配单元102包括中心点104和多个对等匹配节点106(1)...106(N),其中N是个正整数(例如,二、五、八、十、十五等)。对等匹配节点106(1)...106(N)被独立地配置成经由虚拟因特网协议(VIP)地址108从对等设备110接收请求。因此,图1图示出,对等匹配节点106(1)(例如,经由VIP地址108)从第一数量的对等设备110(1)...110(M)接收请求112,对等匹配节点106(2)(例如,经由VIP地址108)从第二数量的对等设备110(1)...110(L)接收请求114,以及对等匹配节点106(N)(例如,经由VIP地址108)从第三数量的对等设备110(1)...110(K)接收请求116,其中数字M、L、和/或K是正整数,其可以是相同的或不同的(例如,数以千计的对等设备、数以十万计的对等设备等)。另外在本公开中,图1中图示出的对等设备可以共同地由110引用。集合性的(collective)的对等设备110可以是单个群体的一部分(例如,如果对等匹配单元102仅仅被配置成针对单个内容ID实现对等匹配服务),或者集合性的对等设备110可以是多个群体的一部分(例如,如果对等匹配单元102被配置成针对多个不同的内容ID实现对等匹配服务)。
对等匹配单元102被创建并定义成可扩展的有组织的单元,用于控制针对一个或多个内容ID的对等匹配。因此,在一些实例中,针对特定内容ID的对等匹配服务可以与对等匹配单元102分离。在各种示例中,针对对等匹配单元102定义的且在其内配置的对等匹配节点106(1)...106(N)的数量是基于将从对等设备(例如,对等设备110)接收的、预测的或预期的请求的数量的。预期的请求数量可以是针对特定时间间隔(例如,一分钟、十五分钟、三十分钟、一小时、十二个小时、二十四小时等等)的。因此,基于为了对等匹配目的而分配给对等匹配单元102的个体内容ID的考虑(例如,有多少对等设备将对获得特定的操作系统更新感兴趣),来确定预期的请求数量。针对对等匹配单元102定义的且在其内配置的对等匹配节点106(1)...106(N)的数量也可以是基于个体对等匹配节点的最佳操作容量的。例如,如果个体对等匹配节点106(1)...106(N)在给定时间间隔期间并且在资源限制劣化性能之前能够处置的总操作容量是十万个请求,则最佳操作容量可以被设置为阈值百分比,诸如,总操作容量的50%(例如,五万个请求)或者总操作容量的80%(例如,八万个请求)。这创建并允许针对对等匹配单元102的对等匹配节点106(1)...106(N)的某个空间来处置比预期的或预测的请求数量更大的请求数量。在一个特定的示例中,如果针对分配给对等匹配单元102的一个或多个特定内容ID的(例如,按照预定义的时间间隔的)预期的请求数量是八十万个请求并且个体节点的最佳操作容量是总操作容量(例如,十万个请求)的80%(例如,八万个请求),则该对等匹配单元102可以被创建来包括十个对等匹配节点(N=10=800000/80000)。
在由在对等匹配单元内配置的对等匹配节点接收到的请求数量超过了与性能劣化相关联的最大数量的情况下,可以添加另一对等匹配单元(例如,待命的充溢对等匹配单元)并且可以将内容ID从当前对等匹配单元重新分配给所述另一对等匹配单元或针对内容ID的请求可以在两个对等匹配单元之间进行拆分。在一些实例中,对等匹配单元可以通过增加对等匹配单元内的节点的数量(例如,添加对等匹配节点)来增加处置请求的容量。
因此,本文描述的技术和系统通过定义和创建包括了多个对等匹配节点106(1)...106(N)的可扩展对等匹配单元102,来解决资源限制和群体分裂。在对等匹配单元102内接收到的请求可以跨多个节点106(1)...106(N)而同步(例如,群体不依赖于个体对等匹配节点)。
如上所述,群体是围绕特定的内容(例如,数字内容项目)而建立的,包括但不限于视频游戏或视频游戏的一部分、电影或电影的一部分、电视节目或电视节目的一部分、歌曲或歌曲的一部分、操作系统或对操作系统的更新、电子邮件服务更新、可下载应用(“app”)或对已经下载的app的更新、等等。个体对等匹配节点106(1)、106(2)、106(N)收集并维持与各个对等设备相关的信息,所述各个对等设备针对与(例如,如由内容ID标识的)特定内容相关联的对等匹配请求登记。例如,该信息可以指示是否对等设备正参与内容的P2P共享或P2P传输。附加地,对等匹配节点106(1)...106(N)可以独立地帮助它们各自的对等设备找到具有或想要相同内容的其他对等设备。例如,响应于所述请求,对等匹配节点106(1)...106(N)可以与它们各自的对等设备共享对等标识符的列表,使得对等设备可以自己发起内容的P2P连接和P2P共享,而不是通过由内容递送网络(CDN)118所支持的数字内容仓库来获得内容。在许多情况下,对于数字内容提供者而言,可能更成本高效的是,使得对等体能够和/或允许对等体从彼此下载内容,而不是从CDN 118下载内容。然而,在一些实现中,如果不能经由从对等匹配导致的P2P传输获得内容,则CDN 118可以补充内容的下载。在各种实现中,对等匹配节点106(1)...106(N)可以被称为协调器或跟踪器。
在P2P网络中,对等设备可以访问P2P文件共享协议,并且可以使用该协议来经由P2P连接(例如,通过使用诸如IP地址之类的对等ID)从其他对等设备获得特定内容。对等设备可以使用协议而具有到其他对等设备的一个或多个当前连接。因此,如果对等设备形成或者丢弃到其他对等设备的连接,则它可以加入或离开P2P网络。P2P连接不必被积极用于内容分发,尽管P2P连接适合于使用该特定的协议这样做。在各种实现中,P2P连接可以使用网络编码。而且,P2P连接可以是单向或双向连接。在各种实现中,给定的对等设备在给定时间可能是多于一个的P2P网络的成员。
对等设备被配置成接收、处理、和/或呈现内容。因此,对等设备可以包括但不限于各种设备中的任何一个,包括便携式设备或固定设备。例如,对等设备可以包括智能电话、移动电话、个人数字助理(PDA)、电子书设备、膝上型计算机、台式计算机、平板计算机、便携式计算机、游戏控制台、个人媒体播放器、可佩戴设备(例如,头戴式显示器、健康监视设备等)、服务器、或任何其他电子设备。而且,对等设备可以与对应的用户相关联。在一些实例中,多于一个的对等设备可以与同一用户相关联。
中心点104被配置成,跨多个对等匹配节点106(1)...106(N)而同步与特定内容ID相关联的对等ID。因此,中心点104按照分配给对等匹配单元102的每个内容ID,生成和/或维持,与向对等匹配节点106(1)...106(N)登记了的对等设备集合相对应的对等ID的列表。该列表是基于组合信息的,该组合信息表示在个体对等匹配节点处发生的对等改变(例如,已经登记了的新对等ID,已经移除了的过期对等ID,导致对等ID的状态改变的针对对等元数据的更新,等等)。例如,在其中图1中的对等设备110都是同一群体的一部分的场景下,对等匹配节点106(1)维持并报告与对等设备110(1)...110(M)的改变相关联的信息,对等匹配节点106(2)维持并报告与对等设备110(1)...110(L)的改变相关联的信息,以及对等匹配节点106(N)维持并报告与对等设备110(1)...110(K)的改变相关联的信息。中心点104然后基于所述对等匹配节点106(1)...106(N)所报告的信息来生成,维持和更新列表。因此,图1图示出了,中心点104跨多个对等匹配节点106(1)...106(N)而同步对等信息,如由120所引用的。也就是说,中心点104提供一个经更新的列表,在其中:添加了最近在所有对等匹配节点106(1)...106(N)上登记的新对等设备,移除了不再在所有对等匹配节点106(1)...106(N)上登记的过期的对等设备,和/或基于针对在所有对等匹配节点106(1)...106(N)上登记的对等设备的状态改变,来更新对等元数据。对等匹配单元102中的任何对等匹配节点106(1)、106(2)、106(N)通过同步,以及向任何对等匹配节点进行登记的任何对等设备通过代理,可以被提供有进入到其他对等ID(例如,以及对等元数据)的视图,其中,已经向其他对等匹配节点登记了所述其他对等ID,以便进行对等匹配来获得相同内容。
因此,即使并非所有的对等设备110最初向相同的对等匹配节点登记(例如,请求在多个对等匹配节点106(1)...106(N)上扩散),对等设备110也能够实现如122所引用的未分裂的对等匹配和P2P内容共享。换句话说,来自于属于同一群体的对等设备的请求在它们最初是在多个不同的对等匹配节点处接收时可能是“分裂的”(例如,本地存储在各个对等匹配节点处的列表的不同版本可能基于最近已经发生的特定于节点的改变而是不同的),但是通过跨节点120的对等信息(例如,对等ID和元数据)的同步,响应于请求提供给对等设备的实际列表不是分裂的,而是同步的。因此,随后通过对等设备与经匹配的对等设备建立的P2P连接不受群体分裂的限制。
在各种示例中,中心点104和对等匹配节点106(1)...106(N)可以被实现为网络资源,并且可以包括服务器设备或其他设备,其包括通过(多个)网络进行通信的数据中心、服务器场、或其他云配置的资源。为此,(多个)网络可以包括广域网(WAN)、局域网(LAN)、个域网(PAN)、特定于数据中心的网络(例如内联网、存储区域网络(SAN))、移动电话网(MTN)、等。网络还可以包括将各种设备连接到路由器的交换机和/或可以充当数据网络之间的桥梁的其他设备。设备之间的通信可以利用任何种类的本领域中已知的用于发送和接收信息和/或消息的通信协议,诸如传输控制协议/因特网协议(TCP/IP)和/或用户数据报协议(UDP)。
图2是描绘了对等匹配节点的附加细节的对等匹配节点设备200的框图(例如,图1中所图示的对等匹配节点106(1)可以包括对等匹配节点设备200)。对等匹配节点设备200可以包括一个或多个处理器202和存储器204以及(多个)网络接口206,使得对等匹配节点设备200可以与对等设备110和中心点104通信。(多个)处理器202可以是单个处理单元或多个单元,其中的每一个可以包括多个不同的处理单元。(多个)处理器202可以包括微处理器、微计算机、微控制器、数字信号处理器、中央处理单元(CPU)、图形处理单元(GPU)等。可替换地或附加地,本文描述的一些或所有技术可以至少部分地由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、状态机、复杂可编程逻辑设备(CPLD)、其他逻辑电路、芯片上的系统(SoC)、和/或基于指令执行操作的任何其他设备。除了其他能力之外,(多个)处理器202可以被配置成获取和执行存储在所述存储器204中的计算机可读指令。
存储器204可以包括一个计算机可读介质或计算机可读介质组合。如本文所使用的,“计算机可读介质”包括计算机存储介质和通信介质。
计算机存储介质包括以任何用于存储信息的方法或技术实现的易失性的和非易失性的、可移除的和不可移除的介质,所述信息诸如是计算机可读指令、数据结构、程序模块、或其他数据。计算机存储介质包括但不限于,相变存储器(PCM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪存或其他存储器技术、紧凑型盘ROM(CD-ROM)、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可用于存储信息以供计算设备访问的任何其他介质。
与此相反,通信介质在诸如载波之类的经调制的数据信号中包括计算机可读指令、数据结构、程序模块或其它数据。如本文中所定义的,计算机存储介质不包括通信介质。
存储器204还可以包括操作系统,该操作系统被配置成管理在对等匹配节点设备200内的与其耦合的硬件和服务,以便有益于其他组件和其他设备。通过举例的方式,存储器204可以包括对等登记模块208、分组模块210和节点报告模块212,本文进一步描述了其中的每一个。如本文所使用的,术语“模块”旨在为讨论的目的而表示可执行指令的示例划分,并且不旨在表示任何类型的要求或所要求的方法、方式或组织。因此,虽然各种“模块”被描述,但是它们的功能性和/或类似功能性可以被不同地布置(例如,组合成更少数量的模块,分解成更大数量的模块,等等)。此外,虽然某些功能和模块在本文中被描述成通过可以在处理器上执行的软件和/或固件来实现,但是,在其他实施例中,任何或所有的模块可以全部或部分地通过硬件(例如,专门的处理单元等)来实现,以执行所描述的功能。
在各种实现中,存储器204还可以包括维持列表214的数据仓库。由对等匹配节点设备200存储的列表214是由中心点104随着时间的推移同步和更新的列表的版本。因此,列表214可以被称为“节点”版本,这是因为它们被与特定对等匹配节点相关联地本地存储。对等登记模块208被配置成,从联系了特定对等匹配节点(例如,对等匹配节点106(1))的对等设备(例如,对等设备110(1)...110(M))接收所述请求(例如,请求112)。在各种示例中,请求通过VIP地址108接收并且该请求是分布(例如,为了负载平衡而均匀分布,随机分布,等等)在对等匹配单元102的对等匹配节点106(1)...106(N)之间的更大的请求集合的子集。从对等设备接收的个体请求可以包括对等ID(例如,IP地址或可以被用于对等匹配的其他标识符)、与对等设备想要经由P2P共享和P2P传输下载的内容(例如,操作系统更新)相关联的内容ID、以及为了对等匹配目的而维持和存储的对等信息(例如,元数据,诸如对等设备正在使用或者能够使用的P2P协议的类型、与已经下载的所想要的内容的数量相关联的状态等)。在一些实例中,对等设备被配置成基于自动签入(check-in)(例如,定期签入,基于诸如引导序列之类的特定动作的触发式签入,等等)对等匹配服务而发出请求。在其他实例中,对等设备被配置成响应于取回内容的用户指令而发出请求。
一旦该对等登记模块208已经认出对等设备、所登记的对等ID和内容ID(例如,与对等设备相关联的存储信息),则分组模块210被配置成将对等设备映射到与相同内容ID相关联的特定对等设备群(例如,想要下载相同内容的对等设备、包括所述内容中的至少一些且可用于点对点传输的对等设备、等等)。换句话说,分组模块210实现了一种桶机制并且基于所请求的内容ID将对等ID投到各种桶中。因此,分组模块210被配置成基于所述映射将对等ID添加到列表214中。图2图示出分组模块210已经生成并且维持针对第一内容ID 218(例如,操作系统更新)的对等ID216的第一列表,并已生成并维持针对第二内容ID 222(例如,新视频游戏)的对等ID 220的第二列表。虽然图2图示出两个内容ID,但是应理解的是,在本文档的上下文中,对等匹配节点可以为分配给对等匹配单元(其中,该对等匹配节点在该对等匹配单元内被配置)的任何数量的内容ID(例如,一个、三个、五个、十个、二十个、一百个等)实施对等匹配服务。
节点报告模块212被配置成向中心点104报告与列表214相关联的信息。报告可以在给定时间段期间周期性地(例如,每15分钟、每小时,每5个小时、每12小时等)实现,或者报告可以响应于从所述中心点104接收到的报告指令来实现。在一些情况下,一旦在特定对等匹配节点处发生了针对列表214的阈值数量的改变(例如,某一数量的新对等ID被添加到列表中,某一数量的过期对等ID从列表中移除,或者两者的组合),就实现报告。因此,节点报告模块212被配置成标识针对列表的改变(例如,添加新对等ID,移除过期对等ID,更新针对对等ID的元数据,等等),以生成表示针对列表的改变的信息,并且将信息发送给中心点104。例如,该信息可以仅包括自上一次报告起已经添加到列表中的对等ID(例如,在最近的时间间隔期间已经添加的新对等ID)。在另一示例中,该信息可以仅包括自上一次报告起已经从列表移除的对等ID(例如,在最近的时间间隔期间已经移除的过期对等ID)。在又一示例中,信息可以包括自上一次报告起已经发生的针对对等元数据的更新,其指示对等状态的改变(例如,由对等设备使用的P2P协议类型的改变,由对等设备使用的IP地址的改变,与已经获得的内容ID相关联的数据量的改变,等等)。在一些情况下,信息可以包括自上一次报告起已经添加到列表中的新对等ID、自上一次报告起已经从列表移除的过期对等ID、以及针对对等元数据的更新的组合。作为替换,该信息可以包括在列表中的对等ID的完整列表(例如,具有对新对等ID、过期对等ID和/或具有更新的元数据的对等ID做出区分和/或标识的信息)。
节点报告模块212随后被配置成从中心点104接收与针对所述列表214的附加改变相关的信息。在各种示例中,所接收到的信息表示在对等匹配单元102内的多个对等匹配节点106(1)...106(N)处发生的改变(例如,添加新对等ID,移除过期对等ID等)。
因此,分组模块210被配置成基于从所述中心点104接收的信息来更新列表214。而且,对等登记模块208被配置成向已经联系过请求对等匹配的特定对等匹配节点的对等设备提供对等ID的d列表。
在各种实现中,从中心点104接收的与针对列表214的改变相关的信息可以包括与更新相关联的版本号。版本号可以是连续的,因此可以表示在前一列表和当前(例如新的经更新的)列表之间(例如,从一个报告时段到下一个报告时段)的德尔塔(δ)(例如差异)。而且,版本号可以由对等匹配节点和中心点用来请求和接收由于对等匹配节点不可用于接收更新(例如,对等匹配节点失效,对等匹配节点由于失去连接而离线等)而错过的更新。例如,当重新联机时,对等匹配节点可以请求中心点104检查,以确定对等匹配节点是否具有列表的当前和最新版本。对等匹配节点向中心点报告其列表的最近一次的版本号(例如,对等匹配节点所知道的最近一次的版本号),以及作为响应,中心点可以确定对等匹配节点所知道的最近一次的版本号不是由中心点维持的列表的当前版本号。然后,对于错过的任何版本,中心点可以向对等匹配节点发送与针对列表的改变相关联的信息,使得对等匹配节点本地存储的列表的版本可以被返回到,或带回到最近的状态。因此,图2图示出与第一内容ID 218相关联的对等ID 216的第一列表与版本号224相关联,而与所述第二内容ID 222相关联的对等ID 220的第二列表与版本号226相关联。
节点报告模块212还被配置成向中心点104报告与对等匹配节点的健康相关的信息。例如,与健康相关的信息可以包括从对等设备接收到的请求的数量(例如,每一个时间间隔)。在另一个示例中,与健康相关的信息可以包括可用资源(例如,处理资源、存储器资源、联网资源等)的量。可以关于上述最佳操作容量来确定可用资源的量,或者可替换地,可以关于如上所述的与性能劣化相关联的总操作容量来确定可用资源的量。
图3是描绘了中心点的附加细节的中心点设备300的框图(例如,在图1中所图示的中心点104可以包括中心点设备300)。中心点设备300还包括一个或多个处理器302和存储器304,以及(多个)网络接口306,使得中心点设备300可以与对等匹配节点(例如,在图1中的对等匹配节点106(1)...106(N))和(如本文中进一步关于图7和图8所说明的单元控制器通信。(多个)处理器302和/或存储器304可以是以上关于图2描述的(多个)示例处理器202和/或示例存储器204中的一个。
存储器304包括同步模块308、中心点报告模块310、以及维持列表312的数据仓库。
同步模块308被配置为从个体对等匹配节点接收与针对列表312的改变相关联的信息,其中,从个体对等匹配节点接收到的改变特定于该特定对等匹配节点。用于接收信息的时段(例如,报告时段)可以是周期性的(例如,每15分钟、每小时、每5小时、每12小时等),或同步模块308可以发出让所述对等匹配节点106(1)...106(N)报告的指令。同步模块308然后可以,对于每个内容ID,组合所接收到的信息并且生成表示针对列表312的改变的更大群的信息(例如,自前一版本起已经在多个对等匹配节点上添加的对等ID、自前一版本起已经在多个对等匹配节点上移除的对等ID、等等)。
因此,图3图示出了,数据仓库维持了针对第一内容ID 220(例如,来自图2的操作系统更新)的对等ID 314的第一列表和针对第二内容ID 224(例如,来自图2的新视频游戏)的对等ID316的第二列表。而且,与第一内容ID 220相关联的对等ID314的第一列表与由同步模块308分配的版本号318相关联,而与第二内容ID 224相关联的对等ID 316的第二列表与由同步模块308分配的版本号320相关联。在一些情况下,对等ID 314可以与对等ID 216相同(例如,如果对等匹配节点具有最新的状态或版本号224等同于版本号318并且没有进一步的改变在对等匹配节点处发生),和/或对等ID 316可以与对等ID 220相同(例如,如果对等匹配节点具有最新的状态或版本号226等同于版本号320并且没有进一步的改变在对等匹配节点处发生)。然而,在其他情况下,所述列表可以是不同的(例如,如果已经在对等匹配节点本地发生了改变,如果对等匹配节点错过了针对所同步的列表的更新)。如上所述,版本号可以用于随后提供对等匹配节点先前错过的更新。
中心点报告模块310被配置成,向如本文中进一步关于图7和图8讨论的单元控制器报告与对等匹配单元102的健康(例如,基于由个体对等匹配节点106(1)...106(N)报告的健康信息的集合性健康)相关的信息。例如,与对等匹配单元的健康相关的信息可以包括从对等设备110的集合性群接收到的请求的总数(例如,每一个时间间隔)。在另一个示例中,与健康相关的信息可以包括针对对等匹配节点106(1)...106N的集合性群的可用资源(例如,处理资源、存储器资源、联网资源等)的量。
图4-6、图9和图11独立地图示出了用于采用本文所描述的技术的示例过程。示例过程被图示为逻辑流图,其每一个操作表示可以以硬件、软件、或它们的组合来实现的操作序列。在软件的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,这些指令当由一个或多个处理器执行时,配置设备或系统以执行所述操作。一般说来,计算机可执行指令包括执行特定功能的例程、程序、对象、组件、数据结构等。这些操作被描述的顺序并不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实现该过程。此外,任何个体操作可被省略。
图4是示例过程400的流程图,所述示例过程400在个体对等匹配节点(例如,对等匹配节点106(1))处实现,以基于所接收到的请求维持和更新对等标识符列表,并提供对等标识符列表用于对等匹配目的。可以与图1-3中所图示的各种元件相关联地实现示例过程400。
在402处,从对等设备接收针对登记对等匹配服务的请求。该请求可以包括与对等设备相关联的对等ID(例如,IP地址或另一个标识符等等)、与对等设备想要获得的内容相关联的内容ID,以及对等元数据。
在404处,对等ID被添加到存储在对等匹配节点处的对等ID列表的一个版本中。
在406处,向对等设备提供对等ID列表的所述版本。如上所述,对等ID列表包括向对等匹配单元内的其他对等匹配节点登记的对等设备的对等ID。通过由中心点执行的同步,可以在多个对等匹配节点之上按比例调整为了对等匹配而消耗的资源,但避免了群体分裂。因此,可以向对等匹配单元102中的任何对等匹配节点106(1)、106(2)、106(N)以及通过代理向针对任何对等匹配节点106(1)、106(2)、106(N)而登记的任何对等设备(例如,群体中的所有对等设备110),提供有一个进入到其他对等ID的视图,其中已经为了对等匹配来获得相同内容而向其他对等匹配节点登记了所述其他对等ID。
可以针对从对等设备接收的每个请求重复操作402、404和406,如将操作406连接到操作402的箭头所示出的那样。
除了响应于接收到所述请求提供所述列表之外,对等匹配节点还被配置成,持续地向中心点传输针对列表的更新,因而中心点可以持续地基于在多个对等匹配节点上发生的集合性改变来更新其列表的版本,并将经更新的列表返回给对等匹配节点。
因此,在各种实现中,在408处,(通过执行操作404)可以基于由特定对等匹配节点添加的对等ID来标识出针对列表的改变的第一集合。该标识操作可以基于所定义的时间段(例如,每5分钟,每15分钟,每小时,每4个小时,每12小时等)而发生,或标识操作可以被触发(例如,基于达到了阈值数量的改变,响应于从所述中心点接收到指令,等等)。
在410处,可以生成表示针对列表的改变的第一集合的信息。例如,该信息可以包括自上一次报告起已经添加到列表中的对等ID和/或更新(从对等匹配节点发送给中心点的针对列表的上一次更新或者从中心点接收的针对列表的上一次更新)。在又一示例中,信息可以包括在列表中的对等ID的完整列表(例如,具有对新对等ID做出区分和/或标识的信息)。
在412处,表示针对列表的改变的第一集合的信息被发送到所述中心点,使得中心点可以组合在多个对等匹配节点上发生的改变(例如,更新列表,并提供经更新的列表,因而改变在对等匹配单元中的所有对等匹配节点上被同步)。
在414处,从中心点接收表示针对列表的改变的第二集合的信息。所述改变的第二集合在多个对等匹配节点上发生,并且因此,所述改变的第二集合典型地大于特定于个体对等匹配节点的改变的第一集合。
在416处,基于表示改变的第二集合的信息来更新本地存储在对等匹配节点处的列表的版本。
在各种实现中,一旦列表被更新,对等匹配节点可以被配置成返回到操作406,其中,其发送经更新的列表给对等设备(例如,新登记的对等设备和/或在针对列表的更新之前可能已经接收了列表的先前版本的对等设备)。
图5是另一示例过程500的流程图,所述示例过程500在个体对等匹配节点(例如,对等匹配节点106(1))处实现,以基于所接收的请求维持和更新对等标识符的列表,并且提供对等标识符的列表用于对等匹配目的。可以与在图1-3中所图示出的各种元件相关联地实现示例过程500。
在502处,基于不再向对等匹配节点登记对等设备(例如,对等设备不再被认出为可用于特定内容的P2P共享或P2P传输)来确定已经过期的对等ID。
在504处,从列表中移除过期的对等ID。对于许多过期的对等设备,可以重复操作502和504,如将操作504往回连接到操作502的箭头所示的那样。
在506处,可以基于已经从特定对等匹配节点移除的对等ID来标识出针对列表的改变的第一集合。如上所述,在一个示例中,标识操作基于所定义的时间段(例如,每5分钟、每15分钟,每小时、每4个小时、每12个小时等)来发生。在一个可替换的示例中,可以基于达到了阈值数量的改变,或响应于从所述中心点接收到指令,来触发标识操作。
在508处,可以生成表示针对列表的改变的第一集合的信息。例如,该信息可以包括自上一次报告起已经从列表移除的对等ID。在又一个示例中,该信息可以包括在列表中的对等ID的完整列表。
在510处,向所述中心点发送表示针对列表的改变的第一集合的信息。
在各种实现中,可以与图4的操作408、410和412相关联地实现图5中的操作506、508和510。例如,发送给中心点的表示针对列表的改变的第一集合的信息可以包括自上一次报告和所接收的上一次更新起已经添加的对等ID和/或自上一次报告或所接收的上一次更新起已经从列表中移除的对等ID。
在附加的示例中,从对等匹配节点提供给中心点的改变的第一集合还可以包括由对等匹配节点跟踪和存储的针对对等元数据的改变(例如,从一个状态到另一个状态的改变)。例如,针对对等元数据的改变可以包括:由对等设备使用的P2P协议的类型的改变、由对等设备使用的IP地址的改变,与已经获得的内容ID相关联的数据量的改变、等等。
图6是示例过程600的流程图,所述示例过程600在中心点(例如,中心点104)处实现,以维持和更新对等标识符的列表,并向各个对等匹配节点提供对等标识符的列表,以用于对等匹配目的。可以与图1-3中所图示的各个元件相关联地实现所述示例过程600。
在602处,从多个对等匹配节点中的个体对等匹配节点接收表示针对列表的改变的信息(例如,接收相对于图3和/或图4描述的改变的第一集合)。例如,中心点104可以根据周期性报告时间表从每个对等匹配节点接收信息。在另一个示例中,中心点可以在向所有对等匹配节点广播报告指令之后从每个对等匹配节点接收信息。在又一个示例中,中心点可以在不同时间以及基于在所述不同对等匹配节点处认出的不同触发事件(例如,对等匹配节点认出阈值数量的针对列表的改变),从个体对等匹配节点接收信息。
在604处,对于特定的内容ID,组合所接收到的信息。例如,中心点104可以组合在一个给定时间段内从所有对等匹配节点接收的各个改变。
在606处,对于该特定的内容ID,基于所组合的信息生成表示针对列表的改变的集合的信息(例如,相对于图3和/或图4描述的改变的第二集合)。在各种实现中,中心点104将版本号与针对列表的改变的当前实例相关联(例如,中心点104将前一版本号递增一,并且将该新版本号分配给当前更新,因而可以确定更新序列)。
在608处,对于该特定的内容ID,将表示针对列表的改变的集合的信息提供给所述多个对等匹配节点中的个体对等匹配节点。因此,对等匹配节点然后可以分别更新它们在对等匹配节点处本地存储的列表的版本,并提供经更新的列表给已经向每个对等匹配节点登记的在群体内的对等设备的子集。
在各种示例中,表示针对列表的改变的信息可以被提供有与针对列表的改变相关联的版本号。当特定对等匹配节点先前不可用(例如,离线,失效)于接收表示针对列表的改变的信息时以及如果特定对等匹配节点先前不可用(例如,离线,失效)于接收表示针对列表的改变的信息,则版本号可能是有用的。因此,特定的对等匹配节点可以向中心点发出具有该特定的对等匹配节点所知晓的最后一个已知版本号的请求。该中心点可以接收具有最后一个已知版本号的请求,并把它与维持在中心点处的针对列表的当前版本号相比较。如果所比较的版本号不匹配,则中心点可以确定该特定对等匹配节点错过了哪些(例如,多少)更新,并且随后向该特定对等匹配节点提供表示针对所错过的(多个)版本号的改变的信息。该信息可以对应于针对单个版本号或多个版本号(例如,两个、三个、四个、八个、十个、等)的改变,这取决于该特定的对等匹配节点错过了多少更新。
在各种示例中,失效了且重新启动的特定的对等匹配节点可以可替换地发出针对接收用于内容ID的对等ID的完整列表(例如,所有的对等ID,而不管近来的改变如何)的请求。所述中心点可以接收该请求,并向该特定的对等匹配节点提供完整的列表。
在610处,可以确定被配置在对等匹配单元内的对等匹配节点的健康。例如,可以由中心点104监视健康,或者可以基于由对等匹配节点提供给中心点104的各种报告来确定健康。也就是说,提供给中心点104的表示针对列表的改变的信息也可以包括健康信息,比如当前登记的对等设备的数量、可用的处理资源的量,可用的存储器资源的量、和/或可用的联网资源的量。在各种实现中,中心点104可以相对于由对等匹配节点106(1)...106N)中的个体对等匹配节点报告的当前登记的对等设备的数量来确定可用资源的量。
在612处,可以向单元控制器报告被配置在对等匹配单元内的对等匹配节点的健康。
图7是描绘了示例环境700的框图,其中,单元控制器702被配置成管理活动对等匹配单元704(1)...704(J)的群,其中J是正整数。该群对等匹配单元704(1)...704(J)是“活动的”,这是因为它们各自都被分配了一个或多个内容ID,并且其任务是,处置针对所分配的内容ID的对等匹配请求。
例如,在各种示例中,单元控制器702被配置成管理对等设备能够通过P2P共享和P2P传输下载的内容的对等匹配。内容提供者可以操作单元控制器702,或向单元控制器702通知可用于P2P共享和P2P传输的内容ID。因此,单元控制器702被配置成向一个或多个活动对等匹配单元分配各个内容ID中的个体内容ID。单元控制器702然后向发现服务706提供内容ID分配,如通过708所引用的那样。发现服务706被配置成存储内容ID到对等匹配单元的映射710。随后,对等设备712(1)...712(I)(其中,I是正整数,其可以包括成千上万的对等设备,数万对等设备等)被独立地配置成联系发现服务706,以确定应该联系哪个VIP地址714和/或那个活动对等匹配单元704(2),使得对等设备712(1)...712(I)可以针对想要获得的特定内容ID而登记对等匹配服务(例如,在本示例中,所想要的内容ID被分配给活动对等匹配单元704(2))。
单元控制器702还被配置成在对等匹配单元之间按比例调整所接收到的请求。例如,每个活动对等匹配单元704(1)...704(J)向单元控制器702报告其健康状态(例如,可用资源)和/或已经登记在活动对等匹配单元内的对等设备的数量,如通过716所引用的那样。单元控制器702被配置成存储和监视用于活动对等匹配单元704(1)...704(J)中的个体活动对等匹配单元的健康量度718和已经向活动对等匹配单元704(1)...704(J)中的个体活动对等匹配单元登记的对等设备的数量720。在各种示例中,单元控制器702可以根据内容ID对许多对等设备702进行排序和/或组织(例如,第一数量的对等设备可以与第一内容ID相关联,第二数量的对等设备可以与第二内容ID相关联,等等)。在按比例调整请求时可以对此进行考虑(例如,哪些内容ID应该被重新分配)。
在各种实现中,单元控制器702可以基于对健康量度718和/或所登记的对等设备720的数量的评价,来确定特定的活动对等匹配单元704(2)是过载的。例如,活动对等匹配单元704(2)可能意识到如722所引用的所登记的对等设备的数量的增长,以及所登记的对等设备的数量可能大于预期的或预测的数量(例如,由于获得内容的高峰)。因此,单元控制器702可以实现一个动作,来在其他对等匹配单元上按比例调整已经登记在对等匹配单元704(2)内的增大数量的对等设备720。在一个示例中,单元控制器702可以将对等设备的数量720与为了按比例调整的目的建立的对等设备的阈值数量相比较,并且如果对等设备的数量720超过阈值时,则单元控制器702可以实现按比例调整动作。
在一个示例中,由单元控制器702实现的动作可以包括,将来自过载的潜在地不健康的活动对等匹配单元704(2)的(例如,多个分配的内容ID中的)内容ID重新分配给非过载的健康的另一个活动对等匹配单元(例如,704(1)或704(J))。这最终减少了向被配置在活动对等匹配单元704(2)内的对等匹配节点登记的对等设备的数量。
在另一个示例中,由单元控制器702实现的动作可以包括,如通过726所引用的,激活准备好用于过载场景的各个充溢对等匹配单元724(1)...724(H)中的一个。因此,单元控制器702可以将来自过载的潜在地不健康的活动对等匹配单元704(2)的(例如,多个分配的内容ID中的)内容ID重新分配给充溢对等匹配单元724(1),所述充溢对等匹配单元724(1)最近已经被激活来按比例调整请求并且减少已经向被配置在活动对等匹配单元704(2)内的对等匹配节点登记的对等设备的数量。
图8是描绘了单元控制器(例如,在图7中图示出的单元控制器702)的附加细节的单元控制器设备800的框图。单元控制器设备800还包括一个或多个处理器802和存储器804,以及(多个)网络接口806,使得单元控制器设备800可以与对等匹配单元(例如,图7中的对等匹配单元704(1)...704(J))和发现服务(例如,图7中的发现服务706)进行通信。(多个)处理器802和/或存储器804可以是以上关于图2描述的(多个)示例处理器202和/或示例存储器204中的一个。
存储器804包括内容分配模块808、健康监视模块810、按比例调整模块812和在单元控制器702的管理下维持对等匹配单元的健康信息的数据仓库。
所述内容分配模块808被配置成,确定针对各种内容ID的分配并向发现服务706提供该分配,因而该分配可以被想要经由P2P共享和P2P传输获得内容的对等设备发现。内容分配模块808还被配置成更新与单元控制器设备800相关联的数据仓库,使得可以跟踪和监视健康信息。因此,图8图示出了第一对等匹配单元ID 814被分配了一个或多个第一内容ID816,第二对等匹配单元ID 818被分配了一个或多个第二内容ID 820,以及第三对等匹配单元ID 822被分配了一个或多个第三内容ID 824。
所述健康监视模块810被配置成接收来自对等匹配单元的健康状态报告,其中健康状态报告包括健康量度和已经登记在活动对等匹配单元内的对等设备的数量。健康监视模块810被配置成基于所接收到的报告存储健康信息。因此,图8图示出了针对所述第一对等匹配单元ID 814的第一健康信息826被存储并被持续更新,针对第二对等匹配单元ID818的第二健康信息828被存储并被持续更新,以及针对第三对等匹配单元ID 822的第三健康信息830被存储并被持续更新。
按比例调整模块812被配置成,估计用于各个对等匹配单元的健康信息并且确定特定的活动对等匹配单元(例如,对等匹配单元704(2))是过载的。按比例调整模块812然后可以实现一个动作来按比例调整已经向被配置在过载的对等匹配单元内的对等匹配节点登记的设备的数量。在各种实现中,按比例调整模块812将预定义阈值832用于估计和确定目的。例如,按比例调整模块812可以将所登记的设备的当前数量与所登记的设备的阈值数量相比较,以确定对等匹配单元是过载的(例如,如果当前的数量大于阈值数量)。在另一个示例中,按比例调整模块812可以将在对等匹配单元内的可用资源(例如,处理资源、存储器资源、联网资源或其组合)的当前量与可用资源的阈值量相比较,以确定对等匹配单元是过载的(例如,如果当前的量小于阈值量)。
图9是示例过程900的流程图,所述示例过程900在单元控制器(例如,单元控制器702)处实现以在对等匹配单元之间按比例调整请求。可以与例如在图7和图8中所图示出的各种元件相关联地实现示例过程900。
在902处,内容ID被分配给对等匹配单元。例如,由内容提供者操作的单元控制器702可以接收与可用于P2P共享和P2P传输的内容的各个片段相关联的内容ID并且可以将内容ID分配给对等匹配单元。
在各个示例中,单元控制器702可以确定并配置用于对等匹配单元的对等匹配节点的数量。这可以基于要从对等设备接收的预期的或者预测的登记请求的数量。预期的登记请求的数量可以是针对特定时间间隔的,可以基于为了对等匹配目的而分配给对等匹配单元的个体内容ID的考虑,来确定预期的登记请求的数量。为对等匹配单元定义的配置在对等匹配单元内的对等匹配节点的数量还可以基于个体对等匹配节点的最佳操作容量。
在904处,将分配提供给发现服务,因而该分配可以被想要经由P2P共享和P2P传输获得内容的对等设备发现。
在906处,接收指示在个体对等匹配单元内登记的对等设备的数量和/或健康的信息(例如报告)。而且,可以与对等匹配单元ID相关联地存储该信息。
在908处,确定对等匹配单元需要按比例调整援助。例如,单元控制器702可以使用预定义的阈值832来确定对等匹配单元是过载并且需要按比例调整援助。将所登记的设备的当前数量与所登记的设备的阈值数量相比较,以确定对等匹配单元是过载的并且需要按比例调整援助。或者,可以将对等匹配单元内的可用资源的当前量与可用资源的阈值量相比较来确定对等匹配单元是过载的并且需要按比例调整援助。
在910处,实现按比例调整已经登记在过载的对等匹配单元内的对等设备的数量的动作。在一个示例中,单元控制器702可以激活充溢对等匹配单元并且将来自过载的对等匹配单元的内容ID(例如,或多个内容ID)重新分配给被激活的充溢对等匹配单元,以减少已经向被配置在过载的对等匹配单元内的对等匹配节点登记的对等设备的数量。在另一个示例中,单元控制器702可以将来自过载的对等匹配单元的内容ID(例如,或多个内容ID)重新分配给已经是活动的但是是健康的非过载的另一个对等匹配单元,以减少已经向被配置在对等匹配单元内的对等匹配节点登记的对等设备的数量。
在一个实现中,重新分配的内容ID可以是完全重新分配的,使得过载的对等匹配单元不再被配置成处置针对该内容ID的登记请求(例如,内容ID不再被分配给该过载的对等匹配单元)。在可替换的实现中,重新分配的内容ID可以在过载的对等匹配单元和新的对等匹配单元(例如,新的活动对等匹配单元,最近激活的充溢对等匹配单元等)之间拆分,使得两个对等匹配单元都被配置为处置针对内容ID的登记请求(例如,该内容ID被分配给一个以上的对等匹配单元)。
在重新分配内容ID之后,示例过程900返回到操作904,其中向发现服务提供经更新的分配。
图10是描绘了示例环境1000的框图,其中对等设备的子集1002(1)...1002(G)(其中,G是正整数)可以被确定是位于一处的(co-located),因而可以有效地实现内容的P2P共享和内容的P2P传输,可以有效地实现。位于一处的对等设备1002(1)...1002(G)可以是更大的对等设备集合1004(例如,已经向被配置在对等匹配单元内的对等匹配节点登记的对等设备的群体)的子集。位于一处的对等设备提高了对等设备可以经由P2P共享和P2P传输获取(例如,下载)内容的效率。
图10图示出了对等匹配节点设备200(来自于图2)和中心点设备300(例如,来自于图3)。对等匹配节点设备200和中心点设备300可以彼此交互,并且彼此一起工作,以确定设备的子集1002(1)...1002(G)是否位于一处。在可替换的实现中,本文所描述的位于一处功能性可以通过对等匹配节点设备200或中心点设备300来实现。因此,对等匹配节点设备200和/或中心点设备300包括位于一处模块1006。
位于一处模块1006被配置成确定设备的子集是否位于一处(例如,位于一处的对等设备1002(1)...1002(G))。位于一处模块1006被配置成,如通过1008所引用的,从对等设备的群体1004中接收位置信息1010,以及使用所接收的位置信息1010来创建位于一处的子集。在各种示例中,由位于一处模块1006用于使对等设备的子集1002(1)...1002(G)位于一处的所述位置信息1010可以包括IP地址1012、域信息1014、地理位置信息1016、因特网服务提供者(ISP)1018、或其组合。在一些实现中,位于一处模块1006可以使用上述信息来导出设备之间的距离,并基于所导出的距离来将“接近的”对等体定义为位于一处的对等体。然后位于一处模块1006可以对对等标识符的列表中的位于一处对等标识符进行优先化,并且如通过1020所引用的,将经优先化的对等标识符的列表发送给位于一处对等设备1002(1)...1002(G),使得它们可以在尝试建立与在更大的对等设备的群体1004中的其他对等设备的P2P连接之前尝试建立彼此的P2P连接,以获得内容。
IP地址1012、域信息1014、地理位置信息1016和/或因特网服务提供者(ISP)1018可以指示对等设备的子集1002(1)...1002(G)的接近性(例如,基于所导出的之间的距离,指示对等设备的子集位于预定距离阈值内)和/或可以指示对等设备的子集1002(1)...1002(G)是同一域的一部分或者使用同一ISP。在一些示例中,位置信息1010可以用于确定两个设备都位于同一建筑物或设施(例如,同一房子、同一商务套房、同一企业校园、同一教育校园等)中。而且,在各种示例中,位于一处模块1006可以使用该位置信息来确定对等设备的子集1002(1)...1002(G)能够在内部网络内实现与内容标识符相关联的内容的点对点传输,而不使用将数据从内部网络路由到外部网络的联网装备(例如,路由器)。可能更加成本有效的且可能节省更多时间的是,从(例如,在地理上)接近另一个对等设备的对等设备获得内容,从作为与另一个对等设备相同的网络域的一部分的对等设备获得内容,和/或从对等设备获得内容而不使用外部网络。
图11是用于使对等设备的子集(例如,对等设备1002(1)...1002(G))位于一处的示例过程1100的流程图。可以例如与图10中所图示的各种元件相关联地实现示例过程1100。
在1102处,接收与请求相关联的位置信息,其中所述请求用于为了与内容ID相关联的对等匹配服务而登记对等设备集合(例如,对等设备集合可以包括群体)。
在1104处,基于所述位置信息确定更大的对等设备集合的子集与指示该子集中的对等设备彼此接近的位于一处信息相关联。例如,IP地址、域信息、地理位置信息、和/或ISP可以被检查和被确定为与在彼此的预定义阈值距离内的对等设备相关联。在另一个示例中,IP地址、域信息、地理位置信息、和/或ISP可以被检查和被确定为与作为同一域的一部分的对等设备相关联。
在1106处,生成和/或更新用于与该内容ID相关联的对等匹配服务的对等标识符的列表(例如,如上所述的列表)。
在1108处,优先化针对被确定为位于一处的对等设备的对等标识符的列表,使得与包括在位于一处对等设备子集中的对等设备相对应的对等标识符被放置在与不包括在位于一处对等设备子集中的其他对等设备相对应的其他对等标识符的前面。
在1110处,将经优先化的对等标识符的列表提供给在位于一处对等设备的子集中的对等设备。
示例条款
示例A,一种设备包括:一个或多个处理器;存储器,其存储与对等设备集合相对应的对等标识符的列表的第一版本,其中,所述对等设备集合已经向用于与内容标识符相关联的对等匹配服务的多个对等匹配节点进行了登记;以及存储在存储器上的一个或多个模块,所述一个或多个模块可由所述一个或多个处理器执行来:标识出针对对等标识符的列表的第一版本的改变的第一集合,所述改变的第一集合在所述多个对等匹配节点中的特定对等匹配节点处发生,所述改变的第一集合中的个体改变包括,至少部分地基于从新对等设备接收到向用于与内容标识符相关联的对等匹配服务的特定对等匹配节点进行登记的新请求,来将新对等标识符添加到对等标识符的列表的第一版本;生成表示针对对等标识符的列表的第一版本的改变的第一集合的第一信息;向中心点发送表示针对对等标识符的列表的第一版本的改变的第一集合的第一信息,所述中心点被配置成,基于在用于与内容标识符相关联的对等匹配服务的多个对等匹配节点中的至少两个上发生的改变的第二集合,来更新对等标识符的列表的第二版本;从所述中心点接收表示针对对等标识符的列表的第二版本的改变的第二集合的第二信息;至少部分地基于从中心点接收的第二信息来更新对等标识符的列表的第一版本;以及向已经向特定对等匹配节点登记的至少一个对等设备提供对等标识符的列表的第一版本。
示例B,示例A的设备,其中表示针对对等标识符的列表的第一版本的改变的第一集合的第一信息包括在最近的时间间隔期间添加的多个新对等标识符。
示例C,示例A或示例B的设备,其中,所述改变的第一集合中的个体改变包括,至少部分地基于确定不再向用于与内容标识符相关联的对等匹配服务的特定对等匹配节点登记现有对等设备,而从对等标识符的列表的第一版本移除过期的对等标识符。
示例D,示例C的设备,其中,表示针对对等标识符的列表的第一版本的改变的第一集合的第一信息包括在最近的时间间隔期间移除的多个过期的对等标识符。。
示例E,示例A至示例D中的任一项的设备,其中,所述改变的第一集合中的个体改变包括,将表示对等状态的元数据从第一对等状态更新到不同于第一对等状态的第二对等状态。
示例F,示例A至示例E中的任一项的设备,其中所述一个或多个模块还可以由所述一个或多个处理器执行来:确定发生了失效并且该设备已被重新启动;向所述中心点发送针对保持在对等标识符的列表的第二版本中的所有对等标识符的请求;以及从所述中心点接收保持在对等标识符的列表的第二版本中的所有对等标识符。
示例G,示例A至示例F中的任一项的设备,其中,所述对等设备集合包括群体,并且其中更新对等标识符的列表的第一版本和第二版本避免了群体分裂。
虽然以上关于设备描述了示例A至示例G,但是应理解的是,在本文档的上下文中,示例A至示例G的主题可以附加地和/或可替换地通过存储在一个或多个计算机存储介质上的可执行指令和/或由系统实现为:一种方法。
示例H,一种设备包括:一个或多个处理器;存储器,其存储与对等设备集合相对应的对等标识符的列表,其中,所述对等设备集合已经向用于与内容标识符相关联的对等匹配服务的多个对等匹配节点进行了登记;以及存储在存储器上的一个或多个模块,所述一个或多个模块可由所述一个或多个处理器执行来:从所述多个对等匹配节点中的个体对等匹配节点接收表示针对对等标识符的列表的改变的第一集合的第一信息,所述改变的第一集合中的个体改变包括,添加已经向该个体对等匹配节点进行了登记的新对等标识符;至少部分地基于从所述多个对等匹配节点中的个体对等匹配节点接收到的第一信息,生成表示针对对等标识符的列表的改变的第二集合的第二信息,针对对等标识符的列表的改变的第二集合发生在所述多个对等匹配节点中的至少两个上;以及向所述多个对等匹配节点中的个体对等匹配节点提供表示针对对等标识符的列表的改变的第二集合的第二信息。
示例I,示例H的设备,其中,所述改变的第一集合中的个体改变包括,从对等标识符的列表移除过期的对等标识符。
示例J,示例H或示例I的设备,其中,响应于从所述设备发送给所述对等匹配节点中的个体对等匹配节点的针对所述第一信息的请求,接收第一信息。
示例K,示例H至示例J中的任一项的设备,其中所述一个或多个模块还可以由所述一个或多个处理器执行来:将版本号与表示针对对等标识符的列表的改变的第二集合的第二信息相关联;从先前不可用于接收表示针对对等标识符的列表的改变的第二集合的第二信息的特定对等匹配节点接收针对版本号的请求;以及随后至少部分地基于版本号向该特定对等匹配节点提供表示针对对等标识符的列表的改变的第二集合的第二信息。
示例L,示例H至示例K中的任一项的设备,其中:所述对等设备集合包括群体;以及所述多个对等匹配节点被配置成,至少部分地基于在给定时间间隔期间的组成该群体的对等设备的预测数量而在对等匹配单元内操作。
示例M,示例L的设备,其中,所述多个对等匹配节点被配置成,基于总操作容量中的针对个体对等匹配节点的预定义操作容量而在对等匹配单元内操作。
示例N,示例L的设备,其中,所述一个或多个模块还可以由所述一个或多个处理器执行来:从已经加入了对等匹配单元的新的对等匹配节点接收针对对等标识符的列表中的所有对等标识符的请求;以及向该新的对等匹配节点提供对等标识符的列表中的所有对等标识符。
虽然以上关于设备描述了示例H至示例M,但是应理解的是,在本文档的上下文中,示例H至示例M的主题可以附加地和/或可替换地通过存储在一个或多个计算机存储介质上的可执行指令和/或由系统实现为:一种方法。
示例O,一种设备包括:一个或多个处理器;存储器;以及存储在存储器上的一个或多个模块,所述一个或多个模块可由所述一个或多个处理器执行来:将一个或多个内容标识符分配给对等匹配单元;接收信息,该信息指示已经向用于与所述一个或多个内容标识符相关联的对等匹配服务的被配置在对等匹配单元内的多个对等匹配节点进行了登记的对等设备的数量;确定对等设备的数量超过了对等设备的阈值数量;以及实现用于在多个对等匹配单元上向外扩展与所述一个或多个内容标识符相关联的对等设备请求的动作。
示例P,示例O的设备,其中,所述动作包括:激活一个或多个充溢对等匹配单元;以及将来自对等匹配单元的所述一个或多个内容标识符中的内容标识符重新分配给一个或多个充溢对等匹配单元,以便减少已经向用于与所述一个或多个内容标识符相关联的对等匹配服务的被配置在对等匹配单元内的多个对等匹配节点进行了登记的对等设备的数量。
示例Q,示例P的设备,其中,与所述内容标识符相关联的对等设备请求在所述对等匹配单元和所述一个或多个充溢对等匹配单元之间拆分。
示例R,示例O的设备,其中,所述动作包括,将所述一个或多个内容标识符中的内容标识符重新分配给一个或多个其他对等匹配单元,以便减少已经向用于与所述一个或多个内容标识符相关联的对等匹配服务的被配置在对等匹配单元内的多个对等匹配节点进行了登记的对等设备的数量。
示例S,示例R的设备,其中,与所述内容标识符相关联的对等设备请求在所述对等匹配单元和所述一个或多个其他对等匹配单元之间拆分。
示例T,示例O至示例S中的任一项的设备,其中,所述一个或多个模块还可以由所述一个或多个处理器执行来向发现服务提供所述一个或多个内容标识符的一种或多种分配,其中所述发现服务可由对等设备访问来指引对等设备到达对等匹配单元。
虽然以上关于设备描述了示例O至示例T,但是应理解的是,在本文档的上下文中,示例O至示例T的主题可以附加地和/或可替换地通过存储在一个或多个计算机存储介质上的可执行指令和/或由系统实现为:一种方法。
结论
虽然本公开内容可以使用特定于结构特征和/或方法动作的语言,但本发明不限于本文所描述的特定特征或动作。相反,这些特定特征和动作是作为实现本发明的说明性形式而公开的。

Claims (14)

1.一种设备,包括:
一个或多个处理器;
存储器,存储与对等设备集合相对应的分组的对等标识符的列表的第一版本,所述对等设备集合已经向用于与内容标识符相关联的对等匹配服务的多个对等匹配节点进行了登记;以及
存储在所述存储器上并且由所述一个或多个处理器可执行的指令,所述指令用以:
标识针对所述分组的对等标识符的列表的所述第一版本的改变的第一集合,所述改变的第一集合在所述多个对等匹配节点中的特定对等匹配节点处发生,所述改变的第一集合中的个体改变包括以下中的一个或多个:
至少部分地基于从新对等设备接收到向用于与所述内容标识符相关联的所述对等匹配服务的所述特定对等匹配节点进行登记的新请求的、新对等标识符的添加;
至少部分地基于确定现有对等设备不再向用于与内容标识符相关联的所述对等匹配服务的所述特定对等匹配节点登记的、过期的对等标识符的移除;或者
更新的元数据,所述更新的元数据表示从第一对等状态改变到不同于所述第一对等状态的第二对等状态的对等状态;
确定定义的时间段已经过期或者在所述改变的第一集合中的改变的数量超过阈值改变数量;
至少部分地基于确定所述定义的时间段已经过期或者在所述改变的第一集合中的所述改变的数量超过所述阈值改变数量,生成表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的第一信息;
向中心点发送表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的所述第一集合的所述第一信息,所述中心点被配置成基于在用于与所述内容标识符相关联的所述对等匹配服务的所述多个对等匹配节点中的至少两个对等匹配节点上发生的改变的第二集合,而更新所述分组的对等标识符的列表的第二版本;
从所述中心点接收表示针对所述分组的对等标识符的列表的所述第二版本的所述改变的第二集合的第二信息;
至少部分地基于从所述中心点接收的所述第二信息来更新所述分组的对等标识符的列表的所述第一版本;以及
向已经向所述特定对等匹配节点进行了登记的至少一个对等设备提供所述分组的对等标识符的列表的更新的所述第一版本。
2.根据权利要求1所述的设备,其中表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的所述第一信息包括在最近的时间间隔期间添加的多个新对等标识符。
3.根据权利要求1所述设备,其中表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的所述第一信息包括在最近的时间间隔期间移除的多个过期的对等标识符。
4.根据权利要求1所述的设备,其中所述指令进一步由所述一个或多个处理器可执行以便:
确定发生了失效并且所述设备已被重新启动;
向所述中心点发送针对保持在所述分组的对等标识符的列表的所述第二版本中的所有对等标识符的请求;以及
从所述中心点接收保持在所述分组的对等标识符的列表的所述第二版本中的所有对等标识符。
5.根据权利要求1所述的设备,其中所述对等设备集合包括群体,并且其中更新所述分组的对等标识符的列表的所述第一版本和所述第二版本避免了群体分裂。
6.一种方法,包括:
在多个对等匹配节点中的第一对等匹配节点处,标识针对在所述第一对等匹配节点处保持的分组的对等标识符的第一本地列表的改变的第一集合,所述改变的第一集合中的个体改变包括以下中的一个或多个:
至少部分地基于从新对等设备接收到向用于与内容标识符相关联的所述对等匹配服务的所述第一对等匹配节点进行登记的新请求的、新对等标识符的添加;
至少部分地基于确定现有对等设备不再向用于与所述内容标识符相关联的所述对等匹配服务的所述第一对等匹配节点登记的、过期的对等标识符的移除;或者
更新的元数据,所述更新的元数据表示从第一对等状态改变到不同于所述第一对等状态的第二对等状态的对等状态;
由一个或多个处理器确定定义的时间段已经过期或者在所述改变的第一集合中的改变的数量超过阈值改变数量;
至少部分地基于确定所述定义的时间段已经过期或者在所述改变的第一集合中的所述改变的数量超过所述阈值改变数量,生成表示针对所述分组的对等标识符的第一本地列表的所述改变的第一集合的第一信息;
从所述第一对等匹配节点向中心点设备发送表示所述改变的第一集合的所述第一信息,所述中心点设备被配置成基于在所述多个对等匹配节点上同步信息;
在所述第一对等匹配节点处并且从所述中心点设备接收表示改变的第二集合的第二信息,所述改变的第二集合中的个体改变包括:至少部分地基于从另一新对等设备接收到向用于与所述内容标识符相关联的所述对等匹配服务的所述第二对等匹配节点进行登记的另一新请求的、另一新对等标识符到由所述多个对等匹配节点的第二对等匹配节点保持的分组的对等标识符的第二本地列表的另一添加;
由所述第一对等匹配节点,至少部分地基于从所述中心点设备接收的所述第二信息来更新所述分组的对等标识符的第一本地列表;以及
向已经向用于与所述内容标识符相关联的所述对等匹配服务的所述第一对等匹配节点进行了登记的至少一个对等设备提供所述分组的对等标识符的更新的第一本地列表。
7.根据权利要求6所述的方法,其中表示所述改变的第一集合的所述第一信息包括在最近的时间间隔期间添加的多个新对等标识符。
8.根据权利要求6所述的方法,进一步包括:
确定发生了失效并且所述第一对等匹配节点已被重新启动;
从所述第一对等匹配节点以及向所述中心点设备发送针对由所述中心点设备保持在所述分组的对等标识符的同步的列表上的所有对等标识符的请求;以及
在所述第一对等匹配节点处并且从所述中心点设备接收由所述中心点设备保持在所述分组的对等标识符的所述同步的列表上的所有对等标识符。
9.根据权利要求6所述的方法,其中更新所述分组的对等标识符的所述第一本地列表避免了群体分裂。
10.一种方法,包括:
在多个对等匹配节点中的第一对等匹配节点处,标识针对在所述第一对等匹配节点处保持的分组的对等标识符的第一本地列表的改变的第一集合,所述分组对等标识符的所述第一本地列表对应于已经向用于与内容标识符相关联的对等匹配服务的所述多个对等匹配节点注册的对等设备集合,所述改变的第一集合中的个体改变包括以下中的一个或多个:
至少部分地基于从新对等设备接收到向用于与所述内容标识符相关联的所述对等匹配服务的所述特定对等匹配节点进行登记的新请求的、新对等标识符的添加;
至少部分地基于确定现有对等设备不再向用于与所述内容标识符相关联的所述对等匹配服务的所述特定对等匹配节点登记的、过期的对等标识符的移除;或者
更新的元数据,所述更新的元数据表示从第一对等状态改变到不同于所述第一对等状态的第二对等状态的对等状态;
由一个或多个处理器确定定义的时间段已经过期或者在所述改变的第一集合中的改变的数量超过阈值改变数量;
至少部分地基于确定所述定义的时间段已经过期或者在所述改变的第一集合中的所述改变的数量超过所述阈值改变数量,生成表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的第一信息;
向中心点发送表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的所述第一集合的所述第一信息,所述中心点被配置成基于在用于与所述内容标识符相关联的所述对等匹配服务的所述多个对等匹配节点中的至少两个对等匹配节点上发生的改变的第二集合,而更新所述分组的对等标识符的列表的第二版本;
从所述中心点接收表示针对所述分组的对等标识符的列表的所述第二版本的所述改变的第二集合的第二信息;
至少部分地基于从所述中心点接收的所述第二信息来更新所述分组的对等标识符的列表的所述第一版本;以及
向已经向所述特定对等匹配节点进行了登记的至少一个对等设备提供所述分组的对等标识符的列表的更新的所述第一版本。
11.根据权利要求10所述的方法,其中表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的所述第一信息包括在最近的时间间隔期间添加的多个新对等标识符。
12.根据权利要求10所述的方法,其中表示针对所述分组的对等标识符的列表的所述第一版本的所述改变的第一集合的所述第一信息包括在最近的时间间隔期间移除的多个过期的对等标识符。
13.根据权利要求10所述的方法,进一步包括:
确定发生了失效并且所述特定对等匹配节点已被重新启动;
向所述中心点发送针对保持在所述分组的对等标识符的列表的所述第二版本中的所有对等标识符的请求;以及
从所述中心点接收保持在所述分组的对等标识符的列表的所述第二版本中的所有对等标识符。
14.根据权利要求10所述的方法,其中所述对等设备集合包括群体,并且其中更新所述分组的对等标识符的列表的所述第一版本和所述第二版本避免了群体分裂。
CN202010419182.1A 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备及方法 Active CN111614748B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201562121413P 2015-02-26 2015-02-26
US62/121,413 2015-02-26
US15/052,675 US10270849B2 (en) 2015-02-26 2016-02-24 Scalable peer matching
US15/052,675 2016-02-24
PCT/US2016/019615 WO2016138295A1 (en) 2015-02-26 2016-02-25 Scalable peer matching
CN201680012291.3A CN107278365B (zh) 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680012291.3A Division CN107278365B (zh) 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备

Publications (2)

Publication Number Publication Date
CN111614748A true CN111614748A (zh) 2020-09-01
CN111614748B CN111614748B (zh) 2022-12-02

Family

ID=55487179

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680012291.3A Active CN107278365B (zh) 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备
CN202010419182.1A Active CN111614748B (zh) 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680012291.3A Active CN107278365B (zh) 2015-02-26 2016-02-25 用于可扩展的对等匹配的设备

Country Status (4)

Country Link
US (1) US10270849B2 (zh)
EP (1) EP3262823B1 (zh)
CN (2) CN107278365B (zh)
WO (1) WO2016138295A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11172470B1 (en) * 2012-12-21 2021-11-09 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US10148748B2 (en) 2015-02-26 2018-12-04 Microsoft Technology Licensing, Llc Co-locating peer devices for peer matching
US11461208B1 (en) 2015-04-24 2022-10-04 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US11886229B1 (en) 2016-03-08 2024-01-30 Tanium Inc. System and method for generating a global dictionary and performing similarity search queries in a network
US11609835B1 (en) 2016-03-08 2023-03-21 Tanium Inc. Evaluating machine and process performance in distributed system
US10887385B2 (en) * 2017-09-20 2021-01-05 Akamai Technologies, Inc. Marker based reporting system for hybrid content delivery network and peer to peer network
CN107894896A (zh) * 2017-11-16 2018-04-10 青岛海信电器股份有限公司 一种远程协助的自动升级方法及设备
US10838781B1 (en) * 2019-06-19 2020-11-17 Sap Se Eventually consistent metadata exchange between software applications and services
US11290461B1 (en) * 2019-06-28 2022-03-29 Amazon Technologies, Inc. Unblocking computer resource usage count
US11831670B1 (en) 2019-11-18 2023-11-28 Tanium Inc. System and method for prioritizing distributed system risk remediations
US11563764B1 (en) 2020-08-24 2023-01-24 Tanium Inc. Risk scoring based on compliance verification test results in a local network

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035211A2 (en) * 1999-11-09 2001-05-17 Jarna, Inc. Synchronizing data among multiple devices in a peer-to-peer environment
US20050251577A1 (en) * 2004-04-20 2005-11-10 Microsoft Corporation Peer-to-peer (P2P) mobility system, and method
US20080189440A1 (en) * 2007-02-02 2008-08-07 Palm, Inc. Multi-way, Peer-to-Peer Synchronization
US20090013081A1 (en) * 2007-07-06 2009-01-08 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
US20090313310A1 (en) * 2008-06-13 2009-12-17 Timothy Thome Managing a dynamic data pool on ad-hoc networks
US20100040073A1 (en) * 2008-08-15 2010-02-18 At&T Intellectual Property I, L.P. Apparatus and method for managing a network
US20130297703A1 (en) * 2011-01-14 2013-11-07 Alcatel-Lucent Peer node and method for improved peer node selection
CN103503540A (zh) * 2011-05-11 2014-01-08 华为技术有限公司 蜂窝通信系统中端到端通信的系统和方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463471B1 (en) 1998-12-28 2002-10-08 Intel Corporation Method and system for validating and distributing network presence information for peers of interest
US7403980B2 (en) 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7720996B2 (en) 2001-03-27 2010-05-18 Microsoft Corporation Internet protocol (IP) address proximity and application to peer provider location
US7440994B2 (en) 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
US7562112B2 (en) 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US20030064718A1 (en) 2001-09-28 2003-04-03 Haines Robert E. Selective communication in a wireless network based on peer-to-peer signal quality
US7783777B1 (en) 2003-09-09 2010-08-24 Oracle America, Inc. Peer-to-peer content sharing/distribution networks
US8843413B2 (en) 2004-02-13 2014-09-23 Microsoft Corporation Binding content to a domain
JP4472001B2 (ja) 2004-04-30 2010-06-02 株式会社エヌ・ティ・ティ・ドコモ ゾーンベースのピアツーピア通信
US7573901B2 (en) * 2004-08-04 2009-08-11 Sap Ag Hub-based messaging system
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
WO2007059241A2 (en) 2005-11-15 2007-05-24 Enpresence, Inc. Proximity-a ware virtual agents for use with wireless mobile devices
US7797740B2 (en) 2006-01-06 2010-09-14 Nokia Corporation System and method for managing captured content
US8707375B2 (en) 2006-04-05 2014-04-22 At&T Intellectual Property I, L.P. Peer-to-peer video on demand techniques
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
GB2440761A (en) 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
US8520673B2 (en) 2006-10-23 2013-08-27 Telcordia Technologies, Inc. Method and communication device for routing unicast and multicast messages in an ad-hoc wireless network
US8751605B1 (en) 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
WO2008064356A1 (en) * 2006-11-22 2008-05-29 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US7738404B2 (en) 2007-01-23 2010-06-15 Alcatel-Lucent Usa Inc. Method of aggregate statistic computation
US20080235331A1 (en) * 2007-01-26 2008-09-25 Sharon Melamed Scheduling synchronized demand for p2p networks
JP4954328B2 (ja) * 2007-07-02 2012-06-13 テレコム・イタリア・エッセ・ピー・アー 通信ネットワークにおけるデータ管理のための方法およびシステム
CN101340331B (zh) * 2007-07-06 2010-12-08 中国电信股份有限公司 P2p网络中利用空闲终端执行系统任务的方法
US8644842B2 (en) 2007-09-04 2014-02-04 Nokia Corporation Personal augmented reality advertising
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US8082290B2 (en) * 2008-03-19 2011-12-20 Verizon Patent And Licensing Inc. Intelligent establishment of peer-to-peer communication
US9198017B2 (en) 2008-05-19 2015-11-24 Qualcomm Incorporated Infrastructure assisted discovery in a wireless peer-to-peer network
US8730863B2 (en) 2008-09-09 2014-05-20 The Charles Stark Draper Laboratory, Inc. Network communication systems and methods
US8793332B2 (en) 2009-07-21 2014-07-29 Apple Inc. Content tagging using broadcast device information
US8285751B2 (en) 2010-04-13 2012-10-09 International Business Machines Corporation Systems and methods of networking enhancements using location based services
KR101932714B1 (ko) 2010-09-28 2018-12-26 삼성전자주식회사 소셜 그룹 생성 및 연결 방법, 그 방법을 수행할 수 있는 유저 디바이스, 서버 및 저장 매체
CN102612013A (zh) 2011-01-20 2012-07-25 华为终端有限公司 基于组的机器类型通信mtc设备的位置管理方法和设备
US20130007186A1 (en) * 2011-06-30 2013-01-03 Interdigital Patent Holdings, Inc. Controlling content caching and retrieval
WO2013003932A1 (en) 2011-07-04 2013-01-10 Research In Motion Limited System and method for sharing mobile device content
KR101902407B1 (ko) 2011-09-09 2018-09-28 엘지전자 주식회사 Wi-fi(wireless fidelity) p2p(peer to peer) 통신을 위한 방법 및 이를 위한 장치
TWI533732B (zh) 2012-01-13 2016-05-11 蘋果公司 在點對點網路環境中的裝置同步
US9258692B2 (en) 2012-03-30 2016-02-09 Qualcomm Incorporated Relay assisted peer discovery
KR20130111868A (ko) 2012-04-02 2013-10-11 삼성전자주식회사 콘텐트 공유 방법 및 이를 위한 이동 단말기
US9363214B2 (en) 2012-11-29 2016-06-07 Ricoh Company, Ltd. Network appliance architecture for unified communication services
US9680926B2 (en) 2012-12-19 2017-06-13 Hive Streaming Ab Nearest peer download request policy in a live streaming P2P network
US9591070B2 (en) 2012-12-19 2017-03-07 Hive Streaming Ab Multiple requests for content download in a live streaming P2P network
CN103023928A (zh) 2013-01-11 2013-04-03 乐视网信息技术(北京)股份有限公司 一种p2p节点匹配系统及方法
WO2014130958A1 (en) 2013-02-25 2014-08-28 Radius Mobile, Inc. Identifying computer devices in proximity to a given origin
US20140257953A1 (en) 2013-03-08 2014-09-11 Vyral Limited Liability Company Method and apparatus to anonymously communicate encrypted content between mobile devices in proximity and in expanded user communities in a contagious, viral manner
US20140274031A1 (en) 2013-03-13 2014-09-18 Qualcomm Incorporated Sharing data among proximate mobile devices with short-range wireless signals
US9413823B2 (en) 2013-03-15 2016-08-09 Hive Streaming Ab Method and device for peer arrangement in multiple substream upload P2P overlay networks
KR101475516B1 (ko) 2013-04-18 2014-12-24 주식회사 와이오즈 토렌트 프로토콜 기반의 파일 공유 방법 및 그 방법을 이용한 파일 공유 장치
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9344993B2 (en) 2014-04-01 2016-05-17 Telecommunication Systems, Inc. Location verification
US9584996B2 (en) * 2014-10-22 2017-02-28 Qualcomm Incorporated Selectively triggering a communicative action based on whether a quorum condition for a peer-to-peer group is satisfied
US10148748B2 (en) 2015-02-26 2018-12-04 Microsoft Technology Licensing, Llc Co-locating peer devices for peer matching

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035211A2 (en) * 1999-11-09 2001-05-17 Jarna, Inc. Synchronizing data among multiple devices in a peer-to-peer environment
US20050251577A1 (en) * 2004-04-20 2005-11-10 Microsoft Corporation Peer-to-peer (P2P) mobility system, and method
US20080189440A1 (en) * 2007-02-02 2008-08-07 Palm, Inc. Multi-way, Peer-to-Peer Synchronization
US20090013081A1 (en) * 2007-07-06 2009-01-08 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
US20090313310A1 (en) * 2008-06-13 2009-12-17 Timothy Thome Managing a dynamic data pool on ad-hoc networks
US20100040073A1 (en) * 2008-08-15 2010-02-18 At&T Intellectual Property I, L.P. Apparatus and method for managing a network
US20130297703A1 (en) * 2011-01-14 2013-11-07 Alcatel-Lucent Peer node and method for improved peer node selection
CN103503540A (zh) * 2011-05-11 2014-01-08 华为技术有限公司 蜂窝通信系统中端到端通信的系统和方法

Also Published As

Publication number Publication date
EP3262823B1 (en) 2019-07-03
US20160255142A1 (en) 2016-09-01
WO2016138295A1 (en) 2016-09-01
EP3262823A1 (en) 2018-01-03
CN107278365A (zh) 2017-10-20
CN111614748B (zh) 2022-12-02
CN107278365B (zh) 2020-07-17
US10270849B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
CN107251533B (zh) 用于对等匹配的位于一处的对等设备
CN111614748B (zh) 用于可扩展的对等匹配的设备及方法
CN106663030B (zh) 在分布式集群中的可扩展故障恢复通信
Gascon-Samson et al. Dynamoth: A scalable pub/sub middleware for latency-constrained applications in the cloud
US11102290B2 (en) Peer-to-peer network prioritizing propagation of objects through the network
US8032780B2 (en) Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system
US8868756B1 (en) Sticky routing
US11128698B2 (en) Producer system registration
CN111556135A (zh) 一种请求调度方法、系统、装置及电子设备
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system
CN112953982A (zh) 一种服务处理的方法、服务配置的方法以及相关装置
US10498617B1 (en) System, method, and computer program for highly available and scalable application monitoring
CN109005071B (zh) 一种决策部署方法和调度设备
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
US10812390B2 (en) Intelligent load shedding of traffic based on current load state of target capacity
KR101883671B1 (ko) 노드 분산 방법 및 이를 수행하는 관리 서버
US20080288447A1 (en) Methods and apparatus for improving peer efficiency
CN107615734B (zh) 用于服务器故障转移和负荷平衡的系统和方法
CN117492944A (zh) 任务调度方法、装置、电子设备及可读存储介质
CN116781701A (zh) 消息处理方法、装置、电子设备及存储介质
Rajagopal et al. An optimized parallel computing paradigm for mobile grids based on DSPOM
CN114217917A (zh) 一种主机调度方法、装置、设备及存储介质

Legal Events

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