IP Library › Granted Patent US 8,838,823
Granted Patent B2
US 8,838,823 · App. 12/227,954 · Granted Sep 16, 2014

Performance aware peer-to-peer content-on-demand

Inventors: Yang Guo (Plainsboro, NJ); Saurabh Mathur (Monmouth Junction, NJ); Kumar Ramaswamy (Princeton, NJ)
Assignee: Thomson Licensing
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 8,838,823
App. No.
12/227,954
Granted
Sep 16, 2014
Kind
B2
Abstract

A method is described including receiving a streamed leading content sub-clip, determining a set of needed content sub-clips, locating one of the set of needed content sub-clips and downloading the located content sub-clip. A system for providing content-on-demand is described having a peer, a server and a tracker. The tracker may be co-located with the server. The peer includes means for receiving a streamed leading content sub-clip, means for determining a set of needed content sub-clips, means for locating one of the set of needed content sub-clips and means for downloading the located content sub-clip.

Claims (47)

1. A method for a peer to receive content, said method comprising:

receiving a streamed leading content sub-clip;

determining a set of needed content sub-clips;

locating one of said set of needed content sub-clips;

calculating a deadline for downloading said located content sub-clip, wherein the deadline for downloading said located content sub-clip is a playback time of a start of said located content sub-clip;

determining if said deadline for downloading said located content sub-clip will be met; and

downloading said located content sub-clip from multiple peers simultaneously if said deadline for said located content sub-clip will be met,

preparing a missing data vector if said deadline for downloading said located content sub-clip will be exceeded; and

invoking complementary streaming for blocks of said located content sub-clip for which said deadline will be exceeded.

2. The method according to claim 1 , further comprising requesting a unit of content.

3. The method according to claim 1 , further comprising joining a peer-to-peer network to obtain said located content sub-clip.

4. The method according to claim 1 , further comprising:

segmenting blocks of needed content sub-clips into sub-blocks;

pipelining requests for said sub-blocks; and

forwarding status.

5. The method according to claim 4 , wherein said status includes downloading status, status of peer-to-peer network participation and status of cached content.

6. The method according to claim 1 , wherein said locating step further comprises:

signaling a sub-tracker to determine a location and status of said needed content sub-clips; and

selecting said location from which to request said located content sub-clips.

7. The method according to claim 6 , wherein said selecting step is based on a least rarest first scheme.

8. The method according to claim 1 , further comprising calculating a downloading progress indicator.

9. The method according to claim 8 , wherein said downloading progress indicator is a ratio of a required downloading rate and an achieved downloading rate.

10. The method according to claim 1 , further comprising calculating an uploading weight.

11. The method according to claim 1 , further comprising: setting a pointer to a next needed content sub-clip.

12. The method according to claim 11 , further comprising incrementing said pointer.

13. The method according to claim 11 , further comprising joining a peer-to-peer network to obtain said next needed content sub-clip.

14. A peer-to-peer system, comprising:

a hardware processor coupled to a server;

a hardware processor coupled to a peer; and

a tracker, wherein said tracker and said server are one of co-located and not co-located, wherein said server is a seed, wherein said peer is a downloader, wherein said peer is further configured to:

receive a streamed leading content sub-clip;

determine a set of needed content sub-clips;

locate one of said set of needed content sub-clips;

calculate a deadline for downloading said located content sub-clip;

determine if said deadline for downloading said located content sub-clip will be met;

download said located content sub-clip from multiple peers simultaneously if said deadline for said located content sub-clip will be met;

prepare a missing data vector if said deadline for downloading said located content sub-clip will be exceeded; and

invoke complementary, streaming for blocks of said located content sub-clip for which said deadline will be exceeded.

15. The system according to claim 14 , wherein said peer is further configured to request a unit of content.

16. The system according to claim 14 , wherein said peer is further configured to join a peer-to-peer network to obtain said located content sub-clip.

17. The system according to claim 14 , wherein said peer is further configured to:

segment blocks of needed content sub-clips into sub-blocks;

pipeline requests for said sub-blocks; and

forward status.

18. The system according to claim 14 , wherein said peer configured to locate one of said set of needed content sub-clips is further configured to:

signal a sub-tracker to determine a location and status of said needed content sub-clips; and

select said location from which to request said located content sub-clips.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2008
From: GUO, YANG; MATHUR, SAURABH; RAMASWAMY, KUMAR
To: THOMSON LICENSING
Reel/Frame 021968/0862 →
Continuity (1)
Related Publication 20090177792A1 · Jul 9, 2009