IP Library Granted Patent US 10,986,176
Granted Patent B2
US 10,986,176 · App. 16/202,479 · Granted Apr 20, 2021

Dynamic allocation of a quota of consumer nodes connecting to a resource node of a peer-to-peer network

Inventors: Eran Weiss (Ramat Gan, IL); Omer Luzzatti (Tel-Aviv, IL)
Assignee: VERIZON MEDIA INC.
H04L67/104H04L65/80H04L67/1031H04L67/1068H04L67/1085H04L65/4076H04L65/4084H04L67/125
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 10,986,176
App. No.
16/202,479
Granted
Apr 20, 2021
Kind
B2
Abstract

A method for dynamically allocating upload bandwidth to consumer nodes by a resource node that are communicatively connected by a channel-swarm in a peer-to-peer network. The method comprises periodically computing a dynamic quota value to determine a number of acceptable connections between the resource node and one or more of the consumer nodes connected by the channel-swarm; and allocating an available upload bandwidth to the one or more of the consumer nodes in the channel-swarm based on the computed dynamic quota value.

Claims (47)

1. A method comprising:

identifying, by a first resource node associated with a computing device, a channel-swarm comprising a plurality of nodes on a peer-to-peer (P2P) network and channels connecting each node, a portion of said plurality of nodes being consumer nodes and a portion of said plurality of nodes being resource nodes, said first resource node included within said portion of resource nodes;

determining, by the first resource node, current connectivity values of each channel in the channel-swarm, said current connectivity values being independent from connectivity conditions of the P2P network;

periodically computing, by the first resource node, a dynamic quota value associated with the channel-swarm based on the determined connectivity values of each channel, said dynamic quota value comprising an indication of an acceptable number of connections between the first resource node and each consumer node, wherein when the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, the minimum quota is equal to or greater than one, thereby preventing the first resource node from not servicing at least one of the consumer nodes;

allocating, via the first resource node, an available bandwidth to one or more of the consumer nodes based on the dynamic quota value; and

providing, by the first resource node via the P2P network, content to the one or more consumer nodes in accordance with said allocated bandwidth.

2. The method of claim 1 , further comprising:

identifying a number of wait cycles associated with the first resource node; and

determining, based on said determined number of wait cycles, if a quality check should be performed.

3. The method of claim 2 , further comprising:

performing said quality check by determining if the first resource node has encountered bad connection with at least one consumer node connected to the first resource node;

determining a quota decrease value; and

updating the dynamic quota value by adjusting its current value by the quota decrease value.

4. The method of claim 1 , wherein allocating the available upload bandwidth comprises accepting a connection request from a consumer node if the dynamic quota value is not filled out.

5. The method of claim 1 , wherein allocating the available upload bandwidth comprises rejecting a connection request from a consumer node if the dynamic quota value is filled out.

6. The method of claim 1 , wherein if the dynamic quota value is above a maximum quota value, the maximum quota value is used as a value of the dynamic quota value, thereby ensuring that the number of consumer nodes connected to the first resource node is bounded.

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

identifying, by the first resource node associated with a computing device, a channel-swarm comprising a plurality of nodes on a peer-to-peer (P2P) network and channels connecting each node, a portion of said plurality of nodes being consumer nodes and a portion of said plurality of nodes being resource nodes, said first resource node included within said portion of resource nodes;

determining, by the first resource node, current connectivity values of each channel in the channel-swarm, said current connectivity values being independent from connectivity conditions of the P2P network;

periodically computing, by the first resource node, a dynamic quota value associated with the channel-swarm based on the determined connectivity values of each channel, said dynamic quota value comprising an indication of an acceptable number of connections between the first resource node and each consumer node, wherein when the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, the minimum quota is equal to or greater than one, thereby preventing the first resource node from not servicing at least one of the consumer nodes;

allocating, via the first resource node, an available bandwidth to one or more of the consumer nodes based on the dynamic quota value; and

providing, by the first resource node via the P2P network, content to the one or more consumer nodes in accordance with said allocated bandwidth.

8. The non-transitory computer-readable storage medium of claim 7 , further comprising:

identifying a number of wait cycles associated with the first resource node; and

determining, based on said determined number of wait cycles, if a quality check should be performed.

9. The non-transitory computer-readable storage medium of claim 8 , further comprising

performing said quality check by determining if the first resource node has encountered bad connection with at least one consumer node connected to the first resource node;

determining a quota decrease value; and

updating the dynamic quota value by adjusting its current value by the quota decrease value.

10. The non-transitory computer-readable storage medium of claim 7 , wherein allocating the available upload bandwidth comprises accepting a connection request from a consumer node if the dynamic quota value is not filled out.

11. The non-transitory computer-readable storage medium of claim 7 , wherein allocating the available upload bandwidth comprises rejecting a connection request from a consumer node if the dynamic quota value is filled out.

12. The non-transitory computer-readable storage medium of claim 7 , wherein if the dynamic quota value is above a maximum quota value, the maximum quota value is used as a value of the dynamic quota value, thereby ensuring that the number of consumer nodes connected to the first resource node is bounded.

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

logic executed by the processor for identifying, by a first resource node associated with the computing device, a channel-swarm comprising a plurality of nodes on a peer-to-peer (P2P) network and channels connecting each node, a portion of said plurality of nodes being consumer nodes and a portion of said plurality of nodes being resource nodes, said first resource node included within said portion of resource nodes;

logic executed by the processor for determining, by the first resource node, current connectivity values of each channel in the channel-swarm, said current connectivity values being independent from connectivity conditions of the P2P network;

logic executed by the processor for periodically computing, by the first resource node, a dynamic quota value associated with the channel-swarm based on the determined connectivity values of each channel, said dynamic quota value comprising an indication of an acceptable number of connections between the first resource node and each consumer node, wherein when the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, the minimum quota is equal to or greater than one, thereby preventing the first resource node from not servicing at least one of the consumer nodes;

logic executed by the processor for allocating, via the first resource node, an available bandwidth to one or more of the consumer nodes based on the dynamic quota value; and

logic executed by the processor for providing, by the first resource node via the P2P network, content to the one or more consumer nodes in accordance with said allocated bandwidth.

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

logic executed by the processor for identifying a number of wait cycles associated with the first resource node, and

logic executed by the processor for determining, based on said determined number of wait cycles, if a quality check should be performed.

15. The computing device of claim 14 , further comprising:

logic executed by the processor for performing said quality check by determining if the first resource node has encountered bad connection with at least one consumer node connected to the first resource node;

logic executed by the processor for determining a quota decrease value; and

logic executed by the processor for updating the dynamic quota value by adjusting its current value by the quota decrease value.

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 Dec 19, 2018
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 047953/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: WEISS, ERAN; LUZZATTI, OMER
To: RAY-V TECHNOLOGIES, LTD.
Reel/Frame 047812/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 048962/0001 →
CHANGE OF NAME Recorded Dec 19, 2018
From: RAY-V TECHNOLOGIES, LTD.
To: RAY V, INC.
Reel/Frame 047953/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: RAY V, INC.
To: YAHOO! INC.
Reel/Frame 047812/0949 →
Continuity (3)
Continuation 13167371 · Jun 23, 2011
Continuation 12244756 · Oct 2, 2008
Related Publication 20190098079A1 · Mar 28, 2019