CN114731297A - 用于计算设备对等方匹配的消息限制的自组织网络组 - Google Patents
用于计算设备对等方匹配的消息限制的自组织网络组 Download PDFInfo
- Publication number
- CN114731297A CN114731297A CN202080079322.3A CN202080079322A CN114731297A CN 114731297 A CN114731297 A CN 114731297A CN 202080079322 A CN202080079322 A CN 202080079322A CN 114731297 A CN114731297 A CN 114731297A
- Authority
- CN
- China
- Prior art keywords
- value
- computing device
- broadcast
- response
- store
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000737 periodic effect Effects 0.000 claims abstract description 36
- 230000000717 retained effect Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 35
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 230000007246 mechanism Effects 0.000 abstract description 16
- 238000011156 evaluation Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 8
- 230000014759 maintenance of location Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- 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/52—Network services specially adapted for the location of the user terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
用于使计算设备能够基于网络接近度自组织成组的消息限制机制可能需要值的基于分层评估的传输,使得只有具有最极端值的计算设备继续传输。所使用的值可以随机地生成,并且它们的广播可以促进通过网络距离来标识接近的计算设备。每个计算设备可以保留所接收的最极端值,除非由该计算设备本身生成的值更极端,在这种情况下,计算设备可以继续其值的周期性广播。每个计算设备可以报告其保留的值,或者如果没有保留任何值,则可以报告其自己的值,并且分组可以基于由计算设备报告的值而被生成。计算设备的分组然后可以促进对等方的标识,包括出于从这样的对等方下载内容的目的。
Description
背景技术
联网计算设备的普遍性存在增加了用于下载的数字内容的数量,并且还使网络下载成为将数字内容提供给多个计算设备的优选方法。通常,这样的数字内容最初从源计算设备可获取,然后从源计算设备下载到消费这样的数字内容的目的地计算设备。然而,在很多实例中,可能需要单个源计算设备向数千个不同的目的地计算设备提供相同数字内容的数千个副本。
为了提供对数字内容的更快和更高效的获取,可以不是从原始源计算设备而是从先前已经下载相同数字内容的、更方便定位的目的地计算设备下载数字内容。例如,家庭使用的一台计算机可以从同一家庭使用的另一计算机上下载操作系统更新,该另一计算机先前已经从操作系统开发方下载了操作系统更新,而不是从操作系统开发方下载操作系统更新。假定这两个计算设备通过家庭的家庭网络而被联网在一起,则操作系统更新在这样的计算设备之间的传输可以比要求这两个计算设备跨互联网或其他方式(如全球通信网)直接从操作系统开发方独立获取操作系统更新快几个数量级。此外,可以减少从操作系统开发方传输的数字数据的数量,因为操作系统更新的副本可以取而代之从其他计算设备获取。在上面的示例中,家庭仅需要下载操作系统更新的一个副本,连接到家庭的家庭网络的每个计算设备从另一计算设备接收副本,该另一计算设备也连接到家庭的家庭网络并且是其部分。
虽然上述示例可以为家庭实现利益,诸如通过减少通过家庭的网络服务提供方而传输的数据量,从而降低超过网络服务提供方实施的数据限制的可能性,并且诸如通过增加与家庭的家庭网络耦合的后续计算设备获取操作系统更新的速度,对于诸如在公司、大型企业、教育机构、政府机构和其他类似的大型计算机用户群体中常见的大型计算设备内联网的运营方而言,这种好处可能要显著很多数量级。通常,这样的内联网的网络管理员在减少内联网与其他网络(诸如,无处不在的互联网)之间传送的数字数据的数量方面承受着巨大的成本和效率压力。
然而,在由数百或数千个计算设备组成的内联网中,这样的计算设备之间的网络接近度可能会产生误导。例如,公司内联网通常可以通过跨互联网的通信隧道进行通信,使得两个计算设备可能看起来在物理上很接近,但可能位于世界的相对侧。虽然从通信耦合到同一内联网的其他计算设备中下载数字内容可能比跨互联网从其他计算设备获取数字内容更快,但从通过网络通信连接而接近寻求获取数字内容的计算设备的、耦合到同一内联网的其他计算设备获取数字内容可能具有显著的效率优势。此外,通过能够通过网络通信连接标识与寻求获取数字内容的计算设备最接近的计算设备,可以使跨互联网传输数据并且从而招致网络通信费用以及其他低效率的缺点最小化。
用于使计算设备自组织成组的机制(诸如,领导方选举和/或共识算法)生成大量数字通信,计算设备跨它们通信耦合到的内联网并且在某些情况下跨互联网本身来交换这些大量数字通信。如此大量的数字通信会使其他数字通信陷入困境,从而使整个内联网或其他类似的子网效率降低,并且增加部署和维护这样的内联网的成本。
发明内容
用于使计算设备能够自组织成组(诸如,基于网络接近度而自组织成组)的消息限制机制可能需要基于分层评估的值的传输,使得仅具有最极端值的计算设备继续传输,并且接收方计算设备可以基于由这样的接收方计算设备接收的最极端值自组织成组。所使用的值可以随机地生成,并且它们的广播可以促进通过网络距离来标识彼此接近的计算设备。每个计算设备可以保留所接收的最极端值,除非由该计算设备本身生成的值更极端,在这种情况下,计算设备可以继续这样的值的周期性广播。如果未接收到值的周期性重传,则接收的值的保留可能到期。每个计算设备可以报告其保留的值,或者如果没有保留任何值,则可以报告其自己的值,并且分组可以基于由计算设备报告的值而被生成。可以实现各种效率,诸如错开(“stagger”)计算设备广播其值的时间或者延迟值的报告直到它们已经被多次接收。计算设备的分组然后可以促进对等方的标识,诸如出于从这样的对等方下载内容的目的。
提供本发明内容是为了以简化形式介绍概念的选择,这些概念将在下面的详细描述中进一步描述。本发明内容并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
附加的特征和优点将从以下参考附图进行的详细描述中变得明显。
附图说明
下面的详细描述在结合附图时可以得到最好的理解,在附图中:
图1a至图1d是示出了用于自组织的示例性消息交换的示例性系统的系统图;
图2a至图2b是示出了自组织组的示例性对等方标识的示例性系统的系统图;
图3a至图3c是示出了自组织组的另一示例性对等方标识的示例性系统的系统图;
图4a至图4b是示出了用于自组织的另一示例性消息交换的示例性系统的系统图;
图5是可以用于执行消息限制的自组织的示例性的一系列步骤的流程图;
图6是可以用于执行自组织组内的对等方标识的示例性的一系列步骤的流程图;以及
图7是执行自组织组内的消息限制自组织和/或对等方标识的示例性计算设备的框图。
具体实施方式
以下描述涉及基于网络接近度将联网的计算设备自组织成组以促进对等方匹配。消息限制机制可能需要基于分层评估的值的传输,使得仅具有最极端值的计算设备继续传输,并且接收方计算设备可以基于由这样的接收方计算设备接收的最极端值自组织成组。所使用的值可以随机地生成,并且它们的广播可以促进通过网络距离来标识彼此接近的计算设备。每个计算设备可以保留所接收的最极端值,除非由该计算设备本身生成的值更极端,在这种情况下,计算设备可以继续这样的值的周期性广播。如果未接收到值的周期性重传,则接收的值的保留可能到期。每个计算设备可以报告其保留的值,或者如果没有保留任何值,则可以报告其自己的值,并且分组可以基于由计算设备报告的值而被生成。可以实现各种效率,诸如错开计算设备广播其值的时间或者延迟值的报告直到它们已经被多次接收。计算设备的分组然后可以促进对等方的标识,诸如出于从这样的对等方下载内容的目的。
本文中描述的技术参考比较的评估,诸如“大于”或“小于”。然而,如本领域技术人员将认识到的,所描述的机制对于更多极端值与更小极端值之间的数值关系是不可知的。例如,本文中描述的技术根据随机选择的值来组织计算设备,具有最高值的计算设备实现所描述的功能,而具有较低值的计算设备实现不同功能。然而,如果具有最低值的计算设备被选择来实现一个功能集,而具有较高值的计算设备被选择来实现另一功能集,则这样的技术同样适用。如果具有最接近于零的值的计算设备被选择来实现一个功能集,而具有绝对值远离零的值的计算设备被选择来实现另一功能集,则这样的技术也同样适用。如果具有最接近例如十三(或任何其他值)的值的计算设备被选择来实现一个功能集,而具有更远值的计算设备被选择来实现另一功能集,则这样的技术也同样适用。因此,并且仅为了便于参考而不是作为限制,所描述的技术是在数值较大的值被用作选择计算设备实现哪个功能集的基础的上下文中说明的。
然而,为了涵盖可以等同实现所描述的机制的所有比较评估,如本文中使用的,术语“大于”是指最接近所选择的微分器(“differentiator”)的数值,并且如本文中使用的,术语“小于”是指远离所选择的微分器的数值。因此,在图中所示的说明性示例中,“大于”表示“在数值上更大”,并且类似地,“小于”表示“在数值上更小”。然而,在最小数值将被用于选择计算设备等的实现中,术语“大于”将表示“在数值上更小”,而术语“小于”将表示“在数值上更大”。类似地,在其中绝对值最接近零的数值将被用于从其他中选择计算设备的实现中,术语“大于”将表示“在数值上更接近于零”并且术语“小于”将表示“在数值上更远离零”。类似地,在最接近例如十三的数值将被用于从其他中选择计算设备的实现中,术语“大于”将表示“在数值上更接近十三”并且术语“小于”将表示“在数值上更远离十三”。回顾提供的明确定义,在第一示例中,使用正无穷大的值作为微分器,选择数值较大的值而不是数值较小的值;在第二示例中,使用负无穷大的值作为微分器,选择数值较小的值而不是数值较大的值;在第三示例中,使用零值作为微分器,选择在数值上更接近零的值而不是在数值上远离零的值;在为十三的值用作微分器的第四示例中,选择在数值上接近于十三的值而不是在数值上远离十三的值;等等。因此,明确提供的“大于”和“小于”的特殊定义适应(以及可以在语言范围内适应)所描述和要求保护的机制的预期范围。
尽管不是必需的,但是下面的描述将在由计算设备执行的计算机可执行指令(诸如,程序模块)的一般上下文中。更具体地,除非另有说明,否则描述将参考由一个或多个计算设备或外围设备执行的操作的动作和符号表示。因此,应当理解,有时被称为计算机执行的这样的动作和操作包括由处理单元对以结构化形式表示数据的电信号的操纵。该操纵转换数据或将其维持在存储器中的位置处,这以本领域技术人员熟知的方式重新配置或以其他方式改变计算设备或外围设备的操作。维护数据的数据结构是具有由数据的格式限定的特定属性的物理位置。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将理解,计算设备不必限于传统的个人计算机,并且包括其他计算配置,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子器件、网络PC、小型计算机、大型计算机等。类似地,计算设备不必限于独立计算设备,因为这些机制也可以在分布式计算环境中实践,其中任务由通过通信网络而被链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
参考图1a,示出了示例性系统101,以为下面的一些描述提供上下文。示例性系统101被示出为包括四个计算设备,即,示例性计算设备110、120、130和140,这四个计算设备可以通过诸如示例性网络190的网络彼此通信耦合。根据一个方面,网络190可以包括未知数量的中间网络设备,使得示例性计算设备110、120、130和140在网络接近度方面可以彼此靠近或不靠近。例如,所示的示例性计算设备中的三个计算设备可以并置在单个建筑物的一层,而第四计算设备可能正在利用网络通信隧道,诸如虚拟专用网(VPN),以看起来好像它在物理上接近其他三个计算设备,但实际上可能位于很远的地方,在它与其他三个计算设备之间有很多中间网络设备。
出于标识对等方的目的,根据网络接近度对计算设备进行分组可能是有益的,因为在网络连接性方面彼此接近并且具有很少的中间网络或其他计算设备的计算设备可以能够更快并且更有高地从彼此获取数字内容,因此,对于数字内容共享、传输和/或分发而言,它们可以成为更优的对等方。然而,对等方的标识可能需要跨诸如示例性网络190等网络传输大量消息。这样的消息会阻塞网络,或者以其他方式对网络功能产生负面影响。
因此,根据一个方面,为了根据网络接近度将计算设备自组织成组,同时限制和/或减少交换的消息的数量,计算设备中的每个计算设备可以导出值,计算设备可以通过这些值来比较评价彼此。例如,这样的值可以随机地生成,或从预定范围随机地选择。作为另一示例,这样的值可以基于计算设备的唯一标识符,诸如唯一的网络地址、唯一的硬件标识符、唯一的机器或操作系统标识符、或其他类似的唯一标识符。作为又一示例,这样的值可以是上述任何值的组合。出于说明的目的,示例性计算设备110、120、130和140被示出为分别具有导出值111、121、131和141。为了便于描述预期机制,导出值111、121、131和141在图中以白色数字示出并且在本文中通过它们的标识符而不是它们所指示的数字量和/或值来指代。如本领域技术人员将认识到的,这样的白色数字表示示例性导出值,而不是专利图中使用的数字标识符以提供唯一参考,通过该参考可以在说明书中提供的描述中指定这样的元素。
当计算设备中的一个计算设备(诸如例如,示例性计算设备120)向网络190上的其他计算设备(诸如,示例性计算设备110、130和140)广播消息以向这样的其他计算设备通知其导出值121时,自组织可以开始。广播125可能受到实现网络190的硬件的限制。例如,路由器、交换机和其他类似的网络设备可能将广播消息的递送限于特定的计算设备子集。这样的计算设备子集可以表示在建立网络(诸如,示例性网络190)的上下文中所描绘的分组,计算设备通信耦合到该网络,并且因此,广播消息可以凭借这样的网络硬件设置传输到那些计算设备,那些计算设备实际上通过网络接近度而接近发出这样的广播消息的计算设备。
备选地或附加地,示例性广播消息125可以指定最大网络跳跃数量,超过该最大网络跳跃数量,示例性广播消息125将不被广播。在这种情况下,元数据可以与广播消息125一起传播,广播消息125可以指示每个网络设备处的剩余跳跃数量。
根据一个方面,在接收到诸如示例性消息125等消息时,诸如示例性计算设备110、130和140等接收方计算设备可以将在消息125中提供的值(在这种情况下是示例性值121)与可能已经由接收方计算设备生成的值进行比较。例如,示例性计算设备110可以将经由广播消息125接收的值121与内部生成值111进行比较。在示例性系统101中,从图1a可以看出,计算设备110可以得出结论:值121大于值111,并且因此,作为这样的确定的结果,可以将值121保留在与计算设备110相关联的值存储库112中。例如,值存储库112可以是被维护在计算设备110的存储介质上的数据结构。作为另一示例,值存储库112可以被维护在外部设备上,或者由代表示例性计算设备110的单独的计算设备或在这样的单独的计算设备上维护。此外,作为确定接收值121大于内部生成值111的结果,计算设备110可以阻止传输值111的任何广播消息从计算设备110本身的传输。更具体地,由于计算设备110可能已经确定至少一个其他计算设备具有大于其内部生成值的值,因此传输值111没有意义,因为这样的传输只会增加通过示例性网络190交换的消息数量。因此,计算设备110在确定感知值121大于内部生成值111时,可以选择不从计算设备110本身传输任何传输值111的广播消息。例如,如下面将进一步详述的,这样的广播消息可以被调度为周期性地发生。作为另一示例,也在下面进一步详述的,这样的广播消息可以以初始广播时间开始,该初始广播时间可以被预先确定。在这样的示例中,当计算设备110将已经生成了和传输了传输值111的广播消息的时间发生时,计算设备110可以改为不生成或传输这样的广播消息。
示例性计算设备130和140同样可以分别将由这样的计算设备经由广播消息125接收的值121与由这样的计算设备内部生成的值(即,值131和141)进行比较。如图所示,示例性计算设备130和140可以分别确定值121不大于它们的内部生成值131和141。作为这样的确定的结果,根据一个方面,示例性计算设备130和140可以丢弃值121,或者以其他方式不将值121保留在它们的对应值存储库中,诸如分别为示例性值存储库132和142。
相反,根据一方面,响应于确定值121不大于它们的内部生成值,示例性计算设备130和140中的一个或多个计算设备可以利用这样的确定来触发它们自己对它们自己的内部生成值的广播。转向图1b,其中示出的示例性系统102示出了值141从计算设备140的示例性广播145,诸如响应于从计算设备120接收到广播消息125,如图1a所示,并且确定由此传输的值121小于由计算设备140生成的值141。虽然为了说明的简单性而未示出,但是计算设备130可以响应于接收到广播消息125而相似地已经生成和传输广播值131的广播消息。备选地或附加地,响应于接收到的广播消息广播的值被确定为小于内部生成值,可以错开广播消息的传输,诸如以下面详述的方式,并且这样示例性计算设备130可能已经错开以在示例性设备140生成和传输广播145之后传输响应广播消息放置。此外,示例性系统102说明了在计算设备110处已经接收到广播消息125的效果,即,与计算设备110相关联的示例性值存储库112现在包含保留在其中的值121。
如前所述,在接收到广播消息145时,诸如示例性计算设备110、120和130的接收计算设备中的每个接收计算设备可以分别将在消息145中传输的值141与内部生成值(即,示例值111、121和131)进行比较。转向图1c,其中示出的示例性系统103说明了这样的比较的示例性结果。更具体地,在所示示例中,计算设备110可以将如图1b所示经由广播消息145接收的接收值141与内部生成值111进行比较,并且如图1b所示可以得出结论:接收值141更大。因此,如图1c的示例性系统103所示,与计算设备110相关联的示例性值存储库112可以在其中保留有值141,作为确定值141大于内部生成值111的结果。以类似的方式,示例性计算设备120可以确定如图1b所示经由广播消息145接收的接收值141大于内部生成值121,并且因此,可以将值141保留在与计算设备120相关联的示例性值存储库122中。类似地,示例性计算设备130可以确定接收值141大于内部生成值131,并且因此可以将值141保留在与计算设备130相关联的示例性值存储库132。因此,如图1c所示的示例性系统103所示,与计算设备120相关联的示例性值存储库122和与计算设备130相关联的示例性值存储库132两者都可以在其中保留有值141。
如前所述,确定接收值大于内部生成值会使计算设备不再广播其内部生成值。因此,例如,图1c所示的示例性系统301可以表示图1a所示的广播消息125的周期性要求计算设备120再次广播值121的时间。然而,如上所述,计算设备120可以已经确定接收值141大于内部生成值121。因此,计算设备120不能再发送广播值121的广播消息。因此,图1c的示例性系统103中示出了没有来自计算设备120的广播消息。
根据一个方面,计算设备可以将接收值保留在与这样的计算设备相关联的值存储库中达预定时间量。因此,如果在预定时间量内没有接收到值的重复传输,或者换言之,如果自从上次接收到保留值以来的时间量已经超过阈值时间量,则保留值可能到期,或以其他方式从值存储库中被删除。因此,例如,与计算设备110相关联的示例性值存储库112可以在其中保留有图1b所示的从广播消息145接收的值141、以及图1a所示的从广播消息125接收的并且在广播消息145之前被传输的值121两者。然而,如前所述,已经经由广播消息145接收到值141的计算设备120不能再传输其值121的广播。因此,在某个点,值存储库112中的保留值121将到期,或以其他方式被删除,因为它是在超过阈值时间数量之前最后接收到的。
转向图1d,其中示出的示例性系统104示出了在图1c的示例性系统103所表示的时间之后的时间。可以看出,在示例性系统104内,与计算设备110相关联的示例性值存储库112不能再保留值121,因为如前所述,在由图1a的示例性系统101说明的时间返回的值121的最后接收可能是在超过阈值时间量之前发生的。相反,也如示例性系统104所示,可以由计算设备140传输再次传输值141的后续广播消息146。更具体地,由于示例性计算设备140之前没有接收到或最近(诸如,在阈值时间量内)没有接收到高于内部生成值141的值,所以示例性计算设备140永远不会选择停止值141的周期性传输,或者,如果示例性计算设备140先前已选择停止这样的周期性传输,在阈值时间量内先前没有接收到高于内部生成值141的值的事实可能已经使示例性计算设备140重新开始值141的这样的周期性传输。在任一情况下,如示例性系统104所示,可能发生值141的重传,诸如经由广播消息146。
根据一个方面,具有其值由计算设备(诸如,示例性计算设备110、120、130和140)广播的周期可以预先建立,并且可以通过延迟或阈值时间量来通知,在该延迟或阈值时间量之后,保留值可以从值存储库中到期。例如,广播的周期性可以使得至少一个附加的广播将被调度以在由紧接在前的广播添加或刷新的值将从值存储库中到期的时间之前被传输。因此,在这样的示例中,值可以在十秒之后从值存储库中到期,并且广播的周期可以是九秒。作为另一示例,广播的周期性可以使得两个或更多个附加广播将被调度为在由紧接在前的广播添加或刷新的值将从值存储库中到期的时间之前被传输。在这种情况下,该值可以保留在值存储库中,即使无意中错过了广播,诸如底层网络硬件未能正确递送广播,或者由于接收方计算设备的部分的错误或故障而未能接收到广播。
为了避免同时冲突的广播,根据一个方面,当计算设备传输第一广播时的初始时间,在由该计算设备没有接收到任何先前广播的情况下,可以随机地建立这样的初始时间。这样的随机建立的时间可以在不同的计算设备当中随机变化,诸如例如示例性计算设备110、120、130和140。因此,两个或更多个这样的计算设备不太可能在大约同时传输第一广播,从而导致消息的低效冲突。根据一个方面,第一广播可以被调度在阈值事件之后的随机时间量发生,诸如在计算设备上执行的操作系统的引导、或计算设备本身的启动、或在计算设备上执行的一个或多个应用或实用程序的引导、或计算设备的一个或多个硬件组件(例如,网络硬件组件)上的引导。
从上面的描述可以看出,本质上详述的机制为计算设备提供了一种标识它们的对等方的方式,或者是基于作为广播的部分而建立的阈值跳跃数量,或者是基于底层网络硬件和基础设施是如何处理广播的。换言之,计算设备之间的通信可以通过广播消息和对极值的协议,基于网络建立的方式和相关联网设备互连的方式,通过网络接近度来标识最近的计算设备。
根据一个方面,通过网络接近度对最近计算设备的标识可以促进对更可能能够快速和高效地获取数字内容用于其他对等方计算设备下载的对等方计算设备的标识。转向图2a,其中示出的示例性系统201示出了示例性计算设备110、120、130和140(诸如,在图1a至图1d所示的消息交换之后)现在利用通过该消息交换而建立的信息与诸如示例性内容供应服务210等外部设备通信。例如,示例性计算设备110可以向示例性内容供应服务210传输通知,诸如示例性通知231,以提供计算设备110的标识以及关于值141与计算设备110相关联的指示,诸如通过保留在与计算设备110相关联的值存储库112中。以类似的方式,示例性计算设备120可以传输示例性通知232,该示例性通知232将计算设备120与值141相关联。示例性计算设备同样可以传输示例性通知233,该示例性通知233将计算设备130与值141相关联。示例性计算设备140不需要将值保留在其值存储库142中,并且因此可以传输通知234,通知234将计算设备140与值141相关联,值141可以是内部生成值。
在示例性内容供应服务210中,示出了可选的重定向服务器221。这样的可选的重定向器服务器最初可以接收通知,诸如示例性通知231、232、233和234,并且可以诸如基于所提供的值来确定示例性通知231、232、233和234应当被重定向到内容供应服务210的服务器中的哪个服务器,诸如示例性服务器211和212。例如,可选的重定向器服务器221可以将值141散列,诸如从通知231,并且基于这样的散列,包括基于散列的部分,诸如最重要或最不重要的数字,确定服务器211是用于将通知231重定向到的适当目的地。可以对剩余通知232、233和234做出类似的确定。
根据一个方面,所提供的通知可以使内容供应服务210(例如,更准确地,示例性服务器211)能够确定传输这样的通知的计算设备中的每个计算设备(即,示例性计算设备110、120、130和140)将被一起分组为计算设备的单个分组,诸如示例性分组240。更具体地,示例性服务器211可以利用与通知231、232、233和234中的每个通知一起提供的值,诸如示例性值141,以从现有分组(诸如,由示例性服务器211维护的示例性分组240和241)或其他分组(诸如,由示例性服务器211创建的新分组)中进行选择。例如,在接收到示例性通知231时,示例性服务器211可以创建分组240,分组240可以包括基于消息交换提供值141的计算设备,如上所述。示例性服务器211可以进一步将示例性计算设备110与这样的分组240相关联。诸如示例性通知232、233和234等通知的后续接收可以使示例性服务器211将示例性计算设备120、130和140与分组240相关联。因此,如示例性系统201所示,示例性分组240可以包括将示例性计算设备110、120、130和140标识为全部是分组240的部分的标识符250。
内容供应服务210的其他服务器计算设备(诸如,示例性服务器212)可以维护它们自己的分组,诸如示例性分组261和262,并且重定向器服务器221可以将通知重定向到服务器212,该通知包括与由服务器212维护的分组相关联的值。
然后,诸如内容供应服务210可以利用这样的分组来标识对等方,与直接从内容供应服务210获取数字内容相比,计算设备可以更高效地从该对等方获取数字内容。转向图2b,其中示出的示例性系统202示出了以示例性系统201所示的方式生成的分组的利用。更具体地,诸如示例性计算设备140的计算设备可以向内容供应服务210发出请求271。虽然示例性请求271被示出为被定向到服务器211,但它可以被定向到内容供应服务210的任何服务器,因为内容的供应可以独立于计算设备的分组。响应于请求271,可以从内容供应服务向请求计算设备140提供内容,诸如示例性内容280,如通信272所示。因为内容供应服务210可以在包括计算设备110、120、130和140的内部网络外部,例如,内容280的递送速率可以低于计算设备140从计算设备110、120或130中的一个计算设备获取内容的速率。
随后,诸如示例性计算设备130等计算设备中的另一计算设备可以针对相同内容280发出诸如示例性请求291的请求。作为响应,根据一个方面,内容供应服务210可以确定计算设备130是计算设备140的对等方,例如基于分组240中的计算设备标识符250。因为示例性内容供应服务210可以先前已经将内容280提供给示例性计算设备140,而不是第二次向包括计算设备110、120、130和140的同一内联网或子网提供内容280,所以示例性内容供应服务210可以改为向计算设备130返回标识计算设备140的标识符254,诸如通信292所示。计算设备130然后可以向计算设备140发出对内容280的请求(诸如,示例性请求293),并且可以从那里获取内容280,如通信294所示。因为通信294可以发生在网络接近(诸如,在相同的子网上)的计算设备之间,所以内容280从计算设备140到计算设备130的传输可以比相同内容从内容供应服务210的传输快得多。此外,通过从诸如示例性计算设备140的本地计算设备获取内容280,内联网或子网可以减少它从广域网(诸如,互联网)传输和/或接收的数字内容的数量。
尽管参考外部内容供应服务210进行了说明,但根据一个方面,除了上面详细描述的参考图1a至图1d说明的那样交换消息之外,多个计算设备还可以自标识它们的对等方。更具体地,并且参考图3a,其中示出的示例性系统301示出了一种机制,通过该机制可以执行对等方的自标识。可以选择诸如示例性计算设备140等计算设备来维护计算设备分组,诸如示例性分组330,该计算设备分组可以类似于上述分组240。根据一个方面,其内部导出值被选择为大于由该组的其他计算设备内部导出的其他值的计算设备可以用作用于维持分组的计算设备。因此,例如,响应于后续广播,诸如图1d所示的示例性广播146,接收这样的广播的其他计算设备110、120和130中的每个计算设备可以分别生成响应通知,诸如示例性响应通知311、312和313,以向计算设备140标识计算设备110、120和130。
在接收到通知311、312和313时,示例性计算设备140可以创建分组330,并且将向示例性计算设备140传输通知311、312和313的计算设备110、120和130中的每个计算设备的标识符320以及计算设备140本身的标识符与分组相关联。利用这样的分组来标识对等方可以由计算设备140本身执行,或者可以由计算设备110、120和130分别执行。
关于前者,转向图3b,其中示出的示例性系统302示出了诸如示例性计算设备130等计算设备中的一个计算设备请求(诸如,由通信341所示)对等方的标识。例如,计算设备130可以诸如通过通信341来请求分组330中的所有对等方的标识,然后该标识可以经由通信342从示例性计算设备140返回。在接收到这样的标识时,计算设备130可以与对等方中的每个对等方通信以确定它们中的任何一个或多个是否具有计算设备130试图下载的内容。例如,通过这样的对等方间通信,计算设备130可以确定计算设备110具有计算设备130希望下载的内容350。因此,计算设备130可以向计算设备110发出针对内容350的请求343,然后内容350可以从计算设备110返回,如通过通信344所示。备选地,当对等方中的一个或多个对等方下载内容(诸如,示例性内容350)时,计算设备140可以被通知,并且请求341可以包括内容350的标识,以使计算设备140经由通信342返回单个标识符,即,计算设备110的标识符。
关于后者,转向图3c,可以维护分组330的示例性计算设备140可以周期性地向分组中的对等方中的每个对等方通知在分组中的计算设备集。因此,例如,如图3所示的示例性系统303所示,可以以广播消息361的形式从计算设备140传输诸如以上详述的周期性广播消息。如前所述,这样的广播消息可以包括值144。然而,此外,如示例性系统303所示,广播消息361还可以包括分组330中的计算设备的标识符。以这种方式,诸如示例性计算设备110、120和130等其他计算设备中的每个计算设备可以被通知组内的其他计算设备。随后,诸如示例性计算设备130等计算设备可以与其他标识的对等方计算设备中的每个计算设备通信以标识诸如示例性计算设备110的对等方计算设备,该对等方计算设备可以包括计算设备130寻求获取的内容,诸如示例性内容350。计算设备130然后可以向计算设备110传输请求362并且可以从那里获取内容350,如通信363所示,而不必从外部服务下载内容350。
尽管在单个分组的上下文中进行了说明和描述,但是单个计算设备可以是多个分组的成员。例如,转向图4a,其中示出的示例性系统401示出了先前描述的计算设备110、120、130和140(除了现在之外,也通信地耦合到网络190)可以是计算设备150和160。如前所述,计算设备可以传输由示例性计算设备160广播的广播消息,诸如示例性广播消息410。然而,这样的广播消息可以仅到达计算设备150和130,诸如示例性系统401中所示。例如,如前所述,底层网络硬件的设计和设置可以将广播消息410的范围限于仅计算设备150和130。作为另一示例,也如前所述,广播消息410可以指定最大跳跃数量,在该最大跳跃数量之后,不再重传广播消息。这样的最大跳跃数量可以使得广播消息410能够到达计算设备130和150,但不能到达计算设备110、120或140。
根据一个方面,最大跳跃数量的设置可以由分组内的计算设备的现有数量来通知。更具体地,诸如图2a至图2b所示的外部服务或诸如图3a至图3c所示的维护分组的本地计算设备中的一个本地计算设备可以确定现有分组包括超过阈值数量的更大数量的计算设备。在这种情况下,可以向当前周期性地广播消息的计算设备或向分组内的所有计算设备发送指令,该指令指示将使用较少的最大跳跃数量来广播消息,以广播这样的计算设备的内部导出值,诸如以先前详述的方式。较少的最大跳跃数量可以减少广播消息的范围,从而减少分组中计算设备的数量。
如前所述,最大跳跃数量规范的另一方面可以利用可以与消息一起传播的剩余跳跃数量元数据来确定接收计算设备与传输计算设备的距离。例如,在图4a所示的示例性系统401中,如果计算设备中的每个计算设备都知道广播消息将以最多五个跳跃进行发送,并且示例性计算设备130接收到广播消息410,其中跳跃数量元数据指示在剩余三个跳跃的情况下,示例性计算设备130可以确定它距离广播计算设备(诸如计算设备160)仅两个跳跃。然后例如,可以提供这样的信息,诸如提供给外部服务,以图2a至图2b所示的和上面详细描述的方式,或作为另一示例,诸如提供给本地计算设备中的一个本地计算设备,诸如以图3a至图3c所示的和上面详细描述的方式。然后可以通过已知的跳跃距离来通知对等方计算设备的选择,与被确定为距离请求计算设备有较大跳跃数量的对等方相比,被确定为距离较少跳跃数量的对等方更优选。
返回到图4a所示的示例性系统401,响应于广播消息410的接收,计算设备130和150中的每个计算设备可以诸如以上面详述的方式分别将与广播消息410一起接收的值(即,值161)与内部导出值(例如,值131和151)进行比较。此外,同样如上详述,如果接收值161大于内部导出值,则可以将这样的接收值保留在与接收计算设备相关联的值存储库中。可以看出,计算设备150和130两者可以确定接收值161分别大于内部导出值151和131。因此,转向图4b,其中示出的示例性系统402示出了将值161保留在与计算设备150相关联的值存储库152中以及在与计算设备130相关联的值存储库132中。
可以看出,值161在值存储库132中的保留不影响值141在值存储库132中的保留。更具体地,示例性计算设备140可以继续广播值141,因为计算设备140不知道计算设备160。类似地,示例性计算设备160可以继续广播值161,因为计算设备160不知道计算设备140。因此,接收这两个广播的计算设备(例如,示例性计算设备130)可以将值141和值161保留在值存储库132中,并且可以生成将计算设备130与这两个值相关联的通知。结果,示例性计算设备130可以被分组成多个组。例如,计算设备130可以是图4b中以较浅阴影示出的示例性分组430的部分,并且也可以是图4b中以较深阴影示出的示例性分组440的部分。
转向图5,其中示出的示例性流程图500示出了可以由个体计算设备执行的示例性的一系列步骤,这些步骤在单独和个体地执行时可以提供上面详细示出和描述的系统功能。最初,在步骤510处,可以发生触发事件,该触发事件可以充当锚点,从该锚点,可以确定广播时间,以用于错开或以其他方式临时展开广播消息的传输。在步骤510处,这样的触发事件可以是执行示例性流程图500的步骤的计算设备的启动、这样的计算设备的操作系统的引导、一个或多个硬件子系统(诸,如网络子系统、一个或多个应用)的启动、或者其他类似的启动或引导触发。随后,在步骤515处,可以如上所述生成内部值,这样的值可以随机地生成,包括利用来自与计算设备相关联的标识符的种子数据的随机生成,诸如网络标识符、计算设备标识符、硬件标识符等。备选地或附加地,在步骤515生成的值可以从一个或多个这样的值导出,或者可以是一个或多个这样的值的部分或全部。在步骤520处,可以建立预定广播时间。如上文详述,这样的广播时间可以指示计算设备何时将传输包括在步骤515处生成的值的广播消息,除非诸如出于上文详述的并且下面将在示例性流程图500的上下文中进一步指示的原因而导致将不发送这样的广播。在步骤520处建立的广播时间可以包括以预定周期重复的周期性广播,使得其他计算设备继续将广播值保留在它们的值存储库中,并且这样的值的保留不会到期。另外,在步骤520处建立的广播时间可以包括初始广播时间,初始广播时间可以基于步骤510处的触发事件,诸如是在步骤510处的触发事件之后的随机延迟。
在步骤525处,可以确定是否已经接收到包括来自其他计算设备的值的任何广播消息。如果已经接收到这样的消息,则处理可以进行到步骤530,并且可以将接收值与在步骤515生成的值进行比较。如果在步骤525接收的值大于在步骤515生成的值,则处理可以进行到步骤535,并且接收值可以在值存储库中保留预定时间量。如前所述,值可以在值存储库中保留的时间量可以基于广播时间的周期,诸如在步骤520建立的。例如,值可以在步骤535保留足以接收到至少一个周期性重播的量的时间。作为另一示例,值可以保留足以接收到至少两个或更多个周期性广播的量的时间,从而适应传输失败、接收失败和可以阻止一个或多个周期性广播的接收的其他类似故障。
在步骤540处,作为在步骤530确定接收值大于生成值的结果,可以停用生成值的周期性广播。然后处理可以继续进行步骤545。虽然作为显式步骤进行了说明,但是从值存储库中移除到期值的步骤545可以在相关时间到期时自动发生,并且不需要由前置条件事件触发(当然,相关时间到期除外)。返回到步骤525,如果在步骤525处没有接收到广播消息,则处理可以直接进行到步骤545处。随后,在步骤550处,可以确定是否任何剩余值继续保留在值存储库中。如果在步骤550确定没有这样的值保留,则在步骤515生成的值在该时间点可以是执行示例性流程图500的步骤的计算设备知道的最大值。因此,在步骤555处,可以重新激活在步骤515生成的值的周期性广播。
返回到步骤550,如果值仍然保留在值存储库中,则处理可以进行到步骤560,其中确定值存储库中的值是否已经保留超过阈值量的时间。更具体地,为了避免不断地生成和传输通知,根据一个方面,将执行示例性流程图500的步骤的计算设备与值相关联的通知可以仅在该值已经与该计算设备相关联阈值时间之后生成。因此,如果值存储库中的值没有被保留超过阈值时间量,则处理可以返回到上面详述的步骤525。相反,如果在步骤560确定保留在值存储库中的值已经保留了大于阈值量的时间,则处理可以进行到步骤565并且可以生成和传输将执行示例性流程图500的步骤的计算设备与保留在值存储库中的相关值相关联的通知。如前所述,可以将这样的通知传输给另一本地计算设备或外部服务。然后处理可以返回到步骤525。
返回到步骤555,在重新激活生成值的周期性广播之后,诸如响应以上详述的先决条件,可以在步骤570处确定是否已经达到广播时间。如果在步骤570处确定广播时间已经发生,并且广播没有以其他方式被停用,则处理可以进行到步骤575并且可以广播在步骤515生成的值。如前所述,这样的值的广播可以指定这样的广播将延伸跨的最大跳跃数量。返回到步骤530,如图5的示例性流程图500所示,如果在步骤530处,计算设备确定接收值不大于生成值,而是小于生成值,则这样的确定可以触发广播,诸如在步骤575处,而没有达到广播时间,诸如在步骤570处。
一旦计算设备广播生成值,诸如在步骤575,处理可以进行到步骤580,其中可以确定值存储库已经为空超过阈值量的时间,根据一个方面,可以是在步骤560处使用的相同阈值量的时间。如果值存储库在足够长的时间段内没有为空,如在步骤580确定的,则处理可以返回到步骤525。相反,如果值存储库已经为空足够长的时间,则可以在步骤585处生成通知,该通知包括执行示例性流程图500的步骤的计算设备与在步骤515处生成的值之间的关联。如前所述,这样的通知可以被传输给外部服务或内部计算设备,该内部计算设备可以是与执行示例性流程图500的步骤的计算设备相同的组的部分。然后处理返回步骤525并且以上面详述的方式进行。
转向图6,其中示出的示例性流程图600示出了可以由诸如内容递送服务等外部服务的计算设备或使用上述机制标识的计算设备组中的内部计算设备中的一个内部计算设备执行的示例性的一系列步骤。示例性流程图600的步骤说明了计算设备分组用于标识对等方计算设备的示例性利用,诸如用于促进数字内容的对等方传输,从而避免从外部源下载数字内容。最初,在步骤610处,可以从计算设备接收通知,该通知将该计算设备与可以利用上述机制导出的值相关联。在步骤620,可以执行利用该值来标识将在步骤610接收的、通知被重定向到的计算设备的可选步骤。如前所述,这样的标识可以基于值的散列、或其他类似的标识机制。
在步骤630处,可以确定与在步骤610的通知中接收的值相关联的分组是否已经存在。如果这样的分组已经存在,则在步骤650处,传输在步骤610处接收的通知的计算设备可以与这样的现有设备分组相关联。相反,如果在步骤630处确定不存在这样的关联,则处理可以首先进行到步骤640,其中可以创建与该值相关联的设备分组。然后处理可以进行到步骤650并且将传输在步骤610处接收的通知的设备与新创建的设备分组相关联。
如前所述,一旦已经创建了设备分组,就可以参考该分组来标识对等方。例如,诸如在步骤661中,可以搜索现有分组中的设备以标识特定对等方,然后可以将该特定对等方提供给请求设备。更具体地,如果请求设备正在寻找特定的数字内容,则可以确定从现有分组中标识的已经获取这样的数字内容的这样的设备的对等方,并且可以提供这样的对等方的标识。作为另一示例,诸如在步骤662,可以响应于显式请求而将现有分组中的所有设备的枚举提供给这样的分组的一个或多个对等方。作为又一示例,诸如在步骤663,现有分组中的所有设备的枚举可以以主动方式周期性地提供,而不由显式请求触发。
转向图7,示出了示例性计算设备700,示例性计算设备700可以执行上述机制和动作中的一些或全部。示例性计算设备700可以包括但不限于一个或多个中央处理单元(CPU)720、系统存储器730和系统总线721,系统总线721将包括系统存储器在内的各种系统组件耦合到处理单元720。系统总线721可以是使用多种总线架构中的任何多种类型的任何总线结构,包括存储器总线或存储器控制器、外围总线和本地总线。计算设备700可以可选地包括图形硬件,包括但不限于图形硬件接口750和显示设备751,图形硬件可以包括能够接收基于触摸的用户输入的显示设备,诸如触敏或支持多点触控的显示设备。取决于具体的物理实现,CPU 720、系统存储器730和计算设备700的其他组件中的一个或多个可以在物理上并置,诸如在单个芯片上。在这种情况下,系统总线721的一些或全部总线可以只不过是单个芯片结构内的硅通路,并且其在图7中的图示可以仅仅是出于说明的目的而符号方便。
计算设备700通常还包括计算机可读介质,计算机可读介质可以包括可以由计算设备700访问的任何可用介质并且包括易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等内容的任何方法或技术实现的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用磁盘(DVD)或其他光盘存储、磁带、磁带、磁盘存储或其他磁存储设备、或者可以用于存储期望内容并且可以由计算设备700访问的任何其他介质。然而,计算机存储介质不包括通信介质。通信介质通常在诸如载波或其他传输机制的调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何内容递送介质。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、RF、红外线和其他无线介质等无线介质。以上任何内容的组合也应当被包括在计算机可读介质的范围内。
系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)731和随机存取存储器(RAM)732。基本输入/输出系统733(BIOS)(包含有助于诸如在启动期间在计算设备700内的元件之间传输内容的基本例程)通常存储在ROM 731中。RAM 732通常包含处理单元720立即可访问和/或当前正在由处理单元720操作的数据和/或程序模块。作为示例而非限制,图7示出了操作系统734、其他程序模块735和程序数据736。
计算设备700还可以包括其他可移除/不可移除的易失性/非易失性计算机存储介质。仅作为示例,图7示出了从不可移动的非易失性磁介质读取或写入的硬盘驱动器741。可以与示例性计算设备一起使用的其他可移除/不可移除的易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能磁盘、数字录像带、固态RAM、固态ROM,以及上面限定的和描述的其他计算机存储介质。硬盘驱动器741通常通过诸如接口740等非易失性存储器接口连接到系统总线721。
以上讨论并且在图7中示出的驱动器及其相关联的计算机存储介质为计算设备700提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图7中,例如,硬盘驱动器741被示出为存储操作系统744、其他程序模块745和程序数据746。注意,这些组件可以与操作系统734、其他程序模块735和程序数据746相同或不同。操作系统744、其他程序模块745和程序数据746在此被赋予不同的编号以说明它们至少是不同的副本。
计算设备700可以使用到一个或多个远程计算机的逻辑连接在网络环境中操作。计算设备700被示出为通过网络接口或适配器760而被连接到通用网络连接761,网络接口或适配器760转而连接到系统总线721。在网络环境中,相对于计算设备700或其部分或外围设备而描绘的程序模块可以被存储在一个或多个其他计算设备的存储器中,这些计算设备通过通用网络连接761而被通信地耦合到计算设备700。应当理解,所示的网络连接是示例性的,并且可以使用在计算设备之间建立通信链路的其他方法。
尽管描述为单个物理设备,但示例性计算设备700可以是虚拟计算设备,在这种情况下,上述物理组件(诸如CPU 720、系统存储器730、网络接口760和其他类似组件)的功能可以由计算机可执行指令提供。这样的计算机可执行指令可以在单个物理计算设备上执行,或者可以分布在多个物理计算设备上,包括以动态方式分布在多个物理计算设备上,使得托管这样的计算机可执行指令的特定物理计算设备可以根据需要和可用性随时间动态变化。在示例性计算设备700是虚拟化设备的情况下,托管这样的虚拟化计算设备的底层物理计算设备本身可以包括类似于上述的并且以类似方式操作的物理组件。此外,虚拟计算设备可以在多个层中使用,其中一个虚拟计算设备在另一虚拟计算设备的构造内执行。因此,如本文中使用的,术语“计算设备”是指物理计算设备或虚拟化计算环境,包括虚拟计算设备,在该虚拟计算设备内计算机可执行指令可以以与物理计算设备的执行一致的方式执行。类似地,如本文中使用的,指代计算设备的物理组件的术语是指执行相同或等效功能的物理组件或其虚拟化。
作为第一示例,以上描述包括一种系统,系统包括:第一服务器计算设备,包括:一个或多个第一服务器处理单元;以及一个或多个第一服务器计算机可读介质,包括计算机可执行指令,计算机可执行指令在由一个或多个第一服务器处理单元执行时,使第一服务器计算设备:从第一客户端计算设备接收第一通信,第一通信包括第一值;从第二客户端计算设备接收第二通信,第二通信也包括第一值;基于第一客户端计算设备和第二客户端计算设备两者传输第一值来将第一客户端计算设备和第二客户端计算设备两者与客户端计算设备的第一分组相关联;从第一客户端计算设备接收针对第一数据的请求;
在客户端计算设备的第一分组中搜索已经接收到第一数据的计算设备;以及响应于请求而向第一客户端计算设备传输第二客户端计算设备的标识作为源,第一客户端计算设备将从源获取第一数据;其中第一客户端计算设备和第二客户端计算设备各自通过独立地执行步骤而独立地保留第一值,操作包括:生成第一随机值;接收由另一计算设备广播的第二随机值;响应于确定第二随机值大于第一随机值,将第二随机值保留在值存储库中;响应于最后发生的接收到第二随机值已经超过第一预定时间量而从值存储库中丢弃第二随机值;响应于以下项而广播第一随机值:(1)广播时间发生,以及(2)在广播时间没有更大的值保留在值存储库中;以及响应于在广播时间更大的值保留在值存储库中,,也不广播第一随机值,即使广播时间发生。
第二示例是根据第一示例的系统,还包括:第二服务器计算设备,包括:一个或多个第二服务器处理单元;以及一个或多个第二服务器计算机可读介质,包括计算机可执行指令,计算机可执行指令在由一个或多个第二服务器处理单元执行时使第二服务器计算设备:最初从第一客户端计算设备接收第一通信;以及基于第一值将第一通信重定向到第一服务器计算设备。
第三示例是根据第一示例的系统,其中一个或多个第一服务器计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个第一服务器处理单元执行时使第一服务器计算设备:确定与客户端计算设备的第一分组相关联的客户端计算设备的数量超过阈值;以及响应于确定,指示与客户端计算设备的第一分组相关联的客户端计算设备中的至少一些客户端计算设备减少客户端计算设备的随机值的广播中的跳跃数量阈值。
第四示例是一种计算设备,计算设备包括:一个或多个处理单元;以及一个或多个计算机可读介质,包括计算机可执行指令,计算机可执行指令在由一个或多个处理单元执行时引起计算设备:随机地生成第一值;接收由第二计算设备广播的第二值;响应于确定第二值大于第一值,将第二值保留在值存储库中;响应于最后发生的接收到第二值已经超过第一预定时间量而从值存储库中丢弃第二值;响应于以下项而广播第一值:(1)广播时间发生,以及(2)在广播时间没有更大的值被保留在值存储库中;响应于在广播时间更大的值保留在值存储库中,不广播第一值,即使广播时间发生;以及生成计算设备与以下至少一项之间的关联的通知:基于没有值被保留在值存储库中的第一值或基于第二值被保留在值存储库中的第二值。
第五示例是根据第四示例的计算设备,其中响应于确定第二值小于第一值,第二值的接收触发广播时间的发生。
第六示例是根据第四示例的计算设备,其中广播时间从初始广播时间开始以预定周期发生,预定周期小于第一预定时间量。
第七示例是根据第六示例的计算设备,其中计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个处理单元执行时,使计算设备:随机地选择大于预定周期的第一延迟时间量;以及将初始广播时间设置为在第一计算设备的引导之后的第一延迟时间量。
第八示例是根据第四示例的计算设备,其中计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个处理单元执行时,使计算设备:从第三计算设备接收第三值;响应于确定第三值大于第一值而将第三值保留在值存储库中;以及响应于最后发生的接收到第三值已经超过第一预定时间数量而从值存储库中丢弃第三值;其中第三值的保留和丢弃独立于第二值的保留和丢弃。
第九示例是根据第四示例的计算设备,其中计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个处理单元执行时,使计算设备:向外部服务传输通知;以及从外部服务接收第一计算设备的对等方的标识,对等方已经基于关联被标识。
第十示例是根据第九示例的计算设备,其中通知到外部服务的传输以预定周期重复。
第十一示例是根据第四示例的计算设备,其中计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个处理单元执行时,使计算设备:基于第二值被保留在值存储库中而向第二计算设备传输通知;以及从第二计算设备接收第一计算设备的对等方的标识。
第十二示例是根据第四示例的计算设备,其中计算设备与第二值之间的关联基于第二值被保留在值存储库中超过第二预定时间量,第二预定时间量是第一预定时间量的至少两倍。
第十三示例是根据第四示例的计算设备,其中使计算设备生成通知的计算机可执行指令还包括:在被执行时使计算设备基于第二值和第三值两者同时保留在值存储库中来生成计算设备与第二值和第三值两者之间的关联的通知的计算机可执行指令。
第十四示例是根据第四示例的计算设备,其中使计算设备广播第一值的计算机可执行指令还包括在被执行时使计算设备指定用于第一值的广播的最大跳跃数量的计算机可执行指令。
第十五示例是根据第十四示例的计算设备,其中一个或多个计算机可读介质包括另外的计算机可执行指令,另外的计算机可执行指令在由一个或多个处理单元执行时,使计算设备:基于最大跳跃数量和与由第二计算设备广播的第二值的接收相关联的剩余跳跃数量之间的差,确定计算设备与第二计算设备之间的距离;以及其中计算设备与第二值之间的关联的通知还包括计算设备与第二计算设备之间的所确定的距离的指示。
第十六示例是一种基于网络接近度对计算设备进行自动分组的方法,方法包括:在第一计算设备处随机地生成第一值;在第二计算设备处随机地生成第二值;周期性地从第一计算设备广播第一值;响应于在第二计算设备处确定第一值大于第二值,将第一值保留在第二计算设备的值存储库中并且阻止第二值从第二计算设备的周期性广播的发起;响应于在第二计算设备处确定第一值小于第二值,开始第二值从第二计算设备的周期性广播;以及响应于在第一计算设备处确定第一值小于第二值,将第二值保留在第一计算设备的值存储库中并且终止第一值从第一计算设备的周期性广播。
第十七示例是根据第十六示例的方法,还包括:在第三计算设备处随机地生成第三值;响应于在第三计算设备处确定第一值小于第三值,开始第三值从第三计算设备的周期性广播;响应于在第一计算设备处确定第一值小于第三值,将第三值保留在第一计算设备的值存储库中,其中响应于在第一计算设备处第一值小于第二值的先前确定,第一计算设备的值存储库中已经在其中保留第二值;响应于在第二计算设备处确定第二值小于第三值,将第三值保留在第二计算设备的值存储库中并且终止第二值从第二计算设备的周期性广播;以及响应于由于第二值从第二计算设备的周期性广播的终止而在第一计算设备处不再接收到第二值,不再将第二值保留在第一计算设备的值存储库中。
第十八示例是根据第十六示例的方法,还包括:在第三计算设备处随机地生成第三值;响应于在第三计算设备处确定第一值小于第三值,开始第三值从第三计算设备的周期性广播;以及响应于在第一计算设备处确定第一值小于第三值,将第三值保留在第一计算设备的值存储库中,其中响应于在第一计算设备处、第一值小于第二值的先前确定,第一计算设备的值存储库中已经在其中保留第二值;其中第三值的周期性广播没有到达第二计算设备;并且其中由于第一计算设备继续接收第二值从第二计算设备的周期性广播和第二值从第二计算设备的周期性广播两者,第一计算设备还继续将第二值和第三值两者保留在第一计算设备的值存储库中。
第十九示例是根据第十八示例的方法,还包括:将第一值的广播的最大跳跃数量设置为第一最大数量;将第二值的广播的最大跳跃数量设置为第一最大数量;以及将第三值的广播的最大跳跃数量设置为不同于第一最大数量的第二最大数量。
第二十示例是根据第十六示例的方法,还包括:响应于在第二计算设备处确定第一值大于第二值,从第二计算设备向第一计算设备传输将第二计算设备与第一值相关联的通知;基于接收到将第二计算设备与第一值相关联的通知,在第一计算设备处将第一计算设备和第二计算设备两者与计算设备的第一组相关联;响应于在第一计算设备处确定第一值小于第二值,从第一计算设备向第二计算设备传输将第一计算设备与第二值相关联的通知;以及基于接收到将第一计算设备与第二值相关联的通知,在第二计算设备处将第一计算设备和第二计算设备两者与计算设备的第一组相关联。
从以上描述可以看出,已经提出了用于利用减少的消息数量来自组织网络组的机制。鉴于本文所述主题的很多可能变化,我们将所有可能落入所附权利要求及其等同方案的范围内的这样的实施例要求为我们的发明。
Claims (15)
1.一种系统,包括:
第一服务器计算设备,包括:
一个或多个第一服务器处理单元;以及
一个或多个第一服务器计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在由所述一个或多个第一服务器处理单元执行时,使所述第一服务器计算设备:
从第一客户端计算设备接收第一通信,所述第一通信包括第一值;
从第二客户端计算设备接收第二通信,所述第二通信也包括所述第一值;
基于所述第一客户端计算设备和所述第二客户端计算设备两者传输所述第一值来将所述第一客户端计算设备和所述第二客户端计算设备两者与客户端计算设备的第一分组相关联;
从所述第一客户端计算设备接收针对第一数据的请求;
在客户端计算设备的所述第一分组中搜索已经接收到所述第一数据的计算设备;以及
响应于所述请求而向所述第一客户端计算设备传输所述第二客户端计算设备的标识作为源,所述第一客户端计算设备将从所述源获取所述第一数据;
其中所述第一客户端计算设备和所述第二客户端计算设备各自通过独立地执行步骤而独立地保留所述第一值,所述步骤包括:
生成第一随机值;
接收由另一计算设备广播的第二随机值;
响应于确定所述第二随机值大于所述第一随机值而将所述第二随机值保留在值存储库中;
响应于最后发生的接收到所述第二随机值已经超过第一预定时间量而从所述值存储库丢弃所述第二随机值;
响应于以下项而广播所述第一随机值:(1)广播时间发生,以及(2)在所述广播时间没有更大的值被保留在所述值存储库中;以及
响应于在所述广播时间更大的值被保留在所述值存储库中,不广播所述第一随机值,即使所述广播时间发生。
2.根据权利要求1所述的系统,还包括:
第二服务器计算设备,包括:
一个或多个第二服务器处理单元;以及
一个或多个第二服务器计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在由所述一个或多个第二服务器处理单元执行时,使所述第二服务器计算设备:
最初从所述第一客户端计算设备接收所述第一通信;以及
基于所述第一值将所述第一通信重定向到所述第一服务器计算设备。
3.根据权利要求1所述的系统,其中所述一个或多个第一服务器计算机可读介质包括另外的计算机可执行指令,所述另外的计算机可执行指令在由所述一个或多个第一服务器处理单元执行时,使所述第一服务器计算设备:
确定与客户端计算设备的所述第一分组相关联的客户端计算设备的数量超过阈值;以及
响应于所述确定,指示与客户端计算设备的所述第一分组相关联的所述客户端计算设备中的至少一些客户端计算设备减少在所述客户端计算设备的随机值的广播中的跳跃数量阈值。
4.一种计算设备,包括:
一个或多个处理单元;以及
一个或多个计算机可读介质,包括计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理单元执行时,使所述计算设备:
随机地生成第一值;
接收由第二计算设备广播的第二值;
响应于确定所述第二值大于所述第一值而将所述第二值保留在值存储库中;
响应于最后发生的接收到所述第二值已经超过第一预定时间量而从所述值存储库丢弃所述第二值;
响应于以下项而广播所述第一值:(1)广播时间发生,以及(2)在所述广播时间没有更大的值被保留在所述值存储库中;
响应于在所述广播时间更大的值被保留在所述值存储库中,不广播所述第一值,即使所述广播时间发生;以及
生成所述计算设备与以下至少一项之间的关联的通知:基于没有值被保留在所述值存储库中的所述第一值或基于所述第二值被保留在所述值存储库中的所述第二值。
5.根据权利要求4所述的计算设备,其中使所述计算设备广播所述第一值的所述计算机可执行指令还包括:在被执行时使所述计算设备指定用于所述第一值的所述广播的最大跳跃数量的计算机可执行指令。
6.根据权利要求5所述的计算设备,其中所述一个或多个计算机可读介质包括另外的计算机可执行指令,所述另外的计算机可执行指令在由所述一个或多个处理单元执行时,使所述计算设备:
基于所述最大跳跃数量和与由所述第二计算设备广播的所述第二值的所述接收相关联的剩余跳跃数量之间的差,确定所述计算设备与所述第二计算设备之间的距离;并且
其中所述计算设备与所述第二值之间的所述关联的所述通知还包括所述计算设备与所述第二计算设备之间的所确定的所述距离的指示。
7.一种基于网络接近度对计算设备进行自动分组的方法,所述方法包括:
在第一计算设备处随机地生成第一值;
在第二计算设备处随机地生成第二值;
周期性地从所述第一计算设备广播所述第一值;
响应于在所述第二计算设备处确定所述第一值大于所述第二值,将所述第一值保留在所述第二计算设备的值存储库中并且阻止所述第二值从所述第二计算设备的周期性广播的发起;
响应于在所述第二计算设备处确定所述第一值小于所述第二值,开始所述第二值从所述第二计算设备的周期性广播;以及
响应于在所述第一计算设备处确定所述第一值小于所述第二值,将所述第二值保留在所述第一计算设备的值存储库中并且终止所述第一值从所述第一计算设备的所述周期性广播。
8.根据权利要求7所述的方法,还包括:
在第三计算设备处随机地生成第三值;
响应于在所述第三计算设备处确定所述第一值小于所述第三值,开始所述第三值从所述第三计算设备的周期性广播;
响应于在所述第一计算设备处确定所述第一值小于所述第三值,将所述第三值保留在所述第一计算设备的所述值存储库中,其中响应于在所述第一计算设备处、所述第一值小于所述第二值的先前确定,所述第一计算设备的所述值存储库已经在其中保留所述第二值;
响应于在所述第二计算设备处确定所述第二值小于所述第三值,将所述第三值保留在所述第二计算设备的所述值存储库中并且终止所述第二值从所述第二计算设备的所述周期性广播;以及
响应于由于所述第二值从所述第二计算设备的所述周期性广播的所述终止而在所述第一计算设备处不再接收所述第二值,不再将所述第二值保留在所述第一计算设备的所述值存储库中。
9.根据权利要求7所述的方法,还包括:
在第三计算设备处随机地生成第三值;
响应于在所述第三计算设备处确定所述第一值小于所述第三值,开始所述第三值从所述第三计算设备的周期性广播;以及
响应于在所述第一计算设备处确定所述第一值小于所述第三值,将所述第三值保留在所述第一计算设备的所述值存储库中,其中响应于在所述第一计算设备处、所述第一值小于所述第二值的先前确定,所述第一计算设备的所述值存储库已经在其中保留所述第二值;
其中所述第三值的所述周期性广播没有到达所述第二计算设备;并且
其中由于所述第一计算设备继续接收所述第二值从所述第二计算设备的所述周期性广播和所述第二值从所述第二计算设备的所述周期性广播两者,所述第一计算设备还继续将所述第二值和所述第三值两者保留在所述第一计算设备的所述值存储库中。
10.根据权利要求7所述的方法,还包括:
响应于在所述第二计算设备处确定所述第一值大于所述第二值,从所述第二计算设备向所述第一计算设备传输将所述第二计算设备与所述第一值相关联的通知;
基于接收到将所述第二计算设备与所述第一值相关联的所述通知,在所述第一计算设备处将所述第一计算设备和所述第二计算设备两者与计算设备的第一组相关联;
响应于在所述第一计算设备处确定所述第一值小于所述第二值,从所述第一计算设备向所述第二计算设备传输将所述第一计算设备与所述第二值相关联的通知;以及
基于接收到将所述第一计算设备与所述第二值相关联的所述通知,在所述第二计算设备处将所述第一计算设备和所述第二计算设备两者与计算设备的所述第一组相关联。
11.根据权利要求4所述的计算设备,其中响应于确定所述第二值小于所述第一值,所述第二值的所述接收触发所述广播时间的所述发生。
12.根据权利要求4所述的计算设备,其中所述广播时间从初始广播时间开始以预定周期发生,所述预定周期小于所述第一预定时间量。
13.根据权利要求4所述的计算设备,其中所述计算机可读介质包括另外的计算机可执行指令,所述另外的计算机可执行指令在由所述一个或多个处理单元执行时,使所述计算设备:
从第三计算设备接收第三值;
响应于确定所述第三值大于所述第一值而将所述第三值保留在所述值存储库中;以及
响应于最后发生的接收到所述第三值已经超过所述第一预定时间数量而从所述值存储库丢弃所述第三值;
其中所述第三值的所述保留和所述丢弃独立于所述第二值的所述保留和所述丢弃。
14.根据权利要求4所述的计算设备,其中使所述计算设备生成所述通知的所述计算机可执行指令还包括:计算机可执行指令,所述计算机可执行指令在被执行时,使所述计算设备基于所述第二值和第三值两者同时被保留在所述值存储库中来生成所述计算设备与所述第二值和所述第三值两者之间的所述关联的所述通知。
15.根据权利要求9所述的方法,还包括:
将所述第一值的所述广播的最大跳跃数量设置为第一最大数量;
将所述第二值的所述广播的最大跳跃数量设置为所述第一最大数量;以及
将所述第三值的所述广播的最大跳跃数量设置为不同于所述第一最大数量的第二最大数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/686,143 | 2019-11-16 | ||
US16/686,143 US11146415B2 (en) | 2019-11-16 | 2019-11-16 | Message-limited self-organizing network groups for computing device peer matching |
PCT/US2020/057586 WO2021096679A1 (en) | 2019-11-16 | 2020-10-28 | Message-limited self-organizing network groups for computing device peer matching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114731297A true CN114731297A (zh) | 2022-07-08 |
Family
ID=73598940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080079322.3A Pending CN114731297A (zh) | 2019-11-16 | 2020-10-28 | 用于计算设备对等方匹配的消息限制的自组织网络组 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11146415B2 (zh) |
EP (1) | EP4059189A1 (zh) |
CN (1) | CN114731297A (zh) |
WO (1) | WO2021096679A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11651110B2 (en) * | 2021-07-08 | 2023-05-16 | Dell Products, L.P. | Hardware device mutual authentication system and method for a baseboard management controller (BMC) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1515520A2 (en) * | 2003-09-15 | 2005-03-16 | Microsoft Corporation | Measurement-based construction of locality-aware overlay networks |
US20080059631A1 (en) * | 2006-07-07 | 2008-03-06 | Voddler, Inc. | Push-Pull Based Content Delivery System |
CN102299954A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 用于分布式服务的上下文专用网络资源寻址模型 |
CN106664308A (zh) * | 2014-08-29 | 2017-05-10 | 微软技术许可有限责任公司 | 注册之前的设备验证 |
CN107113916A (zh) * | 2015-07-24 | 2017-08-29 | 松下电器(美国)知识产权公司 | 改进的接近服务中继ue激活 |
CN108476228A (zh) * | 2016-03-01 | 2018-08-31 | 谷歌有限责任公司 | 基于与ip白名单接近度的网络安全 |
CN109076069A (zh) * | 2016-04-02 | 2018-12-21 | 微软技术许可有限责任公司 | 基于规则的身份广播 |
CN110034940A (zh) * | 2013-01-25 | 2019-07-19 | 皇家Kpn公司 | 3gpp lte中的通信移动设备之间的接近发现、认证和链路建立 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5436905A (en) * | 1994-05-16 | 1995-07-25 | Industrial Technology Research Institute | Group randomly addressed polling MAC protocol for wireless data |
KR100555730B1 (ko) | 2003-11-04 | 2006-03-03 | 삼성전자주식회사 | 애드혹 네트워크의 리더 선출방법 |
US7461130B1 (en) | 2004-11-24 | 2008-12-02 | Sun Microsystems, Inc. | Method and apparatus for self-organizing node groups on a network |
US20060168084A1 (en) * | 2004-11-29 | 2006-07-27 | Leonid Kogan | Method and apparatus for rendering load balancing and failover |
US7826422B2 (en) * | 2006-04-25 | 2010-11-02 | Stmicroelectronics, Inc. | Synchronized, semi-dynamic frequency hopping method for WRAN and other wireless networks |
WO2008016442A2 (en) * | 2006-06-27 | 2008-02-07 | The Trustees Of Columbia University In The City Ofnew York | A trusted p2p system for paid or other content delivery |
US7895311B1 (en) | 2006-11-17 | 2011-02-22 | Arthur W. Juenger | Content distribution systems |
US8134950B2 (en) | 2007-04-03 | 2012-03-13 | Harris Corporation | Cluster head election in an ad-hoc network |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US9106798B2 (en) * | 2008-02-22 | 2015-08-11 | Tvworks, Llc | Sharing video recording resources over a network |
US8582500B2 (en) | 2008-05-02 | 2013-11-12 | Rochester Institute Of Technology | Methods for providing an ad hoc mobile communication network and systems thereof |
US9800926B2 (en) * | 2008-08-13 | 2017-10-24 | At&T Intellectual Property I, L.P. | Peer-to-peer video data sharing |
IT1397440B1 (it) * | 2009-12-30 | 2013-01-10 | St Microelectronics Srl | Procedimento e sistemi per la distribuzione di contenuti mediali e relativo prodotto informatico |
US9331891B2 (en) * | 2012-10-11 | 2016-05-03 | International Business Machines Corporation | Virtual consolidated appliance |
US9294580B2 (en) | 2012-12-14 | 2016-03-22 | Microsoft Technology Licensing, Llc | Managed P2P network with content-delivery network |
WO2014130091A1 (en) | 2013-02-22 | 2014-08-28 | Intel IP Corporation | Systems and methods for access network selection and traffic routing |
KR102251353B1 (ko) | 2014-11-25 | 2021-05-12 | 삼성전자주식회사 | 근접 네트워크 구성 방법 및 그 전자 장치 |
CN107872486B (zh) * | 2016-09-28 | 2020-06-02 | 华为技术有限公司 | 通信方法和装置 |
CN108881034B (zh) * | 2018-07-03 | 2021-07-09 | 网宿科技股份有限公司 | 一种应用于bt系统的请求响应方法、设备及系统 |
US10944624B2 (en) * | 2019-06-28 | 2021-03-09 | Advanced New Technologies Co., Ltd. | Changing a master node in a blockchain system |
US20220294692A1 (en) * | 2021-03-09 | 2022-09-15 | Ciena Corporation | Limiting the scope of a declarative configuration editing operation |
-
2019
- 2019-11-16 US US16/686,143 patent/US11146415B2/en active Active
-
2020
- 2020-10-28 WO PCT/US2020/057586 patent/WO2021096679A1/en active Application Filing
- 2020-10-28 CN CN202080079322.3A patent/CN114731297A/zh active Pending
- 2020-10-28 EP EP20815980.6A patent/EP4059189A1/en active Pending
-
2021
- 2021-09-22 US US17/481,529 patent/US11729010B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1515520A2 (en) * | 2003-09-15 | 2005-03-16 | Microsoft Corporation | Measurement-based construction of locality-aware overlay networks |
US20080059631A1 (en) * | 2006-07-07 | 2008-03-06 | Voddler, Inc. | Push-Pull Based Content Delivery System |
CN102299954A (zh) * | 2010-06-24 | 2011-12-28 | 微软公司 | 用于分布式服务的上下文专用网络资源寻址模型 |
CN110034940A (zh) * | 2013-01-25 | 2019-07-19 | 皇家Kpn公司 | 3gpp lte中的通信移动设备之间的接近发现、认证和链路建立 |
CN106664308A (zh) * | 2014-08-29 | 2017-05-10 | 微软技术许可有限责任公司 | 注册之前的设备验证 |
CN107113916A (zh) * | 2015-07-24 | 2017-08-29 | 松下电器(美国)知识产权公司 | 改进的接近服务中继ue激活 |
CN108476228A (zh) * | 2016-03-01 | 2018-08-31 | 谷歌有限责任公司 | 基于与ip白名单接近度的网络安全 |
CN109076069A (zh) * | 2016-04-02 | 2018-12-21 | 微软技术许可有限责任公司 | 基于规则的身份广播 |
Also Published As
Publication number | Publication date |
---|---|
US11729010B2 (en) | 2023-08-15 |
US20210152381A1 (en) | 2021-05-20 |
WO2021096679A1 (en) | 2021-05-20 |
EP4059189A1 (en) | 2022-09-21 |
US20220086016A1 (en) | 2022-03-17 |
US11146415B2 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750486B2 (en) | Device state management | |
US11122023B2 (en) | Device communication environment | |
US10958648B2 (en) | Device communication environment | |
US10091329B2 (en) | Device gateway | |
US7533141B2 (en) | System and method for unique naming of resources in networked environments | |
US7788522B1 (en) | Autonomous cluster organization, collision detection, and resolutions | |
US7213047B2 (en) | Peer trust evaluation using mobile agents in peer-to-peer networks | |
US8108455B2 (en) | Mobile agents in peer-to-peer networks | |
US8037202B2 (en) | Presence detection using mobile agents in peer-to-peer networks | |
US7254608B2 (en) | Managing distribution of content using mobile agents in peer-topeer networks | |
US7328243B2 (en) | Collaborative content coherence using mobile agents in peer-to-peer networks | |
US9106668B2 (en) | Distributed peer location in peer-to-peer file transfers | |
JP4696089B2 (ja) | 分散ストレージシステム | |
US7805448B2 (en) | Storing attribute values of computing resources in a peer-to-peer network | |
US9973593B2 (en) | Device gateway | |
US11553014B2 (en) | Downloading of server-based content through peer-to-peer networks | |
KR20120018178A (ko) | 객체 저장부들의 네트워크상의 스웜-기반의 동기화 | |
JP2005323346A (ja) | ピアツーピアネットワークにおけるルーティング | |
Nordström et al. | Haggle: Opportunistic mobile content sharing using search | |
WO2022242361A1 (zh) | 数据下载方法、装置、计算机设备和存储介质 | |
US10536560B2 (en) | System and method for implementing augmented object members for remote procedure call | |
US9172744B2 (en) | Scalable storage with programmable networks | |
US11729010B2 (en) | Message-limited self-organizing network groups for computing device peer matching | |
JP6728744B2 (ja) | データ提供システム、データ提供方法、データ提供装置、更新対象装置及びコンピュータ・プログラム | |
WO2021087865A1 (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 |