IP Library Granted Patent US 11,064,023
Granted Patent B2
US 11,064,023 · App. 13/192,209 · Granted Jul 13, 2021

Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams

Inventors: Omer Luzzatti (Tel Aviv, IL); Eran Weiss (Ramat Gan, IL); Shimon Kogan (Kiryat Ono, IL); Jonathan Zion Mozes (Tel Aviv, IL); Jonathan Stern (Tel Aviv, IL)
Assignee: VERIZON MEDIA INC.
H04L67/104H04L65/4076H04L67/1085H04L67/1089
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,064,023
App. No.
13/192,209
Granted
Jul 13, 2021
Kind
B2
Abstract

A method for actively allocating available bandwidth to consumer nodes by a resource node delivering time-sensitive multimedia content in a peer-to-peer (P2P) network. The method comprises performing a check if the resource node can allocate bandwidth to at least one additional consumer node from the consumer nodes; selecting at least one consumer node from a list of consumer nodes addressable by the resource node; and sending an availability notification to each of the selected at least one consumer node from the list of consumer nodes.

Claims (47)

1. A method comprising:

determining, via a computing device, whether a resource node has available bandwidth to allocate to a list of consumer nodes comprising a plurality of consumer nodes in a peer-to-peer (P2P) network, each consumer node in said list of consumer nodes satisfying a quality of service (QoS) for the P2P transfers over the P2P network, said QoS reflecting a dynamically changing, demand-for-services based, respective number of resource nodes that each consumer node of said plurality can connect to as a primary and secondary node connection;

determining, via the computing device, a number of first consumer nodes from the list of consumer nodes to which an availability notification can be sent, said determination based on each first consumer node satisfying a dynamic quota value associated with each node's active connections, said dynamic quota value corresponding to a maximum allowable quota value indicating a maximum number of connections that the resource node can accept from each first consumer node;

selecting, via the computing device, a number of second consumer nodes from the first number of consumer nodes based on said second consumer node's being addressable by the resource node;

sending, via the computing device, the availability notification to each of the selected second consumer nodes;

receiving, by the computing device, a decline message from at least one second consumer node receiving the availability notification; and

selecting, by the computing device, in accordance with the QoS, another consumer node from the second consumer nodes to send the availability notification.

2. The method of claim 1 , wherein said selection of the second number of consumer nodes is a random selection.

3. The method of claim 1 , wherein the selection of the second number of consumer nodes comprises a statistical determination based on statistics of prior connection responses by said second consumer nodes to previous availability notifications.

4. The method of claim 1 , further comprising:

receiving a request to connect to the resource node by at least one second consumer node receiving the availability notification; and

connecting the resource node to the at least one second consumer node.

5. The method of claim 1 , further comprising:

determining whether the dynamic quota value is less than the maximum allowable quota value, wherein the dynamic quota value is periodically computed by the resource node.

6. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor associated with a computing device, perform a method comprising:

determining whether a resource node has available bandwidth to allocate to a list of consumer nodes comprising a plurality of consumer nodes in a peer-to-peer (P2P) network, each consumer node in said list of consumer nodes satisfying a quality of service (QoS) for the P2P transfers over the P2P network, said QoS reflecting a dynamically changing, demand-for-services based, respective number of resource nodes that each consumer node of said plurality can connect to as a primary and secondary node connection;

determining a number of first consumer nodes from the list of consumer nodes to which an availability notification can be sent, said determination based on each first consumer node satisfying a dynamic quota value associated with each node's active connections, said dynamic quota value corresponding to a maximum allowable quota value indicating a maximum number of connections that the resource node can accept from each first consumer node;

selecting a number of second consumer nodes from the first number of consumer nodes based on said second consumer node's being addressable by the resource node;

sending the availability notification to each of the selected second consumer nodes;

receiving a decline message from at least one second consumer node receiving the availability notification; and

selecting, in accordance with the QoS, another consumer node from the second consumer nodes to send the availability notification.

7. The method of claim 1 , wherein at least one said second consumer nodes belongs to a channel swarm associated with said resource node within said P2P network.

8. The non-transitory computer-readable storage medium of claim 6 , wherein said selection of the second number of consumer nodes is a random selection.

9. The non-transitory computer-readable storage medium of claim 6 , wherein the selection of the second number of consumer nodes comprises a statistical determination-based on statistics of prior connection responses by said second consumer nodes to previous availability notifications.

10. The non-transitory computer-readable storage medium of claim 6 , further comprising:

receiving a request to connect to the resource node by at least one second consumer node receiving the availability notification; and

connecting the resource node to the at least one second consumer node.

11. The non-transitory computer-readable storage medium of claim 6 , further comprising:

determining whether the dynamic quota value is less than the maximum allowable quota value, wherein the dynamic quota value is periodically computed by the resource node.

12. The non-transitory computer-readable storage medium of claim 6 , wherein at least one said second consumer nodes belongs to a channel swarm associated with said resource node within said P2P network.

13. A computing device comprising:

a processor; and

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

determination logic executed by the processor for determining whether a resource node has available bandwidth to allocate to a list of consumer nodes comprising a plurality of consumer nodes in a peer-to-peer (P2P) network, each consumer node in said list of consumer nodes satisfying a quality of service (QoS) for the P2P transfers over the P2P network, said QoS reflecting a dynamically changing, demand-for-services based, respective number of resource nodes that each consumer node of said plurality can connect to as a primary and secondary node connection;

determination logic executed by the processor for determining a number of first consumer nodes from the list of consumer nodes to which an availability notification can be sent, said determination based on each first consumer node satisfying a dynamic quota value associated with each node's active connections, said dynamic quota value corresponding to a maximum allowable quota value indicating a maximum number of connections that the resource node can accept from each first consumer node;

selection logic executed by the processor for selecting a number of second consumer nodes from the first number of consumer nodes based on said second consumer node's being addressable by the resource node;

communication logic executed by the processor sending the availability notification to each of the selected second consumer nodes from the second number of the consumer nodes;

reception logic executed by the processor for receiving a decline message from at least one second consumer node receiving the availability notification; and

selection logic executed by the processor for selecting, in accordance with the QoS, another consumer node from the second consumer nodes to send the availability notification.

14. The computing device of claim 13 , wherein said selection of the second number of consumer nodes is a random selection.

15. The computing device of claim 13 , wherein the selection of the second number of consumer nodes comprises a statistical determination-based on statistics of prior connection responses by said second consumer nodes to previous availability notifications.

16. The computing device of claim 13 , further comprising:

receiving logic executed by the processor for receiving a request to connect to the resource node by at least one second consumer node receiving the availability notification; and

connection logic executed by the processor for connecting the resource node to the at least one second consumer node.

17. The computing device of claim 13 , further comprising:

determination logic executed by the processor for determining whether the dynamic quota value is less than the maximum allowable quota value, wherein the dynamic quota value is periodically computed by the resource node.

18. The computing device of claim 13 , wherein at least one said second consumer nodes belongs to a channel swarm associated with said resource node within said P2P network.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: RAYV, INC
To: YAHOO! INC.
Reel/Frame 033750/0937 →
CHANGE OF NAME Recorded Jun 2, 2014
From: RAY-V TECHNOLOGIES, LTD
To: RAY V, INC.
Reel/Frame 033244/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2011
From: LUZZATTI, OMER; WEISS, ERAN; KOGAN, SHIMON; ZION MOZES, JONATHAN; STERN, JONATHAN
To: RAY-V TECHNOLOGIES, LTD.
Reel/Frame 026660/0071 →
Continuity (4)
Continuation In Part 12871615 · Aug 30, 2010
Continuation In Part 12751306 · Mar 31, 2010
Continuation In Part 12473006 · May 27, 2009
Related Publication 20110289218A1 · Nov 24, 2011