IP Library Granted Patent US 9,027,046
Granted Patent B2
US 9,027,046 · App. 13/381,508 · Granted May 5, 2015

Method and apparatus for peer-to-peer streaming of layered content

Inventors: Yang Guo (Princeton Junction, NJ); Hao Hu (Brooklyn, NY); Yong Liu (Brooklyn, NY)
Assignee: Thomson Licensing
H04L67/104H04N21/234327H04N21/4788H04N21/632H04L67/1008H04L67/1029H04L67/1061H04L67/32H04L67/1002H04L67/1078
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 9,027,046
App. No.
13/381,508
Granted
May 5, 2015
Kind
B2
Abstract

A method and apparatus are described including receiving buffer maps of neighbor peers, measuring serving rates from the neighbor peers, measuring serving rates to the neighbor peers, requesting a unit of data from one of the neighbor peers responsive to information in the buffer maps of the neighbor peers at a rate responsive to the serving rate from the one of the neighbor peers, receiving incoming requests for units of data, sorting the incoming requests into a plurality of queues, selecting one of the incoming requests to serve responsive to the serving rates to the neighbor peers corresponding to the incoming request, updating the queues and selecting a new neighbor peer.

Claims (43)

1. A method, said method comprising:

receiving buffer maps of neighbor peers;

measuring serving rates from said neighbor peers;

measuring serving rates to said neighbor peers;

requesting a unit of data from one of said neighbor peers responsive to information in said buffer maps of said neighbor peers at a rate responsive to said serving rate from said one of said neighbor peers;

receiving incoming requests for units of data;

sorting said incoming requests into a plurality of queues, wherein there are an entitled queue and an excess queue for each neighbor peer, wherein a receiving rate of a neighbor peer is the sum of an entitled rate and an excess rate, and wherein the excess rate is the average of the serving rates from all peers times a cost factor t and the entitled rate is the serving rate from said neighbor peer times (1−t);

selecting one of said incoming requests to serve responsive to said serving rates to said neighbor peers corresponding to said incoming request, wherein entitled queues have priority over excess queues;

updating said queues; and

selecting a new neighbor peer.

2. The method according to claim 1 , further comprising storing said buffer maps.

3. The method according to claim 1 , further comprising storing said serving rates from said neighbor peers.

4. The method according to claim 1 , further comprising storing said serving rates to said neighbor peers.

5. The method according to claim 1 , wherein said requesting act further comprises:

determining which of said neighbor peers has said unit of data responsive to said information in said buffer maps;

updating a list of said neighbor peers from which said unit of data can be requested; and

selecting said one of said neighbor peers from said list of said neighbor peers.

6. The method according to claim 1 , wherein said second selecting act further comprises:

determining a replacement index for each neighbor peer; and

removing one of said neighbor peers responsive to said replacement index.

7. An apparatus operating as a peer in a peer-to-peer network, said apparatus comprising at least: one processor, one random access memory; and one input/output interface, said at least one processor being configured to:

receive buffer maps of neighbor peers;

measure serving rates from said neighbor peers;

measure serving rates to said neighbor peers;

request a unit of data from one of said neighbor peers responsive to information in said buffer maps of said neighbor peers at a rate responsive to said serving rate from said one of said neighbor peers;

receive incoming requests for units of data;

sort said incoming requests into a plurality of queues, wherein there are an entitled queue and an excess queue for each neighbor peer, wherein a receiving rate of a neighbor peer is the sum of an entitled rate and an excess rate, and wherein the excess rate is the average of the serving rates from all peers times a cost factor t and the entitled rate is the serving rate from said neighbor peer times (1−t);

select one of said incoming requests to serve responsive to said serving rates to said neighbor peers corresponding to said incoming request wherein entitled queues have priority over excess queues;

update said queues; and

select a new neighbor peer.

8. The apparatus according to claim 7 , wherein said at least one processor is further configured to:

store said buffer maps in said at least one random access memory.

9. The apparatus according to claim 7 , wherein said at least one processor is further configured to:

store said serving rates from said neighbor peers in said at least one random access memory.

10. The apparatus according to claim 7 , wherein said at least one processor is further configured to:

store said serving rates to said neighbor peers in said at least one random access memory.

11. The apparatus according to claim 7 , wherein said at least one processor is configured to request by being further configured to:

determine which of said neighbor peers has said unit of data responsive to said information in said buffer maps;

update a list of said neighbor peers from which said unit of data can be requested; and

select said one of said neighbor peers from said list of said neighbor peers.

12. The method according to claim 7 , wherein said at least one processor is configured to select a new neighbor peer by being further configured to:

determine a replacement index for each neighbor peer; and

remove one of said neighbor peers responsive to said replacement index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2013
From: GUO, YANG; HU, HAO; LIU, YONG
To: THOMSON LICENSING
Reel/Frame 029730/0525 →
Continuity (1)
Related Publication 20120110609A1 · May 3, 2012