IP Library Granted Patent US 10,171,575
Granted Patent B2
US 10,171,575 · App. 13/167,371 · Granted Jan 1, 2019

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: OATH INC.
H04L67/104H04L65/80H04L67/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,171,575
App. No.
13/167,371
Granted
Jan 1, 2019
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 (46)

1. A method comprising:

periodically computing, by a resource node associated with a computing device, a dynamic quota value associated with a channel-swarm in a peer-to-peer network that is dynamically updated based on current connectivity values of each channel in the channel-swarm that are independent from connectivity conditions of the peer-to-peer network, said channel-swarm comprising a plurality of nodes, a portion of said plurality functioning as consumer nodes and a portion functioning as resource nodes, said resource node providing content to said one or more consumer nodes in the channel-swarm according to said dynamic quota value, said dynamic quota value comprising an indication of an acceptable number of connections between the resource node and the one or more consumer nodes, said resource node being a node in the peer-to-peer network that has contributable available bandwidth for said channel swarm, said resource node does not consume real-time multimedia content in said channel swarm,

said computing the dynamic quota value comprising:

reducing the dynamic quota value upon a determination that at least one of the connections between the resource node and any one of the consumer nodes is a bad connection, the quota reduction further comprising:

determining a step down value from the dynamic quota value, and

updating the dynamic quota by the step down value, and

increasing the dynamic quota value upon a determination that no bad connection with any of the consumer nodes has been encountered during a predefined time interval prior to the increasing of the dynamic quota value, the quota increase further comprising:

determining a step up value from the dynamic quota value; and

updating the dynamic quota value by the step up value; and

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

2. The method of claim 1 , wherein allocating the available upload bandwidth includes:

accepting a connection request from a consumer node if the dynamic quota value is not filled out; and

rejecting a connection request from a consumer node if the dynamic quota value is filled out.

3. The method of claim 1 , wherein if the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, wherein the minimum quota is equal to or greater than one, thereby preventing the resource node from not servicing at least one of the consumer nodes.

4. 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 resource node is bounded.

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

periodically computing, by the resource node, a dynamic quota value associated with a channel-swarm in a peer-to-peer network that is dynamically updated based on current connectivity values of each channel in the channel-swarm that are independent from connectivity conditions of the peer-to-peer network, said channel-swarm comprising a plurality of nodes, a portion of said plurality functioning as consumer nodes and a portion functioning as resource nodes, said resource node providing content to said one or more consumer nodes in the channel-swarm according to said dynamic quota value, said dynamic quota value comprising an indication of an acceptable number of connections between the resource node and the one or more consumer nodes, said resource node being a node in the peer-to-peer network that has contributable available bandwidth for said channel swarm, said resource node does not consume real-time multimedia content in said channel swarm,

said computing the dynamic quota value comprising:

reducing the dynamic quota value upon a determination that at least one of the connections between the resource node and any one of the consumer nodes is a bad connection, the quota reduction further comprising:

determining a step down value from the dynamic quota value, and

updating the dynamic quota by the step down value, and

increasing the dynamic quota value upon a determination that no bad connection with any of the consumer nodes has been encountered during a predefined time interval prior to the increasing of the dynamic quota value, the quota increase further comprising:

determining a step up value from the dynamic quota value; and

updating the dynamic quota value by the step up value; and

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

6. The non-transitory computer-readable storage medium of claim 5 , wherein allocating the available upload bandwidth includes:

accepting a connection request from a consumer node if the dynamic quota value is not filled out; and

rejecting a connection request from a consumer node if the dynamic quota value is filled out.

7. The non-transitory computer-readable storage medium of claim 5 , wherein if the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, wherein the minimum quota is equal to or greater than one, thereby preventing the resource node from not servicing at least one of the consumer nodes.

8. The non-transitory computer-readable storage medium of claim 5 , 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 resource node is bounded.

9. A system comprising:

a processor;

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 periodically computing a dynamic quota value associated with a channel-swarm in a peer-to-peer network that is dynamically updated based on current connectivity values of each channel in the channel-swarm that are independent from connectivity conditions of the peer-to-peer network, said channel-swarm comprising a plurality of nodes, a portion of said plurality functioning as consumer nodes and a portion functioning as resource nodes, said resource node providing content to said one or more consumer nodes in the channel-swarm according to said dynamic quota value, said dynamic quota value comprising an indication of an acceptable number of connections between the resource node and the one or more consumer nodes, said resource node being a node in the peer-to-peer network that has contributable available bandwidth for said channel swarm, said resource node does not consume real-time multimedia content in said channel swarm, said computing the dynamic quota value comprising:

logic executed by the processor for reducing the dynamic quota value upon a determination that at least one of the connections between the resource node and any one of the consumer nodes is a bad connection, the quota reduction further comprising:

logic executed by the processor for determining a step down value from the dynamic quota value, and

logic executed by the processor for updating the dynamic quota by the step down value, and

logic executed by the processor for increasing the dynamic quota value upon a determination that no bad connection with any of the consumer nodes has been encountered during a predefined time interval prior to the increasing of the dynamic quota value, the quota increase further comprising:

logic executed by the processor for determining a step up value from the dynamic quota value; and

logic executed by the processor for updating the dynamic quota value by the step up value; and

logic executed by the processor for allocating an available upload bandwidth to the one or more of the consumer nodes based on the dynamic quota value.

10. The system of claim 9 , further comprising:

logic executed by the processor for accepting a connection request from a consumer node if the dynamic quota value is not filled out; and

logic executed by the processor for rejecting a connection request from a consumer node if the dynamic quota value is filled out.

11. The system of claim 9 , wherein if the dynamic quota value is below a minimum quota value, the minimum quota value is used as a value of the dynamic quota value, wherein the minimum quota is equal to or greater than one, thereby preventing the resource node from not servicing at least one of the consumer nodes.

12. The system of claim 9 , wherein if the dynamic quota 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 resource node is bounded.

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 →
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: WEISS, ERAN; LUZZATTI, OMER
To: RAY-V TECHNOLOGIES, LTD.
Reel/Frame 047812/0754 →
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 →
Continuity (2)
Continuation 12244756 · Oct 2, 2008
Related Publication 20110258259A1 · Oct 20, 2011
Cited By (2)
US 12,493,492 US 12,613,798